/* Gourmet Food Art | luxury homepage
   Brand: Midnight Navy, Ivory, Pearl, Slate + champagne foil accent (approved) */
:root{
  --navy:#061831; --navy-deep:#030c1c; --ink:#061831;
  --ivory:#F1ECE3; --ivory-2:#ECE6DB; --pearl:#DBDCDE; --slate:#8C929B;
  --ink-2:rgba(6,24,49,.74); --ink-3:rgba(6,24,49,.64);
  --hair-d:rgba(6,24,49,.14); --hair-l:rgba(241,236,227,.18);
  --iv-2:rgba(241,236,227,.74);
  --gold:#C4AE7E;
  --foil-d:linear-gradient(100deg,#6E5A31 0%,#A68B57 32%,#C9B27F 48%,#8A7142 64%,#B39A66 84%,#735E36 100%);
  --foil:linear-gradient(100deg,#8F7748 0%,#D9C79A 30%,#F0E4C2 46%,#B49860 62%,#E2D2A6 82%,#9C8452 100%);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',system-ui,sans-serif;
  --ease:cubic-bezier(.23,1,.32,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --gut:clamp(20px,4.4vw,72px);
  --max:1440px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--navy);color:var(--ivory)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}

/* type */
.eyebrow{font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3)}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(26px,2.5vw,40px);line-height:1.3;letter-spacing:.17em;text-transform:uppercase}
.h2 em{font-style:normal}
.reach__q em{font-style:italic;font-weight:300}
.body{font-size:16.5px;line-height:1.8;color:var(--ink-2);max-width:46ch}

/* hairline rule with star */
.rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:44px auto}
.rule span{display:block;width:72px;height:1px;background:var(--foil-d)}
.rule svg{width:12px;height:12px;fill:#9C8452}
.ft .rule span{background:var(--foil)}
.ft .rule svg{fill:#D9C79A}
.rule--wide span{width:min(36vw,420px)}

/* buttons and links */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 38px;font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .6s var(--ease)}
.btn::after{content:"";position:absolute;inset:0;border:1px solid currentColor;opacity:.55;pointer-events:none}
.btn span{position:relative}
.btn--light{color:var(--ivory)}
.btn--light::before{background:var(--ivory)}
.btn--dark{color:var(--navy)}
.btn--dark::before{background:var(--navy)}
@media (hover:hover) and (pointer:fine){
  .btn--light:hover{color:var(--navy)}
  .btn--dark:hover{color:var(--ivory)}
  .btn:hover::before{transform:none}
}
.btn:active{transform:scale(.97)}
.tlink{position:relative;display:inline-block;padding-bottom:7px;font-weight:500;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase}
.tlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--foil-d);transform-origin:right;transition:transform .7s var(--ease)}
.tlink::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.2}
@media (hover:hover) and (pointer:fine){
  .tlink:hover::after,a:hover .tlink::after{transform:scaleX(0)}
  .tlink:hover::after{animation:line .9s var(--ease) forwards}
}
@keyframes line{0%{transform:scaleX(1);transform-origin:right}49%{transform:scaleX(0);transform-origin:right}50%{transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
.tlink--light{color:var(--ivory)}
.tlink--light::after{background:var(--foil)}

/* ---------------- intro ---------------- */
.intro{position:fixed;inset:0;z-index:200;background:var(--navy);display:grid;place-items:center}
.intro__mark{display:flex;flex-direction:column;align-items:center}
.intro__mono{width:92px;height:auto;overflow:visible}
.intro__mono path{fill:var(--ivory)}
.intro__mono .knock{fill:var(--navy)}
.intro__rule{display:flex;align-items:center;gap:8px;margin:16px 0 12px}
.intro__rule span{width:44px;height:1px;background:var(--foil);transform:scaleX(0)}
.intro__rule span:first-child{transform-origin:right}.intro__rule span:last-child{transform-origin:left}
.intro__rule svg{width:9px;height:9px;fill:#D9C79A;opacity:0}
.intro__word{width:150px;height:auto;opacity:0}
.intro__word path{fill:var(--ivory)}
html.seen .intro,html:not(.js) .intro{display:none}

/* ---------------- cursor ---------------- */
.cursor{position:fixed;left:0;top:0;z-index:150;pointer-events:none;display:none}
@media (hover:hover) and (pointer:fine){.js .cursor{display:block}}
.cursor__dot,.cursor__ring{position:fixed;left:0;top:0;border-radius:50%;will-change:transform}
.cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--ivory);mix-blend-mode:difference}
.cursor__ring{width:0;height:0;border-radius:0;mix-blend-mode:difference;transition:opacity .3s}
.cursor__c{position:absolute;left:-20px;top:-20px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(241,236,227,.9);transition:transform .5s var(--ease),background-color .5s var(--ease),border-color .5s var(--ease)}
.cursor__ring em{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;font-style:normal;font-family:var(--sans);font-weight:500;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ivory);opacity:0;transition:opacity .3s}
.cursor.is-label .cursor__ring{mix-blend-mode:normal}
.cursor.is-label .cursor__c{transform:scale(2.4);background:rgba(6,24,49,.82);border-color:transparent}
.cursor.is-label .cursor__ring em{opacity:1}
.cursor.is-label .cursor__dot{opacity:0}
.cursor.is-link .cursor__c{transform:scale(1.6)}
.cursor.is-hidden{opacity:0}

