@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");
/* Vital SEO — shared website styles */
:root{
  --ink:#172033;
  --text:#37445a;
  --muted:#6f7b8f;
  --blue:#2f80ed;
  --blue-dark:#1b5fb8;
  --blue-soft:#eaf4ff;
  --blue-pale:#f5faff;
  --line:#dce4ee;
  --surface:#ffffff;
  --surface-alt:#f3f6f9;
  --slate:#273349;
  --shadow:0 18px 50px rgba(32,58,89,.10);
  --radius:18px;
  --max:1080px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--ink);font-size:1.18rem;letter-spacing:-.02em}
.hero{position:relative;overflow:hidden;padding:104px 0 90px;background:linear-gradient(180deg,#f6fbff 0%,#fff 82%)}.hero:before{content:"";position:absolute;width:560px;height:560px;right:-190px;top:-210px;border-radius:50%;background:radial-gradient(circle,rgba(83,167,247,.26),rgba(83,167,247,0) 68%)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center;position:relative}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.74rem;color:var(--blue-dark)}.eyebrow:before{content:"";width:26px;height:2px;background:var(--blue)}h1,h2,h3{color:var(--ink);line-height:1.12;margin:0 0 18px;letter-spacing:-.035em}h1{font-size:clamp(2.75rem,6vw,5.4rem);max-width:850px}h2{font-size:clamp(2rem,4vw,3.35rem)}h3{font-size:1.22rem}.lead{font-size:1.2rem;line-height:1.65;color:#56647a;max-width:700px}

/* Standard page heroes: intro copy beneath the H1 uses the full container width */
.page-hero .lead{max-width:none}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:11px;font-weight:750;border:1px solid transparent;transition:.18s}.btn-primary{background:var(--blue);color:white;box-shadow:0 10px 24px rgba(47,128,237,.22)}.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}.btn-secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn-secondary:hover{border-color:#aab8ca;background:var(--surface-alt)}.hero-panel{background:#fff;border:1px solid #dfe8f2;border-radius:24px;padding:28px;box-shadow:var(--shadow);position:relative}.hero-panel:before{content:"";position:absolute;inset:0;border-radius:24px;pointer-events:none;background:linear-gradient(135deg,rgba(112,190,255,.18),transparent 34%)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}.metric{padding:20px;background:var(--surface-alt);border-radius:14px;border:1px solid #e7ecf2}.metric strong{display:block;font-size:1.45rem;color:var(--ink)}.metric span{font-size:.86rem;color:var(--muted)}.signal{grid-column:1/-1;padding:18px 20px;border-radius:14px;background:var(--slate);color:#dfe7f4}.signal b{color:#fff}.signal-line{height:7px;background:#3b4961;border-radius:99px;margin-top:14px;overflow:hidden}.signal-line:after{content:"";display:block;width:72%;height:100%;background:linear-gradient(90deg,#71c5ff,#2f80ed);border-radius:99px}
.section{padding:86px 0}.section-alt{background:var(--surface-alt)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-head p{max-width:600px;margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.management-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.five-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.five-card-grid>.card{grid-column:span 2}.five-card-grid>.card:nth-child(4){grid-column:2/span 2}.five-card-grid>.card:nth-child(5){grid-column:4/span 2}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:.2s ease}.card:hover{transform:translateY(-4px);border-color:#b9d8f6;box-shadow:0 14px 35px rgba(34,73,117,.08)}.card-icon{width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue-dark);display:grid;place-items:center;font-weight:800;margin-bottom:18px}.card p{color:var(--muted);margin-bottom:0}.card .text-link{display:inline-block;color:var(--blue-dark);font-weight:750;margin-top:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.check-list{list-style:none;padding:0;margin:26px 0 0}.check-list li{position:relative;padding:8px 0 8px 31px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.quote{padding:30px;border-left:3px solid #6bb8f7;background:#fff;border-radius:0 16px 16px 0;box-shadow:var(--shadow)}.cta-band{background:linear-gradient(135deg,#e9f5ff,#f8fbfd);border:1px solid #d5e8f8;border-radius:24px;padding:44px;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta-band p{margin:0;max-width:650px}.page-hero{padding:76px 0 60px;background:linear-gradient(180deg,#f4faff,#fff)}.page-hero h1{font-size:clamp(2.7rem,5vw,4.4rem);max-width:920px}.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:26px}.breadcrumbs a:hover{color:var(--blue-dark)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px}.prose{font-size:1.06rem}.prose h2{margin-top:44px;font-size:2rem}.prose h3{margin-top:32px}.prose p,.prose li{color:#536176}.aside-card{position:sticky;top:90px;border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--blue-pale)}.aside-card ul{list-style:none;padding:0;margin:16px 0 0}.aside-card li+li{border-top:1px solid #d7e6f4}.aside-card a{display:block;padding:10px 0;color:var(--blue-dark);font-weight:650}.service-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-group{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.service-group ul{list-style:none;padding:0;margin:18px 0 0}.service-group li+li{border-top:1px solid #edf1f5}.service-group a{display:block;padding:11px 0;color:#47556a}.service-group a:hover{color:var(--blue-dark)}.form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-weight:700;color:var(--ink);margin-bottom:6px}.field input,.field textarea{width:100%;padding:13px 14px;border:1px solid #ccd7e3;border-radius:10px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field textarea:focus{border-color:#78baf4;box-shadow:0 0 0 3px #e5f3ff}.field textarea{min-height:160px;resize:vertical}.site-map{columns:2;column-gap:40px}.site-map li{break-inside:avoid;margin:7px 0}.site-map ul{margin-top:5px}.policy{max-width:820px}.policy h2{font-size:1.7rem;margin-top:38px}
.site-footer{background:#182236;color:#aeb9ca;padding:60px 0 26px;margin-top:70px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px}.footer-brand .brand{color:#fff}.site-footer h3{color:#fff;font-size:.95rem;letter-spacing:.02em}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:8px 0}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #324059;margin-top:44px;padding-top:22px;font-size:.85rem;display:flex;justify-content:space-between;gap:20px}
@media(max-width:900px){.hero-grid,.split,.content-grid{grid-template-columns:1fr}.hero{padding-top:72px}.cards,.service-nav,.five-card-grid{grid-template-columns:1fr 1fr}.five-card-grid>.card,.five-card-grid>.card:nth-child(4),.five-card-grid>.card:nth-child(5){grid-column:auto}.aside-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){.container{width:min(100% - 28px,var(--max))}.hero{padding:58px 0 66px}.hero-grid{gap:38px}h1{font-size:2.65rem}.section{padding:66px 0}.cards,.service-nav,.process,.footer-grid,.form-grid,.five-card-grid{grid-template-columns:1fr}.section-head,.cta-band,.footer-bottom{align-items:flex-start;flex-direction:column}.cta-band{padding:30px}.metric-grid{grid-template-columns:1fr}.signal{grid-column:auto}.site-map{columns:1}}

/* Two-level Services navigation */















/* Final navigation behaviour: two-level dropdowns + mobile +/- controls */

.event-step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.event-step h3{margin-bottom:8px}.event-step p{color:var(--muted);margin:0}
.event-modal-backdrop{position:fixed;inset:0;background:rgba(17,30,48,.66);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:2000;opacity:0;visibility:hidden;transition:.2s ease}
.event-modal-backdrop.is-visible{opacity:1;visibility:visible}
.event-modal{width:min(100%,720px);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.25);position:relative}
.event-modal-header{padding:28px 32px 18px;border-bottom:1px solid #e8eef4;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:2}
.event-modal-header h2{font-size:1.75rem;margin:0 40px 7px 0}.event-modal-header p{margin:0;color:var(--muted);font-size:.93rem}
.event-modal-close{position:absolute;right:20px;top:20px;width:38px;height:38px;border:1px solid #d7e1eb;border-radius:10px;background:#fff;color:#556478;font-size:1.35rem;cursor:pointer}.event-modal-close:hover{background:#f3f7fb;color:var(--ink)}
.event-progress{display:flex;gap:7px;margin-top:20px}.event-progress span{height:4px;flex:1;border-radius:99px;background:#e4ebf2}.event-progress span.active{background:linear-gradient(90deg,#71c5ff,#2f80ed)}
.event-modal-body{padding:28px 32px 32px}.event-step-panel{display:none}.event-step-panel.active{display:block}.event-question{font-size:1.18rem;font-weight:800;margin-bottom:16px}.event-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-option{position:relative}.event-option input{position:absolute;opacity:0;pointer-events:none}.event-option label{display:block;padding:15px 16px;border:1px solid #d5e0eb;border-radius:12px;cursor:pointer;background:#fff;color:#445267;transition:.16s ease}.event-option label:hover{border-color:#9bc8ee;background:#f7fbff}.event-option input:checked+label{border-color:#2f80ed;background:#eaf5ff;color:#174f87;box-shadow:inset 0 0 0 1px #2f80ed}
.event-field{margin-bottom:15px}.event-field label{display:block;font-weight:750;margin-bottom:6px}.event-field input,.event-field textarea,.event-field select{width:100%;padding:13px 14px;border:1px solid #ccd7e3;border-radius:10px;background:#fff;color:var(--ink);font:inherit;outline:none}.event-field input:focus,.event-field textarea:focus,.event-field select:focus{border-color:#78baf4;box-shadow:0 0 0 3px #e5f3ff}.event-field textarea{min-height:100px;resize:vertical}.event-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.event-modal-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.event-modal-actions .btn{cursor:pointer}.event-note{font-size:.78rem;color:#78869a;margin-top:12px}.event-success{text-align:center;padding:18px 0 8px}.event-success-icon{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e8f6ef;color:#16824f;font-size:1.5rem;font-weight:900}.event-success h3{font-size:1.7rem;margin-bottom:8px}.event-success p{color:var(--muted);max-width:520px;margin:0 auto}
body.event-modal-open{overflow:hidden}

@media(max-width:620px){.event-steps,.event-options,.event-form-grid{grid-template-columns:1fr}.event-modal-backdrop{padding:10px}.event-modal{max-height:calc(100vh - 20px);border-radius:17px}.event-modal-header{padding:23px 20px 16px}.event-modal-body{padding:22px 20px 24px}.event-modal-close{right:14px;top:14px}.event-modal-actions{flex-direction:column-reverse}.event-modal-actions .btn{width:100%;justify-content:center}}
.event-step-copy{margin:-6px 0 18px;color:var(--muted);font-size:.93rem}
.event-options-main{grid-template-columns:1fr}
.event-options-main .event-option label{padding:18px 18px}
.event-options-main .event-option label strong{display:block;color:inherit;font-size:1rem;margin-bottom:4px}
.event-options-main .event-option label span{display:block;color:#728096;font-size:.84rem;line-height:1.45}
.event-options-main .event-option input:checked+label span{color:#47709b}


/* Insights editorial layout */
.insights-hero{padding:88px 0 70px;background:linear-gradient(180deg,#f4faff 0%,#fff 100%);border-bottom:1px solid var(--line)}
.insight-article{padding:78px 0}
.insight-article h1{font-size:clamp(2.4rem,5vw,4.4rem);max-width:100%;margin-bottom:26px}
.insight-article h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:50px}
.insight-article h3{font-size:1.3rem;margin-top:34px}
.insight-article p{font-size:1.05rem;line-height:1.8;color:#45536a;margin:0 0 18px}
.insight-article .article-lead{font-size:1.25rem;color:#56647a}

/* Desktop two-panel nested navigation */


/* Site-wide dark mode */






html[data-theme="dark"]{color-scheme:dark;--ink:#f1f6fc;--text:#c8d2df;--muted:#98a7ba;--blue:#69b5ff;--blue-dark:#8ac8ff;--blue-soft:#19344c;--blue-pale:#132638;--line:#34475d;--surface:#182536;--surface-alt:#111d2b;--slate:#0b1522;--shadow:0 18px 50px rgba(0,0,0,.32)}
html[data-theme="dark"] body{background:#0f1a27;color:var(--text)}


html[data-theme="dark"] .brand,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3{color:var(--ink)}





html[data-theme="dark"] .hero,html[data-theme="dark"] .page-hero,html[data-theme="dark"] .insights-hero{background:linear-gradient(180deg,#122334 0%,#0f1a27 100%)}
html[data-theme="dark"] .hero-panel,html[data-theme="dark"] .card,html[data-theme="dark"] .process-item,html[data-theme="dark"] .quote,html[data-theme="dark"] .cta-band,html[data-theme="dark"] .service-group,html[data-theme="dark"] .aside-card,html[data-theme="dark"] .insight-card{background:#182536;border-color:#34475d;box-shadow:0 18px 50px rgba(0,0,0,.22)}
html[data-theme="dark"] .metric,html[data-theme="dark"] .event-card,html[data-theme="dark"] .event-step{background:#1b2b3e;border-color:#34475d}
html[data-theme="dark"] .section-alt,html[data-theme="dark"] .event-section.alt{background:#111d2b}
html[data-theme="dark"] .lead,html[data-theme="dark"] .section-head p,html[data-theme="dark"] .card p,html[data-theme="dark"] .prose p,html[data-theme="dark"] .prose li,html[data-theme="dark"] .insight-article p{color:#aebccd}
html[data-theme="dark"] .btn-secondary{background:#182536;border-color:#40556c;color:#f1f6fc}
html[data-theme="dark"] .btn-secondary:hover{background:#213448;border-color:#66809b}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field textarea,html[data-theme="dark"] .event-field input,html[data-theme="dark"] .event-field textarea,html[data-theme="dark"] .event-field select{background:#152435;color:#f1f6fc;border-color:#40556c}
html[data-theme="dark"] .event-modal{background:#152435;color:#c8d2df}
html[data-theme="dark"] .event-modal-header{background:rgba(21,36,53,.96);border-color:#34475d}
html[data-theme="dark"] .event-modal-close{background:#1a2b3d;color:#c8d2df;border-color:#40556c}
html[data-theme="dark"] .event-option label{background:#182a3d;border-color:#40556c;color:#c8d2df}
html[data-theme="dark"] .event-option label:hover{background:#20384e;border-color:#6aaee4}
html[data-theme="dark"] .event-option input:checked+label{background:#173a59;color:#b9ddff;border-color:#69b5ff}
html[data-theme="dark"] .event-note{color:#8798ad}
html[data-theme="dark"] .site-footer{background:#070f18}
html[data-theme="dark"] .footer-bottom{border-color:#26384c}


html[data-theme="dark"] .signal{background:#0d1826;color:#c8d2df}
html[data-theme="dark"] .signal-line{background:#26394d}
html[data-theme="dark"] .breadcrumbs,html[data-theme="dark"] .event-proof span,html[data-theme="dark"] .event-card p,html[data-theme="dark"] .event-section-head p{color:#9aabbe}

/* Insight article tables restored from the original source documents */
.insight-table-wrap{width:100%;overflow-x:auto;margin:1.5rem 0 2rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 10px 30px rgba(32,58,89,.06)}
.insight-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.93rem;line-height:1.55;color:var(--text)}
.insight-table th{padding:12px 14px;text-align:left;font-weight:800;color:var(--ink);background:var(--blue-pale);border-bottom:2px solid var(--line);vertical-align:top}
.insight-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.insight-table tr:last-child td{border-bottom:0}
.insight-table tbody tr:nth-child(even) td{background:var(--surface-alt)}
.insight-table a{overflow-wrap:anywhere}
html[data-theme="dark"] .insight-table-wrap{background:#182536;border-color:#34475d;box-shadow:0 12px 34px rgba(0,0,0,.22)}
html[data-theme="dark"] .insight-table th{background:#132638;color:#f1f6fc;border-color:#34475d}
html[data-theme="dark"] .insight-table td{border-color:#34475d}
html[data-theme="dark"] .insight-table tbody tr:nth-child(even) td{background:#1b2b3e}
@media(max-width:700px){.insight-table{min-width:560px;font-size:.88rem}.insight-table th,.insight-table td{padding:10px 11px}}


/* Text wordmark — scales with the header's compact state */















/* Refined header alignment and scroll states */












/* Vital SEO ambient background — CSS only, no external assets */
body{position:relative;isolation:isolate;background:var(--surface);overflow-x:hidden}
body::before,body::after{content:"";position:fixed;inset:-15%;pointer-events:none;z-index:0}
body::before{background:
  radial-gradient(circle at 15% 20%,rgba(47,128,237,.13) 0,rgba(47,128,237,0) 22%),
  radial-gradient(circle at 82% 18%,rgba(105,181,255,.12) 0,rgba(105,181,255,0) 20%),
  radial-gradient(circle at 72% 82%,rgba(47,128,237,.09) 0,rgba(47,128,237,0) 25%),
  linear-gradient(rgba(47,128,237,.045) 1px,transparent 1px),
  linear-gradient(90deg,rgba(47,128,237,.045) 1px,transparent 1px);
  background-size:auto,auto,auto,42px 42px,42px 42px;
  animation:vitalAmbientA 32s ease-in-out infinite alternate}
body::after{background:
  radial-gradient(circle at 28% 76%,rgba(83,167,247,.10) 0,rgba(83,167,247,0) 19%),
  radial-gradient(circle at 90% 58%,rgba(47,128,237,.10) 0,rgba(47,128,237,0) 21%);
  filter:blur(18px);
  animation:vitalAmbientB 38s ease-in-out infinite alternate}
main,.site-footer{position:relative;z-index:1}
.hero-panel-start{margin-top:18px;position:relative;z-index:1}
.hero-panel-start:hover{transform:translateY(-1px)}
@keyframes vitalAmbientA{0%{transform:translate3d(-1.5%,0,0) scale(1)}50%{transform:translate3d(1.5%,1%,0) scale(1.025)}100%{transform:translate3d(-.5%,2%,0) scale(1.04)}}
@keyframes vitalAmbientB{0%{transform:translate3d(1%,1%,0) scale(1.02)}50%{transform:translate3d(-2%,-1%,0) scale(1.06)}100%{transform:translate3d(1%,-2%,0) scale(1.02)}}
html[data-theme="dark"] body::before{background:
  radial-gradient(circle at 15% 20%,rgba(47,128,237,.20) 0,rgba(47,128,237,0) 22%),
  radial-gradient(circle at 82% 18%,rgba(105,181,255,.16) 0,rgba(105,181,255,0) 20%),
  radial-gradient(circle at 72% 82%,rgba(47,128,237,.13) 0,rgba(47,128,237,0) 25%),
  linear-gradient(rgba(105,181,255,.045) 1px,transparent 1px),
  linear-gradient(90deg,rgba(105,181,255,.045) 1px,transparent 1px);
  background-size:auto,auto,auto,42px 42px,42px 42px}
html[data-theme="dark"] body::after{background:
  radial-gradient(circle at 28% 76%,rgba(83,167,247,.16) 0,rgba(83,167,247,0) 19%),
  radial-gradient(circle at 90% 58%,rgba(47,128,237,.15) 0,rgba(47,128,237,0) 21%)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body::before,body::after{animation:none}
  
}


/* Final navigation behaviour */



/* Scroll reveal: compact on the way down, full header immediately on the way up. */





/* ===== AUTHORITATIVE HEADER / NAVIGATION BEHAVIOUR ===== */












/* Desktop: first dropdown below the parent; second level opens to its right. */






/* ===== FINAL MENU SPACING / DESKTOP CONTROLS ===== */




/* Partnership page contact panel */
.partnership-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.partnership-contact .eyebrow{margin-bottom:2px}
.partnership-contact p{margin:0 0 6px}
.partnership-contact .btn{margin-top:4px}

/* Partnership consultant panels */
.content-grid:has(.partnership-contact){align-items:stretch}.partnership-contact{min-height:100%;height:100%;display:flex;flex-direction:column;padding:clamp(28px,3.2vw,46px);background:linear-gradient(155deg,#0b4fc1 0%,#07367f 55%,#06275c 100%);border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:0 24px 60px rgba(4,43,105,.18)}.partnership-contact .eyebrow,.partnership-contact h3,.partnership-contact h4,.partnership-contact p,.partnership-contact li{color:#fff!important}.partnership-contact .eyebrow{margin-bottom:16px;opacity:.82}.partnership-contact h3{font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1.08;margin-bottom:20px}.partnership-contact h4{font-size:1rem;margin:28px 0 12px}.partner-capabilities{list-style:none;padding:0;margin:0;display:grid}.partner-capabilities li{padding:12px 0 12px 24px;border-bottom:1px solid rgba(255,255,255,.14);position:relative;line-height:1.45}.partner-capabilities li::before{content:"→";position:absolute;left:0;color:#fff;opacity:.72}.partner-cta{margin-top:auto;padding-top:30px}.partner-cta p{margin-bottom:16px}.partnership-contact .btn-primary{background:#fff;color:#07367f!important;border-color:#fff;width:100%;text-align:center;justify-content:center}.partnership-contact .btn-primary:hover{background:#eaf3ff;color:#052a65!important}html[data-theme="dark"] .partnership-contact{background:linear-gradient(155deg,#0b459f 0%,#082e69 58%,#051d43 100%)}@media(min-width:900px){.content-grid:has(.partnership-contact){gap:clamp(32px,4vw,56px)}}@media(max-width:899px){.partnership-contact{min-height:auto}}


/* Partnership page balance refinement — align consultant card with content, not viewport */
.content-grid:has(.partnership-contact){
  align-items: start !important;
}
.partnership-contact{
  height: auto !important;
  min-height: 0 !important;
  align-self: start;
  padding: clamp(24px, 2.6vw, 34px) !important;
}
.partnership-contact h3{
  font-size: clamp(1.55rem, 2.1vw, 2.05rem) !important;
  margin-bottom: 16px !important;
}
.partnership-contact h4{
  margin: 22px 0 8px !important;
}
.partner-capabilities li{
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}
.partner-cta{
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.14);
}
.partner-cta p{
  margin-bottom: 13px !important;
}
@media (min-width: 900px) {
  .content-grid:has(.partnership-contact){
    grid-template-columns: minmax(0, 1fr) minmax(300px, 36%);
  }
}

/* Partnership editorial expansion */
.partnership-expanded-content{margin-top:clamp(34px,4vw,54px)}.partnership-expanded-content h2{font-size:clamp(1.45rem,2.1vw,2rem);margin:30px 0 12px}.partnership-expanded-content h2:first-child{margin-top:0}.partnership-expanded-content p{max-width:760px}.content-grid:has(.partnership-contact){align-items:start!important}

/* Compact partnership panel: keep scroll/background effect visible */
.partnership-contact{padding:clamp(22px,2.3vw,30px)!important}.partnership-contact h3{font-size:clamp(1.45rem,1.9vw,1.85rem)!important;margin-bottom:18px!important}.partnership-contact h4{margin:18px 0 7px!important}.partner-capabilities li{padding-top:8px!important;padding-bottom:8px!important}.partner-cta-compact{margin-top:22px!important;padding-top:18px!important;border-top:1px solid rgba(255,255,255,.14)}.partner-cta-compact .btn{min-height:42px;padding:0 18px;font-size:.9rem;width:auto!important;display:flex;margin-inline:auto}


/* 2026-09-24: tighter detail-page spacing and content-height sticky side panels */
/* Partnership pages: reduce the oversized hero-to-content gap by roughly half. */
body:has(.partnership-contact) .services-hero,body:has(.partnership-contact) .page-hero,body:has(.partnership-contact) .inner-hero{
  padding-bottom: clamp(28px, 4vw, 52px) !important;
}
body:has(.partnership-contact) .content-section,body:has(.partnership-contact) .section:first-of-type{
  padding-top: clamp(28px, 4vw, 52px) !important;
}

/* All individual service/detail pages: side boxes should fit their content rather than stretch. */
.content-grid > aside,.service-layout > aside,.detail-grid > aside,.page-grid > aside{
  align-self: start;
  height: auto;
  min-height: 0;
}

/* Keep compact information panels visible as the visitor reads the longer column. */
@media (min-width: 900px) {
  .content-grid > aside,.service-layout > aside,.detail-grid > aside,.page-grid > aside,.partnership-contact{
    position: sticky;
    top: 118px;
    max-height: calc(100vh - 142px);
    overflow: auto;
    scrollbar-width: thin;
  }
}

/* Service pages use less dead space between their hero and main content too. */
body:has(.service-detail),body:has(.service-page){
  --detail-section-gap: clamp(28px, 4vw, 52px);
}
body:has(.service-detail) .services-hero,body:has(.service-page) .services-hero,body:has(.service-detail) .page-hero,body:has(.service-page) .page-hero{
  padding-bottom: var(--detail-section-gap) !important;
}
body:has(.service-detail) .content-section,body:has(.service-page) .content-section{
  padding-top: var(--detail-section-gap) !important;
}

@media (max-width: 899px) {
  .content-grid > aside,.service-layout > aside,.detail-grid > aside,.page-grid > aside,.partnership-contact{
    position: static;
    max-height: none;
    overflow: visible;
  }
}

/* 2026-09-24 homepage refinements */
.hero-panel-start{display:flex!important;margin:22px auto 0!important;justify-content:center!important;align-items:center!important;width:max-content;max-width:100%}
.section-head .services-intro{margin-top:18px;max-width:760px}
@media(min-width:900px){.section-head:has(.services-intro){display:block}.section-head .services-intro{margin-left:0;margin-right:auto}}

/* Homepage hero panel paired CTAs */
.hero-panel-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;flex-wrap:wrap}.hero-panel-actions .hero-panel-start{margin:0!important;width:auto!important}.hero-panel-actions .hero-panel-explore{margin:0!important;white-space:nowrap}@media(max-width:520px){.hero-panel-actions{align-items:stretch}.hero-panel-actions .btn{flex:1 1 100%;justify-content:center;text-align:center}}


/* Homepage hero CTAs — keep both actions on one line */
.hero-panel .hero-panel-actions{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100%;
  margin: 24px 0 0 !important;
}
.hero-panel .hero-panel-actions > .btn{
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  white-space: nowrap;
  justify-content: center;
}
@media (max-width: 480px) {
  .hero-panel .hero-panel-actions{
    flex-wrap: wrap !important;
  }
}


/* Vital SEO wordmark — email-signature style */




/* Preserve the existing scroll-size behaviour while making the wordmark more logo-like. */



/* Footer version stays restrained. */


/* Dark mode: retain the same blue/white brand treatment. */






/* Vital SEO wordmark correction — white block behind Vital */



/* Keep the white Vital block in dark mode as part of the logo identity. */


/* Requested Inter typography + square wordmark */
html,body,button,input,textarea,select{font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.integrity-table-wrap{width:100%;overflow-x:auto;margin:28px 0 30px;border:1px solid var(--line);background:var(--surface)}.integrity-comparison{width:100%;min-width:680px;border-collapse:collapse;background:var(--surface)}.integrity-comparison th,.integrity-comparison td{padding:15px 16px;border:1px solid var(--line);text-align:left;vertical-align:top;color:var(--text)}.integrity-comparison thead th{background:var(--blue-pale);color:var(--ink);font-weight:800}.integrity-comparison tbody th{width:23%;background:var(--surface-alt);color:var(--ink);font-weight:700}


/* 2026-09-25 logo edge refinement
   Keep the rectangular wordmark, but soften its outer transition against light/dark headers. */








/* 2026-09-25 wordmark refinement: transparent Vital + slightly larger SEO */







/* Homepage top-right panel alignment — layout only */
.hero-panel{
  display: flex !important;
  flex-direction: column !important;
}

.hero-panel .hero-panel-actions{
  margin-top: auto !important;
  align-self: stretch !important;
}

/* Keep the panel's internal rows visually balanced vertically. */
.hero-panel > .hero-panel-actions:last-child{
  margin-bottom: 0 !important;
}


/* Homepage hero panel — balanced internal spacing */
.hero-panel .metric-grid > .hero-panel-actions{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
}

.hero-panel .hero-panel-actions{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.hero-panel .hero-panel-actions > .btn{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 480px) {
  .hero-panel .hero-panel-actions{
    grid-template-columns: 1fr !important;
  }
}


/* Homepage final Contact Us CTA — alignment only */
.home-final-contact-cta{
  display: flex !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}


/* Hierarchical HTML sitemap */
.sitemap-section{padding-top:28px}
.sitemap-level{position:relative}
.sitemap-level-label{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.sitemap-level-label>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.78rem;font-weight:800;color:var(--blue)}
.sitemap-level-label strong{font-size:1.08rem}
.sitemap-level-label small{margin-left:auto;color:var(--muted);font-size:.78rem}
.sitemap-grid{display:grid;gap:12px}
.sitemap-grid-primary{grid-template-columns:repeat(5,minmax(0,1fr))}
.sitemap-grid-info{grid-template-columns:repeat(4,minmax(0,1fr))}
.sitemap-node,.sitemap-branch{border:1px solid var(--line);background:var(--surface);border-radius:16px}
.sitemap-node{display:flex;min-height:96px;padding:18px;flex-direction:column;justify-content:center;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.sitemap-node:hover{transform:translateY(-2px);border-color:rgba(47,128,237,.42);box-shadow:0 12px 28px rgba(25,70,130,.08)}
.sitemap-node strong{color:var(--ink);font-size:1rem}
.sitemap-node span{color:var(--muted);font-size:.82rem;margin-top:6px}
.sitemap-connector{height:58px;display:flex;justify-content:center;align-items:center}
.sitemap-connector span{display:block;width:1px;height:34px;background:linear-gradient(to bottom,var(--line),var(--blue),var(--line));position:relative}
.sitemap-connector span:after{content:"";position:absolute;bottom:-2px;left:-3px;width:7px;height:7px;border-right:1px solid var(--blue);border-bottom:1px solid var(--blue);transform:rotate(45deg)}
.sitemap-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.sitemap-branch{padding:0;overflow:hidden}
.sitemap-branch-title{display:block;padding:17px 18px;background:linear-gradient(135deg,rgba(47,128,237,.12),rgba(47,128,237,.035));border-bottom:1px solid var(--line);font-weight:800;text-decoration:none;color:var(--ink)}
.sitemap-children{display:flex;flex-direction:column;padding:8px 18px 14px}
.sitemap-children a,.sitemap-insights a{position:relative;padding:10px 4px 10px 17px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--muted);font-size:.9rem;line-height:1.4}
.sitemap-children a:last-child{border-bottom:0}
.sitemap-children a:before,.sitemap-insights a:before{content:"";position:absolute;left:0;top:17px;width:7px;height:1px;background:var(--blue)}
.sitemap-children a:hover,.sitemap-insights a:hover{color:var(--blue)}
.sitemap-branches-about{grid-template-columns:1fr}
.sitemap-branch-wide{max-width:none}
.sitemap-children-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.sitemap-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:12px 18px}
.sitemap-grid-info .sitemap-node{min-height:74px;align-items:center;text-align:center}
html[data-theme="dark"] .sitemap-node,html[data-theme="dark"] .sitemap-branch,html[data-theme="dark"] .sitemap-insights{box-shadow:none}
@media(max-width:900px){
  .sitemap-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sitemap-branches{grid-template-columns:1fr}
  .sitemap-children-grid,.sitemap-insights{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .sitemap-grid-primary,.sitemap-grid-info,.sitemap-children-grid,.sitemap-insights{grid-template-columns:1fr}
  .sitemap-level-label small{display:none}
  .sitemap-connector{height:42px}
}


/* Sitemap dependency branch: Management > Campaigns > campaign type */
.sitemap-subbranch{
  margin:4px 0 8px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:rgba(47,128,237,.025);
}
.sitemap-subbranch-title{
  display:block;
  padding:11px 12px !important;
  border-bottom:1px solid var(--line) !important;
  color:var(--ink) !important;
  font-weight:800;
  background:rgba(47,128,237,.07);
}
.sitemap-subbranch-title:before{display:none !important}
.sitemap-subbranch-children{
  display:flex;
  flex-direction:column;
  padding:3px 10px 6px;
}
.sitemap-subbranch-children a{
  padding-left:18px !important;
  font-size:.86rem !important;
}

/* Google Search status strip — Insights page */
.search-status-strip{
  width:100%;
  min-height:46px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(47,128,237,.045);
}
.search-status-inner{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  overflow:hidden;
}
.search-status-dot{
  flex:0 0 auto;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#8b95a7;
  box-shadow:0 0 0 3px rgba(139,149,167,.12);
}
.search-status-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
  font-size:.86rem;
  font-weight:650;
}
.search-status-link{
  flex:0 0 auto;
  margin-left:auto;
  color:var(--blue);
  font-size:.82rem;
  font-weight:700;
  text-decoration:none;
}
.search-status-link:hover{text-decoration:underline}
.search-status-inner[data-status="operational"] .search-status-dot{
  background:#2f9e62;
  box-shadow:0 0 0 3px rgba(47,158,98,.13);
}
.search-status-inner[data-status="degraded"] .search-status-dot{
  background:#d69216;
  box-shadow:0 0 0 3px rgba(214,146,22,.14);
}
.search-status-inner[data-status="incident"] .search-status-dot{
  background:#d64545;
  box-shadow:0 0 0 3px rgba(214,69,69,.14);
}
html[data-theme="dark"] .search-status-strip{
  background:rgba(74,144,226,.065);
}
@media(max-width:620px){
  .search-status-strip,.search-status-inner{min-height:42px}
  .search-status-inner{gap:8px}
  .search-status-label{font-size:.8rem}
  .search-status-link{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){
  .search-status-dot{animation:none!important;transition:none!important}
}


/* About page profile image */
.about-profile-photo{
  margin:0 0 18px;
}
.about-profile-photo img{
  display:block;
  width:100%;
  max-width:280px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--line);
}
@media (max-width:760px){
  .about-profile-photo img{
    max-width:220px;
  }
}


/* About page — wider main content with compact scrolling side panel */
.about-profile-layout{
  grid-template-columns:minmax(0, 1.75fr) minmax(250px, .72fr) !important;
  align-items:start !important;
  gap:clamp(28px,4vw,56px) !important;
}
.about-profile-layout > :first-child{
  min-width:0;
}
.about-profile-layout > :last-child{
  min-width:0;
  position:sticky;
  top:clamp(92px,11vh,128px);
  align-self:start;
}
@media (max-width:900px){
  .about-profile-layout{
    grid-template-columns:minmax(0,1fr) minmax(230px,.68fr) !important;
    gap:28px !important;
  }
}
@media (max-width:760px){
  .about-profile-layout{
    grid-template-columns:1fr !important;
  }
  .about-profile-layout > :last-child{
    position:static;
    top:auto;
  }
}


/* About page editorial portrait */
.about-editorial-portrait{
  float:right;
  width:clamp(170px,24vw,250px);
  margin:0 0 24px 36px;
  shape-outside:circle(50%);
}
.about-editorial-portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:50%;
}
@media (max-width:760px){
  .about-editorial-portrait{
    float:none;
    width:min(210px,58vw);
    margin:0 auto 24px;
    shape-outside:none;
  }
}


/* About page — portrait beside the first paragraph below Enrique's name */
.about-name-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(170px,24%,230px);
  align-items:start;
  gap:clamp(24px,3vw,38px);
  margin:18px 0 24px;
}
.about-name-intro-copy p{
  margin-top:0;
}
.about-name-intro .about-editorial-portrait{
  float:none;
  width:100%;
  margin:0;
  shape-outside:none;
  justify-self:end;
}
.about-name-intro .about-editorial-portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:50%;
}
@media (max-width:760px){
  .about-name-intro{
    grid-template-columns:1fr;
  }
  .about-name-intro .about-editorial-portrait{
    width:min(200px,58vw);
    justify-self:center;
    order:-1;
  }
}


/* About profile balance — compact editorial spacing and larger portrait */
.about-name-intro{
  grid-template-columns:minmax(0,1fr) clamp(230px,31%,300px) !important;
  gap:clamp(22px,2.6vw,34px) !important;
  margin:14px 0 18px !important;
  align-items:start !important;
}
.about-name-intro-copy p{
  margin:0 0 12px !important;
}
.about-name-intro-copy p:last-child{
  margin-bottom:0 !important;
}
.about-name-intro-copy .about-role-line{
  margin-top:-7px !important;
  margin-bottom:14px !important;
  font-size:.96em;
}
.about-name-intro .about-editorial-portrait{
  width:100% !important;
  max-width:300px;
  margin:0 !important;
  align-self:start;
}
.about-name-intro + h2,.about-name-intro + h3{
  margin-top:22px !important;
}
.about-profile-note > p{
  margin-top:0;
  margin-bottom:14px;
}
@media (max-width:760px){
  .about-name-intro{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .about-name-intro .about-editorial-portrait{
    width:min(250px,70vw) !important;
    max-width:250px;
    justify-self:center;
  }
}


/* ==========================================================
   Global vertical rhythm normalization
   Keeps interior pages visually consistent without changing
   homepage composition or compact status-strip placement.
   ========================================================== */
:root{
  --interior-hero-pad-top:clamp(52px,6vw,76px);
  --interior-hero-pad-bottom:clamp(38px,4.5vw,58px);
  --interior-section-pad:clamp(44px,5vw,68px);
}

/* Standard interior page heroes */
body:not(.home) .page-hero{
  padding-top:var(--interior-hero-pad-top) !important;
  padding-bottom:var(--interior-hero-pad-bottom) !important;
}

/* Prevent hero copy itself from creating an oversized empty tail */
body:not(.home) .page-hero .container > :last-child{
  margin-bottom:0 !important;
}

/* Standardise the first content section after a hero. */
body:not(.home) .page-hero + .section,body:not(.home) .page-hero + section.section{
  padding-top:var(--interior-section-pad) !important;
}

/* About page had a visibly larger hero-to-content gap than peer pages. */
body:not(.home) .page-hero + .section .about-profile-layout{
  margin-top:0 !important;
}

/* Keep the Google Search status strip intentionally compact. */
.search-status-strip{
  min-height:42px;
}

/* Mobile: reduce vertical travel while keeping headings comfortably separated. */
@media (max-width:760px){
  :root{
    --interior-hero-pad-top:clamp(34px,8vw,48px);
    --interior-hero-pad-bottom:clamp(28px,7vw,40px);
    --interior-section-pad:clamp(32px,8vw,46px);
  }
}
@media (max-width:480px){
  :root{
    --interior-hero-pad-top:32px;
    --interior-hero-pad-bottom:26px;
    --interior-section-pad:30px;
  }
}


/* ==========================================================
   Detail-page hero/content seam correction
   The visible blank band was the sum of hero bottom padding
   and the following section's top padding.
   ========================================================== */
body:has(.partnership-contact) .page-hero,body:has(.partnership-contact) .services-hero,body:has(.partnership-contact) .inner-hero{
  padding-bottom:clamp(14px,1.6vw,24px) !important;
}
body:has(.partnership-contact) main > .section:first-child,body:has(.partnership-contact) .page-hero + .section,body:has(.partnership-contact) .services-hero + .section,body:has(.partnership-contact) .inner-hero + .section{
  padding-top:clamp(18px,2vw,30px) !important;
}

/* Apply the same visual rhythm to individual service/detail pages. */
body:has(.service-detail) .page-hero,body:has(.service-page) .page-hero,body:has(.service-detail) .services-hero,body:has(.service-page) .services-hero{
  padding-bottom:clamp(14px,1.6vw,24px) !important;
}
body:has(.service-detail) .page-hero + .section,body:has(.service-page) .page-hero + .section,body:has(.service-detail) .services-hero + .section,body:has(.service-page) .services-hero + .section{
  padding-top:clamp(18px,2vw,30px) !important;
}

@media (max-width:760px){
  body:has(.partnership-contact) .page-hero,body:has(.partnership-contact) .services-hero,body:has(.partnership-contact) .inner-hero,body:has(.service-detail) .page-hero,body:has(.service-page) .page-hero{
    padding-bottom:14px !important;
  }
  body:has(.partnership-contact) .page-hero + .section,body:has(.partnership-contact) .services-hero + .section,body:has(.partnership-contact) .inner-hero + .section,body:has(.service-detail) .page-hero + .section,body:has(.service-page) .page-hero + .section{
    padding-top:22px !important;
  }
}


/* ==========================================================
   2026-09-25 — Site-wide compact vertical rhythm
   Reduce section/hero vertical padding by approximately 50%.
   ========================================================== */

/* Standard content sections */
.section{
  padding-top:33px !important;
  padding-bottom:33px !important;
}

/* Interior page hero areas */
body:not(.home) .page-hero,body:not(.home) .services-hero,body:not(.home) .inner-hero{
  padding-top:clamp(26px,3vw,38px) !important;
  padding-bottom:clamp(20px,2.25vw,29px) !important;
}

/* First content block after an interior hero:
   avoid stacking half-padding on both sides into another large gap. */
body:not(.home) .page-hero + .section,body:not(.home) .services-hero + .section,body:not(.home) .inner-hero + .section,body:not(.home) main > .section:first-child{
  padding-top:clamp(20px,2.4vw,33px) !important;
}

/* Common specialist/service content sections */
.content-section,.event-section{
  padding-top:33px !important;
  padding-bottom:33px !important;
}

/* Preserve deliberately compact utility sections. */
.sitemap-section{
  padding-top:14px !important;
}

/* Homepage keeps its composed hero, but regular homepage sections
   use the same tighter rhythm. */
.home .section{
  padding-top:33px !important;
  padding-bottom:33px !important;
}

@media (max-width:760px){
  .section,.content-section,.event-section,.home .section{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }

  body:not(.home) .page-hero,body:not(.home) .services-hero,body:not(.home) .inner-hero{
    padding-top:24px !important;
    padding-bottom:18px !important;
  }

  body:not(.home) .page-hero + .section,body:not(.home) .services-hero + .section,body:not(.home) .inner-hero + .section,body:not(.home) main > .section:first-child{
    padding-top:22px !important;
  }
}

@media (max-width:480px){
  .section,.content-section,.event-section,.home .section{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  body:not(.home) .page-hero,body:not(.home) .services-hero,body:not(.home) .inner-hero{
    padding-top:20px !important;
    padding-bottom:16px !important;
  }
}


/* About Us — appointment call to action */
.about-appointment-cta{
  margin:0;
  padding:22px 24px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.62);
}
.about-appointment-cta h3{
  margin:0 0 8px;
}
.about-appointment-cta p{
  margin:0 0 16px;
}
.about-appointment-cta .btn{
  width:auto;
}
html[data-theme="dark"] .about-appointment-cta{
  background:rgba(8,24,48,.52);
}
@media (max-width:760px){
  .about-appointment-cta{
    padding:18px;
  }
}


/* About Us — LinkedIn profile CTA */
.about-linkedin-cta{
  margin-top:18px;
}
.about-linkedin-cta .btn{
  width:auto;
}


/* About Us — LinkedIn CTA centred beneath portrait */
.about-name-intro > .about-linkedin-cta{
  grid-column:2;
  justify-self:center;
  width:100%;
  margin-top:10px;
  text-align:center;
}
.about-name-intro > .about-linkedin-cta .btn{
  display:inline-flex;
  width:auto;
}
@media (max-width:760px){
  .about-name-intro > .about-linkedin-cta{
    grid-column:1;
    margin-top:-6px;
  }
}


/* About Us — align portrait with name and tighten LinkedIn CTA */
.about-name-intro{
  align-items:start !important;
}
.about-name-intro-copy > h2{
  margin-top:0 !important;
  margin-bottom:18px !important;
}
.about-profile-media{
  grid-column:2;
  align-self:start;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.about-profile-media .about-editorial-portrait{
  width:100% !important;
  max-width:300px !important;
  margin:0 !important;
}
.about-profile-media .about-linkedin-cta{
  width:100%;
  margin:0 !important;
  text-align:center;
}
.about-profile-media .about-linkedin-cta .btn{
  display:inline-flex;
  width:auto;
}
@media (max-width:760px){
  .about-profile-media{
    grid-column:1;
    grid-row:1;
    width:100%;
    gap:8px;
  }
  .about-name-intro-copy{
    grid-row:2;
  }
  .about-profile-media .about-editorial-portrait{
    width:min(250px,70vw) !important;
  }
}

/* About Us — align portrait with the start of the biography copy */
@media (min-width:761px){
  .about-profile-media{
    margin-top:72px !important;
  }
}

/* About Us — mobile-only centring for portrait + LinkedIn CTA */
@media (max-width:760px){
  .about-profile-media{
    justify-self:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  .about-profile-media .about-editorial-portrait{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .about-profile-media .about-linkedin-cta{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
  }
  .about-profile-media .about-linkedin-cta .btn{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* About Us — LinkedIn mark in profile CTA */
.about-linkedin-cta .btn{
  gap:9px;
  align-items:center;
}
.linkedin-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:3px;
  background:#0a66c2;
  color:#fff;
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.04em;
}


/* About Us — smaller LinkedIn CTA text */
.about-linkedin-cta .btn{
  font-size:0.82rem !important;
}


/* Insights — status strip and hero visual alignment */
body:has(.search-status-strip) .search-status-strip{
  background:#eaf4ff !important;
  border-color:#c9e1fb !important;
  color:#173a63 !important;
}
body:has(.search-status-strip) .search-status-strip a{
  color:#145ea8 !important;
}

/* Dark mode keeps the status readable while retaining a blue identity. */
html[data-theme="dark"] body:has(.search-status-strip) .search-status-strip{
  background:#132b47 !important;
  border-color:#284e75 !important;
  color:#e9f4ff !important;
}
html[data-theme="dark"] body:has(.search-status-strip) .search-status-strip a{
  color:#9dcbff !important;
}

/* Carry the previous blue/technical visual language into the Insights hero,
   matching the hierarchy used on the other interior pages. */
body:has(.search-status-strip) .page-hero,body:has(.search-status-strip) .services-hero,body:has(.search-status-strip) .inner-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(63,145,255,.18), transparent 34%),
    radial-gradient(circle at 18% 78%, rgba(80,174,255,.10), transparent 38%),
    linear-gradient(135deg, rgba(237,247,255,.96), rgba(248,252,255,.88)) !important;
}
html[data-theme="dark"] body:has(.search-status-strip) .page-hero,html[data-theme="dark"] body:has(.search-status-strip) .services-hero,html[data-theme="dark"] body:has(.search-status-strip) .inner-hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(53,126,221,.20), transparent 34%),
    radial-gradient(circle at 18% 78%, rgba(37,103,176,.13), transparent 38%),
    linear-gradient(135deg, rgba(9,27,48,.96), rgba(12,32,56,.90)) !important;
}


/* ==========================================================
   Homepage hero — animated "search to visibility" story
   Designed for non-technical audiences: a recognisable search
   field and search-result cards rather than SEO jargon.
   ========================================================== */
body.home .hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 30%, rgba(67,153,255,.16), transparent 32%),
    linear-gradient(118deg, rgba(247,251,255,.99), rgba(232,244,255,.96) 58%, rgba(245,250,255,.99)) !important;
}
body.home .hero > *{
  position:relative;
  z-index:2;
}

/* Search box moving gently across the right side */
body.home .hero::before{
  content:"Search your business";
  position:absolute;
  z-index:0;
  right:clamp(36px,8vw,130px);
  top:24%;
  width:clamp(230px,28vw,390px);
  box-sizing:border-box;
  padding:14px 48px 14px 48px;
  border:1px solid rgba(42,112,196,.22);
  border-radius:999px;
  background:
    radial-gradient(circle at 24px 50%, transparent 0 6px, #2f76c8 7px 8px, transparent 9px),
    linear-gradient(45deg, transparent 47%, #2f76c8 48% 55%, transparent 56%) 30px 62% / 10px 10px no-repeat,
    rgba(255,255,255,.90);
  box-shadow:0 14px 34px rgba(28,84,150,.14);
  color:#58718c;
  font:600 14px/1.2 "Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.01em;
  animation:vitalSearchBox 4.8s ease-in-out infinite;
}

/* Three familiar search-result cards; the blue bars imply titles/snippets
   without using technical terminology or relying on image assets. */
body.home .hero::after{
  content:"";
  position:absolute;
  z-index:0;
  right:clamp(46px,9vw,145px);
  top:43%;
  width:clamp(220px,27vw,370px);
  height:178px;
  border-radius:16px;
  background:
    /* result 1 */
    linear-gradient(#1d69bd,#1d69bd) 20px 20px / 58% 7px no-repeat,
    linear-gradient(#93a9bd,#93a9bd) 20px 38px / 84% 4px no-repeat,
    linear-gradient(#c2cfda,#c2cfda) 20px 50px / 68% 4px no-repeat,
    /* result 2 */
    linear-gradient(#2d7fd4,#2d7fd4) 20px 78px / 49% 7px no-repeat,
    linear-gradient(#93a9bd,#93a9bd) 20px 96px / 79% 4px no-repeat,
    linear-gradient(#c2cfda,#c2cfda) 20px 108px / 61% 4px no-repeat,
    /* result 3 */
    linear-gradient(#56a0e9,#56a0e9) 20px 136px / 42% 7px no-repeat,
    linear-gradient(#a9b9c7,#a9b9c7) 20px 154px / 73% 4px no-repeat,
    rgba(255,255,255,.88);
  border:1px solid rgba(42,112,196,.16);
  box-shadow:
    0 18px 44px rgba(28,84,150,.14),
    0 0 0 8px rgba(77,153,235,.035);
  animation:vitalResultsRise 3.4s cubic-bezier(.4,0,.2,1) infinite;
}

@keyframes vitalSearchBox{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  20%{transform:translate3d(-12px,0,0) scale(1.02);}
  42%{transform:translate3d(0,5px,0) scale(1);}
  65%{transform:translate3d(8px,-3px,0) scale(1.015);}
}
@keyframes vitalResultsRise{
  0%{transform:translate3d(0,18px,0); opacity:.40;}
  20%{transform:translate3d(0,0,0); opacity:1;}
  48%{transform:translate3d(0,-9px,0); opacity:1;}
  70%{transform:translate3d(0,-18px,0); opacity:.88;}
  100%{transform:translate3d(0,-28px,0); opacity:.40;}
}

/* Dark mode */
html[data-theme="dark"] body.home .hero{
  background:
    radial-gradient(circle at 82% 30%, rgba(55,139,235,.20), transparent 34%),
    linear-gradient(118deg, rgba(7,22,40,.99), rgba(9,34,61,.98) 58%, rgba(7,24,44,.99)) !important;
}
html[data-theme="dark"] body.home .hero::before{
  background:
    radial-gradient(circle at 24px 50%, transparent 0 6px, #83baff 7px 8px, transparent 9px),
    linear-gradient(45deg, transparent 47%, #83baff 48% 55%, transparent 56%) 30px 62% / 10px 10px no-repeat,
    rgba(15,39,66,.92);
  border-color:rgba(126,183,246,.25);
  color:#c4d8ec;
  box-shadow:0 16px 38px rgba(0,0,0,.22);
}
html[data-theme="dark"] body.home .hero::after{
  background:
    linear-gradient(#78b6ff,#78b6ff) 20px 20px / 58% 7px no-repeat,
    linear-gradient(#8098ae,#8098ae) 20px 38px / 84% 4px no-repeat,
    linear-gradient(#526b82,#526b82) 20px 50px / 68% 4px no-repeat,
    linear-gradient(#66a9f4,#66a9f4) 20px 78px / 49% 7px no-repeat,
    linear-gradient(#8098ae,#8098ae) 20px 96px / 79% 4px no-repeat,
    linear-gradient(#526b82,#526b82) 20px 108px / 61% 4px no-repeat,
    linear-gradient(#4e94dd,#4e94dd) 20px 136px / 42% 7px no-repeat,
    linear-gradient(#71899e,#71899e) 20px 154px / 73% 4px no-repeat,
    rgba(12,33,57,.90);
  border-color:rgba(126,183,246,.18);
  box-shadow:0 18px 48px rgba(0,0,0,.26);
}

/* Mobile: keep the idea visible but behind/above the copy rather than crowding CTAs. */
@media (max-width:760px){
  body.home .hero::before{
    right:-54px;
    top:13%;
    width:245px;
    opacity:.34;
    transform:scale(.9);
  }
  body.home .hero::after{
    right:-70px;
    top:31%;
    width:230px;
    height:178px;
    opacity:.28;
  }
}

/* Respect reduced-motion while retaining the visual SEO/search metaphor. */
@media (prefers-reduced-motion:reduce){
  body.home .hero::before,body.home .hero::after{
    animation:none !important;
  }
}


/* ==========================================================
   Homepage search/visibility animation — full hero background
   Keeps the approved concept, enlarged behind the entire hero.
   ========================================================== */
body.home .hero::before{
  right:auto !important;
  left:50% !important;
  top:18% !important;
  width:min(78vw,980px) !important;
  padding:18px 64px 18px 64px !important;
  font-size:clamp(15px,1.3vw,19px) !important;
  transform:translateX(-50%);
  opacity:.34;
  animation:vitalSearchBoxFull 4.2s ease-in-out infinite !important;
}

body.home .hero::after{
  right:auto !important;
  left:50% !important;
  top:40% !important;
  width:min(76vw,940px) !important;
  height:clamp(250px,34vw,430px) !important;
  transform:translateX(-50%);
  opacity:.30;
  border-radius:24px !important;
  background-size:
    58% 9px,84% 5px,68% 5px,
    49% 9px,79% 5px,61% 5px,
    42% 9px,73% 5px,auto !important;
  background-position:
    7% 12%,7% 18%,7% 23%,
    7% 43%,7% 49%,7% 54%,
    7% 74%,7% 80%,0 0 !important;
  animation:vitalResultsFull 3s cubic-bezier(.4,0,.2,1) infinite !important;
}

/* Soft veil keeps foreground copy and CTAs readable while the search
   experience remains clearly visible across the full hero. */
body.home .hero{
  background:
    linear-gradient(90deg, rgba(247,251,255,.94) 0%, rgba(240,248,255,.80) 45%, rgba(233,245,255,.72) 100%),
    radial-gradient(circle at 50% 46%, rgba(65,151,251,.18), transparent 60%) !important;
}
html[data-theme="dark"] body.home .hero{
  background:
    linear-gradient(90deg, rgba(7,22,40,.94) 0%, rgba(8,29,52,.84) 48%, rgba(8,34,61,.76) 100%),
    radial-gradient(circle at 50% 46%, rgba(55,139,235,.18), transparent 62%) !important;
}

@keyframes vitalSearchBoxFull{
  0%,100%{transform:translate3d(-50%,0,0) scale(1);}
  28%{transform:translate3d(-52%,6px,0) scale(1.025);}
  58%{transform:translate3d(-48%,-4px,0) scale(1.01);}
  78%{transform:translate3d(-50%,3px,0) scale(1.02);}
}
@keyframes vitalResultsFull{
  0%{transform:translate3d(-50%,28px,0) scale(.98);opacity:.18;}
  20%{transform:translate3d(-50%,4px,0) scale(1);opacity:.34;}
  48%{transform:translate3d(-50%,-10px,0) scale(1.015);opacity:.36;}
  72%{transform:translate3d(-50%,-25px,0) scale(1.01);opacity:.30;}
  100%{transform:translate3d(-50%,-42px,0) scale(.99);opacity:.16;}
}

@media (max-width:760px){
  body.home .hero::before{
    left:50% !important;
    right:auto !important;
    top:12% !important;
    width:88vw !important;
    padding:13px 48px !important;
    opacity:.22 !important;
  }
  body.home .hero::after{
    left:50% !important;
    right:auto !important;
    top:35% !important;
    width:88vw !important;
    height:300px !important;
    opacity:.18 !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.home .hero::before{
    transform:translateX(-50%) !important;
  }
  body.home .hero::after{
    transform:translateX(-50%) !important;
  }
}


/* Homepage full-size search visual — left-side placement */
body.home .hero::before{
  left:24% !important;
  right:auto !important;
  width:min(58vw,760px) !important;
  opacity:.30 !important;
}
body.home .hero::after{
  left:24% !important;
  right:auto !important;
  width:min(57vw,740px) !important;
  opacity:.27 !important;
}

/* Keep the central/right headline zone cleaner. */
body.home .hero{
  background:
    linear-gradient(90deg,
      rgba(232,244,255,.72) 0%,
      rgba(239,248,255,.82) 38%,
      rgba(247,251,255,.96) 62%,
      rgba(247,251,255,.99) 100%),
    radial-gradient(circle at 24% 46%, rgba(65,151,251,.20), transparent 54%) !important;
}
html[data-theme="dark"] body.home .hero{
  background:
    linear-gradient(90deg,
      rgba(8,34,61,.78) 0%,
      rgba(8,29,52,.88) 42%,
      rgba(7,22,40,.97) 66%,
      rgba(7,22,40,.99) 100%),
    radial-gradient(circle at 24% 46%, rgba(55,139,235,.20), transparent 56%) !important;
}

@keyframes vitalSearchBoxFull{
  0%,100%{transform:translate3d(-50%,0,0) scale(1);}
  28%{transform:translate3d(-53%,6px,0) scale(1.025);}
  58%{transform:translate3d(-47%,-4px,0) scale(1.01);}
  78%{transform:translate3d(-50%,3px,0) scale(1.02);}
}
@keyframes vitalResultsFull{
  0%{transform:translate3d(-50%,28px,0) scale(.98);opacity:.16;}
  20%{transform:translate3d(-50%,4px,0) scale(1);opacity:.30;}
  48%{transform:translate3d(-50%,-10px,0) scale(1.015);opacity:.32;}
  72%{transform:translate3d(-50%,-25px,0) scale(1.01);opacity:.27;}
  100%{transform:translate3d(-50%,-42px,0) scale(.99);opacity:.14;}
}

/* Mobile remains centred because there is not enough horizontal room
   for a meaningful left/right split. */
@media (max-width:760px){
  body.home .hero::before{
    left:50% !important;
    width:88vw !important;
    opacity:.20 !important;
  }
  body.home .hero::after{
    left:50% !important;
    width:88vw !important;
    opacity:.16 !important;
  }
}


/* Homepage full-size search visual — right-side placement */
body.home .hero::before{
  left:76% !important;
  right:auto !important;
}
body.home .hero::after{
  left:76% !important;
  right:auto !important;
}

/* Shift the visual emphasis to the right while keeping the main copy readable. */
body.home .hero{
  background:
    linear-gradient(90deg,
      rgba(247,251,255,.99) 0%,
      rgba(247,251,255,.96) 38%,
      rgba(239,248,255,.82) 62%,
      rgba(232,244,255,.72) 100%),
    radial-gradient(circle at 76% 46%, rgba(65,151,251,.20), transparent 54%) !important;
}
html[data-theme="dark"] body.home .hero{
  background:
    linear-gradient(90deg,
      rgba(7,22,40,.99) 0%,
      rgba(7,22,40,.97) 38%,
      rgba(8,29,52,.88) 62%,
      rgba(8,34,61,.78) 100%),
    radial-gradient(circle at 76% 46%, rgba(55,139,235,.20), transparent 56%) !important;
}

/* Mobile stays centred for balance. */
@media (max-width:760px){
  body.home .hero::before,body.home .hero::after{
    left:50% !important;
  }
}


/* Homepage search visual — icon-only search field (no readable pseudo text) */
body.home .hero::before{
  content:"" !important;
  height:58px;
  padding:0 !important;
  background:
    radial-gradient(circle at 31px 50%, transparent 0 8px, #2f76c8 9px 11px, transparent 12px),
    linear-gradient(45deg, transparent 45%, #2f76c8 46% 58%, transparent 59%) 39px 61% / 13px 13px no-repeat,
    linear-gradient(90deg, rgba(115,145,174,.22), rgba(115,145,174,.08)) 66px 50% / 48% 7px no-repeat,
    rgba(255,255,255,.90) !important;
}
html[data-theme="dark"] body.home .hero::before{
  background:
    radial-gradient(circle at 31px 50%, transparent 0 8px, #83baff 9px 11px, transparent 12px),
    linear-gradient(45deg, transparent 45%, #83baff 46% 58%, transparent 59%) 39px 61% / 13px 13px no-repeat,
    linear-gradient(90deg, rgba(155,190,224,.24), rgba(155,190,224,.08)) 66px 50% / 48% 7px no-repeat,
    rgba(15,39,66,.92) !important;
}


/* Insight author attribution */
.insight-author{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 24px;
  font-size:.9rem;
}
.insight-author-link{
  display:inline-flex;
  flex:0 0 auto;
  border-radius:50%;
}
/* Insight end CTA */
.insight-contact-cta{
  margin-top:clamp(34px,5vw,56px);
  padding:clamp(24px,4vw,38px);
  border:1px solid rgba(56,120,190,.18);
  border-radius:18px;
  background:rgba(229,242,255,.52);
}
.insight-contact-cta h3{
  margin-top:0;
}
.insight-contact-cta p{
  max-width:720px;
}
html[data-theme="dark"] .insight-contact-cta{
  background:rgba(25,61,96,.32);
  border-color:rgba(126,183,246,.16);
}


/* About Us is a direct navigation item — no dropdown indicator */
nav a[href$="about-us.html"]::after,nav a[href="about-us.html"]::after,nav a[href="../about-us.html"]::after{
  content:none !important;
  display:none !important;
}


/* Insight attribution — right aligned and fully clickable */
.insight-author{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:14px 0 24px;
}
.insight-author-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.insight-author-link:hover .insight-author-name{
  text-decoration:underline;
}
.insight-author-name{
  font-size:.9rem;
}

/* Centre the end-of-insight contact panel */
.insight-contact-cta{
  text-align:center;
}
.insight-contact-cta p{
  margin-left:auto;
  margin-right:auto;
}
.insight-contact-cta .btn,.insight-contact-cta a{
  margin-left:auto;
  margin-right:auto;
}


/* Homepage analysis CTA */
.homepage-analysis-cta{
  font-size:1.05rem !important;
  line-height:1.25 !important;
  white-space:nowrap;
  min-width:190px;
  text-align:center;
  justify-content:center;
}
@media (max-width:640px){
  .homepage-analysis-cta{
    font-size:1rem !important;
    min-width:0;
    white-space:normal;
  }
}

/* Footer labels are semantic divs, not document headings.
   Mirror heading appearance without affecting page heading hierarchy. */
.site-footer .footer-title,footer .footer-title{
  font:inherit;
  font-weight:700;
  color:inherit;
  margin:0 0 12px;
  line-height:1.25;
}

.insight-method-note{margin:0 0 28px;padding:12px 16px;border-left:3px solid var(--accent,#2f80ed);font-size:.9rem;opacity:.86;}


/* About Us — centre the network banner heading */
.about-network-heading{ text-align:center; }

/* About Us — centre the Strategic Partnerships CTA in its column */
.about-network-cta{
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 315px;
  text-align: center;
}
.about-network-cta .btn{
  width: 100%;
  justify-content: center;
  text-align: center;
}

@media (max-width: 620px) {
  .about-network-cta{
    width: 100%;
    flex: 0 0 auto;
  }
  .about-network-cta .btn{
    width: 100%;
  }
}

/* V2 Insights — marketing strategy topic roadmap */
.insight-topic-roadmap{margin-top:32px}
.insight-topic-roadmap>p{max-width:760px}
.insight-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.insight-topic-card{padding:22px;border:1px solid var(--line,#d7e1ee);border-radius:18px;background:rgba(255,255,255,.72)}
.insight-topic-card h3{margin:0 0 10px;font-size:1.08rem;line-height:1.3}
.insight-topic-card p{margin:0}
@media(max-width:720px){.insight-topic-grid{grid-template-columns:1fr}.insight-topic-card{padding:18px}}

/* Insight reading progress */
.reading-progress{position:fixed;top:0;left:0;width:100%;height:4px;z-index:9999;background:transparent;pointer-events:none}
.reading-progress-fill{height:100%;width:0;background:currentColor;color:#2f80ed;transform-origin:left center;transition:width .08s linear}
.source-url{display:block;margin-top:4px;font-size:.78rem;line-height:1.35;opacity:.68;overflow-wrap:anywhere}
.live-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px}
.live-data-card{min-width:0;border:1px solid var(--line,#d7e1ee);border-radius:18px;padding:22px;background:rgba(255,255,255,.72)}
.live-data-status{margin:16px 0;padding:14px;border-radius:12px;background:rgba(47,128,237,.08)}
.live-data-list{margin:14px 0 0;padding-left:20px}
.live-data-frame{width:100%;min-height:560px;border:1px solid var(--line,#d7e1ee);border-radius:12px;background:#fff}
.live-data-note{font-size:.88rem;opacity:.75}
@media(max-width:800px){.live-data-grid{grid-template-columns:1fr}.live-data-frame{min-height:500px}}


/* Search Live Data — dark-mode contrast and overflow correction */
html[data-theme="dark"] .live-data-card{
  background:#182536;
  border-color:#34475d;
  color:#c8d2df;
}
html[data-theme="dark"] .live-data-card h2{
  color:#f1f6fc;
}
html[data-theme="dark"] .live-data-card>p{
  color:#aebccd;
}
html[data-theme="dark"] .google-status-widget{
  background:#111c2a;
  border-color:#40556c;
  color:#d9e4ef;
}
html[data-theme="dark"] .google-status-head,
html[data-theme="dark"] .google-status-history{
  border-color:#40556c;
}
html[data-theme="dark"] .google-status-title{
  color:#dcecff;
}
html[data-theme="dark"] .google-status-updated,
html[data-theme="dark"] .google-status-meta span{
  color:#aebccd;
  opacity:1;
}
html[data-theme="dark"] .useful-search-link{
  background:#111c2a;
  border-color:#40556c;
  color:#d9e4ef;
}
html[data-theme="dark"] .useful-search-link strong{
  color:#f1f6fc;
}
html[data-theme="dark"] .useful-search-link p{
  color:#b7c5d5;
}
html[data-theme="dark"] .useful-link-provider,
html[data-theme="dark"] .useful-search-url{
  color:#9eb0c4;
  opacity:1;
}
.live-data-card,.useful-search-link,.google-status-widget{
  overflow-wrap:anywhere;
}

/* V2 Insight readability: narrower editorial measure */
.insight-article .article-shell{
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.insight-article .insight-contact-cta{
  max-width: 820px;
}
@media (max-width: 900px){
  .insight-article .article-shell{
    max-width: 100%;
  }
}

/* Native Google Search status display — rendered from Google's public JSON feed */
.google-status-widget{margin:18px 0;border:1px solid var(--line,#d7e1ee);border-radius:12px;overflow:hidden;background:#fff;color:#24324a}
.google-status-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border-bottom:1px solid var(--line,#d7e1ee)}
.google-status-head strong{font-size:1rem}
.google-status-updated{font-size:.82rem;opacity:.7;text-align:right}
.google-status-item{padding:18px 16px}
.google-status-title{display:inline-block;margin-bottom:10px;font-weight:700;text-decoration:underline}
.google-status-badge{display:inline-block;margin-right:8px;padding:4px 8px;border-radius:5px;font-size:.75rem;font-weight:700;background:#d93025;color:#fff}
.google-status-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;font-size:.82rem}
.google-status-meta span{display:block;margin-bottom:4px;opacity:.65}
.google-status-history{display:block;padding:12px 16px;border-top:1px solid var(--line,#d7e1ee);font-size:.84rem;text-decoration:none}
.google-status-ok{padding:18px 16px}
@media(max-width:600px){.google-status-head{align-items:flex-start;flex-direction:column}.google-status-updated{text-align:left}.google-status-meta{grid-template-columns:1fr}}

/* Compact live-data presentation */
.statcounter-crop{
  height: 322px;
  overflow: hidden;
  border-radius: 12px;
}
.statcounter-crop .statcounter-frame{
  display:block;
  width:100%;
  height:760px !important;
  border:0;
}
@media (max-width: 700px){
  .statcounter-crop{height:300px}
  .statcounter-crop .statcounter-frame{height:760px !important}
}
.google-status-history{
  display:flex;
  align-items:center;
  gap:12px;
}
.google-status-history::after{
  content:"https://status.search.google.com/";
  font-size:.78rem;
  opacity:.65;
  text-decoration:none;
  overflow-wrap:anywhere;
}

/* Live Data: useful external search resources */
.useful-search-links{display:grid;gap:12px;margin-top:22px}
.useful-search-link{
  display:block;padding:16px 18px;border:1px solid var(--line,#d7e1ee);
  border-radius:10px;background:#fff;text-decoration:none;color:inherit;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease
}
.useful-search-link:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(24,49,83,.08)}
.useful-search-link strong{display:block;font-size:1rem;margin-bottom:3px}
.useful-search-link>span:not(.useful-search-url){display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.62}
.useful-search-link p{margin:8px 0 6px;font-size:.9rem;line-height:1.5}
.useful-search-url{display:block;font-size:.72rem;opacity:.6;overflow-wrap:anywhere}

/* Live-data useful links: allow the complete resource list to remain visible */
.live-data-card:has(.useful-search-links){
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
.useful-search-links{
  max-height:none !important;
  overflow:visible !important;
}
.useful-link-provider{
  display:block;
  font-size:.76rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.62;
}

/* Services overview category headings: clickable without changing their visual treatment */
.service-overview-heading-link{color:inherit;text-decoration:none}
.service-overview-heading-link:hover{text-decoration:underline;text-underline-offset:.18em}

/* Insight articles — About Us-style framed content with consultation rail */
.insight-with-consultation{
  width:min(var(--max),calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,820px) minmax(260px,1fr);
  gap:clamp(1.5rem,2.4vw,2.25rem);
  align-items:start;
}
.insight-with-consultation .insight-article{
  min-width:0;
}
.insight-with-consultation .insight-article .article-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(28px,3vw,38px);
  background:var(--surface);
  border-left:3px solid #74b9f7;
  border-radius:0 18px 18px 0;
  box-shadow:0 12px 34px rgba(32,58,89,.06);
}
.insight-consultation-sidebar{
  position:sticky;
  top:50vh;
  transform:translateY(-50%);
  align-self:start;
}
.insight-consultation-heading{
  margin:0 0 22px;
  font-size:clamp(2.15rem,3.6vw,3.55rem);
  line-height:1.06;
  letter-spacing:-.045em;
  color:var(--ink);
}
.insight-consultation-widget{
  width:100%;
  max-width:100%;
}
html[data-theme="dark"] .insight-with-consultation .insight-article .article-shell{
  background:rgba(8,24,48,.52);
  box-shadow:none;
}
@media(max-width:980px){
  .insight-with-consultation{
    width:min(100% - 28px,var(--max));
    display:block;
  }
  .insight-consultation-sidebar{
    position:static;
    transform:none;
    margin-top:2rem;
  }
  .insight-consultation-heading{
    font-size:clamp(2rem,8vw,3rem);
  }
}

/* Mobile quick-contact dock: deliberately absent from desktop layouts. */
.mobile-contact-dock{display:none}
@media(max-width:900px){
  .mobile-contact-dock{
    position:fixed;
    z-index:1200;
    left:50%;
    right:auto;
    width:calc(100% - 40px);
    max-width:420px;
    transform:translateX(-50%);
    bottom:12px;
    bottom:max(12px,env(safe-area-inset-bottom,0px));
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:7px;
    background:rgba(255,255,255,.94);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 12px 32px rgba(24,48,78,.16);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .mobile-contact-action{
    appearance:none;
    -webkit-appearance:none;
    flex:1 1 0;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:10px 14px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:var(--ink);
    font:inherit;
    font-weight:700;
    cursor:pointer;
  }
  .mobile-contact-phone{
    background:var(--blue);
    color:#fff;
  }
  .mobile-contact-icon{
    width:21px;
    height:21px;
    display:inline-flex;
    flex:0 0 21px;
  }
  .mobile-contact-icon svg{
    width:100%;
    height:100%;
    fill:currentColor;
  }
  html[data-theme="dark"] .mobile-contact-dock{
    background:rgba(8,24,48,.94);
  }
  body{padding-bottom:82px}
}

/* Insight author attribution — text only, aligned with article content. */
.insight-article .insight-author{
  justify-content:flex-start !important;
  text-align:left !important;
}
.insight-article .insight-author-link{
  justify-content:flex-start !important;
}


/* Production dark-mode contrast corrections.
   These are intentionally late in the cascade so newer component rules cannot
   reintroduce light surfaces with light dark-mode text. */
html[data-theme="dark"] .insight-topic-card{
  background:#182536;
  border-color:#34475d;
}
html[data-theme="dark"] .insight-topic-card h3,html[data-theme="dark"] .insight-topic-card h3 a{
  color:#f1f6fc;
}
html[data-theme="dark"] .insight-topic-card p{
  color:#aebccd;
}
html[data-theme="dark"] .insight-topic-card .text-link{
  color:#8ac8ff;
}

html[data-theme="dark"] .service-nav .service-group{
  background:#182536;
  border-color:#34475d;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
html[data-theme="dark"] .service-nav .service-group h3,html[data-theme="dark"] .service-nav .service-group h3 a{
  color:#f1f6fc;
}
html[data-theme="dark"] .service-nav .service-group li+li{
  border-color:#34475d;
}
html[data-theme="dark"] .service-nav .service-group li a{
  color:#c8d2df;
}
html[data-theme="dark"] .service-nav .service-group li a:hover,html[data-theme="dark"] .service-nav .service-group li a:focus-visible{
  color:#8ac8ff;
}

/* Give the header wordmark breathing room from the viewport edge without
   changing the container width or navigation geometry. */




/* Mobile footer safe clearance for the fixed Email / Call contact dock.
   Keeps the final footer content fully scrollable above the dock, including
   devices with a bottom safe-area inset. */
@media(max-width:900px){
  .site-footer{
    padding-bottom:96px !important;
    padding-bottom:calc(96px + env(safe-area-inset-bottom,0px)) !important;
  }
}


/* Utility tools */
.utility-tools-grid{align-items:stretch}
.utility-tool-card{display:flex;flex-direction:column}
.utility-tool-card .text-link{margin-top:auto;padding-top:18px}
.utility-tool-coming{opacity:.82}
.utility-coming-label{display:inline-block;margin-top:auto;padding-top:18px;color:var(--muted);font-weight:700}
.tool-hero{padding-bottom:48px}
.tool-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:42px;align-items:start}
.tool-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}
.tool-form label{display:block;font-weight:800;margin-bottom:8px;color:var(--ink)}
.tool-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.tool-input-row input{width:100%;min-width:0;padding:14px 15px;border:1px solid #ccd7e3;border-radius:10px;background:#fff;color:var(--ink);font:inherit;outline:none}
.tool-input-row input:focus{border-color:#78baf4;box-shadow:0 0 0 3px #e5f3ff}
.tool-help{font-size:.9rem;color:var(--muted);margin:10px 0 0}
.tool-result{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}
.tool-loading,.tool-error{padding:18px;border-radius:12px;background:var(--blue-pale)}
.tool-error{border:1px solid #e7b7b7;background:#fff4f4}
.tool-error p{margin:6px 0 0}
.tool-result-summary{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.tool-result-code{display:grid;place-items:center;min-width:74px;height:74px;border-radius:16px;background:var(--blue-soft);color:var(--blue-dark);font-size:1.55rem;font-weight:900}
.tool-result-summary h2{margin:2px 0 6px;font-size:1.65rem}
.tool-result-summary p{margin:0;color:var(--muted)}
.tool-final-url{display:grid;gap:5px;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt);overflow-wrap:anywhere}
.tool-final-url span{color:var(--muted)}
.tool-details summary{cursor:pointer;font-weight:800;color:var(--blue-dark)}
.tool-chain{list-style:none;padding:0;margin:14px 0 0}
.tool-chain li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:13px 0;border-top:1px solid var(--line)}
.tool-chain li div{display:grid;gap:3px;min-width:0}
.tool-chain li span:last-child{color:var(--muted);overflow-wrap:anywhere}
.tool-status-code{font-weight:900;color:var(--blue-dark)}
.tool-explainer{border:1px solid var(--line);border-radius:18px;padding:26px;background:var(--blue-pale)}
.tool-explainer h2{font-size:1.55rem}
.tool-explainer p{color:var(--muted)}
html[data-theme="dark"] .tool-panel,html[data-theme="dark"] .tool-explainer{background:#182536;border-color:#34475d}
html[data-theme="dark"] .tool-input-row input{background:#111c2a;border-color:#40556c;color:#f1f6fc}
html[data-theme="dark"] .tool-input-row input:focus{border-color:#78baf4;box-shadow:0 0 0 3px rgba(120,186,244,.16)}
html[data-theme="dark"] .tool-loading{background:#20344a}
html[data-theme="dark"] .tool-error{background:#382426;border-color:#6b4145}
html[data-theme="dark"] .tool-final-url{background:#111c2a;border-color:#34475d}
html[data-theme="dark"] .tool-chain li{border-color:#34475d}
html[data-theme="dark"] .tool-result-code{background:#203b55;color:#9bd2ff}
@media(max-width:760px){
  .tool-layout{grid-template-columns:1fr}
  .tool-input-row{grid-template-columns:1fr}
  .tool-input-row .button{width:100%}
}

/* Tools hub and browser utility tools */
.tools-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.utility-browser-tool{max-width:980px;margin:0 auto}
.utility-tool-workspace label{display:block;font-weight:800;margin-bottom:8px;color:var(--ink)}
.utility-tool-workspace textarea{width:100%;resize:vertical;padding:15px;border:1px solid #ccd7e3;border-radius:12px;background:#fff;color:var(--ink);font:inherit;line-height:1.55;outline:none}
.utility-tool-workspace textarea:focus{border-color:#78baf4;box-shadow:0 0 0 3px #e5f3ff}
.utility-action-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 22px}
.utility-action-row .button{font-size:.94rem;padding:10px 14px}
.utility-output-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 8px}
.utility-copy{border:0;background:none;cursor:pointer;font:inherit}
.utility-count-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}
.utility-count-grid div{padding:18px 12px;text-align:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt)}
.utility-count-grid strong{display:block;font-size:1.65rem;color:var(--blue-dark)}
.utility-count-grid span{display:block;margin-top:4px;color:var(--muted);font-size:.88rem}
html[data-theme="dark"] .utility-tool-workspace textarea{background:#111c2a;border-color:#40556c;color:#f1f6fc}
html[data-theme="dark"] .utility-tool-workspace textarea:focus{border-color:#78baf4;box-shadow:0 0 0 3px rgba(120,186,244,.16)}
html[data-theme="dark"] .utility-count-grid div{background:#111c2a;border-color:#34475d}
html[data-theme="dark"] .utility-count-grid strong{color:#9bd2ff}
@media(max-width:760px){
  .tools-category-grid{grid-template-columns:1fr}
  .utility-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tools overview alignment */
.tools-overview-head{display:block;max-width:820px;margin-bottom:34px}
.tools-overview-head>div{max-width:760px}
.tools-overview-head p{max-width:760px;margin-top:10px}
.tools-overview-head h2{max-width:760px}

/* Split text into lines */
.split-delimiter-options{border:1px solid var(--line);border-radius:12px;padding:16px;margin:18px 0}
.split-delimiter-options legend{font-weight:800;padding:0 7px;color:var(--ink)}
.split-delimiter-grid{display:flex;flex-wrap:wrap;gap:10px 20px}
.split-delimiter-grid label,.split-options label{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--ink)}
.split-custom-label{display:grid!important;grid-template-columns:auto minmax(120px,240px);align-items:center;justify-content:start;gap:10px;margin-top:14px}
.split-custom-label input{padding:9px 11px;border:1px solid #ccd7e3;border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.split-options{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0}
.split-stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.9rem}
html[data-theme="dark"] .split-custom-label input{background:#111c2a;border-color:#40556c;color:#f1f6fc}
@media(max-width:620px){.split-delimiter-grid,.split-options{flex-direction:column;align-items:flex-start}.split-custom-label{grid-template-columns:1fr;width:100%}.split-custom-label input{width:100%}}


/* ==========================================================
   Production header/navigation compatibility layer
   ========================================================== */








/* Compact/mobile navigation starts earlier on small laptops and at zoom. */
@media (max-width:1080px){
  .desktop-nav{display:none!important}
  .mobile-menu-toggle{display:flex!important}
  
  .mobile-menu{
    max-height:calc(100dvh - 76px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-menu a,.mobile-menu button{min-height:44px}
}




/* ==========================================================
   Desktop navigation centring refinement
   Keeps logo and utility/dark-mode controls in their existing positions.
   ========================================================== */


/* On smaller desktop/laptop widths retain the centred menu but tighten spacing
   slightly so it does not collide with the fixed left/right header elements. */



/* ==========================================================
   Moving consultation feature alignment
   About Us + individual Insight pages only.
   This deliberately targets the feature/sidebar, not article content.
   ========================================================== */

/* Large feature statement */
.about-consultation-heading,.insight-consultation-heading{
  text-align:center!important;
}

/* Consultation card inside the moving feature */
.about-appointment-cta,.insight-consultation-widget{
  text-align:center!important;
}

/* Keep the CTA button itself centred in the card */
.about-appointment-cta .btn,.insight-consultation-widget .btn{
  display:table!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Ensure the feature's paragraph copy centres with its title/card. */
.about-appointment-cta p,.insight-consultation-widget p,.about-appointment-cta h3,.insight-consultation-widget h3{
  text-align:center!important;
}

/* Explicitly preserve Insight article alignment. */
.insight-article h1,.insight-article h2,.insight-article h3,.insight-article p,.insight-content h1,.insight-content h2,.insight-content h3,.insight-content p,.insight-main h1,.insight-main h2,.insight-main h3,.insight-main p{
  text-align:left;
}


/* ==========================================================
   Shared centred consultation / end-of-page CTA refinements
   ========================================================== */

/* About Us: moving feature — same presentation as Insight side feature. */
.about-consultation-sidebar{
  text-align:center!important;
}
.about-consultation-sidebar > h2,.about-consultation-sidebar .about-appointment-cta,.about-consultation-sidebar .about-appointment-cta h3,.about-consultation-sidebar .about-appointment-cta p{
  text-align:center!important;
}
.about-consultation-sidebar .btn{
  display:table!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Insights overview: centre only the Live Search Context block. */
.live-search-cta-section{
  text-align:center!important;
}
.live-search-cta-section .container{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.live-search-cta-section h2,.live-search-cta-section p{
  text-align:center!important;
}
.live-search-cta-section .btn{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Services overview: new centred contact CTA. */
.services-contact-cta{
  text-align:center;
}
.services-contact-cta .container{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.services-contact-cta h2,.services-contact-cta p{
  text-align:center;
}
.services-contact-cta .btn{
  display:table;
  margin:24px auto 0;
}


/* Small-laptop second-level menu direction.
   Applied to the site's actual .dropdown-group/.nested-dropdown structure. */

/* ==========================================================
   Vital SEO header + navigation — authoritative system
   No compact/shrinking state: scroll motion uses transform only.
   ========================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transform:translate3d(0,0,0);
  transition:transform .24s ease,box-shadow .2s ease,border-color .2s ease;
}
.site-header.is-hidden{
  transform:translate3d(0,-100%,0);
}
.site-header .header-inner{
  position:relative;
  min-height:92px;
  display:flex;
  align-items:center;
  gap:18px;
  padding-left:10px;
  padding-right:10px;
}
.brand{
  display:flex;
  align-items:center;
  gap:11px;
  flex:0 0 auto;
  color:var(--ink);
  font-weight:800;
  letter-spacing:-.02em;
}
.wordmark{display:inline-flex;align-items:center;gap:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1;font-weight:800;letter-spacing:-.055em}
.site-header .wordmark{font-size:1.82rem}
.site-header .wordmark-vital{display:inline-block;padding:0;margin:0;color:#4387e8;background:transparent;font-size:1em;line-height:1}
.site-header .wordmark-seo{display:inline-block;padding:8px 6px 7px;margin:0;background:#4b86e8;color:#fff;font-size:1.25em;line-height:1;letter-spacing:-.05em}
.site-footer .wordmark{font-size:1.38rem}
.site-footer .wordmark-vital{display:inline-block;padding:0;margin:0;color:#4387e8;background:transparent;font-size:1em;line-height:1}
.site-footer .wordmark-seo{display:inline-block;padding:7px 6px;margin:0;background:#4b86e8;color:#fff;font-size:1.25em;line-height:1;letter-spacing:-.05em}

.main-nav{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:max-content;
  max-width:calc(100% - 430px);
  z-index:4;
}
.nav-list{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}
.nav-item{position:relative}
.nav-link{
  display:block;
  padding:11px 12px;
  border-radius:10px;
  color:#39465a;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.95rem;
  font-weight:650;
  letter-spacing:0;
  white-space:nowrap;
}
.nav-link:hover,.nav-link:focus-visible{
  background:var(--blue-soft);
  color:var(--blue-dark);
}
.nav-parent-row{display:flex;align-items:center;justify-content:space-between}
.nav-parent-row>.nav-link,.nav-parent-row>a{flex:1}
.nav-expand{
  display:none;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}

.dropdown{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  width:310px;
  margin:0;
  padding:10px;
  list-style:none;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.dropdown:before{
  content:"";
  position:absolute;
  left:0;right:0;top:-12px;height:14px;
}
.nav-item.nav-dropdown:hover>.dropdown,
.nav-item.nav-dropdown:focus-within>.dropdown,
.nav-item.nav-dropdown.is-open>.dropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}
.dropdown-group{position:static}
.dropdown a,.nested-dropdown a{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  display:block;
  padding:10px 12px;
  border-radius:9px;
  color:#465268;
  font-size:.9rem;
}
.dropdown a:hover,.nested-dropdown a:hover{
  background:var(--blue-pale);
  color:var(--blue-dark);
}
.nested-dropdown{
  position:absolute;
  top:0;
  left:calc(100% + 8px);
  width:350px;
  min-height:100%;
  margin:0;
  padding:12px;
  list-style:none;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  transform:translateX(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.dropdown-group:hover>.nested-dropdown,
.dropdown-group:focus-within>.nested-dropdown,
.dropdown-group.is-open>.nested-dropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}
.dropdown-group.open-left>.nested-dropdown{
  left:auto;
  right:calc(100% + 8px);
  transform:translateX(6px);
}
.dropdown-group.open-left:hover>.nested-dropdown,
.dropdown-group.open-left:focus-within>.nested-dropdown,
.dropdown-group.open-left.is-open>.nested-dropdown{transform:none}

.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  min-width:42px;
  height:42px;
  margin-left:auto;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--ink);
  font-weight:750;
  cursor:pointer;
  white-space:nowrap;
}
.theme-toggle:hover{border-color:#8dbfe8;background:var(--blue-soft);color:var(--blue-dark)}
.theme-toggle span:first-child{font-size:1.05rem;line-height:1}
.theme-label{font-size:.82rem}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;color:var(--ink);font-size:1.4rem;cursor:pointer}

html[data-theme="dark"] .site-header{background:rgba(15,26,39,.94)}
html[data-theme="dark"] .brand,
html[data-theme="dark"] .nav-link{color:var(--ink)}
html[data-theme="dark"] .nav-link:hover,
html[data-theme="dark"] .nav-link:focus-visible{background:var(--blue-soft);color:var(--blue-dark)}
html[data-theme="dark"] .dropdown,
html[data-theme="dark"] .nested-dropdown{background:#172536;border-color:#3b5068;box-shadow:0 18px 50px rgba(0,0,0,.42)}
html[data-theme="dark"] .dropdown a,
html[data-theme="dark"] .nested-dropdown a{color:#c9d5e3}
html[data-theme="dark"] .dropdown a:hover,
html[data-theme="dark"] .nested-dropdown a:hover{background:#20384e;color:#8ac8ff}

/* Compact desktop/laptop: still desktop, but with tighter navigation. */
@media (min-width:1081px) and (max-width:1366px){
  .site-header .header-inner{padding-left:14px;padding-right:14px}
  .main-nav{max-width:calc(100% - 390px)}
  .nav-list{gap:0}
  .nav-link{padding:10px 8px;font-size:.95rem}
  .dropdown{width:290px}
  .nested-dropdown{width:min(340px,calc(100vw - 32px))}
}

/* Mobile/tablet/small-laptop navigation. */
@media (max-width:1080px){
  .site-header .header-inner{min-height:78px;padding-left:4px;padding-right:4px}
  .menu-toggle{display:block;margin-left:auto}
  .theme-toggle{margin-left:6px}
  .theme-label{display:none}
  .main-nav{
    position:absolute;
    left:14px;
    right:14px;
    top:calc(100% + 8px);
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 96px);
    overflow-y:auto;
    display:none;
    transform:none;
    padding:10px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    -webkit-overflow-scrolling:touch;
  }
  .main-nav.open{display:block}
  .nav-list{display:block}
  .nav-item{display:block}
  .nav-link{padding:11px 10px;font-size:1rem;white-space:normal}
  .nav-expand{display:flex;width:40px;height:40px;flex:0 0 40px;font-size:1.15rem}
  .dropdown,.nested-dropdown{
    display:none!important;
    position:static;
    width:auto;
    min-height:0;
    margin:0 0 8px 12px;
    padding:0 0 0 8px;
    border:0;
    border-left:2px solid #d8e9f8;
    border-radius:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .nav-dropdown.is-open>.dropdown,
  .dropdown-group.is-open>.nested-dropdown{display:block!important}
  .dropdown-group{position:static}
  html[data-theme="dark"] .main-nav{background:#172536;border-color:#3b5068}
}

/* Mobile Safari and accessibility: no hide/reveal motion on compact navigation. */
@media (max-width:1080px),(prefers-reduced-motion:reduce){
  .site-header{transition:none}
  .site-header.is-hidden{transform:none}
}

/* Compact reveal state: header-only sizing; page typography is untouched. */
@media (min-width:1081px){
  .site-header.is-compact .header-inner{min-height:72px}
  .site-header.is-compact .wordmark{font-size:1.38rem}
  .site-header.is-compact .wordmark-vital{padding:0}
  .site-header.is-compact .wordmark-seo{padding:7px 6px 6px}
  .site-header.is-compact .nav-link{padding-top:9px;padding-bottom:9px}
  .site-header.is-compact .theme-toggle{height:38px}
}

/* Dark-mode CTA readability: only CTA/card surfaces, not general page cards. */
html[data-theme="dark"] .appointment-cta,
html[data-theme="dark"] .insight-consultation-widget,
html[data-theme="dark"] .about-appointment-cta,
html[data-theme="dark"] .services-contact-cta .container{
  color:var(--ink);
}
html[data-theme="dark"] .appointment-cta h2,
html[data-theme="dark"] .appointment-cta h3,
html[data-theme="dark"] .appointment-cta p,
html[data-theme="dark"] .insight-consultation-widget h2,
html[data-theme="dark"] .insight-consultation-widget h3,
html[data-theme="dark"] .insight-consultation-widget p,
html[data-theme="dark"] .about-appointment-cta h2,
html[data-theme="dark"] .about-appointment-cta h3,
html[data-theme="dark"] .about-appointment-cta p,
html[data-theme="dark"] .services-contact-cta h2,
html[data-theme="dark"] .services-contact-cta p{
  color:inherit;
}

/* Content Quality & AI Signals Checker */
.content-signals-tool{max-width:900px;margin-inline:auto}.signals-input{width:100%;margin-top:10px;min-height:300px;resize:vertical}.signals-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}.signals-actions{display:flex;gap:10px;flex-wrap:wrap}.signals-results{margin-top:28px;border-top:1px solid var(--line);padding-top:28px}.signals-summary{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:28px;align-items:center}.signals-summary h2{margin:7px 0 0}.signals-summary p{margin:0}.signals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.signals-metric{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surface)}.signals-metric span{display:block;color:var(--muted);font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.signals-metric strong{display:block;font-size:1.35rem;margin:8px 0 5px;color:var(--ink)}.signals-metric p{margin:0;color:var(--muted)}.signals-review{margin-top:24px}.signals-review ul{padding-left:22px}.signals-disclaimer{margin-top:24px;padding:16px 18px;border-left:3px solid var(--blue);background:var(--surface)}html[data-theme="dark"] .signals-metric,html[data-theme="dark"] .signals-disclaimer{background:#111c2a;border-color:#40556c}html[data-theme="dark"] .signals-metric strong,html[data-theme="dark"] .signals-review h3{color:#f1f6fc}html[data-theme="dark"] .signals-metric p,html[data-theme="dark"] .signals-metric span,html[data-theme="dark"] .signals-disclaimer{color:#b7c5d5}@media(max-width:700px){.signals-summary,.signals-grid{grid-template-columns:1fr}.signals-toolbar{align-items:flex-start;flex-direction:column}}

/* SEO tool shared controls */
.seo-mini-tool{max-width:960px;margin-inline:auto}.seo-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.seo-mini-tool label{display:block;margin:14px 0;font-weight:650}.tool-input{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.seo-stats,.check-row{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0;color:var(--muted)}.check-row label{margin:0;font-weight:500}.serp-preview-box,.tool-result{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.serp-url{font-size:.88rem}.serp-title{font-size:1.3rem;margin:5px 0}.serp-desc{color:var(--muted)}.tool-note{color:var(--muted);font-size:.92rem;margin-top:16px}html[data-theme="dark"] .tool-input,html[data-theme="dark"] .serp-preview-box,html[data-theme="dark"] .tool-result{background:#111c2a;border-color:#40556c;color:#e6edf5}@media(max-width:700px){.seo-field-grid{grid-template-columns:1fr}}

/* Unified SEO tool workspace — matches HTTP Status checker */
.seo-mini-tool,.content-signals-tool{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}
.seo-mini-tool>h2,.content-signals-tool>h2{margin-top:0;font-size:1.65rem}
.seo-mini-tool label,.content-signals-tool label{display:block;font-weight:800;color:var(--ink);margin:18px 0 8px}
.seo-mini-tool .tool-textarea,.content-signals-tool .tool-textarea,.signals-input{display:block;width:100%;box-sizing:border-box;min-height:180px;resize:vertical;padding:15px;border:1px solid #ccd7e3;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-weight:400;line-height:1.55;outline:none}
.seo-mini-tool .tool-textarea:focus,.content-signals-tool .tool-textarea:focus,.signals-input:focus{border-color:#78baf4;box-shadow:0 0 0 3px #e5f3ff}
.seo-mini-tool .tool-input{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:14px 15px;border:1px solid #ccd7e3;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-weight:400;outline:none}
.seo-mini-tool .tool-input:focus{border-color:#78baf4;box-shadow:0 0 0 3px #e5f3ff}
.seo-mini-tool .button,.content-signals-tool .button{margin-top:8px}
.seo-mini-tool .check-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin:18px 0}
.seo-mini-tool .check-row label{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;color:var(--ink)}
.seo-mini-tool .check-row input{width:18px;height:18px;margin:0;accent-color:var(--blue)}
.seo-mini-tool .tool-result{margin-top:24px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt)}
.seo-mini-tool .tool-result:empty{display:none}
.seo-mini-tool .tool-result strong{font-size:1.15rem;color:var(--ink)}
.seo-mini-tool .tool-result p{margin:7px 0 0;color:var(--muted)}
.seo-mini-tool .serp-preview-box{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface-alt)}
.seo-mini-tool .serp-url{font-size:.88rem;color:var(--muted);overflow-wrap:anywhere}
.seo-mini-tool .serp-title{font-size:1.35rem;font-weight:700;color:var(--blue-dark);margin:7px 0}
.seo-mini-tool .serp-desc{color:var(--muted);line-height:1.55}
.seo-mini-tool .seo-stats{display:flex;flex-wrap:wrap;gap:10px 22px;margin:14px 0;color:var(--muted);font-size:.92rem}
.seo-mini-tool .tool-note{margin:16px 0 0;color:var(--muted);font-size:.92rem}
html[data-theme="dark"] .seo-mini-tool,html[data-theme="dark"] .content-signals-tool{background:#182536;border-color:#34475d}
html[data-theme="dark"] .seo-mini-tool .tool-textarea,html[data-theme="dark"] .content-signals-tool .tool-textarea,html[data-theme="dark"] .signals-input,html[data-theme="dark"] .seo-mini-tool .tool-input{background:#111c2a;border-color:#40556c;color:#f1f6fc}
html[data-theme="dark"] .seo-mini-tool .tool-textarea:focus,html[data-theme="dark"] .content-signals-tool .tool-textarea:focus,html[data-theme="dark"] .signals-input:focus,html[data-theme="dark"] .seo-mini-tool .tool-input:focus{border-color:#78baf4;box-shadow:0 0 0 3px rgba(120,186,244,.16)}
html[data-theme="dark"] .seo-mini-tool .tool-result,html[data-theme="dark"] .seo-mini-tool .serp-preview-box{background:#111c2a;border-color:#34475d}
html[data-theme="dark"] .seo-mini-tool .tool-result strong,html[data-theme="dark"] .seo-mini-tool .check-row label{color:#f1f6fc}
html[data-theme="dark"] .seo-mini-tool .serp-title{color:#9bd2ff}
@media(max-width:760px){.seo-mini-tool,.content-signals-tool{padding:20px;border-radius:16px}.seo-mini-tool .seo-field-grid{grid-template-columns:1fr}.seo-mini-tool .button,.content-signals-tool .button{width:100%}.signals-actions{width:100%}}

/* Polished tool controls — aligned with Vital SEO CTAs */
.tool-shell button,
.seo-mini-tool button,
.content-signals-tool button,
.tool-actions button,
.case-actions button,
button.button {
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #2f80ed;
  border-radius:14px;
  background:#2f80ed;
  color:#fff;
  font:inherit;
  font-weight:700;
  line-height:1.15;
  padding:13px 20px;
  min-height:48px;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(47,128,237,.14);
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease;
}
.tool-shell button:hover,
.seo-mini-tool button:hover,
.content-signals-tool button:hover,
.tool-actions button:hover,
.case-actions button:hover,
button.button:hover {
  background:#1769d2;
  border-color:#1769d2;
  box-shadow:0 10px 24px rgba(47,128,237,.20);
  transform:translateY(-1px);
}
.tool-shell button:focus-visible,
.seo-mini-tool button:focus-visible,
.content-signals-tool button:focus-visible,
.tool-actions button:focus-visible,
.case-actions button:focus-visible,
button.button:focus-visible {
  outline:3px solid rgba(47,128,237,.28);
  outline-offset:3px;
}
.tool-shell button.secondary,
.seo-mini-tool button.secondary,
.content-signals-tool button.secondary {
  background:#fff;
  color:#1769d2;
  border-color:#a9c9f6;
  box-shadow:none;
}
.tool-shell button.secondary:hover,
.seo-mini-tool button.secondary:hover,
.content-signals-tool button.secondary:hover {
  background:#edf5ff;
  color:#0f5ebd;
}
.tool-textarea,.tool-input {
  border-radius:14px;
}
html[data-theme="dark"] .tool-shell button.secondary,
html[data-theme="dark"] .seo-mini-tool button.secondary,
html[data-theme="dark"] .content-signals-tool button.secondary {
  background:#152438;
  color:#d9eaff;
  border-color:#42658c;
}
html[data-theme="dark"] .tool-shell button.secondary:hover,
html[data-theme="dark"] .seo-mini-tool button.secondary:hover,
html[data-theme="dark"] .content-signals-tool button.secondary:hover {
  background:#1c3048;
}
@media(max-width:700px){
  .tool-shell button,.seo-mini-tool button,.content-signals-tool button,.tool-actions button,.case-actions button{min-height:46px}
}

/* Google-style SERP preview */
.serp-preview-box{padding:28px 30px;background:#fff;border:1px solid #dfe3e8;border-radius:18px;box-shadow:0 8px 24px rgba(18,38,63,.06)}
.google-serp-preview{max-width:652px;font-family:Arial,sans-serif;color:#202124}
.google-serp-source-row{display:flex;align-items:center;gap:12px;margin-bottom:9px}
.google-serp-favicon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f1f3f4;color:#3c4043;font-size:13px;font-weight:700;flex:0 0 auto}
.google-serp-source{min-width:0;line-height:1.25}
.google-serp-site{font-size:14px;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.google-serp-url{font-size:12px;color:#4d5156;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.google-serp-menu{margin-left:auto;color:#5f6368;font-size:21px;line-height:1}
.google-serp-title{font-size:20px;line-height:1.3;color:#1a0dab;margin-bottom:5px;font-weight:400;cursor:pointer}
.google-serp-title:hover{text-decoration:underline}
.google-serp-desc{font-size:14px;line-height:1.58;color:#4d5156}
html[data-theme="dark"] .serp-preview-box{background:#202124;border-color:#3c4043}
html[data-theme="dark"] .google-serp-preview,
html[data-theme="dark"] .google-serp-site{color:#e8eaed}
html[data-theme="dark"] .google-serp-url,
html[data-theme="dark"] .google-serp-desc,
html[data-theme="dark"] .google-serp-menu{color:#bdc1c6}
html[data-theme="dark"] .google-serp-title{color:#8ab4f8}
html[data-theme="dark"] .google-serp-favicon{background:#303134;color:#e8eaed}
@media(max-width:700px){.serp-preview-box{padding:20px}.google-serp-title{font-size:19px}}

/* Utility suite */
.utility-suite{max-width:1100px;margin-inline:auto}
.utility-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:16px 0 22px}
.utility-options label,.inline-check{font-weight:500!important;margin:0!important;display:flex!important;gap:9px;align-items:center}
.tool-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 24px}
.result-head{display:flex;align-items:center;gap:16px;margin:20px 0 8px}.result-head h3{margin:0}.result-head .copy-btn{margin-left:auto;min-height:40px;padding:9px 14px}
.compare-stats,.count-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0}
.compare-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.compare-stats>div,.count-grid>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:center}
.compare-stats strong,.count-grid strong{display:block;font-size:1.65rem}.compare-stats span,.count-grid span{color:var(--muted);font-size:.9rem}
.compare-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.code-area{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.compact-result{min-height:auto}
.local-tool-note{max-width:1100px;margin:18px auto 0;padding:16px 18px;border:1px solid #bdd8fa;border-radius:14px;background:#eef6ff;display:flex;gap:12px;align-items:flex-start;color:#25415f}
.local-tool-note strong{color:#0f5ebd;white-space:nowrap}
html[data-theme="dark"] .local-tool-note{background:#13243a;border-color:#31567f;color:#c9d8e8}html[data-theme="dark"] .local-tool-note strong{color:#8fc1ff}
@media(max-width:760px){.utility-options,.compare-results{grid-template-columns:1fr}.compare-stats{grid-template-columns:repeat(3,1fr)}.count-grid{grid-template-columns:repeat(2,1fr)}.local-tool-note{display:block}.local-tool-note strong{display:block;margin-bottom:5px}}

/* New utility pages aligned to the established Utility Tools component system */
.utility-browser-tool.utility-suite{max-width:1100px;margin-inline:auto}
.utility-browser-tool.utility-suite .utility-tool-workspace{padding:clamp(22px,3vw,38px)}
.utility-browser-tool.utility-suite .tool-textarea,
.utility-browser-tool.utility-suite .tool-input{width:100%;box-sizing:border-box}
.utility-browser-tool.utility-suite .seo-field-grid{margin-top:10px}
.utility-browser-tool.utility-suite .utility-options{padding:16px 0 4px}
.utility-browser-tool.utility-suite .compare-results{margin-top:12px}

/* Compact master-detail directories for Utility Tools and SEO Tools */
.tool-directory{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,1fr);gap:24px;align-items:start;margin-top:28px}
.tool-directory-list{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:10px;box-shadow:0 12px 32px rgba(21,48,79,.06)}
.tool-directory-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:var(--text);border-radius:13px;padding:14px 15px;min-height:54px;font:inherit;font-weight:700;cursor:pointer;box-shadow:none;transition:background .16s ease,color .16s ease,transform .16s ease}
.tool-directory-item:hover{background:var(--surface-soft);transform:translateX(2px)}
.tool-directory-item.is-active{background:#eaf3ff;color:#1262bd}
.tool-directory-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:#edf5ff;color:#1769d2;font-size:.82rem;font-weight:800}
.tool-directory-detail{position:sticky;top:120px}
.tool-directory-panel{min-height:330px;border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:clamp(28px,4vw,52px);box-shadow:0 16px 44px rgba(21,48,79,.07);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.tool-directory-panel.is-hidden{display:none}
.tool-directory-panel h2{margin:12px 0 14px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.02}
.tool-directory-panel p{max-width:700px;font-size:1.08rem;line-height:1.7;color:var(--muted);margin:0 0 26px}
.tool-directory-hero-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#eaf3ff;color:#1769d2;font-weight:800}
html[data-theme="dark"] .tool-directory-item.is-active,html[data-theme="dark"] .tool-directory-icon,html[data-theme="dark"] .tool-directory-hero-icon{background:#173252;color:#9cc9ff}
@media(max-width:820px){.tool-directory{grid-template-columns:1fr}.tool-directory-list{display:flex;overflow-x:auto;gap:6px;padding:8px;scrollbar-width:thin}.tool-directory-item{width:auto;min-width:max-content}.tool-directory-detail{position:static}.tool-directory-panel{min-height:280px}.tool-directory-name{white-space:nowrap}}

/* Tool directory CTA: match the established blue site CTA treatment */
.tool-directory-panel .tool-directory-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:52px;
  padding:14px 24px;
  border:1px solid #2f80ed;
  border-radius:14px;
  background:#2f80ed;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(47,128,237,.16);
}
.tool-directory-panel .tool-directory-cta:hover{
  background:#1769d2;
  border-color:#1769d2;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(47,128,237,.22);
}
.tool-directory-panel .tool-directory-cta:focus-visible{
  outline:3px solid rgba(47,128,237,.28);
  outline-offset:3px;
}

/* Shared tool-star feedback component */
.page-hero .container{position:relative}
.tool-star-widget{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:flex-end;gap:5px;z-index:2}
.tool-star-button{appearance:none;border:1px solid #9fc6f5;border-radius:999px;background:#fff;color:#1769d2;padding:9px 14px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 5px 16px rgba(47,128,237,.08)}
.tool-star-button:hover{background:#edf5ff;border-color:#2f80ed}
.tool-star-button:disabled{cursor:default;background:#edf5ff;color:#1769d2;opacity:1}
.tool-star-symbol{font-size:1.2rem;line-height:1}.tool-star-count{font-size:.82rem;color:var(--muted);padding-right:9px}
.tool-support-box{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:clamp(22px,3vw,34px);max-width:900px;margin-inline:auto}
.tool-support-box h2{margin-top:0}.tool-support-box p:last-child{margin-bottom:0}
html[data-theme="dark"] .tool-star-button{background:#14253a;border-color:#42658c;color:#9cc9ff}
html[data-theme="dark"] .tool-star-button:hover,html[data-theme="dark"] .tool-star-button:disabled{background:#19314d}
@media(max-width:760px){.tool-star-widget{position:static;align-items:flex-start;margin-bottom:20px}.tool-star-count{padding-left:9px}}

/* Return-to-star prompt at the end of each tool support message */
.back-to-star{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#1769d2;font-weight:700;text-decoration:none}
.back-to-star span:first-child{width:30px;height:30px;display:grid;place-items:center;border:1px solid #9fc6f5;border-radius:50%;background:#edf5ff;font-size:1.1rem;transition:transform .16s ease,background .16s ease}
.back-to-star:hover{color:#0f5ebd;text-decoration:none}
.back-to-star:hover span:first-child{transform:translateY(-2px);background:#dcecff}
html{scroll-behavior:smooth}
html[data-theme="dark"] .back-to-star{color:#9cc9ff}
html[data-theme="dark"] .back-to-star span:first-child{background:#173252;border-color:#42658c}

/* HTTP checker: keep the input card content-height instead of stretching to the explanation column */
.http-checker-layout{align-items:start}
.http-checker-layout > *{align-self:start}
.http-checker-input-card{height:auto!important;min-height:0!important;align-self:start!important}
.http-result-meaning-card{align-self:start!important}

/* Star control belongs to the functional tool box, not the page title/hero */
.tool-box-with-star{position:relative}
.tool-box-with-star > .tool-star-widget{position:absolute;top:20px;right:20px;z-index:3;align-items:flex-end}
.tool-box-with-star > .tool-star-widget + *{margin-top:0}
@media(max-width:760px){
  .tool-box-with-star > .tool-star-widget{position:static;align-items:flex-end;margin:0 0 18px auto;width:max-content;max-width:100%}
}


/* MASTER: stable star component inside each functional tool box */
.tool-box-with-star{
  position:relative;
  padding-top:118px!important; /* reserves space for button + status */
}
.tool-box-with-star > .tool-star-widget{
  position:absolute;
  top:24px;
  right:24px;
  width:max-content;
  max-width:calc(100% - 48px);
  display:grid;
  justify-items:center;
  align-items:center;
  gap:8px;
  z-index:3;
}
.tool-box-with-star > .tool-star-widget .tool-star-button{
  margin:0;
  white-space:nowrap;
}
.tool-box-with-star > .tool-star-widget .tool-star-count{
  display:block;
  width:100%;
  min-height:1.35em;
  padding:0;
  margin:0;
  text-align:center;
  line-height:1.35;
  white-space:nowrap;
}
@media(max-width:760px){
  .tool-box-with-star{
    padding-top:24px!important;
  }
  .tool-box-with-star > .tool-star-widget{
    position:static;
    width:max-content;
    max-width:100%;
    margin:0 0 24px auto;
    justify-items:center;
  }
}

/* Anchor clearance: return links target the whole tool box so the star remains visible below the sticky header */
.tool-box-with-star{
  scroll-margin-top:150px;
}
@media(max-width:760px){
  .tool-box-with-star{
    scroll-margin-top:120px;
  }
}


.site-footer .wordmark-seo{
  margin-left:0.06em;
}
.site-header.is-compact .wordmark-seo{
  margin-left:0.06em;
}

.site-header .wordmark-vital{
  font-size:1em;
  padding:0!important;
  margin:0!important;
}
.site-header .wordmark-seo{
  font-size:1.25em;
  padding:8px 6px 7px;
  margin-left:0.06em!important;
}
.site-footer .wordmark{
  gap:0!important;
}
.site-footer .wordmark-seo{
  margin-left:0.06em!important;
}
.site-header.is-compact .wordmark-seo{
  margin-left:0.06em!important;
}

/* Sitemap tools: every entry remains a styled node; no loose text links. */
.sitemap-grid-tools{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.sitemap-grid-tools .sitemap-node{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px 18px;
}
@media(max-width:980px){
  .sitemap-grid-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .sitemap-grid-tools{grid-template-columns:1fr}
}

/* MASTER wordmark — original reference proportions */
.site-header .wordmark{
  font-size:1.82rem;
  gap:0!important;
}
.site-header .wordmark-vital{
  font-size:1em;
  padding:0!important;
  margin:0!important;
}
.site-header .wordmark-seo{
  font-size:1.25em;
  padding:8px 6px 7px;
  margin-left:0.06em!important;
}
.site-footer .wordmark-seo{
  margin-left:0.06em!important;
}
.site-header.is-compact .wordmark-seo{
  margin-left:0.06em!important;
}

/* MASTER logo refinement: larger SEO block, preserving approved Vital size and white gap */
.site-header .wordmark-seo{
  font-size:1.25em!important;
}
.site-footer .wordmark-seo{
  font-size:1.25em!important;
}
.site-header.is-compact .wordmark-seo{
  font-size:1.25em!important;
}

.insight-reader-sidebar .insight-mailing-form{display:grid;gap:10px;margin-top:18px}.insight-reader-sidebar .insight-mailing-form label{font-weight:700}.insight-reader-sidebar .insight-mailing-form input{width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.mailing-status{min-height:1.4em;margin:0;color:var(--muted);font-size:.9rem}
.contact-location-strip{padding:34px 0 0}.portsmouth-map-banner{position:relative;height:210px;overflow:hidden;border:1px solid var(--line);border-radius:28px 10px 28px 10px;background:var(--surface);box-shadow:0 18px 50px rgba(21,45,82,.08)}.portsmouth-map-banner iframe{position:absolute;inset:-38px -18px;width:calc(100% + 36px);height:calc(100% + 76px);border:0;filter:saturate(.72) contrast(.96)}.portsmouth-map-banner:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.42) 35%,rgba(255,255,255,.04) 67%)}.portsmouth-map-overlay{position:absolute;z-index:2;left:34px;top:50%;transform:translateY(-50%);display:grid;gap:7px;max-width:420px;font-weight:650;color:#17233a}.portsmouth-map-overlay .eyebrow{margin:0}.map-attribution{position:absolute;z-index:3;right:12px;bottom:8px;padding:4px 7px;border-radius:7px;background:rgba(255,255,255,.88);font-size:.68rem;color:#43516a;text-decoration:none}html[data-theme="dark"] .portsmouth-map-banner:after{background:linear-gradient(90deg,rgba(13,31,50,.94) 0%,rgba(13,31,50,.55) 38%,rgba(13,31,50,.08) 70%)}html[data-theme="dark"] .portsmouth-map-overlay{color:#f4f7fb}html[data-theme="dark"] .portsmouth-map-banner iframe{filter:saturate(.62) brightness(.72) contrast(1.05)}@media(max-width:700px){.portsmouth-map-banner{height:180px;border-radius:22px 8px}.portsmouth-map-overlay{left:22px;right:22px;max-width:none}.portsmouth-map-banner:after{background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.32))}}

.author-linkedin{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:7px;vertical-align:-3px;color:#0a66c2;text-decoration:none;flex:0 0 auto}
.author-linkedin svg{display:block;width:18px;height:18px}
.author-linkedin:hover{opacity:.78}

.insight-author{display:flex;align-items:center;gap:7px}.insight-author .author-linkedin{margin-right:0;vertical-align:0}

/* Logo refinement: keep Vital unchanged; increase SEO only. */
.wordmark-seo{font-size:1.18em;}

/* HTML sitemap: Tools organised in the same visual language as SEO Services. */
.sitemap-tools-overview{margin:0 0 14px}
.sitemap-tools-overview>a{display:inline-flex;padding:13px 18px;border:1px solid var(--line,#d7e0ec);border-radius:14px;background:var(--surface,#fff);font-weight:700;color:inherit;text-decoration:none}
.sitemap-tools-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.sitemap-tools-category-grid .sitemap-service-card{overflow:hidden;border:1px solid var(--line,#d7e0ec);border-radius:16px;background:var(--surface,#fff)}
.sitemap-tools-category-grid .sitemap-service-card-title{padding:18px;font-weight:700;background:rgba(66,133,244,.08);border-bottom:1px solid var(--line,#d7e0ec)}
.sitemap-tools-category-grid .sitemap-service-card-title a{color:inherit;text-decoration:none}
.sitemap-tools-category-grid .sitemap-service-links{list-style:none;margin:0;padding:10px 18px 14px}
.sitemap-tools-category-grid .sitemap-service-links li{position:relative;margin:0;padding:10px 0 10px 17px;border-bottom:1px solid var(--line,#d7e0ec)}
.sitemap-tools-category-grid .sitemap-service-links li:last-child{border-bottom:0}
.sitemap-tools-category-grid .sitemap-service-links li::before{content:"–";position:absolute;left:0;color:#2f80ed}
.sitemap-tools-category-grid .sitemap-service-links a{color:var(--muted,#6f7f98);text-decoration:none}
.sitemap-tools-category-grid .sitemap-service-links a:hover{text-decoration:underline}
@media(max-width:800px){.sitemap-tools-category-grid{grid-template-columns:1fr}}

/* Insights overview categories */
.insight-category-groups{display:grid;gap:34px;margin-top:24px}
.insight-category-section{display:grid;gap:16px}
.insight-category-title{margin:0;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:1.2rem}
.insight-category-section .insight-topic-grid{margin-top:0}

/* Insights overview mailing-list CTA */
.insights-mailing-list-cta{text-align:center}
.insights-mailing-list-cta .narrow{max-width:760px;margin-inline:auto}
.insights-mailing-list-cta p{max-width:680px;margin:0 auto 20px}

/* Insights mailing-list signup */
.insights-mailing-list-cta{padding-block:56px}
.insights-mailing-list-cta .narrow{max-width:760px;margin-inline:auto}
.insights-mailing-form{max-width:620px;margin:24px auto 0}
.insights-mailing-form-row{display:flex;gap:12px;align-items:stretch}
.insights-mailing-form input[type="email"]{flex:1;min-width:0;padding:15px 18px;border:1px solid var(--line,#d7e0ec);border-radius:14px;background:var(--surface,#fff);color:inherit;font:inherit;box-shadow:0 8px 24px rgba(20,40,80,.05)}
.insights-mailing-form input[type="email"]:focus{outline:2px solid #2f80ed;outline-offset:2px}
.insights-mailing-form .button{border:0;cursor:pointer;white-space:nowrap}
.insights-mailing-note{margin:10px 0 0!important;font-size:.9rem;color:var(--muted,#6f7f98)}
@media(max-width:640px){.insights-mailing-form-row{flex-direction:column}.insights-mailing-form .button{width:100%}}

/* Homepage first-visit SEO helper. Hidden until consent has been chosen. */
.homepage-seo-helper{display:none;position:fixed;right:22px;bottom:22px;z-index:1450;max-width:280px;padding:13px 17px;border:1px solid #8fc1ff;border-radius:999px;background:#2f80ed;color:#fff;font:inherit;font-weight:800;box-shadow:0 14px 38px rgba(28,75,135,.22);cursor:pointer}
.homepage-seo-helper.is-visible{display:block}
.homepage-seo-helper:hover{transform:translateY(-1px);box-shadow:0 17px 42px rgba(28,75,135,.27)}
@media(max-width:700px){.homepage-seo-helper{right:14px;bottom:76px;left:14px;max-width:none;text-align:center}}

/* Compact LinkedIn recommendations: one recommendation at a time. */
.linkedin-recommendations{margin:0 0 34px;padding:24px 26px;border:1px solid var(--line,#d7e0ec);border-radius:18px;background:var(--surface,#fff);overflow:hidden}
.linkedin-recommendations-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-bottom:15px}
.linkedin-recommendations-head h3{margin:0!important;font-size:1.12rem}
.linkedin-recommendations-head a{font-size:.88rem;white-space:nowrap}
.linkedin-recommendations-track{position:relative}
.linkedin-recommendation{display:none}
.linkedin-recommendation.is-active{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end}
.linkedin-recommendation blockquote{margin:0;font-size:1rem;line-height:1.65;color:var(--ink,#172238)}
.linkedin-recommendation-meta{min-width:150px;text-align:right}
.linkedin-recommendation-meta strong,.linkedin-recommendation-meta span{display:block}
.linkedin-recommendation-meta span{margin-top:3px;color:var(--muted,#6f7f98);font-size:.84rem}
.linkedin-recommendation-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:15px}
.linkedin-recommendation-controls>button{width:34px;height:34px;border:1px solid var(--line,#d7e0ec);border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.linkedin-recommendation-dots{display:flex;gap:7px}
.linkedin-recommendation-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#b9c6d6;cursor:pointer}
.linkedin-recommendation-dots button.is-active{background:#2f80ed}
@media(max-width:700px){.linkedin-recommendations-head{display:block}.linkedin-recommendations-head a{display:inline-block;margin-top:7px}.linkedin-recommendation.is-active{grid-template-columns:1fr}.linkedin-recommendation-meta{text-align:left}}

/* Portsmouth consultancy landing page */
.local-intro-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:34px;align-items:start}
.local-stat-panel{padding:26px;border:1px solid var(--line,#d7e0ec);border-radius:20px;background:var(--surface,#fff)}
.local-stat{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line,#d7e0ec)}
.local-stat strong{font-size:2rem;line-height:1;color:#2f80ed}.local-stat span{text-align:right;color:var(--muted,#6f7f98)}
.local-stat-source{margin:14px 0 0;font-size:.82rem;color:var(--muted,#6f7f98)}
.local-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.local-service-grid article{padding:24px;border:1px solid var(--line,#d7e0ec);border-radius:18px;background:var(--surface,#fff)}
.local-service-grid h3{margin-top:0}
@media(max-width:760px){.local-intro-grid,.local-service-grid{grid-template-columns:1fr}}

/* About Us local Portsmouth callout */
.about-local-callout{padding:30px 0 38px}
.about-local-callout-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px 26px;border:1px solid var(--line,#d7e0ec);border-radius:18px;background:var(--surface,#fff);box-shadow:0 10px 30px rgba(26,54,93,.05)}
.about-local-marker{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(47,128,237,.10);color:#1767ca;font-size:.82rem;font-weight:800;white-space:nowrap}
.about-local-callout-box p{margin:0}
.about-local-link{font-weight:800;white-space:nowrap}
@media(max-width:760px){.about-local-callout-box{grid-template-columns:1fr;gap:12px}.about-local-marker{width:max-content}.about-local-link{white-space:normal}}

/* Portsmouth page: service cards act as internal routes, not duplicate service-page destinations. */
.local-service-grid article{padding:0;overflow:hidden}
.local-service-card-link{display:block;height:100%;padding:24px;color:inherit;text-decoration:none}
.local-service-card-link:hover h3,.local-service-card-link:focus h3{color:#2f80ed}
.local-service-more{display:inline-block;margin-top:10px;color:#1767ca;font-weight:800;font-size:.9rem}
.local-stat-source a,.local-authority-resource a{font-weight:700}

/* Insights overview article CTAs */
.insight-card-cta{
  display:flex;
  width:max-content;
  margin:18px 0 0 auto;
  padding:10px 16px;
  border-radius:10px;
  background:#2f80ed;
  color:#fff!important;
  font-weight:800;
  line-height:1.2;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(47,128,237,.16);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.insight-card-cta:hover,
.insight-card-cta:focus{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(47,128,237,.22);
  text-decoration:none!important;
}
@media(max-width:600px){
  .insight-card-cta{margin-top:16px}
}

.about-local-callout-box:has(.about-local-marker-link){grid-template-columns:auto minmax(0,1fr)}
.about-local-marker-link{text-decoration:none!important}
.density-mode-tabs{display:flex;gap:10px;margin:0 0 22px}
.density-mode-tab{padding:11px 16px;border:1px solid var(--line,#d7e0ec);border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer}
.density-mode-tab.is-active{background:#2f80ed;border-color:#2f80ed;color:#fff}
.density-form label{display:block;margin-bottom:9px}
.density-form textarea{width:100%;resize:vertical}
.density-text-actions{margin-top:14px}
.density-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.density-summary>div{padding:15px;border:1px solid var(--line,#d7e0ec);border-radius:14px;background:var(--surface,#fff)}
.density-summary span,.density-summary strong{display:block}.density-summary span{font-size:.8rem;color:var(--muted,#6f7f98);margin-bottom:5px}
.density-summary strong{overflow-wrap:anywhere}
.density-caution{padding:14px 16px;border-left:3px solid #2f80ed;background:rgba(47,128,237,.07);border-radius:0 10px 10px 0}
.density-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.density-group{min-width:0}.density-group h3{margin-top:0}
.density-table-wrap{overflow:auto;border:1px solid var(--line,#d7e0ec);border-radius:12px}
.density-table{width:100%;border-collapse:collapse;font-size:.9rem}.density-table th,.density-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line,#d7e0ec)}.density-table tr:last-child td{border-bottom:0}.density-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:850px){.density-groups,.density-summary{grid-template-columns:1fr}}

/* Centred local About callout */
.about-local-callout-centred{display:flex!important;align-items:center;justify-content:center;gap:22px;text-align:center}
.about-local-callout-centred .about-local-marker-link{flex:0 0 auto}
.about-local-callout-centred p{margin:0}

/* Tool workspace polish */
.density-tool-shell,.lookup-tool-shell{position:relative;padding:34px!important;border:1px solid #d8e4f2!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 18px 45px rgba(32,73,125,.08)}
.density-tool-shell .tool-star-corner,.lookup-tool-shell .tool-star-corner{position:absolute;top:26px;right:28px;text-align:center}
.density-tool-shell .density-mode-tabs{padding-right:220px;margin-bottom:28px}
.density-tool-shell .density-form,.lookup-tool-shell .lookup-form{max-width:900px;padding:24px;border:1px solid #dce6f2;border-radius:18px;background:#f9fbfe}
.density-tool-shell .tool-inline-form,.lookup-tool-shell .tool-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}
.density-tool-shell input,.lookup-tool-shell input,.density-tool-shell textarea{width:100%;min-height:52px;padding:13px 15px;border:1px solid #cbd9ea;border-radius:12px;background:#fff;color:inherit;font:inherit}
.density-tool-shell textarea{min-height:220px}
.lookup-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.lookup-result-grid>div{padding:15px;border:1px solid #dce6f2;border-radius:14px;background:#fff}.lookup-result-grid span,.lookup-result-grid strong{display:block}.lookup-result-grid span{font-size:.8rem;color:#6f7f98;margin-bottom:5px}
@media(max-width:760px){.density-tool-shell,.lookup-tool-shell{padding:22px!important}.density-tool-shell .tool-star-corner,.lookup-tool-shell .tool-star-corner{position:static;margin:0 0 20px}.density-tool-shell .density-mode-tabs{padding-right:0}.density-tool-shell .tool-inline-form,.lookup-tool-shell .tool-inline-form,.lookup-result-grid{grid-template-columns:1fr}.about-local-callout-centred{flex-direction:column;gap:10px}}


/* Corrected IP lookup: use the established shared tool-box/star layout */
.lookup-tool-shell .lookup-form{max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.lookup-tool-shell .tool-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}
.lookup-tool-shell .tool-input-row input{width:100%;min-height:52px;padding:13px 15px;border:1px solid #cbd9ea;border-radius:12px;background:#fff;color:inherit;font:inherit}
.lookup-tool-shell .tool-result{margin-top:24px}
.portsmouth-hero-start{margin-top:18px}
@media(max-width:760px){.lookup-tool-shell .tool-input-row{grid-template-columns:1fr}}


/* v4 — IP lookup uses the established SEO-tool card arrangement */
.lookup-tool-shell{position:relative!important;padding:96px 22px 28px!important;border:1px solid #d8e4f2!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important}
.lookup-tool-shell .tool-star-corner{position:absolute!important;top:20px!important;right:20px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:7px!important;margin:0!important}
.lookup-tool-shell .tool-star-button{position:static!important;margin:0!important}
.lookup-tool-shell .tool-star-count{position:static!important;margin:0!important;line-height:1.2!important;text-align:center!important}
.lookup-tool-shell .lookup-form{max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.lookup-tool-shell .tool-inline-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:stretch!important}
.lookup-tool-shell .tool-inline-form input{width:100%!important;min-height:52px!important;padding:13px 15px!important;border:1px solid #cbd9ea!important;border-radius:12px!important;background:#fff!important;font:inherit!important}
.lookup-tool-shell .tool-inline-form .button{min-height:52px!important;align-self:stretch!important}
.lookup-tool-shell .field-note,.lookup-tool-shell .tool-help{margin:12px 0 0!important}
.tool-star-return{display:inline-flex!important;align-items:center!important;gap:8px!important;font-weight:700!important;text-decoration:none!important}
.tool-star-return-icon{display:inline-flex!important;width:26px!important;height:26px!important;align-items:center!important;justify-content:center!important;border:1px solid #86b7ff!important;border-radius:50%!important}
#tool-ip-lookup{scroll-margin-top:125px!important}
@media(max-width:760px){.lookup-tool-shell{padding:92px 20px 24px!important}.lookup-tool-shell .tool-inline-form{grid-template-columns:1fr!important}}

/* Services overview: established light boxes with blue CTAs only */
.service-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.service-overview-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--border,#dbe4ef);border-radius:18px;background:var(--surface,#fff);box-shadow:0 10px 28px rgba(25,78,145,.06)}
.service-overview-card h3{margin-top:0}
.service-overview-card .button{width:max-content;margin-top:auto}
.structured-seo-approach .container{max-width:960px}
@media(max-width:900px){.service-overview-grid{grid-template-columns:1fr}}

/* Services overview cards: whole-card interaction without repetitive CTA buttons */
.clickable-service-card{
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.clickable-service-card:hover{
  transform:translateY(-3px);
  border-color:#8bb8f5;
  box-shadow:0 14px 34px rgba(25,78,145,.11);
}
.clickable-service-card:focus-visible{
  outline:3px solid rgba(47,128,237,.28);
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  .clickable-service-card{transition:none}
  .clickable-service-card:hover{transform:none}
}

/* ==========================================================
   2026-09-28 — Interior hero background consistency
   Keep introductory sections on the shared Vital SEO ambient
   grid/background. Homepage hero remains intentionally distinct.
   ========================================================== */
body:not(.home) main > .hero,
body:not(.home) .insights-hero{
  background:transparent !important;
}
body:not(.home) .insights-hero{
  border-bottom:1px solid var(--line);
}
html[data-theme="dark"] body:not(.home) main > .hero,
html[data-theme="dark"] body:not(.home) .insights-hero{
  background:transparent !important;
}

/* Insights overview: whole-card interaction without changing card content layout */
.insight-topic-card{position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.insight-topic-card .insight-card-overlay{position:absolute;inset:0;z-index:2;border-radius:inherit}
.insight-topic-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,45,80,.10);border-color:#b9cce3}
.insight-topic-card:has(.insight-card-overlay:focus-visible){outline:3px solid rgba(47,128,237,.35);outline-offset:3px}
.insight-topic-card .insight-card-overlay:focus{outline:none}

/* Partners page: allow introductory copy to use the full content width */
.partners-page .page-hero .lead{max-width:none}
.partners-page .section-head>div{width:100%}
.partners-page .section-head p{max-width:none}

/* TEST: descriptor beneath the existing text wordmark. */
.site-header .brand{
  position:relative;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  line-height:1;
}
.site-header .brand-tagline{
  display:block;
  width:100%;
  margin:1px 0 0;
  color:var(--muted);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.67rem;
  font-weight:600;
  line-height:1.15;
  letter-spacing:.015em;
  white-space:nowrap;
  text-align:center;
}
html[data-theme="dark"] .site-header .brand-tagline{color:#aebed0}
@media (min-width:1081px){
  .site-header.is-compact .brand{gap:1px}
  .site-header.is-compact .brand-tagline{font-size:.59rem;margin-top:0}
}
@media (max-width:1080px){
  .site-header .brand-tagline{font-size:.59rem}
}
@media (max-width:420px){
  .site-header .brand-tagline{font-size:.54rem;letter-spacing:0}
}

/* Overview copy consistency refinements */
.auditing-overview-intro{max-width:none}
.consultancy-overview-detail{margin-top:34px}
.consultancy-overview-detail p{max-width:none}
.consultancy-overview-detail p:first-child{margin-top:0}
.consultancy-overview-detail p:last-child{margin-bottom:0}

/* Auditing & Analysis individual service pages */
.analysis-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 30px}.analysis-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.analysis-card h3{margin:0 0 8px;font-size:1.08rem;color:var(--blue-dark)}.analysis-card p{margin:0;font-size:.96rem}html[data-theme="dark"] .analysis-card{background:#182536;border-color:#34475d}html[data-theme="dark"] .analysis-card h3{color:#8fc9ff}@media(max-width:700px){.analysis-card-grid{grid-template-columns:1fr}}


/* Service FAQ title space optimisation */
.faq-section-title{text-align:center;font-size:2.15rem;line-height:1.08;font-weight:800;margin:0 0 1.15rem}


/* Page-specific styles consolidated from inline blocks during v48 integrity cleanup. */

/* services/consultancy/project-assistance.html */
.project-support-card:first-child{grid-column:1/-1;background:var(--blue-pale)}.project-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:22px 0}.project-process span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:58px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--blue-pale);font-weight:750;color:var(--blue-dark);font-size:.9rem}html[data-theme="dark"] html[data-theme="dark"] .project-support-card:first-child,html[data-theme="dark"] .project-process span{background:#142f4a;border-color:#34475d}html[data-theme="dark"] .project-support-card h3,html[data-theme="dark"] .project-process span{color:#8fc9ff}@media(max-width:700px){.project-support-card:first-child{grid-column:auto}.project-process{grid-template-columns:1fr 1fr}.project-process span:last-child{grid-column:1/-1}}

/* services/consultancy/data-analysis-and-reporting.html */
html[data-theme="dark"] html[data-theme="dark"] @media(max-width:700px){}

/* services/consultancy/new-website-migration.html */
.new-website-migration-page .page-hero h1{max-width:none}.new-website-migration-page .overview-intro{max-width:none}.service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0 10px}.service-choice-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff;transition:.2s ease;cursor:pointer}.service-choice-card h2{margin:0 0 12px;font-size:1.65rem}.service-choice-card p{margin:0 0 14px;color:var(--text)}.service-choice-card:hover{transform:translateY(-4px);border-color:#b9d8f6;box-shadow:0 14px 35px rgba(34,73,117,.08)}.service-choice-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}html[data-theme="dark"] .service-choice-card{background:var(--surface);border-color:var(--line)}@media(max-width:700px){.service-choice-grid{grid-template-columns:1fr}}

.consultancy-balanced-heading{display:flex;flex-direction:column;justify-content:center;align-self:stretch;}
.consultancy-heading-inward-right{align-items:flex-end;text-align:right;}
.consultancy-balanced-heading .eyebrow{width:max-content;max-width:100%;text-align:left;}
@media(max-width:900px){.consultancy-balanced-heading{align-self:auto;align-items:flex-start;text-align:left;}.consultancy-balanced-heading .eyebrow{width:max-content;}}

/* services/consultancy.html */
/* Consultancy page: vertically balance headings and align each block toward its adjacent copy. */
.consultancy-balanced-heading{display:flex;flex-direction:column;justify-content:center;align-self:stretch;}
.consultancy-heading-inward-right{align-items:flex-end;text-align:right;}
.consultancy-heading-inward-left{align-items:flex-start;text-align:left;}
.consultancy-balanced-heading .eyebrow{width:max-content;max-width:100%;text-align:left;}
@media(max-width:900px){.consultancy-balanced-heading{align-self:auto;align-items:flex-start;text-align:left;}.consultancy-balanced-heading .eyebrow{width:max-content;}}

/* faq.html */
.faq-page{max-width:1120px}.faq-intro{max-width:820px;margin-bottom:28px}.faq-topic{border:1px solid var(--border,#d8e1ee);border-radius:16px;background:var(--surface,#fff);margin:0 0 18px;overflow:hidden}.faq-topic>summary{cursor:pointer;list-style:none;padding:22px 26px;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-topic>summary::-webkit-details-marker{display:none}.faq-topic>summary:after{content:'+';font-size:1.65rem;font-weight:400;line-height:1;color:#1672e8}.faq-topic[open]>summary:after{content:'−'}.faq-topic-body{padding:0 26px 10px;border-top:1px solid var(--border,#d8e1ee)}.faq-item{border-bottom:1px solid var(--border,#d8e1ee)}.faq-item:last-child{border-bottom:0}.faq-item>summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:700;display:flex;justify-content:space-between;gap:18px}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{content:'+';font-size:1.3rem;font-weight:400;color:#1672e8}.faq-item[open]>summary:after{content:'−'}.faq-answer{padding:0 34px 20px 0;color:var(--text-muted,#42526b);line-height:1.7}.faq-answer p{margin:0}.faq-answer p+p{margin-top:12px}.faq-topic-blue>summary{color:var(--blue-dark)}.faq-topic-blue .faq-item>summary{color:var(--blue)}.faq-topic-blue .faq-answer{color:var(--ink)}
html[data-theme="dark"] .faq-topic-blue>summary{color:var(--blue-dark)}html[data-theme="dark"] .faq-topic-blue .faq-item>summary{color:var(--blue)}html[data-theme="dark"] .faq-topic-blue .faq-answer{color:var(--ink)}
@media(max-width:700px){.faq-topic>summary{padding:18px 20px}.faq-topic-body{padding:0 20px 8px}.faq-answer{padding-right:10px}}

/* MASTER text wordmark refresh — 2026-09-30
   Recreates the supplied Word-built logo with live text: blue Vital with underline,
   white SEO in a blue block. The existing descriptor remains unchanged. */
.wordmark{align-items:flex-end;gap:0!important;letter-spacing:-.065em}
.site-header .wordmark-vital,.site-footer .wordmark-vital{position:relative;display:inline-block;color:#4b86e8;background:transparent;padding:0 0 .12em!important;margin:0!important;line-height:.88;font-weight:800}
.site-header .wordmark-vital::after,.site-footer .wordmark-vital::after{content:"";position:absolute;left:0;right:-.04em;bottom:0;height:.095em;background:#4b86e8}
.site-header .wordmark-seo,.site-footer .wordmark-seo,.site-header.is-compact .wordmark-seo{display:inline-block;box-sizing:border-box;margin:0!important;padding:.18em .16em .16em!important;background:#4b86e8;color:#fff;font-size:1.08em!important;line-height:.88;font-weight:500;letter-spacing:-.055em}
.site-footer .wordmark{font-size:1.38rem}


/* Text wordmark proportion correction — approved Word reference */
.site-header .wordmark,
.site-footer .wordmark{
  gap:.075em!important;
  overflow:visible;
}
.site-header .wordmark-vital,
.site-footer .wordmark-vital{
  font-weight:800;
}
.site-header .wordmark-vital::after,
.site-footer .wordmark-vital::after{
  left:-.18em;
  right:0;
}
.site-header .wordmark-seo,
.site-footer .wordmark-seo,
.site-header.is-compact .wordmark-seo{
  font-weight:800!important;
}


/* Text wordmark geometry refinement — clearer Word reference */
.site-header .brand,
.site-footer .brand{
  width:max-content;
}

.site-header .brand-lockup,
.site-footer .brand-lockup{
  width:max-content;
  align-items:center;
}

.site-header .wordmark,
.site-footer .wordmark{
  position:relative;
  display:flex;
  width:max-content;
  align-items:flex-end;
  gap:.115em!important;
  overflow:visible;
  letter-spacing:0;
  transform-origin:center bottom;
}

.site-header .wordmark-vital,
.site-footer .wordmark-vital{
  position:relative;
  display:inline-block;
  padding:0 0 .105em!important;
  margin:0!important;
  color:#4b86e8;
  background:transparent;
  font-weight:800!important;
  line-height:.86;
  letter-spacing:-.055em;
}

.site-header .wordmark-vital::after,
.site-footer .wordmark-vital::after{
  content:"";
  position:absolute;
  left:-.29em;
  right:-.075em;
  bottom:0;
  height:.085em;
  background:#4b86e8;
}

.site-header .wordmark-seo,
.site-footer .wordmark-seo,
.site-header.is-compact .wordmark-seo{
  display:inline-block;
  box-sizing:border-box;
  margin:0 0 -.075em!important;
  padding:.225em .14em .19em!important;
  background:#4b86e8;
  color:#fff;
  font-size:1.075em!important;
  font-weight:500!important;
  line-height:.82;
  letter-spacing:-.035em;
}

/* Keep the approved descriptor readable; enlarge the wordmark independently. */
.site-header .brand-tagline,
.site-footer .brand-tagline{
  width:100%;
  text-align:center;
  white-space:nowrap;
}

.site-header .wordmark{
  font-size:2.05rem!important;
}

.site-header.is-compact .wordmark{
  font-size:1.72rem!important;
}

.site-footer .wordmark{
  font-size:1.55rem!important;
}

@media (max-width: 760px){
  .site-header .wordmark{
    font-size:1.72rem!important;
  }
  .site-header.is-compact .wordmark{
    font-size:1.55rem!important;
  }
}


/* Text wordmark final geometry — Vital regular, SEO bold, continuous underline */
.site-header .wordmark,
.site-footer .wordmark{
  gap:.115em!important; /* visible letter-to-box gap */
}

.site-header .wordmark-vital,
.site-footer .wordmark-vital{
  font-weight:400!important;
}

.site-header .wordmark-vital::after,
.site-footer .wordmark-vital::after{
  left:-.29em;
  /* bridge the visual l-to-SEO gap so the underline itself reaches the box */
  right:-.19em;
}

.site-header .wordmark-seo,
.site-footer .wordmark-seo,
.site-header.is-compact .wordmark-seo{
  font-weight:800!important;
}


/* Text wordmark lockup alignment — match descriptor and logo visual width */
.site-header .brand-lockup,
.site-footer .brand-lockup{
  display:grid!important;
  justify-items:stretch!important;
  width:max-content;
}

.site-header .wordmark,
.site-footer .wordmark{
  width:100%!important;
  justify-content:center;
}

.site-header .brand-tagline,
.site-footer .brand-tagline{
  display:block;
  width:100%!important;
  box-sizing:border-box;
  text-align:center!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Let the full text lockup determine one shared horizontal measure. */
.site-header .brand-lockup{
  min-width:max-content;
}
.site-footer .brand-lockup{
  min-width:max-content;
}


/* Consultancy-led two-pillar service grids */
.cards-two,.service-nav-two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){.cards-two,.service-nav-two{grid-template-columns:1fr}}

/* FAQ service routing cards: entire card is a semantic link */
.faq-service-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.faq-service-card-link h3,
.faq-service-card-link p{
  color:inherit;
}
.faq-service-card-link:focus-visible{
  outline:3px solid currentColor;
  outline-offset:3px;
}

/* Insights reading interface. */
.insights-sticky-heading{
  position:sticky;
  top:0;
  z-index:20;
  margin-left:-1rem;
  margin-right:-1rem;
  padding:.8rem 1rem;
  background:var(--surface,#fff);
  border-bottom:1px solid var(--border,rgba(15,23,42,.12));
  transition:transform .2s ease,opacity .16s ease;
}
body.insight-scroll-up .insights-sticky-heading{
  transform:translateY(-120%);
  opacity:0;
  pointer-events:none;
}

.insight-article .insight-author{width:100%}
.insight-author-preferred{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
}
.insight-sticky-identity{
  position:sticky;
  top:0;
  z-index:20;
  padding:.55rem 0 .5rem;
  background:var(--surface,#fff);
  border-bottom:1px solid var(--border,rgba(15,23,42,.12));
  transition:transform .2s ease,opacity .16s ease;
}
.insight-sticky-identity > h1{
  margin-bottom:.35rem;
  font-size:clamp(1.45rem,2.5vw,2rem);
  line-height:1.12;
}
.insight-sticky-identity .insight-author{
  margin-top:0;
  margin-bottom:0;
}
body.insight-scroll-up .insight-sticky-identity{
  transform:translateY(-120%);
  opacity:0;
  pointer-events:none;
}

.insight-reader-sidebar .insight-sidebar-cta{
  margin:30px 0 0;
  padding:22px;
  text-align:center;
}
.insight-reader-sidebar .insight-sidebar-cta h3{
  margin:0 0 12px;
  font-size:1.2rem;
  line-height:1.2;
}
.insight-reader-sidebar .insight-sidebar-cta .btn{
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:899px){
  .insights-sticky-heading,
  .insight-sticky-identity{top:78px}
  .insights-sticky-heading{
    margin-left:-.75rem;
    margin-right:-.75rem;
    padding:.7rem .75rem;
  }
  .insight-sticky-identity > h1{
    font-size:clamp(1.08rem,3.9vw,1.4rem);
    line-height:1.12;
  }
}
@media(max-width:620px){
  .insight-article .insight-author{flex-wrap:wrap}
  .insight-author-preferred{margin-left:auto}
}


/* v63: editorial trust and source presentation for Insights. */
.insight-review-date{
  margin:.45rem 0 1.25rem;
  font-size:.82rem;
  color:var(--muted,#64748b);
}
.insight-inline-source{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.insight-sources a{
  overflow-wrap:anywhere;
}
.insights-methodology{
  margin:2rem 0;
  padding:1.25rem 1.4rem;
  border:1px solid var(--border,rgba(15,23,42,.12));
  border-radius:18px;
  background:var(--surface,#fff);
}
.insights-methodology h2{margin-top:0}
.insights-methodology p:last-child{margin-bottom:0}
.author-expertise-note{max-width:72ch}

/* v65 entrepreneur event landing page */
.event-hero{padding:clamp(3.5rem,7vw,6rem) 0;background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(148,163,184,.08))}
.event-hero-inner{max-width:980px}
.event-hero h1{max-width:800px;margin:.35rem 0 .8rem}
.event-lead{max-width:760px;font-size:1.12rem}
.event-price{display:flex;align-items:baseline;gap:.65rem;margin:1.4rem 0}
.event-price strong{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1}
.event-price span{font-weight:700}
.event-content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:2rem;align-items:start}
.event-advice-card{position:sticky;top:110px;padding:1.5rem;border:1px solid var(--border,rgba(15,23,42,.12));border-radius:18px;background:var(--surface,#fff)}
.event-benefit-grid,.event-included-grid,.event-pricing-grid,.event-steps{display:grid;gap:1rem}
.event-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}
.event-included-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}
.event-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}
.event-steps{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1.25rem}
.event-benefit-grid article,.event-included-grid article,.event-pricing-grid article,.event-steps article{padding:1.35rem;border:1px solid var(--border,rgba(15,23,42,.12));border-radius:18px;background:var(--surface,#fff)}
.event-benefit-grid h3,.event-included-grid h3,.event-pricing-grid h3,.event-steps h3{margin-top:0}
.event-pricing-grid dl{margin:0}
.event-pricing-grid dl div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border,rgba(15,23,42,.12))}
.event-pricing-grid dl div:last-child{border-bottom:0}
.event-pricing-grid dt{font-weight:600}
.event-pricing-grid dd{margin:0;text-align:right;white-space:nowrap}
.event-note{margin-top:1rem}
.event-steps span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;border:1px solid currentColor;font-weight:800;margin-bottom:.8rem}
.event-final-cta{max-width:850px;text-align:center}
.event-final-cta p{max-width:720px;margin-left:auto;margin-right:auto}
@media(max-width:900px){
 .event-content-grid{grid-template-columns:1fr}
 .event-advice-card{position:static}
 .event-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .event-benefit-grid,.event-included-grid,.event-pricing-grid,.event-steps{grid-template-columns:1fr}
 .event-pricing-grid dl div{display:block}
 .event-pricing-grid dd{text-align:left;margin-top:.25rem;white-space:normal}
}

/* v66: centre the entrepreneur-event content within the available page width. */
.event-hero-inner{
  margin-left:auto;
  margin-right:auto;
}
.event-hero h1,
.event-lead{
  margin-left:auto;
  margin-right:auto;
}
.event-price{
  justify-content:center;
}
.event-hero-inner{
  text-align:center;
}
.event-content-grid,
.event-included-grid,
.event-pricing-grid,
.event-steps{
  margin-left:auto;
  margin-right:auto;
}
.event-pricing-grid{
  max-width:1080px;
}
.event-pricing-grid > article:last-child:nth-child(odd){
  grid-column:1 / -1;
  width:calc(50% - .5rem);
  justify-self:center;
}
@media(max-width:620px){
  .event-pricing-grid > article:last-child:nth-child(odd){
    grid-column:auto;
    width:100%;
  }
}

/* v67 entrepreneur event refinements */
.event-centred-heading{text-align:center;}
.event-card-cta{display:inline-block;margin-top:1rem;}

/* v68 contact page sample */
.contact-intro{padding-bottom:1rem;}
.contact-intro-inner{max-width:900px;}
.contact-intro h1{margin:.35rem 0 .8rem;}
.contact-intro .lead{max-width:850px;}
.contact-reassurance{margin:1.25rem 0;padding:1rem 1.15rem;border-left:3px solid var(--accent,#2f80ed);background:rgba(47,128,237,.05);border-radius:0 12px 12px 0;}
.contact-reassurance h3{margin:0 0 .35rem;font-size:1.05rem;}
.contact-reassurance p{margin:0;}

/* v70 author expertise placement */
.author-expertise-note{
  margin:.65rem 0 1rem;
  font-weight:600;
  line-height:1.55;
}

/* v71: centre the larger-website CTA within its card */
.event-card-cta{
  display:block;
  width:max-content;
  margin:auto;
}

/* v78 TEST — unified heading scale and first-H1 alignment.
   This is deliberately appended as a reversible test layer over v71. */

:root{
  --vseo-h1-size: clamp(2.25rem, 3.6vw, 3.25rem);
  --vseo-h2-size: clamp(1.70rem, 2.5vw, 2.20rem);
  --vseo-h3-size: clamp(1.28rem, 1.7vw, 1.55rem);
  --vseo-h1-line-height: 1.08;
  --vseo-h2-line-height: 1.16;
  --vseo-h3-line-height: 1.24;
}

/* Consistent semantic hierarchy */
body h1{
  font-size:var(--vseo-h1-size) !important;
  line-height:var(--vseo-h1-line-height) !important;
}
body h2{
  font-size:var(--vseo-h2-size) !important;
  line-height:var(--vseo-h2-line-height) !important;
}
body h3{
  font-size:var(--vseo-h3-size) !important;
  line-height:var(--vseo-h3-line-height) !important;
}

/* The first page H1 establishes a consistent left-aligned page entry point.
   This does not alter logo text or non-heading components. */
main h1:first-of-type{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Preserve sensible mobile hierarchy without page-specific H1 sizes. */
@media(max-width:700px){
  :root{
    --vseo-h1-size:2.15rem;
    --vseo-h2-size:1.65rem;
    --vseo-h3-size:1.30rem;
  }
}

/* v79: whole-card links for SEO Project Assistance routes. */
.project-support-card-link{display:block;height:100%;color:inherit;text-decoration:none}
.project-support-card-link:hover h3,.project-support-card-link:focus-visible h3{color:var(--accent,#1f66c2)}
.project-support-card-link:focus-visible{outline:2px solid var(--accent,#1f66c2);outline-offset:4px;border-radius:inherit}

/* v81 — Consultancy overview: tighter Practical by design panel only. */
body.consultancy-page .practical-by-design-panel{padding:10px 30px!important}

/* v83 — keep Practical by design compact and vertically balanced on mobile. */
@media(max-width:700px){
  body.consultancy-page .practical-by-design-panel{
    padding:10px 30px!important;
  }
  body.consultancy-page .practical-by-design-panel > :first-child{margin-top:0!important}
  body.consultancy-page .practical-by-design-panel > :last-child{margin-bottom:0!important}
}

/* v84 — mobile separation below Practical by design.
   Desktop layout remains unchanged. */
@media(max-width:700px){
  body.consultancy-page .practical-by-design-panel{
    margin-bottom:16px!important;
  }
}

/* v85 — third-level navigation for SEO Performance Analysis sub-services. */
.performance-submenu{list-style:none;margin:.35rem 0 0;padding:.15rem 0 .15rem .9rem}
.performance-submenu a{font-size:.92em}
@media(min-width:901px){
  .nested-dropdown>li{position:relative}
  .nested-dropdown>li>.performance-submenu{
    display:none;position:absolute;left:100%;top:-.35rem;min-width:300px;
    margin:0;padding:.55rem;background:var(--surface,#fff);
    border:1px solid var(--border,#d9e2ef);border-radius:12px;
    box-shadow:0 12px 30px rgba(20,38,70,.10);z-index:40
  }
  .nested-dropdown>li:hover>.performance-submenu,
  .nested-dropdown>li:focus-within>.performance-submenu{display:block}
}
@media(max-width:900px){
  .performance-submenu{display:block;padding-left:1rem}
}

/* v86 — real keyword-tracking report example. */
.keyword-report-example{
  margin:2rem 0;
}
.keyword-report-example img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid var(--border,#d9e2ef);
  border-radius:14px;
}
.keyword-report-example figcaption{
  margin-top:.7rem;
  font-size:.92rem;
  line-height:1.55;
  color:var(--muted,#68778f);
}

/* Crawl visualisation test — native Vital SEO effect, no third-party tool UI. */
.crawl-map-demo{
  margin:2.1rem 0 2.5rem;
  padding:1rem;
  border:1px solid var(--border,#d9e2ef);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(238,246,255,.72));
  overflow:hidden;
}
.crawl-map-canvas{
  display:block;
  width:100%;
  height:300px;
  border-radius:12px;
}
.crawl-map-caption{
  margin:.75rem .25rem .1rem;
  font-size:.9rem;
  line-height:1.5;
  color:var(--muted,#68778f);
}
@media(max-width:700px){
  .crawl-map-demo{margin:1.5rem 0 2rem;padding:.65rem}
  .crawl-map-canvas{height:230px}
  .crawl-map-caption{font-size:.84rem}
}

/* Real crawling-analysis report example. */
.crawl-report-example{margin:2rem 0}
.crawl-report-example img{
  display:block;width:100%;height:auto;
  border:1px solid var(--border,#d9e2ef);
  border-radius:14px
}
.crawl-report-example figcaption{
  margin-top:.7rem;font-size:.92rem;line-height:1.55;
  color:var(--muted,#68778f)
}

/* Interactive crawl-map affordances — test build. */
.crawl-map-canvas{
  cursor:grab;
  touch-action:none;
  user-select:none;
  outline:none;
}
.crawl-map-canvas:focus-visible{
  box-shadow:0 0 0 3px rgba(47,128,237,.22);
}


/* v89: logo descriptor — preserve the existing logo lockup while improving legibility. */
.brand-sub,
.logo-subtitle,
.site-logo small,
.site-logo .tagline,
.logo .tagline,
.logo-lockup small {
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.15;
}

/* v90 — visible refinement to the approved Vital SEO logo lockup.
   The descriptor keeps the same proportional treatment in header and footer. */
.site-header .brand{
  gap:0!important;
}
.site-header .brand-tagline{
  margin-top:6px!important;
  font-size:.76rem!important;
  line-height:1.15!important;
}
.site-footer .brand-tagline{
  margin-top:5px!important;
  font-size:.575rem!important;
  line-height:1.15!important;
}
@media (min-width:1081px){
  .site-header.is-compact .brand{
    gap:0!important;
  }
  .site-header.is-compact .brand-tagline{
    margin-top:4px!important;
    font-size:.66rem!important;
  }
}
@media (max-width:1080px){
  .site-header .brand-tagline{
    margin-top:5px!important;
    font-size:.69rem!important;
  }
}
@media (max-width:420px){
  .site-header .brand-tagline{
    margin-top:4px!important;
    font-size:.64rem!important;
    letter-spacing:.005em!important;
  }
}
\n/* v91 entrepreneur-event layout refinement */
.event-hero-inner{max-width:1000px!important;text-align:center;}
.event-hero-inner>.eyebrow{display:block;width:min(100%,800px);margin:.35rem auto .8rem!important;text-align:left!important;}
.event-hero h1{width:min(100%,1000px);max-width:none!important;margin:.35rem auto .8rem!important;text-align:center!important;}
.event-content-grid{display:block!important;max-width:1080px;}
.event-advice-section{padding-top:0;}
.event-advice-card-wide{position:static!important;max-width:1080px;margin:0 auto;padding:1.5rem 1.75rem;}
.event-advice-card-wide h2{margin-top:0;}
.event-advice-card-wide p:last-child{margin-bottom:0;}
.event-pricing-grid>article:last-child:nth-child(odd){grid-column:auto!important;width:auto!important;justify-self:stretch!important;}
@media(max-width:620px){
 .event-hero-inner>.eyebrow{width:100%;text-align:left!important;}
 .event-advice-card-wide{padding:1.25rem;}
}

/* v92: standalone larger website option */
.entrepreneur-large-website-option .container{
  max-width:1120px;
  margin-inline:auto;
}
.entrepreneur-large-website-option{
  padding-block:clamp(2.5rem,5vw,4.5rem);
}
.entrepreneur-large-website-option > .container > *{
  max-width:760px;
  margin-inline:auto;
}

/* v94 entrepreneur hero + standalone larger-site option */
body.entrepreneur-event .event-hero .container,
body.entrepreneur-event .entrepreneur-hero .container,
body.entrepreneur-event .hero .container{width:min(100% - 2rem,1120px)!important;margin-inline:auto!important}
body.entrepreneur-event .event-hero .hero-copy,
body.entrepreneur-event .entrepreneur-hero .hero-copy,
body.entrepreneur-event .hero .hero-copy{width:min(100%,920px)!important;max-width:920px!important;margin-inline:auto!important;text-align:center!important}
body.entrepreneur-event .event-hero h1,
body.entrepreneur-event .entrepreneur-hero h1,
body.entrepreneur-event .hero h1{width:100%!important;max-width:none!important;margin-inline:auto!important;text-align:center!important}
body.entrepreneur-event .event-hero .eyebrow,
body.entrepreneur-event .entrepreneur-hero .eyebrow,
body.entrepreneur-event .hero .eyebrow{width:min(100%,920px)!important;margin-inline:auto!important;text-align:left!important}
.entrepreneur-large-website-option{padding-block:clamp(2.5rem,5vw,4rem)!important}
.entrepreneur-large-website-option .container{width:min(100% - 2rem,1120px)!important;margin-inline:auto!important}
.entrepreneur-large-website-option .container>*{width:100%!important;max-width:none!important;margin:0!important}

/* v95 — Larger website options: full content width */
body.entrepreneur-event .entrepreneur-large-website-option {
  padding-top: 0 !important;
  padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

body.entrepreneur-event .entrepreneur-large-website-option .container {
  width: min(100% - 2rem, 1120px) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body.entrepreneur-event .entrepreneur-large-website-option .larger-website-card {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

@media (max-width: 700px) {
  body.entrepreneur-event .entrepreneur-large-website-option .container {
    width: min(100% - 2rem, 1120px) !important;
  }
  body.entrepreneur-event .entrepreneur-large-website-option .larger-website-card {
    width: 100% !important;
  }
}

/* v96 — standalone Larger website options must occupy the complete row */
body.entrepreneur-event .entrepreneur-large-website-option .event-pricing-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
body.entrepreneur-event .entrepreneur-large-website-option .event-pricing-grid > article{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}
/* Static QR Code Generator */
.qr-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.qr-settings label{display:grid;gap:.45rem}.qr-settings select{width:100%;padding:.78rem .9rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.qr-output{margin-top:1.25rem;display:grid;justify-items:center;gap:1rem}.qr-preview{width:min(100%,420px);aspect-ratio:1;display:grid;place-items:center;padding:1rem;background:#fff;border:1px solid var(--border);border-radius:16px}.qr-preview svg{display:block;width:100%;height:100%}.qr-placeholder{max-width:18rem;text-align:center;color:#667085}.qr-downloads{justify-content:center}.qr-recommendation{max-width:none}.qr-recommendation .eyebrow{margin-bottom:.5rem}@media(max-width:700px){.qr-settings{grid-template-columns:1fr}.qr-preview{width:100%}}


/* v101: Insight CTA moved from sidebar to article end */
.insight-article-end-cta{
  margin:2rem 0 0;
  padding:clamp(1.5rem,3vw,2rem);
  text-align:center;
}
.insight-article-end-cta h3{
  max-width:650px;
  margin:0 auto 1rem;
}
.insight-article-end-cta .btn{
  margin-left:auto;
  margin-right:auto;
}

/* v102: reusable bookmark control for individual tools */
.tool-bookmark-control{
  margin-top:1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  flex-wrap:wrap;
}
.tool-bookmark-button{
  appearance:none;
  border:1px solid var(--border,#d8e0eb);
  border-radius:999px;
  background:transparent;
  color:inherit;
  padding:.55rem .9rem;
  font:inherit;
  font-size:.9rem;
  cursor:pointer;
}
.tool-bookmark-button:hover,
.tool-bookmark-button:focus-visible{
  border-color:var(--accent,#2f80ed);
}
.bookmark-tool-message{
  flex-basis:100%;
  text-align:center;
  font-size:.85rem;
  color:var(--muted,#68778f);
}

/* Shared service components — consolidated v114 */
.project-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 10px}
.project-support-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}
.project-support-card h3{margin:0 0 8px;font-size:1.18rem;color:var(--blue-dark)}
.project-support-card p{margin:0;font-size:.98rem}
html[data-theme="dark"] .project-support-card{background:#182536;border-color:#34475d}
html[data-theme="dark"] .project-support-card h3{color:#8fc9ff}
.service-faq{align-self:start}
.service-faq-intro{margin-top:-.15rem;margin-bottom:1rem;font-size:.95rem}
.service-faq-list details{border-top:1px solid var(--border,#d6e0eb);padding:.8rem 0}
.service-faq-list details:last-child{padding-bottom:0}
.service-faq-list summary{cursor:pointer;font-weight:700;color:var(--text,#172033);line-height:1.35;list-style:none;padding-right:1.4rem;position:relative}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary::after{content:'+';position:absolute;right:0;top:0;color:#1762bd;font-size:1.15rem;line-height:1}
.service-faq-list details[open] summary::after{content:'−'}
.service-faq-list details p{margin:.7rem 0 0;font-size:.92rem;line-height:1.55}
.service-faq-list details[open] summary{color:#1762bd}
.u-mt-18{margin-top:18px}
.u-justify-center{justify-content:center}

/* Entrepreneur event page — externalised from former inline CSS */
.event-page .event-skip{position:absolute;left:20px;top:-100px;z-index:10000;padding:12px;background:var(--surface);color:var(--ink)}
.event-page .event-skip:focus{top:12px}
.event-page :focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:760px){.event-page .section{padding:50px 0}}
.event-package-reassurance{width:100%;box-sizing:border-box;margin:1.5rem 0 2.5rem;padding:2rem 2.25rem;border:1px solid var(--border,#d8e0eb);border-radius:18px;background:var(--card-bg,#fff);text-align:center}
.event-package-reassurance h3{max-width:900px;margin:0 auto;font-size:var(--h3-size,1.35rem);line-height:1.45;font-weight:700}
.event-package-reassurance p{max-width:900px;margin:1.25rem auto 0;line-height:1.6;font-weight:400}
@media(max-width:700px){.event-package-reassurance{padding:1.5rem 1.25rem;border-radius:16px}.event-package-reassurance h3{line-height:1.4}}
@media(max-width:700px){.project-support-grid{grid-template-columns:1fr}}

/* Clickable tool collection cards */
.tool-collection-card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.tool-collection-card-link:focus-visible {
  outline: 3px solid var(--accent, #2f80ed);
  outline-offset: 4px;
  border-radius: inherit;
}

/* Hierarchical HTML sitemap */
.sitemap-hero{padding:42px 0 28px}.sitemap-hero h1{margin-bottom:14px}.sitemap-hero p{max-width:760px}
.sitemap-tree-section{padding:16px 0 72px}.sitemap-tree-list{list-style:none;margin:0;padding:0}.sitemap-tree-list li{position:relative}
.sitemap-tree-list a,.sitemap-tree-heading{display:block}.sitemap-level-0>li{padding:14px 0;border-bottom:1px solid var(--border,#d8e0ea)}
.sitemap-level-0>li>a,.sitemap-level-0>li>.sitemap-tree-heading{font-size:1.2rem;font-weight:700;text-decoration:none}
.sitemap-level-1{margin:10px 0 2px 24px;padding-left:22px;border-left:2px solid var(--border,#d8e0ea)}
.sitemap-level-1>li{padding:7px 0}.sitemap-level-1>li>a,.sitemap-level-1>li>.sitemap-tree-heading{font-weight:650;text-decoration:none}
.sitemap-level-2,.sitemap-level-3{margin:5px 0 2px 22px;padding-left:18px;border-left:1px solid var(--border,#d8e0ea)}
.sitemap-level-2>li,.sitemap-level-3>li{padding:5px 0}.sitemap-tree-list a:hover{text-decoration:underline}
@media(max-width:760px){.sitemap-level-1{margin-left:12px;padding-left:16px}.sitemap-level-2,.sitemap-level-3{margin-left:10px;padding-left:14px}}

/* Cloudflare form helpers */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{margin-top:12px;min-height:1.4em}
