:root{
  --bg:#FAFAFA; --surface:#EFF0F2; --fg:#0A0B0D; --inv-bg:#0A0B0D; --inv-fg:#F4F5F7;
  --grey:#5C6066; --grey-inv:#989DA5; --line:#DBDDE0; --line-inv:#2A2C31;
  --dark-grad:linear-gradient(180deg,#0A0B0D 0%,#0A0B0D 100%);
  --glow:radial-gradient(880px 520px at 74% 38%,rgba(255,255,255,0),transparent 68%);
  --accent:#C69456; --accent-dim:#9C7238; --accent-glow:rgba(198,148,86,.32); --accent-soft:rgba(198,148,86,.13);
  --ease:cubic-bezier(.22,.75,.29,1);
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);color:var(--fg);overflow-wrap:break-word;-webkit-tap-highlight-color:rgba(255,255,255,.08);
  font-family:"Inter",Arial,"Helvetica Neue",Helvetica,sans-serif;
  font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;position:relative;}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.038;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
img,svg{max-width:100%;}
a{color:inherit;}
h1,h2,h3{font-family:"Gloock","Times New Roman",Times,Baskerville,Georgia,serif;
  font-weight:400;letter-spacing:-0.021em;margin:0;text-wrap:balance;}
[hidden]{display:none !important;}

.wrap{max-width:1320px;margin:0 auto;padding:0 56px;}
.narrow{max-width:920px;margin:0 auto;padding:0 56px;}
.dark-block{background:var(--inv-bg);background-image:var(--dark-grad);color:var(--inv-fg);position:relative;}
.dark-block.lit::before{content:"";position:absolute;inset:0;background:var(--glow);pointer-events:none;}
.dark-block > *{position:relative;z-index:1;}
.surface{background:var(--surface);}

/* motion */
#bar{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--fg);z-index:10000;
  transform:scaleX(0);transform-origin:0 50%;will-change:transform;}
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.36em;margin-bottom:-.36em;}
.split .w > i{display:inline-block;font-style:inherit;transform:none;}
.js .split .w > i{transform:translateY(112%);transition:transform .5s cubic-bezier(.19,.85,.26,1);}
.js .split.lit-in .w > i{transform:translateY(0);}
.fade{opacity:1;transform:none;}
.js .fade{opacity:0;transform:translateY(26px);transition:opacity .4s var(--ease),transform .4s var(--ease);}
.js .fade.in{opacity:1;transform:none;}
.fade.d1{transition-delay:.06s;} .fade.d2{transition-delay:.12s;} .fade.d3{transition-delay:.18s;}
.count{font-variant-numeric:tabular-nums;}
@media (prefers-reduced-motion:reduce){
  .js .fade{opacity:1;transform:none;transition:none;}
  .js .split .w > i{transform:none;transition:none;}
  #bar{display:none;}
  .ticker-track{animation:none !important;transform:none !important;}
  .ticker-group:nth-child(2){display:none;}
}

/* nav */
.navbar{background:#0A0B0D;position:fixed;top:0;left:0;right:0;z-index:50;}
.navbar-spacer{height:138px;}
@media (max-width:640px){ .navbar-spacer{height:112px;} }
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;}
.brand{display:inline-block;text-decoration:none;line-height:0;}
.brand svg{height:94px;width:auto;display:block;overflow:visible;
  transition:transform .55s var(--ease);transform-origin:50% 60%;}
.brand:hover svg{transform:scale(1.045);}
.foot-mark{display:block;margin:0 auto 36px;text-align:center;}
.foot-mark svg{height:124px;width:auto;display:inline-block;opacity:.92;}
.nav-links{display:flex;gap:34px;align-items:center;}
.nav-links a{text-decoration:none;font-size:15px;font-weight:600;letter-spacing:0.04em;color:var(--inv-fg);position:relative;padding-bottom:3px;transition:color .3s ease,opacity .3s ease;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--accent);transition:width .35s var(--ease);}
.nav-links a:hover{opacity:1;color:var(--accent);}
.nav-links a:hover::after,.nav-links a[aria-current]::after{width:100%;}
.nav-links a[aria-current]{color:var(--accent);}

