/* Global Unity Marketing, Inc. — site styles */

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

:root{
  --bg:#0E1230;
  --bg-2:#131845;
  --bg-3:#1B2157;
  --deep:#080B22;
  --text:#FFFFFF;
  --muted:#AEB6DD;
  --dim:#6F78A8;
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.5);
  --accent:#9AA6FF;
  --cobalt:#2D3FE6;
  --cobalt-deep:#1F2DB8;
  --gold:#FFC93C;
  --coral:#FF6B4A;
  --mint:#34C3A0;
  --error:#FF8A73;

  --font:"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --step--1:.875rem;
  --step-0:1.0625rem;
  --step-1:1.3125rem;
  --step-2:clamp(1.5rem,1.2rem + 1vw,1.875rem);
  --step-3:clamp(1.9rem,1.4rem + 2vw,2.75rem);
  --step-4:clamp(2.4rem,1.5rem + 3.6vw,4.25rem);
  --step-5:clamp(2.9rem,1.6rem + 5.4vw,6rem);

  --gutter:clamp(16px,4vw,48px);
  --max:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font);font-size:var(--step-0);line-height:1.6;font-weight:420;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--cobalt);color:#fff}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}

h1,h2,h3{font-weight:650;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
p{max-width:64ch;text-wrap:pretty}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--deep);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Buttons & links ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:0 26px;border-radius:10px;border:0;cursor:pointer;
  font-weight:600;font-size:1rem;text-decoration:none;letter-spacing:-.005em;
  transition:background-color .2s,color .2s,transform .2s var(--ease);
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:#fff;color:var(--bg)}
.btn-primary:hover{background:#DCE0FF}
.btn-ghost{border:1.5px solid rgba(255,255,255,.35);color:#fff;background:transparent}
.btn-ghost:hover{border-color:#fff}
.btn-light{background:#fff;color:var(--bg)}
.btn-light:hover{background:#DCE0FF}
.text-link{
  font-weight:600;text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;
  padding-bottom:3px;transition:background-size .25s var(--ease);
}
.text-link:hover{background-size:30% 2px}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:40;background:transparent;
  border-bottom:1px solid transparent;transition:border-color .25s,background-color .25s;
}
.site-header.is-scrolled{border-bottom-color:var(--line);background:rgba(14,18,48,.78);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand img{width:42px;height:42px}
.brand-name{font-weight:680;font-size:1.125rem;letter-spacing:-.02em;line-height:1.05}
.brand-name small{display:block;font-weight:440;font-size:.8125rem;letter-spacing:0;color:var(--muted);margin-top:2px}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a:not(.btn){
  text-decoration:none;font-weight:520;font-size:.98rem;padding:10px 14px;border-radius:8px;color:var(--muted);
  transition:color .2s,background-color .2s;
}
.nav-links a:not(.btn):hover{color:#fff;background:rgba(255,255,255,.07)}
.nav-links a[aria-current="page"]{color:var(--text)}
.nav-links a[aria-current="page"]::after{content:"";display:block;height:2px;background:var(--accent);margin-top:4px;border-radius:2px}
.nav-links .btn{margin-left:12px;min-height:44px;padding:0 20px}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;border-radius:10px;position:relative}
.menu-toggle span{position:absolute;left:11px;right:11px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.menu-toggle span:nth-child(1){top:16px}
.menu-toggle span:nth-child(2){top:26px}
.menu-open .menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){transform:translateY(-5px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;margin-top:-79px;padding:calc(79px + clamp(40px,7vw,96px)) 0 clamp(72px,10vw,140px);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;right:-18%;top:-40%;width:min(1100px,120vw);aspect-ratio:1;
  background:radial-gradient(circle,rgba(70,90,255,.62),rgba(45,63,230,.2) 38%,transparent 62%);pointer-events:none}
.hero::after{content:"";position:absolute;z-index:-1;left:-22%;bottom:-70%;width:min(900px,100vw);aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,107,74,.22),transparent 60%);pointer-events:none}
.hero-grid{position:relative}
.hero h1{font-size:clamp(2.6rem,.9rem + 6.3vw,6.6rem);line-height:.96;letter-spacing:-.045em;font-weight:660;position:relative;z-index:1}
.hero h1 .line{display:block}
.hero-lede{font-size:var(--step-1);color:var(--muted);margin-top:clamp(28px,3.4vw,44px);max-width:32ch;line-height:1.5;position:relative;z-index:1}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:32px;position:relative;z-index:1}

.hero-net{position:absolute;right:-2%;bottom:-170px;width:clamp(300px,38vw,540px);aspect-ratio:1}
.hero-net svg{width:100%;height:100%;overflow:visible}
.hero-net .links line{stroke:rgba(255,255,255,.2);stroke-width:1.5}
.hero-net .node{transition:r .3s}
.hero-net .hub{fill:var(--bg);stroke:rgba(255,255,255,.28);stroke-width:1.5}
.hero-net .hub-ring{fill:none;stroke:rgba(154,166,255,.25);stroke-width:1;stroke-dasharray:2 7;transform-origin:310px 310px;animation:spin 60s linear infinite}
.hero-net .stroke{
  fill:none;stroke:#fff;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);
  animation:draw 1.9s .25s var(--ease) forwards;
}
.hero-net .dot{fill:var(--accent);transform-box:fill-box;transform-origin:center;transform:scale(0);animation:pop .7s 1.85s cubic-bezier(.3,1.6,.5,1) forwards}
.hero-net .links,.hero-net .nodes{opacity:0;animation:fade 1.2s 1.2s ease forwards}
@keyframes fade{to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (min-width:761px){.hero h1 .line{white-space:nowrap}}

/* Soft glow behind inner page headers */
.page-head,.article-head,.contact-page{position:relative;isolation:isolate;overflow:hidden;margin-top:-79px}
.page-head::before,.article-head::before,.contact-page::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 48% 85% at 88% 0%,rgba(70,90,255,.45),rgba(45,63,230,.14) 45%,transparent 75%)}

/* Colored markers that echo the network nodes */
.service h2::before,.audience h2::before{content:"";display:block;width:14px;height:14px;border-radius:50%;margin-bottom:18px;background:var(--accent)}
.service:nth-of-type(2) h2::before,.audience:nth-of-type(2) h2::before{background:var(--gold)}
.service:nth-of-type(3) h2::before,.audience:nth-of-type(3) h2::before{background:var(--coral)}
.service:nth-of-type(4) h2::before{background:var(--mint)}
.stage:nth-of-type(2) .stage-num{color:var(--gold)}
.stage:nth-of-type(3) .stage-num{color:var(--coral)}
.stage:nth-of-type(4) .stage-num{color:var(--mint)}
.post-item:nth-child(1) time::before,.post-item:nth-child(2) time::before,.post-item:nth-child(3) time::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:10px;background:var(--gold);vertical-align:1px}
.post-item:nth-child(2) time::before{background:var(--coral)}
.post-item:nth-child(3) time::before{background:var(--mint)}

/* CTA band: cobalt with depth */
.cta{background:radial-gradient(120% 140% at 85% 20%,#4A5BFF 0%,var(--cobalt) 45%,#1A27A8 100%)}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{transform:scale(1)}}

/* ---------- Statement (scroll fill) ---------- */
.statement{padding:clamp(56px,8vw,120px) 0;background:var(--bg-2)}
.statement p{font-size:clamp(1.9rem,1.2rem + 3vw,3.6rem);font-weight:580;letter-spacing:-.035em;line-height:1.12;max-width:24ch}
.fill-text .w{color:rgba(255,255,255,.2);transition:color .35s}
.fill-text .w.on{color:#fff}
.statement .aside{display:flex;gap:clamp(24px,5vw,80px);margin-top:clamp(36px,5vw,64px);align-items:flex-start;flex-wrap:wrap}
.statement .aside p{font-size:var(--step-0);color:var(--muted);max-width:44ch;font-weight:420;letter-spacing:0;line-height:1.6}

/* ---------- Approach (sequence with progress rail) ---------- */
.approach{background:var(--deep);color:#fff;padding:clamp(72px,10vw,140px) 0}
.approach-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px)}
.approach-intro{position:sticky;top:120px;align-self:start}
.approach h2{font-size:var(--step-4)}
.approach-intro p{color:var(--muted);margin-top:20px;font-size:var(--step-1);line-height:1.5;max-width:30ch}
.steps{position:relative;padding-left:56px}
.steps::before,.steps .rail{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:rgba(255,255,255,.14);border-radius:2px}
.steps .rail{background:var(--accent);transform-origin:top;transform:scaleY(var(--progress,0));bottom:8px}
.step{position:relative;padding:4px 0 clamp(48px,7vw,88px)}
.step:last-child{padding-bottom:0}
.step-num{
  position:absolute;left:-56px;top:2px;width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;font-size:.875rem;font-weight:650;
  background:var(--deep);border:2px solid rgba(255,255,255,.16);color:var(--dim);transition:all .35s var(--ease);
}
.step h3{font-size:var(--step-2);color:var(--dim);transition:color .35s}
.step p{color:var(--dim);margin-top:12px;font-size:var(--step-1);line-height:1.5;max-width:36ch;transition:color .35s}
.step.is-active .step-num{border-color:var(--accent);background:var(--accent);color:var(--bg)}
.step.is-active h3{color:#fff}
.step.is-active p{color:#C9CEDB}

/* ---------- Why (expandable list) ---------- */
.why{padding:clamp(72px,10vw,140px) 0}
.why-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.why h2{font-size:var(--step-4)}
.why-head p{color:var(--muted);font-size:var(--step-1);line-height:1.5;justify-self:end;max-width:30ch}
.reasons{border-top:1px solid var(--line-strong)}
.reason{border-bottom:1px solid var(--line)}
.reason button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:clamp(22px,3vw,34px) 0;background:none;border:0;cursor:pointer;text-align:left;
}
.reason .title{font-size:var(--step-3);font-weight:600;letter-spacing:-.03em;line-height:1.1;transition:color .2s,transform .35s var(--ease)}
.reason button:hover .title{color:var(--accent)}
.reason .plus{flex:0 0 44px;height:44px;border-radius:50%;border:1.5px solid var(--line);position:relative;transition:background-color .25s,border-color .25s}
.reason .plus::before,.reason .plus::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:transform .35s var(--ease),background-color .25s}
.reason .plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.reason button[aria-expanded="true"] .plus{background:var(--cobalt);border-color:var(--accent)}
.reason button[aria-expanded="true"] .plus::before,.reason button[aria-expanded="true"] .plus::after{background:#fff}
.reason button[aria-expanded="true"] .plus::after{transform:translate(-50%,-50%) rotate(0)}
.reason button[aria-expanded="true"] .title{transform:translateX(8px)}
.reason .panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.reason .panel>div{overflow:hidden}
.reason .panel p{font-size:var(--step-1);color:var(--muted);line-height:1.5;padding:0 0 clamp(24px,3vw,34px) 8px;max-width:40ch}
.reason.is-open .panel{grid-template-rows:1fr}

/* ---------- CTA band ---------- */
.cta{background:var(--cobalt);color:#fff;padding:clamp(64px,9vw,120px) 0;position:relative;overflow:hidden}
.cta-inner{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:40px;align-items:end;position:relative}
.cta h2{font-size:var(--step-4);max-width:14ch}
.cta p{color:#DCE0FF;font-size:var(--step-1);line-height:1.5;margin-top:20px;max-width:40ch}
.cta-mark{position:absolute;right:-6%;top:50%;width:min(52vw,560px);transform:translateY(-50%);opacity:.12;pointer-events:none}

/* ---------- Page header (inner pages) ---------- */
.page-head{padding:calc(79px + clamp(48px,8vw,104px)) 0 clamp(40px,6vw,72px)}
.page-head .kicker{font-weight:560;color:var(--accent);margin-bottom:18px;font-size:var(--step-0)}
.page-head h1{font-size:var(--step-4);max-width:20ch;letter-spacing:-.035em}

/* ---------- About ---------- */
.about-body{padding:0 0 clamp(72px,10vw,130px)}
.about-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);border-top:1px solid var(--line-strong);padding-top:clamp(32px,4vw,48px)}
.about-cols .lead{font-size:var(--step-2);font-weight:560;letter-spacing:-.02em;line-height:1.3}
.about-cols .body p{color:var(--muted);font-size:var(--step-1);line-height:1.55}
.about-cols .body p+p{margin-top:1.1em}
.values{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.values li{border:1.5px solid var(--line-strong);border-radius:999px;padding:8px 18px;font-weight:540;font-size:.95rem}

.mv{background:var(--bg-2);padding:clamp(72px,10vw,130px) 0}
.mv-grid{display:grid;grid-template-columns:1fr 1fr}
.mv-item{padding:0 clamp(24px,5vw,72px)}
.mv-item:first-child{padding-left:0;border-right:1px solid var(--line)}
.mv-item:last-child{padding-right:0}
.mv-item h2{font-size:var(--step-1);font-weight:620;color:var(--accent);letter-spacing:-.01em;margin-bottom:22px}
.mv-item p{font-size:var(--step-3);font-weight:560;letter-spacing:-.025em;line-height:1.18}

.principles{padding:clamp(72px,10vw,130px) 0}
.principles h2{font-size:var(--step-4);margin-bottom:clamp(36px,5vw,56px);max-width:16ch}
.principle-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-strong)}
.principle-list li{padding:28px 28px 0 0}
.principle-list li+li{padding-left:28px;border-left:1px solid var(--line)}
.principle-list h3{font-size:var(--step-2);margin-bottom:12px}
.principle-list p{color:var(--muted)}

/* ---------- Contact ---------- */
.contact-page{padding:calc(79px + clamp(40px,7vw,96px)) 0 clamp(72px,10vw,130px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,104px);align-items:start}
.contact-copy h1{font-size:var(--step-4);letter-spacing:-.035em;max-width:12ch}
.contact-copy>p{font-size:var(--step-1);color:var(--muted);line-height:1.5;margin-top:24px;max-width:34ch}
.contact-direct{margin-top:clamp(36px,5vw,56px);border-top:1px solid var(--line-strong);padding-top:24px}
.contact-direct h2{font-size:var(--step-0);font-weight:560;color:var(--muted);letter-spacing:0}
.contact-direct a{display:inline-block;margin-top:8px;font-size:var(--step-1);font-weight:600;letter-spacing:-.015em;text-decoration:none;overflow-wrap:anywhere}
.contact-direct a:hover{color:var(--accent)}
.contact-direct p{color:var(--muted);margin-top:16px;font-size:.95rem}

.form-card{background:var(--bg-2);border-radius:20px;padding:clamp(24px,4vw,48px);border:1px solid var(--line)}
.form-card fieldset{border:0;margin:0 0 28px;padding:0}
.form-card legend{font-weight:620;font-size:var(--step-1);letter-spacing:-.01em;margin-bottom:16px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{
  display:inline-block;padding:11px 18px;border-radius:999px;border:1.5px solid var(--line);
  cursor:pointer;font-weight:520;font-size:.97rem;transition:all .2s;user-select:none;
}
.chip span:hover{border-color:#fff}
.chip input:checked+span{background:#fff;border-color:#fff;color:var(--bg)}
.chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-weight:580;font-size:.95rem}
.field label .opt{font-weight:420;color:var(--muted)}
.field input,.field textarea{
  width:100%;font:inherit;font-size:1rem;color:#fff;background:var(--bg-3);
  border:1.5px solid transparent;border-radius:10px;padding:14px 16px;transition:border-color .2s,background-color .2s;
}
.field textarea{min-height:150px;resize:vertical;line-height:1.5}
.field input:hover,.field textarea:hover{border-color:var(--line)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-3)}
.field .err{font-size:.875rem;color:var(--error);min-height:0;display:none}
.field.has-error input,.field.has-error textarea{border-color:var(--error)}
.field.has-error .err{display:block}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;flex-wrap:wrap}
.form-foot small{color:var(--muted);font-size:.875rem;max-width:30ch}
.form-card .btn[disabled]{opacity:.6;cursor:progress}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{border-radius:10px;padding:14px 16px;margin-bottom:24px;font-weight:520;display:none}
.form-status.is-error{display:block;background:rgba(255,107,74,.14);color:#FFB4A3}
.sent{display:none;text-align:left;padding:clamp(8px,2vw,16px) 0}
.sent svg{width:72px;height:72px;margin-bottom:24px}
.sent svg path{stroke-dasharray:60;stroke-dashoffset:60}
.form-card.is-sent form{display:none}
.form-card.is-sent .sent{display:block}
.form-card.is-sent .sent svg path{animation:draw .7s .1s var(--ease) forwards}
.sent h2{font-size:var(--step-3)}
.sent p{color:var(--muted);font-size:var(--step-1);margin-top:14px;line-height:1.5}
.sent .btn{margin-top:28px}

/* ---------- Footer ---------- */
.site-footer{background:var(--deep);color:var(--muted);padding:clamp(56px,7vw,88px) 0 32px}
.foot-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.6fr));gap:40px;padding-bottom:clamp(40px,6vw,72px)}
.foot-top img{height:56px;width:auto}
.foot-top .tag{margin-top:20px;max-width:30ch;color:#C9CEDB}
.foot-top h2{font-size:.95rem;font-weight:560;color:#fff;letter-spacing:0;margin-bottom:14px}
.foot-top li+li{margin-top:8px}
.foot-top a{text-decoration:none;transition:color .2s}
.foot-top a:hover{color:#fff}
.foot-bottom{border-top:1px solid var(--line);padding-top:24px;font-size:.875rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- 404 ---------- */
.lost{min-height:60vh;display:grid;place-items:center;text-align:center;padding:80px 0}
.lost h1{font-size:var(--step-4)}
.lost p{color:var(--muted);margin:16px auto 32px;font-size:var(--step-1)}


/* ---------- Shared inner-page pieces ---------- */
.page-head .intro{font-size:var(--step-1);color:var(--muted);line-height:1.5;margin-top:24px;max-width:46ch}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.95rem;color:var(--muted);margin-bottom:22px}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--accent)}
.crumbs span[aria-hidden]{color:var(--dim)}
.section{padding:clamp(64px,9vw,120px) 0}
.section.white{background:var(--bg-2)}
.section-title{font-size:var(--step-4);max-width:18ch;margin-bottom:clamp(32px,5vw,56px)}
.label{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:10px}
.check-list li{position:relative;padding-left:28px;color:var(--muted)}
.check-list li+li{margin-top:10px}
.check-list li::before{content:"";position:absolute;left:2px;top:.5em;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}

/* ---------- Services ---------- */
.service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(28px,6vw,96px);padding:clamp(36px,5vw,64px) 0;border-top:1px solid var(--line-strong)}
.service:last-child{border-bottom:1px solid var(--line-strong)}
.service h2{font-size:var(--step-3);letter-spacing:-.03em}
.service .sum{font-size:var(--step-1);color:var(--muted);line-height:1.5;margin-top:16px;max-width:30ch}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}
.service-detail .full{grid-column:1/-1}
.service-detail p{color:var(--muted)}
.service-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.service-jump a{border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;text-decoration:none;font-weight:540;font-size:.95rem;transition:border-color .2s,color .2s}
.service-jump a:hover{border-color:#fff}

/* ---------- Who we help ---------- */
.audience{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(28px,6vw,96px);padding:clamp(40px,6vw,72px) 0;border-top:1px solid var(--line)}
.audience:first-child{border-top:1px solid var(--line-strong)}
.audience h2{font-size:var(--step-3);letter-spacing:-.03em}
.audience .who{font-size:var(--step-1);color:var(--muted);margin-top:14px;line-height:1.5;max-width:30ch}
.audience-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.audience-cols p{color:var(--muted);font-size:.98rem}

/* ---------- Process stages ---------- */
.stage{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,4vw,56px);padding:clamp(36px,5vw,60px) 0;border-top:1px solid var(--line)}
.stage:first-of-type{border-top:1px solid var(--line-strong)}
.stage-num{font-size:var(--step-4);font-weight:640;line-height:1;color:var(--accent);letter-spacing:-.04em}
.stage h2{font-size:var(--step-3);letter-spacing:-.03em}
.stage .sum{color:var(--muted);font-size:var(--step-1);line-height:1.5;margin-top:14px;max-width:32ch}
.stage-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.expect{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-strong)}
.expect li{padding:28px 28px 0 0}
.expect li+li{padding-left:28px;border-left:1px solid var(--line)}
.expect h3{font-size:var(--step-2);margin-bottom:10px}
.expect p{color:var(--muted)}

