
body{margin:0;background:#F7F4EE}
a{color:#22303B}a:hover{color:#9A5B2E}
@keyframes shbfade{0%{opacity:0}3%{opacity:1}20%{opacity:1}23%{opacity:0}100%{opacity:0}}
@keyframes shbdrift{0%{transform:scale(1.06)}100%{transform:scale(1)}}
.hs{position:absolute;inset:0;opacity:0;animation:shbfade 30s infinite}
.hs img{width:100%;height:100%;object-fit:cover;animation:shbdrift 30s infinite}
.hs.s2{animation-delay:6s}.hs.s2 img{animation-delay:6s}
.hs.s3{animation-delay:12s}.hs.s3 img{animation-delay:12s}
.hs.s4{animation-delay:18s}.hs.s4 img{animation-delay:18s}
.hs.s5{animation-delay:24s}.hs.s5 img{animation-delay:24s}
.hc{position:absolute;left:0;bottom:0;opacity:0;animation:shbfade 30s infinite;white-space:nowrap}
.hc.s2{animation-delay:6s}.hc.s3{animation-delay:12s}.hc.s4{animation-delay:18s}.hc.s5{animation-delay:24s}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.steps:before{content:"";position:absolute;left:0;right:0;top:22px;height:1px;background:#CFC8BA}
.steps li{position:relative;display:flex;flex-direction:column;gap:10px;padding-right:28px}
.sn{width:44px;height:44px;border-radius:50%;background:#F7F4EE;border:1px solid #22303B;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.08em;position:relative}
.st{font-family:Newsreader,Georgia,serif;font-size:28px;line-height:1.1;margin-top:6px}

.res{background:#FFFDF9;border:1px solid #E4DFD4;padding:22px 24px;display:flex;flex-direction:column;gap:4px}
.rv{font-family:Newsreader,Georgia,serif;font-size:32px;line-height:1.1;color:#22303B}
.rl{font-size:14px;color:#5C5A55}
.mapwrap{position:relative;border:1px solid #E4DFD4;background:#EEEAE2;overflow:visible}
.mapimg{display:block;width:100%;height:auto}
.mapbar{position:absolute;left:16px;top:16px;display:flex;flex-wrap:wrap;gap:8px}
.mapbar label{background:#FFFDF9;border:1px solid #CFC8BA;padding:9px 14px;font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer}
.mapbar input{accent-color:#22303B;margin:0}
.mapzoom{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column}
.mapzoom button{width:40px;height:40px;background:#FFFDF9;border:1px solid #CFC8BA;font-size:20px;color:#22303B;cursor:pointer}
.mapzoom button+button{border-top:0}
.mapfull{position:absolute;right:16px;top:16px;background:#22303B;color:#F7F4EE !important;text-decoration:none;padding:10px 16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.pin{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border:0;background:transparent;cursor:pointer;padding:0;z-index:2}
.pin:hover,.pin:focus,.pin.open{z-index:5}
.pin:hover:before,.pin:focus:before{content:"";position:absolute;inset:4px;border:2px solid #9A5B2E;border-radius:50%}
.card{display:none;position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%);width:230px;background:#FFFDF9;border:1px solid #CFC8BA;box-shadow:0 10px 30px rgba(20,22,26,.18);padding:10px;text-align:left;font-family:Jost,system-ui,sans-serif;color:#26251F;flex-direction:column;gap:3px}
.card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#ECE7DE;margin-bottom:6px}
.card.sm{width:190px}
.ck{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9A5B2E}
.cn{font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.15}
.cp{font-size:13.5px;color:#5C5A55}
.cl{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#22303B;margin-top:4px}
.pin.open .card,.pin:hover .card,.pin:focus .card{display:flex}
.mapwrap:hover .pin.open:not(:hover) .card{display:none}
.hrail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(-1*clamp(16px,7vw,100px));padding:0 clamp(16px,7vw,100px) 18px 0;scrollbar-width:thin}
.hcard{flex:0 0 min(440px,82vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.harr{width:44px;height:44px;border:1px solid #CFC8BA;background:#FFFDF9;color:#22303B;font-size:20px;cursor:pointer}
.harr:hover{border-color:#22303B}
.h2{margin:0;font-family:Newsreader,Georgia,serif;font-weight:300;font-size:52px;line-height:1.05;letter-spacing:-.01em}
.fn{font-size:13px;color:#625E57;line-height:1.6}
.arrs{display:flex;gap:8px}
.prail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:clamp(16px,7vw,100px);padding-bottom:14px;scrollbar-width:thin}
.pcard{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:#26251F !important;max-width:min(860px,86vw)}
.pcard img{height:520px;width:auto;max-width:min(860px,86vw);object-fit:contain;display:block;background:#ECE7DE}
.pmeta{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#625E57;margin-top:8px;display:flex;gap:12px}.pmeta b{font-weight:400;color:#6A655D}
.pname{font-family:Newsreader,Georgia,serif;font-size:26px;line-height:1.1}
.pdesc{font-size:14px;color:#5C5A55;max-width:56ch}
.psteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #E4DFD4;background:#FFFDF9}
.pstep{position:relative;padding:22px 22px 20px;display:flex;flex-direction:column;gap:6px;border-right:1px solid #E4DFD4;cursor:default;outline:none;transition:background .2s}
.pstep:last-child{border-right:0}
.pi{color:#22303B}.pn{position:absolute;right:20px;top:22px;font-size:11.5px;letter-spacing:.14em;color:#6A655D}
.pt{font-family:Newsreader,Georgia,serif;font-size:22px;line-height:1.1;margin-top:6px}
.pd{font-size:14px;color:#5C5A55;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s,opacity .3s}
.pstep:hover,.pstep:focus{background:#F2EEE6}.pstep:hover .pi,.pstep:focus .pi{color:#9A5B2E}
.pstep:hover .pd,.pstep:focus .pd{max-height:120px;opacity:1}
.doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.door{display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid rgba(247,244,238,.22);text-decoration:none;color:#F7F4EE !important;transition:background .2s,border-color .2s}
.door:hover{background:rgba(247,244,238,.07);border-color:#F7D0B1}
.di{width:56px;height:56px;border-radius:50%;border:1px solid rgba(247,244,238,.35);display:flex;align-items:center;justify-content:center;color:#F7D0B1;margin-bottom:6px}
.door:hover .di{background:#F7D0B1;color:#3F5060;border-color:#F7D0B1}
.dt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#F7D0B1}
.dd{font-family:Newsreader,Georgia,serif;font-size:20px;line-height:1.25}
.dl{font-size:12.5px;color:#C9D2DA;margin-top:auto;padding-top:8px}
@keyframes csf{0%{opacity:0}3%{opacity:1}20%{opacity:1}23%{opacity:0}100%{opacity:0}}
.cshow{position:relative;min-height:560px;overflow:hidden;background:#1C1F23}
.cs{position:absolute;inset:0;opacity:0;animation:csf 30s infinite}.cs img{width:100%;height:100%;object-fit:cover}
.cc{position:absolute;left:0;bottom:0;opacity:0;animation:csf 30s infinite;white-space:nowrap}
.s2{animation-delay:6s}.s3{animation-delay:12s}.s4{animation-delay:18s}.s5{animation-delay:24s}
.hs.s2 img{animation-delay:6s}
@media (prefers-reduced-motion: reduce){.cs,.cc{animation:none}.cs.s1,.cc.s1{opacity:1}}
.dr{position:absolute;opacity:0;pointer-events:none}
label.door{cursor:pointer}
#d-buyer:checked~.doors label[for=d-buyer],#d-land:checked~.doors label[for=d-land],#d-trades:checked~.doors label[for=d-trades]{background:rgba(247,244,238,.1);border-color:#F7D0B1}
#d-buyer:checked~.doors label[for=d-buyer] .di,#d-land:checked~.doors label[for=d-land] .di,#d-trades:checked~.doors label[for=d-trades] .di{background:#F7D0B1;color:#3F5060;border-color:#F7D0B1}
.dform{display:none;grid-template-columns:1.1fr 1fr 1fr 1fr 1.2fr auto;gap:14px;align-items:end;border-top:1px solid rgba(247,244,238,.22);padding-top:22px}
#d-buyer:checked~.dforms .f-buyer,#d-land:checked~.dforms .f-land,#d-trades:checked~.dforms .f-trades{display:grid}
.fh{font-family:Newsreader,Georgia,serif;font-size:22px;line-height:1.2;align-self:center}
.fsend{font:inherit;border:0;background:#F7D0B1;color:#3F5060;padding:14px 26px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;height:49px}
.dform input::placeholder{color:#8FA0AE}
.dform select option{color:#26251F}
@keyframes ff{0%{opacity:0}2%{opacity:1}12.50%{opacity:1}15.00%{opacity:0}100%{opacity:0}}
@keyframes fz{0%{transform:scale(1.07)}15.00%{transform:scale(1)}100%{transform:scale(1)}}
.finale{position:relative;height:760px;overflow:hidden;background:#1C1F23}
.fs{position:absolute;inset:0;opacity:0;animation:ff 40s infinite}
.fs img{width:100%;height:100%;display:block;animation:fz 40s infinite}
.fc{position:absolute;right:0;bottom:0;opacity:0;animation:ff 40s infinite;white-space:nowrap}.fc b{font-weight:400;margin-right:14px;opacity:.7}
@media (prefers-reduced-motion: reduce){.fs,.fc,.fs img{animation:none}.fs:first-of-type,.fc:first-child{opacity:1}}
.finale{height:880px !important}
.gdoors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.gd{background:rgba(28,33,40,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(247,244,238,.25);outline:none;transition:background .25s,border-color .25s}
.gh{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}
.gi{width:38px;height:38px;flex:0 0 38px;border-radius:50%;border:1px solid rgba(247,244,238,.4);display:flex;align-items:center;justify-content:center;color:#F7D0B1;transition:background .25s,color .25s}
.gt{flex:1;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.gp{font-size:18px;color:rgba(247,244,238,.7);transition:transform .25s}
.gb{max-height:0;overflow:hidden;opacity:0;padding:0 16px;transition:max-height .35s,opacity .3s,padding .35s}
.gb p{margin:0 0 12px;font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.25}
.gd:hover,.gd:focus-within{background:rgba(28,33,40,.78);border-color:#F7D0B1}
.gd:hover .gb,.gd:focus-within .gb{max-height:320px;opacity:1;padding:0 16px 16px}
.gd:hover .gi,.gd:focus-within .gi{background:#F7D0B1;color:#2B3540;border-color:#F7D0B1}
.gd:hover .gp,.gd:focus-within .gp{transform:rotate(45deg)}
.gf{display:flex;flex-direction:column;gap:8px}
.gf input,.gf select{font:inherit;font-size:14px;padding:10px 12px;border:1px solid rgba(247,244,238,.3);background:rgba(247,244,238,.08);color:#F7F4EE}
.gf input::placeholder{color:rgba(247,244,238,.6)}.gf select option{color:#26251F}
.gf button{font:inherit;border:0;background:#F7D0B1;color:#2B3540;padding:11px 16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;align-self:flex-start}
.gx{display:inline-block;color:#F7D0B1 !important;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.gh{background:#F7F4EE;color:#22303B;padding:14px 16px;gap:14px}
.gh .gi{border-color:#22303B;color:#22303B}
.gt{display:flex;flex-direction:column;gap:2px;font-family:Newsreader,Georgia,serif;font-size:21px;letter-spacing:0;text-transform:none;line-height:1.1}
.gt small{font-family:Jost,system-ui,sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9A5B2E}
.gp{width:30px;height:30px;border-radius:50%;background:#22303B;color:#F7F4EE;display:flex;align-items:center;justify-content:center;font-size:18px}
.gd:hover .gh,.gd:focus-within .gh{background:#F7D0B1}
.gd:hover .gi,.gd:focus-within .gi{background:#22303B;color:#F7D0B1;border-color:#22303B}
.gb{padding-top:0}
.gd:hover .gb,.gd:focus-within .gb{padding:14px 16px 16px}
.gf button{width:100%;padding:13px 16px;font-size:12.5px}
/* discreet, bespoke inquiry buttons */
.gdoors{gap:0;border-top:1px solid rgba(247,244,238,.35)}
.gd{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-right:1px solid rgba(247,244,238,.18)}
.gd:last-child{border-right:0}
.gh{background:transparent;color:#F7F4EE;padding:18px 22px 16px 0;gap:14px}
.gd+.gd .gh{padding-left:22px}
.gh .gi,.gi{width:auto;height:auto;flex:0 0 auto;border:0;border-radius:0;background:transparent;color:rgba(247,244,238,.75)}
.gi svg{width:18px;height:18px}
.gt{font-family:Newsreader,Georgia,serif;font-size:20px;font-weight:300;font-style:italic;letter-spacing:0;color:#F7F4EE}
.gt small{font-family:Jost,system-ui,sans-serif;font-style:normal;font-size:10px;letter-spacing:.2em;color:rgba(247,244,238,.6)}
.gp{width:auto;height:auto;background:transparent;border-radius:0;color:rgba(247,244,238,.6);font-size:16px;font-weight:300}
.gd:hover,.gd:focus-within{background:rgba(20,22,26,.45);border-color:rgba(247,244,238,.18)}
.gd:hover .gh,.gd:focus-within .gh{background:transparent}
.gd:hover .gi,.gd:focus-within .gi{background:transparent;color:#E8D5BF;border:0}
.gd:hover .gt,.gd:focus-within .gt{color:#E8D5BF}
.gd:hover .gb,.gd:focus-within .gb{padding:2px 22px 20px 0}
.gd+.gd:hover .gb,.gd+.gd:focus-within .gb{padding-left:22px}
.gb p{font-size:16px;font-weight:300;color:rgba(247,244,238,.85)}
.gf input,.gf select{background:transparent;border:0;border-bottom:1px solid rgba(247,244,238,.35);padding:9px 0;font-size:14px}
.gf select{appearance:none;-webkit-appearance:none}
.gf button{background:transparent;color:#F7F4EE;border:1px solid rgba(247,244,238,.6);font-size:11px;letter-spacing:.2em;padding:11px 16px;margin-top:6px}
.gf button:hover{background:#F7F4EE;color:#22303B}
.gx{color:#E8D5BF !important;font-size:11px;letter-spacing:.2em;border-bottom:1px solid rgba(232,213,191,.5);padding-bottom:3px}
.gdoors{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
.gd:hover .gb,.gd:focus-within .gb{max-height:460px !important}
.gt{font-style:normal !important;font-size:19px !important}
.gt small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb p{font-size:15px !important}
.dwrap{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.dcol{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:14px}
.idiag{width:100%;height:auto;font-family:Jost,system-ui,sans-serif}
.idiag .dl{font-size:12px;letter-spacing:.18em;fill:#625E57}
.idiag .dbox rect{fill:#FFFDF9;stroke:#CFC8BA}.idiag .dbox text{font-size:13px;fill:#5C5A55;text-anchor:middle}
.idiag .dgap path{stroke:#B0583F;stroke-width:1.2;stroke-dasharray:3 3;fill:none}.idiag .dgap text{font-size:12px;fill:#B0583F;text-anchor:middle}
.idiag .dband{fill:#22303B}.idiag .dnode circle{fill:#E8D5BF}.idiag .dnode text{font-size:13.5px;fill:#F7F4EE}
.idiag .dline{stroke:rgba(232,213,191,.5);stroke-width:1;fill:none}.idiag .dnote{font-size:11px;fill:#625E57;text-anchor:middle}
.gtabs{display:flex;gap:24px;border-bottom:1px solid #E4DFD4}
.gtabs label{cursor:pointer;padding-bottom:10px;margin-bottom:-1px;border-bottom:1px solid transparent;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#625E57}
#gk-condo:checked~.gtabs label[for=gk-condo],#gk-sfh:checked~.gtabs label[for=gk-sfh]{color:#26251F;border-color:#26251F}
.gpanel{display:none;flex-direction:column;gap:14px}
#gk-condo:checked~.g-condo,#gk-sfh:checked~.g-sfh{display:flex}
.ggrp{display:flex;flex-direction:column;gap:5px}
.gh2{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#625E57;padding-left:104px}.gh2 b{font-weight:400;color:#26251F}
.grow{display:flex;align-items:center;gap:12px}
.gl{flex:0 0 92px;font-size:12.5px;color:#5C5A55;text-align:right}
.gtrack{position:relative;flex:1;height:16px;background:#F1EDE6}
.gbar{position:absolute;top:2px;height:12px;outline:none}
.gbar.conv{background:#D9D3C7}
.gbar.shb{background:#22303B;cursor:help}.gbar.pre{background:#9A5B2E}
.gbar.shb:hover,.gbar.shb:focus{background:#3F5060}
.gtip{display:none;position:absolute;left:0;bottom:calc(100% + 8px);width:250px;background:#FFFDF9;border:1px solid #CFC8BA;box-shadow:0 8px 24px rgba(20,22,26,.14);padding:10px 12px;font-size:12.5px;color:#5C5A55;z-index:5;flex-direction:column;gap:2px}
.gtip b{font-weight:500;color:#26251F}
.gbar.shb:hover .gtip,.gbar.shb:focus .gtip{display:flex}
.gtrack.gates{background:none;height:30px}
.gate{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px}
.gate i{width:9px;height:9px;background:#9A5B2E;transform:rotate(45deg)}
.gate em{font-style:normal;font-size:12px;color:#5C5A55;white-space:nowrap}
.gtrack.axis{background:none;height:14px;border-top:1px solid #CFC8BA}
.gtrack.axis span{position:absolute;top:2px;transform:translateX(-50%);font-size:12px;color:#625E57}
.mq{overflow:hidden;margin-right:calc(-1*clamp(16px,7vw,100px));-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
#work .mq{margin-right:0}
.mqt{display:flex;gap:28px;width:max-content;animation:mqs 90s linear infinite}
#homes .mqt{animation-duration:60s}
.mq:hover .mqt{animation-play-state:paused}
@keyframes mqs{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 14px))}}
@media (prefers-reduced-motion: reduce){.mqt{animation:none}.mq{overflow-x:auto}}
.pwrap{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.pwin{flex:2 1 640px;min-width:0;border:1px solid #CFC8BA;background:#FFFDF9;box-shadow:0 24px 60px rgba(20,22,26,.10)}
.pbar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid #E4DFD4;background:#F2EEE6}
.pbar i{width:9px;height:9px;border-radius:50%;background:#D9D3C7}.pbar span{margin-left:12px;font-size:11.5px;color:#625E57}
.pbody{display:flex;min-height:380px}
.pnav{flex:0 0 150px;display:flex;flex-direction:column;gap:2px;padding:16px 0;border-right:1px solid #E4DFD4;font-size:13px}
.pnav b{font-weight:500;padding:0 16px 10px;font-size:12px;color:#625E57}
.pnav span{padding:6px 16px;color:#5C5A55}.pnav span.on{background:#22303B;color:#F7F4EE}
.pmain{flex:1;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.phead{display:flex;justify-content:space-between;align-items:center;gap:12px}
.phead small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#625E57}.phead b{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:22px}
.pill{font-size:11.5px;padding:5px 10px;border:1px solid #3E6B4F;color:#3E6B4F;white-space:nowrap}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pc{border:1px solid #E4DFD4;padding:12px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#5C5A55}
.pc.wide{grid-column:span 2}
.pc small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#625E57}.pc b{font-weight:500;color:#26251F;font-size:14px}.pc em{font-style:normal;color:#9A5B2E;font-size:12px}
.pprog{height:6px;background:#EEEAE2}.pprog i{display:block;height:100%;background:#22303B}
.pbud{display:flex;height:6px;gap:2px}
.prow{display:flex;justify-content:space-between;border-top:1px solid #F1EDE6;padding-top:5px}
.st{font-size:11px !important}.st.s1{color:#625E57 !important}.st.s2{color:#9A5B2E !important}.st.s3{color:#3E6B4F !important}
.pph{display:flex;gap:4px}.pph span{flex:1;aspect-ratio:1;background:linear-gradient(135deg,#D9D3C7,#6A655D)}
.pmods{flex:1 1 280px;list-style:none;margin:0;padding:0;border-top:1px solid #E4DFD4}
.pmods li{padding:11px 0;border-bottom:1px solid #E4DFD4;display:flex;flex-direction:column;cursor:default;outline:none}
.pmods li b{font-weight:400;font-family:Newsreader,Georgia,serif;font-size:19px}
.pmods li span{font-size:13px;color:#625E57;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s,opacity .25s}
.pmods li:hover span,.pmods li:focus span{max-height:40px;opacity:1}
.pmods li:hover b{color:#9A5B2E}
.pbtn{text-decoration:none;background:#22303B;color:#F7F4EE !important;padding:13px 22px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.pbtn.ghost{background:transparent;color:#22303B !important;border:1px solid #22303B;padding:12px 22px}
.stabs{display:flex;gap:4px 26px;flex-wrap:wrap;border-bottom:1px solid #E4DFD4}
.stabs label{cursor:pointer;padding:0 0 12px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:13px;color:#625E57;display:flex;gap:8px;white-space:nowrap}
.stabs label b{font-weight:400;color:#6A655D;font-size:11.5px;letter-spacing:.1em}
.svp{overflow:hidden}
.strack{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.slide{flex:0 0 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;align-items:center;padding:24px 0}
.stext{display:flex;flex-direction:column;gap:14px}
.snum{font-size:11.5px;letter-spacing:.16em;color:#625E57}
.stext h4{margin:0;font-family:Newsreader,Georgia,serif;font-weight:300;font-size:32px;line-height:1.12}
.stext p{margin:0;color:#5C5A55;max-width:52ch;line-height:1.65}
.snav{display:flex;gap:8px;margin-top:8px}
.nv{width:44px;height:44px;border:1px solid #CFC8BA;display:flex;align-items:center;justify-content:center;font-size:20px;color:#22303B;cursor:pointer;background:#FFFDF9}
.nv:hover{border-color:#22303B}.nv.off{opacity:.3;cursor:default}
.sfig{background:#FFFDF9;border:1px solid #E4DFD4;padding:24px}
.sdg{width:100%;height:auto;aspect-ratio:520/280;display:block}
.sdg .t{font-size:13px;fill:#26251F}.sdg .w{font-size:13px;fill:#F7F4EE}.sdg .m{font-size:11.5px;fill:#625E57}.sdg .k{font-size:12px;letter-spacing:.16em;fill:#625E57}.sdg .r{font-size:11px;fill:#B0583F}
.sdg .big{font-family:Newsreader,Georgia,serif;font-size:34px;fill:#9A5B2E}
.sdg .ln circle,.sdg .ln path{fill:none;stroke:#625E57;stroke-width:1.2}.sdg .ln circle{fill:#FFFDF9;stroke:#CFC8BA}
.sdg .fill{fill:#22303B}.sdg .fill2{fill:#E8D5BF}.sdg .box{fill:#FFFDF9;stroke:#CFC8BA}.sdg .box2{fill:#D9D3C7}
.sdg .gate2{fill:#9A5B2E}
.sdg .ln2 path{stroke:#B0583F;stroke-dasharray:3 3;fill:none}
.sdg .ln3{stroke:#9A5B2E;stroke-width:2;fill:none}.sdg .ln4{stroke:#CFC8BA;stroke-width:1}
.cu{max-width:560px;border-top:1px solid rgba(247,244,238,.35)}
.cu summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-family:Newsreader,Georgia,serif;font-size:24px;font-weight:300}
.cu summary::-webkit-details-marker{display:none}
.cu summary i{font-style:normal;font-size:20px;color:rgba(247,244,238,.7);transition:transform .25s}
.cu[open] summary i{transform:rotate(45deg)}
.cu summary:hover span{color:#E8D5BF}
.cuf{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:4px 0 8px}
.cuf label{display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,244,238,.65)}
.cuf .full{grid-column:1/-1}
.cuf input,.cuf select{font:inherit;font-size:15px;letter-spacing:0;text-transform:none;background:transparent;border:0;border-bottom:1px solid rgba(247,244,238,.4);padding:8px 0;color:#F7F4EE}
.cuf select option{color:#26251F}.cuf input::placeholder{color:rgba(247,244,238,.45)}
.cuf button{justify-self:start;font:inherit;background:transparent;color:#F7F4EE;border:1px solid rgba(247,244,238,.65);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:12px 26px;cursor:pointer}
.cuf button:hover{background:#F7F4EE;color:#22303B}
.cunote{grid-column:1/-1;font-size:12px;color:rgba(247,244,238,.6)}.cunote a{color:#E8D5BF}
.cu[open]{background:rgba(20,22,26,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(247,244,238,.18);padding:0 22px 18px;margin:0 -22px;position:relative;z-index:5}
.finale:has(.cu[open]) .fs img{filter:brightness(.4) blur(3px)}
.finale:has(.cu[open]) .fs[style*="background:#F2EEE6"]{background:#1C1F23 !important}

.slide{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) !important;gap:56px !important;padding:28px 0 !important}
.stext h4{font-size:36px !important}
.stext p{font-size:16px}
.sfig{padding:16px 24px !important}
.sdg{aspect-ratio:560/360 !important}
.sdg .ring{fill:none;stroke:#CFC8BA;stroke-width:1.2}.sdg .dot{fill:#9A5B2E}
.sdg .tb{font-family:Newsreader,Georgia,serif;font-size:19px;fill:#26251F}
.sdg .wm{font-size:11px;fill:#C9D2DA}
.sdg .big2{font-family:Newsreader,Georgia,serif;font-size:20px;fill:#9A5B2E}
#al0:checked~.svp .strack{transform:translateX(-0%)} #al0:checked~.stabs label[for=al0]{color:#26251F;border-color:#9A5B2E}
#al1:checked~.svp .strack{transform:translateX(-100%)} #al1:checked~.stabs label[for=al1]{color:#26251F;border-color:#9A5B2E}
#al2:checked~.svp .strack{transform:translateX(-200%)} #al2:checked~.stabs label[for=al2]{color:#26251F;border-color:#9A5B2E}
#al3:checked~.svp .strack{transform:translateX(-300%)} #al3:checked~.stabs label[for=al3]{color:#26251F;border-color:#9A5B2E}
#al4:checked~.svp .strack{transform:translateX(-400%)} #al4:checked~.stabs label[for=al4]{color:#26251F;border-color:#9A5B2E}
#al5:checked~.svp .strack{transform:translateX(-500%)} #al5:checked~.stabs label[for=al5]{color:#26251F;border-color:#9A5B2E}
.sdg .lnk{stroke:#625E57;stroke-width:1.2;stroke-dasharray:4 3;fill:none}.sdg .lnk2{stroke:#22303B;stroke-width:1.6;fill:none}.sdg .lnr{stroke:#B0583F;stroke-width:1.2;stroke-dasharray:3 3}.sdg .dotc{font-size:16px;fill:#CFC8BA}.sdg .dotc.on{fill:#9A5B2E}.sdg .arc{fill:none;stroke:#9A5B2E;stroke-width:1.4}
.sdg .nc{fill:#5E7A8C}.sdg .ns{fill:#C98F6B}.sdg .own{fill:#625E57}.sdg .cn{fill:#9A5B2E}.sdg .wall{fill:#26251F}.sdg .ws{font-size:11.5px;fill:#F7F4EE}.sdg .cons{fill:#9A5B2E}.sdg .ve{fill:#FFFDF9;stroke:#B0583F;stroke-width:1.4;stroke-dasharray:4 3}.sdg .loopw{fill:none;stroke:#F7F4EE;stroke-width:1.6}
.mq{overflow-x:auto !important;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;cursor:grab}
.mq::-webkit-scrollbar{display:none}
.mqt{animation:none !important}
.sdg .phA{animation:phA 10s ease-in-out infinite}.sdg .phB{animation:phB 10s ease-in-out infinite}.sdg .pdA{fill:#2B3A47}.sdg .pdB{fill:#9A5B2E}.sdg .phdots .pdA{animation:dotA 10s infinite}.sdg .phdots .pdB{animation:dotB 10s infinite}@keyframes dotA{0%,44%{opacity:1}48%,96%{opacity:.25}100%{opacity:1}}@keyframes dotB{0%,44%{opacity:.25}48%,96%{opacity:1}100%{opacity:.25}}@keyframes phA{0%,40%{opacity:1}48%,94%{opacity:0}100%{opacity:1}}@keyframes phB{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}.sdg .orbit{transform-origin:280px 180px;animation:spin 24s linear infinite}.sdg .pulse{animation:pulse 2.6s ease-in-out infinite}.sdg .draw{stroke-dasharray:120;stroke-dashoffset:120;animation:draw 5s ease infinite}.sdg .pop{animation:pop 5s ease infinite}.sdg .flick{animation:flick 2.2s ease-in-out infinite}.sdg .spin{animation:spin 3.2s linear infinite}.sdg .grow{animation:grow 6s ease infinite}.sdg .growslow{animation:grow 6s ease infinite}.sdg .popg{animation:popg 6s ease infinite}.sdg .dotslow{fill:#B0583F}.sdg .dotfast{fill:#9A5B2E}.sdg .flow{stroke:#9A5B2E;stroke-dasharray:3 7;animation:flow 1.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes draw{0%{stroke-dashoffset:120}30%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}@keyframes pop{0%,10%{transform:scale(0)}30%,85%{transform:scale(1)}100%{transform:scale(1);opacity:0}}@keyframes flick{0%,100%{opacity:1}50%{opacity:.25}}@keyframes grow{0%{transform:scaleX(0)}35%,85%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}@keyframes popg{0%,30%{opacity:0}40%,85%{opacity:1}100%{opacity:0}}@keyframes flow{to{stroke-dashoffset:-20}}@media (prefers-reduced-motion: reduce){.sdg *{animation:none !important}}
/* elegant diagram style */
.sfig{background:#FBF9F5 !important;border:0 !important;padding:36px 40px !important;box-shadow:inset 0 0 0 1px #EEE9E0}
.sdg text{font-family:Jost,system-ui,sans-serif;font-weight:300}
.sdg .t{font-family:Newsreader,Georgia,serif;font-size:15px;fill:#3A3833;font-weight:300}
.sdg .w{font-family:Newsreader,Georgia,serif;font-size:15px;fill:#F7F4EE;font-weight:300}
.sdg .ws{font-family:Newsreader,Georgia,serif;font-size:13px;fill:#F7F4EE}
.sdg .tb{font-family:Newsreader,Georgia,serif;font-style:italic;font-size:19px;fill:#2B3A47;font-weight:300}
.sdg .m{font-size:12px;letter-spacing:.06em;fill:#736D64}
.sdg .k{font-size:9.5px;letter-spacing:.28em;fill:#857F75}
.sdg .r{font-size:10px;letter-spacing:.06em;fill:#B07A5E;font-style:italic}
.sdg .big{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:300;font-size:38px;fill:#9A5B2E}
.sdg .big2{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:300;font-size:18px;fill:#9A5B2E}
.sdg .wm{font-size:10px;letter-spacing:.12em;fill:#C9D2DA}
.sdg .fill{fill:#2B3A47}
.sdg .fill2{fill:#E9DFD0}
.sdg .box{fill:#FFFDF9;stroke:#D9D3C7;stroke-width:.75}
.sdg .box2{fill:#E6E1D8}
.sdg .own{fill:#B3ACA1}
.sdg .cn{fill:#9A5B2E}
.sdg .cons{fill:#B98A68}
.sdg .nc{fill:#FBF9F5;stroke:#5E7A8C;stroke-width:1}
.sdg .ns{fill:#FBF9F5;stroke:#B98A68;stroke-width:1}
.sdg .ring{stroke:#D9D3C7;stroke-width:.75}
.sdg .dot{fill:#9A5B2E}
.sdg .ln4{stroke:#D9D3C7;stroke-width:.75}
.sdg .lnk{stroke:#B3ACA1;stroke-width:.75;stroke-dasharray:2 4}
.sdg .lnk2{stroke:#2B3A47;stroke-width:.75}
.sdg .lnr{stroke:#B07A5E;stroke-width:.75}
.sdg .ln2 path{stroke:#B07A5E;stroke-width:.75;stroke-dasharray:2 4}
.sdg .ln3{stroke:#9A5B2E;stroke-width:1}
.sdg .arc{stroke-width:1}
.sdg .ve{fill:#FBF9F5;stroke:#B07A5E;stroke-width:.75;stroke-dasharray:2 3}
.sdg .wall{fill:#3A3833}
.sdg .gate2{fill:#9A5B2E}
.sdg .loopw{stroke-width:1.1}
.sdg .flow{stroke:#9A5B2E;stroke-width:.75}
.sdg .dotslow,.sdg .dotfast{r:5px}
.sdg .dotc{font-size:13px}
.sdg .phB .grow{animation:growB 10s ease infinite}.sdg .phB .popg{animation:popB 10s ease infinite}.sdg .phA .growslow{animation:growA 10s ease infinite}@keyframes growB{0%,50%{transform:scaleX(0)}62%,100%{transform:scaleX(1)}}@keyframes popB{0%,56%{opacity:0}64%,100%{opacity:1}}@keyframes growA{0%{transform:scaleX(0)}14%,100%{transform:scaleX(1)}}
.vd{display:block;width:100%;height:auto;background:#F7F4EE;box-shadow:inset 0 0 0 1px #EEE9E0}.vd-tall{display:none}
@media (max-width: 760px){
  .vd-wide{display:none}.vd-tall{display:block;max-width:420px;margin:0 auto}
  .slide{grid-template-columns:1fr !important;gap:14px !important;padding:12px 0 !important}
  .sfig{order:-1;margin:0;padding:6px 0 !important;border:0;background:transparent}
  section#edge{padding-left:12px !important;padding-right:12px !important}
  #edge .stext{padding:0 8px}
  .sdg{aspect-ratio:auto !important;height:auto}
  .sdg .t,.sdg .w{font-size:16px}.sdg .ws{font-size:14px}.sdg .m{font-size:14px}.sdg .k{font-size:12.5px}.sdg .r{font-size:13px}
  .sdg .tb{font-size:22px}.sdg .big{font-size:40px}.sdg .big2{font-size:24px}.sdg .wm{font-size:14px}
  .stext h4{font-size:24px !important}.stext p{font-size:15px}
  html,body{overflow-x:hidden}
  .mapwrap{overflow:hidden}
  .pin.open .card{display:none}
  section{padding-left:20px !important;padding-right:20px !important}
  #work{padding-right:0 !important}
  .h2{font-size:34px}
  .eyb{font-size:12px}
  .slide{grid-template-columns:1fr;gap:20px;padding:16px 0}
  .stext h4{font-size:26px}
  .sfig{padding:12px;order:-1}
  .stabs{flex-wrap:nowrap;overflow-x:auto;gap:18px}
  .pcard img{height:260px}
  .pname{font-size:21px}
  .hcard{flex-basis:78vw}
  .mapbar{left:8px;top:8px;gap:4px}.mapbar label{padding:5px 8px;font-size:11px}
  .mapbar label:nth-child(n+3){display:none}
  .mapfull{right:8px;top:auto;bottom:8px;padding:7px 10px;font-size:10px}
  .mapzoom{display:none}
  .card{width:170px}.card.sm{width:150px}.cn{font-size:16px}
  .finale{height:auto !important;min-height:720px}
  .finale>div[style*="bottom: 40px"]{left:20px !important;right:20px !important;bottom:28px !important}
  .finale>div[style*="top: 56px"]{left:20px !important;right:20px !important;top:28px !important}
  .finale>div[style*="top: 56px"]>div:last-child{display:none}
  .finale div[style*="font-size: 56px"]{font-size:34px !important}
  .cuf{grid-template-columns:1fr}
  .pbtn{padding:12px 16px}
}
.eyb{display:flex;align-items:center;gap:12px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#625E57}.eyb b{font-weight:400;color:#6A655D}.eyb:after{content:"";width:40px;height:1px;background:#CFC8BA;order:-1;display:none}
@media (prefers-reduced-motion: reduce){.hs,.hc,.hs img{animation:none}.hs.s1,.hc.s1{opacity:1}}


html{scroll-behavior:smooth}
body{color:#5C5A55;font-family:Jost,system-ui,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{text-decoration:none}
img{max-width:100%}
section[id]{scroll-margin-top:84px}
#hdr a,#hdr-nav a{text-decoration:none}
#hdr.solid{background:rgba(247,244,238,.86)!important;color:#5c5a55!important;border-bottom-color:rgba(38,37,31,.10)!important}
#hdr.solid #hdr-logo{filter:brightness(0) saturate(100%) invert(28%) sepia(16%) saturate(900%) hue-rotate(170deg) brightness(88%)!important}
#hprev:hover,#hnext:hover,.scp2:hover,.scp3:hover{background:rgba(247,244,238,.12)}
.scp5:hover{filter:none!important}
@keyframes shbMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Philosophy expanders: same size as the Philosophy text */
#studio .ed{margin-top:30px;border-top:1px solid #DDD6C9}
#studio details{border-bottom:1px solid #DDD6C9}
#studio summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;font-size:16.5px;line-height:1.7;color:#3F3A35}
#studio summary::-webkit-details-marker{display:none}
#studio summary::after{content:"+";font-size:19px;color:#9A8F80;flex:none;transition:transform .25s}
#studio details[open] summary::after{transform:rotate(45deg)}
#studio summary:hover{color:#26251F}
#studio .bd{padding:0 0 18px;font-size:16.5px;line-height:1.9}
/* contact form states */
.cuf .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cuf input:invalid.touched{border-bottom-color:#E8B48F}
.cumsg{grid-column:1/-1;font-size:13px;color:#E8D5BF;min-height:1em}
.cuf button[disabled]{opacity:.5;cursor:default}
.pin.hide{display:none!important}
@media (max-width:900px){
  [data-stack]{grid-template-columns:1fr!important;gap:32px!important}
  [data-half]{grid-template-columns:1fr 1fr!important}
  #team-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #studio,#team,#studio-stats{padding-left:20px!important;padding-right:20px!important}
  footer [data-half]{padding:40px 20px!important;gap:28px!important}
  footer>div:last-child{padding-left:20px!important;padding-right:20px!important}
}
@media (max-width:760px){
  #hdr-nav{display:none!important}
  #hdr{padding:12px 16px!important}
  .hero-nav{display:none!important}
  #team-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #studio{padding-top:72px!important}
  #team{padding-top:64px!important}
  [data-marquee] img{height:88px!important}
}
