/* The Works Consultancy: colour-led, sans only, no italics. Fonts self-hosted (Inter Tight, OFL). */
@font-face{font-family:"Inter Tight";src:url("fonts/inter-tight.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  --paper:#F7F4EC; --card:#FFFFFF; --ink:#12161F; --muted:#575D66; --faint:#8A8F98;
  --line:#E5DFD2; --line2:#D3CCBB;
  --navy:#0A2A5E; --green:#166534; --red:#B3282D; --gold:#946800;
  --navy2:#2B5CB8; --green2:#2E9E5B; --red2:#E04A50; --gold2:#D9A62E;
  --navyT:#E5EBF6; --greenT:#E3F1E8; --redT:#F7E4E4; --goldT:#F6ECD2;
  --cream:#F4EEE6; --dark:#0A0E15; --dark2:#0F1520; --dkline:rgba(244,238,230,.12);
  --sans:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif; --serif:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  --rad:22px; --rad-sm:14px; --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 1px 2px rgba(18,22,31,.05),0 10px 32px rgba(18,22,31,.08);
  --shadow-lg:0 2px 8px rgba(18,22,31,.07),0 30px 70px rgba(18,22,31,.16);
  --wrap:1240px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"ss01","cv11"}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em,i{font-style:normal}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,4vw,44px)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:200}.skip:focus{left:8px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:4px}
.progress{position:fixed;top:0;left:0;height:4px;width:0;z-index:120;background:linear-gradient(90deg,var(--navy2),var(--green2),var(--gold2),var(--red2));transition:width .1s linear}

