:root{--mark:url("../img/mark.png")}
:root{
  --ground:#EDEDE9; --step:#E1E1DC; --paper:#FFFFFF;
  --ink:#0D0E10; --ink-2:#45484D;
  --accent:#F04E1A; --on-accent:#0D0E10;
  --dark:#131518; --dark-2:#1E2125; --on-dark:#F1F1ED; --on-dark-2:#BBBFC5;
  --m:clamp(20px,10vw,180px); --gap:clamp(16px,2.2vw,32px); --max:1280px;
  --sec:clamp(84px,8.5vw,140px);
  --f:'Archivo',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --t-display:clamp(44px,7.6vw,124px);
  --t-h1:clamp(36px,5.6vw,88px);
  --t-h2:clamp(32px,4vw,60px);
  --t-h3:clamp(22px,1.9vw,28px);
  --t-body:clamp(18px,1.2vw,19px);
  --t-small:16px;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f);font-size:var(--t-body);line-height:1.62;font-variation-settings:'wdth' 100;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:780;font-variation-settings:'wdth' 82;letter-spacing:-.022em;line-height:1.02;text-wrap:balance}
h3{font-size:var(--t-h3);font-weight:700;letter-spacing:-.015em;line-height:1.12;font-variation-settings:'wdth' 88}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--ground);padding:10px 14px;z-index:99}
.skip:focus{left:8px}
.wrap{padding-inline:max(var(--m),calc((100% - var(--max)) / 2))}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.lead{font-size:clamp(19px,1.45vw,22px);line-height:1.55;max-width:40ch}
.muted{color:var(--ink-2)}
.num{font-variant-numeric:tabular-nums}