.skip{position:absolute;left:-9999px;top:0;z-index:10001;background:#0A0B0D;color:#F4F5F7;
  padding:14px 22px;font-size:14px;text-decoration:none;}
.skip:focus{left:12px;top:12px;}

/* mobile menu */
.menu-btn{display:none;position:relative;width:44px;height:44px;padding:0;background:none;border:none;
  cursor:pointer;color:var(--inv-fg);}
.menu-btn i{position:absolute;left:10px;width:24px;height:1.5px;background:currentColor;
  transition:transform .4s var(--ease),opacity .25s ease;}
.menu-btn i:nth-child(1){top:18px;} .menu-btn i:nth-child(2){top:26px;}
.menu-btn[aria-expanded="true"] i:nth-child(1){transform:translateY(4px) rotate(45deg);}
.menu-btn[aria-expanded="true"] i:nth-child(2){transform:translateY(-4px) rotate(-45deg);}
.mobile-nav{position:fixed;inset:0;z-index:9998;background:#0A0B0D;color:#F4F5F7;overflow-y:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;justify-content:center;padding:96px 28px 44px;
  opacity:0;pointer-events:none;transition:opacity .38s ease;}
.mobile-nav.open{opacity:1;pointer-events:auto;}
.mobile-nav a{display:block;text-decoration:none;font-family:"Gloock","Times New Roman",Times,serif;
  font-size:clamp(30px,8.4vw,44px);line-height:1.28;letter-spacing:-0.02em;padding:7px 0;
  opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s var(--ease);}
.mobile-nav.open a{opacity:1;transform:none;}
.mobile-nav-close{position:absolute;top:22px;right:24px;width:44px;height:44px;padding:0;
  background:none;border:none;cursor:pointer;color:var(--inv-fg);z-index:1;}
.mobile-nav-close i{position:absolute;left:10px;top:21px;width:24px;height:1.5px;background:currentColor;}
.mobile-nav-close i:nth-child(1){transform:rotate(45deg);}
.mobile-nav-close i:nth-child(2){transform:rotate(-45deg);}
.mobile-nav.open a:nth-child(1){transition-delay:.08s;} .mobile-nav.open a:nth-child(2){transition-delay:.14s;}
.mobile-nav.open a:nth-child(3){transition-delay:.20s;} .mobile-nav.open a:nth-child(4){transition-delay:.26s;}
.mobile-nav.open a:nth-child(5){transition-delay:.32s;} .mobile-nav.open a:nth-child(6){transition-delay:.38s;}
.mobile-nav.open a:nth-child(7){transition-delay:.44s;}
.mobile-nav.open .mobile-call a{transition-delay:.50s;}
.mobile-call{margin-top:40px;padding-top:28px;border-top:1px solid var(--line-inv);}
.mobile-call a{font-size:clamp(26px,7vw,36px);}
.mobile-call span{display:block;font-family:"Inter",Arial,sans-serif;font-size:13px;
  letter-spacing:.09em;color:var(--grey-inv);margin-top:10px;}
@media (prefers-reduced-motion:reduce){
  .mobile-nav,.mobile-nav a,.menu-btn i{transition:none;}
  .mobile-nav a{opacity:1;transform:none;}
}

/* sticky mobile call bar */
.mobile-callbar{display:none;}
@media (max-width:900px){
  .mobile-callbar{
    display:flex;align-items:center;justify-content:center;gap:9px;
    position:fixed;left:0;right:0;bottom:0;z-index:9997;
    background:var(--inv-fg);color:var(--inv-bg);
    padding:15px 16px calc(15px + env(safe-area-inset-bottom));
    font-family:"Inter",Arial,sans-serif;font-size:15px;font-weight:600;letter-spacing:.03em;
    text-decoration:none;box-shadow:0 -6px 24px rgba(10,11,13,.16);
  }
  .mobile-callbar svg{width:17px;height:17px;flex:0 0 auto;}
  .mobile-callbar:active{background:var(--accent);color:var(--inv-fg);}
  body{padding-bottom:60px;}
}
@media (prefers-reduced-motion:reduce){ .mobile-callbar{transition:none;} }

