@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@600;700;800&display=swap');
* { box-sizing:border-box; margin:0; padding:0; }
:root {
  --ink:#171717;
  --muted:#6B7280;
  --soft:#F5F3EF;
  --paper:#FCFBF8;
  --line:#E8E4DE;
  --red:#E85D3F;
  --red-dark:#C94A2E;
  --green:#13805d;
  --blue:#2563eb;
  --gold:#f2b705;
  --shadow:0 24px 70px rgba(20,24,33,0.08);
}
html { scroll-behavior:smooth; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; color:var(--ink); background:var(--paper); line-height:1.75; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
p { color:var(--muted); }
.site-nav { position:sticky; top:0; z-index:50; background:rgba(252,251,248,0.92); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.nav-inner { max-width:1240px; margin:0 auto; min-height:76px; padding:14px 24px; display:grid; grid-template-columns:190px 1fr auto; align-items:center; gap:22px; }
.brand { display:flex; align-items:center; width:160px; }
.brand img { width:160px; height:auto; }
.nav-links { display:flex; justify-content:center; align-items:center; gap:clamp(14px,1.65vw,24px); color:#3f4652; font-size:15px; font-weight:750; }
.nav-links a, .nav-link { color:#3f4652; }
.nav-links a:hover, .nav-link:hover { color:var(--red); }
.nav-links a[aria-current="page"] { color:var(--red); }
.nav-actions { display:flex; align-items:center; gap:12px; }
.dropdown { position:relative; padding:20px 0; }
.dropdown-menu { position:absolute; top:100%; left:50%; min-width:245px; transform:translateX(-50%) translateY(8px); opacity:0; pointer-events:none; transition:opacity 0.18s,transform 0.18s; background:var(--paper); border:1px solid var(--line); border-radius:10px; box-shadow:0 18px 44px rgba(20,24,33,0.10); padding:8px; }
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu { opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.dropdown-menu a { display:block; padding:11px 12px; border-radius:8px; color:#3f4652; white-space:nowrap; }
.dropdown-menu a:hover { background:var(--soft); color:var(--red); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 22px; border-radius:999px; border:1px solid transparent; font-weight:850; font-size:15px; cursor:pointer; font-family:inherit; transition:background 0.2s,border-color 0.2s,color 0.2s,transform 0.15s; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--ink); color:#fff; }
.btn-primary:hover { background:#2d2d2d; }
.btn-outline { background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.btn-outline:hover { background:var(--ink); color:#fff; }
.btn-dark { background:var(--ink); color:#fff; }
.section { max-width:1240px; margin:0 auto; padding:120px 24px; }
.section-tight { padding-top:80px; padding-bottom:80px; }
.eyebrow { color:var(--muted); font-size:12px; font-weight:950; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
h1, h2, h3 { letter-spacing:0; line-height:1.06; }
h1 { font-family:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif; font-size:clamp(34px,4vw,52px); max-width:820px; margin-bottom:20px; letter-spacing:-0.03em; line-height:1.08; }
h2 { font-family:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif; font-size:clamp(26px,2.6vw,36px); margin-bottom:14px; letter-spacing:-0.025em; line-height:1.12; }
h3 { font-size:21px; margin-bottom:11px; }
.hero { background:var(--paper); }
.hero.dark { background:#101113; color:#fff; }
.hero.dark p { color:#c9c9c9; }
.hero .section { display:grid; grid-template-columns:minmax(0,0.95fr) minmax(380px,0.85fr); gap:64px; align-items:center; min-height:calc(100vh - 76px); }
.hero-copy > p { font-size:clamp(18px,2vw,22px); max-width:680px; margin-bottom:30px; }
.hero-actions, .button-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.hero-note { margin-top:26px; display:flex; flex-direction:column; gap:12px; color:var(--muted); }
.hero.dark .hero-note { color:#d2d2d2; }
.check-line { display:flex; align-items:flex-start; gap:10px; font-weight:750; }
.check-line::before { content:""; width:18px; height:18px; margin-top:4px; border-radius:999px; background:#F0EBE3; border:1px solid var(--line); flex:0 0 18px; }
.landing-hero .section { grid-template-columns:minmax(0,45fr) minmax(380px,55fr); gap:clamp(32px,4vw,56px); min-height:calc(100vh - 94px); min-height:calc(100svh - 94px); padding-top:clamp(32px,5vh,56px); padding-bottom:clamp(32px,5vh,56px); }
.landing-hero h1 { font-size:clamp(36px,3.2vw,46px); line-height:1.05; margin-bottom:17px; }
.landing-hero .hero-copy > p { font-size:clamp(17px,1.5vw,20px); max-width:620px; margin-bottom:22px; }
.landing-hero .hero-note { margin-top:20px; gap:8px; }
.showcase-card { position:relative; overflow:hidden; border-radius:22px; background:var(--soft); box-shadow:0 20px 60px rgba(20,24,33,0.08); border:1px solid var(--line); }
.landing-hero .showcase-card { justify-self:end; width:min(100%,72vh); width:min(100%,72svh); }
.showcase-card img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.landing-hero .showcase-card img { height:auto; object-fit:contain; }
.showcase-media { position:relative; aspect-ratio:1/1; overflow:hidden; background:#25221f; }
.landing-hero .showcase-card .showcase-slide { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; opacity:0; transform:scale(1.015); transition:opacity 1.15s ease-in-out,transform 6s ease-out; }
.landing-hero .showcase-card .showcase-slide.is-active { opacity:1; transform:scale(1); }
.landing-hero .showcase-card .showcase-slide:nth-child(2) { object-position:center 42%; }
.landing-hero .showcase-card .showcase-slide:nth-child(4) { object-position:center 55%; }
.showcase-caption { position:absolute; left:24px; right:24px; bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:rgba(255,255,255,0.94); border:1px solid rgba(255,255,255,0.72); border-radius:10px; padding:16px 18px; box-shadow:0 14px 36px rgba(20,24,33,0.16); }
.showcase-caption strong { display:block; color:var(--ink); font-size:17px; line-height:1.25; }
.showcase-caption span { color:var(--muted); font-size:13px; }
.showcase-pill { flex:0 0 auto; background:var(--ink); color:#fff !important; border-radius:999px; padding:8px 12px; font-size:12px !important; font-weight:950; }
@media (prefers-reduced-motion:reduce) {
  .landing-hero .showcase-card .showcase-slide { transition:none; transform:none; }
  .digital-display-screen video { transition:none; }
}
.panel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.three-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.four-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.card { background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:30px; box-shadow:none; transition:box-shadow 0.2s,transform 0.2s; }
.card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.06); }
.service-card { min-height:100%; display:flex; flex-direction:column; }
.service-card.self { }
.service-card.recommended { box-shadow:none; border:2px solid var(--line); }
.tag { display:inline-flex; width:max-content; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:var(--soft); color:var(--muted); border:1px solid var(--line); font-size:12px; font-weight:950; margin-bottom:18px; }
.tag.blue { background:var(--soft); color:var(--blue); border-color:#c7d8ff; }
.feature-list { list-style:none; display:flex; flex-direction:column; gap:12px; margin:22px 0 28px; }
.feature-list li { display:flex; align-items:flex-start; gap:10px; color:#444d5a; }
.feature-list li::before { content:""; width:8px; height:8px; margin-top:9px; border-radius:999px; background:var(--red); flex:0 0 8px; }
.service-card.self .feature-list li::before, .blue-list li::before { background:var(--blue); }
.service-card .btn { margin-top:auto; width:max-content; }
.how-it-works { counter-reset:step; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:34px; }
.step { position:relative; background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:28px 22px; min-height:210px; }
.step::before { counter-increment:step; content:counter(step); display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:999px; background:var(--red); color:#fff; font-weight:950; margin-bottom:24px; }
.step h3 { font-size:20px; }
#how-it-works { padding-top:clamp(34px,5vh,52px); padding-bottom:clamp(34px,5vh,52px); }
#how-it-works > h2,.video-showcase-heading h2 { font-family:inherit; font-size:clamp(28px,2.5vw,35px); font-weight:850; letter-spacing:-.035em; line-height:1.08; }
#how-it-works > h2 { max-width:1000px; margin-bottom:12px; }
#how-it-works > p { max-width:900px; font-size:16px; line-height:1.55; }
.journey-tabs { display:grid; grid-template-columns:minmax(260px,35fr) minmax(0,65fr); gap:24px; align-items:stretch; height:clamp(320px,46vh,410px); margin-top:22px; }
.journey-tab-list { display:flex; flex-direction:column; gap:12px; }
.journey-tab { position:relative; display:flex; flex:1; align-items:flex-start; gap:14px; width:100%; padding:20px; overflow:hidden; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:var(--soft); text-align:left; font:inherit; cursor:pointer; transition:border-color 0.2s,box-shadow 0.2s,transform 0.2s,background 0.2s; }
.journey-tab::after { content:"→"; position:absolute; right:20px; bottom:17px; color:#b1a9a1; font-size:22px; transition:color 0.2s,transform 0.2s; }
.journey-tab:hover { border-color:#d8b0ac; transform:translateY(-1px); }
.journey-tab:focus-visible { outline:3px solid rgba(223,43,32,0.25); outline-offset:3px; }
.journey-tab.is-active { border-color:var(--red); background:var(--paper); box-shadow:none; }
.journey-tab.is-active::after { color:var(--red); transform:translateX(3px); }
.journey-tab-number { display:grid; place-items:center; flex:0 0 40px; height:40px; border-radius:50%; color:var(--muted); background:#f1ede8; font-size:12px; font-weight:950; }
.journey-tab.is-active .journey-tab-number { color:#fff; background:var(--red); }
.journey-tab strong,.journey-tab small { display:block; }.journey-tab strong { padding-right:24px; font-size:20px; line-height:1.2; }.journey-tab small { max-width:210px; margin-top:8px; color:var(--muted); font-size:14px; line-height:1.45; }
.journey-panels { min-width:0; min-height:0; height:100%; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--soft); box-shadow:none; }
.journey-panel { min-height:0; height:100%; overflow:hidden; }.journey-panel[hidden] { display:none; }
.journey-panel-scroll { display:flex; align-items:center; justify-content:center; height:100%; min-height:0; overflow:hidden; border-radius:18px; background:#fbfbfd; }
.journey-panel-scroll img { width:100%; height:100%; object-fit:contain; }
.journey-panel figcaption { display:none; }
.process-learn-more { display:inline-flex; margin-top:14px; font-weight:850; }
.video-showcase-section { margin-top:32px; background:var(--soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.video-showcase-section .section { padding-top:clamp(34px,5vh,52px); padding-bottom:clamp(34px,5vh,52px); }
.video-showcase-heading { max-width:760px; margin:0 auto; text-align:center; }
.video-showcase-heading h2 { margin-bottom:10px; }
.video-showcase-heading p { font-size:16px; }
.digital-display-shell { width:min(100%,660px); margin:20px auto 0; }
.digital-display-bezel { padding:10px 10px 8px; border:1px solid #33373d; border-radius:18px; background:linear-gradient(145deg,#272a2f,#090a0c 65%); box-shadow:0 34px 80px rgba(20,24,33,.25),0 8px 20px rgba(20,24,33,.16); }
.digital-display-screen { position:relative; overflow:hidden; aspect-ratio:16/9; border:1px solid #000; border-radius:9px; background:#000; }
.digital-display-screen video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; opacity:0; background:#000; transition:opacity .8s ease-in-out; }
.digital-display-screen video.is-active { z-index:1; opacity:1; }
.digital-display-screen video.is-portrait { object-fit:contain; }
.digital-display-brand { display:flex; align-items:center; justify-content:center; gap:6px; height:24px; color:#a7abb1; font-size:9px; font-weight:850; letter-spacing:.5px; }
.digital-display-brand span { width:5px; height:5px; border-radius:50%; background:var(--red); box-shadow:0 0 5px rgba(232,93,63,.8); }
.band { background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.dark-band { background:#1A1814; color:#fff; }
.dark-band p, .dark-band li { color:#d4d4d4; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:36px; }
.price-card { display:flex; flex-direction:column; }
.price-card.self { }
.price-card.pro { }
.price { display:flex; align-items:flex-end; gap:8px; margin:20px 0 8px; }
.amount { font-size:56px; line-height:0.9; font-weight:950; color:var(--ink); }
.unit { color:var(--muted); padding-bottom:5px; font-weight:800; }
.small-note { font-size:14px; color:#7b8493; margin-top:4px; }
.reviews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:38px; }
.review { min-height:290px; display:flex; flex-direction:column; justify-content:space-between; }
.stars { color:#E85D3F; letter-spacing:2px; font-weight:950; margin-bottom:24px; }
.quote { color:#555d69; font-size:17px; font-style:italic; line-height:1.85; }
.reviewer { display:flex; align-items:center; gap:14px; margin-top:30px; }
.avatar { width:46px; height:46px; border-radius:999px; background:var(--soft); color:var(--ink); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-weight:950; }
.reviewer strong { display:block; }
.reviewer span { color:var(--muted); font-size:14px; }
.industries-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:30px; }
.industry { background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:20px; }
.industry strong { display:block; margin-bottom:4px; }
.image-feature { display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:36px; align-items:center; }
.image-feature.flip { grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr); }
.image-panel { position:relative; overflow:hidden; border-radius:18px; background:var(--soft); border:1px solid var(--line); box-shadow:0 20px 60px rgba(20,24,33,0.07); }
.image-panel img { width:100%; height:100%; min-height:360px; object-fit:cover; }
.image-panel.contain { padding:18px; background:#f7f7f5; }
.image-panel.contain img { min-height:0; object-fit:contain; border-radius:12px; }
.image-caption { position:absolute; left:18px; right:18px; bottom:18px; background:rgba(255,255,255,0.94); border:1px solid rgba(255,255,255,0.78); border-radius:10px; padding:14px 16px; box-shadow:0 12px 30px rgba(20,24,33,0.13); }
.image-caption strong { display:block; color:var(--ink); line-height:1.25; }
.image-caption span { color:var(--muted); font-size:13px; }
.use-case-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:34px; }
.use-case-photo { position:relative; overflow:hidden; border-radius:16px; border:1px solid var(--line); background:#fff; min-height:330px; box-shadow:0 16px 46px rgba(20,24,33,0.08); }
.use-case-photo img { width:100%; height:100%; min-height:330px; object-fit:cover; }
.use-case-photo .image-caption { left:12px; right:12px; bottom:12px; padding:12px 14px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,0.85fr) minmax(380px,1fr); gap:34px; align-items:start; }
form { background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:28px; box-shadow:none; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
label { display:flex; flex-direction:column; gap:6px; color:#334155; font-size:13px; font-weight:850; }
input, select, textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 12px; min-height:46px; font:inherit; color:var(--ink); background:var(--paper); }
textarea { min-height:122px; resize:vertical; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(232,93,63,0.12); }
.full { grid-column:1 / -1; }
.form-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:18px; }
.form-status { min-height:20px; color:var(--muted); font-size:13px; }
.form-status.success { color:var(--green); }
.form-status.error { color:#b91c1c; }
.hidden { display:none !important; }
.estimate-result { margin-top:18px; border:1px solid #f5c6c1; background:#fff7f5; border-radius:14px; padding:20px; }
.estimate-result h3 { color:var(--ink); }
.estimate-result ul { margin:14px 0 0 18px; color:#444d5a; }
.whatsapp-link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 18px; border-radius:10px; border:1px solid #b9e7ca; background:#f0fff5; color:#137f3f; font-weight:850; }
.whatsapp-link:hover { border-color:#25d366; color:#0f6c35; transform:translateY(-1px); }
.page-hero { background:var(--paper); }
.page-hero .section { min-height:auto; padding-top:84px; padding-bottom:70px; }
.page-hero h1 { max-width:900px; font-size:clamp(35px,3.7vw,49px); }
.page-hero p { max-width:760px; font-size:20px; }
footer { background:var(--paper); border-top:1px solid var(--line); }
.footer-inner { max-width:1240px; margin:0 auto; padding:34px 24px; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; color:var(--muted); font-size:14px; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a:hover { color:var(--red); }

/* Outcome-led homepage and solution pages */
.outcome-section { overflow:hidden; }
.outcome-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr); gap:48px; align-items:end; margin-bottom:36px; }
.outcome-heading h2 { margin-bottom:0; }
.outcome-heading > p { max-width:520px; font-size:18px; }
.benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.benefit-card { position:relative; min-height:300px; overflow:hidden; padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--soft); transition:transform .28s ease,box-shadow .28s ease; }
.benefit-card::after { display:none; }
.benefit-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,0.08); }
.benefit-card h3 { font-size:21px; }
.benefit-card p { position:relative; z-index:1; font-size:15px; }
.benefit-icon { display:grid; place-items:center; width:54px; height:54px; margin-bottom:42px; border-radius:15px; color:var(--red); background:rgba(232,93,63,0.10); }
.benefit-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.outcome-link { display:inline-flex; align-items:center; gap:10px; margin-top:32px; color:var(--ink); font-weight:900; }
.outcome-link span { color:var(--red); transition:transform .2s ease; }.outcome-link:hover span { transform:translateX(5px); }

.solution-hero { overflow:hidden; background:var(--paper); }
.solution-hero .section { display:grid; grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr); gap:clamp(42px,6vw,86px); align-items:center; min-height:calc(100svh - 76px); }
.solution-hero h1 { font-size:clamp(35px,3.6vw,48px); }
.solution-hero .hero-copy > p { max-width:610px; }
.solution-hero-image { justify-self:end; width:100%; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--soft); box-shadow:0 20px 60px rgba(20,24,33,0.08); }
.solution-hero-image img { width:100%; height:100%; object-fit:cover; }
.menu-hero-image { aspect-ratio:4/3; }
.window-hero-image { aspect-ratio:3/2; }
.hero-proof { display:flex; gap:20px; flex-wrap:wrap; margin-top:25px; color:#565e69; font-size:13px; font-weight:850; }
.hero-proof span::before { content:"✓"; margin-right:7px; color:var(--green); }
.solution-intro { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1fr); gap:clamp(50px,8vw,110px); align-items:start; }
.solution-intro p { font-size:18px; }.solution-intro p + p { margin-top:18px; }
.dark-outcomes { color:#fff; background:#1A1814; }.dark-outcomes p { color:#bfc5ce; }.dark-outcomes .eyebrow { color:rgba(232,93,63,0.85); }
.solution-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:38px; border:1px solid #30333a; background:#30333a; }
.solution-benefit { display:grid; grid-template-columns:48px 1fr; gap:17px; min-height:190px; padding:30px; background:#181b20; }
.solution-benefit:last-child:nth-child(odd) { grid-column:1 / -1; }
.solution-benefit h3 { font-size:20px; }.solution-benefit p { font-size:15px; }
.solution-benefit .mini-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff; background:var(--red); font-size:20px; }
.perfect-for { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:31px 35px; border:1px solid var(--line); border-radius:18px; background:var(--soft); }
.perfect-for h2 { margin:0; font-size:clamp(27px,2.7vw,37px); }
.chip-list { display:flex; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.chip-list span { padding:9px 13px; border-radius:999px; color:#4f5662; background:#f1eee9; font-size:13px; font-weight:850; }
.solution-section-heading { max-width:720px; margin-bottom:38px; }

.window-illustration { position:relative; display:grid; grid-template-columns:1fr 60px 1fr; align-items:center; min-height:500px; padding:28px; border:1px solid #ded8d0; border-radius:24px; background:#e8e2da; box-shadow:var(--shadow); }
.window-scene { position:relative; height:390px; overflow:hidden; border:10px solid #24262b; border-bottom-width:24px; background:#bdd2d7; }
.window-scene::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,rgba(255,255,255,.28),transparent 34%,rgba(255,255,255,.15) 35%,transparent 52%); pointer-events:none; z-index:4; }
.scene-label { position:absolute; z-index:8; left:14px; bottom:13px; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(20,24,33,.84); font-size:11px; font-weight:950; letter-spacing:.7px; text-transform:uppercase; }
.paper-poster { position:absolute; display:grid; place-items:center; width:42%; height:34%; padding:9px; color:#655e55; background:#eee9dc; border:1px solid #bfb6a8; box-shadow:2px 4px 8px rgba(20,24,33,.14); text-align:center; font-family:Georgia,serif; font-weight:800; line-height:1.1; }
.paper-poster::before,.paper-poster::after { content:""; position:absolute; width:34px; height:8px; background:rgba(207,192,154,.72); }.paper-poster::before { top:-5px; left:22%; transform:rotate(-5deg); }.paper-poster::after { bottom:-4px; right:17%; transform:rotate(4deg); }
.paper-one { top:13%; left:7%; transform:rotate(-3deg); }.paper-two { top:22%; right:5%; transform:rotate(4deg); background:#e6d9c8; }.paper-three { left:28%; bottom:11%; transform:rotate(2deg); background:#ddd7c8; }
.transform-arrow { display:grid; place-items:center; position:relative; z-index:5; width:48px; height:48px; margin:auto; border-radius:50%; color:#fff; background:var(--red); font-size:25px; box-shadow:0 8px 20px rgba(223,43,32,.25); }
.digital-window { background:#d9e4e5; }
.digital-screen { position:absolute; inset:7% 10% 10%; overflow:hidden; border:8px solid #16181c; background:linear-gradient(145deg,#fa4b2f,#9e1016); box-shadow:0 16px 30px rgba(20,24,33,.26); }
.digital-content { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:24px; color:#fff; background:radial-gradient(circle at 80% 22%,#ffbd4b 0 10%,transparent 11%),linear-gradient(145deg,transparent 55%,rgba(255,255,255,.12) 55%); animation:screenGlow 5s ease-in-out infinite; }
.digital-content small { font-weight:950; letter-spacing:2px; }.digital-content strong { display:block; max-width:220px; margin:14px 0; font-family:Georgia,serif; font-size:clamp(29px,3vw,44px); line-height:.9; }.digital-content b { width:max-content; padding:7px 10px; border-radius:999px; color:#98130f; background:#fff; font-size:11px; }

.menu-illustration { position:relative; min-height:500px; overflow:hidden; border-radius:24px; background:linear-gradient(#d8cdc0 0 62%,#9a7158 62%); box-shadow:var(--shadow); }
.menu-illustration::before { content:""; position:absolute; left:0; right:0; top:62%; height:9px; background:#684536; }
.menu-board-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; position:absolute; left:6%; right:6%; top:10%; }
.menu-board { min-height:235px; padding:22px; border:8px solid #1b1d21; color:#fff; background:#272a2f; box-shadow:0 15px 22px rgba(20,24,33,.28); }
.menu-board:nth-child(2) { background:#a3271f; }.menu-board:nth-child(3) { background:#174d41; }
.menu-board small { color:#ffcf58; font-weight:950; letter-spacing:1.2px; }.menu-board strong { display:block; margin:10px 0 17px; font-family:Georgia,serif; font-size:24px; }.menu-lines { display:grid; gap:8px; }.menu-lines i { display:block; height:6px; border-radius:4px; background:rgba(255,255,255,.7); }.menu-lines i:nth-child(2) { width:78%; }.menu-lines i:nth-child(3) { width:62%; }
.cafe-counter { position:absolute; left:4%; right:4%; bottom:0; height:29%; border-radius:12px 12px 0 0; background:#eee8de; box-shadow:0 -8px 25px rgba(20,24,33,.12); }
.coffee-cup { position:absolute; left:15%; bottom:18%; width:54px; height:59px; border-radius:4px 4px 15px 15px; background:#fff; box-shadow:0 8px 12px rgba(20,24,33,.15); }.coffee-cup::after { content:""; position:absolute; right:-17px; top:13px; width:22px; height:24px; border:6px solid #fff; border-left:0; border-radius:0 14px 14px 0; }
.counter-sign { position:absolute; right:13%; bottom:10%; padding:13px 19px; border-radius:8px; color:#fff; background:var(--red); font-weight:950; transform:rotate(-2deg); }

.comparison-wrap { padding:20px; border-radius:22px; background:#17191d; box-shadow:var(--shadow); }
.comparison-stage { --split:50%; position:relative; min-height:520px; overflow:hidden; border-radius:14px; background:#e2ddd5; cursor:ew-resize; touch-action:none; }
.comparison-side { position:absolute; inset:0; overflow:hidden; }
.comparison-before { clip-path:inset(0 calc(100% - var(--split)) 0 0); z-index:2; }
.comparison-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.comparison-side .window-scene,.comparison-side.menu-compare { width:100%; height:100%; border:0; }
.comparison-side .paper-poster { width:28%; height:28%; }.comparison-side .digital-screen { inset:7% 18%; }
.comparison-divider { position:absolute; z-index:5; top:0; bottom:0; left:var(--split); width:3px; transform:translateX(-1px); background:#fff; box-shadow:0 0 0 1px rgba(0,0,0,.1); pointer-events:none; }
.comparison-divider::after { content:"↔"; position:absolute; left:50%; top:50%; display:grid; place-items:center; width:46px; height:46px; transform:translate(-50%,-50%); border-radius:50%; color:var(--red); background:#fff; font-weight:950; }
.comparison-stage:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.compare-title { position:absolute; z-index:7; top:18px; padding:8px 12px; border-radius:999px; color:#fff; background:rgba(20,24,33,.83); font-size:12px; font-weight:950; }.compare-title.left { left:18px; }.compare-title.right { right:18px; }
.menu-compare { background:linear-gradient(#d8cdc0 0 65%,#9a7158 65%); }.menu-compare .menu-board-row { top:8%; }.menu-compare.printed .menu-board { color:#4e4a44; border-color:#9e968b; background:#f5f0e7; box-shadow:none; transform:rotate(-1deg); }.menu-compare.printed .menu-board:nth-child(2) { transform:rotate(2deg); }.menu-compare.printed .menu-lines i { background:#a6a096; }

.simple-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; counter-reset:steps; }
.simple-process article { counter-increment:steps; padding:26px; border:1px solid var(--line); border-radius:18px; background:var(--soft); box-shadow:none; }
.simple-process article::before { content:"0" counter(steps); display:block; margin-bottom:30px; color:#d5cec6; font-size:34px; font-weight:950; }.simple-process h3 { font-size:20px; }
.solution-cta { color:#fff; background:#1A1814; }.solution-cta .section { display:flex; justify-content:space-between; align-items:center; gap:36px; }.solution-cta h2 { margin-bottom:9px; }.solution-cta p { color:#c7ccd3; font-size:18px; }.solution-cta .btn { flex:0 0 auto; }
.powered-by { margin-top:24px; color:#858c97; font-size:12px; font-weight:850; letter-spacing:.7px; text-transform:uppercase; }

@keyframes screenGlow { 0%,100% { filter:saturate(1); transform:scale(1); } 50% { filter:saturate(1.16); transform:scale(1.02); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.fade-up { opacity:0; }
.fade-up.is-visible { animation:fadeUp 0.55s ease forwards; }
@media (prefers-reduced-motion:reduce) { .benefit-card,.digital-content { transition:none; animation:none; } .fade-up,.fade-up.is-visible { animation:none; opacity:1; } }
@media (max-width:1050px) {
  .benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solution-hero .section { grid-template-columns:1fr; min-height:auto; }.solution-hero .hero-copy { max-width:760px; }.window-illustration,.menu-illustration,.solution-hero-image { justify-self:start; width:min(100%,760px); }
  .simple-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .outcome-heading,.solution-intro { grid-template-columns:1fr; gap:18px; }.benefit-grid,.solution-benefits { grid-template-columns:1fr; }.solution-benefit:last-child:nth-child(odd) { grid-column:auto; }
  .benefit-card { min-height:260px; }.benefit-icon { margin-bottom:30px; }
  .solution-hero .section { padding-top:55px; }.solution-hero h1 { font-size:clamp(33px,9vw,41px); }
  .window-illustration { grid-template-columns:1fr; gap:14px; padding:16px; }.window-scene { height:330px; }.transform-arrow { transform:rotate(90deg); }
  .menu-illustration { min-height:430px; }.menu-board-row { gap:5px; left:3%; right:3%; }.menu-board { min-height:220px; padding:10px; border-width:5px; }.menu-board strong { font-size:16px; }
  .perfect-for { align-items:flex-start; flex-direction:column; }.chip-list { justify-content:flex-start; }
  .comparison-stage { min-height:430px; }.comparison-side .digital-screen { inset:8%; }.comparison-side .paper-poster { width:42%; height:26%; }
  .simple-process { grid-template-columns:1fr; }.solution-cta .section { align-items:flex-start; flex-direction:column; }.solution-cta .btn { width:100%; }
}
@media (max-width:1120px) {
  .nav-inner { grid-template-columns:150px 1fr; }
  .nav-links { display:none; }
  .brand,.brand img { width:144px; }
}

/* How ScreenFizz Works */
.process-hero { overflow:hidden; background:var(--paper); }
.process-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,0.72fr); gap:clamp(42px,6vw,86px); align-items:center; min-height:calc(100svh - 76px); }
.process-hero h1 { font-size:clamp(38px,4vw,50px); max-width:740px; }
.process-hero p { max-width:650px; font-size:clamp(19px,2vw,23px); margin-bottom:30px; }
.process-hero .text-link { font-weight:850; color:var(--ink); padding:11px 4px; }
.process-hero .text-link:hover { color:var(--red); }
.concierge-card { position:relative; overflow:hidden; padding:38px; border-radius:24px; color:#fff; background:#1A1814; box-shadow:0 34px 90px rgba(20,24,33,0.20); }
.concierge-card::after { content:""; position:absolute; width:230px; height:230px; right:-90px; top:-90px; border-radius:999px; background:rgba(232,93,63,0.18); }
.concierge-kicker { display:block; color:#bac1cc; font-size:14px; font-weight:800; }
.concierge-flow { position:relative; width:2px; height:58px; margin:16px 0 16px 12px; background:linear-gradient(var(--red),rgba(223,43,32,0.18)); }
.concierge-flow::before,.concierge-flow::after { content:""; position:absolute; left:-5px; width:12px; height:12px; border-radius:50%; background:var(--red); }
.concierge-flow::before { top:0; }.concierge-flow::after { bottom:0; }
.concierge-card > strong { display:block; position:relative; z-index:1; font-family:Georgia,"Times New Roman",serif; font-size:31px; line-height:1.1; }
.concierge-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:26px 0; }
.concierge-list span { padding:12px; border:1px solid rgba(255,255,255,0.12); border-radius:9px; background:rgba(255,255,255,0.06); font-size:13px; font-weight:800; }
.concierge-status { display:flex; align-items:center; gap:9px; padding:13px 15px; border-radius:10px; background:#fff; color:var(--ink); font-size:14px; font-weight:900; }
.concierge-status i { width:10px; height:10px; border-radius:50%; background:#1ab477; box-shadow:0 0 0 5px rgba(26,180,119,0.14); }
.process-intro { padding-bottom:42px; text-align:center; }
.process-intro h2 { max-width:850px; margin-left:auto; margin-right:auto; }
.process-intro p { max-width:720px; margin:0 auto; font-size:19px; }
.process-steps { counter-reset:process; }
.process-step { display:grid; grid-template-columns:minmax(0,0.88fr) minmax(420px,1fr); gap:clamp(50px,8vw,110px); align-items:center; border-top:1px solid var(--line); }
.process-step-flip .process-copy { order:2; }.process-step-flip > :last-child { order:1; }
.process-copy { position:relative; }
.process-copy h2 { font-size:clamp(28px,2.6vw,36px); }
.process-copy > p { max-width:600px; font-size:18px; margin-bottom:24px; }
.step-number { display:block; margin-bottom:20px; color:#e6ded6; font-size:72px; font-weight:950; line-height:0.8; letter-spacing:-5px; }
.process-list,.tick-list { list-style:none; display:grid; gap:12px; }
.process-list li,.tick-list li { position:relative; padding-left:30px; color:#414956; font-weight:750; }
.process-list li::before { content:""; position:absolute; left:2px; top:8px; width:9px; height:9px; border:2px solid var(--red); border-radius:50%; }
.tick-list li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:950; }
.form-visual,.prep-visual,.connection-visual,.phone-visual { box-shadow:0 28px 75px rgba(20,24,33,0.14); }
.form-visual { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.visual-browser-bar { display:flex; align-items:center; gap:7px; padding:14px 18px; background:#f1eee9; border-bottom:1px solid #ded9d2; }
.visual-browser-bar i { width:9px; height:9px; border-radius:50%; background:#c7c0b9; }.visual-browser-bar i:first-child { background:#df2b20; }
.visual-browser-bar span { margin-left:8px; color:#707783; font-size:12px; font-weight:800; }
.form-question { padding:34px; }
.form-question small { display:block; margin-bottom:10px; color:var(--red); font-weight:950; letter-spacing:1.4px; }
.form-question > strong { display:block; margin-bottom:22px; font-size:24px; }
.choice-row { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.choice-row span { padding:12px 8px; border:1px solid var(--line); border-radius:9px; color:#6c7480; text-align:center; font-size:12px; font-weight:800; }
.choice-row .selected { color:var(--red); border-color:#efaaa4; background:#fff4f2; }
.upload-row { display:flex; align-items:center; gap:13px; margin:0 34px 30px; padding:15px; border:1px dashed #cfc8c0; border-radius:10px; background:#faf9f7; }
.upload-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:8px; color:#fff; background:var(--ink); font-weight:950; }
.upload-row div { flex:1; }.upload-row strong,.upload-row small { display:block; }.upload-row strong { font-size:14px; }.upload-row small { color:var(--muted); font-size:11px; }.upload-row b { color:var(--green); }
.form-progress { height:6px; background:#eeeae5; }.form-progress span { display:block; width:70%; height:100%; background:var(--red); }
.prep-visual { position:relative; min-height:470px; overflow:hidden; border-radius:22px; background:#eae5de; }
.prep-screen { position:absolute; left:9%; top:9%; width:62%; height:58%; padding:32px; color:#fff; background:linear-gradient(145deg,#da2d22,#8e1711); border:10px solid #1b1d21; box-shadow:0 20px 35px rgba(20,24,33,0.25); }
.prep-screen span,.prep-screen small { display:block; }.prep-screen span { font-size:11px; font-weight:950; letter-spacing:2px; }.prep-screen strong { display:block; margin:12px 0; font-family:Georgia,"Times New Roman",serif; font-size:41px; line-height:0.9; }.prep-screen small { color:#ffd9d5; }
.prep-player { position:absolute; left:15%; bottom:12%; display:flex; align-items:center; gap:12px; padding:13px 17px; border-radius:10px; color:#fff; background:#17191d; box-shadow:0 10px 22px rgba(20,24,33,0.25); font-size:12px; font-weight:800; }
.prep-player i { width:30px; height:19px; border:1px solid #656c75; border-radius:4px; background:#272b31; }
.prep-checks { position:absolute; right:6%; bottom:9%; width:43%; padding:16px; border-radius:13px; background:#fff; box-shadow:0 18px 40px rgba(20,24,33,0.15); }
.prep-checks span { display:flex; justify-content:space-between; gap:10px; padding:10px 4px; border-bottom:1px solid var(--line); color:#4b5360; font-size:12px; font-weight:800; }.prep-checks span:last-child { border:0; }.prep-checks b { color:var(--green); }
.connection-visual { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; min-height:300px; padding:30px; border-radius:22px; background:#141821; }
.connection-card { display:flex; min-width:0; height:190px; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:1px solid rgba(255,255,255,0.1); border-radius:14px; background:rgba(255,255,255,0.06); color:#fff; text-align:center; }
.connection-card small { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:#fff; background:var(--red); font-weight:950; }.connection-card strong { font-size:14px; }
.connection-icon { display:grid; place-items:center; min-width:64px; height:48px; padding:0 8px; border:2px solid #fff; border-radius:8px; font-size:11px; font-weight:950; }.power-icon { min-width:48px; border-radius:50%; font-size:28px; }.wifi-icon { border:0; font-size:17px; letter-spacing:-2px; transform:rotate(-90deg); }
.connection-arrow { padding:8px; color:#717986; font-size:22px; }
.live-callout { display:flex; align-items:center; gap:12px; margin-top:28px; font-size:18px; }.live-callout span { width:12px; height:12px; border-radius:50%; background:#1ab477; box-shadow:0 0 0 6px rgba(26,180,119,0.13); }
.phone-visual { width:min(100%,390px); margin:auto; overflow:hidden; border:9px solid #17191d; border-radius:32px; background:#e9e4dc; }
.phone-top { display:flex; align-items:center; gap:11px; padding:18px 20px; color:#fff; background:#075e54; }.phone-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:#075e54; background:#fff; font-weight:950; }.phone-top strong,.phone-top small { display:block; }.phone-top small { color:#d4eee9; }
.chat-day { width:max-content; margin:18px auto 8px; padding:5px 10px; border-radius:7px; color:#68737a; background:#fff; font-size:10px; font-weight:900; }
.chat-bubble { width:76%; margin:9px 16px; padding:11px 12px 7px; border-radius:8px; color:#2d3338; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.08); font-size:14px; line-height:1.35; }.chat-bubble.sent { margin-left:auto; background:#d9ffc8; }.chat-bubble.done { color:#075e54; font-weight:850; }.chat-bubble span { display:block; margin-top:5px; color:#7b858b; font-size:9px; text-align:right; }
.phone-input { display:flex; justify-content:space-between; margin:20px 10px 12px; padding:10px 15px; border-radius:20px; color:#92999e; background:#fff; font-size:12px; }.phone-input b { display:grid; place-items:center; width:22px; height:22px; margin:-3px; border-radius:50%; color:#fff; background:#0a9e89; }
.no-software-list { display:flex; gap:8px; flex-wrap:wrap; }.no-software-list span { padding:7px 10px; border-radius:999px; color:#57606d; background:#ebe7e1; font-size:12px; font-weight:850; }
.concierge-contrast { color:#fff; background:#1A1814; }.concierge-contrast p { color:#c9c9c9; }.concierge-contrast h2 { max-width:850px; }
.contrast-grid { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; margin-top:40px; }.contrast-card { padding:32px; border-radius:16px; }.contrast-no { background:#252220; }.contrast-yes { color:var(--ink); background:var(--paper); box-shadow:0 20px 60px rgba(0,0,0,0.20); }.contrast-label { display:block; margin-bottom:20px; color:#9da4ae; font-size:12px; font-weight:950; letter-spacing:1.5px; text-transform:uppercase; }.contrast-yes .contrast-label { color:var(--red); }
.contrast-card ul { list-style:none; display:grid; gap:13px; }.contrast-card li { position:relative; padding-left:29px; font-weight:800; }.contrast-no li { color:#c5cad1; }.contrast-card li::before { position:absolute; left:0; font-weight:950; }.contrast-no li::before { content:"×"; color:#ff6a62; }.contrast-yes li::before { content:"✓"; color:var(--green); }.contrast-arrow { color:var(--red); font-size:38px; }
.faq-section h2 { margin-bottom:34px; }.faq-list { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; align-items:start; }.faq-list details { border:1px solid var(--line); border-radius:12px; background:var(--soft); }.faq-list summary { position:relative; padding:20px 50px 20px 20px; cursor:pointer; list-style:none; font-weight:900; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content:"+"; position:absolute; right:20px; top:15px; color:var(--red); font-size:26px; }.faq-list details[open] summary::after { content:"−"; }.faq-list details p { padding:0 20px 20px; }
.final-process-cta { color:#fff; background:#1A1814; }.final-process-cta .section { display:flex; align-items:center; justify-content:space-between; gap:35px; }.final-process-cta h2 { margin-bottom:10px; }.final-process-cta p { color:#ccd0d5; font-size:18px; }.final-process-cta .btn { flex:0 0 auto; }

@media (max-width:980px) {
  .process-hero-grid,.process-step { grid-template-columns:1fr; }
  .process-hero-grid { min-height:auto; }.process-hero-grid .concierge-card { width:min(100%,620px); }
  .process-step-flip .process-copy,.process-step-flip > :last-child { order:initial; }
  .process-copy { max-width:680px; }
  .form-visual,.prep-visual,.connection-visual { width:min(100%,700px); }
}
@media (max-width:680px) {
  .process-hero h1 { font-size:clamp(33px,9vw,42px); }
  .concierge-card { padding:27px 22px; }.concierge-list { grid-template-columns:1fr; }
  .process-step { gap:36px; }.step-number { font-size:58px; }
  .form-question { padding:25px 20px; }.choice-row { grid-template-columns:1fr; }.upload-row { margin:0 20px 24px; }
  .prep-visual { min-height:420px; }.prep-screen { width:80%; height:55%; padding:22px; }.prep-checks { width:72%; }.prep-screen strong { font-size:34px; }
  .connection-visual { grid-template-columns:1fr; gap:8px; padding:20px; }.connection-card { height:145px; }.connection-arrow { padding:0; text-align:center; transform:rotate(90deg); }
  .contrast-grid { grid-template-columns:1fr; }.contrast-arrow { text-align:center; transform:rotate(90deg); }
  .faq-list { grid-template-columns:1fr; }
  .final-process-cta .section { align-items:flex-start; flex-direction:column; }.final-process-cta .btn { width:100%; }
}
@media (max-width:980px) {
  .nav-inner { grid-template-columns:150px 1fr; }
  .nav-links { display:none; }
  .brand, .brand img { width:144px; }
  .hero .section, .contact-layout { grid-template-columns:1fr; min-height:auto; }
  .hero .section { padding-top:70px; }
  .landing-hero .section { padding-top:56px; padding-bottom:56px; gap:42px; }
  .landing-hero h1 { font-size:clamp(35px,5.5vw,43px); }
  .landing-hero .showcase-card { justify-self:center; width:min(100%,680px); }
  .how-it-works, .pricing-grid, .reviews, .industries-grid, .four-grid, .use-case-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .image-feature, .image-feature.flip { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .nav-inner { grid-template-columns:126px auto; padding:12px 16px; min-height:68px; }
  .brand, .brand img { width:124px; }
  .nav-actions .btn-outline { display:none; }
  .section { padding:70px 16px; }
  h1 { font-size:34px; }
  .landing-hero .section { padding-top:42px; padding-bottom:48px; gap:32px; }
  .landing-hero h1 { font-size:clamp(33px,9vw,39px); }
  .landing-hero .hero-actions { align-items:stretch; flex-direction:column; }
  .landing-hero .hero-actions .btn { width:100%; }
  .journey-tabs { grid-template-columns:1fr; gap:16px; height:auto; margin-top:28px; }
  .journey-tab-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .journey-tab { min-height:148px; padding:17px 14px; flex-direction:column; gap:10px; }
  .journey-tab::after { display:none; }.journey-tab-number { flex-basis:32px; width:32px; height:32px; }.journey-tab strong { padding:0; font-size:16px; }.journey-tab small { margin-top:5px; font-size:12px; }
  .journey-panels { height:auto; overflow:visible; border-radius:12px; }
  .journey-panel-scroll { height:auto; min-height:0; overflow-x:auto; border-radius:12px; overscroll-behavior-inline:contain; scrollbar-width:thin; }
  .journey-panel-scroll img { width:900px; max-width:none; height:auto; }
  .journey-panel figcaption { display:block; margin:8px 0; color:var(--muted); font-size:12px; text-align:center; }
  .video-showcase-heading { text-align:left; }
  .video-showcase-section { margin-top:18px; }
  .digital-display-shell { margin-top:20px; }
  .digital-display-bezel { padding:5px 5px 3px; border-radius:10px; box-shadow:0 20px 48px rgba(20,24,33,.22); }
  .digital-display-screen { border-radius:5px; }
  .digital-display-brand { height:18px; font-size:8px; }
  .panel-grid, .three-grid, .how-it-works, .pricing-grid, .reviews, .industries-grid, .four-grid, .use-case-strip, .form-grid { grid-template-columns:1fr; }
  .showcase-caption { left:12px; right:12px; bottom:12px; padding:12px; align-items:flex-start; flex-direction:column; }
  .image-panel img, .use-case-photo, .use-case-photo img { min-height:260px; }
  .card, form { padding:22px; }
  .amount { font-size:48px; }
}

/* Package cards */
.package-card { display:flex; flex-direction:column; min-height:100%; }
.package-card.lite { }
.package-card.managed { }
.package-card.solution { }
.package-card.recommended { border:2px solid var(--line); box-shadow:none; }
.package-card .btn { margin-top:auto; width:max-content; }
.tag.green { background:var(--soft); color:var(--green); border-color:#a7dfc9; }
.tag.gold { background:var(--soft); color:#9a6f00; border-color:#e8d47a; }
.tag.dark-tag { color:var(--muted); background:var(--soft); border-color:var(--line); }
.pricing-preview-grid { margin-top:34px; }
.pricing-preview-link { display:flex; justify-content:center; margin-top:28px; }
.package-price { display:flex; align-items:baseline; gap:7px; min-height:62px; margin:22px 0 2px; color:var(--ink); }
.package-price strong { font-size:52px; line-height:1; letter-spacing:-2px; }
.package-price span { color:var(--muted); font-size:15px; font-weight:800; }
.package-price small { margin-right:2px; color:var(--muted); font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:1px; }
.package-price-extra { min-height:25px; color:#3d4653; font-size:14px; font-weight:850; }
.package-price-extra span { color:var(--muted); font-size:12px; font-weight:750; }
.package-description { margin:-4px 0 16px; padding:13px 14px; border-radius:9px; background:var(--paper); border:1px solid var(--line); color:#555d68; font-size:13px; }
.package-addons { display:flex; flex-wrap:wrap; gap:7px; margin:-2px 0 17px; padding-top:16px; border-top:1px solid var(--line); }
.package-addons strong { width:100%; color:var(--ink); font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.package-addons span { padding:5px 8px; border-radius:999px; color:#555d68; background:#f2f0ed; font-size:11px; font-weight:750; }
.package-you-provide { font-size:13px; color:var(--muted); font-style:italic; margin-bottom:8px; }
.package-ideal { font-size:13px; color:var(--muted); margin-top:4px; margin-bottom:16px; }

/* Pricing page card colour modifiers */
.price-card.lite { }
.price-card.managed { }
.price-card.solution { }
.price-card.complete { }
.price-card.premium { }
.price-card.recommended { position:relative; border:2px solid var(--line); box-shadow:none; }
.price-card .btn { margin-top:auto; width:max-content; }
.responsibility-pricing-grid .price-card > p:first-of-type { min-height:78px; }
.package-section-title { margin:20px 0 10px; color:var(--ink); font-size:12px; font-weight:950; letter-spacing:1.2px; text-transform:uppercase; }
.package-section-title.muted { margin-top:4px; color:var(--muted); }
.exclusion-list { display:grid; gap:7px; margin:0 0 20px; padding:0; list-style:none; }
.exclusion-list li { position:relative; padding-left:23px; color:#747b85; font-size:13px; }
.exclusion-list li::before { content:"×"; position:absolute; left:2px; color:#bd655f; font-weight:950; }
.package-example { margin:2px 0 20px; padding:14px; border:1px solid var(--line); border-radius:9px; background:#faf9f7; }
.package-example strong { display:block; margin-bottom:4px; color:var(--ink); font-size:11px; letter-spacing:1px; text-transform:uppercase; }
.package-example p { color:#626b79; font-size:13px; line-height:1.5; }
.hardware-pricing-strip { margin-top:42px; padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--soft); box-shadow:none; }
.hardware-pricing-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.hardware-pricing-heading .eyebrow { margin:0; }.hardware-pricing-heading h2 { margin:0; font-family:inherit; font-size:28px; font-weight:900; letter-spacing:-.02em; }
.hardware-pricing-options { display:grid; grid-template-columns:1fr 1fr; }
.hardware-pricing-item { display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; padding:26px 22px; }
.hardware-pricing-item + .hardware-pricing-item { border-left:1px solid var(--line); }
.hardware-pricing-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:#f1efeb; font-size:25px; }
.hardware-pricing-item h3 { margin-bottom:5px; font-size:20px; }.hardware-pricing-item p { max-width:330px; font-size:14px; }
.hardware-price { color:var(--ink); font-size:28px; white-space:nowrap; }.hardware-price small { display:block; color:var(--muted); font-size:11px; text-align:right; }
.hardware-pricing-item ul { display:flex; flex-wrap:wrap; gap:6px 13px; margin-top:10px; padding:0; list-style:none; }.hardware-pricing-item li { color:#525b67; font-size:12px; font-weight:800; }.hardware-pricing-item li::before { content:"✓"; margin-right:5px; color:var(--green); }
.hardware-pricing-item a { color:var(--red); font-size:13px; font-weight:900; white-space:nowrap; }
.display-finder-page { background:var(--paper); }
.display-finder-hero { text-align:center; background:#fff; border-bottom:1px solid var(--line); }
.display-finder-hero .section { max-width:900px; }.display-finder-hero h1 { max-width:none; margin-bottom:12px; }.display-finder-hero p { font-size:18px; }
.display-wizard-section { padding-top:54px; padding-bottom:74px; }
.display-wizard-card { max-width:880px; margin:0 auto; padding:30px; border:1px solid var(--line); border-radius:20px; background:var(--soft); box-shadow:0 12px 40px rgba(20,24,33,0.07); }
.display-wizard-progress { margin-bottom:28px; }.display-wizard-progress > div:first-child { display:flex; justify-content:space-between; gap:20px; margin-bottom:8px; color:var(--muted); font-size:12px; }.display-wizard-progress strong { color:var(--ink); }
.display-wizard-step { min-height:290px; }.display-wizard-step[hidden],.display-result[hidden],.display-wizard-nav[hidden],.display-wizard-card button[hidden] { display:none !important; }
.display-wizard-step h2 { max-width:720px; margin-bottom:22px; font-family:inherit; font-size:30px; font-weight:900; letter-spacing:-.025em; }
.display-question-note { margin:-12px 0 20px; font-size:13px; }
.display-option-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.display-use-grid { grid-template-columns:repeat(3,1fr); }
.display-option { display:flex; flex-direction:row; align-items:center; gap:12px; min-height:64px; padding:13px 15px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--paper); cursor:pointer; transition:border-color .18s,background .18s,box-shadow .18s; }
.display-option:hover { border-color:var(--red); background:var(--soft); }.display-option.is-selected { border-color:var(--red); background:var(--soft); box-shadow:0 0 0 2px rgba(232,93,63,.1); }
.display-option input { width:17px; height:17px; min-height:17px; flex:0 0 17px; margin:0; accent-color:var(--red); }.display-option strong,.display-option small { display:block; }.display-option strong { font-size:14px; }.display-option small { margin-top:3px; color:var(--muted); font-size:11px; }.display-option-icon { font-size:24px; }
.display-wizard-nav { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }.display-wizard-nav .btn { margin-left:auto; }
.display-result-top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }.display-result-top h2 { max-width:660px; margin:8px 0 8px; font-family:inherit; font-size:30px; font-weight:950; letter-spacing:-.025em; }.display-result-top p { max-width:650px; }
.recommendation-badge { display:inline-flex; margin-bottom:16px; padding:7px 11px; border-radius:999px; color:#6e4f00; background:#fff3bd; border:1px solid #ebd477; font-size:11px; font-weight:950; }
.display-result-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:16px; }.recommendation-fit,.recommendation-cost { padding:20px; border:1px solid var(--line); border-radius:13px; background:#faf9f7; }.display-result-grid h3 { font-size:17px; }
.recommendation-fit ul { display:grid; gap:10px; padding:0; list-style:none; }.recommendation-fit li { color:#4d5662; font-size:14px; }.recommendation-fit li::before { content:"✓"; margin-right:8px; color:var(--green); font-weight:950; }
.recommendation-cost dl { margin:0; }.recommendation-cost dl > div { display:flex; justify-content:space-between; gap:18px; padding:9px 0; border-bottom:1px solid var(--line); }.recommendation-cost dt { color:var(--muted); }.recommendation-cost dd { color:var(--ink); font-weight:900; }.recommendation-total { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-top:16px; }.recommendation-total span { font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:1px; }.recommendation-total strong { font-size:25px; }
.recommendation-alternative { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:16px; padding:18px 20px; border:1px solid #dcd6ce; border-radius:12px; background:#fff; }.recommendation-alternative span { color:var(--red); font-size:10px; font-weight:950; letter-spacing:1px; text-transform:uppercase; }.recommendation-alternative h3 { margin:3px 0; font-size:17px; }.recommendation-alternative p { font-size:12px; }.recommendation-alternative > strong { flex:0 0 auto; font-size:18px; }
.recommendation-service { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:16px; padding:19px 20px; border-radius:12px; color:#fff; background:#171a20; }.recommendation-service .eyebrow { margin-bottom:4px; }.recommendation-service h3 { margin:0; font-size:16px; }.service-price-pills { display:flex; gap:7px; flex-wrap:wrap; }.service-price-pills span { padding:7px 9px; border:1px solid rgba(255,255,255,.14); border-radius:8px; color:#cbd0d7; font-size:11px; }.service-price-pills strong { color:#fff; }
.display-result-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }.display-result-cta strong,.display-result-cta span { display:block; }.display-result-cta span { color:var(--muted); font-size:12px; }.display-result-cta .btn { flex:0 0 auto; }
.pricing-hero h1 { max-width:930px; }
.pricing-comparison-section h2,.package-choice-section h2 { max-width:820px; }
.comparison-table-wrap { margin-top:34px; overflow-x:auto; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:none; }
.pricing-comparison-table { width:100%; min-width:760px; border-collapse:collapse; }
.pricing-comparison-table th,.pricing-comparison-table td { padding:17px 20px; border-bottom:1px solid var(--line); text-align:center; }
.pricing-comparison-table thead th { color:var(--ink); background:var(--soft); font-size:14px; font-weight:950; }
.pricing-comparison-table thead th:first-child,.pricing-comparison-table tbody th { text-align:left; }
.pricing-comparison-table tbody th { width:34%; color:#3f4753; font-size:14px; }
.pricing-comparison-table tbody td { color:#414956; font-size:14px; font-weight:800; }
.pricing-comparison-table tr:last-child th,.pricing-comparison-table tr:last-child td { border-bottom:0; }
.pricing-comparison-table .managed-column { background:rgba(232,93,63,0.04); }
.pricing-comparison-table thead .managed-column { color:var(--red); background:rgba(232,93,63,0.08); }
.pricing-comparison-table .complete-column { background:rgba(232,93,63,0.04); }
.pricing-comparison-table thead .complete-column { color:var(--red); background:rgba(232,93,63,0.08); }
.table-check { color:var(--green); font-size:19px; font-weight:950; }
.table-dash { color:#afb5bd; }
.setup-cost-section { color:#fff; background:#13161c; }
.setup-cost-section .section { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:24px 70px; align-items:center; }
.setup-cost-copy h2 { max-width:760px; font-size:clamp(27px,2.6vw,35px); }
.setup-cost-copy p { max-width:720px; color:#c7ccd3; font-size:17px; }
.setup-options { display:grid; gap:10px; }
.setup-options span { padding:14px 16px; border:1px solid rgba(255,255,255,.13); border-radius:10px; color:#e7e9ec; background:rgba(255,255,255,.06); font-size:14px; font-weight:850; }
.setup-options span::before { content:"✓"; margin-right:10px; color:#55d49d; }
.setup-quote-note { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border-radius:11px; color:var(--ink); background:#fff; }
.setup-quote-note strong { font-size:18px; }.setup-quote-note span { color:var(--muted); }
.package-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:34px; }
.package-choice-card { padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--soft); box-shadow:none; }
.package-choice-card.lite { }.package-choice-card.managed { }.package-choice-card.solution { }
.package-choice-card.complete { }.package-choice-card.premium { }
.package-choice-card > span { display:block; margin-bottom:17px; color:var(--muted); font-size:11px; font-weight:950; letter-spacing:1px; text-transform:uppercase; }
.package-choice-card.managed > span { color:var(--red); }
.package-choice-card.complete > span { color:var(--red); }.package-choice-card.premium > span { color:#9a7300; }
.package-choice-card h3 { font-size:21px; }
.package-choice-card p { min-height:76px; }
.package-choice-card a { display:inline-flex; margin-top:18px; color:var(--red); font-size:14px; font-weight:900; }
.package-choice-card.lite a { color:var(--green); }.package-choice-card.solution a { color:var(--ink); }
.package-choice-card.complete a { color:var(--red); }.package-choice-card.premium a { color:#8a6800; }

/* Quiz / questionnaire */
.quiz-progress { height:5px; background:#f0ede9; border-radius:999px; margin-bottom:8px; overflow:hidden; }
.quiz-progress-fill { height:100%; background:var(--red); border-radius:999px; transition:width 0.35s ease; }
.quiz-step-label { font-size:12px; color:var(--muted); font-weight:850; margin-bottom:22px; }
.quiz-option { display:block; width:100%; text-align:left; padding:16px 18px; border:1px solid var(--line); border-radius:12px; background:var(--paper); font:inherit; font-size:16px; font-weight:750; color:var(--ink); cursor:pointer; transition:border-color 0.18s,background 0.18s,box-shadow 0.18s; margin-bottom:10px; }
.quiz-option:hover { border-color:var(--red); background:var(--soft); }
.quiz-option.selected { border-color:var(--red); background:var(--soft); box-shadow:0 0 0 2px rgba(232,93,63,0.10); }
.quiz-back { background:none; border:none; color:var(--muted); font:inherit; font-size:14px; font-weight:750; cursor:pointer; padding:0; margin-bottom:18px; display:inline-flex; align-items:center; gap:6px; }
.quiz-back:hover { color:var(--ink); }
.upload-zone { border:2px dashed var(--line); border-radius:12px; padding:22px; text-align:center; background:#fafaf9; cursor:pointer; margin-bottom:14px; transition:border-color 0.18s; }
.upload-zone:hover { border-color:var(--red); }
.upload-zone label { cursor:pointer; color:var(--muted); font-size:14px; font-weight:750; }
.upload-zone input[type="file"] { display:none; }

/* Recommendation result */
.rec-package { font-size:22px; display:block; margin:8px 0 12px; }
.rec-lite { color:var(--green); }
.rec-managed { color:var(--red); }
.rec-solution { color:var(--ink); }

/* Secondary text links */
.text-link { color:var(--muted); font-size:14px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.text-link:hover { color:var(--ink); }
.self-service-nudge { color:#a0a8b5; font-size:14px; margin-top:14px; }
.self-service-nudge a { color:#a0a8b5; text-decoration:underline; text-underline-offset:3px; }
.self-service-nudge a:hover { color:#fff; }

/* Pricing page quiz CTA band */
.quiz-cta-band { margin-top:52px; text-align:center; padding:34px; background:var(--soft); border:1px solid var(--line); border-radius:18px; }
.quiz-cta-band p { margin-bottom:18px; font-size:17px; }

/* Radio option contact form */
.quiz-section { margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.quiz-section:last-of-type { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.quiz-section-num { font-size:11px; font-weight:950; letter-spacing:2px; text-transform:uppercase; color:var(--red); margin-bottom:6px; }
.quiz-section h3 { font-size:17px; margin-bottom:12px; }
.radio-option { display:flex; flex-direction:row; align-items:center; gap:12px; padding:12px 16px; border:1px solid var(--line); border-radius:10px; margin-bottom:8px; cursor:pointer; font-size:15px; font-weight:750; color:var(--ink); transition:border-color 0.18s,background 0.18s; user-select:none; }
.radio-option:hover { border-color:var(--red); background:var(--soft); }
.radio-option input[type="radio"] { width:18px; height:18px; accent-color:var(--red); cursor:pointer; flex-shrink:0; margin:0; }
.radio-option.is-checked { border-color:var(--red); background:var(--soft); }
.contact-layout { gap:42px; }
#leadForm { max-width:570px; justify-self:end; width:100%; padding:22px; border-radius:12px; }
#leadForm .quiz-wizard-progress { margin-bottom:20px; }
.quiz-wizard-progress > div:first-child { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; color:var(--muted); font-size:11px; font-weight:850; }
#leadForm .quiz-section { min-height:190px; margin:0; padding:0; border:0; }
#leadForm .quiz-section h3 { margin-bottom:14px; font-size:19px; }
#leadForm .radio-option { padding:10px 13px; margin-bottom:7px; border-width:1px; border-radius:8px; font-size:14px; }
#leadForm .radio-option input[type="radio"] { width:16px; height:16px; min-height:16px; }
.quiz-wizard-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.quiz-wizard-nav[hidden],.quiz-final[hidden],#leadForm .quiz-section[hidden],#leadForm button[hidden] { display:none !important; }
.quiz-wizard-nav .btn { min-height:42px; margin-left:auto; padding:9px 18px; }
.quiz-edit { border:0; padding:4px 0; color:var(--muted); background:none; font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
.quiz-edit:hover,.quiz-back:hover { color:var(--ink); }
.quiz-final-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.quiz-final-header h3 { margin:0; font-size:21px; }
.quiz-final .live-estimate { margin:12px 0 18px; padding:18px; border-width:1px; }
.quiz-final .estimate-prices-row { margin:13px 0; }
.quiz-final .estimate-price-box { padding:11px 12px; }
.quiz-final .estimate-price-val { font-size:20px; }
.contact-details-title { margin:18px 0 10px; font-size:18px; }
#leadForm .form-grid { gap:10px; }
#leadForm input,#leadForm textarea { min-height:40px; padding:9px 10px; border-radius:8px; }
#leadForm textarea { min-height:84px; }
#leadForm .form-actions { margin-top:14px; }

/* Live estimate panel */
.live-estimate { background:#f5faf7; border:2px solid #a7dfc9; border-radius:14px; padding:24px; margin:22px 0; }
.live-estimate-title { font-size:12px; font-weight:950; text-transform:uppercase; letter-spacing:1.5px; color:var(--green); margin-bottom:14px; }
.estimate-summary-list { display:flex; flex-direction:column; gap:7px; margin-bottom:18px; }
.estimate-summary-item { display:flex; align-items:center; gap:10px; font-weight:750; color:var(--ink); font-size:15px; }
.estimate-summary-item::before { content:"✓"; color:var(--green); font-weight:950; flex-shrink:0; }
.estimate-prices-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.estimate-price-box { background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 16px; }
.estimate-price-label { font-size:11px; font-weight:950; text-transform:uppercase; letter-spacing:1px; color:var(--muted); margin-bottom:4px; }
.estimate-price-val { font-size:24px; font-weight:950; color:var(--ink); line-height:1; }
.estimate-includes-list { display:flex; flex-direction:column; gap:7px; margin-bottom:12px; }
.estimate-include { display:flex; align-items:center; gap:10px; font-size:14px; color:#444d5a; }
.estimate-include::before { content:"✓"; color:var(--green); font-weight:950; flex-shrink:0; }
.estimate-disclaimer { font-size:13px; color:var(--muted); font-style:italic; }

/* Perfect for sections */
.perfect-for-title { font-size:12px; font-weight:950; text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); margin-bottom:8px; margin-top:16px; }
.perfect-for-checklist { list-style:none; display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.perfect-for-checklist li { display:flex; align-items:center; gap:8px; font-size:14px; color:#444d5a; }
.perfect-for-checklist li::before { content:"✓"; color:var(--green); font-weight:950; font-size:13px; flex-shrink:0; }
.package-note { font-size:13px; font-style:italic; color:var(--muted); font-weight:750; margin-top:4px; margin-bottom:18px; }

/* Every package includes */
.shared-includes { background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:28px 32px; margin-top:42px; }
.shared-includes h3 { font-size:19px; color:var(--ink); margin-bottom:18px; text-align:center; }
.shared-includes-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 16px; }
.shared-include-pill { display:flex; align-items:center; gap:8px; background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:9px 18px; font-size:14px; font-weight:750; color:var(--ink); }

/* WhatsApp callout band */
.whatsapp-band { background:var(--soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.whatsapp-inner { display:flex; align-items:center; gap:48px; }
.whatsapp-label { display:inline-flex; align-items:center; gap:8px; background:#25d366; color:#fff; border-radius:999px; padding:6px 14px; font-size:12px; font-weight:950; margin-bottom:12px; }
.whatsapp-bubble { background:var(--paper); border:1px solid var(--line); border-radius:18px 18px 18px 4px; padding:18px 22px; font-size:17px; font-weight:750; color:var(--ink); display:inline-block; box-shadow:0 6px 20px rgba(20,24,33,0.07); }
.whatsapp-desc { flex:1; }
.whatsapp-desc h3 { font-size:clamp(22px,3vw,30px); color:var(--ink); margin-bottom:10px; }
.whatsapp-bubble-wrap { flex:1; }

@media (max-width:680px) {
  .whatsapp-inner { flex-direction:column; gap:22px; }
  .estimate-prices-row { grid-template-columns:1fr; }
  .shared-includes { padding:22px 18px; }
  .package-choice-grid { grid-template-columns:1fr; }
  .package-choice-card p { min-height:0; }
  .package-price strong { font-size:46px; }
  .setup-cost-section .section { grid-template-columns:1fr; }
  .setup-quote-note { grid-column:auto; align-items:flex-start; flex-direction:column; }
  .responsibility-pricing-grid .price-card > p:first-of-type { min-height:0; }
  .hardware-pricing-strip { padding:22px 16px; }
  .hardware-pricing-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .hardware-pricing-options { grid-template-columns:1fr; }
  .hardware-pricing-item { grid-template-columns:auto 1fr; padding:22px 4px; }
  .hardware-pricing-item + .hardware-pricing-item { border-top:1px solid var(--line); border-left:0; }
  .hardware-price,.hardware-pricing-item a { grid-column:2; justify-self:start; }
  .hardware-price small { display:inline; margin-left:4px; }
  .display-wizard-section { padding-top:34px; padding-bottom:50px; }
  .display-wizard-card { padding:20px 16px; border-radius:14px; }
  .display-wizard-step { min-height:0; }
  .display-wizard-step h2,.display-result-top h2 { font-size:25px; }
  .display-option-grid,.display-use-grid { grid-template-columns:1fr; }
  .display-result-top,.display-result-cta,.recommendation-service { align-items:flex-start; flex-direction:column; }
  .display-result-grid { grid-template-columns:1fr; }
  .recommendation-alternative { align-items:flex-start; flex-direction:column; }
  .display-result-cta .btn { width:100%; }
}