/* ---------------- header ---------------- */
.hd{position:fixed;inset:0 0 auto 0;z-index:60;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gut);color:var(--ivory);transition:transform .7s var(--ease),background-color .5s var(--ease),color .5s var(--ease),border-color .5s;border-bottom:1px solid transparent;--knock:var(--navy)}
.hd.is-light{background:var(--ivory);color:var(--navy);border-bottom-color:var(--hair-d);--knock:var(--ivory)}
.hd.is-light.on-dark{background:var(--navy);color:var(--ivory);border-bottom-color:var(--hair-l);--knock:var(--navy)}
.hd.is-hidden{transform:translateY(-100%)}
.hd__menu{justify-self:start;display:flex;align-items:center;gap:16px;height:44px;font-weight:500;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase}
.burger{position:relative;width:26px;height:10px}
.burger i{position:absolute;left:0;width:26px;height:1px;background:currentColor;transform-origin:left center;transition:transform .6s var(--ease)}
.burger i:first-child{top:0}.burger i:last-child{bottom:0;transform:scaleX(.62)}
@media (hover:hover) and (pointer:fine){.hd__menu:hover .burger i:last-child{transform:scaleX(1)}}
.hd__brand{display:flex;flex-direction:column;align-items:center;gap:7px}
.hd__mono{width:30px;height:auto}
.hd__mono path,.hd__word path{fill:currentColor}
.hd__mono .knock{fill:var(--knock);transition:fill .5s}
.hd__word{width:118px;height:auto}
.hd__cta{justify-self:end;position:relative;font-weight:500;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;padding:14px 0}
.hd__cta::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--foil);transform-origin:left;transition:transform .6s var(--ease)}
@media (hover:hover) and (pointer:fine){.hd__cta:hover::after{transform:scaleX(.3)}}
body.menu-open .hd{color:var(--ivory);background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;--knock:var(--navy)}
body.menu-open .burger i{transform-origin:center}
body.menu-open .burger i:first-child{transform:translateY(4.5px) rotate(45deg)}
body.menu-open .burger i:last-child{transform:translateY(-4.5px) rotate(-45deg) scaleX(1)}

/* ---------------- menu ---------------- */
.menu{position:fixed;inset:0;z-index:55;background:var(--navy);color:var(--ivory);clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-io);visibility:hidden}
.menu.is-open{clip-path:inset(0 0 0 0);visibility:visible}
.menu__inner{height:100%;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:1fr auto;gap:0 clamp(40px,6vw,120px);padding:130px var(--gut) 44px}
.menu__nav{display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,1vh,12px)}
.menu__nav a{display:block;overflow:hidden;font-family:var(--serif);font-weight:300;font-size:clamp(36px,5vw,76px);line-height:1.12;letter-spacing:.01em;width:fit-content}
.menu__nav a span{display:block;transform:translateY(105%);transition:transform 1s var(--ease),color .4s,opacity .4s}
.menu.is-open .menu__nav a span{transform:none}
.menu.is-open .menu__nav a:nth-child(1) span{transition-delay:.25s}.menu.is-open .menu__nav a:nth-child(2) span{transition-delay:.31s}.menu.is-open .menu__nav a:nth-child(3) span{transition-delay:.37s}.menu.is-open .menu__nav a:nth-child(4) span{transition-delay:.43s}.menu.is-open .menu__nav a:nth-child(5) span{transition-delay:.49s}
@media (hover:hover) and (pointer:fine){
  .menu__nav:hover a span{opacity:.35}
  .menu__nav a:hover span{opacity:1}
}
.menu__fig{align-self:center;aspect-ratio:4/5;max-height:62vh;overflow:hidden;opacity:0;transform:scale(.96);transition:opacity 1s var(--ease) .4s,transform 1.4s var(--ease) .4s}
.menu.is-open .menu__fig{opacity:1;transform:none}
.menu__fig img{width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease)}
.menu__foot{grid-column:1/-1;display:flex;gap:64px;padding-top:28px;border-top:1px solid var(--hair-l);font-size:14px;color:var(--iv-2)}
.menu__foot small{display:block;font-weight:500;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}

