/* ARBuena Architects concept — Vendrato. Plain CSS, mobile-first. */
:root{
  --ink:#131a15; --ink-2:#3f4741; --ink-3:#545a55;
  --canvas:#ffffff; --surface:#f1f2ee; --rule:#d9ddd5;
  --green:#558235; --green-d:#456c2a; --green-tint:#e9efe3;
  --deep:#141f18; --deep-2:#1d2a21; --on-deep:#eef1ec; --on-deep-2:#c3cbc4;
  --wrap:1360px; --gut:20px; --sec:88px;
  --ease:cubic-bezier(.23,1,.32,1);
  --display:"Archivo",system-ui,sans-serif;
}
@media (min-width:768px){:root{--gut:32px;--sec:112px}}
@media (min-width:1200px){:root{--sec:144px}}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.ab{margin:0;background:var(--canvas);color:var(--ink);font-family:"Archivo",system-ui,sans-serif;font-size:17px;line-height:1.6;font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (min-width:768px){body.ab{font-size:18px}}
.ab img{display:block;max-width:100%;height:auto}
:where(.ab) a{color:inherit}
.ab :focus-visible{outline:2px solid var(--green);outline-offset:3px}
.ab h1,.ab h2,.ab h3,.ab h4{font-family:var(--display)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px}
.skip:focus{left:8px}

/* Type */
.d1,.d2,.d3{font-family:var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;font-weight:500;letter-spacing:-.008em;line-height:1;text-wrap:balance;margin:0}
.d1{font-size:clamp(56px,8vw,120px);line-height:.94}
.d2{font-size:clamp(32px,3.6vw,52px);font-weight:450}
.d3{font-size:clamp(26px,2.6vw,36px);line-height:1.06;font-weight:450}
.lead{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--ink-2);max-width:56ch;margin:0}
.muted{color:var(--ink-2)}
.meta{font-size:14px;line-height:1.45;color:var(--ink-3);font-weight:500}
.prose p{margin:0 0 1em;max-width:62ch;color:var(--ink-2)}
.prose p:last-child{margin-bottom:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;font:500 16px/1 var(--display);letter-spacing:.01em;text-decoration:none;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease);white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:var(--green-d)}
.btn-line{border-color:currentColor;color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.on-dark .btn-line,.btn-line.light{color:#fff;border-color:rgba(255,255,255,.7)}
.on-dark .btn-line:hover,.btn-line.light:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{background:var(--green-tint)}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding:10px 0 4px;min-height:44px;box-sizing:border-box}
.link:hover{color:var(--green)}
.on-dark .link:hover{color:#fff;border-color:#fff}

/* Header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;color:#fff;transition:background-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease)}
.hdr::before{content:"";position:absolute;inset:0 0 -40px 0;background:linear-gradient(to bottom,rgba(10,16,12,.55),rgba(10,16,12,0));pointer-events:none;transition:opacity .25s}
.hdr.solid,.page-plain .hdr{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--rule)}
.hdr.solid::before,.page-plain .hdr::before{opacity:0}
.hdr-in{position:relative;display:flex;align-items:center;gap:12px;height:68px}
@media (min-width:1024px){.hdr-in{height:80px;gap:28px}}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-height:44px}
.brand img{width:40px;height:40px}
.brand span{font:500 15px/1.05 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;letter-spacing:.06em;text-transform:uppercase}
.brand span b{display:block;font-weight:600;font-size:19px;letter-spacing:.04em}
@media (max-width:1023px){.hdr-cta .btn-line{width:44px;padding:0}.hdr-cta .btn-line .call-word{display:none}}
@media (max-width:359px){.brand span{display:none}}
.nav{display:none;gap:4px}
.nav a{display:flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;font-weight:500;font-size:16px;opacity:.88;position:relative}
.nav a:hover,.nav a[aria-current=page]{opacity:1}
.nav a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:currentColor}
.hdr-cta{display:flex;gap:8px;align-items:center}
.hdr-cta .btn{min-height:44px;padding:0 14px;font-size:15px}
.hdr .btn-line{color:inherit;border-color:currentColor}
.hdr:not(.solid) .btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}
.page-plain .hdr .btn-line:hover,.hdr.solid .btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.call-num{display:none}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;color:inherit;cursor:pointer;padding:0}
.menu-btn svg{width:24px;height:24px}
@media (min-width:1024px){.nav{display:flex}.menu-btn{display:none}.call-num{display:inline}}
.mnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--ink);border-top:1px solid var(--rule);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.mnav.open{display:block}
.mnav a{display:flex;align-items:center;min-height:56px;padding:0 var(--gut);border-bottom:1px solid var(--rule);text-decoration:none;font:500 22px/1 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75}
@media (min-width:1024px){.mnav{display:none!important}}

/* Hero */
.hero{position:relative;min-height:600px;height:100svh;max-height:900px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--deep)}
.hero.short{height:78svh;max-height:720px;min-height:520px}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,19,14,.82) 0%,rgba(12,19,14,.5) 45%,rgba(12,19,14,.1) 80%)}
.hero-body{position:relative;width:100%;padding-bottom:40px}
@media (min-width:768px){.hero-body{padding-bottom:64px}}
.hero h1{max-width:13ch}
.hero.short h1{max-width:16ch}
.hero .lead{color:rgba(255,255,255,.88);margin-top:20px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-cap{font-size:14px;color:rgba(255,255,255,.75);margin-top:28px}
@media (min-width:1024px){.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}.hero-cap{text-align:right;max-width:26ch;margin:0}}
@media (prefers-reduced-motion:no-preference){.hero-img img{animation:settle 1.6s var(--ease) both}@keyframes settle{from{transform:scale(1.04)}to{transform:none}}}

