/* SEO Audit Pro — shared styles (used by every page) */
:root{
  --navy:#0A1530;
  --navy-2:#12224A;
  --cyan:#22E5D6;
  --cyan-soft:#D9FBF8;
  --paper:#F2F5F9;
  --white:#FFFFFF;
  --mute:#5A6884;
  --mute-on-navy:#9FB0D0;
  --line:rgba(10,21,48,.14);
  --line-on-navy:rgba(255,255,255,.16);
  --high:#FF5A4E;
  --mid:#FFB020;
  --low:#12B76A;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1240px;
  --pad:clamp(20px,4vw,48px);
  --sec:clamp(72px,10vw,140px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.6;color:var(--navy);background:var(--paper);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:4px}
.on-navy :focus-visible,.navy :focus-visible{outline-color:var(--cyan)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;z-index:200}
.skip:focus{top:12px}

/* ---------- Display type ---------- */
.display{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:.9}
.outline{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.92;color:transparent;-webkit-text-stroke:1.5px currentColor;letter-spacing:.005em}

.sec-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,64px);align-items:start;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{font-size:clamp(3rem,7.4vw,6.6rem)}
.sec-head .outline{font-size:clamp(2rem,4.6vw,4.2rem);text-align:right;justify-self:end;max-width:18ch;color:transparent;-webkit-text-stroke-color:var(--mute)}
.navy .sec-head .outline{-webkit-text-stroke-color:var(--mute-on-navy)}
@media(max-width:820px){
  .sec-head{grid-template-columns:1fr;gap:12px}
  .sec-head .outline{text-align:left;justify-self:start;max-width:none}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;font-weight:600;font-size:16px;line-height:1;border:2px solid var(--navy);background:var(--navy);color:#fff;transition:background .2s,color .2s,transform .2s,border-color .2s}
.btn:hover{background:transparent;color:var(--navy)}
.btn svg{width:18px;height:18px;transition:transform .2s}
.btn:hover svg{transform:translateX(4px)}
.btn--ghost{background:transparent;color:var(--navy)}
.btn--ghost:hover{background:var(--navy);color:#fff}
.btn--cyan{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}
.btn--cyan:hover{background:transparent;color:var(--cyan)}
.navy .btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.navy .btn--ghost:hover{background:#fff;color:var(--navy);border-color:#fff}

/* ---------- Ticker + header ---------- */
.ticker{background:var(--navy);color:#fff;overflow:hidden;font-size:14px;font-weight:500}
.ticker__track{display:flex;gap:56px;width:max-content;padding:10px 0;animation:tick 38s linear infinite}
.ticker__track span{display:inline-flex;align-items:center;gap:56px;white-space:nowrap}
.ticker__track span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan)}
@keyframes tick{to{transform:translateX(-50%)}}

.header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}
.header__in{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:inline-flex;align-items:center;gap:12px}
.logo__mark{width:42px;height:42px;flex:none}
.logo__text{font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:.85;text-transform:uppercase;letter-spacing:.01em}
.logo__text small{display:block;font-family:var(--body);font-weight:500;font-size:.72rem;letter-spacing:.02em;text-transform:none;color:var(--mute);margin-top:4px}
.menu-btn{display:inline-flex;align-items:center;gap:12px;background:none;border:0;padding:8px 0;font-weight:600}
.menu-btn__bars{display:grid;gap:6px;width:30px}
.menu-btn__bars i{display:block;height:2px;background:var(--navy)}
.menu-btn__bars i:last-child{width:70%;justify-self:end}

.overlay{position:fixed;inset:0;z-index:150;background:var(--navy);color:#fff;display:none;flex-direction:column;padding:var(--pad);overflow:auto}
.overlay.is-open{display:flex}
.overlay__top{display:flex;justify-content:space-between;align-items:center;height:60px}
.overlay .logo__text small{color:var(--mute-on-navy)}
.overlay__close{background:none;border:1px solid var(--line-on-navy);border-radius:999px;padding:10px 20px;color:#fff;font-weight:600}
.overlay nav{margin:auto 0;display:grid;gap:4px}
.overlay nav a{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(3.2rem,10vw,7rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px #fff;transition:color .2s}
.overlay nav a:hover,.overlay nav a[aria-current="page"]{color:var(--cyan);-webkit-text-stroke-color:var(--cyan)}
.overlay__foot{color:var(--mute-on-navy);font-size:15px}

/* ---------- Hero carousel ---------- */
.hero{background:var(--cyan);position:relative;overflow:hidden}
.hero__slides{display:grid}
.slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.slide.is-active{opacity:1;visibility:visible}
.slide__in{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:32px;min-height:clamp(520px,78vh,760px);padding-block:clamp(48px,7vw,96px) 120px}
.slide h1,.slide h2{font-size:clamp(3.4rem,9.4vw,9rem)}
.slide .btn{margin-top:clamp(28px,4vw,48px)}
.slide__art{justify-self:end;width:min(100%,430px)}
.slide__art svg{width:100%;height:auto}
.hero__ctrl{position:absolute;left:0;right:0;bottom:36px}
.hero__ctrl .wrap{display:flex;align-items:center;gap:14px}
.round{width:52px;height:52px;border-radius:50%;border:2px solid var(--navy);background:transparent;display:grid;place-items:center;transition:background .2s,color .2s}
.round:hover{background:var(--navy);color:var(--cyan)}
.round svg{width:20px;height:20px}
.dots{display:flex;gap:10px;margin-left:12px}
.dots button{width:12px;height:12px;border-radius:50%;border:2px solid var(--navy);background:transparent;padding:0}
.dots button[aria-current="true"]{background:var(--navy);width:34px;border-radius:999px}
@media(max-width:820px){
  .slide__in{grid-template-columns:1fr;min-height:560px;padding-bottom:130px}
  .slide__art{display:none}
}

/* ---------- Sections ---------- */
.section{padding-block:var(--sec)}
.navy{background:var(--navy);color:#fff}

/* Talk or action */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.duo__card{display:grid;gap:22px}
.duo__art{aspect-ratio:16/10;border-radius:20px;background:var(--navy-2);border:1px solid var(--line-on-navy);display:grid;place-items:center;overflow:hidden}
.duo__art svg{width:78%;height:auto}
.duo__card h3{font-size:1.35rem;font-weight:600}
.duo__card p{color:var(--mute-on-navy);max-width:46ch}
@media(max-width:820px){.duo{grid-template-columns:1fr}}

/* Service carousel */
.services{overflow:hidden}
.services__rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 8px;scrollbar-width:none;margin:0}
.services__rail::-webkit-scrollbar{display:none}
.svc{flex:0 0 min(440px,84vw);scroll-snap-align:start;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:64px;min-height:380px;transition:border-color .2s,transform .2s}
.svc:hover{border-color:var(--navy)}
.svc__top{display:flex;align-items:center;gap:18px}
.svc__ico{width:56px;height:56px;flex:none;color:var(--navy)}
.svc h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:2.2rem;line-height:1}
.svc p{color:var(--mute);margin-top:auto;max-width:34ch}
.svc__go{display:flex;justify-content:space-between;align-items:center;font-weight:600;border-top:1px solid var(--line);padding-top:18px;margin-top:-30px}
.svc__go span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cyan)}
.svc__go svg{width:18px;height:18px}
.rail-ctrl{display:flex;align-items:center;gap:14px;margin-top:32px}
.rail-ctrl .round{border-color:var(--navy)}

/* Success stories */
.quote{display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(24px,4vw,56px);align-items:center;margin-bottom:clamp(36px,5vw,56px)}
.quote__art{aspect-ratio:4/3;border-radius:20px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 60%,#1B3A7A 100%);position:relative;overflow:hidden}
.quote__art svg{position:absolute;inset:0;width:100%;height:100%}
.quote blockquote{margin:0}
.quote__mark{font-family:var(--display);font-weight:800;font-size:8rem;line-height:.6;color:var(--cyan);height:60px}
.quote blockquote p{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.02;margin:18px 0 26px}
.quote__by{display:flex;align-items:center;gap:14px}
.avatar{width:52px;height:52px;border-radius:12px;background:var(--navy);color:var(--cyan);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.6rem}
.quote__by b{display:block}
.quote__by span{color:var(--mute);font-size:14px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:56px}
.stat{border-radius:24px;padding:32px;display:grid;gap:20px;align-content:space-between;min-height:290px;background:var(--white);border:1px solid var(--line)}
.stat--navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.stat--cyan{background:var(--cyan);border-color:var(--cyan)}
.stat__label{font-weight:500;max-width:22ch}
.stat__num{font-family:var(--display);font-weight:800;font-size:clamp(4.5rem,8vw,7.5rem);line-height:.85}
.stat p{font-size:15px;opacity:.8;max-width:30ch}
@media(max-width:900px){.stats{grid-template-columns:1fr}.quote{grid-template-columns:1fr}.stat{min-height:0}}

.tabs{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:22px;margin-bottom:28px;flex-wrap:wrap}
.tabs p{width:100%;font-size:15px;color:var(--mute)}
.tab{background:none;border:0;padding:4px 0 8px;font-weight:500;color:var(--mute);border-bottom:2px solid transparent}
.tab[aria-selected="true"]{color:var(--navy);border-color:var(--navy)}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-bottom:48px}
.case{display:grid;gap:14px}
.case[hidden]{display:none}
.case:nth-child(3){grid-column:2}
.case__art{aspect-ratio:16/10;border-radius:20px;overflow:hidden;position:relative;background:var(--navy)}
.case__art svg{position:absolute;inset:0;width:100%;height:100%}
.case h3{font-size:1.5rem;font-weight:600;line-height:1.2}
.case p{color:var(--mute);font-size:15px}
.bottomline{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:32px}
.navy .bottomline{border-color:var(--line-on-navy)}
.bottomline p{max-width:46ch;color:var(--mute)}
.navy .bottomline p{color:var(--mute-on-navy)}
.bottomline div{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:700px){.cases{grid-template-columns:1fr}.case:nth-child(3){grid-column:auto}}

/* Placeholders the client must fill */
.ph{background:repeating-linear-gradient(-45deg,rgba(255,176,32,.28) 0 6px,rgba(255,176,32,.14) 6px 12px);border-radius:4px;padding:0 4px}

/* Why choose us */
.why{display:grid;grid-template-columns:1fr .8fr;gap:48px;align-items:center}
.why ol{list-style:none;margin:0;padding:0;counter-reset:w}
.why li{counter-increment:w;display:grid;grid-template-columns:56px 1fr;gap:6px 12px;padding:22px 0;border-bottom:1px solid var(--line-on-navy)}
.why li::before{content:counter(w);font-family:var(--display);font-weight:800;font-size:2.2rem;line-height:1;color:var(--cyan);grid-row:span 2}
.why li h3{font-size:1.35rem;font-weight:600}
.why li p{color:var(--mute-on-navy);max-width:52ch}
.why__art{justify-self:center;width:min(100%,420px)}
.why__art svg{width:100%;height:auto}
@media(max-width:900px){.why{grid-template-columns:1fr}.why__art{display:none}}

/* Blog */
.posts{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.post{display:grid;gap:14px}
.post__art{aspect-ratio:16/10;border-radius:20px;overflow:hidden;position:relative;background:var(--navy)}
.post__art svg{position:absolute;inset:0;width:100%;height:100%}
.post small{color:var(--mute);font-size:14px}
.post h3{font-size:1.5rem;font-weight:600;line-height:1.2}
.post p{color:var(--mute);font-size:15px}
.post a:hover h3{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.posts{grid-template-columns:1fr}}

/* Form */
.form-card{background:var(--white);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,48px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.field{display:grid;gap:8px}
.field--full{grid-column:1/-1}
.field label{font-size:14px;color:var(--mute);font-weight:500}
.field input,.field select,.field textarea{font:inherit;color:var(--navy);width:100%;border:0;border-bottom:1.5px solid var(--line);background:transparent;padding:12px 2px;border-radius:0}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy)}
.form-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:32px}
.form-foot .display{font-size:2.4rem;background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:14px}
.form-foot .display svg{width:32px;height:32px;color:var(--cyan);background:var(--navy);border-radius:50%;padding:7px}
.form-msg{font-size:15px;min-height:1.4em}
.form-msg.ok{color:#0B7A47}.form-msg.err{color:#C22B20}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}

/* Footer */
.footer{background:var(--navy);color:#fff;padding-top:clamp(56px,7vw,88px)}
.footer a{transition:color .2s}
.footer a:hover{color:var(--cyan)}
.footer .logo__text small{color:var(--mute-on-navy)}
.footer__top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line-on-navy);color:var(--mute-on-navy);font-size:15px}
.footer__top a{color:#fff}
.footer__cta{padding:clamp(48px,7vw,88px) 0 48px;display:grid;gap:28px;justify-items:start}
.footer__cta h2{font-size:clamp(3.4rem,9vw,8rem)}
.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:40px 0;border-top:1px solid var(--line-on-navy)}
.footer__cols h4{font-size:1.1rem;font-weight:600;margin-bottom:14px}
.footer__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:var(--mute-on-navy);font-size:15px}
.footer__copy{padding:24px 0 36px;color:var(--mute-on-navy);font-size:14px;border-top:1px solid var(--line-on-navy)}
@media(max-width:700px){.footer__cols{grid-template-columns:1fr 1fr}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ticker__track{animation:none}
  .slide{transition:none}
  *{transition-duration:.01ms!important}
}

