/* Fler Experience — site styles (no framework) */
@font-face{font-family:'Quicksand';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/quicksand-v37-latin_latin-ext-500.woff2) format('woff2')}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/quicksand-v37-latin_latin-ext-600.woff2) format('woff2')}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/quicksand-v37-latin_latin-ext-700.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/nunito-v32-latin_latin-ext-regular.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/nunito-v32-latin_latin-ext-italic.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/nunito-v32-latin_latin-ext-600.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/nunito-v32-latin_latin-ext-700.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/nunito-v32-latin_latin-ext-800.woff2) format('woff2')}
/* v5.5 metric-matched fallbacks: only used for the split second before the web fonts load; they stop text reflow (CLS). Final rendering unchanged. */
@font-face{font-family:'Nunito Fallback';font-weight:400 600;src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('Arimo'),local('Helvetica Neue'),local('Helvetica'),local('Roboto');unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-0132,U+0134-017E,U+0181,U+018A,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01B3-01B4,U+01C4-01CE,U+01D4,U+01E5-01E7,U+01E9-01EB,U+01EF,U+01FA-021B,U+021F,U+0226-0228,U+022A-022D,U+0230-0233,U+0237,U+0253,U+0257,U+0259,U+0292,U+02B9-02BC,U+02BE-02BF,U+02C6-02CC,U+02DA,U+02DC-02DD,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1E08-1E09,U+1E0C-1E0F,U+1E14-1E17,U+1E1C-1E1D,U+1E20-1E21,U+1E24-1E25,U+1E2A-1E2B,U+1E2E-1E2F,U+1E36-1E37,U+1E3A-1E3B,U+1E42-1E49,U+1E4C-1E53,U+1E5A-1E5B,U+1E5E-1E69,U+1E6C-1E6F,U+1E78-1E7B,U+1E80-1E85,U+1E8E-1E8F,U+1E92-1E93,U+1E97,U+1E9E,U+1EF2-1EF9,U+2009,U+200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20A1,U+20A3-20A4,U+20A6-20A7,U+20A9,U+20AB-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BC-20BD,U+2113,U+2122,U+2212,U+2215;size-adjust:100%;ascent-override:101.1%;descent-override:35.3%;line-gap-override:0%}
@font-face{font-family:'Nunito Fallback';font-weight:700 800;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Arimo Bold'),local('Helvetica Neue Bold'),local('Helvetica Bold'),local('Roboto Bold');unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-0132,U+0134-017E,U+0181,U+018A,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01B3-01B4,U+01C4-01CE,U+01D4,U+01E5-01E7,U+01E9-01EB,U+01EF,U+01FA-021B,U+021F,U+0226-0228,U+022A-022D,U+0230-0233,U+0237,U+0253,U+0257,U+0259,U+0292,U+02B9-02BC,U+02BE-02BF,U+02C6-02CC,U+02DA,U+02DC-02DD,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1E08-1E09,U+1E0C-1E0F,U+1E14-1E17,U+1E1C-1E1D,U+1E20-1E21,U+1E24-1E25,U+1E2A-1E2B,U+1E2E-1E2F,U+1E36-1E37,U+1E3A-1E3B,U+1E42-1E49,U+1E4C-1E53,U+1E5A-1E5B,U+1E5E-1E69,U+1E6C-1E6F,U+1E78-1E7B,U+1E80-1E85,U+1E8E-1E8F,U+1E92-1E93,U+1E97,U+1E9E,U+1EF2-1EF9,U+2009,U+200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20A1,U+20A3-20A4,U+20A6-20A7,U+20A9,U+20AB-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BC-20BD,U+2113,U+2122,U+2212,U+2215;size-adjust:96.58%;ascent-override:104.68%;descent-override:36.55%;line-gap-override:0%}
@font-face{font-family:'Quicksand Fallback';font-weight:400 600;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Arimo Bold'),local('Helvetica Neue Bold'),local('Helvetica Bold'),local('Roboto Bold');unicode-range:U+000D,U+0020-007E,U+00A0-017E,U+018F,U+0192,U+019D,U+01A0-01A1,U+01AF-01B0,U+01C4-01D4,U+01E6-01E7,U+01EA-01EB,U+01F2,U+01FA-021B,U+022A-022D,U+0230-0233,U+0237,U+0259,U+0272,U+02B9,U+02BB-02BC,U+02BE-02BF,U+02C6-02CC,U+02DA,U+02DC-02DD,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1E08-1E09,U+1E0C-1E0F,U+1E12-1E17,U+1E1C-1E1D,U+1E20-1E21,U+1E24-1E25,U+1E2A-1E2B,U+1E2E-1E2F,U+1E36-1E37,U+1E3A-1E3D,U+1E42-1E53,U+1E5A-1E5B,U+1E5E-1E69,U+1E6C-1E71,U+1E78-1E7B,U+1E80-1E85,U+1E8E-1E8F,U+1E92-1E93,U+1E97,U+1E9E,U+1EF2-1EF9,U+2009,U+200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2026,U+2033,U+2039-203A,U+2044,U+20A1,U+20A3-20A4,U+20A6-20A7,U+20A9,U+20AB-20AD,U+20B1-20B2,U+20B5,U+20B9-20BA,U+20BC-20BD,U+2113,U+2122,U+2212,U+2215;size-adjust:99.26%;ascent-override:100.74%;descent-override:25.19%;line-gap-override:0%}
@font-face{font-family:'Quicksand Fallback';font-weight:700 800;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Arimo Bold'),local('Helvetica Neue Bold'),local('Helvetica Bold'),local('Roboto Bold');unicode-range:U+000D,U+0020-007E,U+00A0-017E,U+018F,U+0192,U+019D,U+01A0-01A1,U+01AF-01B0,U+01C4-01D4,U+01E6-01E7,U+01EA-01EB,U+01F2,U+01FA-021B,U+022A-022D,U+0230-0233,U+0237,U+0259,U+0272,U+02B9,U+02BB-02BC,U+02BE-02BF,U+02C6-02CC,U+02DA,U+02DC-02DD,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+1E08-1E09,U+1E0C-1E0F,U+1E12-1E17,U+1E1C-1E1D,U+1E20-1E21,U+1E24-1E25,U+1E2A-1E2B,U+1E2E-1E2F,U+1E36-1E37,U+1E3A-1E3D,U+1E42-1E53,U+1E5A-1E5B,U+1E5E-1E69,U+1E6C-1E71,U+1E78-1E7B,U+1E80-1E85,U+1E8E-1E8F,U+1E92-1E93,U+1E97,U+1E9E,U+1EF2-1EF9,U+2009,U+200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2026,U+2033,U+2039-203A,U+2044,U+20A1,U+20A3-20A4,U+20A6-20A7,U+20A9,U+20AB-20AD,U+20B1-20B2,U+20B5,U+20B9-20BA,U+20BC-20BD,U+2113,U+2122,U+2212,U+2215;size-adjust:100.84%;ascent-override:99.16%;descent-override:24.79%;line-gap-override:0%}


:root{
  --navy:#0E137C; --navy-2:#1A21A0; --navy-deep:#080B4F;
  --peach:#FFBD9E; --peach-d:#E8895F; --mint:#2BBB9D; --mist:#F4F5FF;
  --bg:#FBFBFF; --bg-alt:#F2F3FE; --surface:#FFFFFF; --text:#1D2270; --title:#0E137C; --muted:#646A9C;
  --line:rgba(14,19,124,.10); --line-2:rgba(14,19,124,.18);
  --accent:#0E137C; --on-accent:#fff; --warm:#E3622F; --warm-deco:#E8895F; --mint-t:#18806B; --soft:#EEF0FF;
  --shadow:0 1px 2px rgba(14,19,124,.04),0 12px 32px -12px rgba(14,19,124,.14);
  --shadow-lg:0 30px 60px -24px rgba(14,19,124,.28);
  --r:22px; --r-sm:14px; --ease:cubic-bezier(.2,.8,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --wrap:1180px; --gut:clamp(24px,5vw,40px); --header:76px;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#070A2E; --bg-alt:#0B0F3D; --surface:#11164D; --text:#D9DCF6; --title:#F2F3FF; --muted:#9CA1D2;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.18);
  --accent:#FFBD9E; --on-accent:#0E137C; --warm:#FFBD9E; --warm-deco:#FFBD9E; --mint-t:#7EE0C9; --soft:rgba(255,189,158,.09);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6); --shadow-lg:0 30px 70px -24px rgba(0,0,0,.7);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 'Nunito','Nunito Fallback',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .4s var(--ease),color .4s var(--ease)}
img,svg,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:'Quicksand','Quicksand Fallback','Nunito','Nunito Fallback',sans-serif;color:var(--title);letter-spacing:-.02em;line-height:1.12;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(38px,6vw,72px)} h2{font-size:clamp(30px,4.2vw,48px)} h3{font-size:clamp(20px,2.2vw,24px);line-height:1.25}
p{margin:0 0 1em}
::selection{background:var(--peach);color:var(--navy)}
:focus-visible{outline:3px solid var(--peach-d);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;z-index:999}
.skip:focus{left:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:760px}
.section{padding:clamp(64px,9vw,120px) 0;position:relative}
.section.tight{padding:clamp(48px,7vw,88px) 0}
.alt{background:var(--bg-alt)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12.5px/1 'Quicksand','Quicksand Fallback';letter-spacing:.22em;text-transform:uppercase;color:var(--warm);margin-bottom:18px}
.eyebrow::before{content:'';width:22px;height:2px;border-radius:2px;background:var(--warm-deco)}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:640px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.muted{color:var(--muted)}
.hl{color:var(--warm)}
.grad{background:linear-gradient(100deg,#E3622F,#8A4E86 55%,#18806B);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- buttons ---------- */
.btn{--b:var(--accent);display:inline-flex;align-items:center;gap:10px;font:700 15.5px/1 'Quicksand','Quicksand Fallback';text-decoration:none;border-radius:999px;padding:16px 26px;border:1.5px solid transparent;cursor:pointer;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background-color .3s,color .3s,border-color .3s;will-change:transform}
.btn svg{width:18px;height:18px;transition:transform .35s var(--ease-out)}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 12px 28px -10px rgba(14,19,124,.5)}
html[data-theme="dark"] .btn-primary{box-shadow:0 12px 28px -10px rgba(255,189,158,.45)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(14,19,124,.55)}
.btn-peach{background:var(--peach);color:var(--navy)}
.btn-peach:hover{transform:translateY(-2px);background:#ffcab1}
.btn-ghost{border-color:var(--line-2);color:var(--title);background:transparent}
.btn-ghost:hover{border-color:var(--title);transform:translateY(-2px)}
.btn-link{font:700 15.5px 'Quicksand','Quicksand Fallback';color:var(--title);text-decoration:none;display:inline-flex;gap:8px;align-items:center;border-bottom:1.5px solid var(--line-2);padding-bottom:3px;transition:border-color .3s,gap .3s}
.btn-link:hover{border-color:var(--warm);gap:12px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:80;height:var(--header);transition:background-color .4s,box-shadow .4s,height .4s var(--ease),backdrop-filter .4s}
.hdr .in{height:100%;display:flex;align-items:center;gap:22px}
.hdr.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line);--header:64px}
.logo{display:flex;align-items:center;color:var(--title);text-decoration:none;flex:none}
.logo svg{height:34px;width:auto;transition:transform .5s var(--ease-out)}
.logo:hover svg{transform:rotate(-3deg) scale(1.04)}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{font:700 14.5px 'Quicksand','Quicksand Fallback';text-decoration:none;color:var(--text);padding:10px 12px;border-radius:999px;position:relative;transition:color .25s,background-color .25s}
.nav a:hover{background:var(--soft);color:var(--title)}
.nav a[aria-current="page"]{color:var(--title)}
.nav a[aria-current="page"]::after{content:'';position:absolute;left:50%;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--warm);transform:translateX(-50%)}
.tools{display:flex;align-items:center;gap:8px}
.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--title);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .25s,transform .3s var(--ease-out)}
.icon-btn:hover{background:var(--soft);transform:rotate(-12deg)}
.icon-btn svg{width:19px;height:19px}
.theme .sun{display:none} html[data-theme="dark"] .theme .sun{display:block} html[data-theme="dark"] .theme .moon{display:none}
.lang{font:700 12.5px 'Quicksand','Quicksand Fallback';letter-spacing:.08em;text-decoration:none;color:var(--title);border:1px solid var(--line-2);border-radius:999px;padding:0 14px;height:44px;display:inline-flex;align-items:center;transition:background-color .25s}
.lang:hover{background:var(--soft)}
.hdr .btn{padding:12px 20px;font-size:14.5px}
.burger{display:none}
@media(max-width:1060px){.nav,.hdr .cta-d{display:none}.burger{display:inline-flex}.tools{margin-left:auto}}
/* mobile menu */
.mnav{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column;padding:calc(var(--header) + 10px) var(--gut) 32px;clip-path:circle(0 at calc(100% - 44px) 38px);transition:clip-path .7s var(--ease-out);visibility:hidden}
.mnav.open{clip-path:circle(150% at calc(100% - 44px) 38px);visibility:visible}
.mnav a.m{font:700 clamp(28px,7vw,40px)/1.15 'Quicksand','Quicksand Fallback';color:var(--title);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(16px);transition:opacity .5s,transform .6s var(--ease-out)}
.mnav.open a.m{opacity:1;transform:none}
.mnav .foot{margin-top:auto;display:flex;flex-direction:column;gap:14px;padding-top:28px}
.mnav .close{position:absolute;top:17px;right:var(--gut)}
body.noscroll{overflow:hidden}

/* ---------- hero ---------- */
.hero{position:relative;padding:calc(var(--header) + clamp(40px,7vw,96px)) 0 clamp(28px,4vw,48px);overflow:hidden;isolation:isolate}
.hero h1{max-width:13ch}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line>span{display:inline-block;transform:translateY(105%);animation:rise 1.1s var(--ease-out) forwards}
.hero h1 .line:nth-child(2)>span{animation-delay:.12s}.hero h1 .line:nth-child(3)>span{animation-delay:.24s}
@keyframes rise{to{transform:none}}
.hero .lead{opacity:0;animation:fadeup 1s var(--ease-out) .45s forwards}
.hero .btn-row,.hero .meta{opacity:0;animation:fadeup 1s var(--ease-out) .6s forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.blobs{position:absolute;inset:-20% -10% auto auto;width:min(900px,90vw);height:900px;z-index:-1;pointer-events:none;filter:blur(60px);opacity:.55}
html[data-theme="dark"] .blobs{opacity:.35}
.blob{position:absolute;border-radius:50%;mix-blend-mode:multiply}
html[data-theme="dark"] .blob{mix-blend-mode:screen}
.blob.a{width:460px;height:460px;background:var(--peach);top:60px;right:120px;animation:drift 22s ease-in-out infinite}
.blob.b{width:380px;height:380px;background:#B9C0FF;top:240px;right:-40px;animation:drift 26s ease-in-out -6s infinite reverse}
.blob.c{width:300px;height:300px;background:#A8EBDD;top:0;right:420px;animation:drift 30s ease-in-out -12s infinite}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-40px,30px) scale(1.08)}66%{transform:translate(30px,-20px) scale(.94)}}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr}}
.hero .meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;font:600 14px 'Quicksand','Quicksand Fallback';color:var(--muted)}
.hero .meta span{display:inline-flex;align-items:center;gap:8px}
.hero .meta i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(43,187,157,.18)}
/* page hero (inner pages) */
.phero{padding:calc(var(--header) + clamp(40px,7vw,96px)) 0 clamp(40px,6vw,72px);position:relative;overflow:hidden;isolation:isolate}
.phero h1{font-size:clamp(34px,4.8vw,58px);max-width:18ch}
.aphero h1{font-size:clamp(30px,3.6vw,46px);max-width:24ch;line-height:1.15}
.phero .blobs{opacity:.4;height:600px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font:600 13px 'Quicksand','Quicksand Fallback';color:var(--muted);margin-bottom:22px;list-style:none;padding:0}
.crumbs a{text-decoration:none;color:var(--muted)} .crumbs a:hover{color:var(--title)}
.crumbs li+li::before{content:'/';margin-right:6px;opacity:.5}

/* journey card in hero */
.jcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow-lg);position:relative}
.jcard .t{font:700 12px 'Quicksand','Quicksand Fallback';letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.jsvg{width:100%;height:auto;margin:14px 0 6px;overflow:visible}
.jsvg .path{fill:none;stroke:url(#jg);stroke-width:4;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 2.4s var(--ease-out) .9s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.jsvg .dot{fill:var(--surface);stroke-width:4;opacity:0;animation:pop .6s var(--ease-out) forwards}
.jsvg .dot.d1{stroke:var(--peach-d);animation-delay:1.1s}.jsvg .dot.d2{stroke:#7C84FF;animation-delay:1.7s}.jsvg .dot.d3{stroke:var(--mint);animation-delay:2.3s}
@keyframes pop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
.jsvg .dot{transform-box:fill-box;transform-origin:center}
.jsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.jsteps div{font-size:13.5px;line-height:1.35;color:var(--muted)}
.jsteps b{display:block;font:700 15px 'Quicksand','Quicksand Fallback';color:var(--title);margin-bottom:3px}
.jcard .wow{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px dashed var(--line-2);font:600 14px 'Quicksand','Quicksand Fallback';color:var(--title)}
.jcard .wow span{font-size:26px;animation:bounce 2.8s var(--ease) 3s infinite}
@keyframes bounce{0%,80%,100%{transform:none}88%{transform:translateY(-6px) rotate(-8deg)}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform 1s var(--ease-out);transition-delay:calc(var(--d,0) * 90ms)}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-30px);transition:opacity .9s var(--ease-out),transform 1s var(--ease-out)}
.rv-l.in{opacity:1;transform:none}
.rv-s{opacity:0;transform:scale(.96);transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out)}
.rv-s.in{opacity:1;transform:none}

/* ---------- grids & cards ---------- */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,32px)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)}
@media(max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.g2,.g3,.g4{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}
.split.r>:first-child{order:2}
@media(max-width:900px){.split{grid-template-columns:1fr}.split.r>:first-child{order:0}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,34px);box-shadow:var(--shadow);position:relative;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s}
a.card{text-decoration:none;display:block}
a.card:hover,.card.hov:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.card h3{margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
.card .ic{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--warm);margin-bottom:20px;transition:transform .5s var(--ease-out)}
.card:hover .ic{transform:rotate(-8deg) scale(1.06)}
.card .ic svg{width:26px;height:26px}
.card .more{margin-top:18px;font:700 14.5px 'Quicksand','Quicksand Fallback';color:var(--title);display:inline-flex;gap:8px;align-items:center}
.card .more svg{width:16px;height:16px;transition:transform .4s var(--ease-out)}
a.card:hover .more svg{transform:translateX(5px)}
.num{font:700 13px 'Quicksand','Quicksand Fallback';letter-spacing:.14em;color:var(--warm)}
.tag{display:inline-block;font:700 11.5px 'Quicksand','Quicksand Fallback';letter-spacing:.14em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:var(--soft);color:var(--title)}
.tag.mint{background:rgba(43,187,157,.14);color:#136B59} html[data-theme="dark"] .tag.mint{color:#7ee0c9}

/* statement band */
.band{background:linear-gradient(135deg,var(--navy) 0%,#151CA0 60%,#2A1F8F 100%);color:#fff;border-radius:32px;padding:clamp(36px,6vw,80px);position:relative;overflow:hidden;isolation:isolate}
.band h2,.band h3{color:#fff}
.band p{color:rgba(255,255,255,.82)}
.band .eyebrow{color:var(--peach)}
.band::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,189,158,.35),transparent 65%);top:-200px;right:-120px;z-index:-1;animation:drift 24s ease-in-out infinite}
.band::after{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(43,187,157,.25),transparent 65%);bottom:-220px;left:-120px;z-index:-1;animation:drift 28s ease-in-out -8s infinite}
.quote{font:600 clamp(24px,3.2vw,38px)/1.28 'Quicksand','Quicksand Fallback';letter-spacing:-.01em;color:var(--title);max-width:900px}
.quote em{font-style:normal;color:var(--warm)}
.band .quote{color:#fff}
.band .quote em{color:var(--peach)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{padding:26px 24px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.stat b{display:block;font:700 clamp(38px,4.6vw,56px)/1 'Quicksand','Quicksand Fallback';color:var(--title);letter-spacing:-.03em}
.stat b small{font-size:.45em;color:var(--muted);margin-left:4px}
.stat > span{display:block;margin-top:10px;font-size:14.5px;color:var(--muted);line-height:1.45}
.band .stat{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
.band .stat b{color:#fff}.band .stat span{color:rgba(255,255,255,.72)}

/* logos marquee */
.logos{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.logos .track{display:flex;gap:64px;align-items:center;width:max-content;animation:marquee 34s linear infinite}
.logos:hover .track{animation-play-state:paused}
.logos img{height:44px;width:auto;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s;background:#fff;border-radius:10px;padding:6px 12px}
.logos img:hover{filter:none;opacity:1}
@keyframes marquee{to{transform:translateX(-50%)}}

/* process timeline */
.proc{position:relative;display:grid;gap:18px;counter-reset:s}
.proc .st{display:grid;grid-template-columns:64px 1fr;gap:22px;position:relative;padding-bottom:10px}
.proc .st:not(:last-child)::before{content:'';position:absolute;left:31px;top:66px;bottom:-12px;width:2px;background:var(--line-2);border-radius:2px}
.proc .st::after{content:'';position:absolute;left:31px;top:66px;width:2px;height:0;background:linear-gradient(var(--peach-d),var(--mint));transition:height 1.2s var(--ease-out) .3s;border-radius:2px}
.proc .st.in:not(:last-child)::after{height:calc(100% - 54px)}
.proc .n{width:64px;height:64px;border-radius:20px;background:var(--surface);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font:700 20px 'Quicksand','Quicksand Fallback';color:var(--title);box-shadow:var(--shadow);position:relative;z-index:1;transition:background-color .5s,color .5s,transform .6s var(--ease-out)}
.proc .st.in .n{background:var(--accent);color:var(--on-accent);transform:rotate(-6deg)}
.proc .body{padding-top:6px}
.proc .body h3{margin-bottom:6px}
.proc .en{font:700 11.5px 'Quicksand','Quicksand Fallback';letter-spacing:.2em;text-transform:uppercase;color:var(--warm)}
.proc .out{margin-top:12px;padding:14px 16px;border-radius:14px;background:var(--soft);font-size:15px}
.proc .out b{font-family:'Quicksand','Quicksand Fallback';color:var(--title)}
/* horizontal steps */
.hsteps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}
.hsteps::before{content:'';position:absolute;top:30px;left:5%;right:5%;height:2px;background:linear-gradient(90deg,var(--peach-d),#7C84FF,var(--mint));transform-origin:left;transform:scaleX(0);transition:transform 1.6s var(--ease-out)}
.hsteps.in::before{transform:scaleX(1)}
.hsteps .s{text-align:center;position:relative}
.hsteps .s i{width:60px;height:60px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid var(--line-2);font:700 18px 'Quicksand','Quicksand Fallback';font-style:normal;color:var(--title);position:relative;z-index:1;transition:all .6s var(--ease-out);transition-delay:calc(var(--d,0) * 180ms + .3s)}
.hsteps.in .s i{border-color:var(--warm);background:var(--accent);color:var(--on-accent)}
.hsteps .s b{display:block;font:700 16px 'Quicksand','Quicksand Fallback';color:var(--title)}
.hsteps .s small{display:block;font:700 10.5px 'Quicksand','Quicksand Fallback';letter-spacing:.18em;text-transform:uppercase;color:var(--warm);margin-bottom:4px}
.hsteps .s span{display:block;font-size:14px;color:var(--muted);line-height:1.4;margin-top:4px}
@media(max-width:820px){.hsteps{grid-template-columns:1fr;gap:18px}.hsteps::before{top:5%;bottom:5%;left:29px;right:auto;width:2px;height:auto;transform-origin:top;transform:scaleY(0)}.hsteps.in::before{transform:scaleY(1)}.hsteps .s{text-align:left;display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:start}.hsteps .s i{margin:0}}

/* case study teaser / NPS bars */
.nps{display:flex;align-items:flex-end;gap:clamp(10px,2vw,22px);height:240px;padding-top:30px}
.nps .c{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.nps .v{font:700 clamp(20px,2.4vw,28px) 'Quicksand','Quicksand Fallback';color:var(--title);margin-bottom:10px}
.band .nps .v{color:#fff}
.nps .bar{width:100%;max-width:92px;border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,var(--peach),var(--peach-d));height:0;transition:height 1.4s var(--ease-out);transition-delay:calc(var(--d,0) * 160ms)}
.nps .c:last-child .bar{background:linear-gradient(180deg,#63E2C6,var(--mint))}
.nps.in .bar{height:var(--h)}
.nps .l{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center;line-height:1.3;white-space:nowrap}
.band .nps .l{color:rgba(255,255,255,.65)}

/* article */
.prog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--peach-d),var(--mint));z-index:100}
.art{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:start}
@media(max-width:1000px){.art{grid-template-columns:1fr}.toc{display:none}}
.prose{font-size:18.5px;line-height:1.75;max-width:720px}
.prose h2{font-size:clamp(26px,3vw,34px);margin:1.8em 0 .6em}
.prose h3{margin:1.5em 0 .5em}
.prose p,.prose li{color:var(--text)}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--warm)}
.prose a{color:var(--title);text-decoration-color:var(--peach-d);text-underline-offset:3px}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid var(--peach-d);font:600 21px/1.5 'Quicksand','Quicksand Fallback';color:var(--title)}
.prose .note{background:var(--soft);border-radius:16px;padding:18px 22px;font-size:16px}
.prose .note b{font-family:'Quicksand','Quicksand Fallback';color:var(--title)}
.prose figure{margin:1.8em 0}
.prose .keys{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 26px;margin:0 0 2em;box-shadow:var(--shadow)}
.prose .keys h2{font-size:18px;margin:0 0 .5em;letter-spacing:0}
.prose .keys ul{margin:0}
.ameta{display:flex;flex-wrap:wrap;gap:8px 18px;font:600 14px 'Quicksand','Quicksand Fallback';color:var(--muted);margin-top:18px}
.toc{position:sticky;top:calc(var(--header) + 24px);font:600 14px/1.4 'Quicksand','Quicksand Fallback'}
.toc b{display:block;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.toc a{display:block;text-decoration:none;color:var(--muted);padding:7px 0 7px 14px;border-left:2px solid var(--line);transition:color .25s,border-color .25s}
.toc a.on,.toc a:hover{color:var(--title);border-color:var(--warm)}
.sources{font-size:14.5px;color:var(--muted);border-top:1px solid var(--line);margin-top:3em;padding-top:1.2em}
.sources ol{padding-left:1.2em}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font:700 clamp(17px,1.8vw,20px)/1.35 'Quicksand','Quicksand Fallback';color:var(--title)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);position:relative;transition:transform .45s var(--ease-out),background-color .3s}
.faq summary i::before,.faq summary i::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--title);transform:translate(-50%,-50%);border-radius:2px}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .45s var(--ease-out)}
.faq details[open] summary i{transform:rotate(180deg);background:var(--soft)}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq .a{padding:0 50px 24px 0;color:var(--muted);animation:fadeup .5s var(--ease-out)}

/* person */
.person{position:relative}
.person .ph{border-radius:32px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,var(--soft),var(--bg-alt));position:relative}
.person .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform 1.4s var(--ease-out)}
.person:hover .ph img{transform:scale(1.03)}
.person .badge{position:absolute;right:-12px;bottom:28px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow-lg);font:700 14px 'Quicksand','Quicksand Fallback';color:var(--title);max-width:230px;line-height:1.35}
.person .badge small{display:block;font:600 12px 'Nunito','Nunito Fallback';color:var(--muted);margin-top:4px}
@media(max-width:600px){.person .badge{right:10px}}