/* ---------- FAQ ---------- */
.faq-group+.faq-group{margin-top:clamp(48px,7vw,88px)}
.faq-group h2{font-size:var(--step-2);margin-bottom:20px;color:var(--accent);letter-spacing:-.015em}
.faq .reason .title{font-size:var(--step-2);letter-spacing:-.02em}
.faq .reason .panel p{font-size:var(--step-0);max-width:62ch;line-height:1.65}
.faq-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr);gap:clamp(32px,6vw,96px)}
.faq-aside{position:sticky;top:110px;align-self:start}
.faq-aside p{color:var(--muted);margin-bottom:20px}

/* ---------- Insights ---------- */
.post-list{border-top:1px solid var(--line-strong)}
.post-item{border-bottom:1px solid var(--line)}
.post-item a{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:clamp(16px,4vw,56px);padding:clamp(28px,4vw,44px) 0;text-decoration:none;align-items:baseline}
.post-item time,.post-item .read{color:var(--muted);font-size:.95rem}
.post-item h2{font-size:var(--step-3);letter-spacing:-.03em;transition:color .2s}
.post-item p{color:var(--muted);margin-top:12px;font-size:var(--step-0)}
.post-item a:hover h2{color:var(--accent)}

.article-head{padding:calc(79px + clamp(40px,7vw,96px)) 0 clamp(32px,5vw,56px)}
.article-head h1{font-size:var(--step-4);letter-spacing:-.035em;max-width:22ch}
.article-meta{color:var(--muted);margin-top:22px;display:flex;gap:18px;flex-wrap:wrap}
.prose{max-width:68ch;font-size:1.125rem;line-height:1.7;padding-bottom:clamp(64px,9vw,112px)}
.prose>*+*{margin-top:1.15em}
.prose h2{font-size:var(--step-2);margin-top:2em;letter-spacing:-.02em}
.prose h3{font-size:var(--step-1);margin-top:1.6em}
.prose p,.prose li{color:#D3D8F2}
.prose ul,.prose ol{padding-left:1.3em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:.5em}
.prose li::marker{color:var(--accent)}
.prose a{color:var(--accent);text-underline-offset:3px}
.prose .pull{border-left:3px solid var(--accent);padding:4px 0 4px 22px;font-size:var(--step-2);font-weight:560;letter-spacing:-.02em;line-height:1.3;color:var(--text)}
.prose .lede{font-size:var(--step-1);line-height:1.55;color:var(--text)}
.article-foot{border-top:1px solid var(--line-strong);padding:32px 0 clamp(64px,9vw,112px);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.article-foot a{text-decoration:none;max-width:40ch}
.article-foot small{display:block;color:var(--muted);margin-bottom:6px;font-size:.9rem}
.article-foot strong{font-size:var(--step-1);font-weight:620;letter-spacing:-.015em}
.article-foot a:hover strong{color:var(--accent)}

/* ---------- Legal ---------- */
.legal .prose{font-size:1.0625rem}
.legal .updated{color:var(--muted);margin-top:18px}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-net{width:clamp(260px,40vw,380px);bottom:-70px;right:-6%}
  .approach-grid,.why-head,.about-cols,.contact-grid,.cta-inner{grid-template-columns:1fr}
  .approach-intro{position:static}
  .why-head p{justify-self:start}
  .principle-list{grid-template-columns:1fr}
  .principle-list li,.principle-list li+li{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}
  .foot-top{grid-template-columns:1fr 1fr 1fr}
  .foot-top>div:first-child{grid-column:1/-1}
  .service,.audience,.faq-layout{grid-template-columns:1fr}
  .faq-aside{position:static}
  .stage{grid-template-columns:72px minmax(0,1fr)}
  .stage-cols{grid-column:2}
  .expect{grid-template-columns:1fr}
  .expect li,.expect li+li{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}
  .post-item a{grid-template-columns:1fr}
  .post-item .read{display:none}
}
@media (max-width:1060px){
  .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
  .menu-toggle{display:block;z-index:2}
  .nav-links{
    position:fixed;inset:78px 0 0 0;background:var(--bg);flex-direction:column;align-items:stretch;
    padding:24px var(--gutter);gap:0;visibility:hidden;opacity:0;transform:translateY(-8px);
    transition:opacity .25s,transform .3s var(--ease),visibility 0s .3s;
  }
  .menu-open .nav-links{visibility:visible;opacity:1;transform:none;transition:opacity .25s,transform .3s var(--ease)}
  .menu-open{overflow:hidden}
  .nav-links a:not(.btn){font-size:var(--step-3);font-weight:620;color:var(--text);padding:16px 0;border-bottom:1px solid var(--line);border-radius:0;letter-spacing:-.02em}
  .nav-links a[aria-current="page"]::after{display:none}
  .nav-links a[aria-current="page"]{color:var(--accent)}
  .nav-links .btn{margin:28px 0 0;min-height:56px}
}
@media (max-width:760px){
  .hero-grid{display:flex;flex-direction:column}
  .hero-net{position:relative;order:-1;right:auto;bottom:auto;width:230px;margin:-8px 0 12px -24px}
  .mv-grid{grid-template-columns:1fr}
  .mv-item,.mv-item:first-child,.mv-item:last-child{padding:0}
  .mv-item:first-child{border-right:0;border-bottom:1px solid var(--line);padding-bottom:40px;margin-bottom:40px}
  .fields{grid-template-columns:1fr}
  .steps{padding-left:48px}
  .step-num{left:-48px}
  .cta-mark{display:none}
  .brand-name small{display:none}
  .service-detail,.audience-cols,.stage-cols{grid-template-columns:1fr}
  .stage{grid-template-columns:1fr;gap:14px}
  .stage-cols{grid-column:auto}
  .stage-num{font-size:var(--step-3)}
  .foot-top{grid-template-columns:1fr 1fr}
  .prose{font-size:1.0625rem}
  .foot-top>div:last-child{grid-column:1/-1}
  .foot-top a{overflow-wrap:anywhere}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .hero-net .stroke{stroke-dashoffset:0}
  .hero-net .dot{transform:none}
  .hero-net .links,.hero-net .nodes{opacity:1}
  .fill-text .w{color:#fff}
}