/* =====================================================
   SEO AUDIT PAGE
   ===================================================== */
.pg-hero{padding:clamp(56px,8vw,110px) 0 clamp(40px,6vw,72px)}
.pg-hero__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,64px);align-items:end}
.pg-hero h1{font-size:clamp(3.4rem,8.6vw,8.2rem)}
.pg-hero .outline{font-size:clamp(1.8rem,3.6vw,3.2rem);margin-top:18px;-webkit-text-stroke-color:var(--mute);max-width:20ch}
.pg-hero__side{display:grid;gap:26px}
.pg-hero__side p{color:var(--mute);max-width:44ch}
.pg-hero__btns{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.pg-hero__grid{grid-template-columns:1fr}}

.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(36px,5vw,64px)}
.fact{padding:26px 24px 26px 0;border-right:1px solid var(--line)}
.fact:not(:first-child){padding-left:24px}
.fact:last-child{border-right:0}
.fact b{display:block;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1}
.fact span{color:var(--mute);font-size:15px}
@media(max-width:800px){
  .facts{grid-template-columns:1fr 1fr}
  .fact{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}
}

/* In-page sub navigation */
.subnav{position:sticky;top:76px;z-index:90;background:var(--navy);color:#fff}
.subnav__in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:10px 18px;border-radius:999px;font-size:15px;font-weight:500;color:var(--mute-on-navy);transition:background .2s,color .2s}
.subnav a:hover{color:#fff}
.subnav a.is-on{background:var(--cyan);color:var(--navy)}
[id]{scroll-margin-top:150px}

/* Analysis blocks */
.area{padding-block:clamp(56px,8vw,104px);border-top:1px solid var(--line)}
.area:first-of-type{border-top:0}
.area__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,80px);align-items:start}
.area__lead{position:sticky;top:170px;display:grid;gap:22px}
.area__ico{width:64px;height:64px;color:var(--navy)}
.area h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(2.8rem,5.6vw,5rem);line-height:.92}
.area__lead p{color:var(--mute);max-width:40ch}
.area__note{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;background:var(--cyan-soft);border-radius:999px;padding:10px 18px;width:max-content;max-width:100%}
.checks{list-style:none;margin:0;padding:0;background:var(--white);border:1px solid var(--line);border-radius:24px}
.checks li{display:grid;grid-template-columns:36px 1fr;gap:4px 14px;padding:22px 28px;border-bottom:1px solid var(--line)}
.checks li:last-child{border-bottom:0}
.checks svg{width:28px;height:28px;padding:5px;border-radius:50%;background:var(--cyan);color:var(--navy);grid-row:span 2;margin-top:2px}
.checks b{font-weight:600;font-size:1.05rem}
.checks span{color:var(--mute);font-size:15.5px}
@media(max-width:900px){.area__grid{grid-template-columns:1fr}.area__lead{position:static}}