/* forms */
.form{display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.form .row{grid-template-columns:1fr}}
.field label{display:block;font:700 13.5px 'Quicksand','Quicksand Fallback';color:var(--title);margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1.5px solid var(--line-2);border-radius:14px;padding:14px 16px;transition:border-color .25s,box-shadow .25s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line-2);border-radius:999px;padding:9px 14px;font:600 14px 'Quicksand','Quicksand Fallback';color:var(--title);cursor:pointer;transition:all .25s}
.chips input{accent-color:var(--navy)}
.chips label:has(input:checked){border-color:var(--accent);background:var(--soft)}
.hp{position:absolute;left:-9999px}
.fmsg{display:none;padding:16px 18px;border-radius:14px;font-weight:600}
.fmsg.ok{display:block;background:rgba(43,187,157,.14);color:var(--title)}
.fmsg.err{display:block;background:rgba(232,137,95,.16);color:var(--title)}

/* footer */
.ftr{background:var(--navy-deep);color:rgba(255,255,255,.72);padding:clamp(64px,8vw,100px) 0 36px;margin-top:0;position:relative;overflow:hidden}
.ftr a{color:rgba(255,255,255,.8);text-decoration:none;transition:color .25s}
.ftr a:hover{color:var(--peach)}
.ftr .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
@media(max-width:900px){.ftr .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ftr .cols{grid-template-columns:1fr}}
.ftr h4,.ftr h2.fh{font:700 12.5px 'Quicksand','Quicksand Fallback';letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15px}
.ftr .logo{color:#fff}.ftr .logo svg{height:42px}
.ftr .big{font:700 clamp(28px,3vw,40px)/1.1 'Quicksand','Quicksand Fallback';color:#fff;letter-spacing:-.02em;max-width:14ch;margin:0 0 26px}
.ftr .base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:rgba(255,255,255,.5)}
.soc{display:flex;gap:10px;margin-top:20px}
.soc a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}
.soc a:hover{border-color:var(--peach)}
.soc svg{width:17px;height:17px}