/* type */
h1,h2,h3,h4{font-weight:600;letter-spacing:-.035em;line-height:1.04}
h1{font-size:clamp(44px,6.5vw,96px);letter-spacing:-.05em;line-height:.95;font-weight:650}
h2{font-size:clamp(34px,4.6vw,64px);letter-spacing:-.042em;font-weight:620}
h3{font-size:clamp(21px,1.9vw,27px);letter-spacing:-.024em;line-height:1.15}
h4{font-size:18px;letter-spacing:-.012em;line-height:1.25}
.eyebrow{font-size:12.5px;font-weight:650;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--muted);line-height:1.6;max-width:52ch}
.muted{color:var(--muted)}
p{color:var(--muted)}
p strong,li strong{color:var(--ink);font-weight:650}
.dk,.dk p,.dk .lead{color:#C9CED8}.dk h1,.dk h2,.dk h3,.dk h4,.dk strong{color:#fff}.dk .eyebrow{color:#9AA3B2}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-size:15.5px;font-weight:600;letter-spacing:-.005em;transition:transform .25s var(--ease),background .2s,color .2s,box-shadow .2s;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn.solid{background:var(--ink);color:#fff}
.btn.grad{border:0;color:#fff;background:linear-gradient(115deg,var(--navy2),var(--green) 38%,var(--red) 70%,var(--gold));background-size:260% 260%;animation:gshift 8s ease infinite}
.btn.arrow::after{content:"\2192";transition:transform .25s var(--ease)}.btn.arrow:hover::after{transform:translateX(4px)}
.btn.small{min-height:40px;padding:0 18px;font-size:13.5px}
.btn.ghost2{border-color:var(--line2);color:var(--muted)}
.dk .btn{border-color:rgba(255,255,255,.55);color:#fff}.dk .btn.solid{background:#fff;color:var(--ink);border-color:#fff}
@keyframes gshift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* header */
.top{position:sticky;top:0;z-index:100;background:rgba(247,244,236,.88);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.top.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px rgba(18,22,31,.05)}
.bar{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:68px;width:68px;transition:transform .5s var(--ease)}
.brand:hover img{transform:rotate(14deg)}
nav.main{display:flex;align-items:center;gap:clamp(16px,2.2vw,32px)}
nav.main a{font-size:15.5px;font-weight:500;color:var(--muted);position:relative;padding:6px 0;transition:color .2s}
nav.main a:hover,nav.main a.on{color:var(--ink)}
nav.main a.on::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--navy2),var(--green2),var(--gold2),var(--red2))}
nav.main a.cta{background:var(--ink);color:#fff;padding:0 22px;min-height:44px;display:inline-flex;align-items:center;border-radius:999px}
nav.main a.cta:hover{background:var(--navy)}nav.main a.cta.on::after{display:none}
.menu-btn{display:none;width:48px;height:48px;border:1.5px solid var(--ink);border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-btn span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .25s}
.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:960px){
  .menu-btn{display:flex}
  nav.main{position:fixed;inset:84px 0 auto 0;background:var(--paper);flex-direction:column;align-items:stretch;padding:8px clamp(18px,4vw,44px) 28px;gap:0;border-bottom:1px solid var(--line);transform:translateY(-10px);opacity:0;pointer-events:none;transition:.25s var(--ease);box-shadow:var(--shadow-lg)}
  nav.main.open{transform:none;opacity:1;pointer-events:auto}
  nav.main a{font-size:21px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
  nav.main a.on::after{display:none}
  nav.main a.cta{margin-top:18px;justify-content:center;border-bottom:0}
}

/* sections */
section.block{padding:clamp(70px,9vw,132px) 0;position:relative}
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.gpair svg{width:54px;height:54px;overflow:visible}
.two{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:end}
.two>.lead{padding-bottom:6px}
@media(max-width:900px){.two{grid-template-columns:1fr;align-items:start}}
.tint-navy{background:var(--navyT)}.tint-green{background:var(--greenT)}.tint-gold{background:var(--goldT)}.tint-red{background:var(--redT)}.tint-cream{background:var(--cream)}
.bg-navy{background:var(--navy)}.bg-green{background:var(--green)}.bg-red{background:var(--red)}.bg-gold{background:var(--gold)}.bg-ink{background:var(--dark)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* hero */
.hero{position:relative;padding:clamp(28px,5vw,70px) 0 clamp(60px,8vw,110px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,60px);align-items:center}
.kick{display:inline-flex;align-items:center;gap:12px;margin-bottom:26px}
.kick i{width:12px;height:12px;border-radius:50%;background:conic-gradient(var(--navy2) 0 25%,var(--green2) 0 50%,var(--red2) 0 75%,var(--gold2) 0 100%)}
.hero h1 .c1{color:var(--navy)}.hero h1 .c2{color:var(--green)}.hero h1 .c3{color:var(--red)}
.hero .sub{font-size:clamp(19px,1.8vw,24px);color:var(--muted);max-width:44ch;margin:28px 0 36px;line-height:1.5;letter-spacing:-.012em}
.disc{position:relative;aspect-ratio:1;width:100%;max-width:560px;margin-left:auto}
.disc .quad{position:absolute;inset:3%;border-radius:50%;background:conic-gradient(from -90deg,var(--navy) 0 25%,var(--green) 0 50%,var(--red) 0 75%,var(--gold) 0 100%);box-shadow:var(--shadow-lg)}
.disc .quad::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%)}
.disc svg.seal{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 10px 30px rgba(0,0,0,.28))}
.tag{position:absolute;background:#fff;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:650;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;white-space:nowrap}
.tag i{width:9px;height:9px;border-radius:50%}
.tag.t1{left:-2%;top:12%}.tag.t1 i{background:var(--navy)}
.tag.t2{right:-3%;top:34%}.tag.t2 i{background:var(--green)}
.tag.t3{left:2%;bottom:10%}.tag.t3 i{background:var(--gold)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.disc{max-width:380px;margin:10px auto 0}.tag{font-size:12px;padding:7px 12px}}
.spine{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(40px,6vw,80px)}
.sp{border-radius:var(--rad);padding:24px 26px;color:#fff;display:flex;flex-direction:column;gap:6px;min-height:150px;position:relative;overflow:hidden;transition:transform .35s var(--ease)}
.sp:hover{transform:translateY(-4px)}
.sp b{font-size:18px;letter-spacing:-.015em}.sp span{font-size:15px;color:rgba(255,255,255,.86);max-width:32ch}
.sp::after{content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.1)}
.sp.a{background:var(--navy)}.sp.b{background:var(--green)}.sp.c{background:var(--gold)}
@media(max-width:760px){.spine{grid-template-columns:1fr}.sp{min-height:0}}

/* marquee */
.marq{background:var(--dark);color:#fff;overflow:hidden;white-space:nowrap;padding:20px 0;border-block:1px solid #000}
.mtrack{display:inline-flex;gap:28px;animation:mscroll 46s linear infinite;padding-left:28px}
.mtrack span{font-size:clamp(20px,2.4vw,30px);font-weight:600;letter-spacing:-.02em;color:#fff}
.mtrack span:nth-child(4n+1) b{color:#6E9BF0}.mtrack span:nth-child(4n+3) b{color:#5FD08A}.mtrack span:nth-child(4n+5) b{color:#F0B84A}.mtrack span:nth-child(4n+7) b{color:#F0767B}
.mtrack span:nth-child(even){color:#555}
@keyframes mscroll{to{transform:translateX(-50%)}}

/* leaks */
.leaks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.leak{position:relative;background:var(--card);border-radius:var(--rad);padding:26px 26px 24px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;transition:transform .35s var(--ease),box-shadow .35s}
.leak:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.leak::before{content:"";position:absolute;left:0;top:0;height:6px;width:0;background:var(--lc);transition:width 1.3s var(--ease)}
.leak.in::before{width:100%}
.leak .no{font-size:12.5px;font-weight:650;letter-spacing:.14em;color:var(--lc)}
.leak b{font-size:25px;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}
.leak p{font-size:15px}
.leak .fix{margin-top:auto;display:inline-flex;align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--lc);padding:6px 12px;border-radius:999px}
@media(max-width:960px){.leaks{grid-template-columns:1fr 1fr}}@media(max-width:600px){.leaks{grid-template-columns:1fr}}

/* audit */
.audit{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:1px solid var(--dkline)}
.astep{padding:30px 26px 6px 0;margin-right:26px;border-right:1px solid var(--dkline)}
.astep:last-child{border-right:0;margin-right:0}
.astep .n{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;margin-bottom:34px}
.astep:nth-child(1) .n{background:var(--navy2)}.astep:nth-child(2) .n{background:var(--green2)}.astep:nth-child(3) .n{background:var(--gold2);color:#201800}.astep:nth-child(4) .n{background:var(--red2)}
.astep h3{margin-bottom:10px}.astep p{font-size:15.5px}
@media(max-width:960px){.audit{grid-template-columns:1fr 1fr}.astep{border-right:0;margin-right:0;border-bottom:1px solid var(--dkline);padding-bottom:28px}}@media(max-width:560px){.audit{grid-template-columns:1fr}}

/* routes / cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rcard{border-radius:var(--rad);padding:clamp(26px,3vw,40px);color:#fff;display:flex;flex-direction:column;gap:14px;min-height:300px;position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.rcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.rcard .rn{font-size:clamp(60px,7vw,100px);font-weight:700;letter-spacing:-.06em;line-height:.9;opacity:.95}
.rcard h3{margin-top:auto;color:#fff}.rcard p{color:rgba(255,255,255,.88);font-size:16px}
.rcard::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.09)}
.rcard.t{background:var(--navy)}.rcard.r{background:var(--green)}.rcard.p{background:var(--gold)}
@media(max-width:860px){.cards3{grid-template-columns:1fr}.rcard{min-height:0}}
.opts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.opt{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px;display:flex;flex-direction:column;gap:14px;border-top:6px solid var(--oc)}
.opt h3{color:var(--oc)}
.opt .rr b{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}
.opt .rr.rew b{color:var(--green)}.opt .rr.rsk b{color:var(--red)}.opt .rr.rgt b{color:var(--ink)}
.opt .rr p{font-size:14.5px}
@media(max-width:1100px){.opts{grid-template-columns:1fr 1fr}}@media(max-width:600px){.opts{grid-template-columns:1fr}}

/* product cards */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px}
.pcard{background:var(--card);border-radius:var(--rad);padding:clamp(24px,3vw,36px);border:1px solid var(--line);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;transition:transform .35s var(--ease),box-shadow .35s}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--pc)}
.pcard h3{color:var(--pc)}
.prow-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.prow-top img{height:60px;width:60px}
.badge-live,.badge-build{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.badge-live{background:var(--greenT);color:var(--green)}.badge-build{background:var(--goldT);color:var(--gold)}
.badge-live .dot,.badge-build .dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.tl{font-size:15.5px}
.foot-row{margin-top:auto;display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-top:8px}
.more{font-weight:650;font-size:15px;color:var(--pc);border-bottom:2px solid currentColor;padding-bottom:1px}
.visit-chip{font-size:13.5px;font-weight:600;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:5px 12px}
.visit-chip[hidden],[data-show-when][hidden]{display:none}
@media(max-width:760px){.pgrid{grid-template-columns:1fr}}

/* principles */
.prin{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.prin>div{border-radius:var(--rad);padding:28px;background:rgba(255,255,255,.06);border:1px solid var(--dkline)}
.prin .dotc{width:14px;height:14px;border-radius:50%;margin-bottom:34px}
.prin h4{margin-bottom:8px;color:#fff;font-size:21px}.prin p{font-size:15px;color:#B9C0CD}
@media(max-width:960px){.prin{grid-template-columns:1fr 1fr}}@media(max-width:560px){.prin{grid-template-columns:1fr}}

/* functions page */
.fn{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px);padding:clamp(36px,5vw,64px) 0;border-top:1px solid var(--line2)}
.fn .l{position:sticky;top:110px;align-self:start}
.fn .l .no{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--fc)}
.fn .l h2{font-size:clamp(32px,3.6vw,50px);margin:8px 0 12px;color:var(--fc)}
.fn .route{display:inline-flex;margin-top:16px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--fc);padding:6px 12px;border-radius:999px}
.seat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad-sm);padding:22px 24px;margin-bottom:12px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:8px 26px;border-left:6px solid var(--fc)}
.seat>div:first-child{grid-row:1/3}
.seat h4{font-size:20px}.seat .b{font-size:14.5px;color:var(--muted)}
.seat .w{font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--ink);line-height:1.3}
.seat ul{list-style:none;display:grid;gap:7px}
.seat li{display:grid;grid-template-columns:62px 1fr;gap:12px;font-size:14.5px;color:var(--muted)}
.seat li b{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding-top:2px}
.seat li:nth-child(1) b{color:var(--navy)}.seat li:nth-child(2) b{color:var(--green)}.seat li:nth-child(3) b{color:var(--gold)}
@media(max-width:860px){.fn{grid-template-columns:1fr}.fn .l{position:static}.seat{grid-template-columns:1fr}.seat>div:first-child{grid-row:auto}}

