/* Sherwood Australia — shared responsive stylesheet for rebuilt pages. */
:root{
  --navy:#0b0e4a; --navy-2:#11155c; --blue:#2749e6; --orange:#e59130; --orange-d:#c5761d;
  --ink:#0b0e4a; --muted:#5b5f78; --surface:#f4f3fb; --line:#e6e3f5; --white:#fff;
  --maxw:1140px; --r:14px;
  /* Match the original Wix site: Helvetica for body + headings (no Montserrat). */
  --sans:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",system-ui,sans-serif;
  --head:var(--sans);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
h1,h2,h3,h4{font-family:var(--head);line-height:1.16;color:var(--ink);font-weight:700;letter-spacing:-.005em}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.hl{color:var(--orange)}
.btn{display:inline-block;background:var(--orange);color:#1a1300;font-weight:700;font-family:var(--head);
  padding:14px 26px;border-radius:999px;font-size:15px;transition:.15s;border:0;cursor:pointer}
.btn:hover{background:var(--orange-d);color:#1a1300}
.btn-ghost{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}
.btn-ghost.light{color:#fff;border-color:rgba(255,255,255,.55)}
.btn-ghost.light:hover{background:rgba(255,255,255,.1);color:#fff}
/* Hero CTA row (replaces the inline hero form on service pages) */
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:30px}
.hero-cta .btn{padding:15px 30px}

/* Photographic hero backgrounds (Australian cities) under a navy scrim so text stays
   legible. Works on the flat service heroes (svc/vs/ipv) which otherwise disable ::before. */
.svc-hero.has-img,.vs-hero.has-img,.ipv-hero.has-img{background:#0b0e4a}
.svc-hero.has-img::after,.vs-hero.has-img::after,.ipv-hero.has-img::after{content:"";position:absolute;inset:0;z-index:0;background:var(--hero-img) center/cover no-repeat;opacity:.9}
.svc-hero.has-img::before,.vs-hero.has-img::before,.ipv-hero.has-img::before{content:""!important;display:block!important;position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(11,14,74,.95) 0%,rgba(11,14,74,.74) 48%,rgba(11,14,74,.5) 100%)}
.svc-hero.has-img .wrap,.vs-hero.has-img .wrap,.ipv-hero.has-img .wrap{position:relative;z-index:2}
.eyebrow{font-family:var(--head);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--blue)}
section{padding:clamp(46px,6vw,72px) 0}
.sec-dark{background:var(--navy);color:#fff}
.sec-dark h2,.sec-dark h3,.sec-dark h4{color:#fff}
/* Primary brand blue background (measured from the live site: #1b21b3) */
.sec-blue{background:#1b21b3;color:#fff}
.sec-blue h2,.sec-blue h3,.sec-blue h4{color:#fff}
.sec-blue .lead,.sec-blue .prose,.sec-blue .prose p,.sec-blue .prose li,.sec-blue p{color:rgba(255,255,255,.86)}
.sec-blue .split .role{color:var(--orange)}
.sec-soft{background:var(--surface)}
.sec-lav{background:#dfdcf2}.sec-lav,.sec-lav h2,.sec-lav h3{color:#1b21b3}.sec-lav .lead{color:#1b21b3}
.sec-lav .split h2{font-size:1.55rem;line-height:1.22}
.lead{font-size:1.08rem;color:var(--muted);max-width:760px}
.sec-dark .lead{color:rgba(255,255,255,.82)}
.prose p{margin-bottom:16px;color:var(--muted)}
.sec-dark .prose,.sec-dark .prose p,.sec-dark .prose li{color:rgba(255,255,255,.82)}
.sec-dark .split .role{color:var(--orange)}
.prose h2,.prose h3{margin:28px 0 12px}
.prose ul{margin:0 0 16px 20px;color:var(--muted)}
.prose li{margin-bottom:8px}
.center{text-align:center}
.mauto{margin-left:auto;margin-right:auto}

/* Header */
.site-head{position:sticky;top:0;z-index:50;background:#1b21b3;color:#fff}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;max-width:var(--maxw);margin:0 auto}
.logo img{height:34px;width:auto}
.nav{display:none;align-items:center;gap:26px}
.nav a{color:rgba(255,255,255,.9);font-weight:600;font-size:15px}
.nav a:hover{color:#fff}
.head-cta{display:none}
.burger{background:none;border:0;color:#fff;cursor:pointer;padding:8px;display:inline-flex}
.burger svg{width:28px;height:28px}
.mnav{display:none;flex-direction:column;background:var(--navy-2);border-top:1px solid rgba(255,255,255,.12);
  max-height:calc(100dvh - 60px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mnav.open{display:flex}
.mnav a{color:#fff;padding:14px 22px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:600}
.mnav .btn{margin:16px 22px}

/* Hero */
.hero{position:relative;background:#1b21b3;color:#fff;overflow:hidden}
.hero.has-img::after{content:"";position:absolute;inset:0;background:var(--hero-img) right center/cover no-repeat;opacity:.62}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,14,74,.9) 0%,rgba(11,14,74,.6) 48%,rgba(11,14,74,.22) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:104px;padding-bottom:10px}
.hero h1{font-size:clamp(1.9rem,4.4vw,2.6rem);font-weight:700;max-width:30ch;color:#fff;line-height:0.98}
.hero p{margin:12px 0 10px;font-size:clamp(.96rem,1.9vw,1.05rem);max-width:60ch;color:rgba(255,255,255,.92);line-height:1.4}
/* Bright-blue hero (home) — vivid blue background with the building image showing through */
.hero.hero-blue{background:linear-gradient(100deg,#0b1fbe 0%,#0d21c1 45%,#1430cf 100%)}
.hero.hero-blue.has-img::after{opacity:.8}
.hero.hero-blue::before{background:linear-gradient(90deg,rgba(11,14,74,.9) 0%,rgba(11,14,74,.66) 46%,rgba(11,14,74,.34) 100%)}

/* Cards */
.grid{display:grid;gap:22px;grid-template-columns:1fr}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;
  box-shadow:0 6px 24px -12px rgba(11,14,74,.18)}
.card h3{font-size:1.25rem;margin-bottom:12px;color:#1b21b3}
.card p{color:var(--muted);font-size:1rem;flex:1}
.card .btn{margin-top:22px;align-self:flex-start}
.sec-head{max-width:780px;margin-bottom:18px}
.sec-head h2{font-size:clamp(1.6rem,4vw,2.25rem)}
.sec-head p{margin-top:14px}

/* Pillars */
.pillars{display:grid;gap:30px;grid-template-columns:1fr}
.pillar img{height:46px;width:auto;margin-bottom:14px}
.pillar h3{font-size:1.18rem;margin-bottom:8px}
.pillar p{color:rgba(255,255,255,.8);font-size:.98rem}
.sec-soft .pillar p{color:var(--muted)}

/* Split (image + text) */
.split{display:grid;gap:34px;grid-template-columns:1fr;align-items:center}
.split img{border-radius:var(--r);width:100%}
.split .role{color:var(--orange);font-weight:700;font-family:var(--head)}
.split h2{font-size:clamp(1.4rem,2.8vw,1.62rem);line-height:1.28;margin-bottom:6px}
.why{display:grid;gap:30px;grid-template-columns:1fr;align-items:center}
.why .diamond{width:100%;max-width:270px;height:auto;justify-self:start;margin:6px 0 0;border-radius:0}

/* Stats */
.stats{display:grid;gap:26px;grid-template-columns:1fr 1fr;text-align:center}
.stat .n{font-family:var(--head);font-weight:900;font-size:clamp(1.8rem,6vw,2.8rem);color:var(--orange)}
.stat .l{color:rgba(255,255,255,.8);font-size:.95rem;margin-top:6px}

/* Logos */
.logos{text-align:center}
.logos img{margin:26px auto 0;max-width:980px;width:100%}

/* Contact */
.talk{text-align:center}
.talk .contacts{display:flex;flex-direction:column;gap:6px;align-items:center;margin:18px 0 26px;font-size:1.05rem}
.sec-blue .contacts a{color:#fff}.sec-blue .contacts a:hover{color:var(--orange)}

/* Form */
.form{max-width:620px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:0 6px 24px -12px rgba(11,14,74,.18)}
.form label{display:block;font-weight:600;font-size:.92rem;margin:14px 0 6px}
.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;font-size:1rem}
.form textarea{min-height:120px;resize:vertical}
.form .btn{margin-top:20px;border:0}
.note{font-size:.85rem;color:var(--muted);margin-top:12px}

/* Partner */
.partner{text-align:center}
.partner h2{font-size:clamp(1.5rem,4.5vw,2.1rem)}

/* Footer */
.foot{background:#0b0e4a;color:rgba(255,255,255,.82);font-size:.92rem;padding:34px 0 38px}
.foot a{color:rgba(255,255,255,.82);text-decoration:underline}.foot a:hover{color:#fff}
.foot .foot-row{display:flex;align-items:center;justify-content:space-between;gap:30px}
.foot .foot-info{flex:1}
.foot .reg{line-height:1.6;margin-bottom:20px}
.foot .reg strong{color:#fff;font-weight:700}
.foot .legal2{margin:0;color:rgba(255,255,255,.82)}
.foot .badge{height:140px;width:auto;flex:0 0 auto}

/* Tablet */
@media(min-width:680px){
  .grid{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(4,1fr)}
  .foot .cols{grid-template-columns:2fr 1fr 1fr}
  .split{grid-template-columns:1fr 1.1fr}
  .split.img-right{grid-template-columns:1.1fr 1fr}
  .why{grid-template-columns:1.2fr .8fr}
  .why .diamond{justify-self:end;max-width:330px}
}
/* Desktop */
@media(min-width:1000px){
  body{font-size:18px}
  section{padding:clamp(46px,6vw,72px) 0}
  .nav{display:flex}
  .burger{display:none}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .pillars{grid-template-columns:repeat(4,1fr)}
}

/* Form colours — make labels/inputs readable regardless of section background.
   Base .form is a white card → dark text; .hero-form sits on the blue hero → white
   labels with white-filled inputs. (Fixes the /contact form rendering white-on-white
   inside a .sec-blue section, and keeps every hero form consistent.) */
.form label{color:var(--ink)}
.form input,.form textarea{color:var(--ink)}
.form.hero-form{background:transparent;border:0;box-shadow:none;padding:0}
.form.hero-form label{color:#fff}
.form.hero-form input,.form.hero-form textarea{background:#fff;color:var(--ink)}
/* When a hero-form lands on a LIGHT section (section-rhythm parity, e.g. the calculator's
   bottom "Get a proper valuation" form), its white labels became invisible — force dark. */
.sec-blue:nth-of-type(even) .form.hero-form label,.sec-light .form.hero-form label{color:var(--ink)}

/* Nav dropdown caret — signal that the item opens a menu. */
.nav .has-drop>a{display:inline-flex;align-items:center;gap:6px}
.nav .has-drop>a::after{content:"";width:0;height:0;border:4px solid transparent;border-top-color:currentColor;border-bottom:0;margin-top:3px;transition:transform .15s}
.nav .has-drop:hover>a::after,.nav .has-drop:focus-within>a::after{transform:rotate(180deg)}

/* Sticky "Get a quote" bar — context-aware, always-available CTA (bottom of viewport). */
.quote-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);color:#fff;transform:translateY(110%);transition:transform .28s ease;box-shadow:0 -8px 28px -14px rgba(0,0,0,.55)}
.quote-bar.show{transform:none}
.quote-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}
.quote-bar .qb-msg{font-family:var(--head);font-weight:600;font-size:1.02rem;line-height:1.3}
.quote-bar .qb-msg b{color:var(--orange);font-weight:700}
.quote-bar .qb-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}
.quote-bar .qb-actions .tel{color:#fff;font-weight:600}
.quote-bar .qb-actions .tel:hover{color:var(--orange)}
.quote-bar .qb-actions .btn{padding:11px 22px}
.quote-bar .qb-close{background:none;border:0;color:rgba(255,255,255,.55);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 2px}
.quote-bar .qb-close:hover{color:#fff}
@media(max-width:640px){.quote-bar .wrap{padding:10px 14px;gap:10px}.quote-bar .qb-msg{font-size:.9rem}.quote-bar .qb-actions .tel,.quote-bar .qb-close{display:none}.quote-bar .qb-actions .btn{padding:10px 16px;font-size:14px}}

/* ===== Shared classes for the new hub-and-spoke service pages ===== */
/* Flat brand-blue hero with a single-column stacked form (matches valuation-services / ip-valuation). */
.svc-hero.hero::before{display:none}
.svc-hero.hero{background:#1b21b3}
.svc-hero.hero .wrap{padding-top:58px;padding-bottom:56px}
.svc-hero .hero-inner{max-width:905px}
.svc-hero h1{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.08;max-width:none;margin-bottom:4px}
.svc-hero .lead-sub{font-size:clamp(1.05rem,1.5vw,1.22rem);font-weight:500;color:#fff;margin:16px 0 4px;line-height:1.35;max-width:none}
.svc-hero p.intro{color:rgba(255,255,255,.9);margin:14px 0 0;font-size:1.02rem;line-height:1.5;max-width:none}
.svc-hero .checklist{list-style:none;margin:18px 0 0;color:rgba(255,255,255,.92);line-height:2}
.svc-hero .hero-form{max-width:905px;margin-top:32px}
.svc-hero .hero-form label{display:block;color:#fff;font-size:.98rem;font-weight:400;margin:18px 0 8px}
.svc-hero .hero-form input,.svc-hero .hero-form textarea{width:100%;background:#fff;border:0;border-radius:6px;padding:14px 16px;font:inherit;font-size:1rem;color:#0b0e4a}
.svc-hero .hero-form textarea{min-height:120px;resize:vertical}
.svc-hero .hero-form .btn{display:block;width:100%;margin-top:26px;text-transform:uppercase;letter-spacing:.05em;padding:16px}
.svc-hero .prefer{margin-top:20px;color:rgba(255,255,255,.85);font-size:.95rem}
.svc-hero .prefer a{color:#9fb0ff}
/* Flat multi-across columns with orange headings (methodology / how it works).
   Given a subtle card so they read as intentional blocks, not floating text. */
.svc-cols{display:grid;gap:20px;grid-template-columns:1fr}
.sec-blue .svc-cols .col,.sec-blue .ipv-cols .col,.sec-blue .lic-cols .col{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:22px 20px}
/* Title-only label grids → pill chips instead of floating text. */
.sec-blue .lic-labels .lab{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:15px 18px;font-size:1.02rem!important}
.svc-cols .col h3{color:var(--orange);font-family:var(--head);font-size:1.05rem;margin-bottom:10px}
.svc-cols .col p{color:rgba(255,255,255,.82);font-size:.96rem;line-height:1.5}
@media(min-width:880px){.svc-cols{grid-template-columns:repeat(4,1fr)}.svc-cols.cols-3{grid-template-columns:repeat(3,1fr)}}
/* ===== Section rhythm: alternate blue content sections render LIGHT ===== */
/* Auto-applied via nth-of-type so every page gets blue→white→blue balance without
   per-page edits. Higher specificity than the base .sec-blue rules, so it inverts
   text/card colours cleanly. The same treatment is exposed as .sec-light for sections
   that opt in explicitly (e.g. the bottom quote form). */
.sec-blue:nth-of-type(even),.sec-light{background:var(--surface);color:var(--ink)}
.sec-blue:nth-of-type(even) h2,.sec-blue:nth-of-type(even) h3,.sec-blue:nth-of-type(even) h4,
.sec-light h2,.sec-light h3,.sec-light h4{color:var(--ink)}
.sec-blue:nth-of-type(even) .lead,.sec-light .lead{color:var(--muted)}
.sec-blue:nth-of-type(even) p,.sec-blue:nth-of-type(even) .prose p,.sec-blue:nth-of-type(even) .prose li,.sec-blue:nth-of-type(even) li,
.sec-light p,.sec-light .prose p,.sec-light .prose li,.sec-light li{color:var(--muted)}
.sec-blue:nth-of-type(even) .prose strong,.sec-blue:nth-of-type(even) strong,
.sec-light .prose strong,.sec-light strong{color:var(--ink)}
/* Card variants → white cards, dark text */
.sec-blue:nth-of-type(even) .card,.sec-light .card{background:#fff;border:1px solid var(--line);box-shadow:0 6px 20px -14px rgba(11,14,74,.18)}
.sec-blue:nth-of-type(even) .card h3,.sec-light .card h3{color:var(--ink)}
.sec-blue:nth-of-type(even) .card p,.sec-light .card p{color:var(--muted)}
.sec-blue:nth-of-type(even) .svc-cards .card,.sec-blue:nth-of-type(even) .spoke-grid a.card,
.sec-light .svc-cards .card,.sec-light .spoke-grid a.card{background:#fff;border:1px solid var(--line)}
.sec-blue:nth-of-type(even) .svc-cards .card h3,.sec-blue:nth-of-type(even) .spoke-grid a.card h3,
.sec-light .svc-cards .card h3,.sec-light .spoke-grid a.card h3{color:var(--ink)}
.sec-blue:nth-of-type(even) .svc-cards .card p,.sec-blue:nth-of-type(even) .spoke-grid a.card p,
.sec-light .svc-cards .card p,.sec-light .spoke-grid a.card p{color:var(--muted)}
.sec-blue:nth-of-type(even) .svc-cols .col,.sec-blue:nth-of-type(even) .ipv-cols .col,.sec-blue:nth-of-type(even) .lic-cols .col,
.sec-light .svc-cols .col,.sec-light .ipv-cols .col,.sec-light .lic-cols .col{background:#fff;border:1px solid var(--line)}
.sec-blue:nth-of-type(even) .svc-cols .col p,.sec-blue:nth-of-type(even) .ipv-cols .col p,
.sec-light .svc-cols .col p,.sec-light .ipv-cols .col p{color:var(--muted)}
.sec-blue:nth-of-type(even) .stat .l,.sec-light .stat .l{color:var(--muted)}
.sec-blue:nth-of-type(even) .lic-prose p,.sec-light .lic-prose p{color:var(--muted)}
.sec-blue:nth-of-type(even) .lic-labels .lab,.sec-light .lic-labels .lab{background:#fff;border:1px solid var(--line);color:var(--ink)!important}
.sec-blue:nth-of-type(even) .contacts a,.sec-light .contacts a{color:var(--blue)}
/* Fix inline light-blue cross-links (color:#9fb0ff) so they read on a light bg */
.sec-blue:nth-of-type(even) a[style*="9fb0ff"],.sec-light a[style*="9fb0ff"]{color:var(--blue)!important}
/* Fix inline white text (e.g. <strong style="color:#fff">) inside light sections */
.sec-blue:nth-of-type(even) [style*="#fff"],.sec-light [style*="#fff"]{color:var(--ink)!important}

/* Legacy pages (.aiv-/.ips-/.ipv-/.lic-) hardcode white/cornflower text in their scoped
   <style> (built for the blue background). Force readable colours + white cards whenever
   such a section lands on the light treatment (fixes empty white boxes + invisible text). */
:is(.sec-blue:nth-of-type(even),.sec-light) :is(.lic-cols .col,.ips-cols .col,.aiv-cols .col,.ipv-cards .card,.ips-deal){background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 18px}
:is(.sec-blue:nth-of-type(even),.sec-light) :is(.lic-cols .col h3,.ips-cols .col h3,.aiv-cols .col h3,.ipv-cards .card h3,.ips-deal h3,.ips-step h3,.ips-faq .q){color:var(--ink)}
:is(.sec-blue:nth-of-type(even),.sec-light) :is(.lic-cols .col p,.ips-cols .col p,.aiv-cols .col p,.aiv-cols .col li,.ipv-cards .card p,.ipv-cols .col p,.ips-deal p,.ips-step p,.ips-faq .a,.ips-prose p,.ips-prose ul,.lic-prose p,.aiv-prose p,.aiv-why .callout p,.lic-contact,.ips-contact,.aiv-cta .prefer,.aiv-cta .fineprint){color:var(--muted)}
:is(.sec-blue:nth-of-type(even),.sec-light) :is(.lic-contact a,.ips-contact a,.aiv-cta .prefer a){color:var(--blue)}
:is(.sec-blue:nth-of-type(even),.sec-light) .ips-prose li strong{color:var(--ink)}

/* Bottom-of-page quote form */
.quote-form-sec .quote-form{max-width:720px;margin:26px auto 0}
.qf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;font-size:1rem;color:var(--ink);background:#fff}
.quote-form .btn{width:100%;margin-top:22px;border:0}
.quote-form-sec .contacts,.quote-form-sec a{}
@media(max-width:560px){.qf-row{grid-template-columns:1fr}}
/* Bordered transparent cards, white headings. */
.svc-cards .card{background:transparent;border:1px solid rgba(255,255,255,.22);box-shadow:none}
.svc-cards .card h3{color:#fff}
.svc-cards .card p{color:rgba(255,255,255,.86)}
/* Testimonial cards. */
.svc-quotes .card{position:relative;padding-top:50px}
.svc-quotes .card .qmark{font-family:Georgia,"Times New Roman",serif;font-size:3.6rem;line-height:.6;color:#1b21b3;position:absolute;top:22px;left:22px}
.svc-quotes .card p.q{color:#2a2d55;font-size:1rem;line-height:1.55;flex:1}
.svc-quotes .card .who{margin-top:18px;color:#1b21b3;font-weight:700;font-size:.95rem}
.svc-quotes .card .tag{color:#1b21b3;font-weight:700;font-size:.95rem;margin-top:4px}
/* "Explore" spoke-link grid on the hub. */
.spoke-grid a.card{background:transparent;border:1px solid rgba(255,255,255,.22);box-shadow:none;text-decoration:none;transition:.15s}
.spoke-grid a.card:hover{border-color:var(--orange);transform:translateY(-2px)}
.spoke-grid a.card h3{color:#fff;font-size:1.05rem}
.spoke-grid a.card p{color:rgba(255,255,255,.82);font-size:.94rem}
.spoke-grid a.card .arrow{color:var(--orange);font-weight:700;margin-top:12px;font-size:.9rem}
/* Nav dropdown for Valuations. */
.nav .has-drop{position:relative}
.nav .has-drop>.drop{display:none;position:absolute;top:100%;left:0;min-width:250px;background:#0b0e4a;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:8px;box-shadow:0 12px 34px -12px rgba(0,0,0,.5);z-index:40}
.nav .has-drop:hover>.drop,.nav .has-drop:focus-within>.drop{display:block}
.nav .has-drop>.drop a{display:block;padding:9px 12px;border-radius:7px;color:rgba(255,255,255,.9);font-size:.95rem}
.nav .has-drop>.drop a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav .has-drop>.drop a.sub{padding-left:26px;font-size:.9rem;color:rgba(255,255,255,.72)}
.nav .has-drop>.drop a.sub::before{content:"–";position:absolute;left:12px;color:var(--orange)}
.nav .has-drop>.drop a.sub{position:relative}
/* Lead-magnet calculator widget. */
.calc-wrap{max-width:720px;margin:40px auto 0;background:#fff;border-radius:14px;padding:30px 28px;box-shadow:0 10px 34px -14px rgba(11,14,74,.3);text-align:center}
.calc-frame{color:var(--muted);font-size:.92rem;margin-bottom:8px}
.calc-wrap label{display:block;color:#0b0e4a;font-weight:600;font-size:.95rem;margin:16px 0 7px}
.calc-wrap input,.calc-wrap select{width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font:inherit;font-size:1rem;color:#0b0e4a;text-align:center}
.calc-wrap .btn{margin-top:22px;border:0;width:100%;padding:15px;text-transform:uppercase;letter-spacing:.05em}
.calc-out{margin-top:24px;padding:22px;border-radius:12px;background:#f4f3fb;text-align:center;display:none}
.calc-out.show{display:block}
.calc-out .range{font-family:var(--head);font-weight:900;font-size:clamp(1.5rem,5vw,2.1rem);color:#1b21b3;line-height:1.1}
.calc-out .cap{color:var(--muted);font-size:.92rem;margin-top:10px;line-height:1.5}
.calc-wrap .calc-disc{font-size:.8rem;color:var(--muted);max-width:none;margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);text-align:center;line-height:1.55}
/* Progressive lead capture — revealed after the indicative range is shown. */
.calc-lead{display:none;margin-top:22px;padding:26px 24px;border-radius:12px;background:#f4f3fb;border:1px solid var(--line);text-align:center}
.calc-lead.show{display:block}
.calc-lead-h{font-family:var(--head);color:#1b21b3;font-size:1.18rem;line-height:1.25;margin:0 0 6px}
.calc-lead .calc-lead-p{color:var(--muted);font-size:.95rem;line-height:1.5;margin:0 auto 4px;max-width:44ch}
.calc-lead-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calc-lead .form{background:none;border:0;box-shadow:none;padding:0;max-width:none;margin:0}

/* ===== Blog (Insights) — blue hero, light sections below ===== */
.blog-sec-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.blog-sec-head h2{margin:0;color:var(--ink);font-size:clamp(1.5rem,2.6vw,1.9rem)}
.read-all{white-space:nowrap;padding:9px 18px;font-size:14px}
/* Post cards — clean white cards on the light section */
.blog-grid .post-card{background:#fff;border:1px solid var(--line);box-shadow:0 6px 20px -14px rgba(11,14,74,.25);transition:.15s}
.blog-grid .post-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(11,14,74,.32);border-color:#d9d5ef}
.post-card .blog-meta{color:var(--orange);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:9px}
.post-card h3{color:var(--ink);font-size:1.12rem;line-height:1.25}
.post-card p{color:var(--muted);font-size:.96rem;flex:1}
.post-card .arrow{color:var(--orange);font-weight:700;margin-top:14px;font-size:.9rem}
/* Explore-the-service card — deliberately DISTINCT (navy) from the white post cards */
.blog-grid .hub-card{background:var(--navy);border:1px solid var(--navy);box-shadow:0 10px 28px -14px rgba(11,14,74,.5);transition:.15s}
.blog-grid .hub-card:hover{transform:translateY(-3px);background:#11155c}
.hub-card .hub-eyebrow{font-family:var(--head);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--orange);margin-bottom:10px}
.hub-card h3{color:#fff;font-size:1.15rem}
.hub-card p{color:rgba(255,255,255,.8);font-size:.96rem;flex:1}
.hub-card .arrow{color:var(--orange);font-weight:700;margin-top:16px;font-size:.9rem}
/* Empty-state placeholder card (light) */
.blog-grid .blog-empty{background:transparent;border:1px dashed var(--line);box-shadow:none}
.blog-empty h3{color:var(--ink);font-size:1.1rem}
.blog-empty p{color:var(--muted)}
/* Single-post hero (still on blue) */
.blog-crumbs{font-size:.9rem;color:rgba(255,255,255,.8);margin-bottom:14px}
.blog-crumbs a{color:#9fb0ff}
.blog-meta.light{color:rgba(255,255,255,.8);font-size:.95rem;margin-top:10px}
/* Article body on the light section */
.post-body{max-width:760px;margin:0 auto;color:var(--ink);font-size:1.06rem;line-height:1.7}
.post-body h2{font-size:clamp(1.4rem,2.6vw,1.7rem);margin:34px 0 12px}
.post-body h3{font-size:1.2rem;margin:26px 0 10px}
.post-body p{margin:0 0 18px;color:#2a2d55}
.post-body ul,.post-body ol{margin:0 0 18px 22px;color:#2a2d55}
.post-body li{margin:0 0 8px}
.post-body a{color:var(--blue);text-decoration:underline}
.post-body img{border-radius:10px;margin:20px 0}
.post-body blockquote{border-left:3px solid var(--orange);margin:20px 0;padding:4px 0 4px 20px;color:#3a3d6b;font-style:italic}
/* Inline service CTA at the end of an article */
.post-cta{max-width:760px;margin:34px auto 0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:12px;padding:24px 26px;display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 8px 26px -16px rgba(11,14,74,.3)}
.post-cta h3{margin:0 0 6px;font-size:1.15rem;color:var(--ink)}
.post-cta p{margin:0;color:var(--muted);font-size:.98rem;max-width:46ch}
.post-cta-actions{display:flex;gap:10px;flex-wrap:wrap}

/* ===== Client feedback (2026-07) ===== */
/* Hero descriptive text should read at the SAME size as the bullet points that follow
   it (previously the intro paragraph was slightly smaller than the checklist). Applies
   to every hero variant (svc-/vs-/ipv-/aiv-hero) — !important beats the per-page scoped
   <style> blocks that set .intro to 1.02rem. */
.hero .intro,.hero .checklist,.hero .checklist li{font-size:1.08rem!important}
.hero .intro{line-height:1.55!important}
/* Honeypot field for lead forms — visually hidden, off-screen, out of tab order. */
.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
