/* tvsweep.com – one stylesheet for every page the CMS publishes (php artisan tvsweep:landing-build).
   Semantic class names (review C1); the CSP has no 'unsafe-inline', so no style attributes.
   Brand colours and type scale: landing/BRAND.md. */
@font-face{font-family:'Nunito';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/nunito-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/nunito-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/nunito-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/nunito-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/nunito-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/nunito-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/nunito-latin-ext-900-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/nunito-latin-900-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#FFFFFF}
a:not([class]){color:#C8411B}a:not([class]):hover{color:#B23A17}
nav a.nav-link:hover{color:#C8411B}
a[href]:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #FFC857;outline-offset:3px;border-radius:999px}
img,svg{display:inline-block;vertical-align:middle}

/* Page frame, header, navigation */
.page{box-sizing: border-box; background: #FFFFFF; color: #2A1F3D; font-family: Nunito, system-ui, sans-serif; font-size: 17px; line-height: 1.5; display: flex; flex-direction: column}
.masthead{padding: 0 24px; border-bottom: 1.5px solid #F1E4DA; background: #FFFFFF}
.nav{max-width: 1160px; margin: 0 auto; min-height: 76px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding: 12px 0}
.brand{display: flex; align-items: center; gap: 10px; text-decoration: none; color: #2A1F3D; margin-right: auto; min-height: 44px}
.brand-name{font-size: 24px; font-weight: 900; letter-spacing: -0.02em}
.nav-link{text-decoration: none; color: #2A1F3D; font-weight: 700; font-size: 16px}
.nav-cta{text-decoration: none; background: #C8411B; color: #FFFFFF; font-weight: 800; font-size: 16px; padding: 12px 22px; border-radius: 999px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center}

/* Hero */
.hero{background: #FFF4EA; padding: 72px 24px 56px}
.split{max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; align-items: center}
.hero-copy{display: flex; flex-direction: column; gap: 24px; max-width: 580px}
.eyebrow{display: inline-flex; align-items: center; gap: 8px; background: #FFFFFF; border: 1.5px solid #F1E4DA; border-radius: 999px; padding: 6px 14px; font-size: 14px; font-weight: 800; color: #B23A17; width: fit-content}
.display-title{margin: 0; font-size: clamp(40px, 5.2vw, 64px); font-weight: 900; letter-spacing: -0.025em; line-height: 1.02}
.hero-lead{margin: 0; font-size: 20px; line-height: 1.5; color: #3F3750; font-weight: 500}
.store-buttons{display: flex; flex-wrap: wrap; gap: 12px}
/* Store buttons ("coming soon" spans until the store links exist) */
.store-btn{text-decoration: none; display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 16px; padding: 14px 22px; border-radius: 999px; min-height: 52px; box-sizing: border-box; cursor: default}
.store-btn-dark{background: #2A1F3D; color: #FFFFFF}
.store-btn-outline{background: #FFFFFF; color: #2A1F3D; border: 2px solid #2A1F3D; padding: 12px 22px}
.store-btn-coral{background: #C8411B; color: #FFFFFF}
.store-btn-outline-light{background: transparent; color: #FFF4EA; border: 2px solid #FFF4EA; padding: 12px 22px}
a.store-btn{cursor: pointer}
.hero-facts{overflow: hidden; font-size: 15px; font-weight: 700; color: #5A5366}
.hero-facts-list{display: flex; flex-wrap: wrap; row-gap: 8px; margin-left: -32px}
.hero-facts-list > span{white-space: nowrap}
.hero-facts-list > span::before{content: "\00B7"; display: inline-block; width: 32px; text-align: center}
.hero-visual{display: flex; justify-content: center}

/* Phone mock-up (also used by landing/tools/og-image) */
.phone{width: 300px; height: 620px; background: #2A1F3D; border-radius: 44px; padding: 12px; box-sizing: border-box; box-shadow: 0 30px 60px rgba(42,31,61,0.25)}
.phone-screen{width: 100%; height: 100%; background: #FFF4EA; border-radius: 34px; padding: 18px 16px; box-sizing: border-box; display: flex; flex-direction: column; gap: 12px; overflow: hidden}
.phone-bar{display: flex; align-items: center; justify-content: space-between}
.phone-brand{display: flex; align-items: center; gap: 8px}
.phone-brand-name{font-size: 15px; font-weight: 900}
.phone-tv{font-size: 11px; font-weight: 700; color: #5A5366}
.phone-status{background: #FFFFFF; border-radius: 20px; padding: 14px; display: flex; gap: 12px; align-items: center}
.phone-status-icon{width: 48px; height: 48px; border-radius: 50%; background: #FBE3E3; display: flex; align-items: center; justify-content: center; flex-shrink: 0}
.phone-status-label{font-size: 10px; font-weight: 800; letter-spacing: 0.08em; color: #5A5366}
.phone-status-value{font-size: 20px; font-weight: 900; color: #D63B3B; line-height: 1.1}
.phone-status-note{font-size: 11px; color: #3F3750; font-weight: 600}
.phone-tiles{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px}
.phone-tile{background: #FFFFFF; border-radius: 16px; padding: 10px 12px}
.phone-tile-label{font-size: 10px; font-weight: 700; color: #5A5366}
.phone-tile-alert{font-size: 20px; font-weight: 900; color: #D63B3B}
.phone-tile-note{font-size: 10px; color: #5A5366}
.phone-tile-warn{font-size: 20px; font-weight: 900; color: #9A5B0B}
.phone-group{background: #FFFFFF; border-radius: 20px; padding: 14px; display: flex; flex-direction: column; gap: 8px}
.group-head{display: flex; justify-content: space-between; align-items: center}
.phone-group-name{font-size: 13px; font-weight: 900}
.phone-group-count{font-size: 10px; font-weight: 800; background: #FFF4EA; padding: 4px 8px; border-radius: 999px}
.phone-group-note{font-size: 11px; color: #5A5366; font-weight: 600}
.phone-group-button{background: #C8411B; color: #FFFFFF; border-radius: 999px; padding: 10px; text-align: center; font-size: 13px; font-weight: 800}
.phone-footer{margin-top: auto; background: #FFFFFF; border-radius: 16px; padding: 10px 14px; font-size: 11px; font-weight: 700; color: #5A5366; display: flex; justify-content: space-between}
.phone-footer-price{color: #B23A17}

/* Brand strip */
.brand-strip{padding: 20px 24px; border-bottom: 1.5px solid #F1E4DA}
.brand-strip-inner{max-width: 1160px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 10px 32px; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: #5A5366}
.brand-strip-label{color: #2A1F3D}

/* Sections */
.section{padding: 88px 24px; background: #FFFFFF}
.section-inner{max-width: 1160px; margin: 0 auto; display: flex; flex-direction: column; gap: 40px}
.section-head{max-width: 640px}
.section-label{font-size: 14px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #C8411B}
.section-title{margin: 10px 0 0; font-size: clamp(32px, 3.6vw, 44px); font-weight: 900; letter-spacing: -0.02em; line-height: 1.08}
.steps{display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px}
.step{background: #FFF4EA; border-radius: 28px; padding: 32px; display: flex; flex-direction: column; gap: 14px}
.step-number{width: 48px; height: 48px; border-radius: 50%; background: #C8411B; color: #FFFFFF; font-weight: 900; font-size: 20px; display: flex; align-items: center; justify-content: center}
.step-title{margin: 0; font-size: 24px; font-weight: 900; letter-spacing: -0.01em}
.body-text{margin: 0; color: #3F3750; font-weight: 500}
.section-dark{padding: 88px 24px; background: #2A1F3D; color: #FFF4EA}
.section-label-on-dark{font-size: 14px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #FFC857}
.fixes-grid{display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px}
.fix-card{background: #3A2D50; border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 10px}
.fix-title{margin: 0; font-size: 22px; font-weight: 900}
.fix-text{margin: 0; color: #D7CFE2; font-weight: 500}
.example-card{background: #C8411B; border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 10px; justify-content: center}
.example-label{font-size: 14px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #FFFFFF}
.example-stats{display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 12px}
.example-value{font-size: 34px; font-weight: 900; line-height: 1; white-space: nowrap}
.example-caption{font-size: 14px; font-weight: 700; color: #FFFFFF}
.tracking-visual{display: flex; justify-content: center; order: 2}
.tracking-card{width: 100%; max-width: 440px; background: #FFF4EA; border-radius: 28px; padding: 24px; box-sizing: border-box; display: flex; flex-direction: column; gap: 12px}
.tracking-name{font-size: 16px; font-weight: 900}
.tracking-count{font-size: 14px; font-weight: 800; background: #FFFFFF; padding: 5px 10px; border-radius: 999px; color: #B23A17}
.tracking-intro{font-size: 14px; color: #5A5366; font-weight: 600}
.tracking-list{display: flex; flex-direction: column; gap: 8px}
.tracking-item{background: #FFFFFF; border-radius: 16px; padding: 12px 14px; display: flex; gap: 12px; align-items: flex-start}
.tracking-dot{width: 10px; height: 10px; border-radius: 50%; background: #C73434; flex-shrink: 0; margin-top: 6px}
.tracking-item-title{font-size: 14px; font-weight: 800}
.tracking-item-text{font-size: 14px; color: #5A5366; font-weight: 600}
.tracking-foot{display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px}
.badge-ok{background: #DDF4E4; color: #237A47; font-size: 14px; font-weight: 800; padding: 5px 10px; border-radius: 999px}
.tracking-note{font-size: 14px; color: #5A5366; font-weight: 700}
.privacy-copy{display: flex; flex-direction: column; gap: 18px; order: 1}
.split-title{margin: 0; font-size: clamp(32px, 3.6vw, 44px); font-weight: 900; letter-spacing: -0.02em; line-height: 1.08}
.lead{margin: 0; font-size: 18px; color: #3F3750; font-weight: 500}
.point-list{margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; font-weight: 600; color: #2A1F3D}
.point{display: flex; gap: 12px; align-items: flex-start}
.point-icon{flex-shrink: 0; margin-top: 2px}
.small-note{margin: 0; font-size: 15px; color: #5A5366; font-weight: 600}
.section-cream{padding: 88px 24px; background: #FFF4EA}
.safe-copy{display: flex; flex-direction: column; gap: 18px}
.check-list{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px}
.check-item{background: #FFFFFF; border-radius: 20px; padding: 18px 20px; display: flex; gap: 14px; align-items: flex-start}
.check-text{font-weight: 600}
.pricing-inner{max-width: 1160px; margin: 0 auto; display: flex; flex-direction: column; gap: 40px; align-items: center; text-align: center}
.price-cards{display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; width: 100%; max-width: 760px; text-align: left}
.price-card{border: 2px solid #F1E4DA; border-radius: 28px; padding: 32px; display: flex; flex-direction: column; gap: 16px}
.price-name{font-size: 14px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #5A5366}
.price-amount{font-size: 44px; font-weight: 900; letter-spacing: -0.02em; line-height: 1}
.price-features{margin: 0; padding: 0 0 0 20px; color: #3F3750; font-weight: 600; display: flex; flex-direction: column; gap: 8px}
.price-card-featured{border: 2px solid #C8411B; border-radius: 28px; padding: 32px; display: flex; flex-direction: column; gap: 16px; background: #FFF4EA}
.price-name-featured{font-size: 14px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #B23A17}
.btn-primary{text-decoration: none; background: #C8411B; color: #FFFFFF; font-weight: 800; font-size: 16px; padding: 14px 22px; border-radius: 999px; text-align: center; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center}
.pricing-note{margin: 0; font-size: 15px; color: #5A5366; font-weight: 600; max-width: 560px}
.faq-inner{max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px}
.faq-list{margin: 0; display: flex; flex-direction: column; gap: 12px}
.faq-item{background: #FFFFFF; border-radius: 20px; padding: 0}
.section-cta{padding: 88px 24px; background: #2A1F3D; color: #FFF4EA; text-align: center}
.cta-inner{max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; align-items: center}
.cta-title{margin: 0; font-size: clamp(32px, 3.6vw, 48px); font-weight: 900; letter-spacing: -0.02em; line-height: 1.05}
.cta-buttons{display: flex; flex-wrap: wrap; gap: 12px; justify-content: center}

/* Footer */
.footer{padding: 32px 24px; border-top: 1.5px solid #F1E4DA}
.footer-inner{max-width: 1160px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; font-size: 14px; font-weight: 700; color: #5A5366}
.footer-copy{margin-right: auto; color: #2A1F3D}
.footer-link{text-decoration: none; color: #5A5366}

/* Language switcher (behaviour in lang.js) */
.lang{display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; color: #2A1F3D}
.sr-only{position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap}
.lang-select{font: inherit; font-weight: 700; color: #2A1F3D; background: #FFFFFF; border: 1.5px solid #F1E4DA; border-radius: 999px; padding: 8px 12px; min-height: 44px; cursor: pointer}
.lang-row{width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; font-size: 14px; font-weight: 700; color: #5A5366}
.lang-row-label{color: #2A1F3D}

/* Sticky header; anchors land below it */
.site-header{position: sticky; top: 0; z-index: 50}

/* Header: desktop keeps the row of links, below 1024 px one 64 px row with a menu button */
.nav-panel{display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px}
.nav-toggle{display: none}
.nav-toggle-close{display: none}
.nav-toggle[aria-expanded="true"] .nav-toggle-open{display: none}
.nav-toggle[aria-expanded="true"] .nav-toggle-close{display: inline}

/* Touch targets ≥ 44 px in nav and footer */
nav a.nav-link{display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px}
.footer-link.tap{display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px}

@media (max-width:1023px){
  .masthead{padding: 0 16px}
  .nav{height: 64px; min-height: 0; padding: 0; flex-wrap: nowrap; gap: 8px}
  .brand{gap: 8px}
  .brand svg{width: 32px; height: 32px}
  .brand-name{font-size: 22px}
  .nav-cta{order: 2; font-size: 15px; padding: 10px 16px; white-space: nowrap}
  .nav-toggle:not([hidden]){order: 3; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; padding: 0; border: 1.5px solid #F1E4DA; border-radius: 999px; background: #FFFFFF; color: #2A1F3D; cursor: pointer}
  .nav-panel{display: none; position: fixed; inset: 64px 0 auto 0; max-height: calc(100vh - 64px); overflow-y: auto; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; padding: 8px 0 16px; background: #FFFFFF; border-bottom: 1.5px solid #F1E4DA; box-shadow: 0 16px 32px rgba(42,31,61,0.16)}
  .nav-panel.is-open{display: flex}
  .nav-panel a.nav-link{display: flex; padding: 14px 20px; min-height: 52px; font-size: 18px}
  .nav-panel .lang{padding: 12px 20px 4px}
  .nav-panel .lang-select{flex: 1; max-width: 280px}
}
/* 1024–1199 px: the desktop row fits only with tighter spacing */
@media (min-width:1024px) and (max-width:1199px){
  .nav{gap: 12px 16px}
  .nav-panel{gap: 4px 4px}
  .nav-link{font-size: 15px}
}
@media (max-width:359px){
  .brand-name{font-size: 19px}
  .nav-cta{padding: 10px 12px; font-size: 14px}
}

/* Brand strip – one centred row on wide screens, a 3-column grid on phones */
.brands{display: contents; list-style: none; margin: 0; padding: 0}
@media (max-width:639px){
  .brand-strip-inner{flex-direction: column; gap: 12px; font-size: 16px}
  .brands{display: grid; grid-template-columns: repeat(3, auto); justify-content: center; gap: 6px 28px; text-align: center}
  .brands-wide{grid-column: 1 / -1}
}

/* FAQ accordion */
.faq-q{font-size: 19px; font-weight: 900; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: 18px 24px; margin: 0; cursor: pointer; list-style: none; border-radius: 20px}
.faq-q::-webkit-details-marker{display: none}
.faq-q::after{content: ""; flex-shrink: 0; width: 10px; height: 10px; margin-top: -4px; border-right: 2.4px solid #D94A22; border-bottom: 2.4px solid #D94A22; transform: rotate(45deg); transition: transform .2s}
.faq-item[open] .faq-q::after{transform: rotate(-135deg); margin-top: 4px}
.faq-q:hover{color: #B23A17}
.faq-a{padding: 0 24px 22px}
@media (prefers-reduced-motion:reduce){.faq-q::after{transition: none}}

/* Hero on phones – tighter top, mock-up starts above the fold */
@media (max-width:639px){
  .hero{padding: 28px 24px 48px}
  .hero-grid{gap: 28px}
  .hero-copy{gap: 18px}
  .display-title{font-size: clamp(32px, 8.5vw, 40px)}
  .hero-lead{font-size: 17px}
  .hero-facts{font-size: 14px}
  .phone{width: 280px; height: 580px}
}

/* Tablet – hero in two columns from 768 px */
@media (min-width:768px){
  .hero-grid{grid-template-columns: 1.2fr 1fr; gap: 32px}
}
@media (min-width:768px) and (max-width:1023px){
  .hero{padding: 48px 24px 56px}
  .display-title{font-size: clamp(36px, 5.6vw, 48px)}
  .hero-lead{font-size: 18px}
  .phone{width: 280px; height: 580px}
}

/* Final CTA – buttons centred, full width on phones */
@media (max-width:639px){
  .cta-buttons{flex-direction: column; align-items: center; width: 100%}
  .cta-buttons > .store-btn{width: 100%; max-width: 320px; justify-content: center}
}

/* Large screens */
@media (min-width:1800px){
  .page{font-size: 18px}
  .nav, .split, .section-inner, .brand-strip-inner, .footer-inner{max-width: 1320px}
  .display-title{font-size: clamp(64px, 3.2vw + 1rem, 76px)}
  .hero-lead{font-size: 22px}
  .hero-copy{max-width: 680px}
  .phone{zoom: 1.15}
}

/* Coral buttons get darker on hover (the coral itself is #C8411B, white text 4.97:1) */
.nav-cta:hover, .btn-primary:hover{background: #B23A17}

/* Anchors land below the sticky header (desktop row 76 px, phone 64 px + room for the heading) */
html{scroll-padding-top: 88px}
@media (max-width:1023px){
  html{scroll-padding-top: 96px}
}

/* "Skip to content" – first element of <body>, visible only when focused */
.skip{position: absolute; left: 16px; top: -200px; z-index: 100; background: #2A1F3D; color: #FFF4EA; font-family: Nunito, system-ui, sans-serif; font-weight: 800; font-size: 16px; text-decoration: none; padding: 12px 22px; border-radius: 999px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center}
.skip:focus{top: 12px}

/* 404 page – one centred block on the cream hero background */
.notfound{flex: 1; display: flex; align-items: center; justify-content: center; text-align: center; min-height: 60vh}
.notfound .cta-inner{align-items: center}

/* Privacy policy and terms (Markdown from the CMS) */
.doc-section{padding: 56px 24px 88px; background: #FFFFFF}
.doc{max-width: 760px; margin: 0 auto; color: #3F3750; font-weight: 500}
.doc h1{margin: 0 0 8px; font-size: clamp(32px, 3.6vw, 44px); font-weight: 900; letter-spacing: -0.02em; line-height: 1.08; color: #2A1F3D}
.doc h2{margin: 48px 0 12px; font-size: 24px; font-weight: 900; letter-spacing: -0.01em; line-height: 1.2; color: #2A1F3D}
.doc h3{margin: 32px 0 8px; font-size: 19px; font-weight: 900; line-height: 1.3; color: #2A1F3D}
.doc p, .doc ul, .doc ol{margin: 0 0 16px}
.doc ul, .doc ol{padding-left: 24px}
.doc li{margin-bottom: 6px}
.doc strong{font-weight: 800; color: #2A1F3D}
.doc a{color: #B23A17; font-weight: 700}
.doc a:hover{color: #C8411B}
.doc table{display: block; overflow-x: auto; width: 100%; margin: 0 0 24px; border-collapse: collapse; font-size: 15px}
.doc th, .doc td{padding: 10px 12px; border: 1.5px solid #F1E4DA; text-align: left; vertical-align: top}
.doc th{background: #FFF4EA; color: #2A1F3D; font-weight: 800}
.doc hr{border: 0; border-top: 1.5px solid #F1E4DA; margin: 32px 0}
.doc code{font-size: 0.95em}
