/* Local redesign: light surfaces, navy typography and restrained blue accents. */
:root { color-scheme: light; --ink:#172b4d; --muted:#52647b; --blue:#0369a1; --line:#dce5ee; }
body { background:#f7f9fc; color:#334155; font-family:Arial,Helvetica,sans-serif; }
h1,h2,h3,h4 { color:var(--ink); line-height:1.25; letter-spacing:-.025em; }
a { color:var(--blue); }
.container { max-width:1200px; }
header { background:#fff; padding:16px 0; border-bottom:1px solid var(--line); }
.main-nav { width:90%; gap:26px; flex-wrap:nowrap; }
.logo { --logo-size:56px; gap:8px; flex-shrink:0; }
.logo-text { font-size:24px; top:-3px; color:var(--ink); letter-spacing:-.035em; }
.main-nav > ul { gap:23px; align-items:center; flex-wrap:nowrap; font-size:14px; }
.main-nav a { color:var(--ink); }
.main-nav a:hover,.main-nav a.active { color:var(--blue); }
.main-nav a.nav-quote { background:var(--blue); color:#fff; padding:12px 17px; border-radius:8px; border:0; display:block; }
.main-nav a.nav-quote:hover { background:#075985; }
.nav-services { position:relative; }
.main-nav .nav-submenu { display:none; position:absolute; top:100%; left:-14px; padding:15px 8px 8px; min-width:238px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 35px #172b4d12; z-index:30; }
.nav-services:hover > .nav-submenu,.nav-services:focus-within > .nav-submenu { display:flex; flex-direction:column; gap:0; align-items:stretch; }
.main-nav .nav-submenu a { display:block; padding:9px 12px; border:0; font-weight:normal; }
.main-nav .nav-submenu a:hover { background:#eaf4fa; border-radius:6px; }
.hero { color:#334155; background:#eaf4fa; }
.light-home-hero { background:linear-gradient(115deg,#f3f8fc 0%,#eaf4fa 65%,#e3f1f5 100%); padding:64px 20px 70px; border-bottom:1px solid #dce9f1; }
.light-home-hero .hero-shell { grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; }
.light-home-hero .hero-copy { padding:12px 0; }
.light-home-hero .hero-kicker { color:var(--blue); font-size:11px; letter-spacing:.12em; margin-bottom:20px; }
.light-home-hero h1 { font-size:clamp(34px,3.7vw,49px); line-height:1.14; color:var(--ink); margin-bottom:24px; max-width:620px; }
.light-home-hero .hero-copy > p:not(.hero-kicker) { font-size:18px; line-height:1.8; color:#465b73; max-width:550px; margin-bottom:26px; }
.hero-card { background:#fff; border:1px solid var(--line); box-shadow:0 18px 45px #172b4d0b; color:#334155; }
.light-home-hero .hero-card { padding:0 26px 26px; overflow:hidden; border-radius:18px; }
.hero-workspace-image { width:calc(100% + 52px); max-width:none; height:195px; object-fit:cover; display:block; margin:0 -26px 23px; }
.light-home-hero .hero-card h2 { color:var(--ink); font-size:22px; margin:0 0 14px; }
.hero-card-steps { font-size:15px; line-height:1.7; }
.hero-card-steps li::marker { color:var(--blue); font-weight:bold; }
.btn,button[type=submit],.contact-form button { background:var(--blue); color:#fff; border:1px solid var(--blue); border-radius:8px; padding:12px 20px; box-shadow:none; }
.btn:hover,button[type=submit]:hover,.contact-form button:hover { background:#075985; color:#fff; box-shadow:0 5px 14px #0369a11a; transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--blue); border:1px solid #a6c3d7; }
.btn-outline:hover { background:#e1eef6; color:#075985; }
.home-quick-links,.home-trust { padding:60px 20px; background:#fff; }
.home-section-heading { margin-bottom:32px; }
.home-section-heading h2 { color:var(--ink); font-size:30px; }
.home-section-label,.home-quick-kicker { color:var(--blue); font-size:11px; }
.home-quick-card,.home-trust-card,.home-final-shell,.card { background:#fff; border:1px solid var(--line); box-shadow:0 6px 22px #172b4d06; }
.home-quick-card { padding:27px; border-radius:14px; display:flex; flex-direction:column; align-items:flex-start; }
.home-quick-card h3,.home-trust-card h3 { color:var(--ink); font-size:21px; }
.home-quick-card > p:not(.home-quick-kicker) { margin-bottom:18px; color:var(--muted); }
.home-quick-card .btn { margin-top:auto; background:#eaf4fa; color:#075985; border-color:#eaf4fa; padding:10px 15px; }
.home-quick-card .btn:hover { background:#d9ebf5; }
.home-about { background:#edf5f9; padding:58px 20px; }
.home-about h2 { color:var(--ink); }
.home-trust-card { box-shadow:none; border:0; border-top:3px solid #b8dce9; border-radius:0; padding:24px 8px; }
.home-final-cta { background:#f7f9fc; padding:32px 20px 65px; }
.home-final-shell { background:#eaf4fa; box-shadow:none; padding:36px; border-color:#d5e6f0; }
.home-final-shell h2 { color:var(--ink); font-size:28px; }
.services,.about,.community,.pricing,.contact,.contact-page,.quote-page,.blog-page { background:#f7f9fc; }
.sp-hero-copy,.sp-hero-card,.sp-group,.sp-extras,.sp-card,.quote-intro-copy,.quote-intro-card { background:#fff; border-color:var(--line); box-shadow:0 6px 24px #172b4d06; }
.sp-hero-copy { background:#eaf4fa; }
.sp-page h1,.sp-page h2,.sp-page h3 { color:var(--ink); }
.sp-page p,.sp-page li { color:#334155; }
.sp-quick-link { background:#fff; color:var(--ink); border-color:var(--line); }
.sp-card-badge { background:#eaf4fa; color:#075985; }
.contact-form input,.contact-form textarea,input,textarea,select { background:#fff; color:var(--ink); border:1px solid #c5d5e1; }
.card:hover { box-shadow:0 10px 28px #172b4d0d; transform:translateY(-3px); }
footer { background:#172b4d; color:#dae5f0; border:0; padding:35px 20px; font-size:14px; }
footer a,footer .cookie-settings-link { color:#bce4f4; }
.cookie-banner { background:#fff; color:#334155; border:1px solid var(--line); box-shadow:0 6px 30px #172b4d16; }
.cookie-banner p { color:#334155; }
:focus-visible { outline:3px solid #0369a1; outline-offset:4px; }
.dc-chat-launcher .dc-chat-btn { background:#0369a1; color:#fff; box-shadow:0 5px 18px #172b4d18; }
.dc-chat-window { background:#fff; color:#334155; border-color:#dce5ee; }
.dc-chat-window .dc-chat-header { background:#172b4d; }
.dc-chat-window .dc-chat-body { background:#f7f9fc; }
.dc-chat-window .dc-msg.bot .dc-bubble { background:#fff; color:#334155; border-color:#dce5ee; }
.dc-chat-window .dc-msg.user .dc-bubble,.dc-chat-window .dc-chat-link.primary,.dc-chat-window .dc-chat-input button { background:#0369a1; color:#fff; }
.dc-chat-window .dc-chat-quick,.dc-chat-window .dc-chat-input,.dc-chat-window .dc-chat-footer { background:#fff; color:#52647b; border-color:#dce5ee; }
.dc-chat-window .dc-quick-btn,.dc-chat-window .dc-chat-link { background:#eaf4fa; color:#075985; border-color:#c5d5e1; }
.dc-chat-window .dc-chat-input input { background:#fff; color:#172b4d; border-color:#c5d5e1; }
.dc-chat-window .dc-chat-footer a { color:#0369a1; }
@media(max-width:1100px) and (min-width:769px) { .logo-text{font-size:20px}.main-nav{gap:16px}.main-nav > ul{gap:14px;font-size:13px}.logo{--logo-size:46px} }
@media(max-width:768px) {
  header { padding:12px 0; }
  .main-nav { gap:8px; }
  .logo { --logo-size:42px; }
  .logo-text { font-size:clamp(16px,4.8vw,20px); }
  .nav-toggle { background:#fff; color:var(--ink); border-color:#c5d5e1; }
  .main-nav > ul { background:#fff; gap:0; align-items:stretch; }
  .main-nav .nav-submenu { display:block; position:static; min-width:0; width:auto; padding:0 0 4px 12px; border:0; border-left:2px solid #dce9f1; box-shadow:none; border-radius:0; background:#fff; }
  .main-nav .nav-submenu a { font-size:13px; padding:7px 10px; }
  .main-nav a.nav-quote { margin-top:8px; text-align:center; }
  .light-home-hero { padding:40px 20px; }
  .light-home-hero .hero-shell { grid-template-columns:1fr; gap:28px; }
  .light-home-hero h1 { font-size:35px; }
  .light-home-hero .hero-kicker { font-size:10px; }
  .hero-workspace-image { height:180px; }
  .home-quick-links,.home-trust,.home-about { padding:40px 12px; }
  .home-section-heading h2 { font-size:27px; }
  .home-final-shell { padding:25px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition:none!important} }

/* Give the existing logo a clearer, larger home in the light header. */
.main-nav > .logo {
  --logo-size:76px;
  gap:14px;
  padding:8px 18px 8px 8px;
  background:#edf5fa;
  border:1px solid #d5e5f0;
  border-radius:16px;
}
.main-nav > .logo .logo-img {
  width:var(--logo-size);
  height:var(--logo-size);
  background:#172b4d;
  border-radius:11px;
}
.main-nav > .logo .logo-text { font-size:25px; top:0; }
@media(min-width:769px) and (max-width:1100px) {
  .main-nav > .logo { --logo-size:64px; gap:10px; padding-right:12px; }
  .main-nav > .logo .logo-text { font-size:20px; }
}
@media(max-width:768px) {
  .main-nav > .logo { --logo-size:60px; gap:10px; padding:6px 12px 6px 6px; border-radius:13px; flex-shrink:1; }
  .main-nav > .logo .logo-text { font-size:clamp(15px,3.5vw,21px); white-space:normal; line-height:1.15; }
  .main-nav > .logo .logo-img { flex-shrink:0; }
  .nav-toggle { flex-shrink:0; }
}
/* Enlarge the artwork within the same logo tile, compensating for image padding. */
.main-nav > .logo .logo-img {
  object-fit:contain;
  padding:0;
  background-image:url('/static/logo-mark-192.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:145%;
  object-position:-9999px -9999px;
}

.main-nav > .logo .logo-img { background-position:center 15%; }

@media(max-width:768px){.main-nav > ul{max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain}}
.quote-step-panel h2{scroll-margin-top:24px}


a[href^='mailto:']{overflow-wrap:anywhere}


.quote-form fieldset{min-inline-size:0;min-width:0}.quote-form .option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-form .option-grid label{min-width:0;overflow-wrap:anywhere}@media(max-width:400px){.quote-form .option-grid{grid-template-columns:minmax(0,1fr)}}

/* Clear contrast for restored quote progress on the light surface. */
.quote-draft-note { background:#eaf4fa; color:#334155; border-color:#a6c3d7; }
.quote-draft-note > span { color:#334155; }
.quote-draft-note .quote-draft-reset { color:#075985; }
/* Readability corrections for secondary and conditional content. */
.quote-review-card h3 { color:#172b4d; }
.blog-post-separator { color:#52647b; }
input::placeholder,textarea::placeholder { color:#52647b; opacity:1; }
.form-alert-error { color:#9f1239; background:#fff1f2; border-color:#fda4af; }
.form-alert-success { color:#166534; background:#f0fdf4; border-color:#86efac; }
#form-success { color:#166534; }
.pricing-note { color:#52647b; }
.nfc-link-copy span,.nfc-demo-card span { color:#52647b; }
