@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --ink:#1b2724;
  --charcoal:#202b28;
  --paper:#f4f1eb;
  --stone:#e5ded2;
  --sage:#d4ddd7;
  --clay:#c76f50;
  --clay-soft:#e4aa8b;
  --muted:#69726d;
  --line:rgba(27,39,36,.2);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'Plus Jakarta Sans',Arial,sans-serif;
}

*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:0}
.topbar{height:78px;padding:0 5.4vw;background:rgba(27,39,36,.92);border-bottom:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px)}
.topbar.scrolled{height:68px;background:rgba(244,241,235,.96);color:var(--ink);border-bottom-color:var(--line)}
.brand{gap:10px}
.brand-mark{width:36px;height:36px;background:var(--clay);border:0;color:#fff;font-size:25px}
.brand-name{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em}
.brand-name small{font-size:5px;letter-spacing:.42em;color:var(--clay-soft)}
.desktop-nav{gap:29px;margin-right:42px;font-size:8px;font-weight:700;letter-spacing:.11em}
.text-action{font-size:8px;font-weight:700;letter-spacing:.1em}
.text-action span{color:var(--clay-soft)}
.topbar.scrolled .text-action span,.topbar.scrolled .desktop-nav a:hover{color:var(--clay)}

.hero{min-height:760px;height:100svh;background:var(--charcoal);color:#fff}
.hero>img{object-position:center center}
.hero-overlay{background:rgba(14,24,21,.5)}
.hero-content{left:8.4vw;bottom:18vh;max-width:700px}
.eyebrow{font-family:var(--sans);font-size:8px;font-weight:700;letter-spacing:.2em}
.hero h1{font-size:106px;line-height:.9;margin:20px 0 29px}
.hero h1 em,h2 em{color:var(--clay-soft)}
.hero-intro{max-width:460px;font-size:13px;line-height:1.8;color:rgba(255,255,255,.86)}
.outline-action{width:220px;padding:17px 0;margin-top:35px;border-color:rgba(255,255,255,.55);font-size:8px;font-weight:700;letter-spacing:.15em}
.outline-action span{color:var(--clay-soft);font-size:17px}
.hero-footer{left:5.4vw;right:5.4vw;bottom:25px;color:rgba(255,255,255,.78);font-size:7px;font-weight:700;letter-spacing:.17em}
.hero-footer b{color:var(--clay-soft)}
.hero-index{position:absolute;right:5.4vw;top:50%;display:flex;flex-direction:column;align-items:center;gap:14px;color:rgba(255,255,255,.75);font-size:8px;font-weight:700;letter-spacing:.16em}
.hero-index i{display:block;width:1px;height:54px;background:var(--clay-soft)}

.proof-strip{position:relative;z-index:4;width:calc(100% - 16.8vw);margin:-47px auto 0;grid-template-columns:repeat(3,1fr) 1.45fr;gap:0;padding:25px 28px;background:var(--ink);color:var(--paper);border-top:4px solid var(--clay);box-shadow:0 17px 35px rgba(27,39,36,.12)}
.proof-strip>div{padding:5px 24px 5px 0;margin-right:24px;border-right:1px solid rgba(255,255,255,.22)}
.proof-strip strong{font-family:var(--serif);font-size:49px;line-height:1}
.proof-strip sup{font-size:15px}
.proof-strip span{font-size:7px;font-weight:700;line-height:1.5;letter-spacing:.13em}
.proof-strip>p{align-self:center;max-width:250px;margin:0 0 0 auto;color:#c8d0cb;font-size:11px;line-height:1.65}

.section-pad{padding:128px 8.4vw}
.section-label{font-size:7px;font-weight:700;letter-spacing:.2em}
.intro-section{grid-template-columns:.72fr 1.28fr;min-height:610px;background:var(--paper)}
.intro-section>.section-label{padding-top:10px;color:var(--clay)}
.intro-copy{max-width:720px}
.intro-copy h2,.section-heading h2,.gallery-heading h2,.assurance-copy h2,.contact-copy h2{font-size:78px;line-height:.98;margin:18px 0 29px}
.intro-copy>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:15px;line-height:1.85}
.underlined-action{font-size:8px;font-weight:700;letter-spacing:.14em;padding:13px 0;margin-top:32px;border-color:var(--ink)}
.underlined-action span{color:var(--clay)}

.collections{background:var(--stone)}
.section-heading{grid-template-columns:.7fr 1.2fr .75fr;gap:36px;margin-bottom:65px}
.section-heading h2{margin:13px 0 0}
.section-heading>p:last-child{max-width:275px;color:#626b66;font-size:11px;line-height:1.8}
.collection-grid{grid-template-columns:1.16fr .84fr;grid-template-rows:1fr 1fr;gap:17px 22px}
.collection-card{position:relative;border-top:1px solid var(--line);padding-top:13px}
.collection-card:first-child{grid-row:span 2}
.card-image{height:calc(100% - 83px);min-height:220px;background:var(--charcoal)}
.collection-card:first-child .card-image{height:calc(100% - 98px)}
.card-image img{height:100%;aspect-ratio:auto;object-fit:cover;filter:saturate(.82);transition:transform .65s,filter .65s}
.collection-card:hover .card-image img{filter:saturate(1);transform:scale(1.035)}
.card-image>span{top:16px;left:16px;font-size:8px;font-weight:700}
.card-copy{padding:16px 40px 0 0;border:0}
.card-copy h3{font-size:31px;line-height:1.05;margin:0 0 7px}
.card-copy p{font-size:10px;color:#656d67}
.card-arrow{top:20px;color:var(--clay);font-size:18px}

.feature-section{grid-template-columns:1.18fr .82fr;background:var(--charcoal);color:var(--paper)}
.feature-image{min-height:770px}
.feature-image img{filter:saturate(.76)}
.feature-image>span{font-size:7px;font-weight:700;letter-spacing:.16em}
.feature-copy{padding:120px 6vw 90px}
.feature-copy h2{font-size:72px;line-height:.98;margin:19px 0 29px}
.feature-copy>p:not(.section-label):not(.eyebrow){max-width:355px;color:#b9c2bd;font-size:11px;line-height:1.85}
.feature-copy dl{margin-top:48px}
.feature-copy dl>div{padding:12px 0;border-color:rgba(255,255,255,.19)}
.feature-copy dt{color:#91a19a;font-weight:700}
.feature-copy dd{color:#f0ede6;font-size:10px}
.round-action{width:136px;height:136px;margin-top:52px;border-color:rgba(255,255,255,.56);font-size:7px;font-weight:700}
.round-action span{color:var(--clay-soft)}
.round-action:hover{background:var(--clay);border-color:var(--clay)}

.pillars{background:var(--sage)}
.section-heading.compact{grid-template-columns:.72fr 1.28fr;margin-bottom:68px}
.pillar-grid{grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(27,39,36,.4)}
.pillar{padding:26px 22px 15px 0;margin-right:22px;border-right:1px solid rgba(27,39,36,.25)}
.pillar:last-child{border-right:0;margin-right:0}
.pillar>span{font-size:8px;font-weight:700;color:var(--clay)}
.pillar h3{font-size:34px;margin:58px 0 12px}
.pillar p{max-width:190px;color:#58645e;font-size:10px;line-height:1.8}

.gallery-section{background:#cbd8d1}
.gallery-heading{margin-bottom:72px}
.gallery-heading h2{font-size:84px}
.gallery-grid{gap:24px 27px}
.gallery-grid figure:nth-child(2){margin-top:150px}
.gallery-grid img{filter:saturate(.82);transition:transform .6s,filter .4s}
.gallery-grid figure:hover img{filter:saturate(1);transform:scale(1.018)}
.gallery-grid figcaption{font-size:7px;font-weight:700;letter-spacing:.14em;padding:14px 0}
.gallery-grid figcaption span{color:var(--clay)}

.assurance-band{grid-template-columns:.9fr 1.1fr;gap:9vw;padding:116px 8.4vw;background:var(--clay);color:#fff}
.assurance-copy h2{font-size:77px;color:#fff}
.assurance-copy h2 em{color:#f3c6ad}
.assurance-list>div{padding:18px 0;border-color:rgba(255,255,255,.42)}
.assurance-list strong{color:#f3c6ad;font-size:8px}
.assurance-list span{font-size:21px}

.contact-section{grid-template-columns:.82fr 1.18fr;gap:9vw;background:var(--paper)}
.contact-copy h2{font-size:76px}
.contact-copy>p:last-child{max-width:390px;color:#626c66;font-size:12px;line-height:1.85}
.contact-form{gap:28px 24px}
.contact-form label span{font-size:7px;font-weight:700;letter-spacing:.15em}
.contact-form input,.contact-form select,.contact-form textarea{font-family:var(--sans);font-size:11px;padding:12px 0}
.contact-form button{background:var(--ink);border-color:var(--ink);font-size:8px;font-weight:700;padding:19px}
.contact-form button:hover{background:var(--clay);border-color:var(--clay)}
.site-footer{grid-template-columns:1.2fr 1fr 1fr .7fr;padding:35px 5.4vw;background:var(--charcoal)}
.site-footer p{font-size:8px}
.footer-links{font-size:8px;font-weight:700;letter-spacing:.1em}

@media(max-width:900px){
  .topbar{height:72px;padding:0 22px}.topbar.scrolled{height:64px}
  .hero{min-height:680px}.hero-content{left:22px;right:22px;bottom:145px}.hero h1{font-size:74px}.hero-index{right:22px;top:46%}
  .hero-footer{left:22px;right:22px;bottom:24px}
  .proof-strip{width:calc(100% - 44px);margin:-30px auto 0;padding:23px 20px;grid-template-columns:repeat(3,1fr);gap:10px}.proof-strip>div{padding-right:12px;margin-right:12px}.proof-strip strong{font-size:38px}.proof-strip>p{grid-column:1/-1;max-width:none;margin:10px 0 0;padding-top:13px;border-top:1px solid rgba(255,255,255,.2);font-size:10px}
  .section-pad{padding:86px 22px}.intro-section{display:block;min-height:0}.intro-section>.section-label{margin-bottom:45px}.intro-copy h2,.section-heading h2,.gallery-heading h2,.assurance-copy h2,.contact-copy h2{font-size:58px}
  .section-heading{display:block;margin-bottom:45px}.section-heading>p:last-child{margin-top:22px}.collection-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:40px}.collection-card:first-child{grid-row:auto}.card-image,.collection-card:first-child .card-image{height:auto;aspect-ratio:4/3;min-height:0}.card-copy{padding-top:14px}.card-copy h3{font-size:31px}
  .feature-section{display:block}.feature-image{min-height:0;aspect-ratio:1/1.02}.feature-copy{padding:82px 22px 88px}.feature-copy h2{font-size:61px}
  .section-heading.compact{display:block;margin-bottom:50px}.pillar-grid{grid-template-columns:1fr 1fr}.pillar{min-height:220px}.pillar:nth-child(2n){border-right:0;margin-right:0;padding-left:5px}.pillar h3{font-size:32px;margin-top:42px}
  .gallery-heading{margin-bottom:45px}.gallery-heading h2{font-size:64px}.gallery-grid{display:block}.gallery-grid figure,.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){width:100%;margin:0 0 45px}.gallery-grid img,.gallery-grid figure:nth-child(2) img,.gallery-grid figure:nth-child(3) img{aspect-ratio:4/3}
  .assurance-band{grid-template-columns:1fr;gap:45px;padding:82px 22px}.contact-section{display:block}.contact-form{margin-top:52px}.site-footer{grid-template-columns:1fr 1fr;padding:34px 22px}.site-footer .brand{grid-column:1/-1}
}
@media(max-width:420px){
  .hero h1{font-size:58px}.hero-content{bottom:130px}.hero-index{display:none}.proof-strip strong{font-size:31px}.proof-strip span{display:block;margin-top:4px}.proof-strip>div{display:block}
  .intro-copy h2,.section-heading h2,.gallery-heading h2,.assurance-copy h2,.contact-copy h2{font-size:48px}.feature-copy h2{font-size:52px}.pillar-grid{grid-template-columns:1fr}.pillar,.pillar:nth-child(2n){min-height:0;padding:23px 0 32px;border-right:0;margin:0}.pillar h3{font-size:31px;margin-top:32px}.site-footer{grid-template-columns:1fr}.footer-links{flex-direction:row;flex-wrap:wrap}.copyright{text-align:left}
}

/* Refined navigation system */
.topbar-actions{display:flex;align-items:center;gap:22px}
.desktop-nav a{display:inline-flex;align-items:center;gap:7px}
.desktop-nav a span{color:var(--clay-soft);font-size:7px;letter-spacing:.08em}
.menu-toggle{display:flex;align-items:center;justify-content:center;gap:11px;width:auto;height:40px;margin-left:2px;padding:0 13px;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;cursor:pointer;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}
.menu-toggle .menu-word{display:block;width:auto;height:auto;margin:0;background:none;font:700 8px/1 var(--sans);letter-spacing:.14em}
.menu-toggle .menu-icon{display:flex;flex-direction:column;gap:5px;width:18px;height:auto;margin:0;background:none}
.menu-toggle .menu-icon i{display:block;width:18px;height:1px;background:currentColor}
.menu-toggle:hover{background:var(--clay);border-color:var(--clay)}
.topbar.scrolled .menu-toggle{border-color:var(--ink);color:var(--ink)}
.topbar.scrolled .menu-toggle:hover{border-color:var(--clay);color:#fff}

.mobile-drawer{position:fixed;z-index:50;inset:0 0 0 auto;width:min(560px,calc(100% - 18px));padding:31px 42px 35px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .5s cubic-bezier(.16,1,.3,1);box-shadow:-24px 0 55px rgba(13,22,19,.16)}
.mobile-drawer.open{transform:none}
.drawer-backdrop{position:fixed;z-index:40;inset:0;display:block;background:rgba(18,28,24,.58);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.drawer-backdrop.open{opacity:1;visibility:visible}
.drawer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--line)}
.drawer-label{color:var(--clay);font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.drawer-close{display:flex;align-items:center;border:0;background:transparent;color:var(--ink);min-height:44px;padding:8px 0;font:700 8px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.drawer-close span{color:var(--clay);font-size:24px;font-weight:400;margin-left:10px}
.mobile-drawer nav{display:flex;flex-direction:column;margin:auto 0}
.mobile-drawer nav a{display:flex;align-items:baseline;gap:19px;padding:19px 0;border-bottom:1px solid var(--line);font:400 51px/1.08 var(--serif);transition:color .2s,padding-left .2s}
.mobile-drawer nav a:hover{padding-left:10px;color:var(--clay)}
.mobile-drawer nav a span{width:26px;color:var(--clay);font:700 8px/1 var(--sans)}
.drawer-note{max-width:270px;margin:0 0 23px;color:var(--muted);font-size:11px;line-height:1.7}
.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:21px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}
.drawer-footer a{color:var(--ink);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.drawer-footer b{color:var(--clay);font-size:15px;margin-left:8px}

@media(max-width:900px){
  .desktop-nav,.text-action{display:none}
  .topbar-actions{gap:0}
  .menu-toggle{height:40px;margin-left:0;padding:0 12px}
  .mobile-drawer{width:min(520px,calc(100% - 12px));padding:25px 22px 28px}
  .mobile-drawer nav a{font-size:43px;padding:16px 0}
}
@media(max-width:420px){
  .menu-toggle .menu-word{font-size:7px}
  .mobile-drawer nav a{font-size:38px;gap:15px}
  .drawer-footer{display:block}.drawer-footer a{display:block;margin-top:13px}
}

/* Section choreography and page transitions */
html.is-leaving body{opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}
body{transition:opacity .38s ease,transform .38s ease}
.hero>img{animation:heroZoom 1.8s cubic-bezier(.16,1,.3,1) both}
.hero-content>*{opacity:0;transform:translateY(24px);animation:heroIn .75s cubic-bezier(.16,1,.3,1) forwards}
.hero-content .eyebrow{animation-delay:.24s}.hero-content h1{animation-delay:.36s}.hero-content .hero-intro{animation-delay:.49s}.hero-content .outline-action{animation-delay:.63s}
.hero-index{opacity:0;animation:heroIn .8s .72s forwards}
.reveal{opacity:0;transform:translateY(38px);clip-path:inset(0 0 12% 0);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),clip-path .9s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none;clip-path:inset(0)}
.collection-card.reveal:nth-child(2){transition-delay:.12s}.collection-card.reveal:nth-child(3){transition-delay:.22s}
.pillar.reveal:nth-child(2){transition-delay:.1s}.pillar.reveal:nth-child(3){transition-delay:.2s}.pillar.reveal:nth-child(4){transition-delay:.3s}
.gallery-grid figure.reveal:nth-child(2){transition-delay:.12s}.gallery-grid figure.reveal:nth-child(3){transition-delay:.22s}
.collection-card,.gallery-grid figure,.pillar,.assurance-list>div{transition:transform .35s ease}
.collection-card:hover{transform:translateY(-7px)}.gallery-grid figure:hover{transform:translateY(-5px)}
.mobile-drawer nav{margin:44px 0 54px}
.mobile-drawer nav a{opacity:0;transform:translateX(30px);transition:opacity .45s ease,transform .45s ease,color .2s,padding-left .2s}
.mobile-drawer.open nav a{opacity:1;transform:none}
.mobile-drawer.open nav a:nth-child(1){transition-delay:.08s}.mobile-drawer.open nav a:nth-child(2){transition-delay:.14s}.mobile-drawer.open nav a:nth-child(3){transition-delay:.2s}.mobile-drawer.open nav a:nth-child(4){transition-delay:.26s}
.drawer-note,.drawer-footer{opacity:0;transform:translateY(12px);transition:opacity .45s .3s ease,transform .45s .3s ease}
.mobile-drawer.open .drawer-note,.mobile-drawer.open .drawer-footer{opacity:1;transform:none}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes heroIn{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none;clip-path:none}}

/* WordPress menu markup */
.desktop-nav ul,.mobile-drawer nav ul{list-style:none;margin:0;padding:0}
.desktop-nav ul{display:flex;align-items:center;gap:29px}
.desktop-nav li{margin:0;padding:0}
.desktop-nav li a{display:inline-flex;align-items:center;gap:7px}
.mobile-drawer nav ul{display:flex;flex-direction:column}
.mobile-drawer nav li{margin:0;padding:0;border-bottom:1px solid var(--line)}
.mobile-drawer nav li a{border-bottom:0;width:100%}
.mobile-drawer nav li a:before{content:counter(zeno-menu);color:var(--clay);font:700 8px/1 var(--sans);width:26px}
.mobile-drawer nav ul{counter-reset:zeno-menu}
.mobile-drawer nav li{counter-increment:zeno-menu}
.mobile-drawer nav li a span{display:none}
@media(max-width:900px){.desktop-nav ul{display:none}}