/* ---------------- spotlight ---------------- */
.spot{position:relative;height:340vh;background:#040d1f}
.spot__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:var(--ivory)}
.spot__canvas,.spot__fallback{position:absolute;inset:0;width:100%;height:100%}
.spot__fallback{object-fit:cover;display:none}
.spot__vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 46%,rgba(4,13,31,0) 46%,rgba(4,13,31,.55) 78%,rgba(4,13,31,.9) 100%)}
.spot__copy{position:absolute;inset:0;pointer-events:none}
.spot__copy a{pointer-events:auto}
.spot__a{position:absolute;left:0;right:0;top:12.5vh;text-align:center}
.spot__title{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.4vw,88px);line-height:1.02;letter-spacing:.14em;text-transform:uppercase;margin-top:22px;padding-left:.14em}
.spot__b,.spot__c{position:absolute;top:50%;translate:0 -50%}
.spot__b{left:var(--gut);width:min(27vw,420px)}
.spot__c{right:var(--gut);width:min(27vw,400px);text-align:left}
.spot__line{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.5vw,58px);line-height:1.06}
.spot__line em{font-style:italic}
.spot__sub{margin-top:22px;font-size:15.5px;line-height:1.75;color:var(--iv-2)}
.spot__ctas{display:flex;align-items:center;gap:30px;margin-top:34px;flex-wrap:wrap}
.spot__hint{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font-weight:500;font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--iv-2)}
.spot__hint i{position:relative;display:block;width:1px;height:48px;background:var(--hair-l);overflow:hidden}
.spot__hint i::after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:var(--foil);animation:drip 2.2s var(--ease-io) infinite}
@keyframes drip{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* ---------------- statement ---------------- */
.stmt{padding:clamp(120px,17vw,240px) 0;text-align:center}
.stmt__h{font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.7vw,58px);line-height:1.22;letter-spacing:.13em;text-transform:uppercase;margin:0 auto;padding-left:.13em}
.stmt__tag{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.7vw,24px);color:var(--ink-2);margin-bottom:22px}
.stmt__p{font-size:17px;line-height:1.8;color:var(--ink-2);max-width:44ch;margin:0 auto}

/* ---------------- duo ---------------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:0 0 clamp(110px,14vw,200px)}
.duo__item{display:block;position:relative;color:var(--ivory)}
.duo__fig{position:relative;height:100vh;height:100svh;min-height:560px;width:100%;overflow:hidden;background:var(--navy)}
.duo__fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,28,0) 55%,rgba(3,12,28,.62) 100%);pointer-events:none}
.duo__fig img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;transition:transform 1.6s var(--ease)}
@media (hover:hover) and (pointer:fine){.duo__item:hover .duo__fig img{transform:scale(1.04)}}
.duo__cap{position:absolute;left:0;right:0;bottom:clamp(44px,7vh,72px);text-align:center;z-index:1}
.duo__cap .tlink::after{background:var(--foil)}
.duo__cap h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,30px);letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;padding-left:.17em}

/* reveal mask */
.js .reveal{clip-path:inset(100% 0% 0% 0%)}

/* ---------------- houses ---------------- */
.houses{position:relative;background:var(--ivory-2);border-top:1px solid var(--hair-d);border-bottom:1px solid var(--hair-d)}
.houses__pin{position:relative;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;padding-top:64px}
.houses__track{display:flex;align-items:flex-start;gap:clamp(40px,5vw,96px);padding:0 var(--gut) 0 calc(var(--gut) + min(30vw,440px) + 6vw);will-change:transform}
.houses__intro{position:absolute;left:var(--gut);top:50%;transform:translateY(-50%);width:min(30vw,440px);z-index:1}
.houses__intro .h2{margin:22px 0 24px}
.houses__drag{display:inline-flex;align-items:center;gap:16px;margin-top:30px;font-weight:500;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3)}
.houses__drag i{display:block;width:64px;height:1px;background:var(--foil-d)}
.house{flex:none;width:clamp(300px,30vw,470px)}
.house--low{margin-top:7vh}
.house__fig{aspect-ratio:4/5;height:auto;max-height:56vh;overflow:hidden;background:var(--pearl)}
.house__fig img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform 1.4s var(--ease)}
@media (hover:hover) and (pointer:fine){.house:hover .house__fig img{transform:scale(1.04)!important}}
.house__cap{padding-top:22px}
.house__cap h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;letter-spacing:.08em;text-transform:uppercase}
.house__meta{font-weight:500;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin:8px 0 12px}
.house__cap p:last-child{font-size:14px;line-height:1.7;color:var(--ink-2);max-width:32ch}
.houses__bar{position:absolute;left:var(--gut);right:var(--gut);bottom:5vh;height:1px;background:var(--hair-d)}
.houses__bar span{position:absolute;inset:0;background:var(--foil-d);transform-origin:left;transform:scaleX(0)}

/* ---------------- reach ---------------- */
.reach{position:relative;overflow:hidden;background:var(--navy-deep);color:var(--ivory);padding:clamp(140px,20vw,260px) 0 clamp(110px,14vw,180px);text-align:center}
.reach__bg{position:absolute;inset:0;margin:0}
.reach__bg img{width:100%;height:100%;object-fit:cover;opacity:.42}
.reach__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,28,.75) 0%,rgba(3,12,28,.45) 40%,rgba(3,12,28,.9) 82%,#030c1c 100%)}
.reach__in{position:relative}
.reach__star{width:18px;height:18px;fill:#D9C79A;margin:0 auto 36px}
.reach__q{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3vw,46px);line-height:1.25;max-width:24em;margin:0 auto}
.facts{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,72px);margin:clamp(80px,10vw,140px) auto 0;max-width:1180px;padding-top:40px;border-top:1px solid var(--hair-l);position:relative}
.facts::before{content:"";position:absolute;left:50%;top:-1px;width:120px;height:1px;margin-left:-60px;background:var(--foil)}
.facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.15;margin-bottom:12px}
.facts span{font-size:14.5px;color:var(--iv-2);display:block;max-width:30ch;margin:0 auto}