/* misc */
.pill-list{display:flex;flex-wrap:wrap;gap:10px}
.pill-list span{font:600 14.5px 'Quicksand','Quicksand Fallback';padding:10px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--title)}
.check{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.check li{position:relative;padding-left:38px;min-height:26px}
.check li::before{content:'';position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--warm-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E3622F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/15px no-repeat;margin-top:2px}
.divider{height:1px;background:var(--line);margin:0}
.img-r{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg)}
.img-r img{width:100%;height:100%;object-fit:cover}
.persona{border-radius:var(--r);padding:24px;background:var(--surface);border:1px solid var(--line)}
.persona b{font:700 18px 'Quicksand','Quicksand Fallback';color:var(--title)}
.persona i{display:block;font-style:normal;color:var(--warm);font:700 13px 'Quicksand','Quicksand Fallback';margin:2px 0 10px}
.cmp{width:100%;border-collapse:collapse;font-size:15.5px}
.cmp th,.cmp td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}
.cmp th{font:700 12.5px 'Quicksand','Quicksand Fallback';letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cmp td b{font-family:'Quicksand','Quicksand Fallback';color:var(--title)}
.cmp .up{color:#15896f;font-weight:700} html[data-theme="dark"] .cmp .up{color:#7ee0c9}
.tscroll{overflow-x:auto}
.kicker-num{font:700 clamp(64px,10vw,140px)/.9 'Quicksand','Quicksand Fallback';letter-spacing:-.05em;color:var(--title)}
.slide-list{counter-reset:sl;display:grid;gap:18px}
.slide-list .sl{counter-increment:sl;display:grid;grid-template-columns:72px 1fr;gap:20px;padding:24px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.slide-list .sl::before{content:counter(sl,decimal-leading-zero);font:700 28px 'Quicksand','Quicksand Fallback';color:var(--warm)}
.glossary dt{font:700 20px 'Quicksand','Quicksand Fallback';color:var(--title);margin-top:28px}
.glossary dd{margin:6px 0 0;color:var(--text)}
.notice{border:1.5px dashed var(--peach-d);border-radius:16px;padding:14px 18px;font-size:14.5px;background:var(--soft)}

/* view transitions (cross-document, progressive) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .35s var(--ease) both}
::view-transition-new(root){animation:vt-in .55s var(--ease-out) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(12px)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv,.rv-l,.rv-s{opacity:1;transform:none}
  .hero h1 .line>span{transform:none}
  .nps .bar{height:var(--h)}
}
@media print{.hdr,.ftr,.mnav,.prog,.toc{display:none!important}.rv,.rv-l,.rv-s{opacity:1!important;transform:none!important}body{background:#fff;color:#000}}
/* inline links with arrow */
.btn-link,.more{display:inline-flex;align-items:center;gap:8px;font:700 15px/1.3 'Quicksand','Quicksand Fallback',sans-serif;color:var(--title);text-decoration:none}
.btn-link{padding:10px 2px;border-bottom:2px solid var(--peach-d)}
.btn-link svg,.more svg{width:16px;height:16px;flex:none;transition:transform .4s var(--ease-out)}
.btn-link:hover svg,.more:hover svg{transform:translateX(5px)}

/* ===================== V3 additions ===================== */
/* watermark logo (echo of the original site) */
.blobs .wm{position:absolute;right:6%;top:150px;width:min(520px,60vw);color:#9AA3F5;opacity:.28;filter:blur(0);mix-blend-mode:normal;transform:rotate(-4deg)}
.blobs .wm svg{width:100%;height:auto}
.blobs{filter:none}
.blobs .blob{filter:blur(60px)}
html[data-theme="dark"] .blobs .wm{color:#fff;opacity:.06}
.phero .blobs .wm{top:120px;width:min(420px,50vw)}
@media(max-width:700px){.blobs .wm{width:260px;right:-30px;top:90px;opacity:.16}}

/* hero proof card + logos inside hero */
.proof{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.6vw,32px);box-shadow:var(--shadow-lg);opacity:0;animation:fadeup 1.2s var(--ease-out) .5s forwards;transition:transform .5s var(--ease-out),box-shadow .5s}
.proof:hover{transform:translateY(-4px)}
.proof .p-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.proof .p-top img{height:34px;width:auto;background:#fff;border-radius:8px;padding:4px 8px}
.proof .p-big{display:flex;align-items:baseline;gap:14px;margin:18px 0 6px;font-family:'Quicksand','Quicksand Fallback';color:var(--title)}
.proof .was{font:600 34px/1 'Quicksand','Quicksand Fallback';color:var(--muted)}
.proof .arr{font:700 26px/1 'Quicksand','Quicksand Fallback';color:var(--warm)}
.proof .p-big b{font:700 clamp(64px,7vw,88px)/1 'Quicksand','Quicksand Fallback';letter-spacing:-.04em}
.proof .p-lab{display:block;font-size:14.5px;line-height:1.45;color:var(--muted)}
.proof .p-lab b{color:var(--title)}
.nps.mini{display:flex;height:84px;padding-top:12px;gap:10px;margin-top:10px}
.nps.mini .bar{max-width:none;border-radius:8px 8px 3px 3px}
.nps.mini .l{margin-top:6px;font:700 12px 'Quicksand','Quicksand Fallback';color:var(--muted)}
.proof .nps.mini{animation:none}
.proof .nps.mini .bar{height:var(--h);animation:barup 1.2s var(--ease-out) both;animation-delay:calc(.9s + var(--d) * .15s)}
@keyframes barup{from{height:0}}
.proof .p-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:13px;color:var(--muted)}
.proof .more{margin:0;font:700 14px 'Quicksand','Quicksand Fallback';color:var(--title);display:inline-flex;gap:6px;align-items:center}
.hero-logos{margin-top:clamp(40px,6vw,72px)}
.hero-logos p{text-align:center;font:700 12.5px 'Quicksand','Quicksand Fallback';letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}

/* logos: subtle in dark mode */
html[data-theme="dark"] .logos img{background:transparent;filter:grayscale(1) invert(1) brightness(1.4);mix-blend-mode:screen;opacity:.42}
html[data-theme="dark"] .logos img:hover{opacity:.7;filter:grayscale(1) invert(1) brightness(1.6)}

/* smaller statement heading */
.h2s{font-size:clamp(26px,3vw,38px);line-height:1.18}

/* ROI section */
.levers{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,20px)}
.lv{padding:22px 20px;border-radius:var(--r);background:var(--bg-alt);border:1px solid var(--line)}
.lv .ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--warm);margin-bottom:14px}
.lv .ic svg{width:22px;height:22px}
.lv b{display:block;font:700 16.5px/1.3 'Quicksand','Quicksand Fallback';color:var(--title);margin-bottom:6px}
.lv span{display:block;font-size:14.5px;line-height:1.45;color:var(--muted)}
@media(max-width:1000px){.levers{grid-template-columns:repeat(2,1fr)}.levers .lv:last-child{grid-column:1/-1}}
@media(max-width:560px){.levers{grid-template-columns:1fr}}
.ev{margin:0}
.ev .evn{display:block;font:700 clamp(28px,3vw,38px)/1.1 'Quicksand','Quicksand Fallback';color:var(--title);letter-spacing:-.02em}
.ev .evn small{font-size:.5em;color:var(--muted);font-weight:600}
.ev figcaption{margin-top:12px;color:var(--text);font-size:15.5px;line-height:1.5}
.ev cite{display:block;margin-top:12px;font-style:normal;font-size:13px;color:var(--muted)}
.roi{margin-top:clamp(28px,4vw,40px);padding:0;overflow:hidden}
.roi-in{display:grid;grid-template-columns:1.3fr 1fr}
.roi-in>div:first-child{padding:clamp(24px,3vw,40px)}
@media(max-width:860px){.roi-in{grid-template-columns:1fr}}
.roi-f{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:18px}
@media(max-width:560px){.roi-f{grid-template-columns:1fr}}
.roi-f label{display:flex;flex-direction:column;justify-content:space-between;gap:8px;font:700 13.5px/1.35 'Quicksand','Quicksand Fallback';color:var(--title)}
.roi-f input[type=number]{font:600 18px 'Quicksand','Quicksand Fallback';color:var(--title);background:var(--bg);border:1.5px solid var(--line-2);border-radius:12px;padding:11px 14px;width:100%}
.roi-f input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--soft)}
.roi-f .rng{grid-column:1/-1}
.roi-f .rng b{color:var(--warm)}
.roi-f input[type=range]{width:100%;accent-color:var(--navy);height:28px}
html[data-theme="dark"] .roi-f input[type=range]{accent-color:var(--peach)}
.roi-out{background:linear-gradient(145deg,var(--navy),#2A1F8F);color:#fff;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;justify-content:center;gap:6px}
.roi-out .k{font:700 12px 'Quicksand','Quicksand Fallback';letter-spacing:.2em;text-transform:uppercase;color:var(--peach)}
.roi-out p{margin:8px 0}
.roi-out p b{display:block;font:700 clamp(34px,4vw,48px)/1.05 'Quicksand','Quicksand Fallback';letter-spacing:-.02em}
.roi-out p span{color:rgba(255,255,255,.8);font-size:15px}
.roi-out small{color:rgba(255,255,255,.7);font-size:13px;line-height:1.5;margin-top:10px}

/* services wide card */
.card.wide{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-top:clamp(18px,2.4vw,28px);background:linear-gradient(135deg,var(--soft),var(--surface))}
.card.wide .ic{margin:0}
.card.wide .more{margin:0}
@media(max-width:680px){.card.wide{grid-template-columns:1fr}}
article.feat{border-color:var(--line-2);background:linear-gradient(135deg,var(--soft),var(--surface) 60%)}

/* mobile carousels */
@media(max-width:680px){
  .hscroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding:4px var(--gut) 18px;scrollbar-width:none}
  .hscroll::-webkit-scrollbar{display:none}
  .hscroll>*{flex:0 0 82%;scroll-snap-align:start}
  .hscroll .card{padding:22px}
}

/* inner hero with aside */
.phero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(28px,5vw,72px);align-items:end}
@media(max-width:920px){.phero-grid{grid-template-columns:1fr}}
.paside{display:flex;flex-direction:column;padding:22px;gap:2px}
.paside .k,.card .k{font:700 12px 'Quicksand','Quicksand Fallback';letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block}
.paside a{display:grid;grid-template-columns:34px 1fr;align-items:baseline;padding:9px 0;border-top:1px solid var(--line);text-decoration:none;font:700 15px/1.3 'Quicksand','Quicksand Fallback';color:var(--title);transition:color .25s,padding .3s var(--ease-out)}
.paside a:hover{color:var(--warm);padding-left:4px}
.paside a i{font-style:normal;font-size:12.5px;color:var(--warm);letter-spacing:.05em}
.paside a small{grid-column:2;display:block;font:400 13.5px 'Nunito','Nunito Fallback';color:var(--muted)}