/* What you receive */
.recv{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px}
.prio{display:grid;gap:14px}
.prio__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding:22px 26px;border-radius:20px;background:var(--navy-2);border:1px solid var(--line-on-navy)}
.dot{width:16px;height:16px;border-radius:50%;flex:none}
.dot--high{background:var(--high)}.dot--mid{background:var(--mid)}.dot--low{background:var(--low)}
.prio__row b{display:block;font-size:1.15rem;font-weight:600}
.prio__row span{color:var(--mute-on-navy);font-size:15px}
.walk{border-radius:24px;background:var(--cyan);color:var(--navy);padding:clamp(26px,3.4vw,40px);display:grid;gap:18px;align-content:space-between}
.walk b{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,6vw,5.4rem);line-height:.9;display:block;overflow-wrap:anywhere}
.walk p{max-width:34ch}
.fmt{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-on-navy);border-radius:20px;overflow:hidden}
.fmt div{padding:22px 24px;border-right:1px solid var(--line-on-navy)}
.fmt div:last-child{border-right:0}
.fmt small{display:block;color:var(--mute-on-navy);font-size:14px;margin-bottom:4px}
.fmt b{font-weight:600}
.fmt-title{margin-top:44px;font-size:1.05rem;color:var(--mute-on-navy)}
@media(max-width:900px){.recv{grid-template-columns:minmax(0,1fr)}.fmt{grid-template-columns:1fr 1fr}.fmt div{border-bottom:1px solid var(--line-on-navy)}}

