
  :root{
    --navy:#00224A;
    --blue-deep:#005B99;
    --blue:#0D7EBE;
    --blue-bright:#0EA5D8;
    --sky:#41B3DB;
    --sky-light:#60C7EF;
    --tint:#EAF6FC;
    --tint-2:#F4FAFD;
    --white:#FFFFFF;
    --ink:#173252;
    --ink-soft:#51698A;
    --line:#D9EBF5;
    --shadow: 0 20px 50px -20px rgba(0,34,74,.25);
    --radius-lg: 28px;
    --radius-md: 18px;
    --radius-sm: 12px;
    --wrap: 1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  }
  body{
    margin:0;
    font-family:'Inter',system-ui,sans-serif;
    color:var(--ink);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Baloo 2',system-ui,sans-serif;
    color:var(--navy);
    margin:0;
    line-height:1.08;
    letter-spacing:-.01em;
  }
  p{margin:0; color:var(--ink-soft); line-height:1.65;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer;}
  .wrap{max-width:var(--wrap); margin:0 auto; padding:0 28px;}
  section{position:relative;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Inter',sans-serif; font-weight:700; font-size:12.5px;
    letter-spacing:.14em; text-transform:uppercase; color:var(--blue-deep);
  }
  .eyebrow::before{content:''; width:18px; height:2px; background:var(--sky); border-radius:2px; display:inline-block;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:15px 28px; border-radius:999px; font-weight:700; font-size:15.5px;
    border:2px solid transparent; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    white-space:nowrap;
  }
  .btn-primary{ background:var(--blue); color:var(--white); box-shadow:0 14px 30px -10px rgba(13,126,190,.55);}
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 18px 34px -10px rgba(13,126,190,.65); background:var(--blue-deep);}
  .btn-outline{ background:var(--white); color:var(--navy); border-color:var(--line);}
  .btn-outline:hover{ transform:translateY(-2px); border-color:var(--sky); box-shadow:var(--shadow);}
  .btn-white{ background:var(--white); color:var(--blue-deep); }
  .btn-white:hover{ transform:translateY(-2px); box-shadow:0 18px 34px -10px rgba(0,0,0,.25);}
  .btn-block{width:100%;}
  .btn svg{width:18px; height:18px; flex:none;}

  /* ---------- Nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,.86); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{ display:flex; align-items:center; justify-content:space-between; height:82px; gap:24px;}
  .logo-mark{ display:flex; align-items:center; height:66px; flex:none;}
  .logo-mark img{ height:100%; width:auto; display:block;}
  .nav-links{ display:flex; align-items:center; gap:34px; font-weight:600; font-size:15px; color:var(--navy);}
  .nav-links a{ opacity:.82; transition:opacity .15s;}
  .nav-links a:hover{opacity:1;}
  .nav-cta{ display:flex; align-items:center; gap:14px;}
  .phone-pill{
    display:flex; align-items:center; gap:8px; font-weight:700; font-size:14.5px; color:var(--navy);
    padding:10px 16px; border-radius:999px; background:var(--tint); flex:none;
  }
  .phone-pill svg{width:16px; height:16px; color:var(--blue);}

  /* ---------- Phone hover: call or text ---------- */
  .phone-hover{ position:relative; display:inline-flex;}
  .phone-tip{
    position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(4px);
    background:var(--navy); border-radius:12px; padding:8px; display:flex; gap:6px;
    opacity:0; pointer-events:none; transition:opacity .15s ease, transform .15s ease; z-index:20;
    box-shadow:var(--shadow); white-space:nowrap;
  }
  .phone-tip::after{ content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:var(--navy);}
  .phone-hover:hover .phone-tip, .phone-hover:focus-within .phone-tip{ opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto;}
  .phone-tip a{
    display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:#fff;
    padding:8px 12px; border-radius:8px; background:rgba(255,255,255,.12); transition:background .15s;
  }
  .phone-tip a:hover{ background:rgba(255,255,255,.24);}
  .phone-tip svg{ width:14px; height:14px; flex:none;}
  .tel-inline{ color:var(--blue); font-weight:700; border-bottom:1.5px solid transparent; transition:border-color .15s;}
  .tel-inline:hover{ border-color:var(--blue);}
  .link-btn{ background:none; border:0; padding:0; color:var(--blue); font-weight:700; text-decoration:underline; font-size:inherit; font-family:inherit; cursor:pointer;}
  .burger{ display:none; flex:none; background:none; border:0; padding:8px;}
  .burger span{ display:block; width:24px; height:2.5px; background:var(--navy); margin:5px 0; border-radius:2px; transition:.2s;}
  .mobile-menu{ display:none; }

  /* ---------- Hero ---------- */
  .hero{ background:linear-gradient(180deg,var(--tint-2) 0%, var(--white) 78%); overflow:hidden; padding-top:64px;}
  .hero .wrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding-bottom:110px;}
  .hero-copy h1{ font-size:clamp(30px,4vw,46px); margin-top:18px; line-height:1.1;}
  .hero-copy h1 .h1-sub{ display:block; font-size:clamp(17px,1.9vw,22px); font-weight:600; color:var(--ink-soft); margin-top:12px; line-height:1.3;}
  .hero-copy .lede strong{ color:var(--navy);}
  .hero-copy h1 .h1-free{ color:var(--blue);}
  .hero-copy .lede{ font-size:18px; margin-top:18px; max-width:480px; color:var(--ink-soft);}
  .hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px;}
  .hero-stats{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:30px;}
  .hero-stat{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:14px; color:var(--navy);}
  .hero-stat svg{width:17px; height:17px; color:var(--blue-bright); flex:none;}
  .hero-faq-link{ display:inline-flex; align-items:center; gap:8px; margin-top:22px; font-weight:700; font-size:15px; color:var(--blue-deep); border-bottom:2px solid var(--sky); padding-bottom:2px; transition:color .15s, gap .15s;}
  .hero-faq-link svg{ width:16px; height:16px;}
  .hero-faq-link:hover{ color:var(--navy); gap:12px;}
  .hero-visual{ position:relative;}
  .hero-logo{ margin:0 0 20px;}
  .hero-logo img{ display:block; width:620px; max-width:100%; height:auto; margin-left:-14px;}
  .hero-photo-frame{
    position:relative; border-radius:28px;
    overflow:hidden; box-shadow:var(--shadow); aspect-ratio:1/1.02;
    border:6px solid var(--white);
  }
  .hero-photo-frame img{ width:100%; height:100%; object-fit:cover;}
  .badge-icon{
    position:absolute; top:-26px; left:-26px; width:116px; height:116px; border-radius:50%;
    background:var(--white); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; padding:20px;
  }
  .badge-icon img{width:100%; height:100%; object-fit:contain; display:block;}
  .price-float{
    position:absolute; bottom:14px; right:-18px; background:var(--white); border-radius:20px;
    box-shadow:var(--shadow); padding:16px 22px; display:flex; align-items:center; gap:12px; max-width:220px;
  }
  .price-float .num{ font-family:'Baloo 2'; font-weight:800; font-size:30px; color:var(--blue); line-height:1;}
  .price-float .lbl{ font-size:12.5px; font-weight:600; color:var(--ink-soft); line-height:1.3;}
  .promo-chip{
    position:absolute; top:18px; right:22px; background:var(--navy); color:var(--white);
    font-weight:700; font-size:12.5px; padding:9px 14px; border-radius:999px; box-shadow:var(--shadow);
    display:flex; align-items:center; gap:6px;
  }
  .bubble{ position:absolute; border-radius:50%; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.9), rgba(96,199,239,.35)); pointer-events:none;}

  .wave-divider{ display:block; width:100%; height:70px; margin-top:-2px;}
  .wave-divider path{ fill:var(--white);}

  /* ---------- Trust strip ---------- */
  .trust{ background:var(--tint); padding:52px 0;}
  .trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
  .trust-item{ display:flex; flex-direction:column; align-items:flex-start; gap:12px;}
  .trust-icon{
    width:48px; height:48px; border-radius:14px; background:var(--white); display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px -10px rgba(0,34,74,.25); flex:none;
  }
  .trust-icon svg{width:24px; height:24px; color:var(--blue);}
  .trust-item h3{ font-family:'Inter'; font-weight:700; font-size:15.5px; color:var(--navy);}
  .trust-item p{ font-size:13.5px;}

  /* ---------- Section shell ---------- */
  .section{ padding:100px 0;}
  .section-head{ max-width:640px; margin:0 auto 56px; text-align:center;}
  .section-head h2{ font-size:clamp(28px,3.4vw,40px); margin-top:14px;}
  .section-head p{ margin-top:14px; font-size:16.5px;}
  .section-head.left{ margin:0 0 48px; text-align:left;}

  /* ---------- How it works ---------- */
  .steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; counter-reset:step;}
  .step{ position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:30px 24px 26px; transition:transform .2s, box-shadow .2s;}
  .step:hover{ transform:translateY(-6px); box-shadow:var(--shadow);}
  .step-num{ font-family:'Baloo 2'; font-weight:800; font-size:14px; color:var(--sky-light); margin-bottom:16px; display:block;}
  .step-icon{ width:50px; height:50px; border-radius:14px; background:var(--tint); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
  .step-icon svg{ width:25px; height:25px; color:var(--blue);}
  .step h3{ font-family:'Inter'; font-size:16.5px; font-weight:700; color:var(--navy); margin-bottom:8px;}
  .step p{ font-size:14px;}
  .step-connector{ position:absolute; top:52px; left:calc(100% + 5px); width:16px; height:2px; background:var(--line);}

  /* ---------- Pricing ---------- */
  .pricing{ background:var(--tint-2);}
  .price-layout{ display:grid; grid-template-columns:1fr 1.15fr; gap:54px; align-items:center;}
  .price-card{
    background:var(--navy); border-radius:var(--radius-lg); padding:44px 40px; color:var(--white); position:relative; overflow:hidden;
    box-shadow:var(--shadow);
  }
  .price-card::after{
    content:''; position:absolute; width:280px; height:280px; border-radius:50%;
    background:radial-gradient(circle, rgba(65,179,219,.35), transparent 70%);
    top:-90px; right:-90px;
  }
  .price-card .ribbon{
    display:inline-flex; align-items:center; gap:6px; background:var(--sky-light); color:var(--navy);
    font-weight:700; font-size:12.5px; padding:7px 14px; border-radius:999px; margin-bottom:22px;
  }
  .price-card .amount{ display:flex; align-items:flex-start; gap:6px; position:relative;}
  .price-card .amount .sign{ font-family:'Baloo 2'; font-weight:700; font-size:30px; margin-top:10px;}
  .price-card .amount .num{ font-family:'Baloo 2'; font-weight:800; font-size:82px; line-height:1;}
  .price-card .per{ font-size:16px; font-weight:600; opacity:.85; margin-top:6px;}
  .price-card .desc{ margin-top:10px; font-size:14px; color:rgba(255,255,255,.75); max-width:280px;}
  .price-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px;}
  .price-list li{ display:flex; align-items:flex-start; gap:14px; font-size:15.5px; font-weight:600; color:var(--navy);}
  .price-list .tick{ width:26px; height:26px; border-radius:50%; background:var(--tint); display:flex; align-items:center; justify-content:center; flex:none; margin-top:1px;}
  .price-list .tick svg{ width:14px; height:14px; color:var(--blue);}
  .price-list .sub{ display:block; font-size:13.5px; font-weight:400; color:var(--ink-soft); margin-top:3px;}
  .price-cta{ margin-top:32px; display:flex; gap:14px; flex-wrap:wrap;}

  /* ---------- Schedule by call/text ---------- */
  .schedule-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:40px; box-shadow:var(--shadow);}
  .schedule-card h3{ font-size:clamp(24px,3vw,30px);}
  .sched-num{ color:var(--blue); white-space:nowrap;}
  .sched-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:24px;}
  .sched-actions .btn{ padding:17px 30px; font-size:16.5px;}
  .sched-tell{ margin-top:30px; padding-top:26px; border-top:1px solid var(--line);}
  .sched-label{ font-weight:700; color:var(--navy); font-size:14px; margin-bottom:14px;}
  .sched-tell ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
  .sched-tell li{ position:relative; padding-left:30px; font-size:14.5px; color:var(--ink-soft); line-height:1.55;}
  .sched-tell li::before{ content:'✓'; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--tint); color:var(--blue); font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center;}
  .sched-offer{ margin-top:24px; background:var(--tint); border-radius:14px; padding:14px 18px; font-size:14px; font-weight:600; color:var(--navy);}

  /* ---------- About / photo ---------- */
  .about .wrap{ display:grid; grid-template-columns:.95fr 1.05fr; gap:60px; align-items:center;}
  .about-photo{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); position:relative;}
  .about-photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3.3;}
  .about-list{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:16px;}
  .about-list li{ display:flex; gap:12px; align-items:flex-start; font-size:15px; font-weight:600; color:var(--navy);}
  .about-list svg{ width:20px; height:20px; color:var(--blue-bright); flex:none; margin-top:2px;}

  /* ---------- CTA band ---------- */
  .cta-band{ background:linear-gradient(120deg,var(--blue-deep),var(--blue)); padding:70px 0; text-align:center;}
  .cta-band h2{ color:var(--white); font-size:clamp(26px,3.2vw,36px);}
  .cta-band p{ color:rgba(255,255,255,.85); margin-top:12px; font-size:16px;}
  .cta-band .hero-cta{ justify-content:center; margin-top:28px;}

  /* ---------- Contact ---------- */
  .contact .wrap{ display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:flex-start;}
  .form-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:40px; box-shadow:var(--shadow);}
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .field{ margin-bottom:18px;}
  .field label{ display:block; font-size:13px; font-weight:700; color:var(--navy); margin-bottom:7px;}
  .field input, .field select, .field textarea{
    width:100%; padding:13px 15px; border-radius:12px; border:1.5px solid var(--line); font-family:inherit; font-size:14.5px; color:var(--ink);
    background:var(--tint-2); transition:border-color .15s, background .15s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none; border-color:var(--sky); background:var(--white);
  }
  .field textarea{ resize:vertical; min-height:90px;}
  .form-note{ font-size:12.5px; color:var(--ink-soft); margin-top:14px; line-height:1.6;}
  .form-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:6px;}
  .form-feedback{
    display:none; margin-top:18px; padding:16px 18px; border-radius:14px; background:var(--tint); font-size:14px; color:var(--navy); font-weight:600;
    align-items:flex-start; gap:10px;
  }
  .form-feedback.show{ display:flex;}
  .form-feedback svg{ width:20px; height:20px; color:var(--blue); flex:none; margin-top:1px;}

  .contact-card{ background:var(--navy); border-radius:var(--radius-lg); padding:38px 34px; color:var(--white);}
  .contact-card h3{ color:var(--white); font-family:'Inter'; font-size:17px; font-weight:700; margin-bottom:22px;}
  .contact-row{ display:flex; align-items:flex-start; gap:14px; margin-bottom:22px;}
  .contact-row .ic{ width:38px; height:38px; border-radius:11px; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; flex:none;}
  .contact-row .ic svg{ width:18px; height:18px; color:var(--sky-light);}
  .contact-row .lbl{ font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.55); font-weight:700; margin-bottom:3px;}
  .contact-row a, .contact-row span.val{ font-weight:700; font-size:15px; color:var(--white);}
  .contact-card .divider{ height:1px; background:rgba(255,255,255,.15); margin:24px 0;}
  .contact-card .promo{ background:rgba(96,199,239,.16); border:1px dashed rgba(96,199,239,.5); border-radius:14px; padding:16px; font-size:13.5px; color:var(--sky-light); font-weight:600;}

  /* ---------- FAQ ---------- */
  .faq{ background:var(--tint-2);}
  .faq-list{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
  .faq-item{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:6px 26px;}
  .faq-q{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; font-weight:700; font-size:15.5px; color:var(--navy);}
  .faq-q svg{ width:20px; height:20px; color:var(--blue); flex:none; transition:transform .2s;}
  .faq-item[open] .faq-q svg{ transform:rotate(45deg);}
  .faq-a{ padding-bottom:20px; font-size:14.5px; margin-top:-8px;}
  .faq-cat{ font-family:'Inter',sans-serif; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-deep); margin:22px 0 -2px; padding-left:4px;}
  .faq-list > .faq-cat:first-child{ margin-top:0;}

  /* ---------- Footer ---------- */
  footer{ background:var(--navy); color:rgba(255,255,255,.7); padding:70px 0 0;}
  .footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:50px; padding-bottom:50px;}
  .footer-logo{ display:flex; align-items:center; gap:14px; margin-bottom:18px;}
  
  .footer-logo img{ height:62px; width:auto; filter:brightness(0) invert(1);}
  .social-links{ display:flex; gap:12px; margin-top:20px;}
  .social-links a{ width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; display:flex; align-items:center; justify-content:center; transition:background .15s, transform .15s;}
  .social-links a:hover{ background:var(--sky); color:var(--navy); transform:translateY(-2px);}
  .social-links svg{ width:21px; height:21px;}
  .footer-tag{ font-size:14px; max-width:280px; color:rgba(255,255,255,.6);}
  footer h4{ color:var(--white); font-family:'Inter'; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px;}
  .footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; font-size:14.5px;}
  .footer-links a{ color:rgba(255,255,255,.7); transition:color .15s;}
  .footer-links a:hover{ color:var(--sky-light);}
  .footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding:22px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:rgba(255,255,255,.5);}

  /* ---------- reveal animation ---------- */
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{ opacity:1; transform:none;}

  /* ---------- Responsive ---------- */
  @media (max-width:980px){
    .hero .wrap{ grid-template-columns:1fr; padding-bottom:80px;}
    .hero-visual{ max-width:420px; margin:0 auto;}
    .trust-grid{ grid-template-columns:repeat(2,1fr); gap:24px;}
    .steps{ grid-template-columns:repeat(2,1fr);}
    .step-connector{ display:none;}
    .price-layout, .about .wrap, .contact .wrap{ grid-template-columns:1fr; gap:40px;}
    .about .wrap{ direction:ltr;}
    .about-photo{ order:-1;}
    .footer-grid{ grid-template-columns:1fr 1fr;}
  }
  @media (max-width:760px){
    .nav-links{ display:none;}
    .burger{ display:block;}
    .phone-pill span.txt{ display:none;}
    .mobile-menu.open{
      display:flex; flex-direction:column; gap:2px; position:absolute; top:82px; left:0; right:0;
      background:var(--white); border-bottom:1px solid var(--line); padding:10px 28px 22px; box-shadow:var(--shadow);
    }
    .mobile-menu a{ padding:14px 4px; font-weight:600; color:var(--navy); border-bottom:1px solid var(--tint);}
    .section{ padding:66px 0;}
    .section-head{ margin-bottom:38px;}
    .form-row{ grid-template-columns:1fr;}
    .trust-grid, .steps{ grid-template-columns:1fr 1fr;}
    .footer-grid{ grid-template-columns:1fr; gap:36px;}
    .price-card .amount .num{ font-size:66px;}
  }
  @media (max-width:520px){
    .trust-grid, .steps{ grid-template-columns:1fr;}
    .hero-cta{ flex-direction:column; align-items:stretch;}
    .hero-cta .btn{ width:100%;}
    .price-float{ right:0; left:0; margin:0 auto; bottom:-24px; width:calc(100% - 40px);}
    .nav-cta > .btn-primary{ display:none;}
    .sched-actions .btn{ width:100%;}
    .schedule-card{ padding:30px 24px;}
    .hero-logo img{ width:100%; max-width:420px;}
  }


  /* ===== service pages ===== */
  .area-line{ font-size:14.5px; margin-top:12px; color:var(--ink-soft); max-width:480px;}
  .page-hero{ background:linear-gradient(180deg,var(--tint-2) 0%, var(--white) 100%); padding:48px 0 60px;}
  .crumbs{ display:flex; flex-wrap:wrap; gap:8px; font-size:13.5px; color:var(--ink-soft); margin-bottom:22px;}
  .crumbs a{ color:var(--blue); font-weight:600;}
  .page-hero h1{ font-size:clamp(30px,4.2vw,46px); line-height:1.1; margin-top:16px; max-width:900px;}
  .page-hero .lede{ font-size:18px; margin-top:18px; max-width:760px; color:var(--ink-soft);}
  .page-hero .lede strong{ color:var(--navy);}
  .hero-note{ margin-top:18px; font-size:14px; color:var(--ink-soft); max-width:760px;}
  .section.alt{ background:var(--tint-2);}
  .section.tight{ padding:80px 0;}
  .prose{ max-width:760px; margin:0 auto;}
  .prose h2{ font-size:clamp(26px,3vw,34px); margin-bottom:6px;}
  .prose p{ margin-top:14px; font-size:16.5px;}
  .prose ul{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:12px;}
  .prose li{ position:relative; padding-left:34px; font-size:16px; color:var(--ink-soft);}
  .prose li strong{ color:var(--navy);}
  .prose li::before{ content:''; position:absolute; left:0; top:3px; width:22px; height:22px; border-radius:50%; background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D7EBE' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat;}
  .cards.five{ grid-template-columns:repeat(5,1fr); gap:16px;}
  .cards.three{ grid-template-columns:repeat(3,1fr);}
  .cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:22px;}
  .info-card{ display:block; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:26px 24px; transition:transform .2s, box-shadow .2s;}
  a.info-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow);}
  .info-card h3{ font-family:'Inter'; font-size:17px; font-weight:700; color:var(--navy); margin-bottom:8px;}
  .info-card p{ font-size:14.5px;}
  .info-card .more{ display:inline-block; margin-top:14px; font-weight:700; color:var(--blue); font-size:14px;}
  .areas{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:26px 0 0; padding:0;}
  .areas li{ background:var(--white); border:1px solid var(--line); color:var(--navy); font-weight:600; font-size:14.5px; padding:9px 18px; border-radius:999px;}
  .prose .eyebrow{ margin-bottom:12px;}
  .photo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .photo-wide{ max-width:860px; margin:0 auto; text-align:center;}
  .photo-wide img{ display:block; width:100%; height:auto; border-radius:var(--radius-md); border:1px solid var(--line); box-shadow:var(--shadow);}
  .photo-wide figcaption{ margin-top:12px; font-size:14px; color:var(--ink-soft);}
  .photo-pair{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:820px; margin:0 auto;}
  .photo-fig{ margin:0; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow);}
  .photo-fig img{ display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 25%;}
  .photo-fig figcaption{ padding:16px 20px 18px; font-size:14.5px; color:var(--ink-soft);}
  .photo-fig figcaption strong{ display:block; color:var(--navy); font-size:15.5px; margin-bottom:4px;}
  .ba{ display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; max-width:900px; margin:48px auto 0;}
  .ba h3{ font-family:'Baloo 2'; font-size:clamp(22px,2.6vw,28px); color:var(--navy);}
  .ba p{ margin-top:10px;}
  .ba img{ display:block; width:100%; max-width:433px; height:auto; border-radius:var(--radius-md); border:1px solid var(--line); box-shadow:var(--shadow);}
  .center{ text-align:center;}
  .center .areas{ justify-content:center;}
  .book-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:start; max-width:980px; margin:0 auto;}
  .book h2{ font-size:clamp(26px,3.2vw,36px); margin-top:14px;}
  .book p{ margin-top:14px;}
  .book .checklist{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:28px;}
  .book .checklist h3{ font-family:'Inter'; font-size:16px; font-weight:700; color:var(--navy);}
  .book .checklist ul{ margin:14px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:8px; font-size:15px; color:var(--ink-soft);}
  .book .hero-cta{ margin-top:24px;}
  .related{ display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:center; margin-top:34px; font-size:15px;}
  @media (max-width:1100px){ .cards.five{ grid-template-columns:repeat(3,1fr);} }
  @media (max-width:560px){ .photo-pair{ grid-template-columns:1fr; max-width:420px;} }
  @media (max-width:520px){ .cards.five, .cards.three{ grid-template-columns:1fr;} }
  @media (max-width:760px){
    .photo-grid{ grid-template-columns:1fr; max-width:420px; margin:0 auto;}
    .ba{ grid-template-columns:1fr; gap:24px;}
    .cards.five, .cards.three{ grid-template-columns:1fr 1fr;}
    .book-grid{ grid-template-columns:1fr; gap:30px;}
    .section.tight{ padding:60px 0;}
  }