/* page head + product pages */
.pagehead{padding:clamp(48px,7vw,100px) 0 clamp(36px,5vw,64px);position:relative;overflow:hidden}
.pagehead h1{font-size:clamp(42px,6.2vw,92px);margin:20px 0 22px;max-width:18ch}
.pagehead .backlink{font-size:14px;font-weight:600;color:var(--muted)}
.pbar{height:8px;background:var(--pc);border-radius:8px;width:120px;margin-bottom:22px}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px;border-top:6px solid var(--pc,var(--navy))}
.step .n{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--pc,var(--navy));margin-bottom:26px}
.step h3{font-size:21px;margin-bottom:8px}.step p{font-size:15px}
@media(max-width:960px){.steps4{grid-template-columns:1fr 1fr}}@media(max-width:560px){.steps4{grid-template-columns:1fr}}
.c{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:28px}
.c .n{font-size:14px;font-weight:700;color:var(--pc,var(--navy));margin-bottom:12px;letter-spacing:.1em}
.c h3{margin-bottom:8px}.c p{font-size:15.5px}
.callout{border-radius:var(--rad);padding:clamp(26px,3vw,40px);background:var(--pc);color:#fff;margin-top:14px}
.callout h3,.callout p{color:#fff}.callout p{opacity:.92}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--rad-sm);margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;font-size:clamp(18px,1.8vw,22px);font-weight:600;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:400;color:var(--navy);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open]{border-color:var(--navy)}
.faq details p{padding:0 26px 24px;max-width:70ch;font-size:16.5px}

/* contact / forms */
.detail-row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line2);font-size:17px}
.detail-row span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding-top:4px}
.detail-row a{border-bottom:2px solid var(--navy)}.detail-row a:hover{color:var(--navy)}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:650;margin-bottom:7px;color:var(--muted)}
.field input,.field textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line2);border-radius:12px;font-family:var(--sans);font-size:16px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(10,42,94,.14)}
.formcard{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow)}
.ask-done{margin-top:12px;font-size:14px;color:var(--muted)}.ask-done a{color:var(--navy);border-bottom:1px solid}
.contactgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,80px);align-items:start}
@media(max-width:900px){.contactgrid{grid-template-columns:1fr}}