/* ---------------- collection ---------------- */
.coll{padding:clamp(120px,15vw,220px) 0 clamp(100px,12vw,180px)}
.coll__head{text-align:center;margin-bottom:clamp(64px,8vw,110px)}
.coll__head .h2{margin:22px 0 22px}
.coll__head .body{margin:0 auto}
.index{list-style:none;border-top:1px solid var(--hair-d);max-width:1180px;margin:0 auto}
.index li{border-bottom:1px solid var(--hair-d)}
.index a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:18px;padding:22px 4px;position:relative}
.index a::before{content:"";width:12px;height:12px;background:var(--foil);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%22294.8%20235.5%205.1%205.3%22%3E%3Cg%20fill%3D%22%23000%22%3E%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M297.349%20235.652C296.887%20236.880%20296.093%20237.646%20294.931%20238.114C296.297%20238.526%20296.965%20239.395%20297.338%20240.565C297.822%20239.195%20298.611%20238.506%20299.783%20238.089C298.512%20237.618%20297.830%20236.877%20297.349%20235.652%22/%3E%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M296.489%20238.669L295.510%20238.098L296.826%20237.136C297.248%20237.614%20297.010%20238.350%20296.489%20238.669%22/%3E%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M299.227%20238.108L298.163%20238.691C297.926%20238.378%20297.936%20237.796%20298.204%20237.458L299.227%20238.108%22/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%22294.8%20235.5%205.1%205.3%22%3E%3Cg%20fill%3D%22%23000%22%3E%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M297.349%20235.652C296.887%20236.880%20296.093%20237.646%20294.931%20238.114C296.297%20238.526%20296.965%20239.395%20297.338%20240.565C297.822%20239.195%20298.611%20238.506%20299.783%20238.089C298.512%20237.618%20297.830%20236.877%20297.349%20235.652%22/%3E%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M296.489%20238.669L295.510%20238.098L296.826%20237.136C297.248%20237.614%20297.010%20238.350%20296.489%20238.669%22/%3E%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M299.227%20238.108L298.163%20238.691C297.926%20238.378%20297.936%20237.796%20298.204%20237.458L299.227%20238.108%22/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transform:scale(.4) rotate(-90deg);transition:opacity .5s var(--ease),transform .7s var(--ease)}
.index .th{display:none}
.index .nm{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.4vw,36px);letter-spacing:.06em;line-height:1.1;transition:transform .7s var(--ease),opacity .5s}
.index .ex{font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);text-align:right;transition:opacity .5s}
@media (hover:hover) and (pointer:fine){
  .index:hover a .nm,.index:hover a .ex{opacity:.3}
  .index a:hover .nm,.index a:hover .ex{opacity:1}
  .index a:hover .nm{transform:translateX(10px)}
  .index a:hover::before{opacity:1;transform:none}
}
.peek{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/5;pointer-events:none;z-index:40;opacity:0;overflow:hidden;clip-path:inset(12% 12% 12% 12%);transition:opacity .45s var(--ease),clip-path .7s var(--ease)}
.peek.on{opacity:1;clip-path:inset(0 0 0 0)}
.peek img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .45s var(--ease),transform 1.2s var(--ease)}
.peek img.on{opacity:1;transform:none}

/* ---------------- trust ---------------- */
.trust{padding:clamp(70px,9vw,120px) 0;border-top:1px solid var(--hair-d);border-bottom:1px solid var(--hair-d);background:var(--ivory-2)}
.trust__t{text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.8vw,26px);color:var(--ink-2);margin-bottom:52px}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:44px clamp(44px,5.5vw,88px);max-width:1180px;margin:0 auto;padding:0 var(--gut)}
.logos img{height:40px;width:auto;opacity:.74;transition:opacity .4s}
.logos img.tall{height:54px}
@media (hover:hover) and (pointer:fine){.logos img:hover{opacity:1}}

/* ---------------- process ---------------- */
.proc{padding:clamp(110px,14vw,200px) 0}
.proc__img{position:relative;height:clamp(340px,58vw,760px);overflow:hidden;margin:0 clamp(8px,1vw,16px)}
.proc__img img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.proc__h{max-width:15em;margin:clamp(70px,9vw,120px) 0 clamp(64px,7vw,96px)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);position:relative;z-index:1}
.steps li{padding-top:46px}
.steps svg{display:block;width:14px;height:14px;fill:#9C8452;margin-bottom:28px;opacity:.25;transform:scale(.6) rotate(-45deg);transition:opacity .6s var(--ease),transform .9s var(--ease)}
.steps li.on svg{opacity:1;transform:none}
.steps h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.15;margin-bottom:12px}
.steps p{font-size:14.5px;color:var(--ink-2);max-width:28ch}
.steps-wrap{position:relative}
.steps-wrap::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--hair-d)}
.steps__line{position:absolute;left:0;right:0;top:7px;height:1px}
.steps__line span{position:absolute;inset:0;background:var(--foil-d);transform-origin:left;transform:scaleX(0)}
.steps li{padding-top:0}
.steps svg{background:var(--ivory);box-shadow:0 0 0 10px var(--ivory)}

