*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul[role="list"],ol[role="list"]{list-style:none;padding:0}
img,picture,svg{display:block;max-width:100%}
img{height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
[hidden]{display:none!important}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope-latin-wght-normal.woff2") format("woff2")}
:root{
  --c-ivory:#f6f2eb;
  --c-limestone:#ece5da;
  --c-travertine:#ddd1bf;
  --c-sand:#c7b8a2;
  --c-oak:#a2896b;
  --c-walnut:#5b4838;
  --c-bronze:#7d5f3f;
  --c-charcoal:#2d2c29;
  --c-ink:#1c1b19;
  --c-text:#1f1e1b;
  --c-text-soft:#57534b;   
  --c-text-muted:#6b665d;  
  --c-on-dark:#f2ede4;
  --c-on-dark-soft:#c9c2b6; 
  --c-line:rgba(31,30,27,.16);
  --c-line-strong:rgba(31,30,27,.42);
  --c-line-dark:rgba(242,237,228,.18);
  --c-focus:#7d5f3f;
  --c-error:#9b2c1f;
  --c-success:#2f5a3a;
  --f-display:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --f-sans:"Manrope","Helvetica Neue",Arial,system-ui,sans-serif;
  --fs-micro:.6875rem;   
  --fs-small:.8125rem;   
  --fs-body:1.0625rem;   
  --fs-lead:clamp(1.125rem,.95rem + .6vw,1.375rem);
  --fs-h3:clamp(1.625rem,1.3rem + 1vw,2.25rem);
  --fs-h2:clamp(2.375rem,1.6rem + 3vw,4.5rem);
  --fs-h1:clamp(2.75rem,1.6rem + 4.6vw,6.5rem);
  --fs-display:clamp(2.4rem,1rem + 7vw,7.25rem);
  --tracking-label:.22em;
  --tracking-wide:.32em;
  --gutter:clamp(1rem,.5rem + 2.6vw,3rem);
  --max:1360px;
  --max-text:38rem;
  --space-xs:.5rem;
  --space-s:1rem;
  --space-m:clamp(1.5rem,1rem + 1.5vw,2.5rem);
  --space-l:clamp(2.5rem,1.5rem + 3vw,4.5rem);
  --space-xl:clamp(4.5rem,2.5rem + 7vw,10rem);
  --header-h:84px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --dur:.7s;
  --radius:0;
}
html{font-size:100%}
body{font-family:var(--f-sans);font-size:var(--fs-body);line-height:1.7;font-weight:400;color:var(--c-text);background:var(--c-ivory)}
h1,h2,h3{font-family:var(--f-display);font-weight:400;letter-spacing:-.01em;line-height:1.02;text-wrap:balance}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);line-height:1.1}
h1 em,h2 em,h3 em{font-style:italic}
p{max-width:var(--max-text);text-wrap:pretty}
strong{font-weight:600}
.label{font-family:var(--f-sans);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.5}
.label--wide{letter-spacing:var(--tracking-wide)}
.index-num{font-family:var(--f-display);font-style:italic;font-size:1.125rem;letter-spacing:0;text-transform:none;margin-right:.6em;font-weight:400}
.lead{font-size:var(--fs-lead);line-height:1.6;font-weight:300;color:var(--c-text-soft)}
.soft{color:var(--c-text-soft)}
.muted{color:var(--c-text-muted)}
.italic-serif{font-family:var(--f-display);font-style:italic;font-weight:400}
.statement{font-family:var(--f-display);font-size:clamp(1.75rem,1.2rem + 2.2vw,3.25rem);line-height:1.18;font-weight:400;max-width:22em;text-wrap:balance}
.dotline{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:2}
.prose h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);margin:2.5rem 0 .75rem}
.prose h3{font-size:1.4rem;margin:1.75rem 0 .5rem}
.prose p,.prose li{color:var(--c-text-soft)}
.prose p+p{margin-top:1rem}
.prose ul{padding-left:1.1rem;margin:.75rem 0}
.prose a{color:var(--c-bronze)}
.wrap{width:min(var(--max),100% - 2*var(--gutter));margin-inline:auto}
.wrap--narrow{width:min(62rem,100% - 2*var(--gutter));margin-inline:auto}
.section{padding-block:var(--space-xl)}
.section--tight{padding-block:var(--space-l)}
.section--limestone{background:var(--c-limestone)}
.section--travertine{background:var(--c-travertine)}
.section--dark{background:var(--c-ink);color:var(--c-on-dark)}
.section--dark .soft,.section--dark .lead,.section--dark p{color:var(--c-on-dark-soft)}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
.stack>*+*{margin-top:var(--space-s)}
.stack-m>*+*{margin-top:var(--space-m)}
.center{text-align:center}
.center p{margin-inline:auto}
.skip-link{position:absolute;left:1rem;top:-100px;z-index:100;background:var(--c-ink);color:var(--c-on-dark);padding:.75rem 1rem;font-size:var(--fs-small)}
.skip-link:focus{top:1rem}
.site-header{position:fixed;inset:0 0 auto 0;z-index:40;height:var(--header-h);color:var(--c-text);transition:background-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease)}
.site-header::before{content:"";position:absolute;inset:0 0 -40px 0;background:linear-gradient(to bottom,rgba(20,19,17,.45),rgba(20,19,17,0));opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.has-hero .site-header{color:#fff}
.has-hero .site-header::before{opacity:1}
.site-header.is-solid{background:rgba(246,242,235,.97);color:var(--c-text);box-shadow:0 1px 0 var(--c-line)}
.site-header.is-solid::before{opacity:0}
.header-inner{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-m)}
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none;line-height:1;padding-block:.5rem}
.brand__name{font-family:var(--f-display);font-weight:500;font-size:1.3rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.brand__logo{display:block;width:9.25rem;height:auto;aspect-ratio:1309/317;fill:currentColor;overflow:visible}
.brand__place{margin-top:.45rem;font-size:.5625rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;opacity:.9}
.primary-nav{display:none}
.primary-nav>ul{display:flex;align-items:center;gap:clamp(1rem,.2rem + 1.4vw,2rem)}
.nav-link{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0;background:none;border:0;font-size:var(--fs-micro);font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;white-space:nowrap;position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav-link:hover::after,.nav-link[aria-current="page"]::after,.nav-link[aria-current="true"]::after{transform:scaleX(1)}
.nav-caret{width:8px;height:8px;transition:transform .3s var(--ease)}
.has-sub{position:relative}
.has-sub [aria-expanded="true"] .nav-caret{transform:rotate(180deg)}
.subnav{position:absolute;top:100%;left:-1.5rem;min-width:16rem;padding:1rem 1.5rem 1.25rem;background:var(--c-ivory);color:var(--c-text);box-shadow:0 18px 40px -24px rgba(28,27,25,.35);border-top:1px solid var(--c-line);display:none}
.has-sub:hover .subnav,.has-sub.is-open .subnav{display:block}
.subnav a{display:block;padding:.55rem 0;font-size:var(--fs-small);text-decoration:none;border-bottom:1px solid var(--c-line)}
.subnav li:last-child a{border-bottom:0}
.subnav a:hover,.subnav a[aria-current="page"]{color:var(--c-bronze)}
.header-tools{display:flex;align-items:center;gap:1.25rem}
.lang-switch{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em}
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px;text-decoration:none;opacity:.65}
.lang-switch a[aria-current="true"]{opacity:1;text-decoration:underline;text-underline-offset:.45em}
.lang-switch span[aria-hidden]{opacity:.5}
.menu-toggle{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:0;background:none;border:0;font-size:var(--fs-micro);font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:inherit}
.menu-toggle__bars{display:inline-block;width:22px;height:8px;border-block:1px solid currentColor}
.menu-panel{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--c-ivory);color:var(--c-text);overflow-y:auto}
.menu-panel::backdrop{background:rgba(20,19,17,.4)}
.menu-panel__top{height:var(--header-h);display:flex;align-items:center;justify-content:space-between}
.menu-panel nav{padding-block:var(--space-m) var(--space-l)}
.menu-panel__list a{display:block;padding:.55rem 0;font-family:var(--f-display);font-size:clamp(1.75rem,1.3rem + 2vw,2.5rem);line-height:1.15;text-decoration:none}
.menu-panel__list a[aria-current="page"]{font-style:italic;color:var(--c-bronze)}
.menu-panel__group{margin-top:var(--space-m);padding-top:var(--space-s);border-top:1px solid var(--c-line)}
.menu-panel__group .label{color:var(--c-text-muted);margin-bottom:.5rem}
.menu-panel__group a{font-size:1.5rem}
.menu-panel__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:var(--space-s) var(--space-l);border-top:1px solid var(--c-line)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-width:44px;min-height:44px;padding:0;background:none;border:0;color:inherit;font-size:var(--fs-micro);font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.icon-btn svg{width:18px;height:18px}
.site-footer{background:var(--c-ink);color:var(--c-on-dark);padding-block:var(--space-l) var(--space-m)}
.footer-top{display:grid;grid-template-columns:1fr;gap:var(--space-l);padding-bottom:var(--space-l);border-bottom:1px solid var(--c-line-dark)}
.footer-brand .brand__logo{width:12.5rem}
.footer-address{margin-top:1.25rem;font-style:normal;font-size:.875rem;line-height:1.7;color:var(--c-on-dark-soft)}
.footer-address a{color:inherit;text-underline-offset:.2em}
.footer-address a:hover{color:var(--c-on-dark,#fff)}
.footer-brand p{margin-top:1.25rem;color:var(--c-on-dark-soft);font-family:var(--f-display);font-style:italic;font-size:1.35rem;line-height:1.3}
.footer-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-m)}
.footer-cols h2{font-family:var(--f-sans);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:1rem;color:var(--c-on-dark)}
.footer-cols a{display:inline-block;padding:.3rem 0;font-size:var(--fs-small);color:var(--c-on-dark-soft);text-decoration:none}
.footer-cols a:hover{color:var(--c-on-dark);text-decoration:underline}
.footer-bottom{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center;padding-top:var(--space-m);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--c-on-dark-soft)}
.footer-bottom nav ul{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.footer-bottom a{text-decoration:none;display:inline-flex;min-height:32px;align-items:center}
.footer-bottom a:hover{text-decoration:underline}
.site-footer .lang-switch a{min-height:32px}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px}
.section--dark :focus-visible,.site-footer :focus-visible,.has-hero .site-header:not(.is-solid) :focus-visible,.hero :focus-visible,.fullbleed :focus-visible{outline-color:#fff}
.link-arrow{display:inline-flex;align-items:center;gap:.9rem;min-height:44px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:0;background:none;padding:0;color:inherit}
.link-arrow__line{display:inline-block;width:2.5rem;height:1px;background:currentColor;transition:width .45s var(--ease)}
.link-arrow:hover .link-arrow__line,.link-arrow:focus-visible .link-arrow__line{width:4rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:52px;padding:.9rem 1.9rem;border:1px solid currentColor;background:transparent;color:inherit;font-size:var(--fs-micro);font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.btn:hover{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-on-dark)}
.btn--solid{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-on-dark)}
.btn--solid:hover{background:var(--c-walnut);border-color:var(--c-walnut)}
.section--dark .btn:hover,.fullbleed .btn:hover,.hero .btn:hover{background:var(--c-on-dark);border-color:var(--c-on-dark);color:var(--c-ink)}
.btn[disabled]{opacity:.55;cursor:progress}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:var(--space-m)}
.media{position:relative;overflow:hidden;background:var(--c-travertine)}
.media picture,.hero__media picture{display:block;width:100%;height:100%}
.media img{width:100%;height:100%;object-fit:cover}
.media--portrait{aspect-ratio:4/5}
.media--landscape{aspect-ratio:3/2}
.media--wide{aspect-ratio:16/9}
.media--square{aspect-ratio:1/1}
.media--tall{aspect-ratio:3/4}
.media-caption{margin-top:.75rem;font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted)}
a .media img,.media--zoom img{transition:transform 1.2s var(--ease)}
a:hover .media img{transform:scale(1.03)}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--c-charcoal)}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,17,15,.74) 0%,rgba(18,17,15,.55) 38%,rgba(18,17,15,.28) 68%,rgba(18,17,15,.14) 100%)}
.hero__content,.page-hero__content,.fullbleed__content{text-shadow:0 1px 2px rgba(0,0,0,.28),0 0 32px rgba(0,0,0,.3)}
.page-hero--plain .page-hero__content{text-shadow:none}
.hero__content{position:relative;z-index:1;padding-bottom:clamp(3.5rem,9vh,7rem);text-align:center}
.hero__place{margin-bottom:1.5rem}
.hero__title{font-family:var(--f-display);font-weight:400;font-size:var(--fs-display);line-height:.95;letter-spacing:.06em;text-transform:uppercase}
.hero__title span{display:inline-block}
.hero__tagline{margin:1.25rem auto 0;max-width:none;font-family:var(--f-display);font-style:italic;font-size:clamp(1.35rem,1rem + 1.4vw,2.25rem);line-height:1.2}
.hero__services{margin:2rem auto 0;max-width:none;color:rgba(255,255,255,.88)}
.scroll-cue{position:absolute;left:50%;bottom:0;z-index:1;width:1px;height:clamp(2rem,6vh,3.5rem);background:rgba(255,255,255,.6)}
.page-hero{position:relative;min-height:78vh;min-height:78svh;display:flex;align-items:flex-end;color:#fff;background:var(--c-charcoal);overflow:hidden}
.page-hero .hero__media img{object-position:var(--focus,50% 50%)}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,17,15,.8) 0%,rgba(18,17,15,.55) 38%,rgba(18,17,15,.2) 72%,rgba(18,17,15,.12) 100%)}
.page-hero__content{position:relative;z-index:1;padding-block:calc(var(--header-h) + 2rem) clamp(3rem,8vh,6rem)}
.page-hero h1{max-width:14em;margin-top:1.25rem}
.page-hero__sub{margin-top:1.5rem;color:rgba(255,255,255,.9)}
.page-hero--plain{min-height:auto;background:var(--c-limestone);color:var(--c-text)}
.page-hero--plain::after{display:none}
.page-hero--plain .page-hero__sub{color:var(--c-text-soft)}
.breadcrumbs{padding-block:1.25rem;border-bottom:1px solid var(--c-line)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .75rem;list-style:none;padding:0;font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted)}
.breadcrumbs li+li::before{content:"/";margin-right:.75rem;opacity:.6}
.breadcrumbs a{text-decoration:none;display:inline-flex;min-height:24px;align-items:center}
.breadcrumbs a:hover{text-decoration:underline}
.sec-head{display:grid;gap:1.25rem;margin-bottom:var(--space-l)}
.sec-head .label{color:var(--c-text-muted)}
.section--dark .sec-head .label,.fullbleed .label{color:inherit}
.index-list{list-style:none;padding:0;border-top:1px solid var(--c-line)}
.index-list li{display:grid;grid-template-columns:3rem 1fr;gap:.25rem 1rem;padding:1.35rem 0;border-bottom:1px solid var(--c-line)}
.index-list .n{font-family:var(--f-display);font-style:italic;font-size:1.15rem;color:var(--c-text-muted);line-height:1.4}
.index-list h3{font-size:clamp(1.4rem,1.1rem + .9vw,1.9rem)}
.index-list p{grid-column:2;color:var(--c-text-soft);font-size:1rem;margin-top:.35rem}
.section--dark .index-list,.section--dark .index-list li{border-color:var(--c-line-dark)}
.section--dark .index-list .n{color:var(--c-on-dark-soft)}
.dot-list{display:flex;flex-wrap:wrap;gap:.35rem 0;list-style:none;padding:0}
.dot-list li{font-size:var(--fs-micro);font-weight:500;letter-spacing:.2em;text-transform:uppercase;line-height:1.9}
.dot-list li:not(:last-child)::after{content:"·";margin:0 .8em;opacity:.6}
.term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;border-top:1px solid var(--c-line)}
.term-grid li{padding:1rem 0;border-bottom:1px solid var(--c-line);font-family:var(--f-display);font-size:1.35rem}
.section--dark .term-grid,.section--dark .term-grid li{border-color:var(--c-line-dark)}
.process{list-style:none;padding:0;display:grid;grid-template-columns:1fr;counter-reset:step}
.process li{position:relative;padding:1.5rem 0 1.5rem 3.5rem;border-top:1px solid var(--c-line)}
.process li:last-child{border-bottom:1px solid var(--c-line)}
.process li::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:0;top:1.55rem;font-family:var(--f-display);font-style:italic;font-size:1.15rem;color:var(--c-text-muted)}
.process h3{font-family:var(--f-sans);font-size:var(--fs-small);font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.process p{margin-top:.4rem;font-size:1rem;color:var(--c-text-soft)}
.section--dark .process li{border-color:var(--c-line-dark)}
.section--dark .process li::before{color:var(--c-on-dark-soft)}
.journey{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;list-style:none;padding:0;font-size:var(--fs-micro);font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.journey li:not(:last-child)::after{content:"→";margin-left:.9rem;font-weight:400;opacity:.7}
.fullbleed{position:relative;min-height:clamp(32rem,78vh,54rem);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--c-charcoal)}
.fullbleed .hero__media img{object-position:var(--focus,50% 50%)}
.fullbleed::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,17,15,.8) 0%,rgba(18,17,15,.55) 40%,rgba(18,17,15,.15) 75%,rgba(18,17,15,0) 100%)}
.fullbleed__content{position:relative;z-index:1;padding-block:var(--space-l)}
.fullbleed h2{max-width:12em;margin-top:1rem}
.fullbleed p{color:rgba(255,255,255,.9)}
.duo{display:grid;grid-template-columns:1fr;gap:var(--gutter)}
.duo__item{display:block;text-decoration:none;color:inherit}
.duo__item h3{margin-top:1.25rem}
.duo__item p{margin-top:.5rem;color:var(--c-text-soft)}
.quote-band{padding-block:var(--space-xl);text-align:center}
.quote-band .statement{margin-inline:auto}
.quote-band .label{margin-top:1.75rem;color:var(--c-text-muted)}
.cta-band{padding-block:var(--space-xl);text-align:center;background:var(--c-limestone)}
.cta-band h2{max-width:16em;margin-inline:auto}
.cta-band p{margin:1.25rem auto 0}
.cta-band .actions{justify-content:center}
.next-link{display:grid;gap:.5rem;padding-block:var(--space-l);text-decoration:none;border-top:1px solid var(--c-line)}
.next-link .label{color:var(--c-text-muted)}
.next-link__title{font-family:var(--f-display);font-size:var(--fs-h2);line-height:1}
.next-link:hover .next-link__title{font-style:italic}
.note{font-size:var(--fs-small);color:var(--c-text-muted);max-width:48rem;border-left:1px solid var(--c-line-strong);padding-left:1rem}
.verify{background:#f3e7d3;color:#5a3d16;padding:.1em .35em;font-weight:600;font-size:.9em}
.experiences{padding-block:var(--space-l);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.experiences__inner{display:grid;gap:1.5rem;align-items:end}
.experiences h2{font-size:clamp(2rem,1.4rem + 2vw,3.25rem)}
.modal{width:min(46rem,100%);max-width:100%;max-height:100%;height:100%;margin:0 0 0 auto;padding:0;border:0;background:var(--c-ivory);color:var(--c-text);overflow:hidden}
.modal[open]{display:flex;flex-direction:column}
.modal::backdrop{background:rgba(20,19,17,.55)}
.modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--gutter);border-bottom:1px solid var(--c-line)}
.modal__body{flex:1;overflow-y:auto;padding:var(--space-m) var(--gutter) var(--space-l);overscroll-behavior:contain}
.modal__body h2{font-size:clamp(2rem,1.5rem + 2vw,3rem)}
.modal__body>p{margin-top:.75rem}
html.modal-open{overflow:hidden}
.form{display:grid;grid-template-columns:1fr;gap:2.25rem 1.5rem;margin-top:var(--space-m)}
.field{position:relative;display:flex;flex-direction:column;gap:.35rem}
.field label,.field .field__label{font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-soft)}
.field .req{color:var(--c-bronze)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.6rem 0;border:0;border-bottom:1px solid var(--c-line-strong);border-radius:0;background:transparent;font-size:1rem;color:var(--c-text);-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231f1e1b' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .25rem center;padding-right:1.5rem}
.field textarea{min-height:8rem;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;box-shadow:inset 0 -1px 0 var(--c-ink);border-bottom-color:var(--c-ink)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--c-focus);outline-offset:4px}
.field [aria-invalid="true"]{border-bottom-color:var(--c-error)}
.field__error{position:absolute;left:0;right:0;top:100%;margin-top:.3rem;font-size:.75rem;line-height:1.35;color:var(--c-error)}
.field__error:empty{display:none}
.field--check{flex-direction:row;align-items:flex-start;gap:.85rem}
.field--check input{flex:none;width:24px;height:24px;min-height:0;margin-top:.15rem;border:1px solid var(--c-line-strong);-webkit-appearance:auto;appearance:auto;accent-color:var(--c-ink)}
.field--check label{font-size:var(--fs-small);font-weight:400;letter-spacing:0;text-transform:none;color:var(--c-text-soft);line-height:1.6}
.field--check-wrap{position:relative;display:flex;flex-direction:column;gap:.35rem}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.form__status{font-size:var(--fs-small);max-width:34rem}
.form__status:empty{display:none}
.form__status--error{color:var(--c-error)}
.form-success{padding-block:var(--space-m)}
.form-success h3{font-size:clamp(1.9rem,1.4rem + 1.5vw,2.6rem)}
.form-success p{margin-top:1rem;color:var(--c-text-soft)}
.form-note{font-size:var(--fs-small);color:var(--c-text-muted)}
.form-note a{color:inherit}
.reveal-pending{opacity:0;transform:translateY(18px)}
.reveal-in{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal-pending{opacity:1;transform:none}
}
.section--dark .trio p,.section--dark .process p,.section--dark .index-list p{color:var(--c-on-dark-soft)}
h2.label{font-family:var(--f-sans);font-size:var(--fs-micro);color:var(--c-text-muted)}
.section--dark h2.label{color:var(--c-on-dark-soft)}
.section--dark .caps__head .label{color:var(--c-on-dark-soft)}
.hero__content p{max-width:none;margin-inline:auto}
.intro{display:grid;gap:var(--space-m)}
.intro .label{color:var(--c-text-muted)}
.intro__text p{color:var(--c-text-soft)}
.intro__text p+p{margin-top:1rem}
.fi{display:grid;gap:var(--space-l)}
.fi__text .dot-list{margin-top:1.5rem}
.fi__text p{margin-top:1.5rem;color:var(--c-text-soft)}
.fi__main{grid-row:1}
.fi__detail{width:70%;justify-self:end}
.swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:var(--space-l)}
.swatches figure .media{aspect-ratio:3/4}
.swatches figcaption{margin-top:.75rem;font-family:var(--f-display);font-style:italic;font-size:1.15rem}
.lib{display:grid;gap:var(--space-l)}
.lib .term-grid li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.lib .term-grid li span{font-family:var(--f-sans);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted)}
.split{display:grid;gap:var(--space-l);align-items:center}
.split__text p{margin-top:1.5rem;color:var(--c-text-soft)}
.split__text .dot-list,.split__text .term-grid,.split__text .journey{margin-top:1.75rem}
.split__text h2+.statement{margin-top:1rem}
.verbs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--c-line-dark);margin-top:var(--space-l)}
.verbs li{padding:1.25rem .5rem 1.25rem 0;border-bottom:1px solid var(--c-line-dark);font-size:var(--fs-micro);font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.verbs li span{display:block;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:1.1rem;letter-spacing:0;text-transform:none;color:var(--c-on-dark-soft);margin-bottom:.6rem}
.turnkey{display:grid;gap:var(--space-l)}
.turnkey__close{margin-top:var(--space-m);font-family:var(--f-display);font-style:italic;font-size:clamp(1.6rem,1.2rem + 1.5vw,2.5rem);line-height:1.2}
.pair{display:grid;gap:var(--space-l)}
.pair__item{display:grid;grid-template-columns:40% 1fr;gap:var(--space-m);align-items:start;text-decoration:none;color:inherit}
.pair__item .label{color:var(--c-text-muted)}
.pair__item h3{margin-top:.75rem}
.pair__item p{margin-top:.75rem;font-size:1rem;color:var(--c-text-soft)}
.pair__item .link-arrow{margin-top:.5rem}
.legacy{text-align:center}
.legacy h2{max-width:14em;margin:1.25rem auto 0}
.legacy p{margin:1.5rem auto 0;color:var(--c-text-soft)}
.legacy .actions{justify-content:center}
.caps{display:grid;gap:var(--space-l)}
.caps__head .label{color:var(--c-text-muted)}
.caps__head h2{margin-top:1rem}
.caps__head p{margin-top:1.25rem;color:var(--c-text-soft)}
.trio{display:grid;gap:var(--space-m);list-style:none;padding:0}
.trio li{border-top:1px solid var(--c-line);padding-top:1.25rem}
.trio h3{font-size:clamp(1.6rem,1.3rem + 1vw,2.25rem)}
.trio p{margin-top:.75rem;color:var(--c-text-soft);font-size:1rem}
.section--dark .trio li{border-color:var(--c-line-dark)}
.contact{display:grid;gap:var(--space-l);padding-top:calc(var(--header-h) + var(--space-l));padding-bottom:var(--space-xl)}
.contact__intro h1{font-size:clamp(2.6rem,1.8rem + 3vw,4.75rem)}
.contact__intro p{margin-top:1.5rem;color:var(--c-text-soft)}
.contact__meta{margin-top:var(--space-m);padding-top:1.25rem;border-top:1px solid var(--c-line)}
.contact__meta p{margin-top:.25rem}
.contact__address{margin-top:1.25rem;font-style:normal;line-height:1.7;color:var(--c-text-soft)}
.contact__address a{color:var(--c-text);text-underline-offset:.2em}
.contact .form{margin-top:0}
.legal{padding-top:calc(var(--header-h) + var(--space-l));padding-bottom:var(--space-xl)}
.legal h1{font-size:clamp(2.4rem,1.8rem + 2.5vw,4rem)}
.legal .note{margin-top:1.5rem}
.notfound{min-height:100vh;display:flex;align-items:center;padding-top:var(--header-h)}
.notfound h1{font-size:clamp(3rem,2rem + 5vw,6rem)}
.notfound p{margin-top:1.25rem;color:var(--c-text-soft)}
.page-hero-split{display:grid;grid-template-columns:1fr;background:var(--c-limestone);padding-top:var(--header-h)}
.page-hero-split__text{padding:var(--space-l) var(--gutter)}
.page-hero-split__text h1{font-size:clamp(2.5rem,1.6rem + 3.4vw,5.25rem);margin-top:1.25rem;max-width:11em}
.page-hero-split__text .dot-list{margin-top:1.75rem;color:var(--c-text-soft)}
.page-hero-split__text .label{color:var(--c-text-muted)}
.page-hero-split__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c-travertine)}
.page-hero-split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero .dot-list.page-hero__sub,.page-hero .page-hero__sub{margin-top:1.5rem}
.page-hero--plain .label{color:var(--c-text-muted)}
.page-hero--plain .page-hero__content{padding-block:calc(var(--header-h) + var(--space-l)) var(--space-l)}
.focus-left img{object-position:22% 50%}
.focus-right img{object-position:78% 50%}
.focus-center img{object-position:50% 50%}
.focus-bottom img{object-position:50% 80%}
.verbs--5{grid-template-columns:repeat(2,minmax(0,1fr))}
.swatches--page{margin-bottom:0}
.duo-note{margin:var(--space-l) auto 0;text-align:center}
.turnkey .process{margin-top:var(--space-m)}
.lib p{margin-top:1.25rem}
.experiences p{margin-top:.75rem}
.fullbleed .dot-list{color:rgba(255,255,255,.92)}
.page-hero-split--sample .page-hero-split__media{background:var(--c-travertine);aspect-ratio:auto;display:flex;align-items:center;justify-content:center;padding:var(--space-l) var(--gutter)}
.page-hero-split--sample .page-hero-split__media picture{width:min(72%,420px);aspect-ratio:3/4;position:relative;box-shadow:0 30px 60px -40px rgba(28,27,25,.55)}
.page-hero-split--sample .page-hero-split__media img{position:absolute;inset:0}
:root{--c-forest:#1f2a24;--c-chocolate:#2f2420;--c-graphite:#2b2d2f;--c-burgundy:#4a2226;--c-brass:#a88a5c}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.art-intro{padding-top:calc(var(--header-h) + var(--space-l));padding-bottom:var(--space-l)}
.art-intro__grid{display:grid;gap:var(--space-l);align-items:end}
.art-intro h1{font-size:clamp(2.6rem,1.6rem + 3.6vw,5.25rem);margin-top:1rem;max-width:14ch}
.art-intro .lead{margin-top:1.5rem;max-width:var(--max-text)}
.art-intro .label{color:var(--c-bronze)}
.art-intro__media .media{max-height:70vh}
.art-artists .sec-head{max-width:46rem}
.art-artists .sec-head h2{font-size:clamp(2.1rem,1.5rem + 2.4vw,3.75rem)}
.artist-list{display:grid;gap:var(--space-xl)}
.artist{display:grid;gap:var(--space-m);align-items:center}
.artist__work{margin:0}
.artist__frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--c-limestone)}
.artist__frame img{width:100%;height:100%;object-fit:cover}
.artist__work figcaption{margin-top:.85rem;font-size:var(--fs-small);color:var(--c-text-muted)}
.artist__work figcaption a{color:inherit;text-underline-offset:.2em;display:inline-flex;align-items:center;gap:.4rem;min-height:44px}
.artist__frame--ph{display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5%,3rem);color:var(--c-on-dark)}
.tone-charcoal{background:var(--c-charcoal)}.tone-burgundy{background:var(--c-burgundy)}.tone-forest{background:var(--c-forest)}.tone-chocolate{background:var(--c-chocolate)}.tone-graphite{background:var(--c-graphite)}
.ph__mat{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border:1px solid rgba(168,138,92,.45);outline:1px solid rgba(242,237,228,.08);outline-offset:-14px;text-align:center}
.ph__mono{font-family:var(--f-display);font-style:italic;font-size:clamp(4rem,2rem + 7vw,8.5rem);line-height:1;color:var(--c-brass)}
.ph__name{font-family:var(--f-display);font-size:clamp(1.3rem,1rem + 1vw,1.85rem);letter-spacing:.02em}
.ph__tag{position:absolute;bottom:1.5rem;font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-on-dark-soft)}
.artist__text .label{color:var(--c-text-muted)}
.artist__head{display:flex;align-items:center;gap:1rem;margin-top:1rem}
.artist__head h3{font-size:clamp(2rem,1.5rem + 1.8vw,3.25rem);line-height:1.05}
.artist__portrait{flex:none;width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--c-travertine)}
.artist__portrait img{width:100%;height:100%;object-fit:cover}
.artist__bio{margin-top:1.25rem;max-width:34rem;color:var(--c-text-soft);font-size:var(--fs-lead);font-weight:300;line-height:1.6}
.artist__links{display:flex;flex-wrap:wrap;gap:.25rem 1.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--c-line);max-width:34rem}
.artist__links a{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--c-text)}
.artist__links a:hover,.artist__links a:focus-visible{color:var(--c-bronze)}
.ext{width:.6rem;height:.6rem}
.art-process h2{font-size:clamp(2rem,1.5rem + 2vw,3.25rem);max-width:20ch}
.art-steps{display:grid;margin-top:var(--space-l);border-top:1px solid var(--c-line-strong)}
.art-steps li{padding:2rem 0;border-bottom:1px solid var(--c-line)}
.art-steps__n{display:block;font-family:var(--f-display);font-size:clamp(2.75rem,2rem + 2vw,4rem);line-height:1;color:var(--c-bronze)}
.art-steps h3{margin-top:1rem;font-size:var(--fs-h3)}
.art-steps p{margin-top:.75rem;color:var(--c-text-soft);max-width:28rem}
.art-purpose{background:var(--c-forest);color:var(--c-on-dark);padding-block:var(--space-l)}
.art-purpose__inner{display:grid;gap:1.25rem}
.art-purpose .label{color:var(--c-brass)}
.art-purpose h2{font-size:clamp(1.75rem,1.3rem + 1.6vw,2.6rem)}
.art-purpose p{margin-top:1rem;max-width:40rem;color:var(--c-on-dark-soft)}
.art-purpose :focus-visible{outline-color:#fff}
.art-cta__grid{display:grid;gap:var(--space-l)}
.art-cta h2{font-size:clamp(2.1rem,1.5rem + 2.4vw,3.75rem);max-width:16ch}
.art-cta .lead{margin-top:1.25rem;max-width:30rem}
.art-cta .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:var(--space-m)}
.art-cta__form{scroll-margin-top:calc(var(--header-h) + 1rem)}
.art-cta__form>h3.label{font-family:var(--f-sans);font-size:var(--fs-micro);color:var(--c-text-muted)}
.art-form__context{padding:1rem 1.25rem;border-left:2px solid var(--c-bronze);background:var(--c-limestone);color:var(--c-text-soft);font-size:var(--fs-small)}
.art-legal{margin-top:var(--space-xl);padding-top:1.25rem;border-top:1px solid var(--c-line);font-size:.75rem;line-height:1.6;color:var(--c-text-muted);max-width:60rem}
#artists,.artist{scroll-margin-top:calc(var(--header-h) + 1rem)}
.art-teaser{background:var(--c-ivory)}
.art-teaser__grid{display:grid;gap:var(--space-l);align-items:center}
.art-teaser .label--wide{color:var(--c-bronze)}
.art-teaser h2{margin-top:1rem;font-size:clamp(2.1rem,1.5rem + 2.4vw,3.75rem);max-width:14ch}
.art-teaser__text>p:not(.label){margin-top:1.25rem;max-width:34rem;color:var(--c-text-soft)}
.art-teaser__with{margin-top:var(--space-m)}
.art-names{display:flex;flex-wrap:wrap;gap:0 1.5rem;margin-top:.5rem}
.art-names a{display:inline-flex;min-height:44px;align-items:center;font-family:var(--f-display);font-style:italic;font-size:clamp(1.2rem,1rem + .6vw,1.5rem);text-decoration:none;color:var(--c-text)}
.art-names a:hover,.art-names a:focus-visible{color:var(--c-bronze)}
.art-teaser .actions{margin-top:var(--space-m)}
@media (min-width:600px){
  .art-steps{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gutter);border-top:0}
  .art-steps li{border-bottom:0;border-top:1px solid var(--c-line-strong);padding-top:2rem}
}
@media (min-width:900px){
  .art-intro__grid{grid-template-columns:7fr 4fr;column-gap:var(--space-xl)}
  .artist{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
  .artist__work{grid-column:1/7}
  .artist__text{grid-column:8/13}
  .artist--reverse .artist__work{grid-column:7/13;grid-row:1}
  .artist--reverse .artist__text{grid-column:1/6;grid-row:1}
  .artist:nth-child(3n+2) .artist__work{margin-top:var(--space-l)}
  .artist__portrait{width:72px;height:72px}
  .art-purpose__inner{grid-template-columns:3fr 9fr;align-items:baseline}
  .art-cta__grid{grid-template-columns:5fr 7fr;column-gap:var(--space-xl);align-items:start}
  .art-cta__intro{position:sticky;top:calc(var(--header-h) + 2rem)}
  .art-teaser__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
  .art-teaser__media{grid-column:1/5}
  .art-teaser__text{grid-column:6/12}
}
@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}}
@media (max-width:374px){
  :root{--header-h:72px}
  .brand__logo{width:7.75rem}
  .header-tools{gap:.6rem}
  .hero__title span{display:block}
  .swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
  .swatches figcaption{font-size:.95rem}
  .pair__item{grid-template-columns:1fr}
  .verbs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .term-grid{grid-template-columns:1fr}
}
@media (max-width:599px){
  .hero__title span{display:block}
  .header-tools .lang-switch{display:none}
  .modal{width:100%}
  .fi__detail{width:78%}
}
@media (min-width:600px){
  .form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form .field--full{grid-column:1/-1}
  .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  .duo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trio{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pair__item{grid-template-columns:1fr}
}
@media (min-width:900px){
  .intro{grid-template-columns:5fr 7fr;align-items:start}
  .intro .label{padding-top:.9rem}
  .fi{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:0;align-items:start}
  .fi__text{grid-column:1/6;grid-row:1;padding-top:var(--space-l)}
  .fi__main{grid-column:6/13;grid-row:1 / span 2}
  .fi__detail{grid-column:1/5;grid-row:2;width:100%;align-self:end;margin-top:var(--space-l)}
  .fi__main .media{aspect-ratio:4/5}
  .lib{grid-template-columns:5fr 7fr;align-items:start}
  .split{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
  .split__media{grid-column:1/8}
  .split__text{grid-column:9/13}
  .split--reverse .split__media{grid-column:6/13;grid-row:1}
  .split--reverse .split__text{grid-column:1/5;grid-row:1}
  .split--wide .split__media{grid-column:1/7}
  .split--wide .split__text{grid-column:8/13}
  .split--wide.split--reverse .split__media{grid-column:7/13}
  .split--wide.split--reverse .split__text{grid-column:1/6}
  .verbs{grid-template-columns:repeat(9,minmax(0,1fr))}
  .verbs li{border-bottom:0;padding-top:1.5rem}
  .turnkey{grid-template-columns:5fr 7fr;column-gap:var(--space-l);align-items:start}
  .turnkey__media{position:sticky;top:calc(var(--header-h) + 2rem)}
  .process{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter)}
  .process li:nth-last-child(2){border-bottom:1px solid var(--c-line)}
  .section--dark .process li:nth-last-child(2){border-color:var(--c-line-dark)}
  .duo{gap:var(--space-m)}
  .duo__item:nth-child(2){margin-top:var(--space-xl)}
  .caps{grid-template-columns:5fr 7fr;column-gap:var(--space-l);align-items:start}
  .caps__head{position:sticky;top:calc(var(--header-h) + 2rem)}
  .footer-top{grid-template-columns:5fr 7fr}
  .experiences__inner{grid-template-columns:7fr 5fr}
  .experiences__inner .actions{justify-content:flex-end;margin-top:0}
  .contact{grid-template-columns:5fr 7fr;column-gap:var(--space-l);align-items:start}
  .contact__intro{position:sticky;top:calc(var(--header-h) + 2rem)}
  .modal{margin:0 0 0 auto}
}
@media (min-width:1180px){
  .primary-nav{display:block}
  .menu-toggle{display:none}
  .index-list li{grid-template-columns:4rem 1fr 1.2fr;align-items:baseline}
  .index-list p{grid-column:3;margin-top:0}
  .pair__item{grid-template-columns:44% 1fr}
}
@media (min-width:1600px){
  :root{--max:1480px}
  body{font-size:1.125rem}
}
@media (max-height:500px) and (orientation:landscape){
  .hero,.page-hero{min-height:560px}
}
@media (min-width:600px){ .verbs--5{grid-template-columns:repeat(5,minmax(0,1fr))} }
@media (min-width:900px){
  .page-hero-split{grid-template-columns:1fr 1fr;min-height:76vh;min-height:76svh}
  .page-hero-split__text{display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-l) var(--space-l) var(--space-l) max(var(--gutter),calc((100vw - var(--max)) / 2))}
  .page-hero-split__media{aspect-ratio:auto;min-height:100%}
}