/* ask widget */
.ask-fab{position:fixed;right:22px;bottom:22px;z-index:90;background:var(--ink);color:#fff;border-radius:999px;padding:15px 26px;font-size:15px;font-weight:650;box-shadow:var(--shadow-lg);transition:transform .25s var(--ease)}
.ask-fab:hover{transform:translateY(-3px) scale(1.03)}
.ask-panel{position:fixed;right:22px;bottom:84px;z-index:91;width:min(380px,calc(100vw - 44px));background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px;box-shadow:var(--shadow-lg);display:none;border-top:6px solid var(--navy)}
.ask-panel.open{display:block}
.ask-panel .x{position:absolute;right:14px;top:12px;font-size:24px;color:var(--muted)}
.ask-panel h4{font-size:20px;margin-bottom:4px}.ask-panel .sub{font-size:14px;margin-bottom:16px}

/* footer */
.foot{background:var(--dark);color:#fff;padding:clamp(60px,8vw,110px) 0 34px;position:relative;overflow:hidden}
.ctaband{display:grid;gap:18px;margin-bottom:clamp(50px,7vw,90px)}
.ctaband h2{color:#fff;font-size:clamp(40px,6vw,88px);max-width:14ch}
.giant{display:flex;align-items:center;gap:24px;margin:0 0 40px}
.giant img{width:clamp(110px,14vw,190px);height:auto}
.giant span{font-size:clamp(28px,4vw,56px);font-weight:650;letter-spacing:-.04em;color:#fff}
.linksrow{display:flex;flex-wrap:wrap;gap:12px 30px;padding:26px 0;border-top:1px solid var(--dkline)}
.linksrow a{color:#E7EAF0;font-size:16px;font-weight:500}.linksrow a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--dkline);font-size:13.5px;color:#9AA3B2}
.bot a:hover{color:#fff}.foot-legal{display:flex;gap:18px}
.foot .bar4{position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--navy2) 0 25%,var(--green2) 0 50%,var(--gold2) 0 75%,var(--red2) 0 100%)}

@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.mtrack{animation:none}.btn.grad{animation:none}html{scroll-behavior:auto}}
@media print{.top,.ask-fab,.ask-panel,.progress{display:none}.reveal{opacity:1;transform:none}}

.nb{white-space:nowrap}
.foot .btn.arrow{color:#fff}

/* ---- diagnostic org model (ported from theworksgroup.ae, recoloured by tokens) ---- */
.ask-fab{position:fixed;right:22px;bottom:22px;z-index:60;background:var(--ink);color:var(--cream);border:1px solid rgba(244,238,230,.2);border-radius:999px;padding:14px 24px;font-family:var(--sans);font-size:14.5px;font-weight:500;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.35);transition:transform .25s var(--ease)}
.ask-fab:hover{transform:translateY(-3px) scale(1.03)}
.ask-panel{position:fixed;right:22px;bottom:78px;z-index:61;width:min(360px,calc(100vw - 44px));background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px;box-shadow:var(--shadow-lg);display:none}
.ask-panel.open{display:block}
.ask-panel .x{position:absolute;right:14px;top:10px;background:none;border:0;font-size:22px;color:var(--muted);cursor:pointer}
.ask-panel h4{font-size:19px;margin-bottom:4px}
.ask-panel .sub{font-size:13.5px;color:var(--muted);margin-bottom:16px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.orgwrap{margin-top:38px}
.orgtree{display:flex;flex-direction:column;gap:26px;position:relative}
.orow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.onode{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:13.5px;font-weight:600;padding:11px 16px;border-radius:999px;border:1.5px solid var(--line2);background:var(--card);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;color:var(--ink)}
.onode:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.onode.sel{border-color:var(--ink);box-shadow:var(--shadow)}
.onode .dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto}
.onode.st-green .dot{background:#2E9E5B}
.onode.st-amber .dot{background:#D9A62E}
.onode.st-red .dot{background:#E04A50;animation:pulse 1.8s infinite}
.orgpanel{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad-sm);padding:22px 24px;min-height:120px}
.odetail .ohead{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.odetail h3{font-family:var(--sans);font-weight:600;font-size:17px}
.pdot{width:12px;height:12px;border-radius:50%}
.pdot.st-green{background:#2E9E5B}.pdot.st-amber{background:#D9A62E}.pdot.st-red{background:#E04A50}
.ofix{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;background:var(--ink);color:var(--cream)}
.ofix.ok{background:#E9F3EC;color:var(--green)}
.odiag{color:var(--ink);font-size:15px;margin-bottom:6px}
.ocure{color:var(--muted);font-size:14px}
.orgnote{font-size:12.5px;color:var(--muted);margin-top:12px;text-align:center}
@media(max-width:640px){.spine{grid-template-columns:1fr}.onode{font-size:12.5px;padding:9px 12px}}

/* ---------- diagnostic org tree (v2) ---------- */
.treewrap{overflow-x:auto;padding:10px 4px 4px}
.tree{display:flex;justify-content:center;min-width:760px;padding-top:0}
.tree ul{display:flex;justify-content:center;padding-top:26px;position:relative}
.tree ul::before{content:'';position:absolute;top:0;left:50%;border-left:2px solid var(--line2);height:26px}
.tree li{list-style:none;position:relative;display:flex;flex-direction:column;align-items:center;padding:26px 7px 0}
.tree li::before,.tree li::after{content:'';position:absolute;top:0;right:50%;border-top:2px solid var(--line2);width:50%;height:26px}
.tree li::after{right:auto;left:50%;border-left:2px solid var(--line2)}
.tree li:only-child::before,.tree li:only-child::after{display:none}
.tree li:only-child{padding-top:26px}
.tree li:first-child::before,.tree li:last-child::after{border:0 none}
.tree li:last-child::before{border-right:2px solid var(--line2);border-radius:0 8px 0 0}
.tree li:first-child::after{border-radius:8px 0 0 0}
.tree > li{padding-top:0}
.tree > li::before,.tree > li::after{display:none}
.onode{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:13px;font-weight:600;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line2);background:var(--card);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;color:var(--ink);white-space:nowrap}
.onode:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.onode.sel{border-color:var(--ink);box-shadow:var(--shadow)}
.onode .dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;background:#2E9E5B;transition:background .3s}
.onode.st-amber .dot{background:#D9A62E}
.onode.st-red .dot{background:#E04A50;animation:pulse 1.8s infinite}
.onode.stress{border-color:#D9A62E;border-style:dashed}
.onode.stress::after{content:'!';margin-left:2px;color:#B3282D;font-weight:800}
.orgpanel{margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad-sm);padding:22px 24px}
.ohead{display:flex;align-items:center;gap:12px;margin-bottom:4px;flex-wrap:wrap}
.ohead h3{font-family:var(--sans);font-weight:600;font-size:17px}
.oblurb{color:var(--muted);font-size:14px;margin-bottom:14px}
.ostates{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.ost{font-size:12.5px;font-weight:700;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line2);background:var(--paper);cursor:pointer;font-family:var(--sans)}
.ost.on-green{border-color:#2E9E5B;background:#E9F3EC;color:var(--green)}
.ost.on-amber{border-color:#D9A62E;background:#F7EFDC;color:var(--gold)}
.ost.on-red{border-color:#E04A50;background:#FBEBEC;color:var(--red)}
.oconseq{font-size:15px;margin-bottom:16px}
.oconseq.bad{color:var(--red);font-weight:600}
.oconseq.warn{color:var(--gold);font-weight:600}
.ofixes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ofx{display:block;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--paper);transition:transform .2s var(--ease),box-shadow .2s}
.ofx:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ofx b{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.ofx.fxt b{color:var(--navy)}.ofx.fxr b{color:var(--green)}.ofx.fxp b{color:var(--gold)}
.ofx span{font-size:13px;color:var(--muted);line-height:1.5}
.orgboard{margin-top:16px;background:var(--cream);border:1px solid var(--line);border-radius:var(--rad-sm);padding:20px 24px}
.orgboard h3{font-family:var(--sans);font-weight:600;font-size:15px;margin-bottom:10px}
.oeff{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.oeff:last-child{border-bottom:0}
.oeff b{color:var(--red);white-space:nowrap}
.oeff.warn b{color:var(--gold)}
.oeff span{color:var(--muted)}
@media(max-width:760px){.ofixes{grid-template-columns:1fr}}

/* relationship lines (v2.1) */
.treewrap{position:relative}
.orglinks{position:absolute;left:0;top:0;pointer-events:none;z-index:1;overflow:visible}
.onode{position:relative;z-index:2}
.orglinks path{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 7;animation:dashflow 1.1s linear infinite;opacity:.85}
.orglinks path.rel-red{stroke:#E04A50}
.orglinks path.rel-amber{stroke:#D9A62E}
@keyframes dashflow{to{stroke-dashoffset:-28}}
@media (prefers-reduced-motion:reduce){.orglinks path{animation:none}}
.tree li.rel-red::before,.tree li.rel-red::after{border-color:#E04A50!important}
.tree li.rel-amber::before,.tree li.rel-amber::after{border-color:#D9A62E!important}

/* v5.2: glow + bigger tree + mobile hardening */
.orglinks path.rel-red{filter:drop-shadow(0 0 4px rgba(224,74,80,.95)) drop-shadow(0 0 12px rgba(224,74,80,.55))}
.orglinks path.rel-amber{filter:drop-shadow(0 0 4px rgba(217,166,46,.95)) drop-shadow(0 0 12px rgba(217,166,46,.5))}
.onode.st-red{border-color:#E04A50;box-shadow:0 0 14px rgba(224,74,80,.45)}
.onode.st-amber{border-color:#D9A62E;box-shadow:0 0 12px rgba(217,166,46,.4)}
.onode.st-red .dot{box-shadow:0 0 10px rgba(224,74,80,.9)}
.onode.st-amber .dot{box-shadow:0 0 9px rgba(217,166,46,.85)}
.tree{min-width:1180px}
.treewrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.treewrap::after{content:'';display:block;height:2px}
@media(max-width:760px){
  .tree{min-width:1080px}
  .onode{font-size:11.5px;padding:8px 10px;gap:6px}
  .onode .dot{width:9px;height:9px}
  .orgpanel{padding:16px}
  .orgnote{padding:0 4px}
  .wrap{padding:0 16px}
  .giant span{font-size:clamp(24px,8vw,60px)}
  h1{overflow-wrap:break-word}
  .sec-head .gpair svg{height:44px}
}

/* ---------- org chart v4: column layout, no horizontal scroll ---------- */
.treewrap{overflow:visible;min-width:0}
.tree,.orow{display:none}
.oceo{display:flex;justify-content:center;position:relative;padding-bottom:26px}
.oceo::after{content:'';position:absolute;bottom:0;left:50%;border-left:2px solid var(--line2);height:26px}
.ocols{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;position:relative;padding-top:26px}
.ocols::before{content:'';position:absolute;top:0;left:10%;right:10%;border-top:2px solid var(--line2)}
.ocol{position:relative;min-width:0}
.ocol::before{content:'';position:absolute;top:-26px;left:50%;border-left:2px solid var(--line2);height:26px}
.ohead2{display:flex;justify-content:center;margin-bottom:12px}
.okids{position:relative;margin-left:16px;padding-left:14px;border-left:2px solid var(--line2);display:flex;flex-direction:column;gap:8px}
.okid{position:relative}
.okid::before{content:'';position:absolute;left:-14px;top:18px;width:12px;border-top:2px solid var(--line2)}
.okid .okids{margin-top:8px}
.onode{width:100%;justify-content:flex-start;text-align:left;white-space:normal;padding:8px 12px}
.ohead2 .onode{width:auto}
.onode .ott{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.onode .ott b{font-weight:600}
.onode .aff{display:none;font-size:10px;font-weight:600;letter-spacing:.03em;color:#B3282D;text-transform:uppercase}
.onode .aff.on{display:block}
.onode .aff.warn{color:#946800}
@media(max-width:960px){.ocols{grid-template-columns:repeat(2,1fr)}.ocols::before{left:25%;right:25%}}
@media(max-width:640px){.ocols{grid-template-columns:1fr}.ocols::before{display:none}.ocol::before{display:none}.ocol{border-top:1px dashed var(--line2);padding-top:10px}}

/* org controls + conclusions */
.orgctl{display:flex;gap:10px;margin-bottom:18px}
.btn.small{padding:10px 18px;font-size:13.5px}
.btn.ghost2{border-color:var(--line2);color:var(--muted)}
.btn.ghost2:hover{border-color:var(--ink);color:var(--ink)}
.orgconc{margin-top:14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--rad-sm);padding:20px 24px}
.orgconc h3{font-family:var(--sans);font-weight:600;font-size:15px;margin-bottom:10px}
.orgconc p{font-size:15px;color:var(--ink);margin-bottom:10px;max-width:75ch}
.orgconc .concact{color:var(--muted);font-size:14px;border-top:1px solid var(--line);padding-top:12px;margin-bottom:0}
.orgconc .concact b{color:var(--ink)}

/* ---------- org chart v5: medallion cards on blueprint canvas ---------- */
.treewrap{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:clamp(18px,3vw,36px);background-image:radial-gradient(rgba(18,22,31,.07) 1px,transparent 1px);background-size:22px 22px}
.oceo{padding-bottom:30px}
.oceo .onode{width:auto;min-width:230px;padding:12px 22px 12px 12px;border-radius:18px}
.oceo::after{height:30px}
.ocols{padding-top:30px}
.onode{border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.85);backdrop-filter:blur(4px);box-shadow:0 1px 2px rgba(18,22,31,.05);gap:10px;padding:8px 12px 8px 8px;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.onode:hover{transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow-lg);border-color:var(--line2)}
.onode.sel{border-color:var(--ink);box-shadow:var(--shadow-lg)}
.onode .med{position:relative;flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--paper);border:2px solid var(--bc,var(--line2))}
.onode .med b{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--bc,var(--muted));font-family:var(--sans)}
.oceo .onode .med{width:44px;height:44px;border:none;background:conic-gradient(var(--navy) 0 25%,var(--green) 0 50%,var(--red) 0 75%,var(--gold) 0 100%);padding:3px}
.oceo .onode .med::before{content:'';position:absolute;inset:3px;background:var(--paper);border-radius:50%}
.oceo .onode .med b{position:relative;color:var(--ink);font-size:12px}
.onode .cap{display:block;font-size:10.5px;color:var(--muted);font-weight:500;letter-spacing:.01em}
.br-sales{--bc:var(--navy)} .br-ops{--bc:var(--green)} .br-fin{--bc:var(--red)} .br-hr{--bc:var(--gold)} .br-mkt{--bc:var(--navy2)}
.onode .dot{display:none}
.onode.st-red{border-color:#E04A50;box-shadow:0 0 16px rgba(224,74,80,.35)}
.onode.st-red .med{border-color:#E04A50;background:#FBEBEC;animation:medpulse 1.8s infinite}
.onode.st-amber{border-color:#D9A62E;box-shadow:0 0 13px rgba(217,166,46,.3)}
.onode.st-amber .med{border-color:#D9A62E;background:#F7EFDC}
@keyframes medpulse{0%,100%{box-shadow:0 0 0 0 rgba(224,74,80,.5)}70%{box-shadow:0 0 0 8px rgba(224,74,80,0)}}
.onode.stress{border-style:dashed;border-color:#D9A62E}
.okids{border-left-width:2px}
.ohead2 .onode{min-width:190px}
@media(max-width:960px){.oceo .onode{min-width:0}}
@media(max-width:640px){
  .treewrap{padding:14px}
  .onode{width:100%}
  .ohead2 .onode{width:100%}
  .onode .cap{font-size:10px}
}

/* v5.1: fluid nodes inside columns at every width */
.ocol{min-width:0}
.okids .onode,.ohead2 .onode{width:100%;min-width:0}
.onode .ott{min-width:0}
.onode .ott b{overflow-wrap:anywhere}

/* keyboard focus (audit 2026-10-12): visible ring on every interactive element */
a:focus-visible,button:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:4px}
.field select:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.mcog{cursor:pointer}.mcog:focus-visible{outline:2px solid var(--navy,#0A2A5E);outline-offset:4px}
