/* Public Quest only: real-cave adventure identity; no signup or organizer behavior. */
body.quest-expedition { --canvas:#101c16; --canvas-deep:#0b1510; --text:#f4f3e8; --text-muted:#cad2c6; --accent:#e8bb73; background:#101c16; color:#f4f3e8; }
.quest-expedition .site-header { background:#0b1510; border-bottom-color:#455447; }
.quest-expedition .quest-expedition-hero { position:relative; isolation:isolate; overflow:hidden; background:#0b1510; border-bottom:4px solid #e8bb73; min-height:600px; }
.quest-expedition .quest-expedition-hero::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#08120df2 0%,#08120dd9 27%,#08120db3 51%,#08120d1f 81%),linear-gradient(0deg,#08120daa,transparent 45%); }
.quest-expedition .quest-expedition-hero .quest-photo-hero { position:absolute; inset:0; margin:0; border:0; box-shadow:none; }
.quest-expedition .quest-expedition-hero .quest-photo-hero img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:65% 50%; }
.quest-expedition .quest-expedition-hero .quest-photo-hero figcaption { position:absolute; right:clamp(1rem,5vw,4rem); bottom:.8rem; z-index:2; padding:0; border:0; background:none; color:#f4f3e8; font-size:.78rem; text-shadow:0 1px 4px #08120d; }
.quest-hero-inner { position:relative; z-index:2; padding-block:1.6rem 3.2rem; }
.quest-expedition .quest-back { display:inline-flex; gap:.8rem; margin-bottom:1.5rem; color:#f4f3e8; font-size:.85rem; }
.quest-hero-copy { max-width:720px; }
.quest-expedition .quest-eyebrow { display:inline-block; margin:0 0 1rem; color:#e8bb73; font-size:.78rem; font-weight:800; letter-spacing:.16em; }
.quest-expedition .quest-hero-copy h1 { margin:0 0 1.15rem; color:#f4f3e8; font-family:inherit; font-weight:900; font-size:clamp(4rem,6.5vw,6.3rem); line-height:.94; letter-spacing:-.055em; text-transform:uppercase; }
.quest-expedition .quest-hero-copy h1 .quest-title-brand { display:block; margin-bottom:.8rem; color:#f4f3e8; font-size:1rem; font-weight:800; line-height:1.2; letter-spacing:.2em; }
.quest-expedition .quest-hero-copy h1>span:last-child { display:block; color:#e8bb73; }
.quest-expedition .quest-hero-copy .quest-lead { max-width:34ch; margin:0 0 1.4rem; color:#f4f3e8; font-size:1.15rem; font-weight:550; line-height:1.5; }
.quest-expedition .quest-hero-copy .quest-mobile-join { display:inline-flex; justify-content:space-between; gap:2rem; align-items:center; width:auto; margin:0; padding:.9rem 1.3rem; min-height:52px; color:#14251a; background:#e8bb73; border:1px solid #e8bb73; border-radius:2px; text-transform:uppercase; letter-spacing:.035em; font-size:.9rem; font-weight:850; }
.quest-expedition .quest-hero-copy .quest-mobile-join:hover { background:#f2d294; border-color:#f2d294; }
.quest-expedition .quest-layout { padding-block:3.5rem; gap:clamp(2rem,6vw,6rem); align-items:start; }
.quest-expedition .quest-intro { padding-top:.5rem; }
.quest-expedition .quest-description { margin:0 0 2rem; color:#f4f3e8; font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.55; font-weight:600; max-width:36ch; }
.quest-expedition .quest-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; margin:0 0 2rem; padding-block:1.5rem; border-block:1px solid #64745f; }
.quest-expedition .quest-dates>div { min-width:0; }
.quest-expedition .quest-dates dt { color:#cad2c6; font-size:.78rem; font-weight:650; }
.quest-expedition .quest-dates dd { margin-top:.6rem; font-family:inherit; font-size:clamp(1.4rem,2.8vw,2.3rem); font-weight:850; line-height:1.15; letter-spacing:-.04em; color:#e8bb73; white-space:normal; }
.quest-expedition .quest-notes { position:relative; margin-top:0; border-inline-start:3px solid #e8bb73; padding:1rem 1.25rem; background:#17291e; }
.quest-expedition .quest-notes p { color:#cad2c6; margin-block:.25rem 1rem; }
.quest-expedition .quest-notes p:last-child { margin-bottom:0; }
.quest-expedition .quest-notes strong { color:#f4f3e8; }
.quest-expedition .quest-registration { background:#eff0e4; color:#21382b; border:1px solid #c1c8b4; border-top:5px solid #e8bb73; padding:clamp(1.3rem,3vw,2.2rem); border-radius:2px; box-shadow:none; }
.quest-expedition .quest-form-top { border-bottom-color:#a8b39c; }
.quest-expedition .quest-tag { padding:.4rem .65rem; background:#d8dfca; border-color:#a8b39c; color:#21382b; font-weight:850; }
.quest-expedition .quest-form-top h2 { margin-top:1rem; font-family:inherit; font-weight:850; font-size:clamp(2rem,3.4vw,2.7rem); line-height:1.1; letter-spacing:-.045em; color:#21382b; }
.quest-expedition .quest-form-top p,.quest-expedition .quest-privacy,.quest-expedition .quest-choice-help { color:#485a43; }
.quest-expedition .quest-form-top .quest-deadline { color:#684518; }
.quest-expedition .quest-form label,.quest-expedition .quest-form legend { color:#21382b; }
.quest-expedition .quest-form :is(input:not([type=radio]),select) { background:#fbfcf6; border-color:#73846c; color:#21382b; border-radius:2px; }
.quest-expedition .quest-choices label { background:#fbfcf6; border-color:#89997d; color:#21382b; border-radius:2px; }
.quest-expedition .quest-form input::placeholder { color:#52634c; }
.quest-expedition .quest-submit { background:#e8bb73; border-color:#e8bb73; color:#14251a; border-radius:2px; font-weight:850; }
.quest-expedition .quest-submit:hover:not(:disabled) { background:#f2d294; border-color:#f2d294; }
.quest-expedition .quest-submit:disabled { background:#dce0d0; color:#52634c; border-color:#b1bca5; }
.quest-expedition .quest-photo-story { margin:0 auto; padding-block:1rem 3.5rem; }
.quest-expedition .quest-photo-pair { gap:1.5rem; }
.quest-expedition .quest-photo-pair img { aspect-ratio:1.55/1; border-color:#64745f; }
.quest-expedition .quest-photo-pair figcaption { padding-block:.8rem; color:#f4f3e8; font-size:1rem; font-weight:750; }
.quest-expedition .quest-photo-credit { color:#cad2c6; }
.quest-expedition .quest-how { padding-block:2.5rem; gap:2.5rem; border-color:#64745f; }
.quest-expedition .quest-how>div { border:0; padding-top:0; }
.quest-expedition .quest-how span { display:none; }
.quest-expedition .quest-how h2 { font-family:inherit; font-weight:800; font-size:1.65rem; color:#e8bb73; letter-spacing:-.025em; }
.quest-expedition .quest-how p { color:#cad2c6; }
.quest-expedition .quest-organizer-link a { color:#cad2c6; }
.quest-expedition .site-footer { background:#0b1510; border-color:#455447; }
.quest-expedition .footer-grid h2 { font-family:inherit; font-weight:850; font-size:2.4rem; letter-spacing:-.04em; color:#f4f3e8; }
.quest-expedition .footer-grid :is(p,a),.quest-expedition .footer-bottom { color:#cad2c6; }
.quest-expedition .mobile-panel { background:#0b1510; }
.quest-expedition :is(a,button,input,select,summary):focus-visible { outline:3px solid #e8bb73; outline-offset:5px; }
.quest-expedition .quest-registration :is(a,button,input,select):focus-visible { outline-color:#36553b; }
@media(max-width:760px) {
 .quest-expedition .quest-expedition-hero { min-height:0; }
 .quest-expedition .quest-expedition-hero::before { background:linear-gradient(90deg,#08120de8,#08120da6 70%,#08120d80),linear-gradient(0deg,#08120de0,transparent 60%); }
 .quest-expedition .quest-expedition-hero .quest-photo-hero img { object-position:60% 50%; }
 .quest-expedition .quest-expedition-hero .quest-photo-hero figcaption { right:1rem; bottom:.5rem; font-size:.68rem; }
 .quest-hero-inner { padding-block:1rem 2.7rem; }
 .quest-expedition .quest-back { margin-bottom:1rem; font-size:.8rem; }
 .quest-expedition .quest-eyebrow { font-size:.68rem; letter-spacing:.12em; margin-bottom:.9rem; }
 .quest-expedition .quest-hero-copy h1 { font-size:clamp(2.9rem,14.3vw,4.5rem); margin-bottom:1rem; }
 .quest-expedition .quest-hero-copy h1 .quest-title-brand { font-size:.8rem; margin-bottom:.6rem; }
 .quest-expedition .quest-hero-copy .quest-lead { font-size:1rem; line-height:1.5; margin-bottom:1.2rem; }
 .quest-expedition .quest-hero-copy .quest-mobile-join { padding:.8rem 1rem; min-height:48px; font-size:.8rem; gap:1.5rem; }
 .quest-expedition .quest-layout { padding-block:2rem; gap:2rem; }
 .quest-expedition .quest-description { font-size:1.18rem; margin-bottom:1.5rem; }
 .quest-expedition .quest-dates { gap:1rem; padding-block:1.2rem; margin-bottom:1.5rem; }
 .quest-expedition .quest-dates dd { font-size:clamp(1.45rem,6vw,2rem); }
 .quest-expedition .quest-registration { padding:1.25rem; }
 .quest-expedition .quest-form-top h2 { font-size:2rem; }
 .quest-expedition .quest-photo-story { padding-block:0 2rem; }
 .quest-expedition .quest-photo-pair { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
 .quest-expedition .quest-photo-pair img { aspect-ratio:1.45/1; }
 .quest-expedition .quest-photo-pair figcaption { padding-block:.6rem; }
 .quest-expedition .quest-how { padding-block:2rem; gap:1.4rem; }
 .quest-expedition .quest-how>div { border:0; padding-block:0; }
 .quest-expedition .footer-grid h2 { font-size:2rem; }
}
@media(prefers-reduced-motion:reduce) { .quest-expedition *, .quest-expedition *::before, .quest-expedition *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