/* Sections */
.sec{padding:var(--sec) 0}
.sec.tight-top{padding-top:calc(var(--sec)*.5)}
.sec-head{display:grid;gap:20px;margin-bottom:48px}
@media (min-width:900px){.sec-head{grid-template-columns:7fr 5fr;align-items:end;gap:48px;margin-bottom:64px}.sec-head .lead,.sec-head p{justify-self:start}}
.surface{background:var(--surface)}
.dark{background:var(--deep);color:var(--on-deep)}
.dark .muted,.dark .lead,.dark .prose p{color:var(--on-deep-2)}
.dark .meta{color:var(--on-deep-2)}

/* Practice sheet */
.sheet-grid{display:grid;gap:40px}
@media (min-width:1000px){.sheet-grid{grid-template-columns:6fr 6fr;gap:96px;align-items:start}}
.tblock{border-top:1.5px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;margin:0}
.tblock div{padding:14px 0 16px;border-bottom:1px solid var(--rule)}
.tblock div.l{padding-right:20px}
.tblock div.full{grid-column:1/-1}
.tblock dt{font-size:14px;color:var(--ink-3);font-weight:500;margin:0 0 4px}
.tblock dd{margin:0;font-size:16px;line-height:1.45}
.tblock dd.big{font:500 clamp(26px,2.4vw,34px)/1 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75}
@media (min-width:1000px){.tblock{margin-top:12px}}
/* Work grid */
.work{display:grid;gap:40px 24px;grid-template-columns:1fr}
@media (min-width:800px){.work{grid-template-columns:repeat(12,1fr);gap:64px 32px}}
.work figure{margin:0}
.work .ph{overflow:hidden;background:var(--surface);aspect-ratio:4/3}
.work .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.work a:hover .ph img,.work a:focus-visible .ph img{transform:scale(1.03)}
.work a{text-decoration:none;display:block}
.work figcaption{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-top:14px;border-top:1px solid var(--rule);padding-top:12px}
.work figcaption strong{font-weight:500;font-size:18px;line-height:1.3}
.work figcaption span{font-size:14px;color:var(--ink-3);white-space:nowrap}
@media (min-width:800px){
 .w12{grid-column:1/-1}.w7{grid-column:span 7}.w6{grid-column:span 6}.w5{grid-column:span 5}
 .work .ph{aspect-ratio:auto;height:clamp(300px,33vw,500px)}
 .work .w12 .ph{height:clamp(380px,46vw,700px)}
}
/* Register (sector index) */
.reg{display:grid;gap:40px}
@media (min-width:1000px){.reg{grid-template-columns:5fr 7fr;gap:72px}}
.reg-prev{display:none}
@media (min-width:1000px){.reg-prev{display:block;position:sticky;top:120px;align-self:start}
 .reg-prev .ph{aspect-ratio:1/1;overflow:hidden;background:var(--deep-2)}
 .reg-prev img{width:100%;height:100%;object-fit:cover;transition:opacity .25s var(--ease)}
 .reg-prev p{margin:14px 0 0}}
