

html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
html:has([data-theme="dark"]){background:#0d0d0d}
html:has([data-theme="light"]){background:#ffffff}
body{min-height:100vh}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#ffc457;color:#0d0d0d;padding:10px 16px;font-weight:700;text-decoration:none}
.skip:focus{left:8px}
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
html.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}html.js .rv{opacity:1;transform:none;transition:none}}


body{margin:0}
/* C Boardroom: calm corporate. Serif headlines with an italic accent, one portrait on a yellow field, one Lagos street view. Light first. */
.c{--bg:#ffffff;--bg2:#f4f4f2;--card:#ffffff;--ink:#0d0d0d;--mute:#575752;--line:#e3e3df;--y:#ffc457;--yink:#8f5f00;--tile:#f4f4f2;--shadow:0 30px 60px -36px rgba(13,13,13,.35);
background:var(--bg);color:var(--ink);font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;container-type:inline-size;width:100%;line-height:1.55;-webkit-font-smoothing:antialiased}
.c[data-theme="dark"]{--bg:#0d0d0d;--bg2:#151515;--card:#171717;--ink:#fafafa;--mute:#b0b0ab;--line:#2a2a2a;--yink:#ffc457;--tile:#ffffff;--shadow:0 30px 60px -36px rgba(0,0,0,.9)}
.c *{box-sizing:border-box}
:where(.c) a{color:inherit;text-decoration:none}
:where(.c) img{display:block;max-width:100%}
:where(.c) ul{list-style:none;margin:0;padding:0}
:where(.c) :is(h1,h2,h3,p){margin:0}
.c-in{--g:clamp(20px,5.5cqi,88px);--s:clamp(68px,9cqi,148px);--h1:clamp(46px,6.8cqi,106px);--h2:clamp(36px,4.6cqi,70px);--h3:clamp(26px,2.5cqi,38px);--lead:clamp(18px,1.5cqi,22px)}
.c-wrap{padding-inline:var(--g)}
.c-serif{font-family:var(--hf);font-weight:400;letter-spacing:-.015em}
.c-eb{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--yink);display:block}
.c-btn{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);font-weight:600;font-size:16px;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.c-btn:hover{background:var(--y);border-color:var(--y);color:#0d0d0d;transform:translateY(-2px);box-shadow:0 14px 30px -14px #0d0d0d}
.c-btn.is-line{background:transparent;color:var(--ink)}
.c-btn.is-line:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.c-btn-sm{min-height:44px;padding:0 22px;font-size:15px}
.c a:focus-visible,.c button:focus-visible{outline:3px solid var(--y);outline-offset:3px}

/* header */
.c-head{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.c-head-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:84px}
.c-logo img{height:44px;width:auto}
.c[data-theme="dark"] .c-logo-ink,.c:not([data-theme="dark"]) .c-logo-paper{display:none}
.c-nav{display:flex;justify-content:center;gap:clamp(14px,2.4cqi,36px)}
.c-nav a{font-size:16px;font-weight:500;padding:8px 2px;position:relative}
.c-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--y);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.c-nav a:hover::after{transform:scaleX(1)}
.c-actions{display:flex;align-items:center;gap:10px}
.c-ic{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
.c-ic:hover{border-color:var(--ink)}
.c-ic svg{width:19px;height:19px}
.c[data-theme="dark"] .c-moon,.c:not([data-theme="dark"]) .c-sun{display:none}
.c-burger{display:none}
.c-mnav{border-top:1px solid var(--line);background:var(--bg)}
.c-mnav a{display:block;padding:18px var(--g);font-size:28px;border-bottom:1px solid var(--line)}

/* hero */
.c-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5cqi,88px);align-items:center;padding-block:clamp(44px,6cqi,96px) clamp(56px,7cqi,112px)}
.c-h1{font-size:var(--h1);line-height:1.02;text-wrap:balance}
.c-em{font-style:italic;background:linear-gradient(transparent 70%,var(--y) 70% 94%,transparent 94%);padding-inline:.05em}
.c-lead{font-size:var(--lead);line-height:1.6;color:var(--mute);margin-top:30px;max-width:40ch}
.c-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.c-photo{position:relative}
.c-field{position:relative;background:var(--y);border-radius:34px;aspect-ratio:4/5;overflow:hidden}
.c-field img{position:absolute;left:0;bottom:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;mix-blend-mode:multiply}
.c-float{position:absolute;left:clamp(-44px,-3cqi,-16px);bottom:clamp(20px,3cqi,44px);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:8px;box-shadow:var(--shadow);min-width:clamp(190px,17cqi,250px)}
.c-float a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 14px;border-radius:14px;font-weight:600;font-size:16px;transition:background .2s}
.c-float a:hover{background:var(--y);color:#0d0d0d}
.c-float svg{width:18px;height:18px;flex:none}

/* trust */
.c-trust{border-block:1px solid var(--line);background:var(--bg)}
.c-trust-in{padding-block:clamp(26px,3cqi,44px)}
.c-trust p{text-align:center;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:22px}
.c-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.c-lg{height:clamp(66px,6.4cqi,96px);display:grid;place-items:center;padding:0 clamp(12px,1.6cqi,28px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.c-lg:nth-child(5n){border-right:0}
.c-lg:nth-last-child(-n+5){border-bottom:0}
.c-lg img{max-height:46%;max-width:100%;width:auto;height:auto;object-fit:contain}
.c-lg.is-tall img{max-height:78%;max-width:60%}

/* about */
.c-about{background:var(--bg2)}
.c-about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6cqi,112px);align-items:center;padding-block:var(--s)}
.c-img{border-radius:30px;overflow:hidden;aspect-ratio:4/5;background:#999;position:relative}
.c-img img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.c-about h2{font-size:var(--h2);line-height:1.02;margin:16px 0 28px}
.c-about p.c-big{font-size:clamp(19px,1.8cqi,26px);line-height:1.6;max-width:34em}

/* sections */
.c-sec{padding-block:var(--s)}
.c-head2{display:grid;gap:16px;margin-bottom:clamp(32px,4cqi,64px);max-width:60ch}
.c-head2 h2{font-size:var(--h2);line-height:1.02;text-wrap:balance}
.c-head2 p{font-size:var(--lead);color:var(--mute);max-width:46ch}
.c-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4cqi,22px)}
.c-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,2.4cqi,36px);display:flex;flex-direction:column;gap:18px;transition:transform .3s,box-shadow .3s,border-color .3s}
.c-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--ink)}
.c-ico{width:58px;height:58px;border-radius:50%;background:var(--y);color:#0d0d0d;display:grid;place-items:center}
.c-ico svg{width:26px;height:26px}
.c-card h3{font-family:var(--hf);font-weight:400;font-size:var(--h3);line-height:1.05;letter-spacing:-.01em}
.c-card p{font-size:16px;line-height:1.65;color:var(--mute)}
.c-more{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding-top:6px}
.c-more svg{width:18px;height:18px;transition:transform .2s}
.c-card:hover .c-more svg{transform:translateX(5px)}

.c-brands{background:var(--bg2)}
.c-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4cqi,22px)}
.c-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.4cqi,22px)}
.c-tile{background:var(--tile);border-radius:20px;height:clamp(92px,9cqi,132px);display:grid;place-items:center;padding:0 24px}
.c-tile img{max-height:42%;max-width:62%;width:auto;height:auto}
.c-card .c-tile{border:1px solid var(--line)}

