/* Shared small-screen corrections; retain the established desktop composition. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
img,video,iframe{max-width:100%}
input,textarea,select{min-width:0;max-width:100%}
.wrap,.split,.house-grid,.gal,.photos,.facts,.cards,.route-content,.lo-holiday-grid,.lo-route-strip,.lo-wedding-top,.lo-farmhouse-row{min-width:0}
.split>*,.house-grid>*,.gal>*,.photos>*,.facts>*,.cards>*,.route-content>*,.lo-holiday-grid>*,.lo-route-strip>*,.lo-wedding-top>*,.lo-farmhouse-row>*{min-width:0}
p,a,label,figcaption{overflow-wrap:break-word}
@media(max-width:1024px){
 body[data-layout="support"] .wrap{padding-inline:24px}
 body[data-layout="home"] nav{gap:12px;padding-inline:20px}
 body[data-layout="home"] nav div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 12px;min-width:0}
 body[data-layout="home"] nav div a{margin-left:0;font-size:14px;line-height:1.4;padding-block:10px}
 body[data-layout="home"] nav .brand{flex-shrink:0}
 body[data-layout="home"] .lo-holiday>.wrap,body[data-layout="home"] .lo-weddings>.wrap,body[data-layout="home"] .lo-farmhouse-note>.wrap{padding-inline:24px}
}
@media(max-width:760px){
 body{font-size:17px;line-height:1.7}
 body[data-layout="home"] section{padding:60px 20px;scroll-margin-top:160px}
 body[data-layout="home"] nav{position:sticky;inset:auto;top:0;display:flex;flex-direction:column;align-items:stretch;padding:10px 20px;gap:6px}
 body[data-layout="home"] nav .brand{align-self:center}
 body[data-layout="home"] nav .brand b{display:block;font-size:20px}
 body[data-layout="home"] nav .logo{width:42px;height:42px;margin-right:10px}
 body[data-layout="home"] nav div{justify-content:center;gap:0 14px}
 body[data-layout="home"] nav div a,body[data-layout="home"] nav div a.opt{display:inline-flex;align-items:center;justify-content:center;min-height:42px;font-size:14px;margin:0;padding:8px 0}
 body[data-layout="home"] .hero{min-height:75svh;padding:55px 20px 50px}
 body[data-layout="home"] .hero-in{width:100%;min-width:0}
 body[data-layout="home"] .hero h1{font-size:clamp(46px,12vw,84px);line-height:1.08}
 body[data-layout="home"] .hero p{font-size:18px;line-height:1.65}
 body[data-layout="home"] .eyebrow{font-size:12px;letter-spacing:.16em}
 body[data-layout="home"] .btns{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:360px;margin-inline:auto}
 body[data-layout="home"] .btns .btn{margin:0;text-align:center;min-height:50px;font-size:16px}
 body[data-layout="home"] .split,body[data-layout="home"] .house-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 body[data-layout="home"] .gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px}
 body[data-layout="home"] .facts{grid-template-columns:minmax(0,1fr);gap:26px}
 body[data-layout="home"] .photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:155px}
 body[data-layout="home"] .lead{font-size:18px}
 body[data-layout="home"] .lo-holiday{padding:62px 0 0}
 body[data-layout="home"] .lo-weddings{padding:62px 0}
 body[data-layout="home"] .lo-farmhouse-note{padding:60px 0}
 body[data-layout="home"] .lo-holiday>.wrap,body[data-layout="home"] .lo-weddings>.wrap,body[data-layout="home"] .lo-farmhouse-note>.wrap{padding-inline:20px}
 body[data-layout="home"] .lo-holiday-grid,body[data-layout="home"] .lo-wedding-top,body[data-layout="home"] .lo-farmhouse-row{grid-template-columns:minmax(0,1fr);gap:28px}
 body[data-layout="home"] .lo-holiday h2,body[data-layout="home"] .lo-weddings h2,body[data-layout="home"] .lo-farmhouse-note h2{font-size:clamp(44px,11.5vw,72px);letter-spacing:-.05em;line-height:1.08;margin:22px 0}
 body[data-layout="home"] .lo-body{font-size:17px;line-height:1.8}
 body[data-layout="home"] .lo-kicker,body[data-layout="home"] .lo-dark-kicker{font-size:12px;letter-spacing:.16em}
 body[data-layout="home"] .lo-secondary-note,body[data-layout="home"] .lo-photo-credit{font-size:14px!important;line-height:1.7}
 body[data-layout="home"] .lo-season{gap:12px;flex-wrap:wrap;letter-spacing:.06em;font-size:12px}
 body[data-layout="home"] .lo-season strong{font-size:16px}
 body[data-layout="home"] .lo-dot{flex-shrink:0}
 body[data-layout="home"] .lo-holiday-actions{align-items:stretch;flex-direction:column;gap:18px;margin-top:26px}
 body[data-layout="home"] .lo-btn{justify-content:space-between;min-height:50px;font-size:16px;padding:14px 18px;gap:12px}
 body[data-layout="home"] .lo-quiet-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.5}
 body[data-layout="home"] .lo-holiday-visual{padding:0}
 body[data-layout="home"] .lo-holiday-crop{height:clamp(320px,105vw,510px)}
 body[data-layout="home"] .lo-vertical-word{display:none}
 body[data-layout="home"] .lo-route-strip{grid-template-columns:minmax(0,1fr);gap:15px;margin-top:35px;padding-block:35px 50px}
 body[data-layout="home"] .lo-route-items{grid-template-columns:minmax(0,1fr)}
 body[data-layout="home"] .lo-route-items span{font-size:16px}
 body[data-layout="home"] .lo-photo-caption{font-size:10px;line-height:1.5;letter-spacing:.08em;padding:16px;flex-wrap:wrap}
 body[data-layout="home"] .lo-wedding-intro a,body[data-layout="home"] .lo-farmhouse-row a{font-size:16px;gap:16px}
 body[data-layout="home"] .lo-masonry{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:310px 215px;height:auto}
 body[data-layout="home"] .lo-tile-one{grid-column:1/-1}
 body[data-layout="home"] .lo-tile figcaption{font-size:18px;padding-inline:12px}
 body[data-layout="home"] .lo-tile figcaption span{font-size:11px;letter-spacing:.08em}
 body[data-layout="home"] .two{grid-template-columns:minmax(0,1fr)}
 body[data-layout="home"] label{font-size:16px}
 body[data-layout="home"] input,body[data-layout="home"] select,body[data-layout="home"] textarea{font-size:16px;min-height:48px}
 body[data-layout="home"] .cal{padding:12px}
 body[data-layout="home"] .grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
 body[data-layout="home"] .day{font-size:16px;min-width:0;padding:6px 0}
 body[data-layout="home"] .cal-head button{width:44px;height:44px}
 body[data-layout="home"] .legend{font-size:14px;gap:10px 15px}
 body[data-layout="home"] footer{font-size:15px;padding:30px 20px}
 /* Both supporting pages use the same gutters and legible controls. */
 body[data-layout="support"] .wrap{width:100%;padding-inline:20px}
 body[data-layout="support"] nav,body[data-layout="support"] .nav{padding:16px 20px;flex-wrap:wrap;gap:12px}
 body[data-layout="support"] nav .brand{font-size:23px;line-height:1.3}
 body[data-layout="support"] nav .back,body[data-layout="support"] nav .return{font-size:15px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center}
 body[data-layout="support"] .hero{padding:58px 0 62px}
 body[data-layout="support"] h1{font-size:clamp(43px,11.5vw,76px);line-height:1.08;letter-spacing:-.045em}
 body[data-layout="support"] .hero p{font-size:18px;line-height:1.7}
 body[data-layout="support"] .kicker{font-size:12px;letter-spacing:.14em}
 body[data-layout="support"] .intro{padding-block:32px 24px;font-size:17px}
 body[data-layout="support"] .season{font-size:13px;letter-spacing:.03em;line-height:1.6;max-width:100%;padding:10px 12px}
 body[data-layout="support"] .list{padding-block:8px 48px}
 body[data-layout="support"] .cards{grid-template-columns:minmax(0,1fr);gap:18px}
 body[data-layout="support"] .card{padding:25px 20px}
 body[data-layout="support"] .card .location{font-size:12px;letter-spacing:.1em}
 body[data-layout="support"] .card h2{font-size:34px;line-height:1.15}
 body[data-layout="support"] .card p,body[data-layout="support"] .route-copy p{font-size:17px;line-height:1.75}
 body[data-layout="support"] .card .fine,body[data-layout="support"] .fineprint,body[data-layout="support"] .note{font-size:14px!important;line-height:1.7}
 body[data-layout="support"] .card .link,body[data-layout="support"] .button,body[data-layout="support"] .btn,body[data-layout="support"] .source-links a{font-size:16px;line-height:1.5;padding:15px 16px;min-height:50px}
 body[data-layout="support"] .steps{padding-block:42px 48px}
 body[data-layout="support"] .steps h2,body[data-layout="support"] .cta h2{font-size:36px;line-height:1.15}
 body[data-layout="support"] .steps ol{padding-left:22px;font-size:17px}
 body[data-layout="support"] .steps li{padding:9px 0}
 body[data-layout="support"] .cta{padding-block:42px}
 body[data-layout="support"] .cta .wrap{display:flex;align-items:stretch;flex-direction:column;gap:24px}
 body[data-layout="support"] .cta p{font-size:17px}
 body[data-layout="support"] .button{text-align:center;width:100%}
 body[data-layout="support"] .route-content{grid-template-columns:minmax(0,1fr);gap:28px}
 body[data-layout="support"] .mapcaption{flex-wrap:wrap;font-size:14px}
 body[data-layout="support"] .mapbox iframe{max-width:100%}
 body[data-layout="support"] footer{font-size:14px;line-height:1.8;padding-inline:20px}
}
@media(max-width:360px){
 body[data-layout="home"] nav div{gap:0 10px}
 body[data-layout="home"] nav div a{font-size:13px}
 body[data-layout="home"] .lo-season strong{margin-left:21px;width:100%}
 body[data-layout="home"] .lo-masonry{grid-template-columns:minmax(0,1fr);grid-template-rows:300px 220px 220px}
 body[data-layout="home"] .gal{grid-template-columns:minmax(0,1fr)}
}
/* Collapsible mobile navigation. */
.mobile-menu-toggle,.mobile-menu-extra{display:none}
body[data-layout="support"] .mobile-menu-panel{display:contents}
@media(max-width:1024px){
 body[data-layout] > nav{position:sticky;top:0;inset-inline:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:10px 20px;gap:16px;z-index:20}
 body[data-layout="home"] nav .brand{align-self:auto;min-width:0}
 body[data-layout="home"] nav .brand b{display:block;font-size:20px}
 body[data-layout="home"] nav .logo{width:42px;height:42px;margin-right:10px}
 body[data-layout] .mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex:0 0 48px;width:48px;height:48px;padding:10px;border:1px solid #c4b58b80;border-radius:4px;background:transparent;color:#f1f4ee;cursor:pointer}
 body[data-layout] .mobile-menu-toggle span{display:block;width:23px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
 body[data-layout] .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 body[data-layout] .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 body[data-layout] .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 body[data-layout] > nav .mobile-menu-panel{display:none;position:absolute;top:100%;inset-inline:0;max-height:70vh;max-height:70dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 18px;margin:0;background:#16241a;color:#f1f4ee;border-top:1px solid #ffffff26;box-shadow:0 14px 22px #0004;flex-direction:column;gap:0;text-align:left}
 body[data-layout] > nav.mobile-menu-open .mobile-menu-panel{display:flex}
 body[data-layout] > nav .mobile-menu-panel a,body[data-layout] > nav .mobile-menu-panel a.opt,body[data-layout] > nav .mobile-menu-panel a.mobile-menu-extra{display:flex;align-items:center;justify-content:flex-start;min-height:50px;padding:13px 4px;margin:0;border:0;border-bottom:1px solid #ffffff20;font:500 16px/1.5 'Work Sans',sans-serif;text-decoration:none;white-space:normal}
 body[data-layout] > nav .mobile-menu-panel a:hover{color:#d9b866}
 body[data-layout] > nav .mobile-menu-panel a:after{display:none}
 body[data-layout="home"] section{scroll-margin-top:90px}
}
@media(prefers-reduced-motion:reduce){.mobile-menu-toggle span{transition:none!important}}