/* buttons and links */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 24px;border:0;border-radius:0;background:var(--accent);color:var(--on-accent);font:inherit;font-size:17px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),background-color .25s}
.btn:hover{background:var(--ink);color:var(--ground)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn.ink{background:var(--ink);color:var(--ground)}
.btn.ink:hover{background:var(--paper);color:var(--ink)}
.btn .ar{transition:transform .3s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.tlink{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--accent);transition:text-underline-offset .25s,color .2s}
.tlink:hover{text-underline-offset:8px}
.on-dark .tlink:hover,.tlink.light:hover{color:var(--paper)}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:var(--ground);transition:background-color .3s}
.nav.dark{background:var(--dark);color:var(--on-dark)}
.nav-in{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:19px;letter-spacing:-.01em;font-variation-settings:'wdth' 82;margin-right:auto}
.mark{display:inline-block;width:20px;height:30px;background:currentColor;-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat}
.nav-links{display:flex;gap:26px}
.nav-links a{text-decoration:none;font-size:17px;font-weight:600;position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current]::after{transform:scaleX(1)}
.menu-btn{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 4px;border:0;background:none;color:inherit;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.menu-btn .bars{width:20px;height:10px;position:relative}
.menu-btn .bars::before,.menu-btn .bars::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .3s var(--ease)}
.menu-btn .bars::before{top:0}.menu-btn .bars::after{bottom:0}
.menu-btn[aria-expanded="true"] .bars::before{transform:translateY(4px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars::after{transform:translateY(-4px) rotate(-45deg)}
.nav .btn{min-height:44px;padding:0 18px;font-size:15px}
.panel{position:absolute;left:0;right:0;top:76px;background:var(--dark);color:var(--on-dark);box-shadow:0 24px 60px rgba(0,0,0,.28);padding:40px var(--m) 48px;display:none}
.panel.open{display:block;animation:drop .35s var(--ease)}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.panel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.panel h2{font-size:18px;font-weight:700;letter-spacing:0;color:var(--on-dark-2);margin-bottom:14px;font-variation-settings:'wdth' 100}
.panel ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.panel a{text-decoration:none;font-size:clamp(20px,1.7vw,26px);font-weight:700;letter-spacing:-.015em;font-variation-settings:'wdth' 84;display:inline-block;padding:3px 0;transition:color .2s,transform .25s var(--ease)}
.panel a:hover{color:var(--accent);transform:translateX(4px)}
@media (max-width:980px){.nav-links{display:none}.panel-grid{grid-template-columns:1fr 1fr;row-gap:32px}}
@media (max-width:560px){.nav .btn{display:none}.panel{max-height:calc(100vh - 76px);overflow:auto}.panel-grid{grid-template-columns:1fr}}

/* pages */
.js .page{display:none}
.js .page.show{display:block}

/* HOME hero */
.hero{padding-top:clamp(28px,4vw,56px)}
.hero h1{font-size:var(--t-display);line-height:.94;letter-spacing:-.035em;font-variation-settings:'wdth' 76}
.hero-row{margin-top:clamp(28px,3.4vw,52px);align-items:start}
.hero-text{grid-column:1/span 5;padding-right:clamp(0px,2vw,32px);display:flex;flex-direction:column;gap:32px;padding-bottom:var(--m)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.hero-media{grid-column:6/-1;position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--dark)}
.hero-media img{width:100%;height:100%;object-fit:cover;transform-origin:60% 50%}
.hero-cap{position:absolute;left:0;bottom:0;background:var(--ground);padding:12px 18px 0 0;font-size:var(--t-small);color:var(--ink-2)}
@media (max-width:900px){.hero-text{grid-column:1/-1}.hero-media{grid-column:1/-1;aspect-ratio:16/10}}

/* stages strip */
.stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:clamp(40px,5vw,72px)}
.stages li{display:flex;flex-direction:column;gap:8px}
.stages b{font-size:clamp(28px,3vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1;font-variation-settings:'wdth' 74}
.stages span{max-width:30ch}
@media (max-width:760px){.stages{grid-template-columns:1fr 1fr;row-gap:28px}}

/* section scaffolding */
.sec{padding-block:var(--sec)}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;margin-bottom:clamp(44px,5vw,80px)}
.sec-head h2{grid-column:1/span 7;font-size:var(--t-h2)}
.sec-head .lead{grid-column:8/-1}
@media (max-width:900px){.sec-head h2,.sec-head .lead{grid-column:1/-1}.sec-head .lead{margin-top:20px}}
.on-dark{background:var(--dark);color:var(--on-dark)}
.on-dark .muted{color:var(--on-dark-2)}
.on-step{background:var(--step)}
.on-accent{background:var(--accent);color:var(--on-accent)}

/* solutions list on home */
.sol{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:clamp(56px,6vw,96px)}
.sol-item{grid-column:span 5;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;text-decoration:none}
.sol-item .ph{margin-bottom:8px}
.sol-item .ph{overflow:hidden;aspect-ratio:16/9;background:var(--dark)}
.sol-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.sol-item:hover img{transform:scale(1.04)}
.sol-item h3{font-size:clamp(28px,2.6vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1;font-variation-settings:'wdth' 76;display:flex;justify-content:space-between;gap:16px}
.sol-item h3 .ar{color:var(--accent);transition:transform .3s var(--ease)}
.sol-item:hover h3 .ar{transform:translateX(6px)}
.sol-item p{max-width:46ch}
.sol-item .incl{color:var(--ink-2);font-size:var(--t-small)}
.sol-item:nth-child(odd){grid-column:1/span 6}
.sol-item:nth-child(even){grid-column:7/span 6}
.sol-item:nth-child(2){margin-top:clamp(0px,6vw,96px)}
.sol-item:nth-child(4){margin-top:clamp(0px,6vw,96px)}
.sol-more{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px 40px;background:var(--step);padding:clamp(24px,3vw,40px)}
.sol-more p{font-size:clamp(20px,1.8vw,26px);font-weight:700;letter-spacing:-.015em;font-variation-settings:'wdth' 86;max-width:48ch;line-height:1.2}
@media (max-width:760px){.sol-item:nth-child(n){grid-column:1/-1}.sol-item:nth-child(2),.sol-item:nth-child(4){margin-top:0}}

/* tag builder */
.tagsec .grid{align-items:start;row-gap:56px}
.tag-form{grid-column:1/span 6;display:flex;flex-direction:column;gap:30px}
.tag-form h2{font-size:var(--t-h2)}
.tag-form .lead{max-width:40ch}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend,.flabel{display:block;font-weight:700;font-size:17px;margin-bottom:12px;padding:0}
.toggles{display:flex;flex-wrap:wrap;gap:8px}
.toggles input{position:absolute;opacity:0;pointer-events:none}
.toggles label{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;background:rgba(13,14,16,.1);font-weight:600;font-size:16px;cursor:pointer;transition:background-color .2s,color .2s,transform .2s var(--ease)}
.toggles label:hover{background:rgba(13,14,16,.2)}
.toggles label:active{transform:scale(.97)}
.toggles input:checked+label{background:var(--ink);color:var(--ground)}
.toggles input:focus-visible+label{outline:3px solid var(--ink);outline-offset:2px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stepper{display:flex;align-items:stretch;height:52px;width:max-content}
.stepper button{width:52px;border:0;background:var(--ink);color:var(--ground);font:inherit;font-size:22px;font-weight:700;cursor:pointer;transition:background-color .2s}
.stepper button:hover{background:#2c2f34}
.stepper input{width:96px;text-align:center;border:0;background:var(--paper);font:inherit;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.field input[type=text],.field select{width:100%;height:52px;border:0;border-radius:0;background:var(--paper);padding:0 14px;font:inherit;font-size:17px;color:var(--ink)}
.tag-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.tag-actions .tlink{text-decoration-color:var(--ink)}
.tag-stage{grid-column:7/-1;padding-left:clamp(0px,2vw,32px);position:sticky;top:110px}
.slot{height:12px;background:var(--ink)}
.tag-clip{overflow:hidden;padding:0 0 30px}
.tag{background:var(--paper);color:var(--ink);padding:28px 28px 22px;display:grid;gap:18px;transform-origin:top center}
.tag-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.tag-top .brand{margin:0;font-size:18px}
.tag-top .mark{width:16px;height:24px}
.tag-kind{font-size:var(--t-small);color:var(--ink-2)}
.tag-ref{font-size:clamp(34px,3.6vw,54px);font-weight:800;letter-spacing:-.02em;line-height:1;font-variation-settings:'wdth' 70;font-variant-numeric:tabular-nums}
.tag dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0}
.tag dt{color:var(--ink-2);font-size:var(--t-small);padding-top:2px}
.tag dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.tag-path{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.tag-path span{padding:10px 8px;background:var(--step);color:var(--ink-2);font-weight:700;font-size:15px;text-align:center;transition:background-color .3s,color .3s}
.tag-path span.on{background:var(--ink);color:var(--paper)}
.barcode{display:block;height:58px;width:100%}
.tag-foot{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.tag.print{animation:print .6s var(--ease)}
@keyframes print{from{transform:translateY(-22px)}to{transform:none}}
@media (max-width:900px){.tag-form,.tag-stage{grid-column:1/-1}.tag-stage{position:static}}
@media (max-width:520px){.frow{grid-template-columns:1fr}.tag{padding:22px 18px 18px}}

/* operations (dark) */
.ops-photos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.ops-photos figure{margin:0;display:flex;flex-direction:column;gap:14px}
.ops-photos figure:nth-child(1){grid-column:1/span 4}
.ops-photos figure:nth-child(2){grid-column:5/span 4}
.ops-photos figure:nth-child(3){grid-column:9/span 4}
.ops-photos .ph{overflow:hidden;background:#000}
.ops-photos .ph{aspect-ratio:4/3}
.ops-photos img{width:100%;height:100%;object-fit:cover}
figcaption{font-size:var(--t-small);color:var(--ink-2)}
.on-dark figcaption{color:var(--on-dark-2)}
figcaption b{color:var(--on-dark);font-size:clamp(20px,1.7vw,24px);display:block;font-variation-settings:'wdth' 84;letter-spacing:-.01em;margin-bottom:2px}
.ops-foot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-top:clamp(64px,7vw,110px);align-items:end}
.ops-foot .stages{grid-column:1/span 9;margin:0}
.ops-foot .addr{grid-column:10/-1;display:flex;flex-direction:column;gap:12px}
.addr strong{font-size:clamp(22px,2vw,30px);line-height:1.1;letter-spacing:-.02em;font-variation-settings:'wdth' 80}
@media (max-width:900px){.ops-photos figure:nth-child(n){grid-column:1/-1}.ops-photos .ph{aspect-ratio:16/10}.ops-foot .stages,.ops-foot .addr{grid-column:1/-1}}

/* engagements */
.eng{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.eng-photo{grid-column:1/span 5;position:sticky;top:110px}
.eng-photo .ph{aspect-ratio:1/1;overflow:hidden}
.eng-photo img{width:100%;height:100%;object-fit:cover}
.eng-list{grid-column:6/-1;padding-left:clamp(0px,2vw,32px);list-style:none;margin:0;padding:0;display:grid;gap:clamp(40px,4vw,64px)}
.eng-list h3{font-size:clamp(28px,2.8vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1;font-variation-settings:'wdth' 76;margin-bottom:14px}
.eng-list p{max-width:50ch}
.eng-list .incl{margin-top:10px;color:var(--ink-2);font-size:var(--t-small)}
@media (max-width:900px){.eng-photo,.eng-list{grid-column:1/-1}.eng-photo{position:static;margin-bottom:48px}.eng-photo .ph{aspect-ratio:16/10}}

/* road band */
.road{position:relative;min-height:min(66vh,620px);display:grid;align-items:end;color:var(--paper);overflow:hidden;background:#222}
.road img{position:absolute;left:0;width:100%;height:124%;object-fit:cover;top:-12%}
.road::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(10,11,13,.92) 0%,rgba(10,11,13,.74) 38%,rgba(10,11,13,0) 76%)}
.road-in{position:relative;z-index:2;padding-block:clamp(64px,8vw,120px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end}
.road h2{grid-column:1/span 7;font-size:var(--t-h2)}
.road .lead{grid-column:8/-1}
.road .credit{position:absolute;z-index:2;right:var(--m);top:20px;font-size:13px;color:#fff;background:rgba(10,11,13,.6);padding:4px 8px}
@media (max-width:900px){.road h2,.road .lead{grid-column:1/-1}.road::before{background:linear-gradient(to top,rgba(10,11,13,.92) 0%,rgba(10,11,13,.75) 50%,rgba(10,11,13,.1) 85%)}}

/* portfolio */
.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-bottom:clamp(56px,6vw,96px)}
.cats h3{margin-bottom:10px}
.logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.logos li{list-style:none;background:var(--paper);display:flex;align-items:center;justify-content:center;height:clamp(84px,7.4vw,120px);padding:clamp(18px,2vw,30px) clamp(20px,2.4vw,36px);transition:background-color .3s}
.logos img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.15);opacity:.85;transition:filter .3s,opacity .3s}
.logos li:hover img{filter:none;opacity:1}
.logos{padding:0;margin:0}
.fine{font-size:var(--t-small);color:var(--ink-2);margin-top:20px;max-width:70ch}
@media (max-width:900px){.cats{grid-template-columns:1fr 1fr;row-gap:36px}.logos{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:520px){.cats{grid-template-columns:1fr}.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* markets + channel */
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);row-gap:72px}
.split>div:first-child{grid-column:1/span 6}
.split>div:last-child{grid-column:7/-1;display:flex;flex-direction:column;gap:24px}
.split h2{font-size:var(--t-h2);margin-bottom:36px}
.bigl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bigl li{font-size:clamp(26px,2.8vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.05;font-variation-settings:'wdth' 76}
.split h3{font-size:clamp(28px,2.6vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1;font-variation-settings:'wdth' 76}
.flow3{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:14px}
.flow3 li{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline}
.flow3 b{font-variation-settings:'wdth' 84}
@media (max-width:900px){.split>div:first-child,.split>div:last-child{grid-column:1/-1}}
@media (max-width:520px){.flow3 li{grid-template-columns:1fr;gap:2px}}

/* about */
.story{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);row-gap:56px;align-items:start}
.story-photo{grid-column:1/span 6}
.story-photo .ph{aspect-ratio:4/3;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover}
.story-photo .fine{margin-top:12px}
.story-text{grid-column:7/-1;padding-left:clamp(0px,1.5vw,24px);display:flex;flex-direction:column;gap:28px}
.story-text h2{font-size:var(--t-h2)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:8px}
.facts b{display:block;font-size:clamp(40px,4.4vw,68px);font-weight:800;letter-spacing:-.04em;line-height:1;font-variation-settings:'wdth' 70;font-variant-numeric:tabular-nums}
.facts span{color:var(--ink-2);font-size:var(--t-small)}
@media (max-width:900px){.story-photo,.story-text{grid-column:1/-1}}

/* contact */
.contact .grid{row-gap:48px;align-items:start}
.contact-text{grid-column:1/span 6;padding-right:clamp(0px,2vw,32px);display:flex;flex-direction:column;gap:28px}
.contact-text h2{font-size:var(--t-h2)}
.contact-lines{display:grid;gap:18px;margin-top:12px}
.contact-lines span{display:block;color:var(--on-dark-2);font-size:var(--t-small)}
.contact-lines a,.contact-lines p{font-weight:700;font-size:clamp(19px,1.5vw,22px);text-decoration:none}
.contact-lines a:hover{color:var(--accent)}
.cform{grid-column:7/-1;display:grid;gap:18px;background:var(--dark-2);padding:clamp(24px,3vw,44px)}
.cform .two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:16px}
.cform input,.cform textarea,.qform input,.qform textarea{font:inherit;font-size:17px;border:0;border-radius:0;padding:14px;background:var(--paper);color:var(--ink);width:100%}
.cform textarea{min-height:140px;resize:vertical}
.cform .acts{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:6px}
.status{min-height:22px;font-size:var(--t-small)}
@media (max-width:900px){.contact-text,.cform{grid-column:1/-1}}
@media (max-width:520px){.cform .two{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--ink);color:var(--on-dark);padding-top:clamp(72px,8vw,120px)}
.foot-cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);row-gap:40px}
.foot-cols>div{grid-column:span 3}
.foot h2{font-size:16px;font-weight:700;letter-spacing:0;color:var(--on-dark-2);margin-bottom:14px;font-variation-settings:'wdth' 100}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--accent)}
.foot-name{font-size:clamp(40px,7.5vw,128px);padding-bottom:.08em;font-weight:900;letter-spacing:-.055em;line-height:.8;font-variation-settings:'wdth' 64;margin-top:clamp(64px,8vw,120px);white-space:nowrap;display:flex;align-items:flex-end;gap:.08em}
.foot-name .mark{width:.42em;height:.62em;margin-bottom:.05em}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-block:28px 32px;font-size:13px;color:var(--on-dark-2)}
.foot-base a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.foot-cols>div{grid-column:span 6}}