/* Sample findings */
.find-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.find{background:var(--white);border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.find__tag{display:flex;align-items:center;gap:10px;padding:16px 24px;font-weight:600;font-size:15px}
.find--high .find__tag{background:#FFE7E4}.find--mid .find__tag{background:#FFF1D6}.find--low .find__tag{background:#D8F5E7}
.find dl{margin:0;padding:8px 24px 24px;display:grid}
.find dt{font-size:14px;color:var(--mute);margin-top:18px}
.find dd{margin:4px 0 0;font-weight:500}
.find dd.plain{font-weight:400}
.sample-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.sample-cta p{color:var(--mute);max-width:56ch;font-size:15px}
@media(max-width:960px){.find-grid{grid-template-columns:1fr}}

/* Roadmap timeline (a true sequence) */
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.road__step{padding:0 28px 0 0;position:relative}
.road__step::before{content:"";display:block;height:3px;background:var(--navy);margin-bottom:34px}
.road__step::after{content:"";position:absolute;left:0;top:-9px;width:21px;height:21px;border-radius:50%;background:var(--cyan);border:3px solid var(--navy)}
.road__days{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(2.6rem,4.4vw,4rem);line-height:.95}
.road__step h3{font-size:1.25rem;font-weight:600;margin:12px 0 10px}
.road__step ul{margin:0;padding-left:20px;color:var(--mute);display:grid;gap:8px}
.road__foot{margin-top:40px;color:var(--mute);max-width:60ch;font-size:15px}
@media(max-width:800px){
  .road{grid-template-columns:1fr;gap:40px}
  .road__step{padding:0 0 0 34px;border-left:3px solid var(--navy)}
  .road__step::before{display:none}
  .road__step::after{left:-12px;top:6px}
}

/* Pricing */
.price{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,60px);align-items:center}
.price__num{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(5rem,13vw,12rem);line-height:.82;color:var(--cyan)}
.price__num small{font-size:.32em;color:#fff;margin-left:10px}
.price__lead{color:var(--mute-on-navy);margin-top:18px;max-width:40ch}
.price__card{background:var(--navy-2);border:1px solid var(--line-on-navy);border-radius:28px;padding:clamp(26px,3.4vw,44px);display:grid;gap:22px}
.price__card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.price__card li{display:grid;grid-template-columns:24px 1fr;gap:12px}
.price__card li svg{width:22px;height:22px;color:var(--cyan)}
.price__meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line-on-navy);padding-top:22px}
.price__meta small{display:block;color:var(--mute-on-navy);font-size:14px}
.price__meta b{font-weight:600}
@media(max-width:900px){.price{grid-template-columns:1fr}}

