/* GlassQuote v340 — visual alignment for all public SEO, guide, location and product pages.
   Loaded last so legacy page templates keep their content/SEO while sharing the homepage visual language. */
:root{
  --gq-v340-navy:#071d35;
  --gq-v340-blue:#1373bf;
  --gq-v340-sky:#7fd4ff;
  --gq-v340-orange:#ff9700;
  --gq-v340-gold:#ffb73d;
  --gq-v340-paper:#f7fafd;
  --gq-v340-line:#dce9f4;
  --gq-v340-shadow:0 18px 46px rgba(7,29,53,.10);
  --gq-v340-shadow-soft:0 10px 28px rgba(7,29,53,.07);
}

/* Keep the same light page canvas and compact rhythm as the main site. */
body.landing-page,
body.gq-header-standardized:has(.product-hero),
body.gq-header-standardized:has(.detail-hero){
  background:linear-gradient(180deg,#f8fbff 0,#eef5fb 52%,#f8fafd 100%)!important;
  color:#152538;
}

/* SEO / guide / location hero — same deep glass treatment as the homepage, but content-led. */
body.landing-page .hero{
  padding:clamp(44px,6vw,70px) 0 clamp(46px,6vw,66px)!important;
  background:linear-gradient(165deg,#040f1f 0%,#0a2038 32%,#0c3159 62%,#134271 100%)!important;
  border-bottom:1px solid rgba(7,29,53,.12)!important;
}
body.landing-page .hero::before{
  background:
    radial-gradient(circle at 82% 18%,rgba(255,151,0,.22),transparent 32rem),
    radial-gradient(circle at 10% 85%,rgba(19,115,191,.32),transparent 30rem)!important;
}
body.landing-page .hero::after{
  width:auto!important;height:auto!important;right:auto!important;top:auto!important;border:0!important;border-radius:0!important;
  inset:-30% -15%!important;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.08) 50%,transparent 58%)!important;
  clip-path:none!important;box-shadow:none!important;transform:none!important;
  animation:gqV340HeroSheen 11s ease-in-out infinite!important;
}
@keyframes gqV340HeroSheen{0%,100%{transform:translateX(-7%)}50%{transform:translateX(7%)}}
body.landing-page .landing-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  gap:clamp(26px,4vw,52px)!important;
  align-items:center!important;
}
body.landing-page .crumbs{
  margin-bottom:18px!important;
  color:rgba(220,236,252,.62)!important;
  font-size:.69rem!important;
  letter-spacing:.015em;
}
body.landing-page .crumbs a{color:#9edcff!important}
body.landing-page .eyebrow{
  margin-bottom:13px!important;color:#8fdcff!important;font-size:.66rem!important;font-weight:950!important;letter-spacing:.11em!important;
}
body.landing-page .hero h1{
  max-width:800px!important;
  font-size:clamp(2.55rem,5.8vw,4.85rem)!important;
  line-height:.97!important;
  letter-spacing:-.05em!important;
  text-wrap:balance;
}
body.landing-page .hero h1 em{color:#7fd4ff!important}
body.landing-page .hero-lead{
  max-width:730px!important;margin-top:19px!important;color:rgba(224,239,251,.78)!important;
  font-size:clamp(.96rem,1.7vw,1.15rem)!important;line-height:1.62!important;font-weight:540!important;
}
body.landing-page .hero-actions{gap:9px!important;margin-top:24px!important}
body.landing-page .hero-actions .btn{
  min-height:52px!important;padding:12px 18px!important;border-radius:14px!important;font-size:.82rem!important;font-weight:950!important;
}
body.landing-page .hero-actions .btn-primary{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--gq-v340-orange),var(--gq-v340-gold))!important;
  color:#281300!important;
  box-shadow:0 22px 48px rgba(255,151,0,.24),0 16px 38px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.34)!important;
}
body.landing-page .hero-actions .btn-primary::after{
  content:"→";margin-left:9px;font-size:1rem;font-weight:950;transition:transform .18s ease;
}
body.landing-page .hero-actions .btn-primary:hover::after{transform:translateX(3px)}
body.landing-page .hero-actions .btn-secondary{
  border-color:rgba(255,255,255,.20)!important;background:rgba(255,255,255,.08)!important;color:#eef8ff!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
body.landing-page .hero-trust-row{gap:7px!important;margin-top:20px!important}
body.landing-page .hero-trust-pill{
  min-height:32px!important;padding:7px 10px!important;
  border-color:rgba(255,255,255,.15)!important;background:rgba(255,255,255,.065)!important;
  color:rgba(235,248,255,.9)!important;font-size:.66rem!important;
}
body.landing-page .hero-trust-pill::before{background:rgba(127,212,255,.14)!important;color:#8fe1ff!important}

/* Make page photography feel like part of the GlassQuote interface rather than a separate article template. */
body.landing-page .landing-hero-media{
  min-height:390px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:25px!important;
  background:#0a2744!important;
  box-shadow:0 26px 64px rgba(0,0,0,.30),0 0 0 7px rgba(255,255,255,.035)!important;
}
body.landing-page .landing-hero-media img{min-height:390px!important}
body.landing-page .landing-hero-caption{
  left:14px!important;right:14px!important;bottom:14px!important;
  padding:13px 14px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:15px!important;
  background:rgba(4,20,36,.72)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
body.landing-page .landing-hero-caption b{font-size:.82rem!important}
body.landing-page .landing-hero-caption span{font-size:.68rem!important;color:rgba(220,236,248,.73)!important}

/* Content sections: more compact, more app-like, and closer to the homepage cards. */
body.landing-page .section{padding:clamp(48px,6vw,68px) 0!important}
body.landing-page .section-soft{
  background:linear-gradient(180deg,rgba(236,246,253,.78),rgba(249,252,255,.96))!important;
  border-color:rgba(202,222,237,.72)!important;
}
body.landing-page .section-dark{
  background:linear-gradient(145deg,#06182b,#0b3157)!important;
}
body.landing-page .section-head{max-width:770px!important;margin-bottom:24px!important}
body.landing-page .section h2{
  font-size:clamp(2rem,4.5vw,3.35rem)!important;line-height:1!important;letter-spacing:-.045em!important;text-wrap:balance;
}
body.landing-page .section-head p{margin-top:11px!important;font-size:.96rem!important;line-height:1.62!important}
body.landing-page .card,
body.landing-page .panel,
body.landing-page .feature-card,
body.landing-page .service-card{
  border-color:rgba(208,226,240,.92)!important;
  border-radius:19px!important;
  box-shadow:var(--gq-v340-shadow-soft)!important;
}
body.landing-page .card{padding:22px!important}
body.landing-page .card::before{height:3px!important;background:linear-gradient(90deg,#1373bf,#7fd4ff,#ff9700)!important}
body.landing-page .card h3{font-size:1.32rem!important}
body.landing-page .card p{font-size:.86rem!important;line-height:1.58!important}
body.landing-page .card-link{color:#0b67aa!important;font-size:.8rem!important}
body.landing-page .notice{border-radius:15px!important;box-shadow:0 8px 24px rgba(7,29,53,.04)!important}

/* Link-heavy cards should obviously look interactive on touch devices. */
body.landing-page a.card,
body.landing-page a.guide-mini,
body.landing-page a.service-card{
  text-decoration:none;
}
body.landing-page a.card:active,
body.landing-page a.guide-mini:active,
body.landing-page a.service-card:active{transform:scale(.992)}

/* Product hub/detail pages now use the same brand gradient, spacing and CTA treatment. */
body.gq-header-standardized .product-hero,
body.gq-header-standardized .detail-hero{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(165deg,#040f1f 0%,#0a2038 32%,#0c3159 62%,#134271 100%)!important;
}
body.gq-header-standardized .product-hero::before,
body.gq-header-standardized .detail-hero::before{
  content:"";position:absolute;z-index:-1;inset:0;
  background:radial-gradient(circle at 82% 16%,rgba(255,151,0,.20),transparent 30rem),radial-gradient(circle at 8% 88%,rgba(19,115,191,.30),transparent 30rem);
  pointer-events:none;
}
body.gq-header-standardized .product-hero h1,
body.gq-header-standardized .detail-copy h1{letter-spacing:-.05em!important;text-wrap:balance}
body.gq-header-standardized .primary-btn,
body.gq-header-standardized .detail-actions .primary-btn,
body.gq-header-standardized .detail-actions .estimate,
body.gq-header-standardized .mobile-cta .estimate{
  background:linear-gradient(135deg,#ff9700,#ffb73d)!important;color:#281300!important;
  box-shadow:0 16px 34px rgba(255,151,0,.25)!important;
}
body.gq-header-standardized .product-card,
body.gq-header-standardized .benefit-card,
body.gq-header-standardized .config-card,
body.gq-header-standardized .related-card{
  border-color:rgba(208,226,240,.95)!important;
  box-shadow:var(--gq-v340-shadow-soft)!important;
}
body.gq-header-standardized .product-card{border-radius:22px!important}
body.gq-header-standardized .product-card-image{background:#071d35!important}
body.gq-header-standardized .card-actions .view-link{background:#071d35!important}
body.gq-header-standardized .card-actions .estimate-link{background:#e6f5ff!important;color:#0b67aa!important}
body.gq-header-standardized .catalogue-band{background:linear-gradient(145deg,#06182b,#0b3157)!important;box-shadow:var(--gq-v340-shadow)!important}
body.gq-header-standardized .detail-preview{box-shadow:0 26px 64px rgba(0,0,0,.30),0 0 0 7px rgba(255,255,255,.035)!important}
body.gq-header-standardized .detail-section{padding:clamp(48px,6vw,66px) 0!important}
body.gq-header-standardized .detail-section h2{font-size:clamp(2.1rem,4.2vw,3.25rem)!important}

/* Mobile: keep visual continuity without taking over the first screen. */
@media(max-width:880px){
  body.landing-page .landing-hero-grid{grid-template-columns:1fr!important;gap:25px!important}
  body.landing-page .landing-hero-media{min-height:330px!important;max-width:640px;width:100%;margin-inline:auto!important}
  body.landing-page .landing-hero-media img{min-height:330px!important}
}
@media(max-width:620px){
  body.landing-page .hero{padding:34px 0 40px!important}
  body.landing-page .hero h1{font-size:clamp(2.35rem,11.2vw,3.2rem)!important;line-height:.98!important}
  body.landing-page .hero-lead{font-size:.94rem!important;line-height:1.55!important;margin-top:15px!important}
  body.landing-page .hero-actions{display:grid!important;grid-template-columns:1fr!important;margin-top:20px!important}
  body.landing-page .hero-actions .btn{width:100%!important;min-height:51px!important}
  body.landing-page .hero-trust-row{margin-top:16px!important;gap:6px!important}
  body.landing-page .hero-trust-pill{font-size:.62rem!important;padding-inline:8px!important}
  body.landing-page .landing-hero-media{min-height:260px!important;border-radius:20px!important;box-shadow:0 20px 44px rgba(0,0,0,.26),0 0 0 5px rgba(255,255,255,.03)!important}
  body.landing-page .landing-hero-media img{min-height:260px!important}
  body.landing-page .landing-hero-caption{left:10px!important;right:10px!important;bottom:10px!important;padding:11px 12px!important;border-radius:13px!important}
  body.landing-page .section{padding:44px 0!important}
  body.landing-page .section h2{font-size:clamp(1.9rem,9vw,2.55rem)!important}
  body.landing-page .card{padding:19px!important;border-radius:17px!important}
  body.gq-header-standardized .product-hero{padding-top:38px!important}
  body.gq-header-standardized .detail-hero{padding-top:26px!important}
}
@media(prefers-reduced-motion:reduce){
  body.landing-page .hero::after{animation:none!important}
}

/* v341 crawlable guide links — keeps the existing PDF-first design intact */
.guide-use-grid a.guide-use{color:inherit;text-decoration:none;cursor:pointer}
.guide-use-grid a.guide-use:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(7,29,53,.10)}
.guide-online-links{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid rgba(7,29,53,.10);font-size:13px;line-height:1.4}
.guide-online-links>span{font-weight:800;color:#617487}
.guide-online-links a{font-weight:800;color:#0d62d8;text-underline-offset:3px}
@media(max-width:680px){.guide-online-links{gap:9px 12px}.guide-online-links>span{flex-basis:100%}}