/* buttons */
.btn{position:relative;display:inline-block;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:0.13em;
  padding:17px 32px;border:1px solid currentColor;cursor:pointer;overflow:hidden;isolation:isolate;
  transition:color .35s ease;background:transparent;}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleY(0);transform-origin:50% 100%;
  transition:transform .42s var(--ease);}
.btn:hover::before{transform:scaleY(1);}
.btn-fill{background:var(--inv-fg);color:var(--inv-bg);border-color:var(--inv-fg);}
.btn-fill::before{background:var(--inv-bg);}
.btn-fill:hover{color:var(--inv-fg);}
.btn-ghost{color:var(--inv-fg);border-color:var(--line-inv);}
.btn-ghost::before{background:var(--inv-fg);}
.btn-ghost:hover{color:var(--inv-bg);border-color:var(--inv-fg);}

/* heroes */
.eyebrow{display:inline-block;font-family:"Inter",Arial,sans-serif;font-size:12.5px;font-weight:500;
  letter-spacing:0.07em;color:var(--accent);border:1px solid var(--accent-glow);background:var(--accent-soft);
  border-radius:999px;padding:8px 18px;margin-bottom:22px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:480px){
  .eyebrow{font-size:11px;padding:7px 14px;letter-spacing:0.04em;}
}
.hero{position:relative;padding:150px 0 108px;overflow:hidden;background:#050506;color:var(--inv-fg);isolation:isolate;}
.hero.compact{padding:70px 0 84px;background:var(--inv-bg);overflow:visible;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;
  filter:sepia(.55) saturate(1.4) hue-rotate(-12deg) contrast(1.08) brightness(.42);transform:scale(1.03);}
.hero-scrim{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:0;animation:scrim-in 1.4s var(--ease) .1s forwards;
  background:
    radial-gradient(1100px 640px at 14% 8%,rgba(198,148,86,.28),transparent 58%),
    linear-gradient(180deg,rgba(5,5,6,.6) 0%,rgba(5,5,6,.78) 58%,rgba(5,5,6,.96) 100%);}
@keyframes scrim-in{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){ .hero-scrim{animation:none;opacity:1;} }
.hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.hero-spark{position:absolute;z-index:0;border-radius:50%;background:var(--accent);pointer-events:none;
  opacity:0;filter:blur(.2px);animation:spark-drift linear infinite;box-shadow:0 0 5px 1px var(--accent-glow);}
@keyframes spark-drift{
  0%{opacity:0;transform:translate(0,0) scale(.6);}
  10%{opacity:.5;}
  50%{transform:translate(var(--dx,18px),calc(var(--dy,-90px) * .5)) scale(1);}
  92%{opacity:.3;}
  100%{opacity:0;transform:translate(calc(var(--dx,18px) * 2),var(--dy,-90px)) scale(.5);}
}
@media (prefers-reduced-motion:reduce){ .hero-spark{animation:none;opacity:0;} }
.hero > .wrap{position:relative;z-index:1;}
.hero-grid{max-width:900px;}
.hero h1 .w > i{color:#F4F5F7;background:linear-gradient(100deg,#F4F5F7 30%,var(--accent) 50%,#F4F5F7 70%);
  background-size:320% 100%;-webkit-background-clip:text;background-clip:text;
  animation:hero-shine 1.7s var(--ease) .3s 1 both;}
@keyframes hero-shine{
  0%{background-position:220% 0;-webkit-text-fill-color:transparent;}
  85%{-webkit-text-fill-color:transparent;}
  100%{background-position:20% 0;-webkit-text-fill-color:#F4F5F7;}
}
@media (prefers-reduced-motion:reduce){ .hero h1 .w > i{animation:none;background-position:20% 0;-webkit-text-fill-color:#F4F5F7;} }
.hero .btn{overflow:hidden;isolation:isolate;}
.hero .btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);
  transform:scale(0);animation:ripple-out .6s ease-out forwards;pointer-events:none;z-index:0;}
.hero .btn-fill .ripple{background:rgba(10,11,13,.35);}
@keyframes ripple-out{to{transform:scale(1);opacity:0;}}
.hero-grid{display:block;}
.hero h1,.hero .hero-h{font-size:clamp(42px,5.9vw,76px);line-height:1.06;margin-bottom:26px;max-width:15ch;}
.hero.compact h1,.hero.compact .hero-h{font-size:clamp(38px,5.2vw,66px);max-width:17ch;}
.hero p{font-size:19.5px;font-weight:300;color:var(--grey-inv);max-width:46ch;margin:0 0 38px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);
  margin:86px -30px 0;border-top:1px solid var(--line-inv);}
.pillar{position:relative;padding:36px 30px 42px;isolation:isolate;
  display:flex;flex-direction:column;transition:color .42s ease,transform .5s var(--ease);}
.pillar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line-inv);
  transform:scaleY(0);transform-origin:50% 0;transition:transform .8s var(--ease);}