/* INNER pages */
.ihero{padding-top:clamp(36px,5vw,72px);padding-bottom:clamp(64px,7vw,112px)}
.ihero .crumb{font-size:16px;font-weight:600;color:var(--ink-2);margin-bottom:22px;display:flex;gap:10px;flex-wrap:wrap}
.ihero .crumb a{text-decoration:none}
.ihero .crumb a:hover{color:var(--ink)}
.ihero h1{font-size:var(--t-h1);max-width:22ch}
.ihero-row{margin-top:clamp(32px,4vw,56px);align-items:start;row-gap:40px}
.ihero-text{grid-column:1/span 6;padding-right:clamp(0px,2vw,32px);display:flex;flex-direction:column;gap:32px}
.ihero-media{grid-column:7/-1;aspect-ratio:16/10;overflow:hidden;background:var(--dark)}
.ihero-media img{width:100%;height:100%;object-fit:cover}
.ihero.noimg h1{max-width:18ch}
@media (max-width:900px){.ihero-text,.ihero-media{grid-column:1/-1}}
.tagline{display:flex;flex-wrap:wrap;gap:6px}
.tagline span{background:var(--paper);padding:9px 14px;font-weight:600;font-size:16px}
.on-dark .tagline span{background:var(--dark-2)}

.scope{list-style:none;margin:0;padding:0;display:grid;gap:clamp(36px,4vw,60px)}
.scope li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:10px;align-items:start}
.scope h3{grid-column:1/span 5;font-size:clamp(28px,3vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1;font-variation-settings:'wdth' 76}
.scope h3 small{display:block;font-size:var(--t-small);font-weight:600;letter-spacing:0;color:var(--ink-2);margin-bottom:10px;font-variation-settings:'wdth' 100}
.scope .d{grid-column:7/-1;display:flex;flex-direction:column;gap:8px;padding-top:.35em}
.scope .d p{max-width:52ch}
@media (max-width:900px){.scope h3,.scope .d{grid-column:1/-1}}

.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.flow{grid-auto-rows:auto}
.flow li{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:12px;align-content:start}

.flow b{font-size:clamp(32px,3vw,48px);font-weight:800;letter-spacing:-.035em;line-height:1;font-variation-settings:'wdth' 72}
.flow h3{font-size:20px}
@media (max-width:900px){.flow{grid-template-columns:1fr 1fr;row-gap:44px}}
@media (max-width:520px){.flow{grid-template-columns:1fr}}

.close{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);row-gap:40px;align-items:center}
.close-text{grid-column:1/span 6;display:flex;flex-direction:column;gap:26px}
.close-text h2{font-size:var(--t-h2)}
.close-media{grid-column:7/-1;aspect-ratio:16/10;overflow:hidden}
.close-media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.close-text,.close-media{grid-column:1/-1}}