.reg-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.22)}
.reg-list li{border-bottom:1px solid rgba(255,255,255,.22)}
.reg-list a{display:grid;grid-template-columns:1fr;gap:6px;padding:18px 0;text-decoration:none;color:var(--on-deep)}
.reg-list .rn{font:450 clamp(26px,2.6vw,38px)/1 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;letter-spacing:-.01em;transition:color .15s}
.reg-list .rc{font:500 16px/1 var(--display);color:var(--on-deep-2);align-self:center;font-variant-numeric:tabular-nums}
.reg-list .rp{font-size:15px;line-height:1.5;color:var(--on-deep-2);max-width:70ch}
.reg-list a:hover .rn,.reg-list a:focus-visible .rn,.reg-list a.on .rn{color:#9fc67f}

/* Services rows */
.split{display:grid;gap:40px}
@media (min-width:1000px){.split{grid-template-columns:5fr 7fr;gap:72px;align-items:start}.split.rev{grid-template-columns:7fr 5fr}.split.rev>:first-child{order:2}}
.split .ph{overflow:hidden}
.split .ph img{width:100%;height:auto}
.svc{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.svc li{padding:28px 0;border-bottom:1px solid var(--rule);display:grid;gap:10px}
@media (min-width:700px){.svc li{grid-template-columns:2.2fr 3fr;gap:32px}}
.svc h3{margin:0}
.svc p{margin:0;color:var(--ink-2)}
.sticky-media{position:relative}
@media (min-width:1000px){.split.stretch{align-items:stretch}.fill-media{display:flex;flex-direction:column}.fill-media .ph{flex:1;min-height:420px}.fill-media .ph img{width:100%;height:100%;object-fit:cover}}
@media (min-width:1000px){.sticky-media{position:sticky;top:112px}}

/* Principal */
.person{display:grid;gap:36px}
@media (min-width:900px){.person{grid-template-columns:301px 1fr;gap:72px;align-items:start}}
.person .ph img{width:100%;max-width:301px;aspect-ratio:301/350;object-fit:cover}
.creds{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--rule)}
.creds li{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:16px;color:var(--ink-2)}
.creds li b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}

/* Closing band: photo/text spread */
.band{background:var(--surface);color:var(--ink);padding:var(--sec) 0}
.band .d2{max-width:15ch}
.band p{color:var(--ink-2);max-width:52ch;font-size:clamp(18px,1.5vw,20px);margin:24px 0 0}
.band-grid{display:grid;gap:40px}
@media (min-width:1000px){.band-grid{grid-template-columns:7fr 5fr;gap:72px;align-items:stretch}}
.band address{font-style:normal;font-size:15px;line-height:1.6;color:var(--ink-3);margin-top:28px}
.band address a{color:var(--ink)}
.band-ph{overflow:hidden;min-height:280px}
.band-ph img{width:100%;height:100%;object-fit:cover}
/* Statement */
.statement{font:500 clamp(32px,4.2vw,60px)/1.06 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;letter-spacing:-.015em;max-width:24ch;margin:0;text-wrap:balance}