.pillar:first-child::before{display:none;}
.pillar.in::before{transform:scaleY(1);}
.pillar::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--inv-fg);
  transform:scaleY(0);transform-origin:50% 100%;transition:transform .46s var(--ease);}
.pillar:hover::after{transform:scaleY(1);}
.pillar:hover{color:var(--inv-bg);transform:translateY(-4px);}
.p-t,.p-s{overflow-wrap:break-word;}
.p-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.p-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;
  border:1px solid var(--accent-glow);border-radius:50%;color:var(--accent);
  transition:border-color .42s ease,transform .42s var(--ease),background .42s ease;}
.p-icon svg{width:19px;height:19px;display:block;}
.pillar:hover .p-icon{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.06);}
.p-i{display:block;font-size:12px;letter-spacing:0.16em;color:var(--grey-inv);
  margin:0;transition:color .42s ease,opacity .42s ease;}
.pillar:hover .p-i{color:var(--inv-bg);opacity:.55;}
.p-t{display:block;font-family:"Gloock","Times New Roman",Times,serif;
  font-size:clamp(21px,2.05vw,28px);line-height:1.22;letter-spacing:-0.018em;
  margin:0 0 16px;min-height:2.5em;text-wrap:balance;}
.p-s{margin:auto 0 0;font-size:15px;font-weight:400;line-height:1.58;color:var(--grey-inv);
  max-width:27ch;transition:color .42s ease,opacity .42s ease;}
.pillar:hover .p-s{color:var(--inv-bg);opacity:.72;}