/* ---------------- enquiry ---------------- */
.enq{position:relative;overflow:hidden;background:var(--navy);color:var(--ivory);padding:clamp(120px,14vw,200px) 0}
.enq .wrap{position:relative;z-index:1}
.enq__mark{position:absolute;right:-6vw;bottom:-14vh;width:min(46vw,640px);height:auto;opacity:.06;pointer-events:none}
.enq__mark path{fill:var(--ivory)}
.enq__mark .knock{fill:var(--navy)}
.enq .body{color:var(--iv-2)}
.enq__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(48px,8vw,140px)}
.enq .h2{margin:22px 0 28px}
.person{margin-top:56px;padding-top:34px;border-top:1px solid var(--hair-l);display:grid;gap:8px;position:relative}
.person::before{content:"";position:absolute;left:0;top:-1px;width:64px;height:1px;background:var(--foil)}
.person__who{font-family:var(--serif);font-size:28px;font-weight:400}
.person__role{font-size:13px;color:var(--slate);margin-bottom:14px}
.person a{font-size:15px;color:var(--iv-2);width:fit-content;transition:color .3s}
.person a:hover{color:var(--ivory)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:38px 32px;align-self:end}
.f{position:relative;display:grid}
.f--full{grid-column:1/-1}
.f input,.f textarea,.f select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(241,236,227,.32);color:var(--ivory);font-family:var(--sans);font-weight:300;font-size:16px;padding:22px 0 12px;border-radius:0;appearance:none;-webkit-appearance:none;outline:none}
.f textarea{resize:vertical;min-height:110px}
.f label{position:absolute;left:0;top:22px;font-size:15px;color:var(--iv-2);pointer-events:none;transform-origin:left top;transition:transform .5s var(--ease),color .4s,letter-spacing .5s}
.f input:focus+label,.f input:not(:placeholder-shown)+label,.f textarea:focus+label,.f textarea:not(:placeholder-shown)+label,.f label.up{transform:translateY(-22px) scale(.7);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.f label.up{top:22px;font-weight:500}
.f::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--foil);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.f:focus-within::after{transform:scaleX(1)}
.f--sel svg{position:absolute;right:0;bottom:14px;width:18px;height:18px;pointer-events:none}
.f select option{background:var(--navy);color:var(--ivory)}
.f .err{font-size:12.5px;color:#EBC3B4;margin-top:8px;display:none}
.f.bad .err{display:block}
.f.bad input{border-bottom-color:#EBC3B4}
.form__foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:6px}
.form__foot small{font-size:13px;color:var(--slate)}
.form__sent{grid-column:1/-1;display:none;font-family:var(--serif);font-size:28px;padding-top:24px;border-top:1px solid var(--hair-l)}
.form.done .form__sent{display:block}
.form.done .form__foot{display:none}

/* ---------------- footer ---------------- */
.ft{background:var(--navy-deep);color:var(--ivory);padding:clamp(100px,12vw,160px) 0 40px;text-align:center}
.ft__lock{display:inline-block}
.ft__lock svg{width:clamp(92px,8vw,120px);height:auto}
.ft__lock path{fill:var(--ivory)}
.ft__lock .knock{fill:var(--navy-deep)}
.ft .rule{margin:56px auto 64px}
.ft__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:960px;margin:0 auto}
.ft__cols div{display:grid;gap:10px;justify-items:center;font-size:14.5px;color:var(--iv-2)}
.ft__cols a:hover{color:var(--ivory)}
.ft h4{font-weight:500;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.ft__legal{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:96px;padding-top:28px;border-top:1px solid var(--hair-l);font-size:12.5px;color:var(--slate)}

/* no frame sequence (reduced motion or missing frames) */
.no-seq .spot{height:auto}
.no-seq .spot__stage{position:relative;min-height:100vh;min-height:100svh}
.no-seq .spot__canvas,.no-seq .spot__b,.no-seq .spot__hint{display:none}
.no-seq .spot__fallback{display:block}
.no-seq .spot__a{top:14vh}

/* generic reveal */
.js .rv{opacity:0;transform:translateY(26px)}

/* ---------------- responsive ---------------- */
@media (max-width:1024px){
  .spot__b,.spot__c{width:min(30vw,340px)}
}
@media (max-width:900px){
  .hd{height:72px}
  .hd__word{display:none}
  .hd__mono{width:26px}
  .hd__menu .lbl{display:none}
  .hd__cta{font-size:9.5px;letter-spacing:.24em}
  .menu__inner{grid-template-columns:1fr;padding-top:110px}
  .menu__fig{display:none}
  .menu__foot{flex-direction:column;gap:18px}
  .spot{height:300vh}
  .spot__a{top:15vh}
  .spot__b,.spot__c{left:var(--gut);right:var(--gut);width:auto;top:auto;bottom:calc(6vh + 40px);translate:none;text-align:center}
  .spot__hint{bottom:14px}
  .spot__ctas{justify-content:center}
  .duo{grid-template-columns:1fr;gap:2px}
  .duo__fig{height:86svh;min-height:480px}
  .houses__pin{height:auto;display:block;padding:110px 0 90px}
  .houses__track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px;scroll-padding-left:var(--gut);gap:28px}
  .houses__track::-webkit-scrollbar{display:none}
  .houses__intro{position:static;transform:none;width:auto;padding:0 var(--gut) 44px}
  .houses__track{padding:0 var(--gut)}
  .house{scroll-snap-align:start;width:76vw}
  .house--low{margin-top:0}
  .house__fig img{transform:none}
  .houses__bar{display:none}
  .facts{grid-template-columns:1fr;gap:40px}
  .enq__grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:56px}
  .steps__line,.steps-wrap::before{display:none}
  .steps svg{opacity:1;transform:none}
}
@media (max-width:640px){
  .stmt__h{font-size:23px;letter-spacing:.1em;padding-left:.1em}
  .index a{grid-template-columns:64px 1fr;gap:20px;padding:20px 0}
  .index a::before{display:none}
  .index .th{display:block;width:64px;height:80px;object-fit:cover}
  .index .ex{display:none}
  .form{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .ft__cols{grid-template-columns:1fr}
  .logos{gap:32px 36px}.logos img{height:30px}.logos img.tall{height:42px}
  .btn{padding:0 28px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv,.js .reveal{opacity:1;transform:none;clip-path:none}
  [data-words] .w{opacity:1!important}
}

/* =====================================================================
   Full site: shared inner-page components
   ===================================================================== */
.skip{position:fixed;left:16px;top:-60px;z-index:300;background:var(--ivory);color:var(--navy);padding:10px 16px;font-size:13px;font-weight:500;transition:top .3s}
.skip:focus{top:16px}
.tbc{font-style:italic;color:var(--slate);border-bottom:1px dashed currentColor}
[data-dark] .tbc,.ft .tbc{color:#B9BEC6}

/* page hero */
.phero{position:relative;height:88vh;height:88svh;min-height:560px;overflow:hidden;background:var(--navy-deep);color:var(--ivory);display:flex;align-items:flex-end;justify-content:center;text-align:center}
.phero__bg{position:absolute;inset:0;margin:0}
.phero__bg img{width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,28,.55) 0%,rgba(3,12,28,.12) 30%,rgba(3,12,28,.2) 55%,rgba(3,12,28,.82) 100%);pointer-events:none}
.phero__copy{position:relative;z-index:2;padding:0 var(--gut) clamp(96px,14vh,150px)}
.phero__title{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.2vw,84px);line-height:1.06;letter-spacing:.14em;text-transform:uppercase;padding-left:.14em}
.phero__sub{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.8vw,27px);color:var(--iv-2);margin-top:18px}
.phero__hint{z-index:2}

