html{-webkit-text-size-adjust:100%}body{margin:0}img{max-width:100%}
/* Layout: 12-column editorial grid, 1440 max; black and ivory surfaces alternate like spreads; flat-plane architectural plates stand in for photography. Single committed look. */
:root{
  --black:#101112;--char:#1B1D20;--ivory:#F4F1EA;--gold:#C6A15B;--white:#FAF9F6;--grey:#75777C;--line:#D8D5CF;
  --gold-ink:#7A5C20;--mute-l:#5C5E63;--mute-d:#A9A8A3;--rule-d:#2E3135;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(20px,5vw,80px);--ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--black);color:var(--ivory);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
main:focus{outline:none}

/* surfaces */
.dark{--bg:var(--black);--fg:var(--ivory);--mute:var(--mute-d);--rule:var(--rule-d);--acc:var(--gold)}
.char{--bg:var(--char);--fg:var(--ivory);--mute:var(--mute-d);--rule:#34373C;--acc:var(--gold)}
.ivory{--bg:var(--ivory);--fg:var(--black);--mute:var(--mute-l);--rule:var(--line);--acc:var(--gold-ink)}
.white{--bg:var(--white);--fg:var(--black);--mute:var(--mute-l);--rule:var(--line);--acc:var(--gold-ink)}
.sec{background:var(--bg);color:var(--fg);padding-block:clamp(72px,10.5vw,160px)}
.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--pad)}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.2vw,36px);row-gap:clamp(28px,4vw,56px)}
.g>*{--c:initial;grid-column:1/-1;min-width:0}
@media(min-width:900px){.g>*{grid-column:var(--c,1/-1)}}
.stack{display:flex;flex-direction:column;gap:clamp(18px,2vw,28px)}
.mt{margin-top:clamp(40px,6vw,88px)}