/* Lists */
.cols{display:grid;gap:0 48px}
@media (min-width:700px){.cols{grid-template-columns:1fr 1fr}}
.cols li,.plain li{padding:14px 0;border-bottom:1px solid var(--rule)}
.cols,.plain{list-style:none;margin:0;padding:0}
.dark .cols li,.dark .plain li{border-color:rgba(255,255,255,.2)}

/* Process: typographic numbered index */
.steps{list-style:none;margin:0;padding:0;border-top:1.5px solid rgba(255,255,255,.6)}
.steps li{display:grid;grid-template-columns:56px 1fr;gap:4px 20px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.steps .n{grid-row:span 2;font:400 48px/.9 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;color:var(--on-deep-2);font-variant-numeric:tabular-nums}
.steps h3{margin:0;font:500 clamp(26px,2.6vw,38px)/1.05 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;color:var(--on-deep)}
.steps p{margin:0;font-size:17px;color:var(--on-deep-2);max-width:52ch}
@media (min-width:900px){.steps li{grid-template-columns:140px 5fr 6fr;align-items:baseline;gap:40px;padding:32px 0}.steps .n{grid-row:auto;font-size:64px}}
/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}
.filters button{min-height:44px;padding:0 16px;border:1px solid var(--rule);background:#fff;color:var(--ink);font:500 15px/1 var(--display);cursor:pointer;border-radius:2px;transition:background-color .15s,border-color .15s}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.filters button span{color:inherit;opacity:.65;margin-left:6px;font-variant-numeric:tabular-nums}

/* Index */
.index{display:grid;gap:40px 48px}
@media (min-width:700px){.index{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.index{grid-template-columns:repeat(4,1fr)}}
.index h3{font:500 26px/1.05 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;margin:0 0 12px;padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
.index ul{list-style:none;margin:0;padding:0}
.index li{padding:7px 0;border-bottom:1px solid var(--rule);font-size:16px;line-height:1.4;color:var(--ink-2)}

/* Contact */
.contact-grid{display:grid;gap:56px}
@media (min-width:1000px){.contact-grid{grid-template-columns:5fr 7fr;gap:96px}}
.page-plain main{padding-top:68px}
@media (min-width:1024px){.page-plain main{padding-top:80px}}
.dl{margin:0;border-top:1.5px solid var(--ink)}
.dl div{padding:18px 0;border-bottom:1px solid var(--rule)}
.dl dt{font-size:14px;color:var(--ink-3);font-weight:500;margin-bottom:4px}
.dl dd{margin:0;font-size:18px}
.dl a{text-decoration:none;border-bottom:1px solid var(--rule)}
.dl a:hover{border-color:var(--ink)}
.form{background:var(--surface);padding:28px 20px}
@media (min-width:700px){.form{padding:48px}}
.form .row{display:grid;gap:20px}
@media (min-width:700px){.form .row.two{grid-template-columns:1fr 1fr}}
.form label{display:block;font-size:15px;font-weight:500;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;font:16px/1.4 "Archivo",system-ui,sans-serif;color:var(--ink);background:#fff;border:1px solid #b9bfb6;border-radius:2px}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--green);outline-offset:0;border-color:var(--green)}
.form .field{margin-bottom:20px}
.form-note{font-size:14px;color:var(--ink-3);margin:16px 0 0}
.form-msg{display:none;margin-top:20px;padding:18px 20px;background:#fff;border:1.5px solid var(--ink);font-size:16px}
.form-msg.show{display:block}

/* Footer */
.ftr{background:var(--deep);color:var(--on-deep);padding:80px 0 32px;font-size:16px}
.ftr a{text-decoration:none;color:var(--on-deep)}
.ftr a:hover{text-decoration:underline}
.ftr-grid{display:grid;gap:40px}
@media (min-width:900px){.ftr-grid{grid-template-columns:5fr 3fr 3fr 2fr;gap:48px}}
.ftr h2{font:500 15px/1 var(--display);color:var(--on-deep-2);margin:0 0 16px;letter-spacing:.01em}
.ftr p,.ftr address{margin:0;font-style:normal;color:var(--on-deep);line-height:1.6}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li a{display:inline-flex;min-height:36px;align-items:center}
.ftr .brand{color:#fff;margin-bottom:16px}
.ftr .brand span{display:block}
.ftr-base{margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);display:grid;gap:8px;font-size:13px;color:var(--on-deep-2)}
.ftr-base a{color:var(--on-deep);text-decoration:underline}
@media (min-width:900px){.ftr-base{grid-template-columns:1fr auto}}

/* Reveal */
@media (prefers-reduced-motion:no-preference){
 .js .rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
 .js .rv.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Mobile hero: one primary button, call as a text link */
@media (max-width:767px){.hero .hero-actions .btn-line{border-color:transparent;padding:0 4px;justify-content:flex-start;text-decoration:underline;text-underline-offset:4px}}
.band .d2{font-size:clamp(36px,4.2vw,60px)}

/* FAQ: editorial list, answers always visible */
.faq{margin:0;border-top:1.5px solid var(--ink)}
.faq div{padding:24px 0;border-bottom:1px solid var(--rule)}
.faq dt{font:500 clamp(21px,1.8vw,26px)/1.2 var(--display);font-stretch:85%;font-variation-settings:"wdth" 85;margin:0 0 10px}
.faq dd{margin:0;color:var(--ink-2);max-width:62ch}

.work .top .ph img{object-position:50% 20%}
@media (min-width:800px){.work .w12 .ph{height:clamp(360px,40vw,580px)}}
.sectors{margin-top:72px;border-top:1.5px solid var(--ink);padding-top:20px}
.sectors ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 28px}
.sectors a{display:inline-flex;align-items:center;min-height:48px;font:450 clamp(24px,2.4vw,34px)/1 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;text-decoration:none;border-bottom:1px solid transparent}
.sectors a:hover{color:var(--green);border-color:currentColor}
.svc-dark .svc{border-color:rgba(255,255,255,.6)}
.svc-dark .svc li{border-color:rgba(255,255,255,.18)}
.svc-dark .svc p{color:var(--on-deep-2)}
.svc-dark .meta{color:var(--on-deep-2)}
@media (max-width:999px){.svc-dark .fill-media{order:2}}
@media (max-width:999px){.band-ph{display:none}}
@media (min-width:1000px){.faq-side{position:sticky;top:120px;align-self:start}}
.faq-side a{color:var(--ink);text-underline-offset:3px}
.hero-img img{object-position:50% 70%}

@media (min-width:900px){.sw-link{justify-self:end!important;margin:0}}
.sw-link{margin:0}

@media (min-width:768px){.hero-img::after{background:linear-gradient(90deg,rgba(12,19,14,.8) 0%,rgba(12,19,14,.55) 38%,rgba(12,19,14,0) 68%),linear-gradient(to bottom,rgba(12,19,14,.35) 0%,rgba(12,19,14,0) 18%)}}
@media (max-width:599px){.work figcaption{flex-direction:column;gap:4px}}
@media (max-width:767px){.hero .hero-actions{flex-direction:column;align-items:stretch}.hero .hero-actions .btn-line{border-color:rgba(255,255,255,.7);padding:0 22px;justify-content:center;text-decoration:none}}
@media (min-width:900px){.sectors ul{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 32px}}
.person .ph img{aspect-ratio:301/394}

.hero.short h1{font-size:clamp(48px,6vw,92px)}
.hero-cap{text-shadow:0 1px 8px rgba(0,0,0,.6)}
.sectors a{font:450 clamp(20px,1.8vw,26px)/1 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;min-height:44px}
.faq-side .hero-actions .btn-line{color:var(--ink);border-color:var(--ink)}
/* Tap targets for inline links */
.band address a,.dl dd a,.ftr-base a{display:inline-block;padding:10px 0;line-height:1.2}
.ftr-base p{margin:0}

/* ===== Art direction v2: typographic opening ===== */
.th{position:relative;background:var(--canvas);padding:112px 0 40px;overflow:hidden}
@media (min-width:1024px){.th{padding:152px 0 56px}}
.th-in{position:relative;z-index:1}
.th-h{font-family:var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;font-weight:500;letter-spacing:-.018em;line-height:.9;margin:0;font-size:clamp(52px,8.4vw,128px);max-width:15ch;text-wrap:balance;color:var(--ink)}
.th-home .th-h{font-size:clamp(60px,12.6vw,198px);line-height:.86;max-width:12ch}
.th-row{display:grid;gap:24px;margin-top:32px}
.th-row .lead{color:var(--ink-2)}
.th-row .hero-actions{margin-top:0}
@media (min-width:900px){.th-row{grid-template-columns:7fr 5fr;align-items:end;gap:48px;margin-top:48px}.th-row .hero-actions{justify-content:flex-end}}
@media (max-width:767px){.th-row .hero-actions{flex-direction:column;align-items:stretch}}
.th-tex{position:absolute;inset:0 0 0 30%;background-size:cover;background-position:center;opacity:.6;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%);pointer-events:none}
@media (max-width:767px){.th-tex{inset:0 0 0 0;opacity:.28}}
.band-photo{margin:0;background:var(--canvas)}
.band-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:768px){.band-photo img{aspect-ratio:21/9;max-height:640px}}
.band-photo figcaption{padding-top:12px;padding-bottom:0}
@media (prefers-reduced-motion:no-preference){.th-h{animation:th-in 1s var(--ease) both}@keyframes th-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}
/* Renders in monochrome, photographs in colour */
.work .is-render .ph{background:#e6e8e2}
.kind{display:inline-block;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ink-3)}

@media (min-width:800px){.w8{grid-column:span 8}.w4{grid-column:span 4}
 .work .tall .ph{height:clamp(420px,46vw,660px)}
 .work .drop{margin-top:clamp(80px,12vw,180px)}
 .work-note{align-self:end;padding-bottom:56px}}
.statement-s{font:450 clamp(26px,2.4vw,34px)/1.1 var(--display);font-stretch:75%;font-variation-settings:"wdth" 75;margin:0 0 16px;max-width:18ch}
.work-note .muted{font-size:16px;margin:0;max-width:34ch}
.th-tex{background-image:url(https://imagedelivery.net/23Z_HuudOItjLqoJUZHfPQ/spec/arbuena/images/generated/line-plan-texture/w=1920,q=82,f=auto,fit=scale-down)}

/* v2 round 6 */
.faq-side a:not(.btn){color:var(--ink)}
.faq-side .hero-actions .btn-primary{color:#fff}
@media (max-width:767px){.faq-side .hero-actions,.band .hero-actions,.contact-grid .hero-actions{flex-direction:column;align-items:stretch}}
.th-row{grid-template-columns:1fr!important;justify-items:start}
.th-row .hero-actions{justify-content:flex-start!important;margin-top:4px}
.th-row .lead{max-width:60ch}
.th-tex{-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 35%,#000 75%);mask-image:linear-gradient(90deg,transparent 0%,transparent 35%,#000 75%);inset:0 0 0 20%}
@media (max-width:767px){.th-tex{opacity:.18;inset:0}}
.th{padding-bottom:72px}
@media (min-width:1024px){.th{padding-bottom:112px}}
.band{position:relative;overflow:hidden}
.band-in{position:relative;z-index:1}
.band .hero-actions{margin-top:28px}
.work .is-render .ph{position:relative}
.work .is-render .ph::after{content:"Render";position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);color:var(--ink);font:500 13px/1 var(--display);padding:6px 8px;letter-spacing:.02em}
@media (min-width:800px){.work .lead-tile .ph{height:clamp(420px,48vw,700px)}}
.sectors ul.core{display:grid;grid-template-columns:1fr;gap:0;margin-top:12px}
.sectors ul.core a{font-size:clamp(30px,3.4vw,48px);min-height:64px;justify-content:space-between;width:100%;border-bottom:1px solid var(--rule)}
.sectors ul.core a span{font:500 15px/1 var(--display);font-stretch:100%;font-variation-settings:"wdth" 100;color:var(--ink-3)}
@media (min-width:900px){.sectors ul.core{grid-template-columns:repeat(3,1fr);gap:0 32px}}
.sectors ul.rest{display:flex!important;flex-wrap:wrap;gap:4px 24px;margin-top:16px}
.sectors ul.rest a{font:500 16px/1 var(--display);font-stretch:100%;font-variation-settings:"wdth" 100;color:var(--ink-2)}
.person .ph img{max-width:100%}
@media (max-width:899px){.person .ph img{width:min(100%,301px)}}
.sectors ul.core a{font-size:clamp(28px,2.7vw,40px);gap:16px;white-space:nowrap}
.sectors ul.core a span{white-space:nowrap}

/* round 7 */
.th-home .th-h{font-size:clamp(60px,10.2vw,148px)}
@media (min-width:1024px){.th-home{padding-top:128px}}
@media (max-width:767px){.th{padding-bottom:40px}}
.th-tex{-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 35%,#000 75%),linear-gradient(to bottom,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,transparent 35%,#000 75%),linear-gradient(to bottom,#000 70%,transparent 100%);mask-composite:intersect}
.work figcaption{flex-direction:column;gap:4px;align-items:flex-start}
.render-tag{position:relative}
.render-tag::after{content:"Render";position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);color:var(--ink);font:500 13px/1 var(--display);padding:6px 8px}

/* round 8 */
:root{--ink-2:#3a3f3a}
.th-split{display:grid;gap:32px}
@media (min-width:1000px){.th-split{grid-template-columns:7fr 5fr;gap:56px;align-items:end}}
.th-home{padding-bottom:48px}
@media (min-width:1024px){.th-home{padding-top:120px;padding-bottom:64px}}
.th-home .th-h{font-size:clamp(58px,8.6vw,124px)}
.th-fig{margin:0}
.th-fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media (min-width:1000px){.th-fig img{aspect-ratio:auto;height:min(64vh,620px)}}
@media (max-width:999px){.th-fig img{aspect-ratio:3/2}}
.th-fig figcaption{margin-top:10px}
.th:not(.th-home){padding-bottom:32px}
@media (min-width:1024px){.th:not(.th-home){padding-bottom:48px}}
.sectors ul.core{grid-template-columns:1fr 1fr!important}
@media (min-width:900px){.sectors ul.core{grid-template-columns:repeat(4,1fr)!important}}
.sectors ul.core a{font-size:clamp(22px,2vw,28px)!important;min-height:56px}
@media (max-width:767px){.th-row{justify-items:stretch}.th-row .hero-actions{width:100%}}

/* round 9 */
:root{--ink-3:#4d524e}
.meta,.work figcaption span,.kind{font-size:14px}
@media (max-width:899px){.sectors ul.core{grid-template-columns:1fr!important}}
.sectors ul.core a{gap:20px}
.band-grid{align-items:end}
.band-dl{background:transparent}
@media (min-width:1000px){.band-grid{grid-template-columns:7fr 4fr!important;gap:96px}}
/* round 10 */
.faq-wrap{max-width:860px}
.faq-wrap .faq-side{position:static!important;margin-bottom:40px}
.svc-dark .svc{margin-top:0}
.person .ph img{filter:none}
@media (min-width:1000px){.th-split{grid-template-columns:6fr 6fr;gap:48px}.th-home .th-h{font-size:clamp(58px,7.6vw,112px)}.th-fig img{height:min(68vh,640px)}}

/* round 11 */
@media (min-width:900px){.faq-grid div{display:grid;grid-template-columns:5fr 7fr;gap:48px}.faq-grid dt{margin:0}}