.c-plat{margin-top:clamp(36px,4.4cqi,64px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3cqi,48px);align-items:center;border-top:1px solid var(--line);padding-top:clamp(28px,3.4cqi,48px)}
.c-plat h3{font-family:var(--hf);font-weight:400;font-size:var(--h3);line-height:1.05;margin-bottom:10px}
.c-plat p{color:var(--mute);max-width:30ch}
.c-plat-l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.c-plat-l .c-tile{height:clamp(72px,7cqi,100px);background:#fff;border:1px solid var(--line)}
.c-plat-l .c-tile img{max-height:54%;max-width:76%}

/* case list */
.c-work{background:var(--bg2)}
.c-list{border-top:1px solid var(--ink)}
.c-item{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) auto;gap:clamp(18px,3cqi,56px);align-items:center;padding-block:clamp(26px,3cqi,44px);border-bottom:1px solid var(--line);transition:padding .25s}
.c-item:hover{padding-inline:clamp(12px,1.6cqi,24px)}
.c-item h3{font-family:var(--hf);font-weight:400;font-size:clamp(28px,3.2cqi,50px);line-height:1.05;letter-spacing:-.015em}
.c-item p{color:var(--mute);font-size:17px;line-height:1.65;max-width:50ch}
.c-go{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;transition:background .2s,color .2s}
.c-item:hover .c-go{background:var(--y);border-color:var(--y);color:#0d0d0d}
.c-go svg{width:22px;height:22px}

/* cta */
.c-cta{position:relative;overflow:hidden;background:#0d0d0d;color:#fafafa;border-radius:36px;padding:clamp(44px,7cqi,112px) clamp(22px,6cqi,96px);isolation:isolate}
.c-cta::after{content:"";position:absolute;z-index:-1;width:60%;aspect-ratio:1;right:-12%;top:-40%;background:radial-gradient(circle,rgba(255,196,87,.28),transparent 65%)}
.c-cta h2{font-family:var(--hf);font-weight:400;font-size:clamp(40px,6cqi,92px);line-height:1;letter-spacing:-.02em;max-width:13ch}
.c-cta p{font-size:var(--lead);color:#c9c9c5;margin-top:26px;max-width:42ch}
.c-cta .c-btn{background:var(--y);border-color:var(--y);color:#0d0d0d}
.c-cta .c-btn:hover{background:#fafafa;border-color:#fafafa}
.c-cta .c-btn.is-line{background:transparent;color:#fafafa;border-color:#555}
.c-cta .c-btn.is-line:hover{border-color:#fafafa;background:transparent}

/* footer */
.c-foot{background:#0d0d0d;color:#fafafa;margin-top:var(--s)}
.c-foot-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.3fr 1.4fr;gap:clamp(24px,3cqi,56px);padding-block:clamp(48px,6cqi,96px) clamp(28px,3.5cqi,48px)}
.c-foot img{height:48px;width:auto}
.c-foot h4{margin:0 0 18px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#a8a8a4;font-weight:600}
.c-foot li{margin-bottom:10px;font-size:16px}
.c-foot li a:hover{color:var(--y)}
.c-foot address{font-style:normal;font-size:16px;line-height:1.6;color:#d4d4d0;margin-bottom:16px}
.c-foot address b{display:block;color:#fafafa}
.c-tag{font-family:var(--hf);font-size:32px;line-height:1.1;margin:20px 0 12px;max-width:14ch}
.c-foot-grid > div > p{color:#a8a8a4;font-size:15px;max-width:34ch}
.c-foot-bar{border-top:1px solid #2e2e2e;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px;font-size:14px;color:#a8a8a4}

@container (max-width: 1000px){
  .c-nav{display:none}
  .c-burger{display:grid}
  .c-head-row{grid-template-columns:1fr auto}
  .c-hero{grid-template-columns:1fr}
  .c-photo{max-width:520px;margin-top:12px}
  .c-float{left:16px}
  .c-about-grid{grid-template-columns:1fr}
  .c-img{aspect-ratio:16/11;max-height:420px}
  .c-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-3,.c-2{grid-template-columns:1fr}
  .c-plat{grid-template-columns:1fr}
  .c-item{grid-template-columns:1fr auto}
  .c-item p{grid-column:1 / 2}
  .c-item .c-go{grid-row:1 / span 2;grid-column:2}
  .c-foot-grid{grid-template-columns:1fr 1fr}
  .c-foot-grid > div:first-child{grid-column:1 / -1}
}
@container (max-width: 560px){
  .c-head-row{min-height:72px}
  .c-logo img{height:38px}
  .c-actions .c-btn-sm{display:none}
  .c-4{grid-template-columns:1fr}
  .c-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .c-lg:nth-child(5n){border-right:1px solid var(--line)}
  .c-lg:nth-child(3n){border-right:0}
  .c-lg:nth-last-child(-n+5){border-bottom:1px solid var(--line)}
  .c-lg:nth-last-child(-n+1){border-bottom:0}
  .c-plat-l{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-foot-grid{grid-template-columns:1fr}
  .c-btns .c-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion: reduce){.c *{transition:none !important}}



.c-lg{--ch:clamp(66px,6.4cqi,96px)}.c-lg img{max-height:calc(var(--ch)*.46)}.c-lg.is-tall img{max-height:calc(var(--ch) - 14px)}
.c-tile{--ch:clamp(92px,9cqi,132px)}.c-tile img{max-height:calc(var(--ch)*.42)}
.c-plat-l .c-tile{--ch:clamp(72px,7cqi,100px)}.c-plat-l .c-tile img{max-height:calc(var(--ch)*.54)}

@container (max-width:560px){.c-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.c-lg{border-right:1px solid var(--line) !important;border-bottom:1px solid var(--line) !important}.c-lg:nth-child(2n){border-right:0 !important}.c-lg:nth-last-child(-n+2){border-bottom:0 !important}}

.c-foot .c-tag{font-family:var(--hf);font-size:32px;line-height:1.1;margin:20px 0 12px;max-width:14ch;color:#fafafa}

.c a.c-btn{color:var(--bg)}.c a.c-btn.is-line{color:var(--ink)}
.c a.c-btn:hover{color:#0d0d0d}.c a.c-btn.is-line:hover{color:var(--bg)}
.c-cta a.c-btn{color:#0d0d0d}.c-cta a.c-btn.is-line{color:#fafafa}
.c-cta a.c-btn:hover{color:#0d0d0d}.c-cta a.c-btn.is-line:hover{color:#fafafa}
.c-mnav{position:absolute;left:0;right:0;top:100%;box-shadow:0 30px 50px -30px rgba(0,0,0,.4)}
.c-head.is-stuck{box-shadow:0 10px 30px -20px rgba(0,0,0,.4)}


.c-services{counter-reset:svc}
.c-4 .c-card{counter-increment:svc}
.c-4 .c-card::before{content:counter(svc,decimal-leading-zero);font-family:var(--hf);font-size:clamp(15px,1.2cqi,18px);letter-spacing:.04em;color:var(--mute)}
.c-list{counter-reset:cs}
.c-item{counter-increment:cs}
.c-item h3::before{content:counter(cs,decimal-leading-zero);display:block;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--yink);margin-bottom:12px}

.c{--hf:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif}
.c-serif{font-weight:800;letter-spacing:-.04em}
.c-h1{line-height:.98;letter-spacing:-.045em}
.c-em,.c h2 em,.c-about h2 em{font-style:normal;background:linear-gradient(transparent 62%,var(--y) 62% 92%,transparent 92%);padding-inline:.04em}
.c-card h3,.c-plat h3,.c-item h3,.c-cta h2,.c-foot .c-tag{font-weight:700;letter-spacing:-.03em}
.c-cta h2{font-weight:800}
.c-eb{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:7px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:13px}
.c-eb::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--y)}
.c-field{border-radius:48px}
.c-photo::before{content:"";position:absolute;width:42%;aspect-ratio:1;border-radius:50%;border:2px solid var(--ink);right:-6%;top:-6%;z-index:-1}
.c-photo{isolation:isolate}
.c-img{border-radius:48px}
.c-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6cqi,24px)}
.c-4 .c-card{border-radius:40px;padding:clamp(28px,3.2cqi,52px);min-height:clamp(280px,26cqi,400px);border:0;background:var(--bg2)}
.c-4 .c-card:nth-child(1){background:#0d0d0d;color:#fafafa}
.c-4 .c-card:nth-child(1) p,.c-4 .c-card:nth-child(1)::before{color:#c9c9c5}
.c[data-theme="dark"] .c-4 .c-card:nth-child(1){background:#262626;box-shadow:inset 0 0 0 1px #3d3d3d}
.c[data-theme="dark"] .c-4 .c-card:nth-child(3){background:#1a1a1a;box-shadow:inset 0 0 0 1px #2c2c2c}
.c-4 .c-card:nth-child(2){background:var(--y);color:#0d0d0d}
.c-4 .c-card:nth-child(2) p,.c-4 .c-card:nth-child(2)::before{color:#2b2b28}
.c-4 .c-card:nth-child(2) .c-ico{background:#0d0d0d;color:var(--y)}
.c-4 .c-card:nth-child(4){background:transparent;border:1.5px solid var(--ink)}
.c-4 .c-card h3{font-size:clamp(30px,3.2cqi,50px)}
.c-4 .c-card p{font-size:clamp(16px,1.25cqi,19px);max-width:36ch}
.c-4 .c-card:hover{transform:translateY(-6px) rotate(-.4deg);border-color:inherit}
.c-4 .c-card:nth-child(4):hover{border-color:var(--ink)}
.c-ico{width:64px;height:64px;border-radius:22px}
.c-4 .c-card{display:grid;grid-template-columns:1fr auto;align-content:start;gap:0 18px}
.c-4 .c-card::before{grid-column:1}
.c-4 .c-card .c-ico{grid-column:2;grid-row:1}
.c-4 .c-card h3{grid-column:1 / -1;margin-top:auto;padding-top:clamp(28px,5cqi,80px)}
.c-4 .c-card p{grid-column:1 / -1;margin-top:14px}
.c-4 .c-card .c-more{grid-column:1 / -1;margin-top:22px}
.c-3 .c-card,.c-2 .c-card{border-radius:36px}
.c-tile{border-radius:26px}
.c-work .c-item{border-radius:0}
.c-cta{border-radius:48px}
.c-trust{background:var(--bg2)}
@container (max-width:1000px){.c-4{grid-template-columns:1fr}.c-4 .c-card{min-height:0}}


/* ===== multi-page additions ===== */
html{scroll-behavior:smooth}
html.menu-open{overflow:hidden}
.c-head{z-index:30}
/* desktop nav */
.c-dnav{justify-self:center}
.nv-ul{display:flex;align-items:center;gap:clamp(0px,.4cqi,6px)}
.nv-li{position:static}
.nv{display:inline-flex;align-items:center;gap:6px;padding:10px clamp(10px,1.1cqi,16px);border-radius:999px;border:0;background:none;color:var(--ink);font:600 16px/1 'Instrument Sans',sans-serif;cursor:pointer;position:relative;transition:background .2s}
.nv:hover,.nv[aria-expanded="true"]{background:var(--bg2)}
.nv svg{width:14px;height:14px;transition:transform .25s}
.nv[aria-expanded="true"] svg{transform:rotate(180deg)}
.nv[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--y)}
.nv:focus-visible{outline:3px solid var(--y);outline-offset:2px}
/* mega menu */
.mg{position:absolute;left:var(--g);right:var(--g);top:100%;padding-top:10px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s;pointer-events:none;max-width:1240px;margin-inline:auto}
.nv-li.is-open>.mg{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s;pointer-events:auto}
.mg-in{display:grid;grid-template-columns:minmax(0,4.2fr) minmax(0,8fr);gap:8px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:36px;box-shadow:0 50px 90px -34px rgba(13,13,13,.5)}
.c[data-theme="dark"] .mg-in{box-shadow:0 50px 90px -30px rgba(0,0,0,.95)}
.mg-f{position:relative;overflow:hidden;isolation:isolate;background:var(--y);color:#0d0d0d;border-radius:28px;padding:clamp(24px,2.4cqi,38px);display:flex;flex-direction:column;gap:12px;min-height:300px}
.mg-eb{display:inline-flex;width:fit-content;padding:6px 12px;border-radius:999px;background:#0d0d0d;color:var(--y);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mg-f h3{font:800 clamp(28px,2.5cqi,38px)/1 var(--hf);letter-spacing:-.035em;margin:6px 0 0;max-width:12ch}
.mg-f p{font-size:16px;line-height:1.55;color:#2b2b28;max-width:30ch}
.mg-cta{margin-top:auto;display:inline-flex;align-items:center;gap:10px;width:fit-content;min-height:48px;padding:0 22px;border-radius:999px;background:#0d0d0d;color:#fafafa;font-weight:600;font-size:15px;transition:transform .2s,background .2s}
.mg-cta svg{width:18px;height:18px;transition:transform .2s}
.mg-cta:hover{transform:translateY(-2px);background:#262626}.mg-cta:hover svg{transform:translateX(4px)}
.mg-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:6px;align-content:start}
.mg-i{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;padding:20px 18px;border-radius:24px;transition:background .2s}
.mg-i:hover,.mg-b:hover,.mg-g:hover{background:var(--bg2)}
.mg-ic,.mo-ic{width:52px;height:52px;border-radius:16px;background:var(--bg2);color:var(--ink);display:grid;place-items:center;flex:none;transition:background .25s,color .25s,transform .25s}
.mg-ic svg,.mo-ic svg{width:24px;height:24px}
.mg-i:hover .mg-ic{background:var(--y);color:#0d0d0d;transform:rotate(-6deg)}
.mg-tx b{display:block;font:700 19px/1.2 var(--hf);letter-spacing:-.02em}
.mg-tx small{display:block;margin-top:5px;font-size:15px;line-height:1.5;color:var(--mute)}
.mg-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mg-chips em{font-style:normal;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--mute)}
.mg-ar{width:20px;height:20px;margin-top:6px;opacity:0;transform:translateX(-8px);transition:opacity .2s,transform .25s;flex:none}
.mg-i:hover .mg-ar,.mg-b:hover .mg-ar{opacity:1;transform:none}
.mg-l--rows{grid-template-columns:1fr}
.mg-b{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:20px;align-items:center;padding:12px 18px 12px 12px;border-radius:24px;transition:background .2s}
.mg-b .mg-ar{margin:0}
.mg-logo{height:68px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;padding:0 16px}
.mg-logo img{max-height:46%;max-width:100%;width:auto}
.mg-l--duo{grid-template-columns:repeat(2,minmax(0,1fr))}
.mg-g{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:24px;transition:background .2s}
.mg-gh{display:flex;align-items:center;gap:12px}
.mg-gh svg{width:26px;height:26px;color:var(--yink)}
.mg-gh b{font:700 19px/1.2 var(--hf);letter-spacing:-.02em}
.mg-g small{font-size:15px;line-height:1.5;color:var(--mute);margin-bottom:8px}
.mg-pls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.mg-pls--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.mg-pl{height:56px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;padding:0 12px}
.mg-pl img{max-height:50%;max-width:80%;width:auto}
/* burger */
.c-burger{position:relative}
.bg-l{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s,top .3s}
.bg-l:nth-child(1){top:16px}.bg-l:nth-child(2){top:25px}
/* mobile menu: bottom sheet with drill-in views. Sits outside .c, so it carries its own tokens. */
.c-ovl{--bg:#ffffff;--bg2:#f4f4f2;--ink:#0d0d0d;--mute:#575752;--line:#e6e6e2;--y:#ffc457;--hf:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif;
position:fixed;inset:0;z-index:100;visibility:hidden;font-family:'Instrument Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:visibility 0s .5s}
.c-ovl[data-theme="dark"]{--bg:#121212;--bg2:#1c1c1c;--ink:#fafafa;--mute:#b0b0ab;--line:#2c2c2c}
.c-ovl.is-open{visibility:visible;transition:visibility 0s}
.c-ovl *{box-sizing:border-box}
.c-ovl a{color:inherit;text-decoration:none}
.mo-scrim{position:absolute;inset:0;background:rgba(13,13,13,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .4s}
.c-ovl.is-open .mo-scrim{opacity:1}
.mo-sheet{position:absolute;left:0;right:0;bottom:0;height:calc(100dvh - 10px);max-height:820px;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);border-radius:30px 30px 0 0;transform:translateY(102%);transition:transform .5s cubic-bezier(.22,.8,.2,1);box-shadow:0 -30px 80px -30px rgba(0,0,0,.5);overflow:hidden}
.c-ovl.is-open .mo-sheet{transform:none}
.mo-grab{width:42px;height:5px;border-radius:5px;background:var(--line);margin:10px auto 0;flex:none}
.mo-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px 6px 20px;flex:none}
.mo-bar img{height:34px;width:auto}
.c-ovl .mo-l-paper{display:none}
.c-ovl[data-theme="dark"] .mo-l-paper{display:block}.c-ovl[data-theme="dark"] .mo-l-ink{display:none}
.mo-x{width:44px;height:44px;border-radius:50%;border:0;background:var(--bg2);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .3s,background .2s}
.mo-x:active{transform:scale(.92) rotate(90deg)}
.mo-x svg{width:20px;height:20px}
.mo-views{position:relative;flex:1;min-height:0;overflow:hidden}
.mo-view{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 16px 24px;display:grid;gap:12px;align-content:start;transform:translateX(100%);opacity:0;transition:transform .45s cubic-bezier(.22,.8,.2,1),opacity .3s}
.mo-view.is-active{transform:none;opacity:1}
.mo-view.is-left{transform:translateX(-28%);opacity:0}
.mo-card{background:var(--bg2);border-radius:26px;padding:6px;display:grid}
.mo-card--s{background:transparent;border:1.5px solid var(--line)}
.mo-r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:12px 14px;border:0;border-radius:20px;background:none;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:background .2s}
.mo-r+.mo-r{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:0}
.mo-r:first-child{border-top-left-radius:20px;border-top-right-radius:20px}.mo-r:last-child{border-bottom-left-radius:20px;border-bottom-right-radius:20px}
.mo-r:active{background:color-mix(in srgb,var(--y) 35%,transparent)}
.mo-ic{width:42px;height:42px;border-radius:13px;background:var(--bg);color:var(--ink);display:grid;place-items:center;flex:none}
.mo-card--s .mo-ic{background:var(--bg2)}
.mo-ic svg{width:21px;height:21px}
.mo-rt b{display:block;font:700 18px/1.2 var(--hf);letter-spacing:-.02em}
.mo-rt small{display:block;margin-top:3px;font-size:14px;line-height:1.35;color:var(--mute)}
.mo-ra,.mo-rc{width:18px;height:18px;color:var(--mute)}
.mo-rc{transform:rotate(-90deg)}
.mo-back{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px 0 8px;border:0;border-radius:999px;background:var(--bg2);color:var(--ink);font:600 15px 'Instrument Sans',sans-serif;cursor:pointer}
.mo-back .mo-bk{width:18px;height:18px;transform:rotate(90deg)}
.mo-h{font:800 34px/1.05 var(--hf);letter-spacing:-.04em;margin:6px 4px 0}
.mo-all{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:22px;background:var(--y);color:#0d0d0d !important;font:700 17px 'Instrument Sans',sans-serif}
.mo-all svg{width:20px;height:20px}
.mo-foot{flex:none;padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:10px;background:var(--bg)}
.c-ovl .mo-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:999px;background:var(--ink);color:var(--bg);font:700 17px 'Instrument Sans',sans-serif;transition:transform .2s}
.mo-cta svg{width:20px;height:20px}
.mo-cta:active{transform:scale(.98)}
.mo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;color:var(--mute)}
.mo-th{width:42px;height:42px;border-radius:50%;border:0;background:var(--bg2);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
.mo-th svg{width:19px;height:19px}
.c-ovl .mo-sun{display:none}
.c-ovl[data-theme="dark"] .mo-moon{display:none}.c-ovl[data-theme="dark"] .mo-sun{display:block}
/* staggered entrance for the main list */
.c-ovl .mo-view[data-view="main"] .mo-card{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,.8,.2,1)}
.c-ovl.is-open .mo-view[data-view="main"] .mo-card{opacity:1;transform:none;transition-delay:.18s}
.c-ovl.is-open .mo-view[data-view="main"] .mo-card--s{transition-delay:.26s}
.mo-r:focus-visible,.mo-back:focus-visible,.mo-all:focus-visible,.mo-x:focus-visible,.mo-th:focus-visible,.mo-cta:focus-visible{outline:3px solid var(--y);outline-offset:2px}
@media (min-width:1101px){.c-ovl{display:none}}
@media (prefers-reduced-motion:reduce){.mo-sheet,.mo-view,.mo-scrim,.c-ovl .mo-view[data-view="main"] .mo-card{transition:none}.mg{transition:none}}
@container (max-width:1100px){.c-dnav{display:none}.c-burger{display:grid}.c-head-row{grid-template-columns:1fr auto}}
@container (min-width:1001px) and (max-width:1180px){.nv{font-size:15px;padding-inline:10px}}

/* ===== inner pages ===== */
.p-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5cqi,88px);align-items:center;padding-block:clamp(44px,6cqi,96px) clamp(48px,6cqi,96px)}
.p-hero--solo{grid-template-columns:minmax(0,10fr) minmax(0,2fr)}
.p-hero h1{font-size:clamp(40px,5.6cqi,88px);line-height:1;letter-spacing:-.045em;font-weight:800;text-wrap:balance;margin-top:22px}
.p-hero .c-lead{max-width:44ch}
.p-hero .c-btns{margin-top:34px}
.p-toc{background:var(--bg2);border-radius:36px;padding:clamp(22px,2.4cqi,36px)}
.p-toc h2{font:700 13px/1 'Instrument Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.p-toc a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 12px;border-radius:18px;font:700 clamp(18px,1.5cqi,22px)/1.2 var(--hf);letter-spacing:-.02em;transition:background .2s,padding .2s}
.p-toc a span{font:600 14px 'Instrument Sans',sans-serif;color:var(--yink);letter-spacing:.04em}
.p-toc a svg{width:20px;height:20px;opacity:.4;transition:opacity .2s,transform .2s}
.p-toc a:hover{background:var(--y);color:#0d0d0d;padding-left:18px}
.p-toc a:hover span{color:#0d0d0d}.p-toc a:hover svg{opacity:1;transform:translateX(3px)}
.p-field{position:relative;background:var(--y);border-radius:48px;aspect-ratio:5/4;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.p-field::before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;border:2px solid #0d0d0d;right:-14%;bottom:-30%}
.p-field .p-mark{width:min(62%,360px);height:clamp(110px,14cqi,190px);background:#fff;border-radius:28px;display:grid;place-items:center;padding:0 8%;box-shadow:0 30px 60px -34px rgba(13,13,13,.55)}
.p-field .p-mark img{max-height:44%;max-width:100%;width:auto}
.p-intro{background:var(--bg2)}
.p-intro-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2.4cqi,40px);padding-block:clamp(52px,6.5cqi,104px)}
.p-intro-in>div{grid-column:3 / span 8;display:grid;gap:1.1em}
.p-intro p{font-size:clamp(19px,1.7cqi,25px);line-height:1.6}
.p-intro p:first-child{font-weight:500}
.p-intro p+p{color:var(--mute)}
.c-wrap p a,.p-svc a:not(.c-btn){text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px}
/* service blocks */
.p-svc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,6cqi,112px);padding-block:var(--sv,clamp(52px,6.5cqi,104px));border-top:1px solid var(--line);scroll-margin-top:90px}
.p-svc:first-of-type{border-top:0}
.p-svc-h{position:sticky;top:112px;align-self:start;display:grid;gap:18px}
.p-num{font:800 clamp(52px,6cqi,96px)/.9 var(--hf);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.p-ico{width:68px;height:68px;border-radius:22px;background:var(--y);color:#0d0d0d;display:grid;place-items:center}
.p-ico svg{width:30px;height:30px}
.p-svc h2{font:800 clamp(30px,3.4cqi,52px)/1.02 var(--hf);letter-spacing:-.04em;text-wrap:balance}
.p-body{display:grid;gap:22px;align-content:start}
.p-body>p{font-size:clamp(17px,1.35cqi,20px);line-height:1.7;color:var(--mute);max-width:60ch}
.p-body>p:first-child{color:var(--ink);font-size:clamp(19px,1.6cqi,23px);font-weight:500}
.p-checks{background:var(--bg2);border-radius:32px;padding:clamp(22px,2.4cqi,38px);margin-top:6px}
.p-checks h3{font:700 13px/1 'Instrument Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--yink);margin-bottom:18px}
.p-checks ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}
.p-checks li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;font-size:16.5px;line-height:1.5;align-items:start}
.p-checks li::before{content:"";width:26px;height:26px;border-radius:50%;background:var(--y) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d0d0d' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat;margin-top:-1px}
.p-rel{position:relative;padding:4px 0 4px 26px;font-size:17px;line-height:1.7}
.p-rel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:5px;background:var(--y)}
.p-svc .c-btn{width:fit-content;margin-top:6px}
.p-ctaw{padding-block:clamp(40px,5cqi,80px) 0}
.p-ctaw .c-cta{background:#0d0d0d}
.c[data-theme="dark"] .p-ctaw .c-cta{background:#171717;box-shadow:inset 0 0 0 1px #2e2e2e}
.c-cta .c-em{background:linear-gradient(transparent 62%,rgba(255,196,87,.9) 62% 92%,transparent 92%)}
.c-foot{margin-top:clamp(56px,7cqi,112px)}
.c-foot-grid{grid-template-columns:1.7fr repeat(3,minmax(0,1fr)) 1.2fr 1.3fr}
.c-foot .c-tag{max-width:12ch}
/* stats / team */
.p-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px);padding-bottom:clamp(52px,6.5cqi,104px)}
.p-stat{border-radius:36px;padding:clamp(24px,3cqi,48px);display:grid;gap:10px;align-content:end;min-height:clamp(200px,20cqi,300px);background:var(--bg2)}
.p-stat:nth-child(1){background:#0d0d0d;color:#fafafa}
.c[data-theme="dark"] .p-stat:nth-child(1){background:#262626;box-shadow:inset 0 0 0 1px #3d3d3d}
.p-stat:nth-child(2){background:var(--y);color:#0d0d0d}
.p-stat b{font:800 clamp(56px,8cqi,128px)/.9 var(--hf);letter-spacing:-.05em}
.p-stat span{font-size:clamp(16px,1.3cqi,20px);font-weight:600}
.p-two{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,6cqi,112px);padding-block:clamp(52px,6.5cqi,104px);border-top:1px solid var(--line)}
.p-two h2{font:800 clamp(30px,3.4cqi,52px)/1.02 var(--hf);letter-spacing:-.04em}
.p-two .p-body>p:first-child{font-size:clamp(17px,1.35cqi,20px);font-weight:400;color:var(--mute)}
.p-two .p-body>p:first-child:first-child{color:var(--ink);font-size:clamp(19px,1.6cqi,23px);font-weight:500}
.p-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px);margin-top:clamp(28px,3cqi,48px)}
.p-person{background:var(--bg2);border-radius:36px;padding:clamp(22px,2.4cqi,36px);display:grid;gap:6px;justify-items:start}
.p-av{width:clamp(76px,7cqi,104px);height:clamp(76px,7cqi,104px);border-radius:50%;background:var(--y);color:#0d0d0d;display:grid;place-items:center;font:800 clamp(26px,2.4cqi,36px) var(--hf);letter-spacing:-.03em;margin-bottom:14px}
.p-person h3{font:700 clamp(22px,2cqi,28px)/1.1 var(--hf);letter-spacing:-.03em}
.p-person p{color:var(--mute);font-size:16px}
.p-chip{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:14px;transition:background .2s,border-color .2s}
.p-chip:hover{background:var(--y);border-color:var(--y);color:#0d0d0d}
.p-sech{display:grid;gap:14px;margin-bottom:clamp(28px,3.4cqi,52px);max-width:60ch}
.p-sech h2{font:800 clamp(30px,3.4cqi,52px)/1.02 var(--hf);letter-spacing:-.04em;text-wrap:balance}
.p-sec{padding-block:clamp(52px,6.5cqi,104px)}
.p-band{background:var(--bg2)}
/* partner cards */
.p-pcard{background:var(--card);border:1.5px solid var(--line);border-radius:36px;padding:clamp(24px,2.8cqi,44px);display:grid;gap:18px;align-content:start;transition:transform .3s,box-shadow .3s,border-color .3s}
.p-pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--ink)}
.p-pcard h3{font:800 clamp(26px,2.6cqi,40px)/1.05 var(--hf);letter-spacing:-.035em}
.p-pcard p{color:var(--mute);font-size:17px;line-height:1.65}
.p-badge{width:fit-content;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:var(--y);color:#0d0d0d}
.p-pcard .c-tile{height:clamp(96px,9cqi,132px)}
.p-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px)}
.p-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px)}
.p-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px)}
/* contact */
.p-contact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3cqi,48px);padding-bottom:clamp(52px,6.5cqi,104px);align-items:start}
.p-form{background:var(--bg2);border-radius:40px;padding:clamp(24px,3.2cqi,52px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.p-form label{display:grid;gap:8px;font-weight:600;font-size:15px}
.p-form label.full{grid-column:1 / -1}
.p-form label small{font-weight:400;color:var(--mute)}
.p-form input,.p-form select,.p-form textarea{width:100%;min-height:54px;padding:0 18px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:500 16px 'Instrument Sans',sans-serif;transition:border-color .2s,box-shadow .2s}
.p-form textarea{padding:14px 18px;min-height:150px;resize:vertical}
.p-form input:focus,.p-form select:focus,.p-form textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--y) 55%,transparent)}
.p-form .c-btn{grid-column:1 / -1;justify-content:center;width:100%}
.p-side{display:grid;gap:14px}
.p-sidec{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px 18px;align-items:center;padding:clamp(22px,2.4cqi,34px);border-radius:32px;background:var(--card);border:1.5px solid var(--line);transition:transform .25s,border-color .25s}
.p-sidec:hover{transform:translateY(-4px);border-color:var(--ink)}
.p-sidec:nth-child(1){background:var(--y);border-color:var(--y);color:#0d0d0d}
.p-sidec .mg-ic{background:rgba(13,13,13,.1);color:inherit}
.p-sidec:nth-child(1) p{color:#2b2b28}
.p-sidec h3{font:700 22px/1.15 var(--hf);letter-spacing:-.025em}
.p-sidec p{grid-column:2;color:var(--mute);font-size:16px;margin-top:-10px}
/* resources + empty states */
.p-empty{border:2px dashed var(--line);border-radius:40px;padding:clamp(32px,5cqi,80px);display:grid;gap:18px;justify-items:start}
.p-empty h2{font:800 clamp(28px,3.2cqi,48px)/1.05 var(--hf);letter-spacing:-.04em;max-width:18ch}
.p-empty p{color:var(--mute);font-size:18px;max-width:48ch;line-height:1.6}
.p-res{counter-reset:svc}
@container (max-width:1000px){
  .p-hero,.p-hero--solo{grid-template-columns:1fr}
  .p-intro-in>div{grid-column:1 / -1}
  .p-svc,.p-two,.p-contact{grid-template-columns:1fr}
  .p-svc-h{position:static;grid-template-columns:auto 1fr;align-items:center;gap:6px 18px}
  .p-num{grid-column:1 / -1;font-size:56px}
  .p-ico{width:56px;height:56px;border-radius:18px}
  .p-stats,.p-team,.p-grid3{grid-template-columns:1fr}
  .p-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-field{aspect-ratio:16/10}
  .c-foot-grid{grid-template-columns:1fr 1fr}
  .c-foot-grid>div:first-child{grid-column:1 / -1}
}
@container (max-width:700px){
  .p-checks ul,.p-grid2,.p-form{grid-template-columns:1fr}
}
@container (max-width:560px){
  .p-grid4{grid-template-columns:1fr 1fr}
  .c-foot-grid{grid-template-columns:1fr}
  .p-toc a{grid-template-columns:36px minmax(0,1fr) auto}
}

.p-intro h2{font:800 clamp(28px,3.2cqi,50px)/1.04 var(--hf);letter-spacing:-.04em;text-wrap:balance}
.p-intro h2+p{font-weight:500;color:var(--ink)}
.p-intro h2+p+p{color:var(--mute)}
.p-intro p:first-child{font-weight:inherit}

/* ===== phase 2 ===== */
/* mega menu: clean feature card, linked sub-services */
.mg-f{min-height:0}
.mg-fi{position:absolute;top:22px;right:22px;width:52px;height:52px;border-radius:16px;background:rgba(13,13,13,.09);color:#0d0d0d;display:grid;place-items:center}
.mg-fi svg{width:26px;height:26px}
.mg-i:not(.mg-i--link){display:block;padding:6px;border-radius:24px}
.mg-i:not(.mg-i--link):hover{background:var(--bg2)}
.mg-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;padding:14px 12px 8px;border-radius:18px}
.mg-i:hover .mg-ic{background:var(--y);color:#0d0d0d;transform:rotate(-6deg)}
.mg-i:hover .mg-ar{opacity:1;transform:none}
.mg-chips{padding:0 12px 10px 80px}
.mg-chips a{font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid var(--line);color:var(--mute);background:var(--card);transition:background .2s,border-color .2s,color .2s}
.mg-chips a:hover{background:var(--y);border-color:var(--y);color:#0d0d0d}
.mg-l--svc{gap:6px}
@container (min-width:1101px) and (max-width:1240px){.nv{padding-inline:9px;font-size:14.5px}.nv-ul{gap:0}}
.nv,.c-btn,.c-btn-sm{white-space:nowrap}
/* breadcrumb, glance, sticky page nav */
.p-crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;color:var(--mute);margin-bottom:16px}
.p-crumb i{font-style:normal;opacity:.5}
.p-crumb a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px}
.p-crumb [aria-current]{color:var(--ink)}
.p-glance{background:var(--bg2);border-radius:36px;padding:clamp(22px,2.6cqi,38px);display:grid;gap:22px}
.p-gl-r{display:grid;gap:10px;justify-items:start}
.p-gl-r>span{font:700 13px/1 'Instrument Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.p-gl-l{font:800 clamp(22px,2cqi,30px)/1.1 var(--hf);letter-spacing:-.03em}
.p-gl-l:hover{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:3px}
.p-gl-r img{height:34px;width:auto;max-width:150px;background:#fff;padding:8px 14px;border-radius:12px;box-sizing:content-box}
.p-ind{display:flex;flex-wrap:wrap;gap:8px}
.p-ind a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-weight:600;font-size:15px;text-decoration:none !important;transition:background .2s,border-color .2s}
.p-ind a svg{width:18px;height:18px;color:var(--yink)}
.p-ind a:hover{background:var(--y);border-color:var(--y);color:#0d0d0d}.p-ind a:hover svg{color:#0d0d0d}
.p-snav{position:sticky;top:84px;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-block:1px solid var(--line)}
.p-snav .c-wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.p-snav .c-wrap::-webkit-scrollbar{display:none}
.p-snav a{flex:none;padding:9px 16px;border-radius:999px;font-weight:600;font-size:15px;transition:background .2s}
.p-snav a:hover{background:var(--bg2)}
.p-snav a.is-on{background:var(--y);color:#0d0d0d}
#before-after,#bridge,#detail,#fit,#faq{scroll-margin-top:150px}
/* before / after toggle */
.p-bab{--tone:var(--bg2);background:var(--tone);color:var(--ink);border-radius:44px;padding:clamp(22px,3.4cqi,56px);display:grid;gap:clamp(22px,2.6cqi,40px);transition:background .5s,color .4s}
.p-bab[data-state="after"]{--tone:var(--y);color:#0d0d0d}
.p-tog{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;width:fit-content;padding:5px;border-radius:999px;background:rgba(13,13,13,.08);isolation:isolate}
.c[data-theme="dark"] .p-bab:not([data-state="after"]) .p-tog{background:rgba(255,255,255,.1)}
.p-tog button{position:relative;z-index:1;min-width:clamp(110px,10cqi,150px);min-height:48px;border:0;background:none;color:inherit;font:700 16px 'Instrument Sans',sans-serif;cursor:pointer;border-radius:999px;transition:color .25s}
.p-tog i{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:#0d0d0d;transition:transform .35s cubic-bezier(.3,.7,.2,1),background .3s}
.p-bab[data-state="after"] .p-tog i{transform:translateX(100%)}
.p-tog button[aria-selected="true"]{color:#fafafa}
.p-bab[data-state="before"] .p-tog button[aria-selected="true"]{color:#0d0d0d}
.p-bab[data-state="before"] .p-tog i{background:var(--y)}
.p-babl{font:700 clamp(24px,2.8cqi,42px)/1.1 var(--hf);letter-spacing:-.035em;max-width:24ch;margin-bottom:clamp(20px,2.4cqi,36px)}
.p-babp{animation:babin .5s cubic-bezier(.2,.7,.2,1)}
@keyframes babin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.p-pts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px)}
.p-pt{background:var(--card);color:var(--ink);border-radius:28px;padding:clamp(20px,2.2cqi,32px);display:grid;gap:12px;align-content:start}
.p-bab[data-state="after"] .p-pt{background:rgba(255,255,255,.62);color:#0d0d0d}
.p-pt h3{font:700 clamp(19px,1.5cqi,23px)/1.2 var(--hf);letter-spacing:-.025em}
.p-pt p{font-size:16px;line-height:1.6;color:var(--mute)}
.p-bab[data-state="after"] .p-pt p{color:#2b2b28}
.p-pti{width:48px;height:48px;border-radius:15px;background:var(--bg2);color:var(--ink);display:grid;place-items:center}
.p-bab[data-state="after"] .p-pti{background:var(--y)}
.p-pti svg{width:24px;height:24px}
.p-bridgel{display:inline-flex;align-items:center;gap:10px;font-weight:700;width:fit-content}
.p-bridgel svg{width:20px;height:20px;transition:transform .2s}.p-bridgel:hover svg{transform:translateX(5px)}
/* steps + faq */
.p-steps,.p-faq{display:grid;gap:10px}
.p-step,.p-q{background:var(--card);border:1.5px solid var(--line);border-radius:26px;transition:border-color .25s,background .25s}
.p-step[open],.p-q[open]{border-color:var(--ink)}
.p-step summary,.p-q summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:20px 24px;font:700 clamp(18px,1.5cqi,22px)/1.25 var(--hf);letter-spacing:-.02em}
.p-step summary::-webkit-details-marker,.p-q summary::-webkit-details-marker{display:none}
.p-sn{width:46px;height:46px;border-radius:50%;background:var(--bg2);display:grid;place-items:center;font:700 15px 'Instrument Sans',sans-serif;flex:none;transition:background .25s}
.p-step[open] .p-sn{background:var(--y);color:#0d0d0d}
.p-st,.p-q summary>span{flex:1}
.p-step summary svg,.p-q summary svg{width:22px;height:22px;flex:none;transition:transform .3s}
.p-step[open] summary svg,.p-q[open] summary svg{transform:rotate(45deg)}
.p-sb,.p-qa{padding:0 24px 24px 86px;display:grid;gap:14px;animation:babin .4s ease}
.p-qa{padding-left:24px}
.p-sb p,.p-qa p{color:var(--mute);font-size:17px;line-height:1.65;max-width:58ch}
.p-get{padding:14px 18px;border-radius:18px;background:color-mix(in srgb,var(--y) 28%,var(--card));color:var(--ink) !important;display:grid;gap:4px}
.p-get b{font:700 12px/1 'Instrument Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--yink)}
.c[data-theme="dark"] .p-get{background:#262114}
/* cards */
.p-sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px)}
.p-sgrid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.p-sc,.p-ic,.p-rc{background:var(--card);border:1.5px solid var(--line);border-radius:36px;padding:clamp(24px,2.8cqi,44px);display:grid;gap:16px;align-content:start;transition:transform .3s,box-shadow .3s,border-color .3s}
.p-sc:hover,.p-ic:hover,.p-rc:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--ink)}
.p-sc-h{display:flex;align-items:center;justify-content:space-between}
.p-tile-n{font:800 clamp(30px,3cqi,48px)/1 var(--hf);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.3px var(--mute)}
.p-sc h3,.p-ic h3,.p-tile h3{font:800 clamp(24px,2.4cqi,36px)/1.05 var(--hf);letter-spacing:-.035em}
.p-sc h3 a:hover,.p-tile h3 a:hover{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:3px}
.p-sc p,.p-ic p{color:var(--mute);font-size:17px;line-height:1.6}
.p-sc .c-btn{width:fit-content;margin-top:6px}
.p-tags{display:flex;flex-wrap:wrap;gap:6px}
.p-tags em{font-style:normal;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--bg2);color:var(--mute)}
.p-rc{gap:10px}
.p-rc b{font:700 21px/1.2 var(--hf);letter-spacing:-.025em}
.p-rc small{font-size:16px;line-height:1.55;color:var(--mute)}
.p-rc .c-more{margin-top:8px}
.p-grid3--ind .p-ic:nth-child(3n+1) .p-ico{background:#0d0d0d;color:var(--y)}
/* services hub */
.p-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6cqi,24px)}
.p-tile{border-radius:40px;padding:clamp(28px,3.2cqi,52px);display:grid;gap:16px;align-content:start;background:var(--bg2)}
.p-tile--1{background:#0d0d0d;color:#fafafa}
.c[data-theme="dark"] .p-tile--1{background:#262626;box-shadow:inset 0 0 0 1px #3d3d3d}
.p-tile--2{background:var(--y);color:#0d0d0d}
.p-tile--2 .p-ico{background:#0d0d0d;color:var(--y)}
.p-tile--4{background:transparent;border:1.5px solid var(--ink)}
.p-tile--1 .p-tile-n{-webkit-text-stroke-color:#8c8c88}
.p-tile--2 .p-tile-n{-webkit-text-stroke-color:#0d0d0d}
.p-tile-h{display:flex;justify-content:space-between;align-items:center}
.p-tile>p{font-size:17px;line-height:1.6;opacity:.85;max-width:44ch}
.p-tile ul{display:grid;gap:2px}
.p-tile li a{display:flex;align-items:center;justify-content:space-between;padding:12px 4px;border-bottom:1px solid color-mix(in srgb,currentColor 22%,transparent);font-weight:600;font-size:17px;transition:padding .2s}
.p-tile li a svg{width:18px;height:18px;opacity:.7}
.p-tile li a:hover{padding-left:10px}
.p-tile .c-btn{width:fit-content;margin-top:8px;background:var(--y);border-color:var(--y);color:#0d0d0d}
.p-tile--2 .c-btn{background:#0d0d0d;border-color:#0d0d0d;color:#fafafa}
.c .p-tile .c-btn{color:#0d0d0d}.c .p-tile--2 .c-btn{color:#fafafa}
.p-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:clamp(20px,2.4cqi,34px);border-radius:32px;border:1.5px solid var(--ink);transition:background .25s,transform .25s}
.p-banner b{display:block;font:700 clamp(19px,1.8cqi,26px)/1.2 var(--hf);letter-spacing:-.025em}
.p-banner small{display:block;margin-top:4px;color:var(--mute);font-size:16px}
.p-banner>svg{width:26px;height:26px}
.p-banner:hover{background:var(--y);border-color:var(--y);color:#0d0d0d;transform:translateY(-3px)}.p-banner:hover small{color:#2b2b28}
.p-help{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(18px,3cqi,48px);align-items:start}
.p-help-q{display:grid;gap:8px}
.p-help-q button{text-align:left;padding:16px 20px;border-radius:20px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:600 clamp(16px,1.3cqi,19px)/1.35 'Instrument Sans',sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.p-help-q button:hover{border-color:var(--ink);transform:translateX(4px)}
.p-help-q button[aria-checked="true"]{background:var(--y);border-color:var(--y);color:#0d0d0d}
.p-help-a{position:sticky;top:110px}
.p-help-r{background:var(--card);border:1.5px solid var(--ink);border-radius:36px;padding:clamp(24px,3cqi,44px);display:grid;gap:18px;justify-items:start;animation:babin .45s ease}
.p-help-r[hidden]{display:none}
.p-help-r h3{font:800 clamp(28px,3cqi,44px)/1.05 var(--hf);letter-spacing:-.04em;margin:8px 0}
.p-help-r p{color:var(--mute);font-size:18px;line-height:1.6}
.p-help-k{font:700 13px/1 'Instrument Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--yink)}
/* case cards */
.p-case{display:grid;gap:0;border-radius:36px;overflow:hidden;background:var(--card);border:1.5px solid var(--line);transition:transform .3s,box-shadow .3s,border-color .3s}
.p-case:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--ink)}
.p-cimg{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--y)}
.p-cimg img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.p-case:hover .p-cimg img{transform:scale(1.04)}
.p-cimg--ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--y),#f0a92b);color:#0d0d0d}
.p-cimg--ph b{font:800 clamp(28px,3.4cqi,52px)/1 var(--hf);letter-spacing:-.04em;padding:0 20px;text-align:center}
.p-cimg--hero{border-radius:36px;aspect-ratio:16/8;border:1.5px solid var(--line)}
.p-case-b{display:grid;gap:12px;padding:clamp(22px,2.4cqi,36px);align-content:start}
.p-case-b h3{font:800 clamp(24px,2.4cqi,36px)/1.05 var(--hf);letter-spacing:-.035em}
.p-case-b p{color:var(--mute);font-size:16.5px;line-height:1.6}
.p-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2cqi,32px);margin-top:28px;padding-top:24px;border-top:1.5px solid var(--ink)}
.p-meta dt{font:700 12px/1 'Instrument Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.p-meta dd{margin:0;font:700 19px/1.3 var(--hf);letter-spacing:-.02em}
.p-meta a{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px}
.p-bab3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6cqi,24px)}
.p-b3{border-radius:32px;padding:clamp(24px,2.8cqi,44px);display:grid;gap:14px;align-content:start;min-height:220px;background:var(--card);border:1.5px solid var(--line)}
.p-b3 span{font:800 clamp(22px,2cqi,30px)/1 var(--hf);letter-spacing:-.03em}
.p-b3 p{font-size:clamp(17px,1.35cqi,20px);line-height:1.6;color:var(--mute)}
.p-b3--before{background:#0d0d0d;color:#fafafa;border-color:#0d0d0d}.p-b3--before p{color:#c9c9c5}
.c[data-theme="dark"] .p-b3--before{background:#262626;border-color:#3d3d3d}
.p-b3--after{background:var(--y);border-color:var(--y);color:#0d0d0d}.p-b3--after p{color:#2b2b28}
.p-slot{margin-top:clamp(16px,2cqi,28px);border:2px dashed var(--line);border-radius:28px;padding:22px 26px;display:grid;gap:6px}
.p-slot b{font:700 13px/1 'Instrument Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--yink)}
.p-slot p{color:var(--mute);font-size:16px}
.p-more{margin-top:28px;font-size:17px;color:var(--mute)}
.p-more a{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;color:var(--ink);font-weight:600}
.p-cases{gap:clamp(14px,1.8cqi,28px)}
@container (max-width:1000px){
  .p-pts,.p-sgrid.is-3,.p-bab3,.p-meta{grid-template-columns:1fr}
  .p-sgrid,.p-tiles,.p-help{grid-template-columns:1fr}
  .p-help-a{position:static}
  .p-snav{top:72px}
  .p-sb{padding-left:24px}
}
@container (max-width:560px){
  .p-step summary,.p-q summary{padding:16px 18px;gap:12px}
  .p-sb,.p-qa{padding:0 18px 20px}
  .p-banner{grid-template-columns:auto 1fr}.p-banner>svg:last-child{display:none}
  .p-tog{width:100%}.p-tog button{min-width:0}
}
.c-4 .c-card .p-tags{grid-column:1 / -1;margin-top:10px}
.c-4 .c-card .p-tags em{background:color-mix(in srgb,currentColor 14%,transparent);color:inherit}
/* small-screen safety */
html,body{overflow-x:clip}
.p-form input,.p-form select,.p-form textarea{min-width:0}
.p-hero h1,.p-sech h2,.p-two h2,.p-svc h2{overflow-wrap:break-word;hyphens:manual}
@container (max-width:1000px){.p-svc,.p-two,.p-contact,.p-hero,.p-hero--solo,.p-sgrid,.p-sgrid.is-3,.p-tiles,.p-help,.p-pts,.p-bab3,.p-meta,.p-stats,.p-team,.p-grid3,.p-grid2{grid-template-columns:minmax(0,1fr)}.p-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.p-intro-in>div{grid-column:1 / -1}}
@container (max-width:700px){.p-form,.p-checks ul{grid-template-columns:minmax(0,1fr)}}
@container (max-width:420px){.p-hero h1{font-size:clamp(30px,10.2cqi,40px);letter-spacing:-.04em}.p-hero h1 .c-em{padding-inline:0}.p-sech h2,.p-two h2,.p-svc h2{font-size:clamp(26px,8.6cqi,34px)}.c-cta h2{font-size:clamp(30px,10cqi,42px)}.p-stat b{font-size:clamp(48px,17cqi,72px)}}
.p-empty .c-btns{width:100%}
.p-empty .c-btn{text-align:center;line-height:1.2;padding-block:14px}
@container (max-width:560px){.p-empty{padding:28px 22px;border-radius:32px}.p-empty .c-btn{width:100%;justify-content:center}}
/* resources: populated state, demo banner, filters */
.p-demo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:16px 20px;margin-bottom:clamp(20px,2.4cqi,32px);border-radius:22px;background:color-mix(in srgb,var(--y) 28%,var(--card));border:1.5px dashed color-mix(in srgb,var(--y) 80%,var(--ink))}
.p-demo span{flex:1 1 320px;font-size:15px;line-height:1.55}
.p-demo-t{min-height:44px;padding:0 20px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:600 15px 'Instrument Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.p-demo-t:hover,.p-demo-t[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.p-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(18px,2cqi,28px)}
.p-filter button{min-height:42px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:600 15px 'Instrument Sans',sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.p-filter button:hover{border-color:var(--ink)}
.p-filter button.is-on{background:var(--y);border-color:var(--y);color:#0d0d0d}
.p-post{align-content:start}
.p-post[hidden]{display:none}
.p-th{aspect-ratio:16/8;color:#0d0d0d}
.p-th svg{width:clamp(44px,5cqi,72px);height:clamp(44px,5cqi,72px)}
.p-th--1{background:#0d0d0d;color:var(--y)}
.c[data-theme="dark"] .p-th--1{background:#262626}
.p-th--2{background:var(--bg2);color:var(--ink)}
.p-post.is-feat{grid-column:1 / -1;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.p-post.is-feat .p-th{aspect-ratio:auto;min-height:100%}
.p-post.is-feat .p-case-b{align-content:center;padding:clamp(24px,3.2cqi,52px)}
.p-post.is-feat h3{font-size:clamp(28px,3.2cqi,48px)}
@container (max-width:1000px){.p-post.is-feat{grid-template-columns:minmax(0,1fr)}.p-post.is-feat .p-th{aspect-ratio:16/8;min-height:0}}
/* meeting: Cal.com inline embed */
.p-cal{border-radius:36px;background:var(--bg2);padding:clamp(8px,1.6cqi,20px);min-height:640px}
.p-cal-in{width:100%;min-height:620px;overflow:auto;border-radius:28px}
.p-cal-fb{padding:24px;color:var(--mute)}
.p-cal-fb a{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px}
.p-cal-in:has(cal-inline) .p-cal-fb{display:none}

/* ===== Let's talk pop-up ===== */
.c-talk{--bg:#ffffff;--bg2:#f4f4f2;--ink:#0d0d0d;--mute:#575752;--line:#e6e6e2;--y:#ffc457;--hf:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif;position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:16px;visibility:hidden;font-family:'Instrument Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:visibility 0s .35s}
.c-talk[data-theme="dark"]{--bg:#141414;--bg2:#1f1f1f;--ink:#fafafa;--mute:#b0b0ab;--line:#2e2e2e}
.c-talk.is-open{visibility:visible;transition:visibility 0s}
.c-talk *{box-sizing:border-box}
.c-talk a{color:inherit;text-decoration:none}
.tk-scrim{position:absolute;inset:0;background:rgba(13,13,13,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.c-talk.is-open .tk-scrim{opacity:1}
.tk-card{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--bg);color:var(--ink);border-radius:32px;padding:clamp(24px,4vw,40px);box-shadow:0 50px 100px -30px rgba(0,0,0,.6);opacity:0;transform:translateY(22px) scale(.98);transition:opacity .3s,transform .4s cubic-bezier(.22,.8,.2,1)}
.c-talk.is-open .tk-card{opacity:1;transform:none}
.tk-x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:var(--bg2);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
.tk-x svg{width:20px;height:20px}
.tk-eb{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--y);color:#0d0d0d;font:700 12px/1 'Instrument Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.tk-card h2{font:800 clamp(28px,5vw,38px)/1.05 var(--hf);letter-spacing:-.04em;margin:16px 44px 8px 0}
.tk-sub{margin:0 0 22px;color:var(--mute);font-size:16px;line-height:1.5}
.tk-opts{display:grid;gap:8px}
.tk-o{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:22px;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.tk-o:hover{border-color:var(--ink);transform:translateY(-2px)}
.tk-ic{width:48px;height:48px;border-radius:15px;background:var(--bg2);display:grid;place-items:center;flex:none;transition:background .2s}
.tk-ic svg{width:24px;height:24px}
.tk-t b{display:block;font:700 18px/1.2 var(--hf);letter-spacing:-.02em}
.tk-t small{display:block;margin-top:3px;font-size:14px;line-height:1.4;color:var(--mute)}
.tk-a{width:20px;height:20px;color:var(--mute);transition:transform .2s}
.tk-o:hover .tk-a{transform:translateX(4px);color:var(--ink)}
.tk-o--btn:hover .tk-a{transform:none}
.tk-ch{transition:transform .3s}.tk-o[aria-expanded="true"] .tk-ch{transform:rotate(180deg)}
.tk-o--y{background:var(--y);border-color:var(--y);color:#0d0d0d}
.tk-o--y .tk-ic{background:rgba(13,13,13,.1)}
.tk-o--y small,.tk-o--y .tk-a{color:#2b2b28}
.tk-email{margin-top:10px;padding:18px;border-radius:22px;background:var(--bg2);display:grid;gap:14px;animation:tkin .3s ease}
.tk-email[hidden]{display:none}
@keyframes tkin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tk-addr{font:800 clamp(22px,4.4vw,28px)/1.1 var(--hf);letter-spacing:-.03em;word-break:break-all;user-select:all}
.tk-eb2{display:flex;flex-wrap:wrap;gap:8px}
.tk-copy,.tk-open{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font:600 15px 'Instrument Sans',sans-serif;cursor:pointer;border:1.5px solid var(--ink)}
.tk-copy{background:var(--ink);color:var(--bg)}
.tk-copy svg{width:18px;height:18px}
.tk-open{background:transparent;color:var(--ink)}
.tk-copy:hover{background:var(--y);border-color:var(--y);color:#0d0d0d}
.tk-open:hover{background:var(--ink);color:var(--bg)}
.tk-x:focus-visible,.tk-o:focus-visible,.tk-copy:focus-visible,.tk-open:focus-visible{outline:3px solid var(--y);outline-offset:3px}
@media (max-width:560px){.c-talk{align-items:end;padding:0}.tk-card{border-radius:30px 30px 0 0;max-height:94dvh;transform:translateY(40px)}.tk-o{padding:12px 14px;gap:12px}.tk-ic{width:42px;height:42px}}
@media (prefers-reduced-motion:reduce){.tk-card,.tk-scrim{transition:none}}

/* ===== Contact: two kinds of enquiry ===== */
.p-cmain{display:grid;gap:18px;min-width:0}
.p-ctabs{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;padding:5px;border-radius:999px;background:var(--bg2);isolation:isolate}
.p-ctabs button{position:relative;z-index:1;min-height:52px;border:0;background:none;color:var(--ink);font:700 16px 'Instrument Sans',sans-serif;cursor:pointer;border-radius:999px;transition:color .25s;padding:0 12px}
.p-ctabs i{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--y);transition:transform .35s cubic-bezier(.3,.7,.2,1)}
.p-ctabs[data-on="proposal"] i{transform:translateX(100%)}
.p-ctabs button[aria-selected="true"]{color:#0d0d0d}
.p-cpanel{display:grid;gap:14px;animation:babin .45s cubic-bezier(.2,.7,.2,1);min-width:0}
.p-cpanel[hidden]{display:none}
.p-cintro{color:var(--mute);font-size:17px;line-height:1.6;max-width:56ch}
.p-cintro a,.p-cintro button{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px;background:none;border:0;padding:0;font-size:inherit;font-family:inherit;cursor:pointer}
.p-form label.full,.p-form .full{grid-column:1 / -1}
.p-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:44px}
.p-file{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:18px 20px;border:2px dashed var(--line);border-radius:20px;background:var(--card);cursor:pointer;transition:border-color .2s,background .2s}
.p-file:hover,.p-file.is-drag{border-color:var(--ink);background:color-mix(in srgb,var(--y) 14%,var(--card))}
.p-file input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0}
.p-file .p-fi{width:48px;height:48px;border-radius:15px;background:var(--y);color:#0d0d0d;display:grid;place-items:center}
.p-file .p-fi svg{width:24px;height:24px}
.p-file b{display:block;font:700 17px/1.2 var(--hf);letter-spacing:-.02em}
.p-file small{display:block;margin-top:3px;color:var(--mute);font-size:14px;font-weight:400}
.p-file.has-file b{color:var(--yink)}
.p-check{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:16px;cursor:pointer}
.p-check input{width:22px;height:22px;min-height:0;flex:none;margin-top:2px;accent-color:#0d0d0d}
.p-sidec--mail{grid-template-columns:auto minmax(0,1fr)}
.p-mail{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:2px}
.p-mail code{font:700 18px/1.2 var(--hf);letter-spacing:-.02em;user-select:all;word-break:break-all}
.p-mail button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:600 14px 'Instrument Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.p-mail button svg{width:16px;height:16px}
.p-mail button:hover{background:var(--ink);color:var(--bg)}
.p-side .p-sidec{cursor:pointer}
.p-side div.p-sidec:hover{transform:none;border-color:var(--line)}
@container (max-width:560px){.p-ctabs button{font-size:14.5px;min-height:48px}}
/* WordPress form (Contact Form 7) */
.p-form--cf7 .wpcf7-form>div.full{grid-column:1 / -1}
.p-form--cf7 .wpcf7-form-control-wrap{display:block}
.p-form--cf7 .wpcf7-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0}
.p-form--cf7 .wpcf7-checkbox,.p-form--cf7 .wpcf7-acceptance{display:block}
.p-form--cf7 .wpcf7-list-item{margin:0}
.p-form--cf7 .wpcf7-list-item label{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:16px}
.p-form--cf7 input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:#0d0d0d;margin-top:2px}

/* home hero visual: technology at a glance */
.c-hero .c-photo::before{display:none}
.hv{position:relative;border-radius:48px;aspect-ratio:4/5;overflow:hidden;isolation:isolate;container-type:inline-size}
@media (prefers-reduced-motion:reduce){.hv *{animation:none !important}}
.hv-dash{background:#ffc457;padding:6cqi;display:grid}
.hv-dash .win{background:#fff;color:#0d0d0d;border-radius:5cqi;overflow:hidden;box-shadow:0 30px 60px -30px rgba(13,13,13,.6);display:flex;flex-direction:column;height:100%}
.hv-dash .rws{flex:1;display:grid;grid-auto-rows:1fr}
.hv-dash .wh{background:#0d0d0d;color:#fafafa;display:flex;justify-content:space-between;align-items:center;padding:4cqi 4.6cqi}
.hv-dash .wh b{font:800 4.6cqi/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.03em}
.hv-dash .ok{background:#ffc457;color:#0d0d0d;font:700 2.7cqi/1 'Instrument Sans',sans-serif;padding:1.4cqi 2.8cqi;border-radius:99px}
.hv-dash .rw{display:flex;align-items:center;gap:2.6cqi;padding:3.1cqi 4.6cqi;border-bottom:1px solid #eeeeea}
.hv-dash .rw b{font:700 3.8cqi/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.02em}
.hv-dash .d{width:2.8cqi;height:2.8cqi;border-radius:50%;background:#2e9e5b;flex:none;animation:blink 3s ease-in-out infinite}.hv-dash .d.amb{background:#e8a317}
@keyframes blink{50%{opacity:.45}}
.hv-dash .st{margin-left:auto;font:500 3cqi/1 'Instrument Sans',sans-serif;color:#5d5d58}
.hv-dash .rm,.hv-dash .ai{padding:3.6cqi 4.6cqi;display:grid;gap:1.8cqi}
.hv-dash small{font:700 2.6cqi/1 'Instrument Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5d5d58}
.hv-dash .segs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2cqi}.hv-dash .segs i{height:3.4cqi;border-radius:2cqi;background:#0d0d0d}
.hv-dash .segs .s2{background:#ffc457}.hv-dash .segs .s3{background:repeating-linear-gradient(45deg,#ffc457 0 1.6cqi,#fff3d1 1.6cqi 3.2cqi);background-size:200% 100%;animation:slide 2.4s linear infinite}
@keyframes slide{to{background-position:6.4cqi 0}}
.hv-dash .sl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2cqi;font:600 2.8cqi/1 'Instrument Sans',sans-serif}
.hv-dash .pips{display:flex;gap:1.4cqi}.hv-dash .pips i{flex:1;height:3.4cqi;border-radius:2cqi;background:#eeeeea}.hv-dash .pips i.f{background:#0d0d0d}
@container (max-width:1000px){.c-photo{max-width:520px;width:100%}}


/* ===== WordPress additions ===== */
.c{min-height:100vh}
body{margin:0}
.wp-site-blocks,.entry-content{display:block}
.c-in>main,.c-in>.wp-block-group,.c-in .entry-content{margin:0;padding:0;max-width:none}
.c .wp-block-post-content,.c .entry-content{margin:0 !important;padding:0 !important;max-width:none !important}
.c .entry-content>*{max-width:none !important;margin-inline:0 !important}
.c-in>.c-foot{margin-top:clamp(56px,7cqi,112px)}
/* Elementor wrappers must not break sticky or full width */
.dz-ehdr{position:sticky;top:0;z-index:30}
.dz-ehdr .c-head{position:relative}
.dz-ehdr .elementor,.dz-eftr .elementor,.dz-ehdr .e-con,.dz-eftr .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px}
.dz-ehdr .elementor-widget,.dz-eftr .elementor-widget{margin:0}
.dz-ehdr .elementor-widget:not(:last-child),.dz-eftr .elementor-widget:not(:last-child){margin-block-end:0}
/* Contact Form 7 inside the contact layout */
.p-form--cf7{display:block}
.p-form--cf7 .wpcf7,.p-form--cf7 .wpcf7-form{margin:0}
.p-form--cf7 .wpcf7-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.p-form--cf7 .wpcf7-form>div,.p-form--cf7 .wpcf7-form>p{margin:0;min-width:0}
.p-form--cf7 .vc_col-lg-12,.p-form--cf7 .wpcf7-response-output,.p-form--cf7 fieldset,.p-form--cf7 .screen-reader-response{grid-column:1 / -1}
.p-form--cf7 label{display:grid;gap:8px;font-weight:600;font-size:15px}
.p-form--cf7 .wpcf7-form-control-wrap{display:block}
.p-form--cf7 input[type=text],.p-form--cf7 input[type=email],.p-form--cf7 input[type=tel],.p-form--cf7 select,.p-form--cf7 textarea{width:100%;min-height:54px;padding:0 18px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:500 16px 'Instrument Sans',sans-serif;box-sizing:border-box}
.p-form--cf7 textarea{padding:14px 18px;min-height:150px}
.p-form--cf7 input:focus,.p-form--cf7 select:focus,.p-form--cf7 textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--y) 55%,transparent)}
.p-form--cf7 .wpcf7-submit{width:100%;min-height:54px;border-radius:999px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);font:600 16px 'Instrument Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.p-form--cf7 .wpcf7-submit:hover{background:var(--y);border-color:var(--y);color:#0d0d0d}
.p-form--cf7 .wpcf7-not-valid-tip{font-size:13px;color:#b3261e;margin-top:4px}
.p-form--cf7 .wpcf7-response-output{margin:0;padding:14px 18px;border-radius:16px;border:1.5px solid var(--line);font-size:15px}
.p-form--cf7 .wpcf7-spinner{display:none}
@container (max-width:700px){.p-form--cf7 .wpcf7-form{grid-template-columns:minmax(0,1fr)}}
/* posts and articles */
.p-article{max-width:72ch;font-size:clamp(17px,1.4cqi,20px);line-height:1.75;color:var(--ink)}
.p-article>*+*{margin-top:1.1em}
.p-article h2,.p-article h3{font-family:var(--hf);letter-spacing:-.03em;line-height:1.1;margin-top:1.8em}
.p-article h2{font-size:clamp(26px,2.6cqi,38px)}
.p-article h3{font-size:clamp(21px,2cqi,28px)}
.p-article a{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px}
.p-article img{border-radius:20px;height:auto}
.p-article ul,.p-article ol{padding-left:1.3em;list-style:revert}
.p-slot--res{border-style:solid;border-color:var(--ink)}
.p-slot--res p{color:var(--ink)}
/* WordPress admin bar offset for sticky bars */
body.admin-bar .c-head,body.admin-bar .dz-ehdr{top:32px}
body.admin-bar .p-snav{top:116px}
@media (max-width:782px){body.admin-bar .c-head,body.admin-bar .dz-ehdr{top:46px}body.admin-bar .p-snav{top:118px}}
.p-form--cf7 select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:44px}