/* type */
.d1{font:300 clamp(2.7rem,7.4vw,7.25rem)/1.01 var(--serif);letter-spacing:-.022em;text-wrap:balance}
.d2{font:300 clamp(2.05rem,4.7vw,4.4rem)/1.06 var(--serif);letter-spacing:-.018em;text-wrap:balance}
.d3{font:400 clamp(1.45rem,2.3vw,2.05rem)/1.18 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.d1 em,.d2 em,.d3 em{font-style:italic;color:var(--acc)}
.lede{font-size:clamp(1.1rem,1.45vw,1.35rem);line-height:1.55;max-width:38em}
.body{max-width:36em}
.body p+p,.lede+.lede{margin-top:1.1em}
.mute{color:var(--mute)}
.lab{display:flex;align-items:center;gap:14px;font:500 .75rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.lab::before{content:"";width:32px;height:1px;background:var(--gold);flex:none}
.num{font:400 .8125rem/1 var(--sans);letter-spacing:.16em;color:var(--acc);font-variant-numeric:tabular-nums}
.rule{height:1px;background:var(--rule);transform-origin:left;transition:transform .6s var(--ease)}
.rule.pre{transform:scaleX(0)}
.rv{transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.pre{opacity:0;transform:translateY(22px)}

/* controls */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:14px 26px;border:1px solid var(--acc);color:var(--fg);font:500 .875rem/1.2 var(--sans);letter-spacing:.06em;transition:background .3s,color .3s,border-color .3s}
.btn::after{content:"→";transition:transform .3s var(--ease)}
.btn:hover{background:var(--acc);color:var(--bg)}
.btn:hover::after{transform:translateX(4px)}
.btn.solid{background:var(--gold);border-color:var(--gold);color:var(--black)}
.btn.solid:hover{background:var(--ivory);border-color:var(--ivory);color:var(--black)}
.lnk{display:inline-flex;align-items:center;gap:10px;font:500 .875rem/1.3 var(--sans);letter-spacing:.06em;padding-block:10px;border-bottom:1px solid var(--gold);transition:gap .3s var(--ease),color .3s}
.lnk::after{content:"→"}
.lnk:hover{gap:16px;color:var(--acc)}
.acts{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-start}
.ecta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.addr{font-size:.875rem;color:var(--mute);overflow-wrap:anywhere;user-select:all}
.tag{display:inline-block;font:500 .6875rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--rule);color:var(--mute)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);color:var(--ivory);border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.hdr.solid{background:rgba(16,17,18,.97);border-bottom-color:var(--rule-d)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.logo{display:inline-flex;align-items:center;min-height:44px}
.logo svg{height:30px;width:auto;display:block}
.word svg{display:block;width:min(100%,920px);height:auto}
.elab{font:500 .75rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.email{font:300 clamp(1.35rem,2.6vw,2.1rem)/1.25 var(--serif);color:var(--acc);border-bottom:1px solid var(--gold);padding-bottom:6px;overflow-wrap:anywhere;user-select:all}
.nav{display:none;gap:clamp(18px,2.2vw,34px);align-items:center}
.nav a{position:relative;font:400 .875rem/1 var(--sans);letter-spacing:.03em;padding-block:12px;color:#DCD9D2;transition:color .3s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover,.nav a[aria-current]{color:var(--ivory)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.hdr .touch{display:none;min-height:42px;padding:10px 18px;font-size:.8125rem;--acc:var(--gold);--fg:var(--ivory);--bg:var(--black)}
.burger{width:48px;height:48px;display:grid;place-content:center;gap:7px;margin-right:-10px}
.burger span{display:block;width:26px;height:1px;background:var(--ivory)}
@media(min-width:1040px){.nav{display:flex}.hdr .touch{display:inline-flex}.burger{display:none}}
.mnav{position:fixed;inset:0;z-index:60;background:var(--black);color:var(--ivory);padding:calc(env(safe-area-inset-top,0px) + 14px) var(--pad) 32px;display:flex;flex-direction:column;opacity:0;transform:translateY(-12px);transition:opacity .35s var(--ease),transform .35s var(--ease);overflow-y:auto}
.mnav.open{opacity:1;transform:none}
.mnav .top{display:flex;justify-content:space-between;align-items:center;height:48px}
.mnav .x{width:48px;height:48px;margin-right:-10px;position:relative}
.mnav .x::before,.mnav .x::after{content:"";position:absolute;left:11px;top:23px;width:26px;height:1px;background:var(--ivory);transform:rotate(45deg)}
.mnav .x::after{transform:rotate(-45deg)}
.mnav ul{margin-top:36px;border-top:1px solid var(--rule-d)}
.mnav li a{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--rule-d);font:300 clamp(1.6rem,7vw,2.2rem)/1.1 var(--serif)}
.mnav li a[aria-current]{color:var(--gold)}
.mnav li a span{font:400 .75rem var(--sans);letter-spacing:.16em;color:var(--mute-d)}
.mnav .foot{margin-top:auto;padding-top:36px;font-size:.875rem;color:var(--mute-d)}
#prog{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;z-index:70}

/* plates */
.plate{position:relative;overflow:hidden;aspect-ratio:var(--r,4/5);max-width:100%;background:var(--char)}
.plate svg{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform .6s var(--ease)}
a:hover .plate svg{transform:scale(1.035)}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--black);color:var(--ivory);display:flex;align-items:flex-end;min-height:clamp(560px,86vh,900px);padding-block:150px clamp(56px,7vw,104px)}
.hero.sub{min-height:clamp(440px,62vh,660px)}
.hero>.plate{position:absolute;inset:0 0 0 auto;width:100%;aspect-ratio:auto;opacity:.5}
@media(min-width:900px){.hero>.plate{width:44%;opacity:1}}
.hero .wrap{position:relative;width:100%}
.hero .mark{width:1px;height:clamp(40px,6vw,76px);background:var(--gold);margin-bottom:22px;transform-origin:top}
.hero .lede{margin-top:clamp(22px,2.6vw,36px);color:#DAD7D0;max-width:33em}
.hero .acts{margin-top:clamp(28px,3.4vw,48px)}
.hero h1{margin-top:20px;max-width:13em}
.rise{animation:rise .6s var(--ease) both}
.rise:nth-child(2){animation-delay:.08s}.rise:nth-child(3){animation-delay:.16s}.rise:nth-child(4){animation-delay:.26s}.rise:nth-child(5){animation-delay:.36s}
.hero .mark.rise{animation-name:grow}
@keyframes rise{from{opacity:0;transform:translateY(20px)}}
@keyframes grow{from{transform:scaleY(0)}}
.scroll{position:absolute;right:var(--pad);bottom:0;display:none;align-items:center;gap:14px;font:500 .6875rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#DAD7D0;writing-mode:vertical-rl;min-height:48px}
.scroll::after{content:"";width:1px;height:56px;background:var(--gold);animation:drop 2.4s var(--ease) infinite;transform-origin:top}
@keyframes drop{0%{transform:scaleY(0)}55%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media(min-width:900px){.scroll{display:flex}}

/* panels */
.panels{display:grid;gap:clamp(16px,2.2vw,36px)}
@media(min-width:820px){.panels{grid-template-columns:1fr 1fr}}
.panel{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(440px,52vw,720px);padding:clamp(24px,3.4vw,52px);color:var(--ivory);overflow:hidden;background:var(--black);--acc:var(--gold)}
.panel>.plate{position:absolute;inset:0;aspect-ratio:auto}
.panel>.in{position:relative;display:flex;flex-direction:column;gap:16px;max-width:30em}
.panel>.in::before{content:"";height:1px;width:56px;background:var(--gold);transition:width .5s var(--ease)}
.panel:hover>.in::before{width:100%}
.panel p{color:#DAD7D0}
.panel .lnk{align-self:flex-start;margin-top:8px}

/* columns & rows */
.cols{display:grid;gap:clamp(32px,4vw,56px) clamp(20px,2.6vw,44px)}
@media(min-width:700px){.cols{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.cols.n3{grid-template-columns:repeat(3,1fr)}.cols.n4{grid-template-columns:repeat(4,1fr)}}
.pil{display:flex;flex-direction:column;gap:16px;padding-top:24px;border-top:1px solid var(--rule);position:relative;min-width:0}
.pil::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:1px;background:var(--gold)}
.pil p{color:var(--mute)}
.stage::before{width:7px;height:7px;top:-4px;border-radius:50%}
.rows>li{display:grid;gap:10px 28px;padding-block:clamp(22px,2.6vw,34px);border-top:1px solid var(--rule)}
.rows>li:last-child{border-bottom:1px solid var(--rule)}
.rows p{color:var(--mute);max-width:40em}
@media(min-width:900px){.rows>li{grid-template-columns:5rem minmax(0,5fr) minmax(0,7fr);align-items:baseline}.rows.plain>li{grid-template-columns:5rem minmax(0,1fr)}}
.rows.plain p,.rows.plain li>span:last-child{color:var(--fg);font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.5}
.bigq{font:300 clamp(2rem,5.6vw,5.4rem)/1.08 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.bigq::before{content:"";display:block;width:64px;height:1px;background:var(--gold);margin-bottom:clamp(28px,3vw,44px)}
.approved p{font:300 clamp(1.3rem,2.3vw,2rem)/1.42 var(--serif);max-width:30em}
.approved p+p{margin-top:1.1em}
.approved p:first-child{font-size:clamp(1.6rem,3.1vw,2.7rem);line-height:1.24;letter-spacing:-.012em}
.flow{display:grid;gap:0}
.flow>li{padding:22px 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:10px;min-width:0}
.flow strong{font:500 .8125rem var(--sans);letter-spacing:.24em;color:var(--acc)}
.flow p{color:var(--mute)}
@media(min-width:900px){.flow{grid-template-columns:repeat(4,1fr)}.flow>li{padding:26px 28px 0 0;position:relative}.flow>li+li{padding-left:28px;border-left:1px solid var(--rule)}}

/* cards */
.cards{display:grid;gap:clamp(40px,5vw,64px) clamp(20px,2.6vw,44px)}
@media(min-width:700px){.cards{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;gap:14px;min-width:0}
.card .plate{--r:4/3;margin-bottom:8px}
.card .cat{font:500 .6875rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.card h3{transition:color .3s}
.card:hover h3{color:var(--acc)}
.card p{color:var(--mute)}
.card .lnk{align-self:flex-start;margin-top:auto}
.filters{display:flex;flex-wrap:wrap;gap:10px}
.filters button{min-height:44px;padding:10px 18px;border:1px solid var(--rule);font:500 .8125rem/1 var(--sans);letter-spacing:.05em;transition:background .3s,color .3s,border-color .3s}
.filters button:hover{border-color:var(--fg)}
.filters button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}

/* article */
.art{max-width:44rem;margin-inline:auto;font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.72}
.art>p+p{margin-top:1.25em}
.art>p:first-child{font:300 clamp(1.4rem,2.2vw,1.8rem)/1.42 var(--serif)}
.art h2{font:400 clamp(1.55rem,2.5vw,2.1rem)/1.2 var(--serif);margin:2.1em 0 .7em;letter-spacing:-.01em}
.art blockquote{margin:2.2em 0;padding-left:clamp(20px,3vw,36px);border-left:1px solid var(--gold);font:italic 300 clamp(1.5rem,2.8vw,2.2rem)/1.3 var(--serif);text-wrap:balance}
.art .note{margin-top:3em;padding-top:1.4em;border-top:1px solid var(--rule);font-size:.875rem;color:var(--mute)}

/* contact */
.dir{display:grid;gap:0 clamp(24px,4vw,72px)}
@media(min-width:900px){.dir{grid-template-columns:1fr 1fr}}
.dir>li{padding-block:clamp(28px,3.4vw,48px);border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:12px;min-width:0}
.dir p{color:var(--mute);max-width:32em}
.dir .mail{font:300 clamp(1.25rem,2.2vw,1.85rem)/1.25 var(--serif);overflow-wrap:anywhere;border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:4px;transition:color .3s;margin-top:6px}
.dir .mail:hover{color:var(--acc)}
.copyrow{display:flex;align-items:center;gap:16px;min-height:44px}
.copy{font:500 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);min-height:44px;border-bottom:1px solid transparent;transition:color .3s}
.copy:hover{color:var(--fg)}
.copyrow [role=status]{font-size:.8125rem;color:var(--acc)}

/* footer */
.ftr{background:var(--black);color:var(--ivory);padding-block:clamp(48px,5vw,72px) 36px;border-top:1px solid var(--rule-d);--mute:var(--mute-d);--acc:var(--gold)}
.fgrid li .fm{display:inline-block;padding-block:7px;color:#DCD9D2;font-size:.9375rem;overflow-wrap:anywhere;user-select:all}
.ftr .tagline{font:italic 300 clamp(1.4rem,2.4vw,2rem)/1.2 var(--serif);color:var(--gold);margin-top:18px}
.fgrid{display:grid;gap:40px 32px;margin-top:clamp(48px,6vw,88px);padding-top:clamp(36px,4vw,56px);border-top:1px solid var(--rule-d)}
@media(min-width:700px){.fgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.fgrid{grid-template-columns:1.5fr 1fr 1.2fr 1.4fr}}
.fgrid h2{font:500 .6875rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute-d);margin-bottom:18px}
.fgrid li a{display:inline-block;padding-block:7px;color:#DCD9D2;font-size:.9375rem;overflow-wrap:anywhere;transition:color .3s}
.fgrid li a:hover{color:var(--gold)}
.fgrid p{color:var(--mute-d);font-size:.9375rem;max-width:26em}
.legal{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;margin-top:clamp(40px,5vw,72px);padding-top:24px;border-top:1px solid var(--rule-d);font-size:.8125rem;color:var(--mute-d)}
.legal a{padding-block:8px;display:inline-block}
.legal a:hover{color:var(--gold)}
.legal span.l{display:flex;gap:24px;flex-wrap:wrap}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv.pre{opacity:1;transform:none}.rule.pre{transform:none}}