.blogos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0;margin:0}
.blogos li{list-style:none;background:var(--paper);height:clamp(110px,11vw,170px);display:flex;align-items:center;justify-content:center;padding:clamp(22px,2.6vw,40px)}
.blogos img{width:auto;height:auto;max-width:70%;max-height:46px;object-fit:contain}
@media (max-width:600px){.blogos{grid-template-columns:1fr 1fr}}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.stats b{display:block;font-size:clamp(32px,3vw,46px);font-weight:800;letter-spacing:-.04em;line-height:1;font-variation-settings:'wdth' 70}
.stats span{color:var(--ink-2)}
.on-dark .stats span{color:var(--on-dark-2)}
@media (max-width:1000px){.stats{grid-template-columns:1fr 1fr;row-gap:32px}}

/* document pages */
.doc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);row-gap:48px;align-items:start}
.doc-body{grid-column:1/span 7;display:grid;gap:44px}
.doc-body section{display:grid;gap:14px}
.doc-body h2{font-size:clamp(26px,2.4vw,36px);letter-spacing:-.025em;line-height:1.05;font-variation-settings:'wdth' 80}
.doc-body ul{margin:0;padding-left:1.1em;display:grid;gap:8px}
.doc-body p{max-width:62ch}
.doc-body .note{background:var(--paper);padding:18px 20px;font-weight:600}
.doc-side{grid-column:8/-1;margin-left:clamp(0px,2vw,32px);position:sticky;top:110px;background:var(--dark);color:var(--on-dark);padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:16px}
.doc-side h2{font-size:clamp(24px,2vw,30px);letter-spacing:-.02em;line-height:1.05}
.doc-side a{font-weight:700;overflow-wrap:anywhere}
.kv{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:12px 28px;margin:0}
.kv dt{color:var(--ink-2)}
.kv dd{margin:0;font-weight:700}
@media (max-width:900px){.doc-body,.doc-side{grid-column:1/-1}.doc-side{position:static;margin-left:0}}
@media (max-width:520px){.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:12px}}

