:root{
  --black:#000;--white:#fff;
  --metal:linear-gradient(100deg,#3c3d40 0%,#8b8d92 18%,#fbfbfc 34%,#e4e5e8 46%,#5d5f64 62%,#e4e5e8 78%,#8b8d92 90%,#3c3d40 100%);
  --metal-lt:linear-gradient(100deg,#8b8d92 0%,#fbfbfc 18%,#c9cacd 34%,#fff 52%,#9a9ca1 70%,#e4e5e8 86%,#8b8d92 100%);
  --ln-d:rgba(255,255,255,.13);--dim-d:rgba(255,255,255,.55);
  --m-pad:clamp(20px,4.6vw,84px);--gut:clamp(14px,1.6vw,28px);
  --f-d:"Cormorant Garamond","EB Garamond","Times New Roman",Times,serif;
  --f-u:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--f-u);font-weight:300;
  font-size:clamp(15px,1.02vw,17px);line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:#e4e5e8;color:#000}
:focus-visible{outline:1.5px solid #e4e5e8;outline-offset:4px}
.wrap{padding-inline:var(--m-pad)}
.rule{height:1px;width:100%;background:var(--ln-d);border:0}
.rule--m{background:var(--metal);opacity:.9}
.label{font-family:var(--f-u);font-size:clamp(12px,1.1vw,15px);font-weight:500;letter-spacing:.22em;text-transform:uppercase;line-height:1.2}
.label-s{font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:500}
.dim{color:var(--dim-d)}
.chrome{background-image:var(--metal-lt);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;animation:sheen 11s linear infinite}
@keyframes sheen{to{background-position:230% 50%}}


.nav{position:fixed;top:0;left:0;right:0;z-index:700;padding:clamp(14px,1.7vw,22px) var(--m-pad);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:rgba(0,0,0,.74);-webkit-backdrop-filter:saturate(150%) blur(16px);backdrop-filter:saturate(150%) blur(16px)}
.nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--metal);opacity:.75}
.nav-brand{display:flex;align-items:center;gap:14px}
.nav-brand img{width:clamp(54px,4.8vw,72px)}
.nav-wm{font-family:var(--f-d);font-size:clamp(12px,1.18vw,16px);letter-spacing:.3em;text-transform:uppercase;line-height:1.25;white-space:nowrap}
.back{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;
  display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.28);
  transition:gap .45s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.back:hover{gap:18px;color:#fff;border-color:#e4e5e8}


.hd{padding-block:calc(var(--m-pad) + 120px) clamp(40px,6vw,72px)}
.hd h1{font-family:var(--f-d);font-weight:300;text-transform:uppercase;line-height:.88;letter-spacing:-.015em;
  font-size:clamp(40px,7.4vw,112px);margin-top:clamp(18px,2.4vw,32px)}
.meta{display:flex;gap:clamp(20px,4vw,64px);flex-wrap:wrap;margin-top:clamp(26px,3.4vw,44px);color:var(--dim-d)}
.meta div span{display:block;color:#fff;margin-top:7px;font-size:14px;letter-spacing:.04em}


.doc{padding-bottom:clamp(70px,9vw,140px)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut)}
.toc{grid-column:1/span 3;position:sticky;top:calc(var(--m-pad) + 78px);align-self:start}
.toc a{display:block;font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.5);text-decoration:none;
  padding:8px 0 8px 14px;border-left:1px solid var(--ln-d);transition:color .4s var(--ease),border-color .4s var(--ease)}
.toc a:hover,.toc a.on{color:#fff;border-left-color:#e4e5e8}
.body{grid-column:5/span 7;max-width:66ch}
.sec{padding-top:clamp(34px,4.6vw,62px);scroll-margin-top:120px}
.sec:first-child{padding-top:0}
.sec h2{font-family:var(--f-d);font-weight:300;text-transform:uppercase;letter-spacing:-.01em;line-height:1;
  font-size:clamp(23px,2.9vw,40px);margin-bottom:clamp(14px,1.8vw,24px)}
.sec h3{font-family:var(--f-u);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.62);margin:clamp(20px,2.4vw,30px) 0 10px}
.sec p{color:rgba(255,255,255,.7)}
.sec p+p{margin-top:1.1em}
.sec ul{margin-top:14px}
.sec li{color:rgba(255,255,255,.7);padding:7px 0 7px 22px;position:relative}
.sec li::before{content:"";position:absolute;left:0;top:18px;width:9px;height:1px;background:var(--metal)}
.num{font-size:11px;letter-spacing:.26em;color:rgba(255,255,255,.4);display:block;margin-bottom:12px}
.callout{margin-top:clamp(24px,3vw,40px);border-left:1px solid rgba(255,255,255,.3);padding:4px 0 4px 22px}
.callout p{font-family:var(--f-d);font-style:italic;font-size:clamp(17px,1.9vw,24px);line-height:1.5;color:#fff}
.contact{margin-top:16px}
.contact a{font-family:var(--f-d);font-size:clamp(17px,2vw,26px);border-bottom:1px solid rgba(255,255,255,.3);
  text-decoration:none;padding-bottom:3px;transition:border-color .4s var(--ease)}
.contact a:hover{border-color:#e4e5e8}


.ft{background:#000;border-top:1px solid var(--ln-d);padding-block:clamp(44px,6vw,78px)}
.ft-b{grid-column:1/span 4}.ft-b img{width:min(300px,72vw)}
.ft-n{grid-column:6/span 3}
.ft-n a{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:7px 0;color:rgba(255,255,255,.68);text-decoration:none}
.ft-n a:hover{color:#fff}
.ft-c{grid-column:9/span 4}
.ft-c a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:3px}
.ft-bot{margin-top:clamp(38px,5vw,64px);padding-top:24px;border-top:1px solid var(--ln-d);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.brushed{position:relative;height:clamp(40px,5vh,68px);overflow:hidden;
  background:linear-gradient(180deg,#26272a 0,#6e7075 14%,#d9dade 32%,#fbfbfc 44%,#8b8d92 56%,#4a4b4f 68%,#c9cacd 84%,#2e2f32 100%)}
.brushed::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.075) 0 1px,rgba(0,0,0,.055) 1px 2px,transparent 2px 4px)}
.brushed::after{content:"";position:absolute;top:0;bottom:0;width:34%;
  background:linear-gradient(100deg,transparent 0,rgba(255,255,255,.72) 50%,transparent 100%);
  animation:sweep 7.5s cubic-bezier(.76,0,.24,1) infinite}
@keyframes sweep{0%{left:-40%}60%,100%{left:112%}}

.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}

@media(max-width:1080px){
  .toc{display:none}
  .body{grid-column:1/span 12;max-width:none}
  .ft-b{grid-column:1/span 12}.ft-n{grid-column:1/span 6}.ft-c{grid-column:7/span 6}
}
@media(max-width:640px){
  .nav-wm{display:none}
  .ft-n,.ft-c{grid-column:1/span 12}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
  .chrome{animation:none;background-position:34% 50%}
}