:root{--bg:#E2D4B2;--fg:#111;--card:#EDE2C6;--muted:#4a4538;--line:#c8b78f;--accent:#6E5A2E;--sand:#D8C49A;--retro:#9B2D26;--retro-t:#9B2D26;--dark:#111;--cream:#EFE6D2;--steel:#3E4044;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#111;--fg:#EFE6D2;--card:#1b1b1c;--muted:#a9a69c;--line:#2e2e30;--accent:#D8C49A;--retro-t:#C65D4F;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#111;--fg:#EFE6D2;--card:#1b1b1c;--muted:#a9a69c;--line:#2e2e30;--accent:#D8C49A;--retro-t:#C65D4F;color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.6 Barlow,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--dark);z-index:30}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3,.cond{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;line-height:.95;letter-spacing:.01em;margin:0}
.logo{display:inline-block;aspect-ratio:260/176;background:currentColor;-webkit-mask:url(/img/logo.png) center/contain no-repeat;mask:url(/img/logo.png) center/contain no-repeat}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--dark);color:var(--cream);border-bottom:4px solid var(--retro);box-shadow:0 3px 0 var(--sand)}
header .wrap{display:flex;align-items:center;gap:18px;height:68px}
header .logo{width:64px}
header nav{margin-left:auto;display:flex;gap:22px;align-items:center}
header nav a{text-decoration:none;font:600 15px Barlow,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
header nav a:hover{opacity:1}
.btn{display:inline-block;background:var(--retro);color:#F3EAD3!important;text-decoration:none;padding:13px 24px;font:italic 800 18px "Barlow Condensed","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--retro);opacity:1!important}
.btn.ghost{background:transparent;border-color:var(--cream);color:var(--cream)!important}
.hero{background:var(--dark);color:var(--cream);position:relative;overflow:hidden;padding:88px 0 96px}
.hero::before{content:"";position:absolute;right:-8%;top:0;bottom:0;width:42%;background:var(--sand);transform:skewX(-14deg)}
.hero::after{content:"";position:absolute;right:45%;top:0;bottom:0;width:3%;background:var(--retro);transform:skewX(-14deg)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.eyebrow{font:600 14px Barlow,sans-serif;letter-spacing:.32em;text-transform:uppercase;opacity:.85;margin-bottom:18px}
.hero h1{font-size:clamp(54px,9vw,116px)}
.hero h1 span{color:var(--sand);display:block}
.hero p{max-width:34ch;font-size:20px;margin:22px 0 30px;opacity:.92}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.hero .mark{justify-self:center;width:min(380px,80%);color:#111}
.flag{height:34px;border-top:6px solid var(--retro);background:repeating-conic-gradient(var(--dark) 0 25%,var(--cream) 0 50%) 0 0/28px 28px}
section{padding:72px 0}
.kicker{font:600 13px Barlow,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--retro-t);margin:0 0 10px}
h2{font-size:clamp(38px,5vw,58px);margin-bottom:34px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);padding:24px 22px 26px}
.card .n{font:italic 800 14px "Barlow Condensed",sans-serif;color:var(--accent);letter-spacing:.15em}
.card h3{font-size:27px;margin:6px 0 10px}
.card p{margin:0;color:var(--muted);font-size:16px}
.pillars{background:var(--dark);color:var(--cream);text-align:center;padding:56px 0;border-top:6px solid var(--retro)}
.pillars .row{display:flex;justify-content:center;gap:clamp(14px,4vw,56px);flex-wrap:wrap}
.pillars .cond{font-size:clamp(36px,7vw,72px)}
.pillars .cond:nth-child(even){color:#C65D4F}
.pillars small{display:block;margin-top:18px;letter-spacing:.4em;text-transform:uppercase;font:600 14px Barlow,sans-serif;opacity:.8}
.feature{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:18px}
.feature .card{border-top-color:var(--fg)}
.script{font:400 clamp(28px,4vw,40px) Yellowtail,"Brush Script MT",cursive;color:var(--accent);margin:0 0 10px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.contact dl{margin:0}
.contact dt{font:600 13px Barlow,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-top:18px}
.contact dd{margin:4px 0 0;font-size:20px}
.contact dd a{text-decoration:none;border-bottom:2px solid var(--accent)}
.box{background:var(--card);border:1px solid var(--line);padding:28px}
footer{background:var(--dark);color:var(--cream);padding:34px 0 40px;font-size:14px;border-top:6px solid var(--retro)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;opacity:.9}
@media(max-width:760px){.hero .wrap,.contact{grid-template-columns:1fr}.hero .mark{order:-1;width:150px;justify-self:start;color:var(--sand)}.hero::before,.hero::after{display:none}header nav a:not(.btn){display:none}.hero{padding:56px 0 64px}section{padding:52px 0}}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 48px}
.chips a{text-decoration:none;border:1px solid var(--line);background:var(--card);padding:9px 14px;font:600 14px Barlow,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.chips a b{color:var(--accent);margin-right:6px}
.chips a:hover{border-color:var(--accent)}
.pillar{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:start;margin-bottom:76px}
.pillar.rev figure{order:2}
.pillar figure{margin:0;position:sticky;top:calc(88px + env(safe-area-inset-top,0px));border-top:5px solid var(--retro);background:var(--dark)}
.pillar img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pillar .n{font:italic 800 16px "Barlow Condensed",sans-serif;color:var(--accent);letter-spacing:.2em}
.pillar h3{font-size:clamp(34px,4.4vw,54px);margin:4px 0 8px}
.pillar .tag{font:italic 700 22px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--retro-t);margin:0 0 14px}
.pillar p{margin:0 0 18px}
.svc{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.svc li{padding:13px 0;border-top:1px solid var(--line)}
.svc strong{display:block;font:italic 800 19px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.03em}
.svc span{display:block;font-size:15px;color:var(--muted);line-height:1.45;margin-top:2px}
.pillar .btn{background:var(--retro);color:#F3EAD3!important;border-color:var(--retro)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.steps div{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);padding:22px}
.steps b{font:italic 800 40px "Barlow Condensed",sans-serif;color:var(--accent)}
.steps h4{font:italic 800 24px "Barlow Condensed",sans-serif;text-transform:uppercase;margin:2px 0 6px}
.steps p{margin:0;color:var(--muted);font-size:16px}
.gal{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.gal figure{margin:0;position:relative;overflow:hidden;background:var(--dark)}
.gal figure:nth-child(1),.gal figure:nth-child(2){grid-column:span 3}
.gal figure:nth-child(n+3){grid-column:span 2}
.gal img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;bottom:0;background:var(--dark);color:var(--cream);font:italic 800 15px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;padding:6px 12px}
.note{font-size:14px;color:var(--muted);margin:14px 0 0}
@media(max-width:860px){.pillar{grid-template-columns:1fr;gap:22px;margin-bottom:56px}.pillar.rev figure{order:0}.pillar figure{position:static}.svc{grid-template-columns:1fr}.gal{grid-template-columns:1fr 1fr}.gal figure:nth-child(n){grid-column:span 1}.gal figure:nth-child(1){grid-column:span 2}}

/* ===== v2 additions ===== */
.dnav{margin-left:auto}
.mnav{display:none;margin-left:auto}
.mnav summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary span,.mnav summary span::before,.mnav summary span::after{display:block;width:24px;height:3px;background:var(--cream);content:"";position:relative}
.mnav summary span::before{position:absolute;top:-8px}.mnav summary span::after{position:absolute;top:8px}
.mpanel{position:absolute;left:0;right:0;top:100%;background:var(--dark);padding:18px 20px 24px;display:flex;flex-direction:column;gap:6px;border-bottom:4px solid var(--retro);max-height:calc(100vh - 80px);overflow:auto}
.mpanel a{color:var(--cream);text-decoration:none;font:600 17px Barlow,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:11px 0;border-bottom:1px solid #2e2e30}
.mpanel a.btn{border:2px solid var(--retro);text-align:center;margin-top:8px;padding:13px 24px;font-size:18px}
.mpanel a.btn.ghost{border-color:var(--cream)}
@media(max-width:980px){.dnav{display:none}.mnav{display:block}}
.crumbs{background:var(--card);border-bottom:1px solid var(--line);padding:10px 0;font-size:14px;color:var(--muted)}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--line)}
.crumbs i{font-style:normal;opacity:.5;margin:0 6px}
.phero{background:var(--dark);color:var(--cream);position:relative;overflow:hidden;padding:60px 0 54px}
.phero::before{content:"";position:absolute;right:-6%;top:0;bottom:0;width:24%;background:var(--sand);transform:skewX(-14deg);opacity:.95}
.phero::after{content:"";position:absolute;right:28%;top:0;bottom:0;width:2%;background:var(--retro);transform:skewX(-14deg)}
.phero .wrap{position:relative;z-index:1}
.phero h1{font-size:clamp(34px,4.7vw,62px);margin-bottom:16px;max-width:24ch;line-height:1}
.phero .lead{max-width:56ch;font-size:19px;margin:0 0 24px;opacity:.92}
.phero .cta,.band .cta,.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:760px){.phero::before,.phero::after{display:none}.phero{padding:44px 0 40px}}
.facts{padding:0;background:var(--card);border-bottom:1px solid var(--line)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.facts .wrap div{padding:26px 18px;border-right:1px solid var(--line);text-align:center}
.facts .wrap div:last-child{border-right:0}
.facts b{display:block;font:italic 800 34px "Barlow Condensed",sans-serif;text-transform:uppercase;line-height:1;color:var(--retro-t)}
.facts span{font-size:14px;color:var(--muted)}
@media(max-width:760px){.facts .wrap{grid-template-columns:1fr 1fr}.facts .wrap div:nth-child(2){border-right:0}.facts .wrap div{border-bottom:1px solid var(--line)}}
.intro{max-width:70ch;font-size:19px;margin:0 0 28px}
.card.link{display:block;text-decoration:none;transition:transform .2s,border-color .2s}
.card.link:hover{transform:translateY(-3px);border-top-color:var(--retro)}
.more{display:block;margin-top:14px;font:600 13px Barlow,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--retro-t)}
.grid.wide{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.strip{background:var(--dark);color:var(--cream);padding:40px 0}
.strip .kicker{color:var(--sand)}
.chips2{display:flex;flex-wrap:wrap;gap:8px}
.chips2 a{text-decoration:none;border:1px solid #4a4a4d;padding:8px 14px;font:600 14px Barlow,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.chips2 a:hover{background:var(--retro);border-color:var(--retro)}
.faq{padding:56px 0}
.narrow{max-width:860px}
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font:italic 800 22px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.02em;padding:14px 28px 14px 0;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:28px;color:var(--retro-t)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px;color:var(--muted);max-width:70ch}
.band{background:var(--steel);color:var(--cream);text-align:center;padding:64px 0;border-top:6px solid var(--retro)}
.band h2{margin-bottom:12px}
.band p{max-width:52ch;margin:0 auto 24px;opacity:.9}
.band .cta{justify-content:center}
.pgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:44px;align-items:start}
@media(max-width:900px){.pgrid{grid-template-columns:1fr}}
.prose h2{font-size:clamp(30px,3.6vw,42px);margin:44px 0 16px}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 16px;max-width:68ch}
.prose a{border-bottom:2px solid var(--accent);text-decoration:none}
.prose .btn,.prose a.btn{border-bottom:2px solid var(--retro)}
.ticks{list-style:none;padding:0;margin:0 0 22px}
.ticks li{padding:9px 0 9px 30px;position:relative;border-top:1px solid var(--line)}
.ticks li:last-child{border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:6px;top:17px;width:10px;height:10px;background:var(--retro)}
.svc.one{grid-template-columns:1fr;margin-bottom:12px}
aside .box{margin-bottom:18px;padding:22px}
aside .box h3{font-size:26px;margin:0 0 10px}
aside .box p{margin:0 0 10px}
.plain{list-style:none;padding:0;margin:0}
.plain li{padding:7px 0;border-top:1px solid var(--line)}
.plain li:first-child{border-top:0}
.plain a{text-decoration:none;border-bottom:1px solid var(--line)}
.side{margin:0 0 18px;border-top:5px solid var(--retro);background:var(--dark)}
.side img{display:block;width:100%;height:auto}
.btn.ghost.dark{color:var(--fg)!important;border-color:var(--fg)}
.map iframe{width:100%;height:380px;border:0;display:block;background:var(--card)}
.qform label{display:block;margin:0 0 14px;font:600 12px Barlow,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.qform input,.qform select,.qform textarea{display:block;width:100%;margin-top:6px;padding:12px;font:400 17px Barlow,system-ui,sans-serif;letter-spacing:0;text-transform:none;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:0}
.qform button{cursor:pointer}
.areas .btn{margin-top:6px}
footer{padding:44px 0 28px}
footer .wrap.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:34px;opacity:1;align-items:start}
footer h4{font:italic 800 22px "Barlow Condensed",sans-serif;text-transform:uppercase;margin:0 0 12px;color:var(--sand)}
footer ul{list-style:none;padding:0;margin:0}
footer li{padding:3px 0;font-size:14px}
footer a{text-decoration:none;opacity:.85}
footer a:hover{opacity:1;text-decoration:underline}
footer p{margin:0 0 12px;font-size:14px}
footer .script.small{font-size:30px;color:var(--sand)}
footer .fbase{margin-top:30px;padding-top:20px;border-top:1px solid #2e2e30}
@media(max-width:900px){footer .wrap.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .wrap.fgrid{grid-template-columns:1fr}}
.fab{display:none}
@media(max-width:760px){
 body{padding-bottom:60px}
 .fab{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--dark)}
 .fab a{flex:1;text-align:center;padding:15px 10px;text-decoration:none;font:italic 800 19px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--cream)}
 .fab-wa{background:var(--retro)}
}
.hero .cta{margin-top:0}

/* ===== off-road additions ===== */
.imgcard{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);transition:transform .2s,border-color .2s;overflow:hidden}
.imgcard:hover{transform:translateY(-3px);border-top-color:var(--retro)}
.imgcard img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#111}
.ibody{padding:16px 20px 22px}
.ibody .n{font:italic 800 13px "Barlow Condensed",sans-serif;color:var(--accent);letter-spacing:.15em;text-transform:uppercase}
.ibody h3{font-size:26px;margin:4px 0 8px}
.ibody p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.hero-fig{margin:0;border-top:5px solid var(--retro);background:var(--dark)}
.hero-fig img{display:block;width:100%;height:auto}
.hero-fig figcaption{padding:10px 14px;background:var(--card);margin:0}
.callout{border-left:5px solid var(--retro);background:var(--card);padding:14px 18px;margin:8px 0 22px!important;max-width:68ch}
.offroad{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
footer .wrap.fgrid{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr}
@media(max-width:1100px){footer .wrap.fgrid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:900px){footer .wrap.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .wrap.fgrid{grid-template-columns:1fr}}

/* ===== Said / portrait ===== */
.portrait{margin:0;background:var(--dark);border-top:5px solid var(--retro);max-width:440px}
.portrait img{display:block;width:100%;height:auto}
.portrait figcaption{padding:14px 18px;background:var(--card);display:flex;flex-direction:column;gap:2px}
.portrait figcaption strong{font:italic 800 26px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.02em}
.portrait figcaption span{font-size:14px;color:var(--muted)}
.meet{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.meet .pgrid{grid-template-columns:1.4fr 1fr}
footer small{opacity:.7}
/* phones & small tablets: a compact 3:2 banner, never a full-screen portrait */
@media(max-width:900px){
 .meet{padding:30px 0 34px}
 .meet .pgrid{grid-template-columns:1fr;gap:20px}
 .meet aside{order:-1}
 .portrait{position:relative;max-width:none;width:100%;border-top-width:4px}
 .portrait img{aspect-ratio:3/2;width:100%;height:auto;max-height:240px;object-fit:cover;object-position:60% 40%}
 .portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 10px;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0));flex-direction:row;align-items:baseline;gap:10px;color:#fff}
 .portrait figcaption strong{font-size:22px;color:#fff}
 .portrait figcaption span{color:#eadfc6;font-size:13px}
 .meet .prose h2{font-size:30px;margin-top:0}
}

/* ===== robust layout (v4) ===== */
img{max-width:100%}
.pgrid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.pgrid>*{min-width:0}
.meet .pgrid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.portrait picture{display:block}
@media(max-width:900px){
 .pgrid{grid-template-columns:minmax(0,1fr)}
 .meet{overflow:hidden}
 .meet .pgrid{grid-template-columns:minmax(0,1fr);gap:20px}
 .meet aside{order:-1;width:100%;min-width:0}
 .portrait{position:relative;width:100%;max-width:100%}
 /* the photo box has a FIXED height; the <img> is absolutely positioned so its file size can never stretch the page */
 .portrait picture{position:relative;display:block;width:100%;height:clamp(190px,56vw,250px);overflow:hidden;background:#111}
 .portrait picture img{position:absolute;left:0;top:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:62% 40%}
 .portrait figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:34px 14px 10px;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0));color:#fff}
 .portrait figcaption strong{font-size:22px;color:#fff}
 .portrait figcaption span{color:#eadfc6;font-size:13px}
}

/* wide bio photo on desktop */
.meet .pgrid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.portrait{max-width:none}
@media(max-width:900px){.meet .pgrid{grid-template-columns:minmax(0,1fr)}.portrait{max-width:100%}}