/* industries row: infinite scrolling marquee */
.ticker{border-top:1px solid var(--line-inv);border-bottom:1px solid var(--line-inv);padding:22px 0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ticker-track{display:flex;align-items:center;width:max-content;
  animation:ticker-scroll 28s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-group{display:flex;align-items:center;flex-shrink:0;}
.ticker-track span{font-family:"Gloock","Times New Roman",Times,serif;font-size:22px;padding:0 22px;white-space:nowrap;color:var(--grey-inv);position:relative;}
.ticker-track span::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.75;}
@keyframes ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* sections */
.sec{padding:118px 0;}
.sec.tight{padding:96px 0;}
.sec-head{max-width:22ch;margin-bottom:66px;}
.sec-head h2{font-size:clamp(33px,4.3vw,53px);line-height:1.1;margin-bottom:18px;}
.sec-head p{color:var(--grey);margin:0;font-size:18px;font-weight:300;max-width:50ch;}
.on-dark .sec-head p{color:var(--grey-inv);}

/* wide-screen sections: heading+intro beside the content instead of stacked above it */
.sec-split{display:grid;grid-template-columns:300px 1fr;gap:0 64px;align-items:start;}
.sec-split .sec-head{grid-column:1;margin-bottom:0;max-width:none;}
.sec-split > .rows,.sec-split > .work-grid,.sec-split > .steps{grid-column:2;}
.sec-split > .note{grid-column:1 / -1;}
@media (max-width:1000px){
  .sec-split{display:block;}
  .sec-split .sec-head{margin-bottom:66px;max-width:22ch;}
}

.statement{padding:140px 0;text-align:center;}
.statement h2{font-size:clamp(30px,4.1vw,49px);line-height:1.2;margin:0 auto 24px;max-width:20ch;}
.statement p{color:var(--grey);max-width:52ch;margin:0 auto;font-weight:300;font-size:18px;}

/* two-col row list */
.rows{display:grid;grid-template-columns:repeat(2,1fr);gap:0 90px;}
.row-item{padding:36px 0;border-top:1px solid var(--line);transition:padding-left .4s var(--ease);}
.row-item:hover{padding-left:16px;}
.row-item h3{font-size:27px;margin-bottom:10px;}
.row-item p{margin:0;color:var(--grey);font-size:16.5px;font-weight:400;max-width:42ch;}
.on-dark .row-item{border-color:var(--line-inv);}
.on-dark .row-item p{color:var(--grey-inv);}

.rows-4{grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;gap:0 40px;}
.rows-4 .row-item{grid-row:span 2;display:grid;grid-template-rows:subgrid;padding:32px 0 34px;}
.rows-4 .row-item h3{font-size:clamp(20px,1.95vw,25px);line-height:1.24;margin:0;
  padding-bottom:12px;align-self:start;text-wrap:balance;}
.rows-4 .row-item p{max-width:none;font-size:16px;align-self:start;}
@supports not (grid-template-rows: subgrid){
  .rows-4 .row-item{display:block;}
  .rows-4 .row-item h3{min-height:2.48em;}
}

.note{margin-top:52px;padding-top:34px;border-top:1px solid var(--line);max-width:60ch;font-size:18px;font-weight:300;color:var(--grey);}
.note strong{color:var(--fg);font-weight:500;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;}
.steps.four{grid-template-columns:repeat(4,1fr);}
.step{border-top:1px solid var(--line-inv);padding-top:24px;}
.step-n{font-family:"Gloock","Times New Roman",Times,serif;font-size:19px;display:block;margin-bottom:16px;color:var(--grey-inv);}
.step h3{font-size:22px;margin-bottom:9px;}
.step p{margin:0;color:var(--grey-inv);font-size:15.5px;font-weight:400;}
.steps-light .step{border-color:var(--line);}
.steps-light .step-n,.steps-light .step p{color:var(--grey);}

/* work */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;}
.work-frame{border:1px solid var(--line);overflow:hidden;background:var(--bg);box-shadow:0 1px 2px rgba(10,11,13,.04);
  transition:transform .5s var(--ease),border-color .4s ease,box-shadow .5s ease;
  position:relative;aspect-ratio:340/300;perspective:1200px;transform-style:preserve-3d;}
.work-card:hover .work-frame{transform:translateY(-8px);border-color:var(--fg);box-shadow:0 18px 40px rgba(10,11,13,.13);}
.work-meta{padding-top:18px;}
.work-meta h3{font-size:23px;margin-bottom:5px;transition:color .3s ease;}
.work-card:hover .work-meta h3{color:var(--accent);}
.work-meta p{margin:0;color:var(--grey);font-size:15.5px;font-weight:400;}
.work-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  filter:saturate(.82) contrast(1.04) brightness(.97);
  transform:scale(1.08);transition:transform 1.1s var(--ease),filter .6s ease;}
.work-card:hover .work-photo{transform:scale(1.16);filter:saturate(.95) contrast(1.06) brightness(1.02);}
.work-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(175deg,rgba(10,11,13,.12) 0%,rgba(10,11,13,.62) 78%,rgba(10,11,13,.74) 100%);
  transition:background .5s ease;}
.work-card:hover .work-frame::after{background:linear-gradient(175deg,rgba(10,11,13,.05) 0%,rgba(10,11,13,.5) 78%,rgba(10,11,13,.64) 100%);}
.work-frame svg{position:relative;z-index:2;}
.work-badge{position:absolute;top:16px;left:16px;z-index:2;width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--accent);
  background:rgba(10,11,13,.5);border:1px solid var(--accent-glow);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  transition:border-color .42s ease,transform .42s var(--ease),background .42s ease;}