.stmt--tight{padding:clamp(90px,11vw,150px) 0}
.coll__all{display:inline-block;margin-top:26px}
.houses__all{display:block;width:fit-content;margin:28px 0 6px}

/* split: image and text side by side */
.split{padding:clamp(70px,9vw,130px) 0}
.split__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,7vw,120px);align-items:center}
.split--rev .split__fig{order:2}
.split__fig{position:relative;aspect-ratio:4/5;max-height:88vh;overflow:hidden;background:var(--pearl);margin:0}
.split__fig img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.split__txt .h2{margin-bottom:24px}
.split__txt .body+.body{margin-top:16px}
.split__txt .tlink{margin-top:34px}
.split--dark,.chapter--dark{background:var(--navy);color:var(--ivory);padding:clamp(110px,13vw,190px) 0}
.split--dark .body,.chapter--dark .body{color:var(--iv-2)}
.deflist{list-style:none;margin-top:34px;border-top:1px solid var(--hair-d)}
[data-dark] .deflist{border-color:var(--hair-l)}
.deflist li{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--hair-d)}
[data-dark] .deflist li{border-color:var(--hair-l)}
.deflist b{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.2}
.deflist span{font-size:14.5px;color:var(--ink-2)}
[data-dark] .deflist span{color:var(--iv-2)}

/* houses page chapters */
.jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:46px}
.jump a{font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);padding:6px 0;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.jump a:hover{color:var(--ink);border-color:var(--gold)}
.chapter{padding:clamp(70px,9vw,130px) 0;scroll-margin-top:60px}
.chapter__in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,7vw,120px);align-items:center}
.chapter--rev .chapter__fig{order:2}
.chapter__fig{position:relative;aspect-ratio:4/5;max-height:90vh;overflow:hidden;background:var(--pearl);margin:0}
.chapter__fig img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.chapter__h{font-family:var(--serif);font-weight:300;font-size:clamp(30px,3vw,48px);line-height:1.12;letter-spacing:.1em;text-transform:uppercase}
.chapter__meta{font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);margin:12px 0 28px}
[data-dark] .chapter__meta{color:#D9C79A}
.chapter__q{font-family:var(--serif);font-style:italic;font-size:clamp(22px,1.9vw,28px);line-height:1.35;margin-bottom:20px}
.chapter__txt .body+.body{margin-top:16px}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.tags li{font-size:12.5px;padding:7px 14px;border:1px solid var(--hair-d);color:var(--ink-2)}
[data-dark] .tags li{border-color:var(--hair-l);color:var(--iv-2)}
.also{padding:clamp(90px,11vw,150px) 0;text-align:center;border-top:1px solid var(--hair-d)}
.also__list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 48px;margin:30px 0 34px;font-family:var(--serif);font-size:clamp(24px,2.2vw,32px)}
.also__p{margin:0 auto}
.also__p .tlink{margin-left:10px}

