/* BIJOY FRAMES — warm stone backgrounds, white surfaces and logo red. */
:root {
  --bg: #eae8e5;
  --stone-light: #f2f0ed;
  --stone-shade: #e4e0db;
  --surface: #fff;
  --card: #fff;
  --ink: #151515;
  --muted: #595959;
  --line: #d7d3ce;
  --brand-red: #fa0805;
  --brand-deep: #c5161b;
  --brand-hover: #a80f15;
  --gold: var(--brand-deep);
  --gold-light: var(--brand-hover);
  --action: var(--brand-deep);
  --action-hover: var(--brand-hover);
  --focus: var(--brand-deep);
  --heading-font: 'Aptos Display', 'Segoe UI Variable Display', 'Aptos', 'Segoe UI', Arial, sans-serif;
  color-scheme: light;
}

html, body { background: var(--bg); color: var(--ink); }
::selection { background: var(--brand-deep); color: #fff; }
p { color: var(--muted); }
h1, h2, h3 { color: var(--ink); }
html[lang='en'] h1, html[lang='en'] h2, html[lang='en'] h3 {
  font-family: var(--heading-font);
  font-weight: 630;
}
html[lang='en'] .reference-hero h1 { font-weight: 680; letter-spacing: -.047em; }
html[lang='en'] h2 { letter-spacing: -.038em; }
html[lang='en'] .trip-copy h3 { font-weight: 610; letter-spacing: -.025em; }
html[lang='en'] h1 em, html[lang='en'] h2 em {
  font-family: inherit;
  font-weight: inherit;
  font-style: normal;
}
h1 em, h2 em { color: #505050; }

.site-header { background: #fffffff5; border-bottom-color: var(--line); box-shadow: 0 2px 18px #241b1208; }
.nav-shell nav > a { color: #515151; }
.nav-shell nav > a:hover, .language { color: var(--brand-deep); }
.menu-toggle span { background: #151515; }
.text-link { color: var(--brand-deep); border-bottom-color: #c5161b70; }
.text-link:hover { color: var(--brand-hover); border-bottom-color: var(--brand-hover); }
.skip-link { background: var(--brand-deep); color: #fff; }
.eyebrow, .reference-hero .eyebrow { color: var(--brand-deep); }
.eyebrow i { background: var(--brand-red); }
.language:focus-visible, button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}
.button, .reference-hero .discovery-bar button, .contact-buttons .button, .floating-contact {
  background: var(--action);
  border-color: var(--action);
  color: #fff;
  box-shadow: 0 6px 18px #00000018;
}
.button:hover, .reference-hero .discovery-bar button:hover, .contact-buttons .button:hover, .floating-contact:hover {
  background: var(--action-hover);
  border-color: var(--action-hover);
  color: #fff;
}
.button-outline, .contact-buttons .button-outline {
  background: #fff;
  border-color: var(--brand-deep);
  color: var(--brand-deep);
  box-shadow: none;
}
.button-outline:hover, .contact-buttons .button-outline:hover {
  background: #ededed;
  border-color: var(--brand-hover);
  color: var(--brand-hover);
}

.hero, .reference-hero {
  background-color: var(--bg);
  background-image: radial-gradient(ellipse at 50% 26%, #fff6, transparent 72%),
    linear-gradient(#31271d0b 1px, transparent 1px), linear-gradient(90deg, #31271d0b 1px, transparent 1px);
  background-size: auto, 46px 46px, 46px 46px;
}
.reference-hero .hero-kicker { background: #fffffff2; border-color: var(--line); box-shadow: 0 4px 12px #241b1209; }
.reference-hero .kicker-diamond { color: var(--brand-red); opacity: 1; }
.reference-hero h1, .reference-hero h1 .headline-line { color: #101010; }
.reference-hero h1 .headline-line b { color: var(--brand-red); font-weight: 750; }
.reference-hero h1 > em { color: #343434; }
.reference-hero .hero-emblem { color: #4a4a4a; }
.reference-hero .hero-emblem > span { background: linear-gradient(90deg, transparent, var(--brand-red)); }
.reference-hero .hero-description, .hero-description, .hero-assurance { color: var(--muted); }
.reference-hero .fan-card {
  background: #e8e8e8;
  border-color: #fff;
  box-shadow: 0 14px 32px #00000025, 0 0 0 2px #ffffffc4;
}
.reference-hero .fan-card img, .trip-card img { filter: none; }
.reference-hero .fan-card:after { background: none; box-shadow: inset 0 0 0 1px #ffffff35; }
.reference-hero .fan-card figcaption { color: #fff; text-shadow: 0 1px 8px #000a; }
.discovery-bar > p { color: var(--ink); }
.discovery-bar input { border-bottom-color: #c6c6c6; }
.reference-hero .discovery-bar form {
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 13px 30px #241b1215, 0 0 0 5px #ffffff9c;
}
.reference-hero .discovery-bar input { background: transparent; color: var(--ink); }
.reference-hero .discovery-bar input::placeholder { color: #606060; }
.reference-hero .discovery-bar form > svg { color: var(--brand-deep); }
.reference-hero .discovery-bar form:focus-within {
  border-color: var(--focus);
  box-shadow: 0 0 0 3px #c5161b26, 0 13px 30px #00000012;
}
.reference-hero .hero-feature { background: var(--card); border-color: #ffffffa8; box-shadow: 0 7px 20px #241b1210; }
.reference-hero .hero-feature > svg { background: var(--stone-light); color: var(--brand-red); }
.reference-hero .hero-feature strong { color: var(--ink); }
.reference-hero .hero-feature small { color: var(--muted); }
.reference-hero #gallery-toggle { background: #fffffff2; border-color: #c6c6c6; color: var(--brand-deep); box-shadow: 0 3px 12px #00000012; }
.reference-hero #gallery-toggle:hover { background: #e9e9e9; color: var(--brand-hover); }

.services-section, .faq-section { background: var(--stone-light); }
.travel-section, .contact-details { background: var(--bg); }
.service-grid { background: var(--line); border-color: var(--line); box-shadow: 0 12px 30px #00000006; }
.service-card { background: #fff; }
.service-card:hover { background: #f8f7f5; }
.service-card h3 { color: var(--ink); }
.service-card > p { color: var(--muted); }
.card-top > svg { color: var(--brand-red); }
.card-link, .search-status { color: var(--brand-deep); }
.card-link:hover { color: var(--brand-hover); }
.card-top > span { color: #656565; }
.card-link { border-top-color: #e3e3e3; }
.filter-tabs > button { background: #fff; color: #4d4d4d; border-color: #d1d1d1; }
.filter-tabs > button:hover, .filter-tabs > button.active { background: var(--action); color: #fff; border-color: var(--action); }
.trip-card { background: #e9e9e9; box-shadow: 0 9px 25px #0000001a; }
.trip-shade { background: linear-gradient(180deg, #0003, transparent 30%, #000000ed); }
.trip-tag { background: #141414c7; border-color: #ffffff70; color: #fff; }
.trip-copy > span, .trip-copy h3, .trip-copy button { color: #fff; }
.trip-copy button { border-top-color: #ffffff70; }
.trip-copy button:hover { color: #e6e6e6; }
.trip-copy button:focus-visible { outline-color: #fff; }
.travel-note { color: var(--muted); }
.approach-section { background: var(--stone-shade); border-color: var(--line); }
.approach-grid h2, .steps h3 { color: var(--ink); }
.approach-grid > div > p, .steps p { color: var(--muted); }
.step-number { color: var(--brand-deep); }
.steps article { border-bottom-color: #d9d9d9; }
.faq-list details { border-bottom-color: var(--line); }
.faq-list summary { color: var(--ink); }
.faq-list details > p { color: var(--muted); }
.faq-list summary:after, .phone-link { color: var(--brand-deep); }

.contact-section {
  background: var(--bg) radial-gradient(ellipse at 50% 8%, #fff5, transparent 74%);
  border-top-color: var(--line);
  color: var(--ink);
}
.contact-inner h2, .contact-inner h2 > span { color: #151515; }
.contact-inner h2 em { color: #484848; }
.contact-inner > p { color: #555; }
.contact-inner .eyebrow { color: var(--brand-deep); }
.contact-inner .eyebrow i { background: var(--brand-red); }
.contact-details { border-top-color: var(--line); }
.contact-details .contact-meta { color: var(--muted); }
.contact-meta a, .contact-meta svg, .footer-main > a:not(.brand) { color: var(--brand-deep); }
footer { background: var(--stone-shade); border-top: 1px solid var(--line); }
.footer-main > p, .footer-bottom { color: var(--muted); }
.footer-bottom { border-top-color: #d6d6d6; }
.footer-bottom a:hover { color: var(--brand-deep); }

dialog {
  background: #fff;
  border-color: #d2d2d2;
  color: var(--ink);
  box-shadow: 0 26px 85px #00000033;
  color-scheme: light;
}
dialog::backdrop { background: #00000073; }
dialog h2 { color: var(--ink); }
dialog p, .service-checklist li { color: var(--muted); }
.dialog-close { color: #4c4c4c; }
.dialog-close:hover { color: var(--brand-deep); }
.service-checklist li { border-bottom-color: var(--line); }
.service-checklist li:before { color: var(--brand-deep); }
form label { color: #3b3b3b; }
form input, form select, form textarea, form option { background: #f7f7f7; color: var(--ink); border-color: #c4c4c4; }
form input::placeholder, form textarea::placeholder { color: #5f5f5f; }
form input:focus, form select:focus, form textarea:focus { outline-color: var(--focus); border-color: var(--focus); }
input:-webkit-autofill { -webkit-text-fill-color: var(--ink); box-shadow: 0 0 0 1000px #f7f7f7 inset; }
#inquiry-status { color: var(--brand-deep); }
#inquiry-result { border-top-color: var(--line); }
#inquiry-summary { background: #f0f0f0; color: #272727; border-color: #dadada; }

@media (max-width: 650px) {
  .nav-shell nav { background: #fffffff9; border-bottom-color: #dedede; box-shadow: 0 16px 30px #00000014; }
  .nav-shell nav > a { color: #333; border-bottom-color: #e5e5e5; }
  .reference-hero .fan-card { box-shadow: 0 8px 17px #00000020, 0 0 0 2px #ffffffc4; }
  .reference-hero .discovery-bar form { box-shadow: 0 9px 22px #241b1215, 0 0 0 4px #ffffff9c; }
  .reference-hero .discovery-bar form:focus-within { box-shadow: 0 0 0 3px #c5161b26, 0 9px 22px #00000012; }
}
