:root {
  --step-eyebrow: .78rem;
  --step-small: .95rem;
  --step-body: 1.125rem;
  --step-h3: 1.5rem;
  --step-h2: 2.2rem;
  --step-h1: clamp(2.4rem, 5vw, 3.4rem);
  --section-space: clamp(5rem, 8vw, 7rem);
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
}
* { border-radius: 0 !important; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; background: var(--color-background); color: var(--color-text-primary); font-family: var(--font-body); font-size: var(--step-body); line-height: 1.7; overflow-x: clip; }
h1,h2,h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.14; text-wrap: balance; }
h1 { font-size: var(--step-h1); }
h2 { font-size: var(--step-h2); }
h3 { font-size: var(--step-h3); }
p,li { text-wrap: pretty; }
a,button,.product-card { transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
img { display: block; max-width: 100%; }
.eyebrow { color: var(--color-primary-dark); font-size: var(--step-eyebrow); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.accent-heading::after { content:""; display:block; width:3.5rem; height:3px; margin-top:.65rem; background:var(--color-accent); }
.measure { max-width: 68ch; }
.section-pad { padding-block: var(--section-space); }
.section-rule { width:60%; margin:0 auto; border:0; border-top:1px solid var(--color-secondary); opacity:.65; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; padding:.65rem 1.2rem; border:1.5px solid var(--color-primary); color:var(--color-primary); background:transparent; font-weight:700; text-decoration:none; cursor:pointer; box-shadow:none; }
.btn:hover { background:var(--color-primary); color:white; }
.btn-secondary { border-color:var(--color-accent); color:var(--color-accent); }
.card { border:1px solid color-mix(in srgb, var(--color-secondary) 42%, transparent); background:var(--color-surface); box-shadow:0 1px 2px rgba(0,0,0,.05); }
.site-header { background:var(--color-surface); border-bottom:1px solid color-mix(in srgb, var(--color-secondary) 45%, transparent); }
.desktop-nav { min-height:6rem; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; }
.nav-side { display:flex; align-items:center; gap:1.5rem; }
.nav-side.right { justify-content:flex-end; }
.nav-link { position:relative; color:var(--color-text-primary); font-size:var(--step-small); text-decoration:none; }
.nav-link:hover::after,.nav-link.active::after { content:""; position:absolute; left:0; right:0; bottom:-.45rem; height:3px; background:var(--color-accent); }
.brand { display:flex; align-items:center; gap:.7rem; color:var(--color-text-primary); text-decoration:none; font-family:var(--font-display); font-weight:700; white-space:nowrap; }
.brand img { width:3.5rem; height:3.5rem; object-fit:contain; }
.mobile-toggle { display:none; border:1.5px solid var(--color-primary); padding:.55rem; background:transparent; color:var(--color-primary); }
.mobile-menu { display:none; border-top:1px solid var(--color-secondary); padding:1rem; }
.mobile-menu.open { display:grid; gap:.75rem; }
.hero { padding:clamp(4rem,7vw,6rem) clamp(1.25rem,5vw,5rem) 0; }
.hero-copy { max-width:1140px; margin:0 auto 2.5rem; }
.hero-strip { width:100%; height:clamp(15rem,32vw,27rem); object-fit:cover; }
.highlight-strip { display:grid; grid-template-columns:repeat(4,1fr); background:var(--color-text-primary); color:var(--color-background); }
.highlight-strip span { padding:1rem; text-align:center; border-right:1px solid color-mix(in srgb, var(--color-background) 30%, transparent); font-size:var(--step-small); }
.planning-band, .publisher-band { background:color-mix(in srgb,var(--color-primary-light) 24%,var(--color-background)); }
.overlap-inner { position:relative; margin-top:-48px; z-index:2; background:color-mix(in srgb,var(--color-primary-light) 24%,var(--color-background)); padding:clamp(2rem,5vw,4rem); border-top:3px solid var(--color-accent); }
.offset-grid { display:grid; grid-template-columns:7fr 3fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.pullquote { border-left:3px solid var(--color-accent); padding-left:1.25rem; font-family:var(--font-display); font-size:1.25rem; }
.team-image { margin-top:2rem; width:100%; max-height:25rem; object-fit:cover; }
.guide-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.guide-compact { padding:1.35rem; }
.icon { width:2.25rem; height:2.25rem; fill:var(--color-primary); margin-bottom:1rem; }
.contact-three { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.contact-cell { padding:1.25rem; border-top:2px solid var(--color-accent); }
.edge-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:0; }
.edge-feature img { width:100%; height:100%; min-height:28rem; object-fit:cover; }
.edge-copy { padding:var(--section-space) clamp(1.5rem,7vw,7rem); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.contact-area { background:var(--color-surface); padding:var(--section-space) 1.25rem; }
.contact-layout { max-width:1140px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
form { display:grid; gap:1rem; }
label { display:grid; gap:.35rem; font-size:var(--step-small); font-weight:700; }
input,textarea,select { width:100%; border:1px solid var(--color-secondary); background:var(--color-background); color:var(--color-text-primary); padding:.75rem; font:inherit; }
textarea { min-height:8rem; resize:vertical; }
.form-status { display:none; border-left:3px solid var(--color-secondary); padding:.75rem 1rem; background:var(--color-background); }
.form-status.show { display:block; }
.map-wrap { aspect-ratio:4/3; border:1px solid var(--color-secondary); }
.map-wrap iframe { width:100%; height:100%; border:0; }
.site-footer { min-height:280px; background:color-mix(in srgb,var(--color-primary-light) 24%,var(--color-background)); border-top:1px solid var(--color-secondary); padding:3.5rem 1.25rem; }
.footer-grid { max-width:1140px; margin:auto; display:grid; grid-template-columns:1.1fr 1.9fr; gap:3rem; }
.footer-brand img { width:6rem; height:6rem; object-fit:contain; }
.footer-links { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem 2rem; align-content:start; }
.footer-links a { color:var(--color-text-primary); }
.cookie-banner { position:fixed; z-index:50; left:1rem; right:1rem; bottom:1rem; max-width:760px; margin:auto; padding:1rem; background:var(--color-text-primary); color:var(--color-background); border:1px solid var(--color-background); box-shadow:0 1px 2px rgba(0,0,0,.05); display:none; }
.cookie-banner.show { display:flex; align-items:center; gap:1rem; justify-content:space-between; }
.cookie-banner .btn { border-color:var(--color-background); color:var(--color-background); }
.cookie-banner .btn:hover { background:var(--color-background); color:var(--color-text-primary); }
.page-hero { max-width:1140px; margin:auto; padding:var(--section-space) 1.25rem 3rem; }
.content-band { max-width:1140px; margin:auto; padding:var(--section-space) 1.25rem; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.product-card { padding:1.5rem; display:flex; flex-direction:column; align-items:flex-start; }
.product-card:hover { border-color:var(--color-primary); transform:translateY(-2px); }
.price { font-family:var(--font-display); font-size:1.75rem; font-variant-numeric:tabular-nums; margin:.5rem 0; }
.checkout-grid { display:grid; grid-template-columns:2fr 1fr; gap:3rem; align-items:start; }
.summary { padding:1.5rem; position:sticky; top:1rem; }
.summary-row { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--color-secondary); padding:.6rem 0; font-variant-numeric:tabular-nums; }
.checkbox-label { display:flex; grid-template-columns:none; align-items:flex-start; gap:.65rem; }
.checkbox-label input { width:auto; margin-top:.45rem; }
.confirmation { display:none; border:2px solid var(--color-secondary); padding:2rem; background:var(--color-surface); }
.confirmation.show { display:block; }
.legal { max-width:800px; margin:auto; padding:var(--section-space) 1.25rem; }
.legal h2 { margin-top:2.5rem; }
.legal h3 { margin-top:1.75rem; }
.link-list { display:grid; gap:.65rem; margin-top:1.5rem; }
@media (max-width: 800px) {
  .desktop-nav .nav-side { display:none; }
  .desktop-nav { grid-template-columns:1fr auto; min-height:5rem; padding-inline:1rem; }
  .desktop-nav .brand { justify-self:start; }
  .mobile-toggle { display:block; }
  .highlight-strip { grid-template-columns:repeat(2,1fr); }
  .offset-grid,.contact-layout,.footer-grid,.checkout-grid { grid-template-columns:1fr; }
  .guide-grid { grid-template-columns:repeat(2,1fr); }
  .contact-three,.product-grid { grid-template-columns:1fr; }
  .edge-feature { grid-template-columns:1fr; }
  .edge-feature img { min-height:18rem; }
  .cookie-banner.show { align-items:stretch; flex-direction:column; }
  .summary { position:static; }
}
@media (max-width: 430px) {
  .brand img { width:2.8rem; height:2.8rem; }
  .guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guide-compact { padding:1rem; }
  .guide-compact h3 { font-size:1.15rem; }
  .footer-links { grid-template-columns:1fr; }
}