/* collection page */
.catnav{position:sticky;top:0;z-index:30;background:var(--ivory);border-bottom:1px solid var(--hair-d);transition:transform .7s var(--ease)}
body.hd-shown .catnav{transform:translateY(84px)}
.catnav__in{display:flex;gap:30px;overflow-x:auto;scrollbar-width:none;padding:0 var(--gut);justify-content:center}
.catnav__in::-webkit-scrollbar{display:none}
.catnav a{flex:none;padding:20px 0 18px;font-weight:500;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.catnav a.on,.catnav a:hover{color:var(--ink);border-color:var(--gold)}
.cat{padding:clamp(70px,8vw,120px) 0;scroll-margin-top:130px;border-top:1px solid var(--hair-d)}
.cat__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,110px);align-items:start}
.cat--rev .cat__fig{order:2}
.cat__fig{position:sticky;top:150px;aspect-ratio:4/5;overflow:hidden;background:var(--pearl);margin:0}
.cat__fig img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.cat__by{font-weight:500;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin:14px 0 22px}
.cat__txt .h2{margin-top:6px}
.cat__sub{font-family:var(--serif);font-weight:400;font-size:21px;margin:38px 0 14px}
.plist{list-style:none;columns:2;column-gap:40px;border-top:1px solid var(--hair-d)}
.plist li{break-inside:avoid;padding:11px 0;border-bottom:1px solid var(--hair-d);font-size:14.5px}
.catalogue{padding:clamp(100px,12vw,170px) 0;text-align:center;background:var(--ivory-2);border-top:1px solid var(--hair-d)}
.catalogue .body{margin:22px auto 40px}

/* about page */
.numbers{padding:0 0 clamp(90px,11vw,150px)}
.numbers__list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hair-d);border-bottom:1px solid var(--hair-d)}
.numbers__list li{padding:40px 28px;text-align:center;border-right:1px solid var(--hair-d)}
.numbers__list li:last-child{border-right:0}
.numbers strong{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(40px,4vw,64px);line-height:1;letter-spacing:.06em}
.numbers span{display:block;font-size:13.5px;color:var(--ink-2);margin-top:14px;max-width:24ch;margin-inline:auto}
.proc--flat{padding-top:0}
.reach--short{padding:clamp(130px,16vw,220px) 0}
.where{padding:clamp(100px,12vw,170px) 0;border-top:1px solid var(--hair-d)}
.cities{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 44px;font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);letter-spacing:.08em;text-transform:uppercase;max-width:1000px;margin:0 auto}

/* offices: home strip and contact cards */
.offices-home{padding:clamp(110px,13vw,180px) 0;border-top:1px solid var(--hair-d)}
.ostrip{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hair-d)}
.ostrip li{border-right:1px solid var(--hair-d)}
.ostrip li:last-child{border-right:0}
.ostrip a{display:flex;flex-direction:column;height:100%;padding:34px 28px 30px;transition:background-color .5s var(--ease)}
@media (hover:hover) and (pointer:fine){.ostrip a:hover{background:var(--ivory-2)}}
.ostrip strong{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:.1em;text-transform:uppercase}
.ostrip__role{font-weight:500;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin:8px 0 18px}
.ostrip__addr{font-style:normal;font-size:14.5px;line-height:1.7;color:var(--ink-2);flex:1;margin-bottom:22px}
.ostrip .tlink{align-self:flex-start}
.offices-home__more{text-align:center;margin-top:48px}
.offices{padding:clamp(110px,13vw,180px) 0}
.offices__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--hair-d);border:1px solid var(--hair-d)}
.office{background:var(--ivory);padding:clamp(34px,4vw,60px);display:flex;flex-direction:column;gap:20px;scroll-margin-top:110px}
.office h3{font-family:var(--serif);font-weight:300;font-size:clamp(32px,3vw,46px);letter-spacing:.12em;text-transform:uppercase;line-height:1.1}
.office__role{font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);margin-top:8px}
.office .addr{font-style:normal;font-size:16.5px;line-height:1.75;padding-top:20px;border-top:1px solid var(--hair-d)}
.office__lines{display:grid;gap:4px;font-size:15px}
.office__lines a{width:fit-content;border-bottom:1px solid transparent;transition:border-color .3s}
.office__lines a:hover{border-color:var(--gold)}
.office__time{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.office__time svg{width:10px;height:10px;fill:#9C8452}
.office__time time{font-variant-numeric:tabular-nums;color:var(--ink)}
.office__maps{display:flex;gap:28px;margin-top:4px}
.direct{padding:clamp(90px,11vw,150px) 0;border-top:1px solid var(--hair-d);background:var(--ivory-2)}
.direct__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,120px);align-items:start}
.direct .h2{margin-bottom:20px}
.direct__list{list-style:none;border-top:1px solid var(--hair-d)}
.direct__list li{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--hair-d);align-items:baseline}
.direct__list span{font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2)}
.direct__list a,.direct__list b{font-family:var(--serif);font-weight:400;font-size:22px;width:fit-content}
.direct__list a{border-bottom:1px solid transparent;transition:border-color .3s}
.direct__list a:hover{border-color:var(--gold)}
.person span{font-size:15px;color:var(--iv-2)}