/* quote form */
.qwrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);row-gap:48px;align-items:start}
.qform{grid-column:1/span 7;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.qform label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:16px}
.qform .full{grid-column:1/-1}
.qform textarea{min-height:160px;resize:vertical}
.qform .req{color:var(--accent)}
.qform .hint{grid-column:1/-1;font-size:var(--t-small);color:var(--ink-2);max-width:64ch}
.qform .acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.qwrap .doc-side{grid-column:9/-1;margin-left:0}
@media (max-width:900px){.qform,.qwrap .doc-side{grid-column:1/-1}}
@media (max-width:560px){.qform{grid-template-columns:1fr}}

/* motion */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
.js .hero-media img{animation:settle 1.8s var(--ease) both}
@keyframes settle{from{transform:scale(1.08)}to{transform:scale(1)}}
.js .page.show{animation:pagein .5s var(--ease)}
@keyframes pagein{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
}
.blogos img[alt="AndaSeat"]{max-height:76px;max-width:58%}
.blogos img[alt="Ultima Cosa"]{max-height:58px}

.lt{display:block;line-height:1.3}
.ihero.noimg{padding-bottom:0}

.bigl.who{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gap);row-gap:22px}
@media (max-width:900px){.bigl.who{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.bigl.who{grid-template-columns:1fr}}

.blogos img[alt="TP-Link"]{max-height:44px}
@media (max-width:900px){.blogos{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* comfort pass: calmer rhythm for 35-60 readers */
.sec-head{margin-bottom:clamp(40px,4.5vw,68px)}
.btn{min-height:54px;font-size:17px}
.bigl li{font-size:clamp(24px,2.4vw,38px);line-height:1.12}
.sol-item h3,.eng-list h3,.split h3{font-size:clamp(26px,2.3vw,36px);letter-spacing:-.02em;line-height:1.05}
.scope h3{font-size:clamp(26px,2.5vw,40px);letter-spacing:-.02em;line-height:1.05}
.flow b,.stages b{letter-spacing:-.025em}
.flow h3{font-size:19px}
.stages span,.flow p,.scope .d p,.eng-list p,.sol-item p{max-width:60ch}
.doc-body p,.doc-body li{line-height:1.65}
.foot-cols a{font-size:17px}
.foot ul{gap:10px}
.panel a{font-size:clamp(20px,1.6vw,24px)}
@media (max-width:560px){.lead{font-size:19px}}
.logos img{max-height:40px}
@media (max-width:600px){:root{--m:22px}}
.ops-foot{display:flex;justify-content:flex-end}
.ops-foot .addr{grid-column:auto}
.contact-lines{gap:10px}

/* former inline styles (CSP forbids style attributes) */
.u-m0{margin:0!important}
.u-mt56{margin-top:56px!important}
.u-pt-sec{padding-top:clamp(56px,6vw,96px)!important}
