/* Theme 1a: photo-led refresh (October 2026). Loaded last on every page; overrides style.css + refinement.css. */
:root{--accent:#f3cf5c;--accent-hover:#f7dc85;--tint:#fbf1cf;--gold-text:#8a6a33;--on-ink:#dfe7d6}
a:hover{color:#526d51}
.button{white-space:nowrap}
.button.accent{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:700}
.button.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--ink)}
/* Header: Home link hidden on desktop (brand links home); Registration becomes the primary button */
.nav nav{align-items:center}
.nav nav a[aria-current]:after{background:var(--accent);height:3px;bottom:0}
@media(min-width:821px){
.nav nav a[data-nav="home"]{display:none}
.nav nav a[data-nav="register"]{background:var(--ink);color:#fcfaf5;padding:11px 22px;border-radius:3px;font-weight:600}
.nav nav a[data-nav="register"]:hover{background:#2a5a4b;color:#fcfaf5}
.nav nav a[data-nav="register"][aria-current]:after{display:none}
}
/* Home hero */
/* Photo sits above the text so faces stay visible; text is on solid green. The photo opens full size. */
.hero-photo{position:relative;background:var(--ink)}
.hero-photo-link{display:block}
.hero-photo-img{display:block;width:100%;height:clamp(300px,27vw,500px);object-fit:cover;object-position:center 65%}
.hero-photo:before{content:'';position:absolute;left:0;right:0;top:0;height:clamp(300px,27vw,500px);z-index:1;pointer-events:none;background:linear-gradient(0deg,var(--ink) 0%,rgba(25,61,51,0) 22%)}
.hero-inner{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 48px;padding:26px 0 52px}
.hero-copy .eyebrow{color:var(--accent);font-size:12px;letter-spacing:.16em}
.hero-copy h1{color:#fffefb;font-size:clamp(52px,5vw,76px);line-height:.97;letter-spacing:-.035em;margin:12px 0 22px}
.hero-copy h1 span,.hero-copy h1 em{display:block}
.hero-copy h1 em{font-size:.78em;color:var(--on-ink)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.hero-actions .button{padding:15px 30px;white-space:nowrap}
.hero-link{color:#fffefb;font-size:15px;text-underline-offset:5px}
.hero-link:hover{color:var(--accent)}
.gather-count.hero-count{display:block;margin:0;border-top:0;padding:0 0 0 28px;border-left:1px solid rgba(255,255,255,.35)}
.hero-count>strong{display:block;font:76px/1 'Libre Caslon Display',Georgia,serif;color:#fffefb}
.hero-count>span{display:block;font-size:14px;margin-top:6px;color:var(--on-ink);white-space:nowrap}
@media(max-width:820px){
.hero-photo{display:block;min-height:0}
.hero-photo-img{position:static;height:250px;display:block}
.hero-photo:before{inset:0 0 auto;height:250px;background:linear-gradient(0deg,var(--ink) 0%,rgba(25,61,51,0) 55%)}
.hero-inner{display:block;padding:4px 0 32px}
.hero-copy .eyebrow{font-size:11px}
.hero-copy h1{font-size:46px;line-height:1;margin:12px 0 20px}
.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-actions .button{grid-column:1/-1;min-height:52px}
.hero-link{display:flex;justify-content:center;align-items:center;min-height:48px;border:1px solid rgba(255,255,255,.4);border-radius:3px;text-decoration:none}
.gather-count.hero-count{display:flex;gap:10px;align-items:baseline;border:0;padding:0;margin-top:24px}
.hero-count>strong{font-size:40px}
.hero-count>span{margin:0}
}
/* Home: key info strip */
.key-info{border-bottom:1px solid var(--line)}
.key-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.key-info-grid a{display:block;text-decoration:none;padding:28px 32px;border-left:1px solid var(--line)}
.key-info-grid a:first-child{border-left:0;padding-left:0}
.key-info-grid a:hover strong{color:#526d51}
.key-info-grid .eyebrow{display:block;color:var(--gold-text);font-size:11px}
.key-info-grid strong{display:block;font:30px/1.2 'Libre Caslon Display',Georgia,serif;color:var(--ink);margin:8px 0 4px}
.key-info-grid strong small{font-size:18px}
.key-detail{font-size:14px;color:var(--body)}
@media(max-width:820px){.key-info-grid{grid-template-columns:1fr}.key-info-grid a,.key-info-grid a:first-child{border-left:0;border-top:1px solid var(--line);padding:20px 0}.key-info-grid a:first-child{border-top:0}}
/* Home: weekend band */
.weekend-home{background:var(--ink);padding:72px 0 80px}
.weekend-home .eyebrow{color:var(--accent)}
.weekend-home h2,.weekend-home h3{color:#fffefb}
.weekend-home .text-link{color:#fffefb;border-color:rgba(255,255,255,.45)}
.weekend-home .text-link:hover{border-color:var(--accent);color:#fffefb}
.weekend-trio{border-top:0;gap:32px 24px}
.weekend-trio>a,.weekend-trio>a:first-child,.weekend-trio>a:last-child{border:0;border-top:2px solid var(--accent);padding:22px 0 0;flex-direction:column;gap:0}
.weekend-trio>a:hover{opacity:.85}
.day-number{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:14px}
.day-number strong{color:var(--accent);font-size:60px;line-height:1}
.day-number span{color:var(--on-ink);font-size:11px;letter-spacing:.14em;font-weight:700}
.weekend-trio h3{margin:16px 0 8px}
.weekend-trio p{color:var(--on-ink)}
.event-place{color:#b9c8b4;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:600px){.weekend-home{padding:44px 0 48px}}
/* Home: pricing + hotel */
.cost-preview{background:var(--white);border:1px solid var(--line);padding:40px}
.cost-preview .button{margin-top:4px}
.deadline-note{background:var(--tint);padding:12px 16px;color:var(--ink)}
.stay-preview{background:var(--white);border:1px solid var(--line);border-radius:0}
.stay-preview>img{height:280px}
@media(max-width:600px){.cost-preview{padding:24px}}
/* Home: family album invitation */
.archive-invitation{background:var(--soft);color:var(--body);padding:0}
.archive-invitation .shell.archive-pair{gap:0 64px}
.archive-pair>div{padding:80px 0}
.archive-invitation .eyebrow{color:var(--ink)}
.archive-invitation h2{color:var(--ink)}
.archive-invitation p{color:var(--body)}
.archive-invitation .button{color:var(--ink);border-color:#a2b19b;font-weight:600}
.archive-invitation .button:hover{background:#e0e7d8;color:var(--ink)}
.archive-photo{height:520px}
@media(max-width:600px){.archive-pair>div{padding:40px 0 8px}.archive-photo{height:340px;margin-bottom:40px}}
/* Inner page headings: full-bleed green band */
.page-heading{background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);padding-top:56px;padding-bottom:52px;margin-bottom:8px}
.page-heading .back-home{color:var(--on-ink)}
.page-heading .back-home:hover{color:#fffefb}
.page-heading .eyebrow{color:var(--accent)}
.page-heading h1{color:#fffefb}
.page-heading .lead{color:var(--on-ink)}
.registration-process strong{color:#fffefb}
.registration-process span{color:var(--on-ink)}
.registration-process li:before{border-color:var(--accent);color:var(--accent)}
.registration-status{background:var(--tint);border-left:0;color:var(--ink)}
@media(max-width:600px){.page-heading{padding-top:32px;padding-bottom:36px}}
/* Weekend */
.day-navigation a:hover,.day-navigation a[aria-current]{border-bottom-color:var(--accent)}
.schedule-note{display:inline-block;background:var(--tint);color:var(--ink);padding:10px 16px}
.date-block>span:first-child{color:var(--gold-text);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.event>span{color:var(--gold-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.event h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:24px;line-height:1.25}
.bottom-prompt{background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);align-items:center;padding:40px 0;margin-top:48px;margin-bottom:-85px}
.bottom-prompt>span{font:clamp(24px,2.8vw,32px)/1.2 'Libre Caslon Display',Georgia,serif;color:#fffefb}
.bottom-prompt .text-link{background:var(--accent);color:var(--ink);border:0;padding:15px 26px;border-radius:3px;font-weight:700;white-space:nowrap}
.bottom-prompt .text-link:hover{background:var(--accent-hover);color:var(--ink)}
@media(max-width:600px){.bottom-prompt{margin-bottom:-55px}.bottom-prompt .text-link{margin-top:16px}}
/* Registration */
.summary .eyebrow{color:var(--accent)}
.summary-line:last-of-type strong,#total{color:var(--accent)}
.status-note{background:var(--tint)}
.summary .status-note{background:#2c5143}
.review-disclaimer{background:var(--tint);color:var(--ink)}
.mobile-estimate{background:var(--tint);border-color:#eadca6}
/* Hotel */
.hotel-info>.eyebrow{color:var(--gold-text)}
/* Explore */
.explore-grid section{border-top:2px solid var(--ink);padding-top:24px}
.explore-grid .eyebrow{color:var(--gold-text)}
/* Legacy */
.album-grid figcaption{font:italic 18px 'Libre Caslon Display',Georgia,serif;color:#526d51}
.legacy-intro{background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);border-top:0;padding:72px 0;margin:24px 0 48px;color:var(--on-ink)}
.legacy-statement{color:#fffefb}
.legacy-statement em{color:var(--accent)}
.legacy-intro h2{color:#fffefb}
.legacy-topics section{border-top:2px solid var(--accent)}
.legacy-topics section>span{font:32px/1 'Libre Caslon Display',Georgia,serif;color:var(--gold-text);padding-top:0}
.story-callout{background:var(--tint);color:var(--ink);margin-top:48px}
@media(max-width:600px){.legacy-intro{padding:40px 0}}
/* FAQs */
summary:after{color:var(--gold-text)}
summary:hover{color:#526d51}
.faq-layout aside>p{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-text)}
/* Footer */
footer{background:var(--ink);border-top:0;color:var(--on-ink)}
footer .eyebrow{color:var(--accent)}
footer h2{color:#fffefb}
.footer-info strong{color:#fffefb}
footer a{color:var(--on-ink)}
footer a:hover{color:#fffefb}
.footer-top{align-items:flex-end;flex-wrap:wrap}
.footer-cta{white-space:nowrap}
.footer-bottom{border-top-color:rgba(255,255,255,.18)}

/* Hotel booking (group code and phone) */
.booking-panel{border-top:2px solid var(--accent);padding-top:22px;margin:4px 0 26px}
.booking-panel .button{min-width:260px}
.booking-details{margin:20px 0 14px}
.booking-details>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1px solid var(--line);padding:12px 0}
.booking-details dt{font-size:14px}
.booking-details dd{margin:0;font-size:15px;color:var(--ink);text-align:right}
.booking-details a{font-weight:600}
.booking-details .group-code{font:600 24px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}
.booking-panel>p{font-size:14px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Archive photos */
.archive-album{padding-top:10px}
@media(max-width:600px){.booking-panel .button{width:100%;min-width:0}.booking-details>div{display:block}.booking-details dd{text-align:left;margin-top:4px}}

.booking-details .group-code{display:block}
.code-spoken{display:block;font-size:12px;color:var(--body);margin-top:6px}
