@view-transition{navigation:auto}
:root{--sage:#8FA68E;--sage-d:#4E6357;--sage-l:#e3eee2;--sage-light:#BAD5B9;--tan:#DDD2BE;--brand-coastal:#5E97A3;--brand-mountains:#6F879F;--cream:#f3ede2;--white:#fbf9f4;--wood:#a2795a;--wood-d:#6e4f39;--char:#2a2a27;--muted:#6b6a64;--accent:var(--sage-d);--serif:'Noto Serif',Georgia,serif;--sans:'Lato',system-ui,sans-serif}
.theme-tri{--accent:#4E6357;--tint:#ecefe6}.theme-cst{--accent:#3f7884;--tint:#e6eff1}.theme-wnc{--accent:#536a82;--tint:#e8ecf1}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;font-stretch:condensed;color:var(--char);background:var(--white);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;animation:pagein .9s ease both}
@keyframes pagein{from{opacity:0}to{opacity:1}}
::view-transition-old(root){animation:.45s ease both vtout}::view-transition-new(root){animation:.6s ease both vtin}
@keyframes vtout{to{opacity:0;transform:translateX(-30px)}}@keyframes vtin{from{opacity:0;transform:translateX(30px)}}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.01em}
.eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--accent)}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}.narrow{max-width:760px;margin:0 auto;padding:0 32px}
em.i{font-style:italic;color:var(--accent)}
/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;color:#fff;transition:background .4s,color .4s,padding .4s}
.nav.solid,.nav.light{background:rgba(251,249,244,.94);backdrop-filter:blur(10px);color:var(--char);padding:14px 40px;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.brand{display:flex;flex-direction:column;line-height:1}.brand b{font-family:var(--serif);font-weight:500;font-size:1.65rem;letter-spacing:.14em}.brand small{font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;opacity:.8;margin-top:4px}
.nav ul{display:flex;gap:30px;list-style:none;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.nav ul a{position:relative;padding:4px 0}.nav ul a:after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:currentColor;transition:width .35s}.nav ul a:hover:after,.nav ul a.on:after{width:100%}
.nav .cta{border:1px solid currentColor;padding:9px 18px;border-radius:40px}
.burger{display:none;background:none;border:0;color:inherit;width:34px;height:24px;position:relative;cursor:pointer}.burger span{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:.3s}.burger span:nth-child(1){top:4px}.burger span:nth-child(2){top:12px}.burger span:nth-child(3){top:20px}
.menu-open .burger span:nth-child(1){top:12px;transform:rotate(45deg)}.menu-open .burger span:nth-child(2){opacity:0}.menu-open .burger span:nth-child(3){top:12px;transform:rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:40;background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:40px;gap:6px;opacity:0;pointer-events:none;transition:opacity .4s}
.drawer a{font-family:var(--serif);font-size:2.4rem;line-height:1.25;transform:translateY(12px);transition:transform .5s}.drawer small{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:24px}
.menu-open .drawer{opacity:1;pointer-events:auto}.menu-open .drawer a{transform:none}.menu-open .nav{color:var(--char);background:transparent;box-shadow:none;backdrop-filter:none}
/* hero */
.hero{position:relative;height:100vh;min-height:620px;overflow:hidden;color:#fff;display:flex;align-items:flex-end}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:kb 14s ease-out forwards}
@keyframes kb{to{transform:scale(1)}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,16,.45),rgba(20,20,16,0) 65%),linear-gradient(180deg,rgba(20,20,16,.35) 0%,rgba(20,20,16,0) 30%,rgba(20,20,16,.05) 55%,rgba(20,20,16,.62) 100%)}
.hero .in{position:relative;z-index:2;padding:0 40px 9vh;max-width:1240px;width:100%;margin:0 auto}
.hero h1{font-size:clamp(3rem,8.4vw,7.6rem);max-width:12ch}.hero h1 em{font-style:italic}
.hero p.lede{font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.75rem);font-style:italic;margin-top:18px;opacity:.95}
.hero .eyebrow{color:#fff;opacity:.85;margin-bottom:22px}
.fade-up{opacity:0;transform:translateY(24px);animation:fu 1.2s .3s cubic-bezier(.2,.7,.2,1) forwards}.d2{animation-delay:.6s}.d3{animation-delay:.9s}.d4{animation-delay:1.2s}
@keyframes fu{to{opacity:1;transform:none}}
.scrollcue{position:absolute;right:40px;bottom:9vh;z-index:2;writing-mode:vertical-rl;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;display:flex;align-items:center;gap:14px}.scrollcue:after{content:"";width:1px;height:70px;background:rgba(255,255,255,.7);animation:cue 2.2s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.btn{display:inline-flex;align-items:center;gap:12px;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;padding:15px 28px;border-radius:40px;border:1px solid currentColor;transition:.35s;background:transparent;cursor:pointer;font-family:var(--sans);color:inherit}
.btn:hover{background:var(--char);color:var(--white);border-color:var(--char)}.btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}.btn.solid:hover{background:var(--char);border-color:var(--char)}
.hero .btn:hover{background:#fff;color:var(--char);border-color:#fff}
.arrow:after{content:"→";transition:transform .3s}.btn:hover .arrow:after,a:hover>.arrow:after{transform:translateX(4px)}
.link{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;gap:10px}
section{position:relative}.pad{padding:130px 0}.pad-s{padding:80px 0}
.cream{background:var(--cream)}.tint{background:var(--tint,var(--cream))}.dark{background:var(--char);color:var(--white)}.sagebg{background:var(--sage-d);color:var(--white)}
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
/* intro / letter */
.letter{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}
.letter h2{font-size:clamp(2.4rem,4.6vw,4.2rem)}.letter p{color:#4a4943;margin-top:22px;font-size:1.05rem}
.dropcap:first-letter{font-family:var(--serif);float:left;font-size:4.6rem;line-height:.8;padding:8px 12px 0 0;color:var(--accent)}
.sig{font-family:var(--serif);font-style:italic;font-size:1.6rem;margin-top:28px;color:var(--accent)}
.frame{position:relative}.frame img{width:100%;aspect-ratio:4/5;object-fit:cover}.frame .small{position:absolute;width:44%;left:-14%;bottom:-12%;border:10px solid var(--white);aspect-ratio:3/4;object-fit:cover}
.caption{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px}
/* rooms — stacked region panels */
.rooms-head{text-align:center;padding:130px 32px 70px}.rooms-head h2{font-size:clamp(2.6rem,5.4vw,5rem)}.rooms-head p{max-width:560px;margin:20px auto 0;color:var(--muted)}
.room{position:sticky;top:0;height:100vh;overflow:hidden;color:#fff;display:flex;align-items:flex-end}
.room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s ease}
.room:hover img{transform:scale(1.03)}
.room:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,18,14,.6),rgba(18,18,14,.1) 60%),linear-gradient(0deg,rgba(18,18,14,.45),transparent 50%)}
.room .in{position:relative;z-index:2;padding:0 40px 10vh;max-width:1240px;width:100%;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:end}
.room .num{font-family:var(--serif);font-size:clamp(5rem,12vw,11rem);line-height:.8;font-style:italic;opacity:.9}
.room h3{font-size:clamp(2.6rem,6vw,5.6rem)}.room .towns{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin:16px 0 18px}.room p{max-width:520px;font-family:var(--serif);font-size:1.35rem;font-style:italic;margin-bottom:26px}
.room .btn:hover{background:#fff;color:var(--char);border-color:#fff}
/* quote */
.quote{text-align:center}.quote blockquote{font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,3.1rem);line-height:1.2;font-style:italic;max-width:980px;margin:0 auto}.quote cite{display:block;margin-top:26px;font-style:normal;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.card .ph{overflow:hidden}.card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.card:hover img{transform:scale(1.05)}
.card.wide img{aspect-ratio:3/2}.card h4{font-size:1.75rem;margin:18px 0 6px}.card p{color:var(--muted);font-size:.95rem}.card .eyebrow{display:block;margin-top:18px}
.sechead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:56px}.sechead h2{font-size:clamp(2.2rem,4.4vw,3.8rem);max-width:16ch}.sechead p{max-width:420px;color:var(--muted)}
/* people */
.person img{aspect-ratio:3/4;object-fit:cover;width:100%;filter:saturate(.85)}.person h4{font-size:1.55rem;margin-top:16px}.person .role{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-top:4px}.person p{font-size:.92rem;color:var(--muted);margin-top:8px}
.mono{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:var(--sage-l);font-family:var(--serif);font-size:3.4rem;color:var(--sage-d);font-style:italic}
.sample{display:inline-block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;background:var(--cream);color:var(--muted);padding:3px 8px;border-radius:20px;margin-top:8px}
/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:90vh}.split .ph{position:relative;overflow:hidden}.split .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.split .tx{padding:110px 9vw;display:flex;flex-direction:column;justify-content:center}.split h2{font-size:clamp(2.4rem,4.4vw,4rem)}.split p{margin-top:20px;color:inherit;opacity:.85}
.stats{display:flex;gap:56px;margin-top:40px;flex-wrap:wrap}.stats b{display:block;font-family:var(--serif);font-weight:400;font-size:3.2rem;line-height:1}.stats span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
/* region page bits */
.towns-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(0,0,0,.12)}
.town{padding:36px 30px 40px 0;border-bottom:1px solid rgba(0,0,0,.12)}.town h4{font-size:2rem}.town p{color:var(--muted);font-size:.95rem;margin-top:8px}.town .eyebrow{display:block;margin-bottom:10px}
.res{border:1px solid rgba(0,0,0,.12);padding:44px;background:var(--white);transition:.4s}.res:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(0,0,0,.25)}.res h4{font-size:2rem;margin:14px 0 12px}.res ul{list-style:none;margin:18px 0 26px}.res li{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:.95rem}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:clamp(2.4rem,4.6vw,4rem)}
form .f{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
form input,form select,form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.25);padding:10px 0;font:inherit;font-size:1rem;color:inherit;border-radius:0}form textarea{min-height:90px;resize:vertical}form .full{grid-column:1/-1}
form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--accent)}
.sent{display:none;font-family:var(--serif);font-size:1.5rem;font-style:italic;color:var(--accent);margin-top:18px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.chips span{border:1px solid rgba(0,0,0,.18);border-radius:30px;padding:7px 15px;font-size:.8rem}
.story{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.story img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:60px}.tabs a{padding:10px 22px;border:1px solid rgba(0,0,0,.18);border-radius:40px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.tabs a:hover{background:var(--char);color:#fff}
.dir-region{padding:90px 0;border-top:1px solid rgba(0,0,0,.1)}
.testi{background:var(--white);padding:40px;border-left:2px solid var(--accent)}.testi p{font-family:var(--serif);font-size:1.4rem;font-style:italic;line-height:1.35}.testi span{display:block;margin-top:16px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.agent-hero .badge{display:inline-flex;align-items:center;gap:12px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);padding:8px 16px;border-radius:40px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px}
.portrait-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.portrait-card img{aspect-ratio:4/5;object-fit:cover;width:100%}
.picks{counter-reset:p}.pick{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid rgba(0,0,0,.1)}.pick:before{counter-increment:p;content:"0" counter(p);font-family:var(--serif);font-size:2rem;font-style:italic;color:var(--accent)}.pick h5{font-family:var(--serif);font-weight:500;font-size:1.4rem}.pick p{color:var(--muted);font-size:.93rem}
.template-note{background:var(--cream);border:1px dashed var(--sage);padding:20px 26px;font-size:.85rem;color:var(--muted)}
.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(255,255,255,.2)}.pillar{padding:40px 26px 40px 0}.pillar b{font-family:var(--serif);font-weight:400;font-size:1.7rem;display:block;margin:10px 0}.pillar p{font-size:.9rem;opacity:.78}.pillar i{font-family:var(--serif);font-size:1.1rem;opacity:.6}
.timeline{border-left:1px solid var(--sage);margin-left:8px}.tl{padding:0 0 46px 38px;position:relative}.tl:before{content:"";position:absolute;left:-6px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--accent)}.tl h4{font-size:1.8rem}.tl p{color:var(--muted)}
/* footer */
footer{background:#22231f;color:#d8d4c8;padding:100px 0 40px}footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px}footer h5{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:18px;font-weight:500}footer li{list-style:none;margin:8px 0;font-size:.92rem}footer a:hover{color:#fff}
footer .big{font-family:var(--serif);font-size:2.4rem;line-height:1.1;color:#fff}footer .legal{margin-top:80px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);font-size:.74rem;line-height:1.8;color:#9c998e;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.eho{display:inline-flex;gap:8px;align-items:center}
@media (max-width:980px){
 .nav{padding:18px 22px}.nav.solid,.nav.light{padding:12px 22px}.nav ul{display:none}.burger{display:block}
 .wrap,.narrow{padding:0 22px}.pad{padding:84px 0}.pad-s{padding:56px 0}
 .hero .in{padding:0 22px 12vh}.scrollcue{display:none}
 .letter,.grid2,.contact,.story,.portrait-card{grid-template-columns:1fr;gap:48px}.frame .small{left:auto;right:-4%;width:40%}
 .grid3{grid-template-columns:1fr;gap:48px}.grid4{grid-template-columns:1fr 1fr;gap:20px}.towns-list{grid-template-columns:1fr}
 .room .in{grid-template-columns:1fr;gap:6px;padding:0 22px 10vh}.room .num{font-size:4.2rem}.room p{font-size:1.15rem}
 .split{grid-template-columns:1fr}.split .ph{min-height:62vh}.split .tx{padding:70px 22px}
 .sechead{flex-direction:column;align-items:flex-start;margin-bottom:36px}.pillars{grid-template-columns:1fr 1fr}
 footer .top{grid-template-columns:1fr 1fr}footer .top>div:first-child{grid-column:1/-1}form .f{grid-template-columns:1fr}
 .res{padding:30px}.hero{height:100svh}.room{height:100svh}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* ---- phase 3 ---- */
.hero.short{min-height:68vh}
.pad-s{padding:60px 0}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.qk{display:block;background:var(--cream);padding:28px 26px;border:1px solid rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}
.qk:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.08)}
.qk h4{font-family:var(--serif);font-size:1.5rem;font-weight:500;margin:10px 0 6px}.qk p{color:var(--muted);font-size:.92rem}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{font:inherit;font-size:.85rem;padding:9px 18px;border:1px solid var(--char);background:none;border-radius:40px;cursor:pointer}.filters button.on{background:var(--char);color:#fff}
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lcard{display:block;background:#fff;border:1px solid rgba(0,0,0,.07);transition:box-shadow .3s}.lcard:hover{box-shadow:0 16px 34px rgba(0,0,0,.1)}
.lcard .ph{position:relative;aspect-ratio:4/3;overflow:hidden}.lcard .ph img{width:100%;height:100%;object-fit:cover}
.lcard .ph i{position:absolute;top:12px;left:12px;background:var(--sage-d);color:#fff;font-style:normal;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px}
.lcard .lb{padding:20px 22px 24px}.lcard b{font-family:var(--serif);font-size:1.8rem;font-weight:600}.lcard h4{font-family:var(--sans);font-size:1rem;font-weight:500;margin-top:4px}.lcard p{color:var(--muted);font-size:.9rem}.lcard .meta{margin-top:6px;color:var(--char)}.lcard small{display:block;margin-top:10px;font-size:.74rem;color:var(--muted)}.lcard .arrow{display:inline-block;margin-top:12px;font-size:.85rem;color:var(--accent)}
.fine{font-size:.8rem;color:var(--muted);margin-top:24px;line-height:1.6}
.intake{background:#fff;padding:40px;border:1px solid rgba(0,0,0,.07)}.intake .bar{height:4px;background:var(--sage-l);margin-bottom:30px}.intake .bar i{display:block;height:100%;width:11%;background:var(--sage-d);transition:width .4s}
.step{border:0;display:none}.step.on{display:block;animation:fu .5s ease both}.step legend{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:24px}.step legend span{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.opts label{cursor:pointer}.opts input{position:absolute;opacity:0}.opts span{display:block;padding:14px 16px;border:1px solid rgba(0,0,0,.18);font-size:.95rem;transition:.2s}.opts input:checked+span{background:var(--sage-d);color:#fff;border-color:var(--sage-d)}.opts input:focus-visible+span{outline:2px solid var(--accent)}
.stepnav{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.stepnav .solid{margin-left:auto}
.road{list-style:none;counter-reset:r}.road li{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:34px 0;border-top:1px solid rgba(0,0,0,.1)}.road .n{font-family:var(--serif);font-size:2.4rem;color:var(--accent)}
.qa h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin:36px 0 12px}.road .qa h2{margin-top:0}.qa .answer{font-size:1.08rem;font-weight:500;color:var(--char)}.qa p{margin-top:10px;color:#4a4943}.qa a,.tldr a,.fine a{text-decoration:underline}
.tldr{background:var(--cream);padding:22px 26px;margin:30px 0;line-height:1.7}.lede2{font-size:1.15rem;color:var(--muted);margin-top:16px}
.faqg{margin-bottom:50px}.faqg h2{font-size:2.4rem;margin-bottom:14px}details{border-top:1px solid rgba(0,0,0,.1);padding:18px 0}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}details summary h3{display:inline;font-family:var(--sans);font-size:1.05rem;font-weight:500}details summary:after{content:'+';float:right;font-size:1.3rem}details[open] summary:after{content:'–'}details p{margin-top:10px;color:#4a4943}
.vgroup{padding:30px 0;border-top:1px solid rgba(0,0,0,.1)}.vgroup h3{font-size:1.9rem;margin-bottom:14px}
.calc{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}.calcout{background:var(--sage-d);color:#fff;padding:36px;position:sticky;top:100px}.calcout .eyebrow{color:#dfe4d8}.calcout .big{font-family:var(--serif);font-size:3.4rem;margin:8px 0 14px}.calcout ul{list-style:none}.calcout li{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid rgba(255,255,255,.18);font-size:.95rem}.calcout .fine{color:#dfe4d8}
figure.testi{margin:0}figure.testi blockquote{margin:0}
@media (max-width:980px){.quick,.lgrid{grid-template-columns:1fr 1fr}.calc{grid-template-columns:1fr}.calcout{position:static}}
@media (max-width:600px){.quick,.lgrid,.opts{grid-template-columns:1fr}.intake{padding:24px 18px}.road li{grid-template-columns:44px 1fr}.road .n{font-size:1.7rem}}
form .opts label{display:block;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--char);margin:0}
form .opts input{position:absolute;opacity:0;width:1px;height:1px}
form .opts input:checked+span{background:var(--sage-d)!important;color:#fff!important;border-color:var(--sage-d)!important}
.lcard .ph .nophoto{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--sand,#efe9df);color:var(--ink-2,#555);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
/* market map */
.mmwrap{padding-top:30px}.mmbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.mmregions{display:flex;gap:8px;flex-wrap:wrap}.mmregions button{font:inherit;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border:1px solid rgba(42,42,39,.25);background:transparent;color:var(--char);cursor:pointer}
.mmregions button.on{background:var(--sage-d);border-color:var(--sage-d);color:#fff}
.mmlayers{display:flex;gap:18px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.mmlayers label{display:flex;align-items:center;gap:8px;cursor:pointer}
.mmlayers .k{display:inline-block;width:12px;height:12px;border-radius:50%}.mmlayers .kl{background:var(--sage-d);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--sage-d)}.mmlayers .kt{background:var(--cream);border:1.5px solid var(--wood)}
#mmap{height:min(72vh,680px);min-height:420px;border:1px solid rgba(42,42,39,.12);background:#eef0ea;z-index:0}
.mmme{margin-top:12px;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:8px}.mmme i{display:inline-block;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--char);background:var(--cream)}
.mmpop{font-family:var(--sans);color:var(--char);display:block;text-decoration:none}.mmpop h4{font-family:var(--serif);font-size:1.25rem;margin:4px 0}.mmpop p{margin:4px 0;font-size:.82rem;color:var(--muted)}
.mmpop img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:8px}.mmpop b{font-size:1.05rem}.mmpop i{font-style:normal;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;background:var(--wood);color:#fff;padding:2px 6px}
.mmpop small{display:block;font-size:.72rem;color:var(--muted)}.mml span{display:block;margin-top:6px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-d)}
.leaflet-popup-content-wrapper{border-radius:2px}.leaflet-container a.mmpop{color:var(--char)}
.mmcols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.mmtowns{list-style:none;padding:0;margin:14px 0 20px}.mmtowns li{padding:10px 0;border-bottom:1px solid rgba(42,42,39,.1)}
.mmtowns b{font-family:var(--serif);font-weight:500;font-size:1.2rem;display:block}.mmtowns span{font-size:.8rem;color:var(--muted)}.mmtowns span a{text-decoration:underline;text-underline-offset:2px}.mmtowns li.mine b{color:var(--sage-d)}.mmtowns li.mine b:after{content:' ·  you’ll find me here';font-family:var(--sans);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.mmsrc{margin-top:60px;padding-top:24px;border-top:1px solid rgba(42,42,39,.15);font-size:.8rem;color:var(--muted)}.mmsrc h5{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.mmsrc ul{padding-left:18px}.mmsrc li{margin:6px 0}
.mmcard{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;text-decoration:none;color:inherit}.mmcard img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid rgba(42,42,39,.12)}
.mmcard h2{font-size:clamp(2.2rem,4vw,3.4rem);margin:14px 0}.mmcard p{color:var(--muted);margin-bottom:26px;max-width:460px}
.mmband{padding:40px 0 0}.mmband-in{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 34px;background:var(--cream);border-left:3px solid var(--accent)}
.mmband h3{font-size:1.7rem;margin:8px 0}.mmband p{color:var(--char);max-width:720px;line-height:1.6}.mmband small{display:block;margin-top:8px;font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.mmteam{text-align:center;margin:-20px 0 30px}
@media(max-width:860px){.mmcols{grid-template-columns:1fr;gap:20px}.mmcard{grid-template-columns:1fr;gap:24px}.mmband-in{flex-direction:column;align-items:flex-start;padding:24px}#mmap{height:62vh;min-height:360px}.mmbar{flex-direction:column;align-items:flex-start}}
#mmap{background:#e8edee}.mmtip{font-family:var(--sans);font-size:.75rem;border-radius:0;border:0;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.mmtowns li.mine b:after{content:' · recent clients here'}
#mmap{height:min(62vh,600px)}
@media(max-width:860px){#mmap{height:46vh;min-height:320px}}
.mmcols{grid-template-columns:1fr;gap:56px}.mmtowns{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));column-gap:32px}
/* crownos-website */
.chips a{border:1px solid rgba(0,0,0,.18);border-radius:30px;padding:7px 15px;font-size:.8rem;background:var(--cream);transition:background .2s}.chips a:hover{background:#e9e1d1}
.soc{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.soc a{display:inline-block;border:1px solid rgba(0,0,0,.18);padding:9px 16px;font-size:.85rem}
.gmap{margin-top:30px;aspect-ratio:16/7;min-height:280px}.gmap iframe{width:100%;height:100%;border:0}
.draftbar{position:fixed;left:0;right:0;bottom:0;z-index:99;background:#b4462f;color:#fff;text-align:center;padding:8px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.prose h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin:36px 0 12px}.prose p,.prose li{color:#4a4943;margin-top:12px;font-size:1.04rem;line-height:1.75}.prose ul,.prose ol{padding-left:22px}.prose a{text-decoration:underline}

/* honeypot (website forms) */
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* site15: awards strip, empathy, Grow */
.awstrip{padding:46px 0;background:var(--white);border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}.awstrip.dark{background:var(--char);color:#fff}
.awrow{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:18px}.aw b{display:block;font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--accent);font-weight:500}.aw span{display:block;margin-top:8px;font-weight:500}.aw small{display:block;margin-top:4px;color:var(--muted);font-size:.8rem;line-height:1.4}
.empgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.emp{background:var(--white);border:1px solid rgba(0,0,0,.07);padding:28px}.tint .emp,.cream .emp{background:#fff}.emp .worry{font-family:var(--serif);font-size:1.45rem;line-height:1.25;font-style:italic}.emp .fix{margin-top:14px;color:#4a4943}
.statband{background:var(--char);color:#fff;padding:60px 0}.statband .eyebrow{color:#cfd6c8}.strow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.st b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(3.2rem,8vw,6rem);line-height:1}.st span{display:block;margin-top:6px;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:#cfd6c8}
.proof{margin-top:14px;font-size:.82rem;letter-spacing:.06em;color:var(--muted)}.hero .proof,.statband .proof{color:rgba(255,255,255,.85)}
.wins{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.win{background:#fff;padding:26px;border-top:3px solid var(--accent)}.win h4{font-family:var(--serif);font-size:1.5rem;margin:10px 0 6px}.win p{color:#4a4943}.win small{display:block;margin-top:10px;color:var(--muted);font-size:.75rem}
.growth{margin-top:60px;background:#fff;padding:34px}.growth h3{font-size:clamp(1.8rem,3vw,2.4rem)}.bars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:end;height:280px;margin-top:26px}.bar{display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center}.bv{background:var(--sage);position:relative;min-height:30px}.bar:last-child .bv{background:var(--accent)}.bv b{position:absolute;top:-30px;left:0;right:0;font-family:var(--serif);font-size:1.3rem}.bar span{margin-top:10px;font-weight:500}.bar small{color:var(--muted);font-size:.75rem}
.five{display:flex;gap:28px;align-items:center;margin-top:60px;background:var(--char);color:#fff;padding:34px}.five>b{font-family:var(--serif);font-size:7rem;line-height:.8;color:#e9d7a8;font-weight:500}.five .eyebrow{color:#cfd6c8}.five h3{margin:10px 0;font-size:clamp(1.6rem,3vw,2.3rem)}.five p{color:#dfe4d8}
.lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:22px}.lgrid.owners{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.lcard{display:flex;gap:18px;align-items:flex-start;background:var(--white);padding:22px;border:1px solid rgba(0,0,0,.06)}.lc-ph{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none}.lcard.big .lc-ph{width:120px;height:120px}.lc-ph.mono{display:flex;align-items:center;justify-content:center;background:var(--sage);color:#fff;font-family:var(--serif);font-size:2rem}.lcard h4{font-family:var(--serif);font-size:1.45rem}.lc-role{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:4px}.lc-house{display:inline-block;margin-top:8px;font-size:.75rem;border:1px solid rgba(0,0,0,.15);padding:3px 10px;border-radius:20px}.lcard p{margin-top:10px;color:#4a4943;font-size:.95rem}.lhead{margin-top:56px;font-size:clamp(1.7rem,3vw,2.4rem)}.lsub{color:var(--muted);margin-top:8px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.cfeats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:50px}.cf{background:#fff;padding:22px}.cf h4{font-family:var(--serif);font-size:1.4rem;margin-top:6px}.cf p{color:#4a4943;font-size:.93rem;margin-top:6px}
.cmock{background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.14);overflow:hidden}.cmock>small{display:block;text-align:center;font-size:.72rem;color:var(--muted);padding:8px}.cm-top{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#2f3a2c;color:#fff}.cm-dots{margin-left:auto;display:flex;gap:5px}.cm-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35)}.cm-body{display:flex;min-height:250px}.cm-side{width:54px;background:#f1efe9;display:flex;flex-direction:column;gap:12px;padding:14px 12px}.cm-side span{height:26px;border-radius:7px;background:#dcd8cd}.cm-side .on{background:var(--sage)}.cm-main{flex:1;padding:16px}.cm-h{height:14px;width:40%;background:#e7e3d9;border-radius:4px}.cm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:14px}.mt{border:1px solid #ece8de;border-radius:10px;padding:12px}.mt i{display:block;width:22px;height:22px;border-radius:6px;background:#e9d7a8}.mt b{display:block;margin:8px 0;font-size:.85rem}.mt span{display:block;height:7px;border-radius:4px;background:#efece4;margin-top:5px}.mt .s{width:60%}
.xgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.xb{padding:24px;border:1px solid rgba(0,0,0,.08);background:var(--white)}.xb h4{font-family:var(--serif);font-size:1.45rem}.xb p{margin-top:8px;color:#4a4943}
.xplus{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;margin-top:30px;background:var(--cream);padding:30px}.xplus ul{margin-top:12px;padding-left:20px;line-height:1.9}.xsplit p{font-family:var(--serif);font-size:1.4rem;line-height:1.35;margin:12px 0 20px}
@media(max-width:800px){.awrow{grid-template-columns:1fr 1fr}.strow{grid-template-columns:1fr}.cgrid,.xplus{grid-template-columns:1fr}.bars{height:220px;gap:10px}.bv b{font-size:1rem}.five{flex-direction:column;align-items:flex-start}.five>b{font-size:5rem}}
.about-anna .hero .bg{object-position:50% 38%}
.cmgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.cm{background:var(--white);border-left:3px solid var(--accent);padding:24px}.cm h4{font-family:var(--serif);font-size:1.5rem;margin-top:8px}.cm h3{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:8px}.cm p{margin-top:10px;color:#4a4943}.cm .cx{display:block;margin-top:10px;color:var(--muted);font-size:.8rem}.cmlist{list-style:none;padding:0;color:#fff}.cmlist li{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);line-height:1.5}.cmlist b{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:500}

.lcard .lc-hl{font-weight:600;color:var(--ink,#2f3a2f);margin:8px 0 4px}
.awrow{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px) and (min-width:801px){.awrow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.awrow{grid-template-columns:1fr 1fr}.awrow .aw:last-child{grid-column:1/-1}}
.hh{background:linear-gradient(180deg,#f6f1e6,#fbf8f1);border-top:1px solid rgba(0,0,0,.05)}.hh-top{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}.hh h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}.hh-lede{margin-top:20px;font-size:1.12rem;color:var(--muted);max-width:40em}
.hh-lead{display:flex;gap:22px;align-items:center;background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(40,50,30,.08)}.hh-lead img{width:120px;height:120px;border-radius:50%;object-fit:cover;flex:none}.hh-lead h4{font-family:var(--serif);font-size:1.5rem;margin-top:4px}.hh-lead p{margin-top:8px;color:var(--muted);font-size:.95rem}
.hh-sub{margin:56px 0 18px;font-family:var(--serif);font-size:1.6rem;font-style:italic}.hh-get{margin-top:44px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;background:#fff;border-radius:20px;padding:34px;box-shadow:0 10px 30px rgba(40,50,30,.06)}.hh-get ul{margin-top:14px;padding-left:1.1em;display:grid;gap:10px}.hh-get li{line-height:1.5}
.hh-cta{display:flex;flex-direction:column;justify-content:center;gap:14px;border-left:1px solid rgba(0,0,0,.08);padding-left:34px}.hh-cta p{font-family:var(--serif);font-size:1.35rem;line-height:1.3}
@media(max-width:800px){.hh-top,.hh-get{grid-template-columns:1fr}.hh-cta{border-left:0;padding-left:0;border-top:1px solid rgba(0,0,0,.08);padding-top:22px}.hh-lead{flex-direction:column;text-align:center}.hh-get{padding:24px}}
.story .tl{list-style:none;margin:36px 0 0;padding:0;position:relative;display:grid;gap:26px}.story .tl:before{content:"";position:absolute;left:118px;top:6px;bottom:6px;width:2px;background:rgba(80,95,70,.22)}
.story .tl li{display:grid;grid-template-columns:100px 1fr;gap:40px;position:relative}.story .tl li:before{content:"";position:absolute;left:112px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--accent,#6f7f62);box-shadow:0 0 0 4px #fbf8f1}
.story .ty{font-family:var(--serif);font-size:1.5rem;color:var(--accent,#6f7f62);text-align:right;line-height:1.1}.story h4{font-family:var(--serif);font-size:1.35rem}.story p{color:var(--muted);margin-top:4px;max-width:38em}
.st-k{display:flex;align-items:center;gap:12px;margin-top:12px}.st-k img{width:56px;height:56px;border-radius:50%;object-fit:cover}.st-k span{font-size:.85rem;font-weight:600}
@media(max-width:800px){.story .tl:before{left:7px}.story .tl li{grid-template-columns:1fr;gap:4px;padding-left:30px}.story .tl li:before{left:1px;top:6px}.story .ty{text-align:left;font-size:1.25rem}}
/* s17: featured win (Grow) */
.win.feat{border:2px solid var(--accent);background:#fff;box-shadow:0 10px 30px rgba(42,42,39,.08)}
.win.feat h4{font-size:1.25em}
/* s17: six-item awards strip */
.awrow{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.awrow{grid-template-columns:1fr 1fr}.awrow .aw:last-child{grid-column:auto}}
/* s22 approved APRE photos (Anna, Oct 23 2026) */
.lphoto{margin:28px 0 0;border-radius:18px;overflow:hidden;background:#e9e2d4}
.lphoto img{display:block;width:100%;height:100%;object-fit:cover}
.lphoto.r32{aspect-ratio:3/2}
.lphoto.wide{max-width:1100px;margin:48px auto 0;aspect-ratio:3/2}
.lphoto.hh{aspect-ratio:21/9;margin:34px 0 8px}
@media(max-width:800px){.lphoto.hh{aspect-ratio:3/2}}
.res .rimg{margin:-6px -6px 16px;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.res .rimg img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
/* s23: Grow hero = team photo on top, headline in a panel below (faces stay clear on every screen) */
.hero.photo-top{display:block;height:auto;min-height:0;background:var(--sage-d)}
.hero.photo-top img.bg{position:relative;inset:auto;display:block;height:min(64vh,56vw);min-height:250px;object-position:50% 40%;transform:none;animation:none}
.hero.photo-top:after{background:linear-gradient(180deg,rgba(20,20,16,.45) 0,rgba(20,20,16,0) 120px);bottom:auto;height:min(64vh,56vw);min-height:250px}
.hero.photo-top .in{padding:56px 40px 64px}
.hero.photo-top h1{font-size:clamp(2.5rem,5.4vw,5rem);max-width:20ch}
@media(max-width:800px){.hero.photo-top img.bg{height:auto;aspect-ratio:3/2;min-height:0}.hero.photo-top:after{height:auto;aspect-ratio:3/2;min-height:0}.hero.photo-top .in{padding:34px 22px 48px}}
/* s23: Our Story = one centred column, team photo full width under the timeline */
section.story#our-story{display:block}
section.story#our-story .lphoto.wide{max-width:none;width:100%;margin:56px 0 0}
section.story#our-story .lphoto img{aspect-ratio:auto}

/* APRE brand (Canva brand kits, Oct 23 2026): Noto Serif Condensed headings, Lato Light body, Noto Serif Extra Condensed Italic accent */
em,i,.accent{font-stretch:extra-condensed}
b,strong{font-weight:700}
.brand img.logo{height:44px;width:auto;display:block}
.brand img.logo-light{display:none}
.nav:not(.solid):not(.light) .brand img.logo-dark{display:none}
.nav:not(.solid):not(.light) .brand img.logo-light{display:block}
.menu-open .nav .brand img.logo-dark{display:block}.menu-open .nav .brand img.logo-light{display:none}
.nav.solid .brand img.logo,.nav.light .brand img.logo{height:38px}
footer .foot-logo{height:54px;width:auto;margin-bottom:28px;opacity:.95}
.division-mark{margin-bottom:22px}
.division-mark img{height:64px;width:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}
.division-mark.mtn img{height:84px}
@media(max-width:760px){.brand img.logo{height:36px}.nav.solid .brand img.logo,.nav.light .brand img.logo{height:32px}.division-mark img{height:48px}.division-mark.mtn img{height:64px}footer .foot-logo{height:44px}}
.brand.brand-agent{flex-direction:row;align-items:center;gap:14px}
.brand-agent .who{display:flex;flex-direction:column;padding-left:14px;border-left:1px solid currentColor;line-height:1}
.brand-agent .who b{font-size:1.15rem;letter-spacing:.06em}
.brand-agent .who small{font-size:.52rem}
@media(max-width:760px){.brand.brand-agent{gap:10px}.brand-agent .who{padding-left:10px}.brand-agent .who b{font-size:.95rem}.brand-agent .who small{display:none}}
