/* BluePeak Consulting Group — design tokens */
:root{
  --bg:#F5F3EE;          /* warm ivory */
  --surface:#FFFFFF;
  --surface-2:#ECE9E2;
  --fg:#0F1B2B;          /* midnight */
  --muted:#4F5B6A;
  --border:#D6D2C8;
  --primary:#0F1B2B;
  --primary-ink:#F5F3EE;
  --accent:#3E6E98;      /* glacier steel blue */
  --accent-soft:#9DBAD3;
  --destructive:#A3342B;
  --success:#2F6B4F;

  --font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;
  --font-body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;

  --display-xl:clamp(2.9rem, 6.4vw, 5.6rem);
  --display-lg:clamp(2.3rem, 4.6vw, 4rem);
  --h1:clamp(2rem, 3.6vw, 3rem);
  --h2:clamp(1.65rem, 2.6vw, 2.25rem);
  --h3:1.375rem;
  --h4:1.125rem;
  --body-lg:1.1875rem;
  --body:1rem;
  --body-sm:.9rem;
  --caption:.8125rem;
  --label:.75rem;

  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4rem;--s9:6rem;--s10:8rem;
  --radius:2px;
  --max:1240px;
  --gutter:clamp(1rem, 4vw, 3rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}
.skip{position:absolute;left:-999px;top:0;background:var(--fg);color:var(--bg);padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.label{font-size:var(--label);letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.display{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.02}
.display em{font-style:italic;color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.85rem 1.4rem;font:600 .9375rem/1 var(--font-body);letter-spacing:.01em;text-decoration:none;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn-primary{background:var(--primary);color:var(--primary-ink)}
.btn-primary:hover{background:var(--accent)}
.btn-ghost{border-color:var(--fg);color:var(--fg);background:transparent}
.btn-ghost:hover{background:var(--fg);color:var(--bg)}
.btn-light{background:var(--bg);color:var(--fg)}
.btn-light:hover{background:var(--accent-soft)}
.arrow{transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}
.link{font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.link:hover{color:var(--accent)}

/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(245,243,238,.86);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}
.header.scrolled{border-bottom-color:var(--border)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.logo svg{width:34px;height:34px}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-text b{font-family:var(--font-display);font-weight:400;font-size:1.45rem;letter-spacing:.005em}
.logo-text small{font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:600}
.nav{display:flex;align-items:center;gap:2.2rem}
.nav a:not(.btn){text-decoration:none;font-size:.9375rem;font-weight:500;color:var(--muted);transition:color .2s}
.nav a:not(.btn):hover{color:var(--fg)}
.menu-btn{display:none;background:none;border:0;width:48px;height:48px;margin-right:-12px;cursor:pointer;color:var(--fg)}
.menu-btn span{display:block;width:22px;height:1.5px;background:currentColor;margin:6px auto;transition:transform .3s var(--ease),opacity .2s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
.mobile-nav{display:none}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6);align-items:stretch;min-height:min(84vh,760px);padding-top:var(--s8);padding-bottom:var(--s8)}
.hero-copy{grid-column:1 / span 7;display:flex;flex-direction:column;justify-content:center}
.hero-copy .label{margin-bottom:var(--s6);display:flex;align-items:center;gap:.8rem}
.hero-copy .label::before{content:"";width:32px;height:1px;background:var(--accent)}
.hero h1{font-size:var(--display-xl);max-width:12ch}
.hero-lede{font-size:var(--body-lg);color:var(--muted);max-width:40ch;margin-top:var(--s6);line-height:1.6}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s7)}
.hero-trust{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--border);display:flex;gap:var(--s6);flex-wrap:wrap;font-size:var(--body-sm);color:var(--muted)}
.hero-trust span{display:flex;align-items:center;gap:.5rem}
.hero-trust span::before{content:"";width:5px;height:5px;background:var(--accent);transform:rotate(45deg)}
.hero-art{margin:0;grid-column:8 / span 5;position:relative;background:var(--primary);color:var(--accent-soft);border-radius:var(--radius);overflow:hidden;min-height:420px}
.hero-art svg.topo{overflow:visible;position:absolute;inset:-10% -25% -10% -15%;width:140%;height:120%}
.topo path{fill:none;stroke:currentColor;stroke-width:1.1;opacity:.55}
.topo path:nth-child(-n+3){opacity:.95;stroke:#E8EEF3}
.topo .summit{fill:#E8EEF3;stroke:none;opacity:1}
.hero-art figcaption{position:absolute;left:var(--s5);right:var(--s5);bottom:var(--s5);display:flex;justify-content:space-between;align-items:end;gap:1rem;color:#C9D6E2;font-size:var(--caption);letter-spacing:.04em}
.hero-art figcaption b{font-family:var(--font-display);font-weight:400;font-size:1.5rem;color:#F5F3EE;letter-spacing:0;line-height:1.15;max-width:14ch}
.coord{font-variant-numeric:tabular-nums;opacity:.8;text-align:right;white-space:nowrap}

/* Sections */
section{scroll-margin-top:84px}
.section{padding:var(--s10) 0}
.section-head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6);margin-bottom:var(--s8)}
.section-head .label{grid-column:1 / span 3;padding-top:.6rem}
.section-head h2{grid-column:4 / span 8;font-size:var(--display-lg)}
.section-head p:not(.label){grid-column:4 / span 6;color:var(--muted);font-size:var(--body-lg);margin-top:var(--s4)}

/* Positioning */
.position{border-top:1px solid var(--border)}
.position-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6)}
.position-grid .label{grid-column:1 / span 3;padding-top:.9rem}
.statement{grid-column:4 / span 9;font-family:var(--font-display);font-size:var(--h1);line-height:1.2;letter-spacing:-.005em}
.statement .dim{color:#8A93A0}
.path{grid-column:4 / span 9;display:grid;grid-template-columns:repeat(3,1fr);margin-top:var(--s8);border-top:1px solid var(--fg)}
.path div{padding:var(--s5) var(--s5) 0 0}
.path div + div{padding-left:var(--s5);border-left:1px solid var(--border)}
.path dt{font-family:var(--font-display);font-size:var(--h2);line-height:1.1}
.path dd{margin:var(--s2) 0 0;color:var(--muted);font-size:var(--body-sm);max-width:28ch}
.path .step{font-size:var(--label);letter-spacing:.16em;font-weight:600;color:var(--accent);display:block;margin-bottom:var(--s3)}

/* Services */
.services{background:var(--surface)}
.service{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6);padding:var(--s7) 0;border-top:1px solid var(--border);align-items:start}
.service:last-child{border-bottom:1px solid var(--border)}
.service-num{grid-column:1 / span 1;font-family:var(--font-display);font-size:1.5rem;color:var(--accent);line-height:1}
.service-cat{grid-column:2 / span 3;font-weight:600;font-size:var(--h4);line-height:1.3;padding-top:.15rem}
.service-body{grid-column:5 / span 5}
.service-body h3{font-family:var(--font-display);font-size:var(--h2);line-height:1.12}
.service-body p{color:var(--muted);margin-top:var(--s4);max-width:46ch}
.service-caps{grid-column:10 / span 3;font-size:var(--body-sm);color:var(--muted);padding-top:.35rem}
.service-caps li{padding:.35rem 0;border-bottom:1px solid var(--surface-2)}
.service-caps li:last-child{border-bottom:0}
.service{transition:background .35s var(--ease)}
@media (hover:hover){.service:hover .service-body h3{color:var(--accent)}}

/* Approach — elevation profile */
.approach{background:var(--primary);color:var(--primary-ink)}
.approach .label{color:var(--accent-soft)}
.approach .section-head p:not(.label){color:#B7C2CE}
.profile{position:relative;margin-top:var(--s6)}
.profile svg{width:100%;height:auto;color:var(--accent-soft)}
.profile .ridge{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}
.profile .fill{fill:url(#ridgeFill)}
.profile .base{stroke:#33465C;stroke-width:1;vector-effect:non-scaling-stroke}
.profile .mark{fill:var(--primary);stroke:#E8EEF3;stroke-width:1.5;vector-effect:non-scaling-stroke}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6);margin-top:var(--s6)}
.steps li{border-top:1px solid #33465C;padding-top:var(--s5)}
.steps .n{font-size:var(--label);letter-spacing:.16em;font-weight:600;color:var(--accent-soft)}
.steps h3{font-family:var(--font-display);font-size:var(--h2);margin-top:var(--s3);line-height:1.1}
.steps p{color:#B7C2CE;font-size:var(--body-sm);margin-top:var(--s3);max-width:30ch}

/* Principles */
.principles{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6)}
.principles-intro{grid-column:1 / span 4}
.principles-intro h2{font-size:var(--display-lg)}
.principles-intro p:not(.label){color:var(--muted);margin-top:var(--s5);font-size:var(--body-lg);max-width:30ch}
.principles-list{grid-column:6 / span 7}
.principle{display:grid;grid-template-columns:3rem 1fr;gap:var(--s4);padding:var(--s5) 0;border-top:1px solid var(--border)}
.principle:last-child{border-bottom:1px solid var(--border)}
.principle svg{width:22px;height:22px;color:var(--accent);margin-top:.3rem}
.principle h3{font-size:var(--h4);font-weight:600}
.principle p{color:var(--muted);margin-top:var(--s2)}

/* Who */
.who{background:var(--surface-2)}
.who-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6);align-items:end}
.who-grid h2{grid-column:1 / span 6;font-size:var(--display-lg)}
.who-grid > p{grid-column:8 / span 5;color:var(--muted);font-size:var(--body-lg)}
.profiles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:var(--s8);border-top:1px solid var(--fg)}
.profiles li{padding:var(--s5) var(--s5) var(--s5) 0;border-bottom:1px solid var(--border);display:flex;gap:var(--s4);align-items:baseline}
.profiles li:nth-child(3n+2),.profiles li:nth-child(3n){padding-left:var(--s5);border-left:1px solid var(--border)}
.profiles .n{font-family:var(--font-display);color:var(--accent);font-size:1.1rem;min-width:1.6rem}
.profiles b{font-weight:600;display:block}
.profiles span.d{color:var(--muted);font-size:var(--body-sm);display:block;margin-top:.25rem}

/* About */
.about-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6)}
.about-grid .label{grid-column:1 / span 3;padding-top:.6rem}
.about-main{grid-column:4 / span 5}
.about-main h2{font-size:var(--h1);font-family:var(--font-display);line-height:1.15}
.about-main p{color:var(--muted);margin-top:var(--s5);font-size:var(--body-lg)}
.models{grid-column:10 / span 3;align-self:start;border-left:1px solid var(--border);padding-left:var(--s5)}
.models h3{font-size:var(--label);letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:var(--s4)}
.models li{padding:var(--s3) 0;border-bottom:1px solid var(--border)}
.models li:last-child{border-bottom:0}
.models b{display:block;font-weight:600;font-size:.95rem}
.models span{display:block;color:var(--muted);font-size:var(--body-sm);margin-top:.15rem}

/* CTA */
.cta{background:var(--accent);color:#fff;position:relative;overflow:hidden}
.cta .wrap{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6);align-items:end;padding-top:var(--s9);padding-bottom:var(--s9)}
.cta h2{grid-column:1 / span 8;font-size:var(--display-lg);font-family:var(--font-display);line-height:1.05}
.cta-side{grid-column:9 / span 4;display:flex;flex-direction:column;gap:var(--s5);align-items:flex-start}
.cta-side p{color:#E6EEF5}
.cta svg.bg{position:absolute;right:-8%;top:-30%;width:60%;height:160%;color:#fff;opacity:.13;pointer-events:none}
.cta svg.bg path{fill:none;stroke:currentColor;stroke-width:1}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6)}
.contact-info{grid-column:1 / span 4}
.contact-info h2{font-size:var(--display-lg);font-family:var(--font-display);line-height:1.05}
.contact-info > p:not(.label){color:var(--muted);margin-top:var(--s5);max-width:32ch}
.contact-list{margin-top:var(--s7);border-top:1px solid var(--border)}
.contact-list li{padding:var(--s4) 0;border-bottom:1px solid var(--border)}
.contact-list .label{display:block;margin-bottom:.25rem}
.contact-list a{text-decoration:none;font-weight:600;font-size:1.05rem;word-break:break-word}
.contact-list a:hover{color:var(--accent)}
.form{grid-column:6 / span 7;background:var(--surface);border:1px solid var(--border);padding:clamp(1.5rem,3vw,3rem);border-radius:var(--radius)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5) var(--s5)}
.field{display:flex;flex-direction:column;gap:.45rem}
.field.full{grid-column:1 / -1}
.field label{font-size:var(--body-sm);font-weight:600}
.field label .opt{color:var(--muted);font-weight:400}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem;min-height:48px;width:100%;transition:border-color .2s,background .2s}
.field textarea{min-height:140px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%230F1B2B' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#B5B0A4}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(62,110,152,.18)}
.field [aria-invalid="true"]{border-color:var(--destructive)}
.err{color:var(--destructive);font-size:var(--caption);min-height:0}
.err:empty{display:none}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:var(--s6)}
.form-foot small{color:var(--muted);font-size:var(--caption);max-width:34ch}
.btn[disabled]{opacity:.65;cursor:progress}
.status{margin-top:var(--s5);padding:var(--s4) var(--s5);border-left:3px solid var(--success);background:#EEF4F0;font-size:var(--body-sm)}
.status.error{border-color:var(--destructive);background:#F8ECEA}
.status[hidden]{display:none}

/* Footer */
.footer{background:var(--primary);color:#B7C2CE;padding:var(--s9) 0 var(--s6);font-size:var(--body-sm)}
.footer-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s6)}
.footer .brand{grid-column:1 / span 5}
.footer .brand p{margin-top:var(--s5);max-width:34ch}
.footer .logo-text b{color:var(--primary-ink)}
.footer .logo-text small{color:#8C9AAA}
.footer h3{font-size:var(--label);letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#8C9AAA;margin-bottom:var(--s4)}
.footer .col{grid-column:span 2}
.footer .col.wide{grid-column:span 3}
.footer li{padding:.3rem 0}
.footer a{text-decoration:none;color:#DCE3EA}
.footer a:hover{color:#fff;text-decoration:underline}
.footer-bottom{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid #2A3A4D;display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s4);color:#8C9AAA;font-size:var(--caption)}

/* Reveal motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line > span{display:block;transform:translateY(105%);transition:transform .9s var(--ease)}
.loaded .hero h1 .line > span{transform:none}
.loaded .hero h1 .line:nth-child(2) > span{transition-delay:.08s}
.loaded .hero h1 .line:nth-child(3) > span{transition-delay:.16s}
.no-js .hero h1 .line > span{transform:none}
.topo path{stroke-dasharray:var(--len,2400);stroke-dashoffset:var(--len,2400);transition:stroke-dashoffset 2.4s var(--ease)}
.loaded .topo path{stroke-dashoffset:0}
.no-js .topo path{stroke-dashoffset:0}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .hero h1 .line > span{transform:none}
  .topo path{stroke-dashoffset:0}
}

/* Legal page */
.legal{max-width:760px;margin:0 auto;padding:var(--s9) var(--gutter)}
.legal h1{font-family:var(--font-display);font-size:var(--h1)}
.legal h2{font-size:var(--h4);font-weight:600;margin-top:var(--s7)}
.legal p,.legal li{color:var(--muted);margin-top:var(--s3)}
.legal ul{list-style:disc;padding-left:1.25rem}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .service-cat{grid-column:2 / span 4}
  .service-body{grid-column:2 / span 7;grid-row:2}
  .service-caps{grid-column:9 / span 4;grid-row:2}
  .principles-intro{grid-column:1 / span 5}
  .principles-list{grid-column:6 / span 7}
}
@media (max-width:960px){
  .nav{display:none}
  .menu-btn{display:block}
  .mobile-nav{display:block;position:fixed;inset:76px 0 0 0;background:var(--bg);padding:var(--s6) var(--gutter);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s;z-index:49;overflow-y:auto}
  .mobile-nav.open{opacity:1;transform:none;visibility:visible;transition:opacity .25s var(--ease),transform .25s var(--ease)}
  .mobile-nav a:not(.btn){display:flex;justify-content:space-between;align-items:center;min-height:64px;font-family:var(--font-display);font-size:2rem;text-decoration:none;border-bottom:1px solid var(--border)}
  .mobile-nav .btn{width:100%;margin-top:var(--s6)}
  .mobile-nav .mn-contact{margin-top:var(--s6);color:var(--muted);font-size:var(--body-sm)}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:var(--s7);padding-top:var(--s7)}
  .hero-copy,.hero-art{grid-column:1 / -1}
  .hero-art{min-height:340px}
  .section{padding:var(--s9) 0}
  .section-head,.position-grid,.about-grid,.who-grid,.principles,.contact-grid,.cta .wrap,.footer-grid{grid-template-columns:1fr}
  .section-head > *,.position-grid > *,.about-grid > *,.who-grid > *,.principles > *,.contact-grid > *,.cta .wrap > *{grid-column:1 / -1!important}
  .section-head{margin-bottom:var(--s7);gap:var(--s4)}
  .section-head p:not(.label){margin-top:0}
  .position-grid .label,.about-grid .label{padding-top:0}
  .steps{grid-template-columns:1fr 1fr}
  .models{border-left:0;padding-left:0;border-top:1px solid var(--fg);padding-top:var(--s5)}
  .profiles{grid-template-columns:1fr 1fr}
  .profiles li:nth-child(n){padding-left:0;border-left:0}
  .profiles li:nth-child(2n){padding-left:var(--s5);border-left:1px solid var(--border)}
  .footer .brand,.footer .col,.footer .col.wide{grid-column:1 / -1}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer .brand{grid-column:1 / -1}
  .footer .col,.footer .col.wide{grid-column:span 1}
}
@media (max-width:720px){
  .service{grid-template-columns:2.5rem 1fr;gap:var(--s3) var(--s4);padding:var(--s6) 0}
  .service-num{grid-column:1;grid-row:1}
  .service-cat{grid-column:2;grid-row:1;font-size:var(--body-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
  .service-body{grid-column:1 / -1;grid-row:2}
  .service-caps{grid-column:1 / -1;grid-row:3;display:flex;flex-wrap:wrap;gap:.4rem;padding-top:var(--s2)}
  .service-caps li{border:1px solid var(--border);padding:.3rem .6rem;border-radius:var(--radius);font-size:var(--caption)}
  .path{grid-template-columns:1fr;border-top:0}
  .path div,.path div + div{padding:var(--s5) 0;border-left:0;border-top:1px solid var(--border)}
  .path div:first-child{border-top:1px solid var(--fg)}
  .profile{display:none}
  .steps{grid-template-columns:1fr;gap:0;position:relative;margin-top:0}
  .steps li{padding:var(--s5) 0 var(--s5) var(--s6);border-top:0;border-left:1px solid #33465C;position:relative}
  .steps li::before{content:"";position:absolute;left:-6px;top:1.6rem;width:11px;height:11px;border:1.5px solid #E8EEF3;background:var(--primary);transform:rotate(45deg)}
  .profiles{grid-template-columns:1fr}
  .profiles li:nth-child(n){padding-left:0;border-left:0}
  .form-grid{grid-template-columns:1fr}
  .form-foot .btn{width:100%}
  .hero-cta .btn{flex:1 1 100%}
  .hero-trust{gap:var(--s3) var(--s5);margin-top:var(--s7)}
  .footer-grid{grid-template-columns:1fr}
  .footer .col,.footer .col.wide{grid-column:1 / -1}
}