/* Closing CTA band */
.band{background:var(--cyan);padding-block:clamp(56px,8vw,96px)}
.band__in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.band h2{font-size:clamp(2.8rem,7vw,6rem);max-width:14ch}

/* =====================================================
   CASE STUDIES PAGE
   ===================================================== */
.cs{padding-block:clamp(56px,8vw,104px);border-top:1px solid var(--line)}
.cs:first-of-type{border-top:0}
.cs__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start}
.cs__lead{position:sticky;top:170px;display:grid;gap:24px}
.cs__art{aspect-ratio:4/3;border-radius:24px;overflow:hidden;position:relative;background:var(--navy)}
.cs__art svg{position:absolute;inset:0;width:100%;height:100%}
.cs__lead h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(2.8rem,5.4vw,4.8rem);line-height:.92}
.cs__meta{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.cs__meta div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.cs__meta dt{color:var(--mute)}
.cs__meta dd{margin:0;font-weight:500;text-align:right}
.cs__body{display:grid;gap:44px}
.cs__body h4{font-size:1.4rem;font-weight:600;margin-bottom:14px}
.cs__body p{color:var(--mute);max-width:60ch}
.cs__finds{display:grid;gap:12px}
.cs__find{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:20px 24px}
.cs__find .dot{margin-top:7px}
.cs__find b{display:block;font-weight:600}
.cs__find span{color:var(--mute);font-size:15.5px}
.cs__result{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.cs__stat{border-radius:20px;padding:24px;background:var(--navy);color:#fff;display:grid;gap:8px}
.cs__stat:nth-child(2){background:var(--cyan);color:var(--navy)}
.cs__stat b{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(3rem,5vw,4.6rem);line-height:.9}
.cs__stat span{font-size:15px;opacity:.85}
@media(max-width:900px){.cs__grid{grid-template-columns:minmax(0,1fr)}.cs__lead{position:static}.cs__result{grid-template-columns:1fr}}

/* =====================================================
   ABOUT PAGE
   ===================================================== */
.ab{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start}
.ab__photo{aspect-ratio:4/5;border-radius:28px;background:var(--navy);position:relative;overflow:hidden;display:grid;place-items:center}
.ab__photo svg{position:absolute;inset:0;width:100%;height:100%}
.ab__photo span{position:relative;font-family:var(--display);font-weight:800;font-size:clamp(6rem,14vw,11rem);color:var(--cyan);line-height:1}
.ab__text{display:grid;gap:22px}
.ab__text h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,4.6vw,4rem);line-height:.95}
.ab__text p{color:var(--mute);max-width:58ch}
.ab__facts{margin:8px 0 0;border-top:1px solid var(--line)}
.ab__facts div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.ab__facts dt{color:var(--mute)}
.ab__facts dd{margin:0;font-weight:500;text-align:right}
@media(max-width:900px){.ab{grid-template-columns:minmax(0,1fr)}.ab__photo{max-width:420px}}

.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.principle{background:var(--navy-2);border:1px solid var(--line-on-navy);border-radius:24px;padding:32px;display:grid;gap:14px;align-content:start}
.principle svg{width:44px;height:44px;color:var(--cyan)}
.principle h3{font-size:1.35rem;font-weight:600}
.principle p{color:var(--mute-on-navy)}
@media(max-width:900px){.principles{grid-template-columns:minmax(0,1fr)}}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:s}
.steps li{counter-increment:s;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:28px;display:grid;gap:12px;align-content:start}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:800;font-size:4.4rem;line-height:.8;color:var(--navy)}
.steps h3{font-size:1.2rem;font-weight:600}
.steps p{color:var(--mute);font-size:15.5px}
@media(max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.steps{grid-template-columns:minmax(0,1fr)}}

/* =====================================================
   CONTACT PAGE
   ===================================================== */
.ct{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,56px);align-items:start}
.ct__side{display:grid;gap:20px;position:sticky;top:110px}
.ct__card{border-radius:24px;padding:clamp(24px,3vw,36px);display:grid;gap:18px}
.ct__card--navy{background:var(--navy);color:#fff}
.ct__card--cyan{background:var(--cyan)}
.ct__card h3{font-size:1.3rem;font-weight:600}
.ct__list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ct__list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px}
.ct__list svg{width:22px;height:22px;color:var(--cyan)}
.ct__price{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(3.4rem,5vw,4.8rem);line-height:.9}
.ct__lines{display:grid;gap:10px;font-size:15.5px}
.ct__lines div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(10,21,48,.2);padding-bottom:10px}
.ct__lines div:last-child{border-bottom:0;padding-bottom:0}
@media(max-width:900px){.ct{grid-template-columns:minmax(0,1fr)}.ct__side{position:static}}