.work-badge svg{width:20px;height:20px;display:block;}
.work-card:hover .work-badge{border-color:var(--accent);background:rgba(10,11,13,.68);transform:scale(1.08);}
.work-accent{position:absolute;left:0;right:0;bottom:0;height:4px;z-index:2;background:var(--accent);
  transform:scaleX(.3);transform-origin:0 50%;transition:transform .6s var(--ease);}
.work-card:hover .work-accent{transform:scaleX(1);}

/* figures */
.figs{display:grid;grid-template-columns:repeat(3,1fr);}
.fig{padding:52px 44px;border-left:1px solid var(--line-inv);}
.fig:first-child{border-left:none;padding-left:0;}
.fig-n{font-family:"Gloock","Times New Roman",Times,serif;color:var(--accent);font-size:clamp(52px,6.4vw,80px);line-height:.92;display:block;margin-bottom:12px;}
.fig p{margin:0;color:var(--grey-inv);font-size:16px;font-weight:400;max-width:26ch;}

/* prose */
.prose{max-width:62ch;}
.prose h3{font-size:28px;margin:52px 0 14px;}
.prose h3:first-child{margin-top:0;}
.prose p{color:var(--grey);font-weight:400;margin:0 0 18px;font-size:17.5px;}
.prose p.lead{font-family:"Gloock","Times New Roman",Times,serif;font-size:26px;line-height:1.42;color:var(--fg);margin-bottom:34px;}

/* faq */
.faq details{border-top:1px solid var(--line);}
.faq summary{cursor:pointer;padding:26px 0;font-family:"Gloock","Times New Roman",Times,serif;font-size:22px;list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:baseline;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-family:"Inter",Arial,sans-serif;font-weight:300;font-size:22px;flex-shrink:0;}
.faq details[open] summary::after{content:"–";}
.faq details[open] p{animation:faqIn .5s var(--ease) both;}
@keyframes faqIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.faq p{margin:0 0 28px;color:var(--grey);font-weight:400;max-width:62ch;}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.phone{display:block;font-family:"Gloock","Times New Roman",Times,serif;font-size:clamp(34px,4.4vw,50px);text-decoration:none;line-height:1.1;margin-bottom:8px;}
.phone:hover{opacity:.7;}
.phone-note{font-size:15px;color:var(--grey);font-weight:300;}
.contact-copy p{color:var(--grey);font-weight:300;font-size:18px;max-width:38ch;margin:0 0 38px;}
form{display:grid;gap:26px;border:1px solid var(--line);padding:44px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
label{display:block;font-size:12.5px;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;
  color:var(--fg);margin-bottom:11px;transition:color .25s ease;}
label [aria-hidden="true"]{color:var(--accent);}
input,select,textarea{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--line);
  color:var(--fg);font-family:inherit;font-size:17px;font-weight:400;padding:10px 2px;border-radius:0;
  transition:border-color .25s ease,background-color .25s ease;}
