@import url('https://api.fontshare.com/v2/css?f[]=general-sans@500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');
:root{--font-heading:'General Sans',sans-serif;--font-body:'Plus Jakarta Sans',sans-serif;--brand:#364238;--olive:#465448;--accent:#D1A43A;--cream:#F5F1E8;--warm:#CDD1CB;--surface:#E8E9E5;--graphite:#393E3A;--paper:#FFFFFF;--mist:#F8F8F5;--line:rgba(54,66,56,.14);--shadow:0 28px 80px rgba(42,49,43,.12);--shadow-hover:0 38px 90px rgba(42,49,43,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--paper);color:var(--graphite);text-rendering:optimizeLegibility;overflow-x:hidden}
body:before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(54,66,56,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(54,66,56,.025) 1px,transparent 1px);background-size:72px 72px}
h1,h2,h3,h4,.font-heading{font-family:var(--font-heading);letter-spacing:-.035em}
h1{letter-spacing:-.055em}
p{letter-spacing:-.006em}
::selection{background:var(--accent);color:var(--graphite)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
a,button,input,select,textarea{transition:color .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
main>section{position:relative;isolation:isolate}
main>section:nth-of-type(3n+2):after{content:'';position:absolute;z-index:-1;width:clamp(180px,22vw,360px);aspect-ratio:1;border-radius:50%;right:clamp(-170px,-9vw,-80px);top:8%;background:rgba(209,164,58,.11);filter:blur(.2px);pointer-events:none}
main>section:nth-of-type(4n):before{content:'';position:absolute;z-index:-1;width:clamp(150px,18vw,280px);aspect-ratio:1;border:1px solid rgba(54,66,56,.13);border-radius:50%;left:clamp(-130px,-7vw,-55px);bottom:8%;pointer-events:none}
main>section+section{border-top:1px solid rgba(54,66,56,.06)}
[data-reveal]{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:none}
[data-reveal] article:nth-child(2){transition-delay:.07s}
[data-reveal] article:nth-child(3){transition-delay:.14s}
[data-reveal] article:nth-child(4){transition-delay:.21s}
.header-solid{background:rgba(255,255,255,.9);color:var(--graphite);box-shadow:0 14px 48px rgba(42,49,43,.08);backdrop-filter:blur(22px);border-color:rgba(54,66,56,.08)}
.header-solid .header-link{color:var(--graphite)}
.header-solid .header-logo{color:var(--brand)}
.header-logo{letter-spacing:-.045em}
a.rounded-full:not([aria-label]),button.rounded-full:not([aria-label]){border-radius:.9rem}
.grid>article:nth-child(3n+2) img[class*="aspect-"]{aspect-ratio:4/3}
.grid>article:nth-child(3n+3) img[class*="aspect-"]{aspect-ratio:16/9}
.header-link{position:relative}
.header-link:after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.header-link:hover:after{transform:scaleX(1);transform-origin:left}
.urban-hero:after{content:'';position:absolute;right:-8vw;bottom:-17vw;width:clamp(320px,44vw,720px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 0 42px rgba(209,164,58,.08),inset 0 0 0 84px rgba(255,255,255,.035);pointer-events:none}
.urban-hero:before{content:'';position:absolute;z-index:2;right:7vw;top:21%;width:84px;height:84px;border-radius:50%;background:var(--accent);mix-blend-mode:screen;opacity:.9;pointer-events:none}
.hero-media{animation:urbanDrift 20s cubic-bezier(.4,0,.2,1) infinite alternate;filter:saturate(.78) contrast(1.05)}
.urban-page-hero:after{content:'';position:absolute;right:5vw;top:20%;width:180px;aspect-ratio:1;border-radius:50%;border:34px solid rgba(209,164,58,.2);pointer-events:none}
.card-lift{border:1px solid rgba(54,66,56,.09);box-shadow:0 12px 38px rgba(42,49,43,.065);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .45s ease}
.card-lift:hover{transform:translateY(-9px);box-shadow:var(--shadow-hover);border-color:rgba(209,164,58,.4)}
.image-zoom{position:relative}
.image-zoom img{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:saturate(.86)}
.image-zoom:hover img{transform:scale(1.055);filter:saturate(1)}
.link-arrow svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.link-arrow:hover svg{transform:translateX(7px)}
.shadow-soft{box-shadow:var(--shadow)}
.bg-paper,.bg-cream,.bg-surface{background-image:linear-gradient(135deg,rgba(255,255,255,.26),transparent 42%)}
.bg-brand{background-image:linear-gradient(135deg,#364238,#2f3932)}
.bg-graphite{background-image:linear-gradient(145deg,#393e3a,#292f2b)}
.bg-accent{background-image:linear-gradient(135deg,#d8b24e,#c89a28)}
article[class*="bg-paper"],article[class*="bg-cream"],article[class*="bg-surface"]{position:relative;overflow:hidden}
article[class*="bg-paper"]:after,article[class*="bg-cream"]:after,article[class*="bg-surface"]:after{content:'';position:absolute;width:78px;aspect-ratio:1;border-radius:50%;right:-35px;bottom:-39px;border:1px solid rgba(54,66,56,.11);pointer-events:none}
.grid>article:nth-child(3n+2){transform-origin:center}
.prose-editorial{max-width:78ch}
.prose-editorial p{margin-top:1.15rem;line-height:1.92;color:rgba(57,62,58,.78)}
.prose-editorial h2{margin-top:3.2rem;font-size:clamp(1.9rem,3.3vw,2.75rem);line-height:1.08;color:var(--brand)}
.prose-editorial h3{margin-top:2rem;font-size:1.4rem;color:var(--graphite)}
.prose-editorial ul{margin-top:1.1rem;display:grid;gap:.8rem}
.prose-editorial li{position:relative;padding-left:1.8rem;line-height:1.75}
.prose-editorial li:before{content:'';position:absolute;left:0;top:.62rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(209,164,58,.12)}
.accordion-item{border:1px solid rgba(54,66,56,.09);box-shadow:0 10px 30px rgba(42,49,43,.045)}
.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.2,.7,.2,1)}
.accordion-panel>div{overflow:hidden}
.accordion-item[data-open='true'] .accordion-panel{grid-template-rows:1fr}
.accordion-item[data-open='true'] .accordion-icon{transform:rotate(45deg)}
.accordion-icon{transition:transform .3s ease}
.tab-panel{display:none}
.tab-panel.is-active{display:grid;animation:urbanFade .5s cubic-bezier(.2,.7,.2,1)}
.modal-backdrop{background:rgba(45,54,47,.72);backdrop-filter:blur(14px)}
input,select,textarea{box-shadow:inset 0 0 0 1px rgba(54,66,56,.025)}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 4px rgba(209,164,58,.18)}
.scrollbar-hide::-webkit-scrollbar{display:none}
.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}
.urban-footer{position:relative;overflow:hidden}
.urban-footer:after{content:'';position:absolute;right:-12vw;top:-18vw;width:40vw;min-width:360px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(209,164,58,.3);box-shadow:inset 0 0 0 42px rgba(209,164,58,.04);pointer-events:none}
.urban-footer>div{position:relative;z-index:1}
@keyframes urbanDrift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.095) translate3d(-1.8%,1%,0)}}
@keyframes urbanFade{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1024px){main>section{padding-top:max(6rem,7vw);padding-bottom:max(6rem,7vw)}.urban-hero{padding:0}.urban-page-hero{padding-top:9rem;padding-bottom:6.5rem}.grid>article:nth-child(6n+2),.grid>article:nth-child(6n+5){margin-top:1.8rem}.grid>article:nth-child(6n+3){margin-bottom:1.4rem}}
@media(max-width:767px){body:before{background-size:44px 44px}.urban-hero:before{width:48px;height:48px;right:8vw;top:24%}.urban-hero:after{right:-48vw;bottom:-18vw;width:88vw}main>section:nth-of-type(3n+2):after{opacity:.55}.card-lift:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