/* enquiry band on inner pages */
.ctaband{position:relative;overflow:hidden;background:var(--navy);color:var(--ivory);padding:clamp(110px,13vw,180px) 0}
.ctaband .wrap{position:relative;z-index:1}
.ctaband__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,7vw,120px);align-items:end}
.ctaband .h2{margin-bottom:22px}
.ctaband .body{color:var(--iv-2)}
.ctaband__side{display:grid;gap:8px;padding-top:30px;border-top:1px solid var(--hair-l);position:relative}
.ctaband__side::before{content:"";position:absolute;left:0;top:-1px;width:64px;height:1px;background:var(--foil)}
.ctaband__side a:not(.btn){font-size:15px;color:var(--iv-2);width:fit-content}
.ctaband__side a:not(.btn):hover{color:var(--ivory)}
.ctaband__side .btn{margin-top:26px;justify-self:start}

/* 404 */
.nf{min-height:100vh;min-height:100svh;display:grid;place-items:center;background:var(--navy);color:var(--ivory);text-align:center;padding:120px var(--gut)}
.nf__mono{width:70px;height:auto;margin:0 auto 40px}
.nf__mono path{fill:var(--ivory)}.nf__mono .knock{fill:var(--navy)}
.nf .btn{margin-top:44px}

/* footer, full site */
.ft__cols{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1.1fr);max-width:1180px;text-align:left;gap:56px}
.ft__cols div{justify-items:start}
.ft__offices{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 32px}
.ft__offices a{display:grid;gap:4px}
.ft__offices b{font-family:var(--serif);font-weight:400;font-size:19px;color:var(--ivory)}
.ft__offices span{font-size:13.5px;line-height:1.6;color:var(--iv-2)}
.ft__cols small{font-size:12px;color:var(--slate)}
.ft__cols a[aria-current]{color:var(--ivory)}
.menu__nav a[aria-current="page"] span{font-style:italic}

@media (max-width:1024px){
  .ostrip{grid-template-columns:1fr 1fr}
  .ostrip li:nth-child(2){border-right:0}
  .ostrip li:nth-child(-n+2){border-bottom:1px solid var(--hair-d)}
  .numbers__list{grid-template-columns:1fr 1fr}
  .numbers__list li:nth-child(2){border-right:0}
  .numbers__list li:nth-child(-n+2){border-bottom:1px solid var(--hair-d)}
}
@media (max-width:900px){
  .split__in,.chapter__in,.cat__in,.direct__in,.ctaband__in{grid-template-columns:1fr}
  .split--rev .split__fig,.chapter--rev .chapter__fig,.cat--rev .cat__fig{order:0}
  .split__fig,.chapter__fig{aspect-ratio:4/3}
  .cat__fig{position:relative;top:0;aspect-ratio:16/10}
  .catnav__in{justify-content:flex-start}
  body.hd-shown .catnav{transform:translateY(72px)}
  .offices__grid{grid-template-columns:1fr}
  .ft__cols{grid-template-columns:1fr 1fr}
  .ft__wide{grid-column:1/-1;order:3}
}
@media (max-width:640px){
  .phero__title{letter-spacing:.1em;padding-left:.1em}
  .stmt__h br{display:none}
  .ostrip{grid-template-columns:1fr}
  .ostrip li{border-right:0;border-bottom:1px solid var(--hair-d)}
  .plist{columns:1}
  .direct__list li{grid-template-columns:1fr;gap:4px}
  .numbers__list li{padding:30px 14px}
  .ft__offices{grid-template-columns:1fr}
  .ft__cols{grid-template-columns:1fr}
}

/* multi-shot hero captions */
.spot{height:1150vh}
.cap{position:absolute;top:50%;translate:0 -50%;width:min(30vw,440px);font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.5vw,58px);line-height:1.06;opacity:0;text-shadow:0 2px 30px rgba(3,12,28,.6)}
.cap em{font-style:italic}
.cap--l{left:var(--gut)}
.cap--r{right:var(--gut);text-align:right}
.cap--high{top:30%}
.cap--low{top:auto;bottom:16vh;translate:none}
.spot__c{opacity:0}
.spot__vig{background:radial-gradient(120% 90% at 50% 46%,rgba(4,13,31,0) 46%,rgba(4,13,31,.5) 78%,rgba(4,13,31,.88) 100%),linear-gradient(180deg,rgba(4,13,31,0) 60%,rgba(4,13,31,.45) 100%)}
.no-seq .cap{display:none}
.no-seq .spot__c{opacity:1}
@media (max-width:900px){
  .spot{height:950vh}
  .spot__vig{background:radial-gradient(120% 90% at 50% 40%,rgba(4,13,31,0) 50%,rgba(4,13,31,.45) 100%),linear-gradient(180deg,rgba(4,13,31,0) 48%,rgba(4,13,31,.82) 76%,rgba(4,13,31,.92) 100%)}
  .spot__c .spot__sub{display:none}
  .spot__c .spot__line{text-shadow:0 2px 24px rgba(3,12,28,.8)}
  .cap,.cap--high,.cap--low{left:var(--gut);right:var(--gut);width:auto;top:auto;bottom:calc(6vh + 40px);translate:none;text-align:center;font-size:clamp(28px,8vw,40px)}
}
