@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/space-grotesk-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/space-grotesk-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--bg:#F4F6F8;--card:#FFFFFF;--ink:#111111;--muted:#444444;--soft:#555555;--line:#E6E1D6;--cream:#F7F5F0;--accent:#1F3FD6;--accent-soft:#EEF1FF;--accent-tint:#DCE2FF;--hl:#C6F231;--shadow:0 0 20px #C8CDD3;--r:20px;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--disp:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--disp);font-weight:700;margin:0;letter-spacing:-.02em;line-height:1.1}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
img,svg{display:block}
.ic{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ic--w{stroke:#fff}.ic--hl{stroke:var(--hl)}
.wrap{max-width:1312px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px}.skip:focus{left:8px;top:8px;z-index:100}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.rule{width:56px;height:4px;background:var(--hl)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;font-size:16px;transition:filter .15s,transform .15s}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn--dark{background:var(--ink)}.btn--hl{background:var(--hl);color:var(--ink)}
.badge{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.badge--inv{background:rgba(255,255,255,.18)}.badge--inv .ic{stroke:#fff}
.tag{display:inline-block;padding:4px 10px;border-radius:4px;background:var(--hl);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.tag--dark{background:var(--ink);color:#fff}.tag--white{background:#fff;color:var(--ink)}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}
.muted{color:var(--muted)}.soft{color:var(--soft)}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
.logo img{height:56px;width:auto}
.nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.nav a:hover{color:var(--accent)}
.nav .btn{min-height:44px;padding:0 20px;font-size:15px}
.burger{display:none;width:44px;height:44px;border:0;border-radius:8px;background:var(--accent-soft);align-items:center;justify-content:center;cursor:pointer}
@media (max-width:860px){
  .burger{display:flex}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 20px 16px;display:none}
  .nav.is-open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:12px;border-bottom:0}
}
@media (min-width:861px){.logo img{height:72px}.site-head .wrap{min-height:96px}}

/* sections */
section{padding:56px 0}
.sec-head{display:grid;gap:14px;max-width:820px;margin-bottom:32px}
.sec-head h2{font-size:clamp(30px,4vw,48px)}
.sec-head .lead{font-size:17px;color:var(--muted)}
@media (min-width:1000px){.sec-head--split{max-width:none;grid-template-columns:7fr 5fr;gap:16px;align-items:end}.sec-head--split .lead{padding-bottom:6px}}
.grid{display:grid;gap:16px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}

/* hero */
.hero{padding:24px 0 8px}
.hero-grid{display:grid;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}
.hero-main{grid-column:1/9;grid-row:1/3;padding:clamp(28px,4vw,48px);border-top:6px solid var(--accent);display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.hero-main h1{font-size:clamp(34px,4.6vw,68px);line-height:1.02;max-width:760px}
.hero-main .lead{font-size:18px;color:var(--soft);max-width:560px}
.hero-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hero-tile{grid-column:9/13;padding:32px;display:flex;flex-direction:column;gap:12px}
.hero-tile h2{font-size:24px}
.hero-tile p{font-size:15px;color:var(--muted)}
.hero-small{padding:28px 32px;display:flex;flex-direction:column;gap:10px}
.hero-small .lbl{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.hero-small .val{font-family:var(--disp);font-size:22px;font-weight:600;line-height:1.25}
.hero-small--accent{background:var(--accent);color:#fff}.hero-small--accent .lbl{color:var(--accent-tint)}
.hs1{grid-column:1/5}.hs2{grid-column:5/9}.hs3{grid-column:9/13}
@media (max-width:1000px){
  .hero-main{grid-column:1/-1;grid-row:auto}
  .hero-tile{grid-column:span 6}
  .hs1,.hs2,.hs3{grid-column:span 4}
}
@media (max-width:640px){.hero-tile,.hs1,.hs2,.hs3{grid-column:1/-1}.hero-main{padding:28px 22px}}

/* approach */
.approach{padding:24px 0 8px}
.approach-title{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.approach-title .line{flex:1;height:1px;background:var(--line)}
.a-card{padding:32px;display:flex;flex-direction:column;gap:12px}
.a-card h3{font-size:22px}.a-card p{font-size:15px;color:var(--muted)}

/* services */
.svc-grid{display:grid;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}
.svc{padding:40px;display:flex;flex-direction:column;gap:18px}
.svc h3{font-size:clamp(24px,2.4vw,32px)}
.svc p{font-size:16px;color:var(--muted)}
.svc .foot{font-size:14px;font-weight:500;color:var(--accent)}
.svc--accent{background:var(--accent);color:#fff}.svc--accent p{color:var(--accent-tint)}.svc--accent .foot,.svc--accent h3{color:#fff}
.s1{grid-column:1/8}.s2{grid-column:8/13}.s3{grid-column:1/6}.s4{grid-column:6/13}
@media (max-width:1000px){.s1,.s2,.s3,.s4{grid-column:span 6}}
@media (max-width:640px){.s1,.s2,.s3,.s4{grid-column:1/-1}.svc{padding:28px 22px}}

/* sectors */
.sector{padding:32px;display:flex;flex-direction:column;gap:12px}
.sector h3{font-size:22px}.sector p{font-size:15px;color:var(--muted)}
.sector ul{display:flex;flex-direction:column;gap:6px;font-size:14px;margin-top:6px}
.sector li{display:flex;gap:8px}.sector li::before{content:"—";color:var(--accent)}
.sector--hl{background:var(--hl)}.sector--hl p{color:var(--ink)}.sector--hl li::before{color:var(--ink)}.sector--hl .badge{background:rgba(255,255,255,.55)}

/* method */
.step{padding:28px;display:flex;flex-direction:column;gap:14px}
.step .num{font-family:var(--disp);font-size:44px;font-weight:700;color:var(--accent);line-height:1}
.step h3{font-size:20px}.step p{font-size:15px;color:var(--muted)}

/* about */
.about-grid{display:grid;gap:16px;grid-template-columns:4fr 8fr;align-items:start}
.about-visual{padding:40px;border-radius:var(--r);background:var(--accent);color:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:32px}
.about-visual .brand{font-family:var(--disp);font-size:40px;font-weight:700;letter-spacing:.06em;line-height:1}
.about-visual .def{font-size:14px;color:var(--accent-tint)}
.about-visual .rows{display:flex;flex-direction:column;gap:14px}
.about-visual .rows div{display:flex;align-items:center;gap:12px;font-size:15px}
.about-text{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:20px}
.about-text h2{font-size:clamp(30px,3.4vw,40px)}
.about-text .def{font-size:15px;font-weight:500;color:var(--soft)}
.about-text p{font-size:17px;color:var(--muted)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chips li{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:8px;border:1px solid #C8CDD3;font-size:13px;font-weight:600}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}}

/* contact */
.contact-grid{display:grid;gap:16px;grid-template-columns:6fr 6fr;align-items:start}
.contact-text{display:flex;flex-direction:column;gap:20px;padding-right:32px}
.contact-text h2{font-size:clamp(34px,4vw,52px);line-height:1.02}
.contact-text p{font-size:17px;color:var(--muted)}
.contact-cards{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.c-card{padding:32px;border-radius:var(--r);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:260px;transition:transform .15s}
.c-card:hover{transform:translateY(-2px)}
.c-card--accent{background:var(--accent);color:#fff}.c-card--white{background:#fff}
.c-card .t{font-family:var(--disp);font-size:24px;font-weight:700;line-height:1.15;display:block}
.c-card .s{font-size:14px;display:block;margin-top:8px}
.c-card--accent .s{color:var(--accent-tint)}
.c-card--white .s{font-size:15px;font-weight:600;color:var(--accent);border-bottom:3px solid var(--hl);display:inline-block}
@media (max-width:1000px){.contact-grid{grid-template-columns:1fr}.contact-text{padding-right:0}}
@media (max-width:640px){.contact-cards{grid-template-columns:1fr}}

/* footer */
.site-foot{background:var(--cream);border-top:1px solid var(--line);color:var(--muted);font-size:14px;padding:28px 0}
.site-foot .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-foot .brand{display:flex;align-items:center;gap:14px}
.site-foot .brand img{height:44px;width:auto}
.site-foot nav{display:flex;gap:28px;flex-wrap:wrap}
.site-foot nav a{color:var(--ink)}.site-foot nav a:hover{color:var(--accent)}

/* legal pages */
.legal{padding:56px 0 96px}
.legal-grid{display:grid;gap:16px;grid-template-columns:3fr 9fr;align-items:start}
.legal-side{display:flex;flex-direction:column;gap:16px}
.legal-side h1{font-size:clamp(32px,3.6vw,44px)}
.legal-side p{font-size:15px;color:var(--soft)}
.legal-body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:36px}
.legal-body section{padding:0;display:flex;flex-direction:column;gap:12px}
.legal-body h2{font-size:24px}
.legal-body p,.legal-body li{font-size:16px;line-height:1.65;color:var(--muted)}
.legal-body a{color:var(--accent)}.legal-body a:hover{text-decoration:underline}
.legal-body ul{display:flex;flex-direction:column;gap:8px}
.legal-body li{display:flex;gap:10px}.legal-body li::before{content:"—";color:var(--accent)}
@media (max-width:900px){.legal-grid{grid-template-columns:1fr}}
@media print{.site-head,.site-foot{display:none}.card,.legal-body{box-shadow:none}}
