
/* Upsight Canada, visual revision 2 — extends styles.css without replacing copy. */
:root {--page-gutter:clamp(1rem,3.2vw,2.5rem)}
.site-header, .hero, .page-grid, .site-footer-shell { max-width: 1512px; }
.site-header {width:calc(100% - 2 * var(--page-gutter));}
.page-grid {grid-template-columns:minmax(0,1fr) 285px;gap:clamp(1.2rem,2.4vw,2.2rem);}
.hero {grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(1.25rem,2vw,2.2rem);}
.hero-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;}
.hero-actions .button {width:100%;min-width:0;min-height:64px;white-space:normal;text-align:center;padding:14px 12px;font-size:clamp(.81rem,1vw,.98rem);line-height:1.35;}
.hero h1{max-width:14.5ch;font-size:clamp(2.9rem,3.45vw,4.15rem)}
.hero .subheadline{font-family:var(--font-body);font-size:clamp(1rem,1.35vw,1.22rem);font-style:normal;line-height:1.6}
.site-header nav button, .site-footer nav button {font:inherit;cursor:pointer}
.site-header nav button {border:0;background:transparent;color:var(--muted);font-family:var(--font-heading);font-size:.875rem;font-weight:700;padding:.45rem 0;}
.site-header nav a + button, .site-header nav button + a {margin-left:1.25rem;padding-left:1.25rem;border-left:1px solid var(--sand);}
.site-header nav button:hover {color:var(--teal)}
.article{gap:1.4rem;}
/* Four editorial horizontal cards: 2 columns x 2 rows, not tall compressed vertical slabs. */
.cost-band{margin:0;padding:clamp(1.8rem,3vw,3rem);}
.cost-band h2{font-size:clamp(1.75rem,2.2vw,2.5rem);}
.cost-band .factor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:1.8rem 0 0;}
.story-section.cost-band .factor-grid > div{
 display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto 1fr;
 column-gap:1.1rem;row-gap:.35rem;align-items:start;
 padding:1.35rem 1.45rem;min-height:155px;border:1px solid rgba(198,226,242,.16);
 background:linear-gradient(115deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.055) 100%);
 border-radius:18px;box-shadow:none;
}
.factor-grid span {grid-column:1;grid-row:1 / span 2;width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:rgba(242,154,46,.13);border:1px solid rgba(242,154,46,.3);font-size:1.12rem;color:#fdb24c;margin:0;}
.factor-grid strong {grid-column:2;grid-row:1;font-size:1.06rem;line-height:1.22;margin:.08rem 0 .2rem;color:#fff;}
.factor-grid p {grid-column:2;grid-row:2;font-size:.92rem;line-height:1.55;margin:0;color:rgba(241,247,253,.79);max-width:40ch;}
/* Primary request text now lives only in an accessible overlay. */
[data-lead-open] {cursor:pointer;font-family:var(--font-heading);font-weight:800;}
button.text-link{border:0;background:none;padding:0;text-align:left;font-size:1rem;text-decoration:underline;}
button.text-link:hover{color:#0e2438}
button[data-lead-open].button{appearance:none;}
.lead-modal-layer {position:fixed;z-index:70;inset:0;display:grid;place-items:center;padding:20px;background:rgba(4,16,26,.75);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);overflow:auto;}
.lead-modal {position:relative;max-height:min(92dvh,930px);width:min(1040px,100%);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.25);border-radius:32px;background:linear-gradient(120deg,#08192b 0%,#143954 100%);box-shadow:0 30px 110px rgba(0,0,0,.35);}
.lead-modal-layout {display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(1rem,2.3vw,2rem);align-items:stretch;padding:clamp(18px,2.5vw,32px);}
.lead-modal .lead-copy{padding:clamp(.7rem,2.5vw,1.7rem);align-items:start;justify-content:center;}
.lead-modal .lead-copy h2 {font-size:clamp(2rem,2.75vw,3.1rem);line-height:1.1;}
.lead-modal .lead-copy p:not(.section-label) {font-size:1.05rem;line-height:1.67;}
.lead-modal .form-panel{padding:clamp(1.1rem,2.2vw,2rem);border-radius:24px;box-shadow:0 16px 40px rgba(0,0,0,.23);}
.lead-modal .field-grid{row-gap:1rem;}
.lead-modal .consent-row{margin:1.2rem 0;}
.lead-modal .form-panel input {border-radius:13px;}
.lead-modal .submit-button{min-height:54px;font-size:1rem;}
.lead-modal-close{position:sticky;display:grid;place-items:center;float:right;z-index:2;top:12px;right:12px;margin:12px 12px -50px 0;width:40px;height:40px;background:#fff;border:0;border-radius:50%;font-size:1.6rem;line-height:1;box-shadow:0 6px 20px rgba(0,0,0,.18);cursor:pointer;}
.lead-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.submit-preloader{position:fixed;inset:0;display:grid;place-items:center;z-index:100;background:rgba(7,20,32,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.preloader-box{display:grid;justify-items:center;gap:14px;min-width:min(370px,90vw);padding:40px 30px;border:1px solid rgba(255,255,255,.16);border-radius:25px;background:linear-gradient(130deg,#0b2438,#1b4c69);color:#fff;text-align:center;box-shadow:0 26px 65px rgba(0,0,0,.3);}
.preloader-box strong{font-family:var(--font-heading);font-size:1.06rem}
.preloader-box > span:not(.preloader-spinner){color:#cbdde8;font-size:.9rem}
.preloader-spinner{width:52px;height:52px;border-radius:50%;border:4px solid rgba(255,255,255,.20);border-top-color:#f5a842;animation:upsight-spin .75s linear infinite}
@keyframes upsight-spin{to{transform:rotate(360deg)}}
/* Trust & legal sections */
.subpage-main{max-width:1120px;margin:clamp(1.8rem,4vw,3.4rem) auto 5rem;padding:0 var(--page-gutter)}
.subpage-hero{padding:0 6px 20px;display:grid;gap:1rem;}
.back-link{color:var(--teal);font-family:var(--font-heading);font-size:.94rem;font-weight:800;text-decoration:none}
.back-link:hover{text-decoration:underline}
.subpage-overline{font-family:var(--font-heading);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--muted)}
.legal-article{padding:clamp(1.6rem,4.5vw,4rem);border:1px solid rgba(255,255,255,.82);border-radius:30px;background:rgba(255,255,255,.92);box-shadow:0 16px 55px rgba(9,34,55,.08);}
.legal-article h2{font-size:clamp(2rem,4vw,3.1rem);margin:0 0 1.15rem;color:var(--ink)}
.legal-article h3{font-size:1.16rem;margin:2.2rem 0 .65rem;color:var(--ink)}
.legal-article p, .legal-article li {font-size:1.02rem;line-height:1.76;color:#384e60;max-width:82ch}
.legal-article p {margin:0 0 1.05rem}
.legal-article ul{padding-left:1.5rem;margin:.7rem 0 1.3rem}
.legal-article li{margin:.35rem 0}
.legal-article a{color:#136b90;font-weight:700}
.legal-article code{font-size:.9em;padding:.1em .25em;border-radius:4px;background:#e9f3f8}
.site-footer-email a{color:var(--teal);text-decoration:none}
.cookie-policy-link{display:inline-block;margin-top:.4rem;font-size:.83rem;font-weight:700;color:var(--teal)}
.cookie-settings{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin:2rem 0;}
.cookie-settings .button.secondary{border-color:var(--teal);color:var(--ink);background:#fff}
.cookie-settings span{width:100%;font-size:.9rem;color:var(--teal)}
.thankyou-page{text-align:center;display:grid;justify-items:center;gap:1rem;min-height:460px;align-content:center;}
.thankyou-page .section-label{margin:0}
.thankyou-page h1{max-width:18ch;line-height:1.15;font-size:clamp(2.25rem,4.3vw,3.6rem)}
.thankyou-page p{max-width:580px;margin:0;font-size:1.08rem;color:var(--muted)}
.thankyou-page .button{margin-top:1rem}
.thankyou-mark{display:grid;place-items:center;width:75px;height:75px;border-radius:50%;background:#e6f7ed;color:#19834b;font-size:2.45rem;font-weight:800;}
@media (max-width:1160px){.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(2.3rem,3.55vw,3.3rem)}.page-grid{grid-template-columns:minmax(0,1fr) 260px}.cost-band .factor-grid{gap:12px}.story-section.cost-band .factor-grid > div{padding:1rem;grid-template-columns:46px minmax(0,1fr);gap:12px}.factor-grid span{width:43px;height:43px}}
@media (max-width:980px){.page-grid{display:block}.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(2.4rem,6vw,3.8rem)}.hero-media{min-height:320px}.site-header nav a+button,.site-header nav button+a{margin:0;padding:0;border:0}.site-header nav button{color:var(--muted);font-weight:600}.lead-modal-layout{grid-template-columns:1fr}.lead-modal .lead-copy{padding:.7rem .5rem}.lead-modal .lead-copy h2{font-size:2rem}.lead-modal .lead-copy p:not(.section-label){font-size:.98rem}.lead-modal{width:min(660px,100%)}.lead-modal-layer{padding:12px}.lead-modal-close{position:sticky}}
@media (max-width:680px){.hero-actions{grid-template-columns:1fr}.hero-actions .button{min-height:52px}.hero-media{min-height:240px}.cost-band .factor-grid{grid-template-columns:1fr}.story-section.cost-band .factor-grid > div{min-height:0;grid-template-columns:46px minmax(0,1fr)}.lead-modal{max-height:95dvh;border-radius:20px}.lead-modal-layout{padding:17px;gap:8px}.lead-modal .form-panel{padding:18px}.lead-modal .lead-copy{padding:5px 7px}.lead-modal .lead-copy h2{font-size:1.75rem}.lead-modal .lead-copy p:not(.section-label){font-size:.9rem;line-height:1.5}.lead-modal .field-grid{grid-template-columns:1fr}.lead-modal-close{margin:8px 8px -42px 0}.legal-article{padding:24px 20px}.cookie-settings .button{width:100%}.subpage-main{margin-top:1.2rem}.site-header{width:calc(100% - 2 * var(--page-gutter))}}
@media (prefers-reduced-motion:reduce){.preloader-spinner{animation-duration:2s}html{scroll-behavior:auto}}


/* ======================================================
   Professional auto glass services — visual services grid
   Custom 2-column editorial cards with replaceable images
   ====================================================== */
.story-section.services-section {
  padding: clamp(1.65rem, 3vw, 2.8rem);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 30px;
  background: linear-gradient(165deg, rgba(255, 255, 255, .98), rgba(246, 250, 253, .96));
  box-shadow: 0 16px 48px rgba(9, 37, 60, .08);
  color: var(--ink);
  overflow: hidden;
}
.services-header {
  margin: 0 0 1.6rem;
  text-align: center;
}
.services-header h2 {
  margin: 0 auto;
  max-width: 35ch;
  color: #10263d;
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 2.25vw, 2.35rem);
  font-weight: 800;
  line-height: 1.17;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.service-card {
  display: grid;
  grid-template-columns: clamp(116px, 11.5vw, 176px) minmax(0,1fr);
  align-items: center;
  min-width: 0;
  min-height: 170px;
  gap: clamp(12px, 1.1vw, 18px);
  padding: clamp(12px, 1vw, 16px);
  border: 1px solid rgba(143, 190, 219, .12);
  border-radius: 19px;
  background: linear-gradient(125deg, #0a2346 0%, #0a2b52 58%, #143a5a 100%);
  box-shadow: 0 8px 20px rgba(6, 31, 57, .11);
  transition: transform .18s ease,box-shadow .18s ease;
}
.service-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 32px rgba(6, 31, 57, .16);
}
.service-media {
  align-self: stretch;
  min-height: 136px;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(150deg,#356888,#182f55);
}
.service-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.service-body {
  min-width: 0;
  align-self: center;
}
.service-body h3 {
  margin: 0 0 .6rem;
  color: #fff;
  font-family: var(--font-heading);
  font-size: clamp(.98rem, 1.17vw, 1.12rem);
  font-weight: 800;
  line-height: 1.27;
  letter-spacing: -.012em;
  overflow-wrap: break-word;
}
.story-section.services-section .service-body p {
  margin: 0;
  max-width: 48ch;
  color: rgba(239, 247, 255, .84);
  font-size: clamp(.84rem, .9vw, .94rem);
  font-weight: 400;
  line-height: 1.55;
}
@media (max-width: 1250px) and (min-width: 981px) {
  .service-grid { grid-template-columns: 1fr; }
  .service-card { grid-template-columns: 174px minmax(0,1fr); min-height: 155px; }
}
@media (max-width: 800px) {
  .service-grid { grid-template-columns: 1fr; }
  .service-card { grid-template-columns: clamp(126px, 29vw, 188px) minmax(0,1fr); min-height: 152px; }
}
@media (max-width: 470px) {
  .story-section.services-section { padding: 1.15rem .85rem; border-radius: 22px; }
  .services-header { margin-bottom: 1.2rem; }
  .services-header h2 { font-size: 1.5rem; }
  .service-grid { gap: 12px; }
  .service-card { grid-template-columns: 106px minmax(0, 1fr); gap: 12px; padding: 10px; border-radius: 15px; min-height: 142px; }
  .service-media { min-height: 120px; border-radius: 10px; }
  .service-body h3 { font-size: .9rem; line-height: 1.26; margin-bottom: .35rem; }
  .story-section.services-section .service-body p { font-size: .78rem; line-height: 1.45; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card { transition: none; }
  .service-card:hover { transform: none; }
}

/* =========================================================
   V4: Canadian safety & fine overview, CAD pricing and blog
   ========================================================= */

/* Canadian law and visibility block */
.story-section.legal-risk-section {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(239,155,44,.15);
  background:linear-gradient(158deg,#fffdf9 0%,#fff 35%,#f2f7fc 100%);
  border-radius:30px;
  box-shadow:0 18px 55px rgba(8,31,49,.08);
}
.legal-risk-section .law-intro {display:grid;grid-template-columns:62px minmax(0,1fr);gap:20px;align-items:start;}
.legal-risk-section .law-alert-icon {display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fdedda;color:#b75b0b;font-size:2.2rem;font-weight:850;font-family:var(--font-heading);}
.legal-risk-section h2 {max-width:25ch;font-size:clamp(1.6rem,2.8vw,2.55rem);letter-spacing:-.045em;line-height:1.17;margin:.4rem 0 1rem;color:#10283c;}
.legal-risk-section .law-lede {font-size:clamp(.97rem,1.2vw,1.12rem);line-height:1.68;color:#435468;max-width:75ch;}
.legal-risk-section .law-notice {margin:1.3rem 0 1.5rem;padding:1rem 1.15rem;border-left:4px solid #e89425;border-radius:0 15px 15px 0;background:#fff3e7;color:#5a4737;font-size:.93rem;line-height:1.7;}
.law-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.law-card {padding:clamp(1.15rem,2vw,1.7rem);border:1px solid #dfe9f1;border-radius:23px;background:#fff;box-shadow:0 9px 26px rgba(8,31,49,.05);}
.law-card-top {display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid #e5edf3;}
.law-card-top span {color:#37647f;font-family:var(--font-heading);font-size:.72rem;font-weight:850;letter-spacing:.12em;}
.law-card-top strong {white-space:nowrap;color:#c26e17;font-size:clamp(1.4rem,2vw,2rem);font-weight:850;font-family:var(--font-heading);}
.law-card h3 {margin:1rem 0 .65rem;color:#10283c;font-size:1.05rem;line-height:1.3;}
.story-section.legal-risk-section .law-card p {font-size:.92rem;line-height:1.68;color:#52697b;}
.law-card a {display:inline-flex;margin-top:.3rem;color:#156783;font-weight:800;font-size:.84rem;text-decoration:none;border-bottom:1px solid currentColor;}
.law-consequences {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:1.4rem 0 1rem;padding:1.2rem;border-radius:22px;background:#0c2940;color:#ecf6fc;}
.law-consequences > div {position:relative;padding-left:42px;}
.law-consequences span {position:absolute;top:.05rem;left:0;display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#1b7696;color:#fff;font-size:1.15rem;}
.law-consequences h3 {margin:0 0 .4rem;color:#fff;font-size:1rem;}
.story-section.legal-risk-section .law-consequences p {margin:0;color:#d1e0ed;font-size:.9rem;line-height:1.7;}
.story-section.legal-risk-section .risk-source-note {font-size:.76rem;line-height:1.65;color:#657b8b;}
.risk-source-note a {color:#1b6b8a;}
.law-cta {margin-top:.55rem;}

/* Price cards */
.story-section.pricing-section {padding:clamp(1.3rem,3vw,2.6rem);border:1px solid #e0eaf0;border-radius:30px;background:#fff;box-shadow:0 17px 55px rgba(8,31,49,.07);}
.pricing-heading {margin:0 0 1.35rem;}
.pricing-heading h2 {font-family:var(--font-heading);font-size:clamp(2rem,3.6vw,3.5rem);font-weight:850;letter-spacing:-.05em;line-height:1.06;margin:.4rem 0 .65rem;color:#10283c;}
.story-section.pricing-section .pricing-heading > p:last-child {color:#6b7a8b;font-size:1.03rem;max-width:75ch;line-height:1.6;}
.pricing-hero {position:relative;aspect-ratio:2.7/1;max-height:390px;min-height:190px;overflow:hidden;margin:0 0 1.1rem;border-radius:20px;background:#16344b;}
.pricing-hero img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 44%;}
.pricing-hero::after {position:absolute;inset:0;content:"";background:linear-gradient(0deg,rgba(2,18,34,.75),transparent 45%);pointer-events:none;}
.pricing-hero figcaption {position:absolute;z-index:2;bottom:0;left:0;right:0;padding:2rem 1.3rem 1.05rem;color:#fff;font-size:.9rem;font-weight:650;}
.pricing-fact {display:grid;grid-template-columns:44px minmax(0,1fr);gap:1rem;align-items:start;margin:1.35rem 0 1rem;padding:1.1rem;border:1px solid #dfeaf0;border-radius:20px;background:#f3f9fc;}
.pricing-fact-icon {width:41px;height:41px;display:grid;place-items:center;border-radius:50%;background:#ef8c27;color:#fff;font-family:var(--font-heading);font-weight:850;font-size:1.3rem;}
.pricing-fact strong {color:#10283c;font-size:1.05rem;}
.story-section.pricing-section .pricing-fact p {margin:.2rem 0 0;font-size:.9rem;color:#566c7e;max-width:none;}
.pricing-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.3rem 0 1.3rem;}
.pricing-card {min-width:0;border:1px solid #dbe7ef;border-radius:18px;padding:clamp(1rem,1.4vw,1.4rem) clamp(.85rem,1.15vw,1.3rem);background:linear-gradient(160deg,#fff 0%,#f4f9fc 100%);}
.pricing-type {display:block;min-height:2.6em;font-size:.84rem;line-height:1.35;font-weight:850;color:#234d69;font-family:var(--font-heading);}
.pricing-amount {display:grid;align-content:end;gap:.1rem;padding:1rem 0 .6rem;min-height:95px;border-bottom:1px solid #dfe9ef;}
.pricing-amount small {font-size:.75rem;color:#758698;font-weight:750;}
.pricing-amount strong {font-family:var(--font-heading);font-weight:850;font-size:clamp(1.4rem,1.95vw,2.15rem);line-height:1.12;color:#10283c;white-space:nowrap;letter-spacing:-.04em;}
.story-section.pricing-section .pricing-card p {margin:.85rem 0 0;max-width:none;font-size:.83rem;line-height:1.6;color:#687d8d;}
.pricing-bottom {display:flex;align-items:center;justify-content:space-between;gap:1.15rem;margin:1.3rem 0;padding:1.1rem;border-radius:20px;background:#eaf3f9;}
.story-section.pricing-section .pricing-bottom p {flex:1;font-size:.88rem;line-height:1.65;margin:0;color:#476175;max-width:none;}
.pricing-bottom .button {flex:0 0 auto;white-space:nowrap;}
.story-section.pricing-section .pricing-sources {margin:1rem 0 0;font-size:.73rem;color:#7990a0;line-height:1.55;max-width:none;}
.pricing-sources a {color:#1c7696;}

/* Homepage blog + directory */
.blog-teaser-section {padding:clamp(1.5rem,3vw,2.5rem)!important;background:linear-gradient(180deg,#f6f9fc 0%,#fff 100%)!important;}
.blog-heading {display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem;}
.blog-heading h2 {font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.13;letter-spacing:-.04em;margin:.5rem 0 .65rem;color:#10283c;}
.story-section.blog-teaser-section .blog-heading p:last-child {max-width:66ch;margin:0;color:#667a8a;font-size:.96rem;}
.blog-all-link {flex:0 0 auto;color:#1c6b88;text-decoration:none;font-size:.91rem;font-weight:850;padding-bottom:.25rem;white-space:nowrap;}
.blog-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.blog-card {display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfebf0;border-radius:19px;background:#fff;box-shadow:0 9px 25px rgba(9,33,54,.055);transition:transform .2s,box-shadow .2s;min-width:0;}
.blog-card:hover {transform:translateY(-2px);box-shadow:0 15px 32px rgba(9,33,54,.10);}
.blog-card-media {display:block;aspect-ratio:1.45/1;overflow:hidden;background:#e5eef3;}
.blog-card-media img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.blog-card:hover .blog-card-media img {transform:scale(1.025);}
.blog-card-body {display:flex;flex-direction:column;flex:1;gap:.65rem;padding:1.12rem;}
.blog-card-body h3 {font-size:1rem;line-height:1.35;margin:0;color:#102c44;font-weight:850;letter-spacing:-.015em;}
.blog-card-body h3 a {text-decoration:none;}
.blog-card-body h3 a:hover {color:#1c7696;}
.blog-card-body p {flex:1;margin:0!important;font-size:.86rem!important;line-height:1.5!important;color:#637887;}
.blog-read-more {width:fit-content;font-weight:850;font-size:.85rem;color:#126f90;text-decoration:none;margin-top:.4rem;}
.blog-footer-link {display:flex;justify-content:center;margin-top:1.6rem;}
.blog-footer-link .button.secondary {border-color:#bed7e5;color:#1a5d7e;background:#f4fafc;}
.blog-directory {background:linear-gradient(180deg,#eaf3f8 0,#fff 290px);min-height:75vh;}
.blog-page-banner {padding:clamp(2.6rem,5vw,5rem) 1.3rem;text-align:center;background:linear-gradient(130deg,#071b3e,#123c68);color:#fff;}
.blog-page-banner h1 {margin:.35rem 0 1rem;color:#fff;font-size:clamp(2.2rem,4vw,3.5rem);max-width:none;}
.blog-page-banner p {margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;color:#99c9db;font-weight:850;}
.blog-page-banner nav {font-size:.77rem;color:#d0e5f1;}
.blog-page-banner a {color:#eff8fb;text-decoration:none;}
.blog-directory-body {max-width:1512px;margin:0 auto;padding:clamp(1.7rem,3vw,3rem) var(--page-gutter) 5rem;}
.blog-directory-heading {display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;}
.blog-directory-heading h2 {font-size:clamp(1.6rem,2.8vw,2.5rem);letter-spacing:-.035em;margin:.45rem 0;color:#10283c;}
.blog-directory-heading p:last-child {margin:0;color:#60788a;}
.directory-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;}
.directory-grid .blog-card {min-height:100%;}

/* Full independent blog articles */
.blog-article-shell {max-width:1340px;margin:0 auto;padding:clamp(1.2rem,3vw,2.5rem) var(--page-gutter) 5rem;}
.blog-breadcrumb {font-size:.79rem;color:#7890a2;margin-bottom:1.5rem;}
.blog-breadcrumb a {color:#246e8a;text-decoration:none;}
.blog-article {overflow:hidden;border:1px solid #e4edf3;border-radius:30px;background:#fff;box-shadow:0 18px 55px rgba(9,33,54,.06);}
.blog-article-head {padding:clamp(1.6rem,4vw,3.5rem) clamp(1.5rem,4vw,3.5rem) 1.6rem;}
.blog-article-head h1 {max-width:24ch;line-height:1.12;letter-spacing:-.055em;color:#10283c;font-size:clamp(2rem,4.1vw,3.8rem);margin:.5rem 0 1rem;}
.blog-dek {color:#667e91;font-size:clamp(1rem,1.5vw,1.24rem);line-height:1.6;max-width:65ch;}
.blog-article-image {aspect-ratio:2.6/1;max-height:460px;margin:0;background:#ddebf4;overflow:hidden;}
.blog-article-image img {width:100%;height:100%;object-fit:cover;}
.blog-article-layout {display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(1.5rem,3vw,3rem);align-items:start;padding:clamp(1.3rem,3.5vw,3rem);}
.blog-article-copy {min-width:0;}
.blog-article-copy section {margin:0 0 2.1rem;}
.blog-article-copy h2 {font-size:clamp(1.3rem,2vw,1.8rem);letter-spacing:-.025em;line-height:1.28;color:#142f47;margin:0 0 .85rem;}
.blog-article-copy p {font-size:1.04rem;line-height:1.85;color:#4b6376;margin:0;max-width:78ch;}
.blog-article-copy .article-note {font-size:.86rem;line-height:1.6;color:#6c7e8b;margin:0 0 2.25rem;padding:.95rem 1.1rem;border-left:3px solid #f2a13a;background:#f9f5ec;border-radius:0 9px 9px 0;}
.blog-sources {padding:1.25rem 1.4rem;border:1px solid #dae7ee;border-radius:16px;background:#f4f9fc;margin-top:1.2rem;}
.blog-sources strong {font-size:.94rem;color:#274c65;}
.blog-sources ul {margin:.75rem 0 0;padding-left:1.15rem;}
.blog-sources li {margin:.4rem 0;font-size:.85rem;line-height:1.5;}
.blog-sources a {color:#1f728e;}
.article-cta {padding:clamp(1.2rem,2.6vw,2rem);background:linear-gradient(120deg,#0b2740,#124561);border-radius:22px;margin-top:2.4rem;color:#fff;}
.article-cta h2 {color:#fff;max-width:25ch;}
.blog-article-copy .article-cta p {color:#d4e2ed;font-size:.93rem;line-height:1.7;margin-bottom:1.1rem;}
.blog-side {position:sticky;top:7rem;padding:1.25rem;border:1px solid #dfe9f0;border-radius:18px;background:#f6fafc;}
.blog-side h2 {font-size:1.1rem;color:#10283c;margin:0 0 .5rem;}
.blog-side p {font-size:.88rem;color:#607689;margin:0 0 1.1rem;line-height:1.6;}
.blog-side a {display:block;padding:.7rem 0;border-top:1px solid #dfe9f0;text-decoration:none;color:#1f718e;font-weight:750;font-size:.87rem;}

@media(max-width:1300px){.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pricing-amount strong{font-size:1.9rem}.blog-article-layout{grid-template-columns:minmax(0,1fr) 240px;}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:980px){.blog-article-layout{grid-template-columns:1fr;}.blog-side{position:static;}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pricing-bottom{flex-direction:column;align-items:stretch;}.pricing-bottom .button{width:100%;}.site-header nav{flex-wrap:wrap;}}
@media(max-width:740px){.law-card-grid,.law-consequences{grid-template-columns:1fr;}.legal-risk-section .law-intro{grid-template-columns:1fr;gap:10px;}.law-alert-icon{width:50px!important;height:50px!important;}.blog-directory-heading{flex-direction:column;align-items:stretch;gap:1rem;}.blog-directory-heading .button{width:100%;}.blog-heading{align-items:start;flex-direction:column;gap:.75rem;}}
@media(max-width:600px){
  .story-section.legal-risk-section,.story-section.pricing-section,.blog-teaser-section{padding:1.15rem!important;border-radius:20px;}
  .legal-risk-section .law-notice{font-size:.86rem;}
  .law-consequences{padding:1rem;gap:1.3rem;}
  .law-card{padding:1.15rem;border-radius:16px;}
  .law-card-top strong{font-size:1.55rem;}
  .pricing-hero{aspect-ratio:1.45/1;}
  .pricing-grid{grid-template-columns:1fr;gap:.7rem;}
  .pricing-type{min-height:auto;}
  .pricing-card{display:grid;grid-template-columns:1fr;}
  .pricing-amount{min-height:auto;padding:.55rem 0;}
  .pricing-amount strong{font-size:1.8rem;}
  .blog-grid,.directory-grid{grid-template-columns:1fr;gap:1rem;}
  .blog-article{border-radius:18px;}
  .blog-article-head{padding:1.3rem 1.2rem 1.4rem;}
  .blog-article-image{aspect-ratio:1.55/1;}
  .blog-article-layout{padding:1.2rem;}
  .blog-article-copy p{font-size:.98rem;line-height:1.75;}
  .blog-article-head h1{font-size:2rem;}
  .blog-page-banner{padding:2.9rem 1.3rem;}
  .pricing-hero figcaption{font-size:.79rem;}
}
@media(prefers-reduced-motion:reduce){.blog-card,.blog-card-media img{transition:none;}.blog-card:hover{transform:none;}}


/* Step-by-step service process block */
.funnel-bridge.process-bridge {position:relative;display:block;margin:0;padding:clamp(1.5rem,3.3vw,2.5rem);border:0;border-radius:27px;background:linear-gradient(130deg,#091e47,#0b2555 60%,#123967);color:#fff;text-align:left;overflow:hidden;box-shadow:0 18px 45px rgba(6,24,53,.16);}
.funnel-bridge.process-bridge::before {display:none;}
.process-bridge .funnel-bridge-eyebrow {color:#1dc6ff;margin:0 0 .8rem;font-size:.72rem;}
.process-bridge .funnel-bridge-title {max-width:38ch;color:#fff;text-align:left;letter-spacing:-.03em;font-size:clamp(1.55rem,2.55vw,2.25rem);margin:0 0 .6rem;line-height:1.18;}
.process-subtitle {font-size:.96rem;line-height:1.65;color:#cde1f3;margin:.1rem 0 1.7rem;}
.process-bridge .color-teal {color:#f4ee71;font-weight:750;}
.process-layout {display:grid;grid-template-columns:minmax(0,1.28fr) minmax(220px,.72fr);align-items:stretch;gap:clamp(1rem,3vw,2.5rem);}
.process-content {min-width:0;display:flex;flex-direction:column;justify-content:space-between;}
.process-steps {display:grid;gap:1rem;}
.process-step {display:grid;grid-template-columns:57px minmax(0,1fr);align-items:center;gap:1rem;}
.process-icon {width:57px;height:57px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#0bb1e8;color:#fff;}
.process-icon svg {width:26px;height:26px;}
.process-step-text h3 {font-size:clamp(.98rem,1.3vw,1.12rem);line-height:1.34;color:#fbf47e;margin:0 0 .35rem;}
.process-step-text p {font-size:.88rem;line-height:1.55;color:#d4e7f2;margin:0;}
.process-image {position:relative;width:100%;min-height:400px;margin:0;border-radius:19px;background:#17385e;overflow:hidden;}
.process-image img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;}
.process-cta {margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.16);}
.process-bridge .funnel-bridge-copy {max-width:none;margin:0 0 1rem;color:#d5e5ee;font-size:.85rem;line-height:1.65;text-align:left;}
.process-bridge .funnel-bridge-copy strong {color:#fbf47e;}
.process-bridge .button.primary {margin:0;min-height:49px;padding:.8rem 1.5rem;width:fit-content;}
@media(max-width:900px){.process-layout{grid-template-columns:1fr;}.process-image{aspect-ratio:16/9;min-height:0;}.process-image img{object-position:50% 42%;}}
@media(max-width:600px){.funnel-bridge.process-bridge{padding:1.15rem;border-radius:18px;}.process-steps{gap:1rem;}.process-step{grid-template-columns:48px minmax(0,1fr);gap:.8rem;align-items:start;}.process-icon{width:48px;height:48px;border-radius:9px;}.process-icon svg{width:23px;height:23px;}.process-step-text h3{font-size:.95rem;margin:0 0 .25rem;}.process-step-text p{font-size:.8rem;}.process-bridge .button.primary{width:100%;}.process-image{aspect-ratio:4/3;}.process-bridge .funnel-bridge-title{font-size:1.55rem;}.process-subtitle{font-size:.88rem;}}