/* growth stats */
.stat .was{display:block;font:600 14px 'Quicksand','Quicksand Fallback';color:var(--muted);margin-bottom:6px}
.stat .was::after{content:' →';color:var(--warm)}

/* case study badge, logos, artifacts, todo */
.casebadge{display:inline-flex;align-items:center;gap:14px;background:#fff;border-radius:999px;padding:10px 20px 10px 18px;box-shadow:var(--shadow);margin-bottom:22px}
.casebadge span{font:700 11.5px 'Quicksand','Quicksand Fallback';letter-spacing:.14em;text-transform:uppercase;color:#E3622F}
.casebadge img{height:30px;width:auto}
.clogo{height:40px;width:auto;background:#fff;border-radius:10px;padding:6px 10px;margin-bottom:22px}
.artifacts{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,24px);margin-top:clamp(32px,4vw,48px);perspective:900px}
@media(max-width:820px){.artifacts{grid-template-columns:repeat(2,1fr)}}
.doc{aspect-ratio:3/4;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:18px 16px;display:flex;flex-direction:column;gap:9px;position:relative;overflow:hidden;transform:rotate(-2deg);transition:transform .6s var(--ease-out)}
.doc:nth-child(even){transform:rotate(2deg)}
.doc:hover{transform:rotate(0) translateY(-6px)}
.doc::before{content:'';position:absolute;inset:0 0 auto;height:34%;background:linear-gradient(135deg,var(--navy),#2A1F8F)}
.doc.b::before{background:linear-gradient(135deg,#E8895F,#FFBD9E)}
.doc.c::before{background:linear-gradient(135deg,#2BBB9D,#7EE0C9)}
.doc.d::before{background:linear-gradient(135deg,#7C84FF,#B9C0FF)}
.doc .dt{position:relative;z-index:1;font:700 14px/1.25 'Quicksand','Quicksand Fallback';color:#fff;min-height:34%;display:flex;align-items:flex-end;padding-bottom:10px}
.doc.b .dt,.doc.c .dt,.doc.d .dt{color:#0E137C}
.doc i{display:block;height:8px;border-radius:4px;background:var(--line-2);filter:blur(1.5px)}
.doc i.s{width:60%}
.todo-box{border:2px dashed #E8895F;border-radius:16px;padding:16px 20px;background:rgba(232,137,95,.08);font-size:15px;color:var(--title)}

/* resources: pills + filters */
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.pill{display:inline-block;font:700 11.5px 'Quicksand','Quicksand Fallback';letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.pill.t-article{background:var(--soft);color:var(--title)}
.pill.t-talk{background:rgba(232,137,95,.16);color:#8A3F1F}
.pill.t-glossary{background:rgba(43,187,157,.16);color:#136B59}
html[data-theme="dark"] .pill.t-talk{color:#FFCAB1} html[data-theme="dark"] .pill.t-glossary{color:#7EE0C9}
.pill.sub{background:transparent;border:1px solid var(--line-2);color:var(--muted);letter-spacing:.06em;text-transform:none;font-size:12.5px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(20px,3vw,32px)}
.fchip{font:700 14px 'Quicksand','Quicksand Fallback';color:var(--title);background:var(--surface);border:1.5px solid var(--line-2);border-radius:999px;padding:0 16px;height:44px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .25s}
.fchip b{font-size:12px;color:var(--muted)}
.fchip.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.fchip.on b{color:inherit;opacity:.75}
.rcard[hidden]{display:none}
.rcard h3{margin-top:0}

/* CTA: who you talk to */
.band .who{display:flex;align-items:center;gap:12px;margin:20px 0 0;color:rgba(255,255,255,.85);font-size:15px}
.band .who img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:50% 15%;background:#fff;border:2px solid rgba(255,255,255,.4)}
.band .who b{color:#fff}

/* form */
.field input[type=checkbox]{width:auto}
.form fieldset{border:0;padding:0;margin:0;min-width:0}
.form legend{font:700 13.5px 'Quicksand','Quicksand Fallback';color:var(--title);margin-bottom:9px;padding:0}
.req{color:#B3261E;text-decoration:none;font-weight:700;border:0;cursor:help}
html[data-theme="dark"] .req{color:#FFB4AB}
.opt{font:600 12px 'Nunito','Nunito Fallback';color:var(--muted);margin-left:4px}
.req-note{margin:0;font-size:13px;color:var(--muted)}
.fhint{margin:6px 0 0;font-size:13px;color:var(--muted)}
.ferr{margin:6px 0 0;font:600 13.5px/1.4 'Nunito','Nunito Fallback';color:#B3261E}
html[data-theme="dark"] .ferr{color:#FFB4AB}
.field.bad input,.field.bad textarea{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.chips label{white-space:nowrap}
.chips label input{margin:0;accent-color:var(--navy);width:16px;height:16px}
html[data-theme="dark"] .chips label input{accent-color:var(--peach)}
.chips label.ns{border-style:dashed}
.consent{display:flex !important;gap:10px;align-items:flex-start;font:400 14px/1.5 'Nunito','Nunito Fallback' !important;color:var(--muted) !important;margin:0 !important}
.consent input{margin-top:4px;accent-color:var(--navy);width:auto}
.cgrid .direct{margin:0;display:flex;flex-direction:column;gap:4px;font:700 19px/1.4 'Quicksand','Quicksand Fallback'}
.cgrid .direct a{color:var(--title);text-decoration:none;overflow-wrap:anywhere}
.cgrid .direct a:hover{color:var(--warm)}

/* quotes: one component */
.quote{border-left:3px solid var(--warm-deco);padding-left:clamp(16px,2vw,24px)}
.center .quote,.band .quote{border-left-color:var(--peach)}
.prose blockquote{font:600 clamp(20px,2.2vw,24px)/1.4 'Quicksand','Quicksand Fallback'}
html[data-theme="dark"] .grad{background:linear-gradient(100deg,#FFBD9E,#C9B6FF 55%,#7EE0C9);-webkit-background-clip:text;background-clip:text}
html[data-theme="dark"] .logos img{filter:grayscale(1) invert(1) contrast(2.2) brightness(1.1)}
html[data-theme="dark"] .logos img:hover{filter:grayscale(1) invert(1) contrast(2.2) brightness(1.4)}
.roi-out p>span{color:rgba(255,255,255,.8);font-size:15px}
.roi-out p b span{font:inherit;color:inherit}
.hero .blobs .wm{top:40px;right:-2%;width:min(600px,62vw)}
@media(max-width:680px){
  .lv{display:grid;grid-template-columns:40px 1fr;gap:2px 14px;padding:16px}
  .lv .ic{grid-row:span 2;margin:0;width:40px;height:40px}
  .levers{gap:10px}
  .hs2 .g2{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--gut) * -1);padding:4px var(--gut) 18px;scrollbar-width:none}
  .hs2 .g2>*{flex:0 0 82%;scroll-snap-align:start}
  .person .ph{aspect-ratio:1/1}
  .section{padding:56px 0}
  .jcard{padding:20px}
  .hero .meta{gap:6px 16px;margin-top:24px}
}
.stats.g2c{grid-template-columns:1fr 1fr}
.stats.g2c .stat{background:var(--surface);box-shadow:var(--shadow)}
.stats.g2c .stat b{font-size:clamp(34px,3.6vw,46px)}
@media(max-width:680px){
  .hide-m{display:none!important}
  .proof .nps.mini{display:none}
  .proof .p-big{margin:12px 0 4px}
  .lv span{display:none}
  .lv{grid-template-columns:40px 1fr;align-items:center}
  .lv .ic{grid-row:auto}
  .person .ph{aspect-ratio:4/3}
  .stats.g2c .stat{padding:18px 16px}
  .stats.g2c .stat b{font-size:32px}
}
@media(max-width:560px){
  .ftr .cols{grid-template-columns:1fr 1fr;gap:32px 20px}
  .ftr .cols>div:first-child,.ftr .cols>div:last-child{grid-column:1/-1}
  .ftr .big{font-size:26px;margin-bottom:18px}
  .ftr ul{gap:8px;font-size:14.5px}
  .ftr ul a{display:inline-block;padding:3px 0}
  .ftr .base{margin-top:36px}
  .roi-f{grid-template-columns:1fr 1fr;gap:12px}
  .roi-f label{font-size:12.5px}
  .roi-out p b{font-size:32px}
}
.ftr .btn-peach{color:var(--navy)}.ftr .btn-peach:hover{color:var(--navy)}
.facts p{display:grid;grid-template-columns:52px 1fr;align-items:baseline;margin:0;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.facts p b{font:700 24px/1 'Quicksand','Quicksand Fallback';color:var(--title)}
.doc{justify-content:flex-start}
.doc::after{content:'';position:absolute;left:16px;right:16px;bottom:18px;top:62%;background:repeating-linear-gradient(to bottom,var(--line-2) 0 8px,transparent 8px 17px);filter:blur(1.5px);border-radius:4px;-webkit-mask-image:linear-gradient(90deg,#000 70%,rgba(0,0,0,.4));mask-image:linear-gradient(90deg,#000 70%,rgba(0,0,0,.4))}
/* resources v3.1: guides, self-assessment */
.pill.t-guide{background:rgba(14,19,124,.08);color:var(--title);box-shadow:inset 0 0 0 1px rgba(14,19,124,.14)}
html[data-theme="dark"] .pill.t-guide{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.prose .tscroll{margin:1.4em 0}
.prose .cmp td{vertical-align:top}
.prose .qa{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:8px}
.prose .qa li{margin:0}
.prose .qa label{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;transition:border-color .2s,background .2s}
.prose .qa label:hover{border-color:var(--peach-d)}
.prose .qa input{flex:none;width:20px;height:20px;margin-top:3px;accent-color:#18806B}
.prose .qa label:has(input:checked){background:rgba(43,187,157,.08);border-color:rgba(24,128,107,.45)}
.prose .sa-out{position:sticky;bottom:12px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:1.6em 0 0;padding:14px 20px;border-radius:18px;background:var(--navy);color:#fff;box-shadow:var(--shadow-lg)}
.prose .sa-out .k{font:700 12px 'Quicksand','Quicksand Fallback';letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.prose .sa-out p{margin:0;color:#fff}
.prose .sa-out b{font:700 26px 'Quicksand','Quicksand Fallback';color:#fff}
.prose .sa-out .muted{color:rgba(255,255,255,.82);font-size:15px;flex:1 1 220px}
html[data-theme="dark"] .prose .sa-out{background:#1B2170}
/* ===== v3.2 — Diana feedback: calmer palette, photos, growth, contact ===== */
.grad,html[data-theme="dark"] .grad{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--warm)}
.blob.c{display:none}
.blob.b{background:#DCE0FF}
.hero .blobs{opacity:.4;height:640px}
.hero .blobs .wm{top:110px;right:4%;width:min(440px,48vw);opacity:.22}
.hero .meta i{background:var(--peach-d);box-shadow:0 0 0 4px rgba(232,137,95,.16)}
.jsvg .dot.d2{stroke:#7A5A9E}
.jsvg .dot.d3{stroke:var(--navy)}
html[data-theme="dark"] .jsvg .dot.d3{stroke:#C9CEFF}
.jcard.hj{opacity:0;animation:fadeup 1s var(--ease-out) .5s forwards}
.proc .st::after{background:linear-gradient(var(--peach-d),var(--navy))}
html[data-theme="dark"] .proc .st::after{background:linear-gradient(var(--peach),#C9CEFF)}
/* logos: transparent, colour in the centre / on hover */
.logos img{background:transparent;padding:4px 0;border-radius:0;transition:filter .45s,opacity .45s}
.logos img.on,.logos img:hover{filter:none;opacity:1}
html[data-theme="dark"] .logos img.on{filter:grayscale(1) invert(1) contrast(2.2) brightness(1.6);opacity:.95}
/* money section */
.money-head{align-items:start}
.money-head .lead{margin-top:clamp(0px,2.2vw,34px)}
.lv b{min-height:2.6em;display:flex;align-items:flex-start}
@media(max-width:560px){.lv b{min-height:0}}
/* photos */
.photo{margin:0;border-radius:28px;overflow:hidden;background:var(--soft);box-shadow:var(--shadow)}
.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.photo:hover img{transform:scale(1.03)}
.photo.tall{aspect-ratio:4/5;max-width:440px;justify-self:end;width:100%}
.photo.wide{aspect-ratio:16/9}
.pfig{margin:18px 0 6px;border-radius:20px}
.mosaic{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:clamp(12px,2vw,24px);margin-top:clamp(28px,4vw,48px);align-items:end}
.mosaic .photo{aspect-ratio:3/4}
.mosaic .photo:nth-child(2){aspect-ratio:4/5;transform:translateY(-28px)}
.mosaic .photo.rv:nth-child(2):not(.in){transform:translateY(0)}
@media(max-width:700px){.mosaic{grid-template-columns:1fr 1fr}.mosaic .photo:first-child{grid-column:1/-1;aspect-ratio:4/3}.mosaic .photo:nth-child(2){transform:none}}
/* cut-out portrait over an arch */
.arch{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:clamp(420px,46vw,600px);isolation:isolate}
.arch-bg{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(420px,86%);height:84%;border-radius:999px 999px 36px 36px;background:linear-gradient(170deg,var(--peach) 0%,#FFD9C6 55%,var(--bg-alt) 100%);z-index:-1}
html[data-theme="dark"] .arch-bg{background:linear-gradient(170deg,rgba(255,189,158,.55),rgba(255,189,158,.12) 70%,transparent)}
.arch img{position:relative;width:auto;height:clamp(400px,44vw,580px);max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 24px 30px rgba(14,19,124,.18))}
.arch .badge{position:absolute;right:0;bottom:28px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow-lg);font:700 14px 'Quicksand','Quicksand Fallback';color:var(--title);max-width:230px;line-height:1.35}
.arch .badge small{display:block;font:600 12px 'Nunito','Nunito Fallback';color:var(--muted);margin-top:4px}
@media(max-width:600px){.arch .badge{right:8px;bottom:12px}}
/* growth bars */
.growth{padding:clamp(22px,3vw,32px)}
.growth .k,.npsup .k,.cdirect .k{display:block;font:700 12px 'Quicksand','Quicksand Fallback';letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.grows{display:grid;gap:18px}
.gr .gl{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:8px}
.gr .gl>span{font:600 15px 'Quicksand','Quicksand Fallback';color:var(--title)}
.gr .gl b{display:inline-flex;align-items:center;gap:6px;font:700 20px 'Quicksand','Quicksand Fallback';color:var(--title);white-space:nowrap}
.gr .gl s{text-decoration:none;font-size:14px;color:var(--muted);font-weight:600}
.gr .gl svg{width:14px;height:14px;fill:none;stroke:var(--mint-t);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gr .gt{position:relative;height:10px;border-radius:6px;background:var(--soft);overflow:hidden}
.gr .gt i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.gr .g0{width:var(--from);background:rgba(14,19,124,.14)}
html[data-theme="dark"] .gr .g0{background:rgba(255,255,255,.14)}
.gr .g1{width:var(--from);background:linear-gradient(90deg,var(--peach-d),var(--navy));transition:width 1.8s var(--ease-out) .3s}
html[data-theme="dark"] .gr .g1{background:linear-gradient(90deg,var(--peach-d),var(--peach))}
.in .gr .g1,.in.gr .g1{width:var(--to)}
.gr.gnps{padding-bottom:16px;border-bottom:1px dashed var(--line-2)}
.gr.gnps .gl b{font-size:28px}
/* NPS ascending */
.npsup{display:flex;flex-direction:column;padding:clamp(22px,3vw,32px)}
.npsup-big{display:flex;align-items:center;gap:14px;font:700 clamp(56px,7vw,84px)/1 'Quicksand','Quicksand Fallback';color:var(--title)}
.npsup-big .was{font-size:.45em;color:var(--muted)}
.npsup-big svg{width:.5em;height:.3em;fill:none;stroke:var(--peach-d);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.npsup-line{width:100%;height:120px;margin-top:auto;padding-top:20px;overflow:visible}
.npsup-line .ln{fill:none;stroke:url(#none);stroke:var(--peach-d);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 2s var(--ease-out) .3s;vector-effect:non-scaling-stroke}
.npsup.in .ln{stroke-dashoffset:0}
.npsup-line circle{fill:var(--surface);stroke:var(--peach-d);stroke-width:3;vector-effect:non-scaling-stroke}
.npsup-line circle.last{fill:var(--navy);stroke:var(--navy)}
html[data-theme="dark"] .npsup-line circle.last{fill:var(--peach);stroke:var(--peach)}
.npsup-l{display:flex;justify-content:space-between;font:700 13px 'Quicksand','Quicksand Fallback';color:var(--muted);margin-top:6px}
/* contact: form above the fold */
.chero{padding-bottom:clamp(40px,6vw,80px)}
.cgrid2{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,64px);align-items:start;margin-top:6px}
.cgrid2 h1{max-width:14ch}
.cproc{margin-top:28px;gap:6px}
.cproc .st{grid-template-columns:44px 1fr;gap:16px}
.cproc .n{width:44px;height:44px;border-radius:14px;font-size:15px}
.cproc .st:not(:last-child)::before,.cproc .st::after{left:21px;top:46px}
.cproc .body h3{font-size:17px;margin:0 0 2px}
.cproc .body p{margin:0;font-size:15px}
.cdirect{display:flex;align-items:center;gap:16px;margin-top:22px;padding:14px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.cdirect img{width:72px;height:72px;border-radius:16px;object-fit:cover;object-position:50% 25%;flex:none}
.cdirect .k{margin-bottom:4px}
.cdirect .direct{margin:0}
.cform-card{position:relative;z-index:1}
@media(max-width:920px){.cgrid2{grid-template-columns:1fr}.cform-card{order:-1}.chero .cgrid2>div:first-child .cproc{display:none}}
@media(max-width:920px){.chero .cgrid2>div:first-child{order:-2}}
.growth{display:block;align-self:center}
.gr .gl b{gap:5px}
.gr .gl b em{font-style:normal}
.npsup-line{height:auto}
.cdirect .direct{display:flex;flex-direction:column;gap:2px}
/* ===== v3.3 — feedback round 2 (on-site notes) ===== */
/* warmer, V2-like colours */
.grad{background:linear-gradient(100deg,#E3622F,#8A4E86 55%,#18806B);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="dark"] .grad{background:linear-gradient(100deg,#FFBD9E,#C9B6FF 55%,#7EE0C9);-webkit-background-clip:text;background-clip:text;color:transparent}
.blob.c{display:block}
.blob.b{background:#B9C0FF}
.jsvg .dot.d2{stroke:#7C84FF}
.jsvg .dot.d3{stroke:var(--mint)}
html[data-theme="dark"] .jsvg .dot.d3{stroke:var(--mint)}
.jsteps div{text-align:center}
.hero .meta i{background:var(--mint);box-shadow:0 0 0 4px rgba(43,187,157,.18)}
/* same "fler" watermark on every page: large, partly cut on the right */
.blobs .wm,.hero .blobs .wm,.phero .blobs .wm{top:64px;right:-150px;width:min(620px,64vw);opacity:.26;transform:rotate(-4deg)}
@media(max-width:700px){.blobs .wm,.hero .blobs .wm,.phero .blobs .wm{width:320px;right:-110px;top:70px;opacity:.16}}
/* cards: no outline, soft navy shadow, float on hover */
.card{border-color:transparent;box-shadow:0 1px 2px rgba(14,19,124,.04),0 10px 30px -14px rgba(14,19,124,.22)}
html[data-theme="dark"] .card{border-color:rgba(255,255,255,.06);box-shadow:0 10px 30px -14px rgba(0,0,0,.6)}
.card:not(.cform-card):not(.roi):not(.growth):not(.npsup):hover,a.card:hover,.card.hov:hover{transform:translateY(-6px) scale(1.012);box-shadow:0 2px 4px rgba(14,19,124,.05),0 28px 50px -18px rgba(14,19,124,.32);border-color:transparent}
.card .ic{transition:transform .5s var(--ease-out)}
.stat{border-color:transparent;box-shadow:0 10px 30px -16px rgba(14,19,124,.2)}
/* mobile: horizontal card rows keep a left gutter */
@media(max-width:760px){.hscroll{scroll-padding-left:var(--gut)}.hscroll>*:first-child{margin-left:0}}
/* logo row title with the fler logo */
.hero-logos p{margin-bottom:clamp(22px,3vw,34px);display:flex;align-items:center;justify-content:center;gap:8px}
.lt-logo{display:inline-flex;height:1.9em;color:var(--title);transform:translateY(-.1em)}
.lt-logo svg{height:100%;width:auto}
/* money section: title + text stacked */
.money-head{max-width:820px}
.money-head .lead{margin-top:14px}
/* evidence cards */
.evs .ev{display:flex;flex-direction:column}
.evbig b{display:block;font:700 clamp(54px,6vw,76px)/1 'Quicksand','Quicksand Fallback';letter-spacing:-.03em;background:linear-gradient(100deg,#E3622F,#8A4E86 60%,#18806B);-webkit-background-clip:text;background-clip:text;color:transparent}
.evpair{display:flex;align-items:center;gap:10px}
.evpair span{display:flex;flex-direction:column}
.evpair b{font:700 clamp(30px,3.2vw,40px)/1 'Quicksand','Quicksand Fallback';color:var(--muted);letter-spacing:-.02em}
.evpair .hot b{font-size:clamp(46px,5vw,64px);background:linear-gradient(100deg,#E3622F,#8A4E86 60%,#18806B);-webkit-background-clip:text;background-clip:text;color:transparent}
.evpair i,.evtwo i{font-style:normal;font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.35}
.evpair svg{width:40px;height:16px;flex:none;fill:none;stroke:var(--peach-d);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.evtwo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.evtwo span{display:flex;flex-direction:column;padding:14px;border-radius:16px}
.evtwo .pos{background:rgba(43,187,157,.12)}
.evtwo .neg{background:rgba(214,69,65,.10)}
.evtwo b{display:inline-flex;align-items:center;gap:6px;font:700 clamp(30px,3vw,38px)/1 'Quicksand','Quicksand Fallback';letter-spacing:-.02em}
.evtwo b svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.evtwo .pos b{color:#15896f}.evtwo .neg b{color:#C0392B}
html[data-theme="dark"] .evtwo .pos b{color:#7EE0C9}html[data-theme="dark"] .evtwo .neg b{color:#FF9B8E}
.evs figcaption{margin-top:16px}
.evs cite{margin-top:auto;padding-top:14px}
/* ROI scenarios */
.roi-note{font-size:14.5px;margin:16px 0 0}
.roi-out{gap:10px}
.roi-sc{display:grid;grid-template-columns:auto 1fr;gap:2px 16px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.roi-sc .sc-up{grid-row:span 3;font:700 clamp(28px,3vw,36px)/1 'Quicksand','Quicksand Fallback';color:var(--peach)}
.roi-sc .sc-rate{font-size:13px;color:rgba(255,255,255,.7)}
.roi-sc p{margin:0;font-size:15px;color:rgba(255,255,255,.85)}
.roi-sc p b{display:inline;font:700 20px 'Quicksand','Quicksand Fallback';color:#fff}
/* growth bars: start and end marked on the bar */
.gr .gl b{font:600 14px 'Quicksand','Quicksand Fallback';color:var(--muted);gap:6px}
.gr .gl b s{text-decoration:none}
.gr .gl b .ar{color:var(--peach-d)}
.gr .gl b{white-space:nowrap}
.gr .gl b::after{content:''}
.gr .gt{position:relative;height:12px;margin:22px 0 4px;border-radius:6px;background:var(--soft);overflow:visible}
.gr .g0{left:0;width:var(--from);background:rgba(14,19,124,.16)}
.gr .g1{left:var(--from);width:0;background:linear-gradient(90deg,var(--peach-d),#8A4E86,var(--mint));transition:width 1.8s var(--ease-out) .35s}
.in .gr .g1,.in.gr .g1{width:calc(var(--to) - var(--from))}
.gr .gt em{position:absolute;bottom:18px;transform:translateX(-50%);font:700 12.5px 'Quicksand','Quicksand Fallback';font-style:normal;color:var(--muted);white-space:nowrap}
.gr .gt em::after{content:'';position:absolute;left:50%;top:calc(100% + 3px);width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--surface);border:2px solid currentColor}
.gr .gt .m0{left:var(--from)}
.gr .gt .m1{left:var(--from);color:var(--title);font-size:14px;transition:left 1.8s var(--ease-out) .35s}
.in .gr .gt .m1,.in.gr .gt .m1{left:var(--to)}
.gr .gt .m1::after{background:var(--navy);border-color:var(--navy)}
html[data-theme="dark"] .gr .gt .m1::after{background:var(--peach);border-color:var(--peach)}
.gr.gnps .gl span{font-weight:700}
/* highlighted first words on cards */
.mk{background:linear-gradient(transparent 62%,rgba(255,189,158,.65) 62%,rgba(255,189,158,.65) 92%,transparent 92%);padding:0 2px;border-radius:2px}
html[data-theme="dark"] .mk{background:linear-gradient(transparent 62%,rgba(255,189,158,.35) 62%,rgba(255,189,158,.35) 92%,transparent 92%)}
.lead b{color:var(--title)}
/* CTA band with photo */
.ctaband{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,56px);align-items:center}
.ctaband .btn-row{margin-top:26px}
.ctab-ph{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-height:380px;justify-self:end;width:100%;max-width:300px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.ctab-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
@media(max-width:760px){.ctaband{grid-template-columns:1fr}.ctab-ph{display:none}}
/* checkboxes on-brand (incl. dark mode) */
.chips label input,.consent input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:none;border:1.5px solid var(--line-2);border-radius:5px;background:var(--surface);display:inline-grid;place-content:center;cursor:pointer}
html[data-theme="dark"] .chips label input,html[data-theme="dark"] .consent input{border-color:rgba(255,189,158,.45);background:transparent}
.chips label input:checked,.consent input:checked{background:var(--navy);border-color:var(--navy)}
html[data-theme="dark"] .chips label input:checked,html[data-theme="dark"] .consent input:checked{background:var(--peach);border-color:var(--peach)}
.chips label input:checked::after,.consent input:checked::after{content:'';width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
html[data-theme="dark"] .chips label input:checked::after,html[data-theme="dark"] .consent input:checked::after{border-color:var(--navy)}
/* statement section, centred */
.statement{text-align:center}
.statement .lead{margin-left:auto;margin-right:auto}
.statement .btn-row{justify-content:center}
/* reversed highlight card */
.card.rev{background:var(--navy);color:#fff}
.card.rev h3{color:#fff}.card.rev .muted{color:rgba(255,255,255,.8)}.card.rev .more{color:var(--peach)}
html[data-theme="dark"] .card.rev{background:#fff}
html[data-theme="dark"] .card.rev h3{color:var(--navy)}html[data-theme="dark"] .card.rev .muted{color:#3B4080}html[data-theme="dark"] .card.rev .more{color:#E3622F}
/* stats band (About) */
.statband{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,32px);text-align:center}
.statband .sb b{display:block;font:700 clamp(48px,6vw,80px)/1 'Quicksand','Quicksand Fallback';letter-spacing:-.03em;color:#fff}
.statband .sb>span{display:block;margin-top:10px;color:rgba(255,255,255,.8);font-size:15px;max-width:260px;margin-left:auto;margin-right:auto}
.statband .sb .ic{width:52px;height:52px;margin:0 auto 14px;border-radius:16px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--peach)}
.statband .sb .ic svg{width:24px;height:24px}
@media(max-width:700px){.statband{grid-template-columns:1fr}}
/* journey-style standards (case study) */
.jpath{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;margin-top:40px}
.jpath::before{content:'';position:absolute;left:6%;right:6%;top:22px;height:3px;border-radius:2px;background:linear-gradient(90deg,#E8895F,#7C84FF,#2BBB9D)}
.jpath .jp{position:relative;padding-top:58px}
.jpath .jp .dot{position:absolute;top:10px;left:50%;margin-left:-14px;width:28px;height:28px;border-radius:50%;background:var(--surface);border:4px solid var(--peach-d);box-shadow:var(--shadow)}
.jpath .jp:nth-child(2) .dot{border-color:#A07CC0}.jpath .jp:nth-child(3) .dot{border-color:#7C84FF}.jpath .jp:nth-child(4) .dot{border-color:var(--mint)}
.jpath .jp .card{height:100%}
@media(max-width:900px){.jpath{grid-template-columns:1fr 1fr}.jpath::before{display:none}}
@media(max-width:560px){.jpath{grid-template-columns:1fr}}
/* case study meta with icons */
.ameta .mi{display:inline-flex;align-items:center;gap:6px}
.ameta .mi svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* services: bullets centred against the title column */
#audit,#journey,#standarde,#training,#feedback,#ex,#parteneriat{align-items:center!important}
.phero-grid.top{align-items:start}
.phero-grid.top .paside{margin-top:clamp(40px,5vw,64px)}
.pk{background:linear-gradient(100deg,#FFBD9E,#FFD9C6);-webkit-background-clip:text;background-clip:text;color:transparent}
.exup{margin-top:18px;padding:16px 18px;border-radius:16px;background:rgba(43,187,157,.10)}
.exup .k{display:block;font:700 12px 'Quicksand','Quicksand Fallback';letter-spacing:.14em;text-transform:uppercase;color:var(--mint-t);margin-bottom:6px}
.exbig{margin:0 0 8px;font:600 15px 'Quicksand','Quicksand Fallback';color:var(--title)}
.exbig b{font:700 34px/1 'Quicksand','Quicksand Fallback';margin-right:6px}
.exup .check{margin:0}
.exup .check li{font-size:15px}
.hphoto{margin:0;aspect-ratio:4/5;max-height:440px;width:100%;max-width:360px;justify-self:end;align-self:center}
.proc .n.sub{font-size:17px}
.chero{padding-bottom:clamp(20px,3vw,32px)}
.chero h1{max-width:20ch}
.cdirect{align-items:center}
.cdirect img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:var(--soft)}
/* NPS chart v2 */
.npsup-big{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;font:inherit}
.npsup-big>b{font:700 clamp(64px,8vw,96px)/1 'Quicksand','Quicksand Fallback';letter-spacing:-.04em;background:linear-gradient(100deg,#E3622F,#8A4E86 60%,#18806B);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="dark"] .npsup-big>b{background:linear-gradient(100deg,#FFBD9E,#C9B6FF 60%,#7EE0C9);-webkit-background-clip:text;background-clip:text}
.npsup-big>span{font:600 15px/1.4 'Quicksand','Quicksand Fallback';color:var(--muted);max-width:220px}
.npsup-big>span b{color:var(--title)}
.npsup-line{width:100%;height:auto;margin-top:auto;padding-top:18px;overflow:visible}
.npsup-line .ar{fill:url(#ng);opacity:0;transition:opacity 1.2s ease 1.2s}
.npsup.in .npsup-line .ar{opacity:.14}
.npsup-line .ln{fill:none;stroke:url(#ng);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease-out) .3s;vector-effect:none}
.npsup.in .npsup-line .ln{stroke-dashoffset:0}
.npsup-line .pts circle{fill:var(--surface);stroke:#8A4E86;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .4s,transform .5s var(--ease-out)}
.npsup-line .pts circle:nth-child(1){stroke:#E8895F;transition-delay:.4s}.npsup-line .pts circle:nth-child(2){transition-delay:.8s}.npsup-line .pts circle:nth-child(3){stroke:#7C84FF;transition-delay:1.2s}.npsup-line .pts circle:nth-child(4){transition-delay:1.7s}
.npsup-line .pts circle.last{fill:#2BBB9D;stroke:#2BBB9D}
.npsup.in .npsup-line .pts circle{opacity:1;transform:scale(1)}
.npsup-line .vals text{font:700 13px 'Quicksand','Quicksand Fallback';fill:var(--muted);text-anchor:middle;opacity:0;transition:opacity .5s 1.9s}
.npsup-line .vals text:last-child{fill:var(--title);font-size:15px}
.npsup.in .npsup-line .vals text{opacity:1}
.npsup-l{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;font:600 12.5px 'Quicksand','Quicksand Fallback';color:var(--muted);margin:4px 0 0}
.npsup-l span:first-child{text-align:left}.npsup-l span:last-child{text-align:right}
.npsup-line .rl text{font:600 11px 'Quicksand','Quicksand Fallback';fill:var(--muted);text-anchor:middle}
.gr .gt .g0{left:0;width:var(--from)}
.gr .gt .g1{left:var(--from);width:0}
.in .gr .gt .g1,.in.gr .gt .g1{width:calc(var(--to) - var(--from))}
.gr .gt em{font-size:0;top:50%;bottom:auto;width:0;height:0}
.gr .gt em::after{top:-7px;left:-7px;margin:0;width:14px;height:14px}
.gr .gt .m0::after{background:var(--surface);border-color:var(--muted)}
.roi-sc{grid-template-columns:96px 1fr}
.gr .gt em.m0,.gr .gt em.m1{font-size:0}
.gr.gnps .gl b{font-size:15px}
.gr .gl b{font-size:14.5px}
@media(max-width:560px){.roi-sc{grid-template-columns:72px 1fr}}
/* v3.3 footer resource groups */
footer li.fg{margin-top:14px;font:700 10.5px/1.4 Quicksand,'Quicksand Fallback',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#FFB08F;opacity:.9}
footer li.fg:first-child{margin-top:0}
.statband .sb b span{display:inline;margin:0;font:inherit;color:inherit;max-width:none}
/* v3.4 palette: one warm family (coral text/icons, peach fills) */
:root{--warm-tint:rgba(255,189,158,.28)}
html[data-theme="dark"]{--warm-tint:rgba(255,189,158,.12)}
.card .ic,.lv .ic{background:var(--warm-tint);color:var(--warm)}
.card.rev .ic{background:rgba(255,189,158,.18);color:var(--peach)}
/* v3.4 mobile: app-like lock, carousels scroll only sideways */
html,body{overflow-x:clip;max-width:100%}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
.tscroll{overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
@media(max-width:680px){.hscroll,.hs2 .g2{overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}}
@media(max-width:900px){.hscroll,.hs2 .g2{scroll-padding-left:var(--gut)}}
@media(hover:none){.card.hov:hover,.card:hover{transform:none!important}.card:hover .ic{transform:none}}
/* v3.4 performance: no live blur filters (were re-rasterised every frame on mobile) */
.blobs,.blobs .blob{filter:none!important}
.blobs{opacity:.7}
.blob.a{background:radial-gradient(closest-side,rgba(255,189,158,.95),rgba(255,189,158,0))!important}
.blob.b{background:radial-gradient(closest-side,rgba(185,192,255,.9),rgba(185,192,255,0))!important}
.blob.c{background:radial-gradient(closest-side,rgba(168,235,221,.85),rgba(168,235,221,0))!important}
@media(max-width:900px){.blob{animation:none!important}}
/* faster first paint of the hero */
.hero h1 .line>span{animation-duration:.7s}
.hero .lead{animation-duration:.6s;animation-delay:.15s}
.hero .btn-row,.hero .meta{animation-duration:.6s;animation-delay:.25s}
.jcard.hj{animation-duration:.6s;animation-delay:.2s}
.rv,.rv-l,.rv-s{transition-duration:.6s,.7s}
::view-transition-old(root){animation-duration:.15s}
::view-transition-new(root){animation-duration:.25s}
/* v3.4 checkboxes: circle inside pill (topics), rounded square (consent) */
.chips label{padding:6px 16px 6px 6px;gap:10px;min-height:40px}
.chips label input,.consent input{padding:0!important;margin:0!important;min-height:0!important;box-shadow:none!important}
.chips label input{width:26px!important;height:26px!important;border-radius:50%!important;border:1.5px solid var(--line-2);background:var(--bg-alt)}
.chips label:hover input{border-color:var(--warm)}
.chips label:has(input:checked){border-color:var(--navy);background:var(--soft)}
html[data-theme="dark"] .chips label:has(input:checked){border-color:var(--peach)}
.chips label input:checked::after{width:10px;height:5.5px}
.consent input{width:22px!important;height:22px!important;border-radius:7px!important}
.chips label{white-space:normal;max-width:100%}
/* v3.5 home process: no connector line, soft-shadow dots lit by scroll */
.hsteps::before{display:none!important}
.hsteps .s i{border:0!important;background:var(--surface)!important;color:var(--title)!important;box-shadow:0 10px 28px -10px rgba(14,19,124,.35),0 2px 6px rgba(14,19,124,.08);transform:scale(.86);transition:transform .6s var(--ease-out),background-color .5s,color .5s,box-shadow .6s}
.hsteps .s.on i{background:var(--navy)!important;color:#fff!important;transform:scale(1);box-shadow:0 14px 32px -10px rgba(14,19,124,.55),0 0 0 8px rgba(255,189,158,.28)}
html[data-theme="dark"] .hsteps .s i{box-shadow:0 10px 28px -10px rgba(0,0,0,.7)}
html[data-theme="dark"] .hsteps .s.on i{background:var(--peach)!important;color:var(--navy)!important;box-shadow:0 14px 32px -10px rgba(0,0,0,.7),0 0 0 8px rgba(255,189,158,.14)}
.hsteps .s>div{transition:opacity .5s}

@media (prefers-reduced-motion:reduce){.hsteps .s i{transform:none}}
/* v3.5 process: vertical journey, stages > steps, scroll-driven */
.pj{--p:0;--x:64px;position:relative;padding-left:var(--x)}
.pj::before,.pj::after{content:'';position:absolute;left:23px;top:24px;bottom:24px;width:3px;border-radius:3px;background:var(--line-2)}
.pj::after{background:linear-gradient(180deg,#E3622F,#7C84FF 55%,#2BBB9D);bottom:auto;height:calc((100% - 48px) * var(--p));transition:height .15s linear}
.pj-stage{position:relative;padding-bottom:clamp(40px,6vw,72px)}
.pj-stage:last-child{padding-bottom:0}
.pj-node{position:absolute;left:calc(var(--x) * -1);top:0;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--title);font:700 16px 'Quicksand','Quicksand Fallback';box-shadow:0 10px 26px -10px rgba(14,19,124,.35),0 2px 6px rgba(14,19,124,.08);z-index:1;transform:scale(.88);transition:transform .5s var(--ease-out),background-color .4s,color .4s,box-shadow .5s}
.pj-node.on{background:var(--navy);color:#fff;transform:scale(1);box-shadow:0 14px 30px -10px rgba(14,19,124,.55),0 0 0 8px rgba(255,189,158,.3)}
html[data-theme="dark"] .pj-node{box-shadow:0 10px 26px -10px rgba(0,0,0,.7)}
html[data-theme="dark"] .pj-node.on{background:var(--peach);color:var(--navy);box-shadow:0 0 0 8px rgba(255,189,158,.14)}
.pj-head{min-height:50px;margin-bottom:22px}
.pj-k{display:block;font:700 11.5px/1.3 'Quicksand','Quicksand Fallback';letter-spacing:.18em;text-transform:uppercase;color:var(--warm);margin:4px 0 6px}
.pj-head h2{font-size:clamp(30px,4vw,44px);line-height:1.05;margin:0}
.pj-head p{margin:8px 0 0;color:var(--muted);font-size:17px}
.pj-step{position:relative;background:var(--surface);border-radius:var(--r);padding:clamp(20px,3vw,32px);box-shadow:0 1px 2px rgba(14,19,124,.05),0 18px 40px -22px rgba(14,19,124,.25);margin-bottom:18px}
.pj-step:last-child{margin-bottom:0}
.pj-step::before{content:'';position:absolute;left:calc(var(--x) * -1 + 17px);top:34px;width:15px;height:15px;border-radius:50%;background:var(--surface);border:3px solid var(--line-2);transition:border-color .4s,background-color .4s}
.pj-step.on::before{border-color:var(--warm);background:var(--peach)}
.pj-step::after{content:'';position:absolute;left:calc(var(--x) * -1 + 32px);top:40px;width:calc(var(--x) - 32px);height:3px;background:var(--line-2)}
.pj-sk{display:inline-block;font:700 12px/1.3 'Quicksand','Quicksand Fallback';letter-spacing:.08em;text-transform:uppercase;color:var(--warm);background:var(--warm-tint);padding:6px 11px;border-radius:999px;margin-bottom:12px}
.pj-step h3{font-size:clamp(22px,2.6vw,27px);line-height:1.2;margin:0 0 10px;color:var(--title)}
.pj-step p{margin:0 0 16px}
.pj-step .pfig{margin:0 0 16px}
.pj .out{background:var(--navy);color:rgba(255,255,255,.88);border:0;border-radius:16px;padding:16px 18px;font-size:15.5px;line-height:1.5}
.pj .out b{color:#fff}
.pj .out a{color:var(--peach)}
html[data-theme="dark"] .pj .out{background:#fff;color:#2A2F7A}
html[data-theme="dark"] .pj .out b{color:var(--navy)}
html[data-theme="dark"] .pj .out a{color:#C4501F}
.pj-ill{margin:0 0 16px}
.pj-ill svg{display:block;width:100%;height:auto}
.pj-ill .bgc{fill:var(--bg-alt)}
.pj-ill .cols rect{fill:var(--surface)}
.pj-ill .lbl text{font:700 15px 'Quicksand','Quicksand Fallback';fill:var(--title);text-anchor:middle;letter-spacing:.06em}
.pj-ill .pt circle{fill:var(--surface);stroke-width:4}
.pj-ill .wow path{fill:#E3622F}
.pj-ill .nt rect{fill:var(--warm-tint)}
.pj-ill .ntt text{font:700 13px 'Quicksand','Quicksand Fallback';fill:#C4501F;text-anchor:middle}
html[data-theme="dark"] .pj-ill .ntt text{fill:var(--peach)}
.pj-ill .ln{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 2s var(--ease-out)}
.pj-step.on .pj-ill .ln{stroke-dashoffset:0}
.pj-ill figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
@media(max-width:700px){.pj{--x:44px}.pj::before,.pj::after{left:16px}.pj-node{width:36px;height:36px;font-size:13px}.pj-step::before{left:calc(var(--x) * -1 + 10px);top:28px;width:13px;height:13px}.pj-step::after{left:calc(var(--x) * -1 + 23px);top:33px;width:calc(var(--x) - 23px)}.pj-head{min-height:36px}.pj-k{margin-top:0}.pj-step{padding:18px}.pj-sk{font-size:11px;letter-spacing:.06em}}
@media (prefers-reduced-motion:reduce){.pj-ill .ln{stroke-dashoffset:0}}
.pj-ill .lbl text{font-size:24px}
.pj-ill .ntt text{font-size:19px}
.pj-ill .pt circle{stroke-width:5}
footer .floc{display:block;margin-top:4px;font-size:13.5px;opacity:.75;line-height:1.45}
footer li.fg a{color:inherit;text-decoration:none}footer li.fg a:hover{color:#fff}
/* v3.5 home partnership card inverted (navy in light, white in dark) */
.card.wide{background:var(--navy)!important;border-color:transparent!important;box-shadow:0 24px 50px -24px rgba(14,19,124,.6)}
.card.wide h3{color:#fff}.card.wide .muted{color:rgba(255,255,255,.78)}.card.wide .more{color:var(--peach)}
.card.wide .ic{background:rgba(255,189,158,.16);color:var(--peach)}
html[data-theme="dark"] .card.wide{background:#fff!important}
html[data-theme="dark"] .card.wide h3{color:var(--navy)}html[data-theme="dark"] .card.wide .muted{color:#4A4F8C}html[data-theme="dark"] .card.wide .more{color:#C4501F}
html[data-theme="dark"] .card.wide .ic{background:rgba(227,98,47,.12);color:#C4501F}
/* v3.5 hero journey: no scale transform on SVG dots (Safari stretched them); pulse rings instead */
.jsvg{aspect-ratio:400/120;height:auto}
.jsvg .dot{animation:fadein .5s ease forwards!important;transform:none!important}
.jsvg .dot.d1{animation-delay:1.1s!important}.jsvg .dot.d2{animation-delay:1.7s!important}.jsvg .dot.d3{animation-delay:2.3s!important}
@keyframes fadein{to{opacity:1}}
.jsvg .pulse{fill:none;stroke-width:2;opacity:0}
.jsvg .pulse.p1{stroke:#E3622F}.jsvg .pulse.p2{stroke:#7C84FF}.jsvg .pulse.p3{stroke:var(--mint)}
@media (prefers-reduced-motion:reduce){.jsvg .pulse{display:none}}
/* v3.5 portrait never crops the head */
.person .ph img{object-position:50% 0}
@media(max-width:900px){.person .ph{aspect-ratio:720/772!important}}
/* v3.5 mission statement as its own moment */
.mission{position:relative;text-align:center;max-width:900px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(8px,3vw,40px)}
.mission::before{content:'„';position:absolute;left:50%;top:-.18em;transform:translateX(-50%);font:700 clamp(220px,30vw,380px)/1 'Quicksand','Quicksand Fallback';color:var(--peach);opacity:.35;pointer-events:none;z-index:0}
html[data-theme="dark"] .mission::before{opacity:.15}
.mission>*{position:relative;z-index:1}
.mission .eyebrow{justify-content:center}
.mission blockquote{margin:14px 0 0;font:700 clamp(28px,4.2vw,48px)/1.2 'Quicksand','Quicksand Fallback';letter-spacing:-.02em;color:var(--title)}
.mission blockquote em{font-style:normal;color:var(--warm)}
.mission .sig{display:inline-flex;align-items:center;gap:12px;margin-top:26px;font:700 15px 'Quicksand','Quicksand Fallback';color:var(--title)}
.mission .sig img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 0;background:var(--soft)}
.mission .sig small{display:block;font:600 12.5px 'Nunito','Nunito Fallback';color:var(--muted);text-align:left}
.statband .sb b.txt{font-size:clamp(28px,3.2vw,40px);line-height:1.1;padding:10px 0 4px}
/* v3.5 contact direct card: e-mail on one line on phones */
.cdirect .direct a{white-space:nowrap;overflow-wrap:normal}
@media(max-width:600px){.cdirect{gap:12px;padding:12px}.cdirect img{width:56px!important;height:56px!important}.cgrid .direct{font-size:clamp(14.5px,4.3vw,17px)}}
.cdirect p.muted{font-size:14px;line-height:1.5}@media(max-width:600px){.cdirect{align-items:flex-start}}
.mission{max-width:1000px;border-radius:36px;background:linear-gradient(135deg,rgba(255,189,158,.28),rgba(185,192,255,.22));overflow:hidden;padding:clamp(56px,8vw,96px) clamp(22px,6vw,80px)}
html[data-theme="dark"] .mission{background:linear-gradient(135deg,rgba(255,189,158,.1),rgba(124,132,255,.12))}
.mission::before,.mission::after{position:absolute;font:700 clamp(160px,22vw,300px)/1 Georgia,'Times New Roman',serif;color:var(--warm);opacity:.18;pointer-events:none;z-index:0;transform:none}
.mission::before{content:'“';left:clamp(8px,3vw,40px);top:clamp(-10px,-1vw,0px)}
.mission::after{content:'”';right:clamp(8px,3vw,40px);bottom:clamp(-120px,-10vw,-60px)}
.cdirect img{object-position:50% 50%!important}
/* v3.6 footer signature: a line enters from the left, writes "fler", exits right (scroll-scrubbed) */
.fsig{position:relative;height:clamp(58px,6vw,78px);margin:0 0 clamp(36px,5vw,56px);color:#fff}
.fsig-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}
.fsig .fs-link{position:absolute;top:0;bottom:0;left:var(--lx,0);width:var(--lw,80px)}

/* v4 hero meta dots: never squashed when the text wraps */
.hero .meta span{align-items:flex-start}
.hero .meta i{flex:0 0 8px;width:8px;min-width:8px;height:8px;aspect-ratio:1;margin-top:.45em}
.statband .sbx{display:block;margin-top:8px;font-size:12.5px;color:rgba(255,255,255,.55)}
/* v4 industries: deliverables card */
.zcard{padding:clamp(22px,3vw,34px)}
.zdl{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.zdl li{display:grid;gap:2px;padding-top:14px;border-top:1px solid var(--line)}
.zdl li:first-child{border-top:0;padding-top:0}
.zdl b{font:700 16px 'Quicksand','Quicksand Fallback';color:var(--title)}
.zdl span{font-size:14.5px;color:var(--muted)}

/* ===== V5 (26 sept) ===== */
/* footer signature: same size as the header logo, so it reads as a sign-off, not a banner */
.fsig{height:34px;margin:0 0 clamp(28px,4vw,44px)}
/* home hero watermark: left and lower - clear of the menu, cut by the screen edge at the middle of the "r" */
@media(min-width:701px){.hero .blobs .wm{top:330px;right:52px}}
/* cards with a "more" link: the link sits bottom-right, on the same line across a row */
.card:has(> .more){display:flex;flex-direction:column;align-items:flex-start}
.card:has(> .more) > .more{margin-top:auto;padding-top:18px;align-self:flex-end}
/* process timeline: step dots sit above the progress line; the connector lights up with its step */
.pj-step::before{z-index:1}
.pj-step::after{transition:background-color .4s}
.pj-step.on::after{background:var(--warm)}
/* quote attribution, bottom-right */
.qby{max-width:900px;margin:12px 0 0;text-align:right;font:600 14px/1.3 'Nunito','Nunito Fallback',sans-serif;color:var(--muted)}
.band .qby{color:rgba(255,255,255,.7)}
/* case study: referrals card */
.refc{display:flex;align-items:center;gap:clamp(18px,3vw,36px)}
.refc-n{display:flex;align-items:baseline;flex:none;font:700 clamp(56px,7vw,84px)/1 'Quicksand','Quicksand Fallback',sans-serif;letter-spacing:-.03em;background:linear-gradient(100deg,#E3622F,#8A4E86 60%,#18806B);-webkit-background-clip:text;background-clip:text;color:transparent}
.refc-n span{font-size:.5em}
.refc .k{display:block;font:700 12px/1.3 'Quicksand','Quicksand Fallback',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--warm);margin-bottom:8px}
.refc p{margin:0}
@media(max-width:620px){.refc{flex-direction:column;align-items:flex-start}}
/* counters inside the evidence figures stay inline (the .evpair/.evtwo span rules are for the label blocks) */
.evs b [data-count]{display:inline;padding:0;margin:0;background:none;border-radius:0}
.evtwo b .evn2{display:inline;padding:0;border-radius:0;background:none}

/* v5.4 home process: connector line is back, filled stage by stage (each stage builds on the previous one), with a light moving 01 -> 05 */
.hsteps::before,.hsteps::after{content:'';display:block!important;position:absolute;z-index:0;border-radius:4px;pointer-events:none;transform:none!important;right:auto;bottom:auto}
.hsteps::before{top:28px;left:var(--a,10%);width:var(--len,80%);height:4px;background:var(--line-2)}
.hsteps::after{top:28px;left:var(--a,10%);height:4px;width:calc(var(--len,80%) * var(--hp,0));background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85),rgba(255,255,255,0)) no-repeat,linear-gradient(90deg,#E3622F,#7C84FF 55%,#2BBB9D) no-repeat;background-size:70px 100%,var(--len,80vw) 100%;transition:width .9s cubic-bezier(.22,1,.36,1),height .9s cubic-bezier(.22,1,.36,1);animation:hflow 2.6s linear infinite}
.hsteps.vert::before,.hsteps.vert::after{top:var(--a,30px);left:28px;width:4px}
.hsteps.vert::before{height:var(--len,80%)}
.hsteps.vert::after{height:calc(var(--len,80%) * var(--hp,0));background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.85),rgba(255,255,255,0)) no-repeat,linear-gradient(180deg,#E3622F,#7C84FF 55%,#2BBB9D) no-repeat;background-size:100% 70px,100% var(--len,80vh);animation-name:hflowv}
@keyframes hflow{from{background-position:-70px 0,0 0}to{background-position:calc(100% + 70px) 0,0 0}}
@keyframes hflowv{from{background-position:0 -70px,0 0}to{background-position:0 calc(100% + 70px),0 0}}
html[data-theme="dark"] .hsteps::after{background-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0)),linear-gradient(90deg,#E3622F,#7C84FF 55%,#2BBB9D)}
html[data-theme="dark"] .hsteps.vert::after{background-image:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0)),linear-gradient(180deg,#E3622F,#7C84FF 55%,#2BBB9D)}
.hsteps .s i{transition-delay:.25s}
@media (prefers-reduced-motion:reduce){.hsteps::after{animation:none;transition:none}}

/* v5.5 a11y (no visual change) */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* v5.7 contrast (WCAG AA): process steps stay fully readable; darker orange for small accent text in light mode */
html:not([data-theme="dark"]) .paside a i,html:not([data-theme="dark"]) .quote em{color:#C4501F}
html:not([data-theme="dark"]) .band .quote em{color:var(--peach)}
.logos .track a{display:block;line-height:0;flex:none}
/* v5.13 card shadows: carousels are only scroll containers on mobile; there, extra room above/below so shadows and the hover lift aren't cut (net spacing unchanged) */
@media(max-width:680px){.hscroll,.hs2 .g2{padding-top:14px;padding-bottom:56px;margin-top:-10px;margin-bottom:-38px}}