input::placeholder,textarea::placeholder{color:var(--grey);font-weight:400;}
select{cursor:pointer;}
select option{background:var(--bg);color:var(--fg);font-weight:400;}
textarea{resize:vertical;min-height:70px;}
input:hover,select:hover,textarea:hover{border-bottom-color:var(--grey);}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--accent);background:var(--accent-soft);}
.f-row > div:has(:focus) label,form > div:has(:focus) label{color:var(--accent);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-status{margin:0;font-size:14.5px;color:var(--grey);min-height:1.2em;}
.form-status.err{color:#C0392B;}
.form-note{font-size:14px;color:var(--grey);font-weight:300;margin:0;}
#quote-form .btn-fill{background:var(--fg);color:var(--bg);border-color:var(--fg);}
#quote-form .btn-fill::before{background:var(--bg);}
#quote-form .btn-fill:hover{color:var(--fg);}

/* closing cta */
.close-cta{text-align:center;padding:130px 0;}
.close-cta h2{font-size:clamp(38px,5.6vw,68px);margin:0 auto 20px;max-width:16ch;line-height:1.04;}
.close-cta p{color:var(--grey-inv);max-width:44ch;margin:0 auto 40px;font-size:18px;font-weight:300;}

footer{padding:0 0 56px;}
.foot-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px;letter-spacing:0.04em;color:var(--grey-inv);padding-top:38px;border-top:1px solid var(--line-inv);}
.foot-in a{text-decoration:none;}
.foot-in > a{padding:11px 0;display:inline-block;}
.foot-nav{display:flex;gap:8px 22px;flex-wrap:wrap;}
.foot-nav a{padding:6px 0;display:inline-block;}
.foot-in a:hover{color:var(--inv-fg);}

a:focus-visible,summary:focus-visible,button:focus-visible{outline:1px solid currentColor;outline-offset:5px;}
main:focus{outline:none;}
.btn{transition:transform .38s var(--ease),box-shadow .38s ease,background .3s ease,color .3s ease,border-color .3s ease;}
.btn-fill:hover{transform:translateY(-3px);box-shadow:0 14px 34px -8px var(--accent-glow);}
.btn-ghost:hover{transform:translateY(-3px);box-shadow:0 10px 26px -10px var(--accent-glow);}

/* staggered reveal refinement: children of .fade/.split get incremental delay via --i */
.js .fade,.js .split{transition-delay:calc(min(var(--i,0), 4) * 45ms);}
.js .work-card.fade{transition-delay:calc(min(var(--i,0), 4) * 70ms);}

@media (max-width:1000px){
  .steps,.steps.four{grid-template-columns:repeat(2,1fr);gap:36px 28px;}
  .rows-4{grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto auto auto;gap:0 48px;}
  .work-grid{grid-template-columns:1fr;gap:48px;}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:52px;}
  .hero,.hero.compact{padding:52px 0 76px;}
  .figs{grid-template-columns:1fr;}
  .fig{border-left:none;border-top:1px solid var(--line-inv);padding:36px 0;}
  .fig:first-child{border-top:none;padding-top:0;}
  .contact-grid{grid-template-columns:1fr;gap:44px;}
  .pillars{grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto auto auto auto auto;margin-top:64px;}
  .nav-links{display:none;}
  .menu-btn{display:block;}
  .nav-in > .btn-ghost{display:none;}
  .sec,.sec.tight{padding:84px 0;}
  .statement{padding:100px 0;}
  .close-cta{padding:96px 0;}
}
@media (max-width:640px){
  body{font-size:16.5px;}
  .wrap,.narrow{padding:0 24px;}
  .rows{grid-template-columns:1fr;gap:0;}
  .rows-4{grid-template-columns:1fr;grid-template-rows:none;}
  .rows-4 .row-item{grid-row:auto;display:block;padding:28px 0 30px;}
  .rows-4 .row-item h3{min-height:0;padding-bottom:9px;}
  .steps,.steps.four{grid-template-columns:1fr;gap:30px;}
  .f-row{grid-template-columns:1fr;}
  form{padding:28px 22px;}
  .sec,.sec.tight{padding:70px 0;}
  .sec-head{margin-bottom:44px;}
  .ticker-track span{font-size:17px;padding:0 14px;}
  .brand svg{height:68px;}
  .foot-mark svg{height:88px;}
  .foot-nav a{padding:10px 0;}
  .foot-in{flex-direction:column;align-items:flex-start;gap:14px;}
  .pillars{grid-template-columns:1fr;grid-template-rows:none;margin:52px -24px 0;}
  .pillar{grid-row:auto;display:block;padding:28px 24px 30px;}
  .p-t{min-height:0;padding-bottom:11px;}
  .p-i{padding-bottom:18px;}
  .pillar::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;
    transform:scaleX(0);transform-origin:0 50%;}
  .pillar.in::before{transform:scaleX(1);}
  .pillar:first-child::before{display:none;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;text-align:center;}
}

@media (prefers-reduced-motion: reduce){
  .work-photo,.work-frame::after,.btn,.pillar,.work-meta h3{transition:none !important;}
  .work-frame{transform:none !important;}
}
