/* Kaleidoscope Consulting - shared styles
   Identity kept from the existing site: navy + amber, Fraunces (display) + Inter (text). */

:root{
  --ink:#1B2145; --ink-2:#242B54; --ink-3:#2F3868;
  --paper:#F3F4F7; --white:#FFFFFF;
  --text:#20233B; --slate:#5B6478; --line:#D8DCE6;
  --amber:#C97A2E; --amber-deep:#A85F1E; --amber-soft:#F7EBDD;
  --radius:8px;
  --header-h:68px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 12px); -webkit-text-size-adjust:100%;}
body{
  margin:0; font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text); background:var(--paper); line-height:1.6; font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif; font-weight:600; color:var(--ink); line-height:1.14; letter-spacing:-0.012em; margin:0;}
p{margin:0 0 1em;}
ul{margin:0; padding:0;}
button,input,select,textarea{font:inherit;}
:focus-visible{outline:2px solid var(--amber); outline-offset:3px;}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.skip-link{position:absolute; left:-9999px; top:8px; background:var(--ink); color:#fff; padding:10px 14px; z-index:100; border-radius:4px;}
.skip-link:focus{left:8px;}

.wrap{max-width:1160px; margin:0 auto; padding:0 28px;}
.wrap--narrow{max-width:820px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

section{padding:clamp(56px,8vw,96px) 0;}
.section-head{max-width:680px; margin:0 0 clamp(28px,4vw,48px);}
.section-head h2{font-size:clamp(28px,3.6vw,42px);}
.section-head p{color:var(--slate); font-size:17px; margin:14px 0 0;}
.kicker{font-size:13.5px; font-weight:600; color:var(--amber-deep); margin:0 0 12px; letter-spacing:.01em;}
.on-dark .kicker, .hero .kicker, .page-hero .kicker{color:#E39A57;}
.bg-white{background:var(--white);}
.bg-ink{background:var(--ink); color:#EDEFF7;}
.bg-ink h2,.bg-ink h3{color:#fff;}
.bg-ink .section-head p{color:#B7BCDA;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  padding:14px 26px; min-height:48px; border-radius:4px; font-weight:600; font-size:15.5px; line-height:1.2;
  text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.btn-primary{background:var(--amber); color:#1B1508;}
.btn-primary:hover{background:var(--amber-deep); color:#fff;}
.btn-dark{background:var(--ink); color:#fff;}
.btn-dark:hover{background:var(--ink-2);}
.btn-ghost{background:transparent; color:#EDEFF7; border-color:#525A8C;}
.btn-ghost:hover{border-color:#9AA2D6;}
.btn-ghost-dark{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-ghost-dark:hover{background:var(--ink); color:#fff;}
.btn-lg{padding:17px 30px; font-size:16.5px; min-height:54px;}
.btn-block{display:flex; width:100%;}
.text-link{font-weight:600; color:var(--ink); text-decoration:none; border-bottom:1.5px solid var(--amber); padding-bottom:2px;}
.text-link:hover{color:var(--amber-deep);}
.bg-ink .text-link,.hero .text-link{color:#fff;}

/* ---------- header / nav ---------- */
.site-header{position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line);}
.header-inner{display:flex; align-items:center; justify-content:space-between; min-height:var(--header-h);}
.brand{display:flex; align-items:center; text-decoration:none; flex-shrink:0;}
.brand img{height:34px; width:auto;}
.nav-toggle{display:none; width:46px; height:46px; margin-right:-8px; background:none; border:0; cursor:pointer; position:relative;}
.nav-toggle span{position:absolute; left:11px; right:11px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s ease,opacity .2s ease,top .2s ease;}
.nav-toggle span:nth-child(1){top:16px;} .nav-toggle span:nth-child(2){top:22px;} .nav-toggle span:nth-child(3){top:28px;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){top:22px; transform:rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){top:22px; transform:rotate(-45deg);}

.site-nav{display:flex; align-items:center; gap:18px;}
.nav-list{list-style:none; display:flex; align-items:center; gap:2px;}
.nav-list > li{position:relative;}
.nav-link{display:block; padding:10px 11px; font-size:14.5px; font-weight:500; color:var(--slate); text-decoration:none; border-radius:4px; white-space:nowrap;}
.nav-link:hover{color:var(--ink);}
.nav-link.is-current{color:var(--ink); font-weight:600; box-shadow:inset 0 -2px 0 var(--amber); border-radius:0;}
.has-sub > .nav-link::after{content:""; display:inline-block; width:6px; height:6px; margin-left:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px);}
.subnav{
  list-style:none; position:absolute; top:100%; left:0; min-width:250px; padding:8px 0;
  background:var(--white); border:1px solid var(--line); border-radius:6px; box-shadow:0 18px 40px -18px rgba(20,24,60,.35);
  display:none;
}
.has-sub:hover .subnav,.has-sub:focus-within .subnav{display:block;}
.subnav a{display:block; padding:10px 18px; font-size:14.5px; color:var(--text); text-decoration:none;}
.subnav a:hover{background:var(--paper); color:var(--ink);}
.nav-cta{padding:11px 18px; min-height:44px; font-size:14.5px; white-space:nowrap;}

@media (max-width:1079px){
  :root{--header-h:60px;}
  .brand img{height:30px;}
  .nav-toggle{display:block;}
  .site-nav{
    display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--paper); border-bottom:1px solid var(--line); padding:8px 20px 20px; max-height:calc(100vh - var(--header-h)); overflow-y:auto;
    box-shadow:0 20px 30px -20px rgba(20,24,60,.3);
  }
  .site-nav.open{display:flex;}
  .nav-list{flex-direction:column; align-items:stretch; gap:0;}
  .nav-list > li{border-bottom:1px solid var(--line);}
  .nav-link{padding:15px 2px; font-size:16.5px; color:var(--ink);}
  .nav-link.is-current{box-shadow:none; color:var(--amber-deep);}
  .has-sub > .nav-link::after{display:none;}
  .subnav{display:block; position:static; box-shadow:none; border:0; background:transparent; padding:0 0 10px 14px; min-width:0;}
  .subnav a{padding:9px 2px; font-size:15px; color:var(--slate);}
  .nav-cta{margin-top:16px; width:100%; min-height:52px; font-size:16px;}
}

/* ---------- hero (home) ---------- */
.hero{background:var(--ink); color:#EDEFF7; position:relative; overflow:hidden; padding:clamp(52px,7vw,96px) 0 clamp(96px,11vw,150px);}
.hero::before{content:""; position:absolute; right:-160px; top:-200px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle at 30% 30%, #2C3574, transparent 70%);}
.hero .wrap{position:relative;}
.hero-grid{display:grid; grid-template-columns:1.25fr .75fr; gap:56px; align-items:center;}
.hero h1{color:#fff; font-size:clamp(38px,5.6vw,66px); line-height:1.05; letter-spacing:-0.02em; margin:0 0 22px;}
.hero h1 em{font-style:normal; color:#E39A57;}
.hero .lede{font-size:clamp(18px,1.9vw,21px); color:#DDE0F0; max-width:34em; margin:0 0 14px; font-weight:500;}
.hero .support{font-size:17px; color:#B7BCDA; max-width:36em; margin:0 0 32px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px;}
.hero-meta{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#8E95C4; margin:0;}
.hero-meta i{font-style:normal; color:var(--amber); padding:0 8px;}
@media (max-width:980px){ .hero-grid{grid-template-columns:1fr; gap:40px;} }
@media (max-width:520px){ .hero-ctas .btn{width:100%;} }

/* pipeline illustration (no data, purely illustrative) */
.pipe{max-width:400px; margin-left:auto; width:100%;}
.pipe__label{font-size:13px; color:#9AA2D6; margin:0 0 14px;}
.pipe__bar{height:44px; width:var(--w); border-radius:6px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.17); display:flex; align-items:center; padding:0 16px; font-size:14px; color:#fff;}
.pipe__bar.is-end{background:var(--amber); border-color:var(--amber); color:#1B1508; font-weight:600;}
.pipe__leak{height:24px; position:relative;}
.pipe__leak::before{content:""; position:absolute; left:var(--x); top:0; bottom:0; border-left:2px dashed rgba(227,154,87,.85);}
.pipe__leak span{position:absolute; left:calc(var(--x) + 10px); top:50%; transform:translateY(-50%); font-size:12px; color:#E39A57; white-space:nowrap; max-width:calc(100% - var(--x) - 10px);}
@media (max-width:480px){
  .pipe__leak span{white-space:normal; line-height:1.3; font-size:11.5px; max-width:min(150px, calc(100% - var(--x) - 10px));}
}
.pipe__note{font-size:12.5px; color:#8E95C4; margin:16px 0 0;}
@media (max-width:980px){ .pipe{margin-left:0; max-width:460px;} }

/* ---------- audit offer ---------- */
.audit{position:relative; z-index:2; margin-top:calc(-1 * clamp(56px,7vw,92px)); padding:0 0 clamp(56px,8vw,96px);}
.audit-card{
  display:grid; grid-template-columns:1.45fr .85fr; border:2px solid var(--ink); border-radius:12px; overflow:hidden;
  background:var(--white); box-shadow:0 30px 70px -32px rgba(20,24,60,.55);
}
.audit-main{padding:clamp(28px,4vw,48px);}
.audit-main h2{font-size:clamp(30px,4vw,46px); margin:0 0 10px;}
.audit-sub{font-family:'Fraunces',Georgia,serif; font-size:clamp(19px,2vw,23px); color:var(--amber-deep); margin:0 0 18px; font-weight:500;}
.audit-main p{color:#38405C;}
.audit-main h3{font-family:'Inter',sans-serif; font-size:13.5px; text-transform:uppercase; letter-spacing:.09em; color:var(--slate); font-weight:600; margin:26px 0 14px;}
.audit-outcome{margin:24px 0 0; padding:16px 18px; background:var(--amber-soft); border-radius:6px; color:var(--ink) !important; font-size:15.5px;}
.audit-price{background:var(--ink); color:#fff; padding:clamp(28px,4vw,44px) clamp(24px,3vw,36px); display:flex; flex-direction:column; justify-content:center; text-align:center;}
.audit-price .label{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#B7BCDA; margin:0 0 6px;}
.audit-price .price{font-family:'Fraunces',Georgia,serif; font-size:clamp(50px,6vw,68px); font-weight:700; color:#F0B27A; line-height:1; margin:0 0 6px;}
.audit-price .fixed{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#fff; margin:0 0 18px; font-weight:600;}
.audit-price .terms{font-size:14px; color:#C7CBE2; margin:0 0 24px; line-height:1.7; padding-top:18px; border-top:1px dashed #4A5285;}
.audit-price .btn{width:100%;}
.audit-price .text-link{display:inline-block; align-self:center; margin-top:16px; font-size:14.5px; color:#fff; border-bottom-color:var(--amber);}
@media (max-width:860px){ .audit-card{grid-template-columns:1fr;} }

.checks{list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:11px 28px;}
.checks.one{grid-template-columns:1fr;}
.checks li{position:relative; padding-left:28px; font-size:15.5px; color:var(--text);}
.checks li::before{content:""; position:absolute; left:3px; top:.5em; width:11px; height:6px; border-left:2.5px solid var(--amber); border-bottom:2.5px solid var(--amber); transform:rotate(-45deg);}
@media (max-width:560px){ .checks{grid-template-columns:1fr;} }

/* ---------- problem grid ---------- */
.problem-grid{display:grid; grid-template-columns:repeat(4,1fr); background:var(--white); border-top:1px solid var(--line); border-left:1px solid var(--line);}
.problem{padding:28px 24px 30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);}
.problem b{display:block; font-family:'Fraunces',Georgia,serif; color:var(--amber-deep); font-size:15px; margin-bottom:12px;}
.problem p{margin:0; font-size:16.5px; font-weight:500; color:var(--ink); line-height:1.4;}
.problem-cta{margin-top:clamp(28px,4vw,44px); display:flex; gap:24px 32px; align-items:center; flex-wrap:wrap; justify-content:space-between;}
.problem-cta p{margin:0; font-family:'Fraunces',Georgia,serif; font-size:clamp(20px,2.4vw,26px); color:var(--ink); max-width:30em; line-height:1.3;}
@media (max-width:980px){ .problem-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .problem-grid{grid-template-columns:1fr;} .problem-cta .btn{width:100%;} }

/* ---------- services (editorial rows) ---------- */
.svc-list{border-top:1px solid var(--line);}
.svc{display:grid; grid-template-columns:70px 1.15fr 1fr; gap:24px 40px; padding:clamp(28px,3.5vw,44px) 0; border-bottom:1px solid var(--line);}
.svc__num{font-family:'Fraunces',Georgia,serif; font-size:22px; color:var(--amber-deep); font-weight:600; padding-top:4px;}
.svc h3{font-size:clamp(23px,2.6vw,30px); margin:0 0 10px;}
.svc__tag{display:inline-block; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--amber-deep); background:var(--amber-soft); padding:4px 9px; border-radius:3px; margin-bottom:10px;}
.svc p{color:#38405C; margin:0 0 16px;}
.svc .checks{grid-template-columns:1fr 1fr; gap:9px 22px;}
.svc .checks li{font-size:14.5px;}
@media (max-width:980px){ .svc{grid-template-columns:1fr; gap:14px;} .svc__num{padding:0;} }
@media (max-width:560px){ .svc .checks{grid-template-columns:1fr;} }

.tech-strip{margin-top:clamp(36px,5vw,56px); padding:26px 28px; border:1px dashed #AEB5CB; border-radius:var(--radius); display:flex; gap:20px 32px; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.tech-strip h3{font-size:20px; margin:0 0 4px;}
.tech-strip p{margin:0; color:var(--slate); font-size:15.5px; max-width:44em;}

/* ---------- who we help ---------- */
.help-list{list-style:none; display:flex; flex-wrap:wrap; gap:6px 0; margin:0 0 30px; font-family:'Fraunces',Georgia,serif; font-size:clamp(25px,3.4vw,42px); line-height:1.25; color:var(--ink); font-weight:500;}
.help-list li{display:inline;}
.help-list li:not(:last-child)::after{content:"/"; color:var(--amber); padding:0 .45em; font-weight:400;}
.help-copy{max-width:40em; font-size:18px; color:#38405C;}

/* ---------- approach ---------- */
.approach{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.approach div{padding:26px 26px 6px 0; border-top:3px solid #3B4478; margin-right:22px; position:relative;}
.approach div::before{content:""; position:absolute; top:-3px; left:0; width:44px; border-top:3px solid var(--amber);}
.approach b{display:block; font-family:'Fraunces',Georgia,serif; font-size:15px; color:#E39A57; margin-bottom:10px;}
.approach h3{font-size:clamp(24px,2.6vw,30px); margin:0 0 10px; color:#fff;}
.approach p{color:#B7BCDA; font-size:15.5px; margin:0;}
@media (max-width:980px){ .approach{grid-template-columns:repeat(2,1fr); row-gap:28px;} }
@media (max-width:560px){ .approach{grid-template-columns:1fr;} .approach div{margin-right:0; padding-right:0;} }

/* ---------- framework ---------- */
.framework{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.fw{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:0 0 clamp(28px,4vw,44px); border:2px solid var(--ink); border-radius:12px; overflow:hidden;}
.fw div{padding:clamp(22px,3vw,34px) clamp(16px,2vw,24px); border-right:1px solid var(--line); background:var(--white); position:relative;}
.fw div:last-child{border-right:0; background:var(--ink);}
.fw div:last-child h3,.fw div:last-child p{color:#fff;}
.fw div:last-child b{color:#F0B27A;}
.fw b{display:block; font-family:'Fraunces',Georgia,serif; color:var(--amber-deep); font-size:15px; margin-bottom:12px;}
.fw h3{font-size:clamp(19px,2.2vw,27px); letter-spacing:.02em; text-transform:uppercase; margin:0 0 8px;}
.fw p{margin:0; font-size:14.5px; color:var(--slate); line-height:1.5;}
.fw-copy{max-width:44em; font-size:clamp(18px,2vw,21px); color:#38405C;}
.fw-copy strong{color:var(--ink);}
@media (max-width:860px){ .fw{grid-template-columns:1fr;} .fw div{border-right:0; border-bottom:1px solid var(--line);} .fw div:last-child{border-bottom:0;} }

/* ---------- founder ---------- */
.founder-grid{display:grid; grid-template-columns:.9fr 1.3fr; gap:clamp(32px,6vw,72px); align-items:start;}
.founder-grid h2{font-size:clamp(32px,4.4vw,52px); line-height:1.08;}
.founder-name{margin:22px 0 0; font-weight:600; color:var(--ink);}
.founder-role{margin:0; color:var(--slate); font-size:15px;}
.founder-quote{font-family:'Fraunces',Georgia,serif; font-size:clamp(21px,2.2vw,25px); line-height:1.4; color:var(--ink); font-weight:500; margin:0 0 22px; padding-left:20px; border-left:3px solid var(--amber);}
.founder-body p{color:#38405C; font-size:16.5px; max-width:40em;}
.tag-group{margin-top:26px;}
.tag-group h3{font-family:'Inter',sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.09em; color:var(--slate); font-weight:600; margin:0 0 10px;}
.tags{list-style:none; display:flex; flex-wrap:wrap; gap:8px;}
.tags li{font-size:14px; padding:6px 13px; background:var(--white); border:1px solid var(--line); border-radius:999px; color:var(--ink);}
.bg-white .tags li{background:var(--paper);}
@media (max-width:900px){ .founder-grid{grid-template-columns:1fr;} }

/* ---------- clients ---------- */
.clients-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; list-style:none;}
.client{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column;}
.client__logo{height:104px; display:flex; align-items:center; justify-content:center; padding:18px 22px; border-bottom:1px solid var(--line);}
.client__logo img{max-height:100%; max-width:100%; width:auto; object-fit:contain;}
.client__body{padding:14px 18px 18px;}
.client__name{font-family:'Fraunces',Georgia,serif; font-size:16px; font-weight:600; color:var(--ink); margin:0 0 3px; line-height:1.25;}
.client__desc{font-size:13.5px; color:var(--slate); margin:0; line-height:1.45;}
@media (max-width:980px){ .clients-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:700px){
  .clients-grid{grid-template-columns:repeat(2,1fr); gap:12px;}
  .client__logo{height:76px; padding:12px 14px;}
  .client__body{padding:10px 12px 14px;}
  .client__name{font-size:14px;} .client__desc{font-size:12.5px;}
}

/* ---------- forms + contact ---------- */
.contact-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px,5vw,64px); align-items:start;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
.form-card{background:var(--white); border:1px solid var(--line); border-radius:10px; padding:clamp(24px,3.4vw,36px);}
.form-card h3{font-size:22px; margin:0 0 6px;}
.form-card .form-sub{color:var(--slate); font-size:15px; margin:0 0 22px;}
.bg-ink .form-card{background:var(--ink-2); border-color:#39427A;}
.bg-ink .form-card h3{color:#fff;}
.bg-ink .form-card .form-sub{color:#B7BCDA;}
.field{margin-bottom:20px;}
.field label{display:block; font-size:13.5px; color:var(--slate); margin-bottom:4px; font-weight:500;}
.bg-ink .field label{color:#B7BCDA;}
.field input,.field select,.field textarea{
  width:100%; border:0; border-bottom:1.5px solid #BCC3D6; background:transparent; padding:11px 2px; font-size:16px; color:var(--text); border-radius:0; min-height:46px;
}
.bg-ink .field input,.bg-ink .field select,.bg-ink .field textarea{color:#fff; border-bottom-color:#5A6396;}
.bg-ink .field select option{color:#111;}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--amber); outline:none;}
.field textarea{resize:vertical; min-height:96px;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:0 22px;}
@media (max-width:560px){ .field-row{grid-template-columns:1fr;} }
.form-card .btn{width:100%;}
.form-note{font-size:13px; color:var(--slate); margin:14px 0 0;}
.bg-ink .form-note{color:#9AA2D6;}
.contact-points{display:flex; flex-direction:column; gap:26px;}
.contact-point .k{font-size:13px; color:#E39A57; font-weight:600; margin:0 0 6px; letter-spacing:.02em;}
.contact-point .v{margin:0; font-size:17px; color:#fff;}
.contact-point a{color:#fff; text-underline-offset:3px;}
.contact-point small{display:block; color:#9AA2D6; font-size:14px; margin-top:2px;}
.contact-lead{font-family:'Fraunces',Georgia,serif; font-size:clamp(22px,2.6vw,28px); color:#fff; line-height:1.3; margin:0;}

.thanks{position:fixed; top:calc(var(--header-h) + 12px); left:50%; transform:translateX(-50%); z-index:60; background:var(--ink); color:#fff; padding:14px 20px; border-radius:8px; border:1.5px solid var(--amber); box-shadow:0 20px 40px -16px rgba(0,0,0,.5); font-size:15px; width:min(92vw,520px); text-align:center;}
.thanks[hidden]{display:none;}

/* ---------- inner page hero ---------- */
.page-hero{background:var(--ink); color:#EDEFF7; padding:clamp(52px,7vw,92px) 0 clamp(56px,7vw,88px); position:relative; overflow:hidden;}
.page-hero::before{content:""; position:absolute; right:-140px; top:-180px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle at 30% 30%, #2C3574, transparent 70%);}
.page-hero .wrap{position:relative;}
.page-hero h1{color:#fff; font-size:clamp(34px,5vw,58px); line-height:1.07; letter-spacing:-0.018em; margin:0 0 20px; max-width:16em;}
.page-hero p.lede{font-size:clamp(17px,1.8vw,20px); color:#CDD1E8; max-width:38em; margin:0 0 28px;}
.page-hero .hero-ctas{margin-bottom:0;}
.price-inline{display:inline-flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:0 0 26px; color:#B7BCDA; font-size:14px; letter-spacing:.1em; text-transform:uppercase;}
.price-inline strong{font-family:'Fraunces',Georgia,serif; font-size:34px; color:#F0B27A; letter-spacing:0; text-transform:none;}

.two-col{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px);}
@media (max-width:860px){ .two-col{grid-template-columns:1fr;} }
.panel{background:var(--white); border:1px solid var(--line); border-radius:10px; padding:clamp(24px,3vw,34px);}
.panel h3{font-size:22px; margin:0 0 18px;}

.steps{list-style:none; counter-reset:s; display:grid; gap:18px; margin-top:8px;}
.steps li{counter-increment:s; position:relative; padding-left:48px; color:#38405C;}
.steps li::before{content:counter(s); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600;}
.steps b{color:var(--ink); display:block;}

/* ---------- footer ---------- */
.site-footer{background:var(--ink); color:#9AA0C9; padding:clamp(44px,6vw,64px) 0 32px; font-size:14.5px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:36px; border-bottom:1px solid #333A6E;}
.footer-brand img{height:36px; width:auto; margin-bottom:16px;}
.footer-brand p{max-width:22em; color:#B7BCDA; margin:0;}
.site-footer h4{font-family:'Inter',sans-serif; font-size:12.5px; text-transform:uppercase; letter-spacing:.1em; color:#E39A57; margin:0 0 14px; font-weight:600;}
.site-footer ul{list-style:none;}
.site-footer li{margin-bottom:9px;}
.site-footer a{color:#C7CBE2; text-decoration:none;}
.site-footer a:hover{color:#fff; text-decoration:underline;}
.footer-bottom{padding-top:22px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13.5px;}
@media (max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }

/* ---------- mobile sticky CTA ---------- */
.mobile-cta{display:none;}
@media (max-width:1079px){
  body{padding-bottom:78px;}
  .mobile-cta{
    display:block; position:fixed; left:0; right:0; bottom:0; z-index:45; padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:rgba(243,244,247,.97); border-top:1px solid var(--line); box-shadow:0 -10px 24px -16px rgba(20,24,60,.3);
  }
  .mobile-cta .btn{width:100%; min-height:52px; font-size:16px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important; animation:none !important;}
}
