:root {
  --forest: #0d302a;
  --forest-2: #17483e;
  --cream: #f5f0e6;
  --paper: #fffdf8;
  --ink: #17231f;
  --muted: #66736e;
  --sage: #cbd7c3;
  --orange: #dc623d;
  --gold: #e4b554;
  --line: #d9ded7;
  --white: #fff;
  --shadow: 0 24px 70px rgba(9, 35, 29, .14);
  --radius: 22px;
  --shell: min(1240px, calc(100% - 48px));
  --font: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); line-height: 1.6; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; }
button, input, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.04; letter-spacing: -.045em; }
h1 { margin-bottom: 1.5rem; font-size: clamp(3.4rem, 7vw, 7.4rem); }
h2 { margin-bottom: 1rem; font-size: clamp(2.35rem, 4.4vw, 4.75rem); }
h3 { margin-bottom: .7rem; font-size: 1.45rem; }
p { margin-bottom: 1.3rem; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding: clamp(5rem, 8vw, 8rem) 0; }
.soft { background: var(--cream); }
.dark { background: var(--forest); color: var(--white); }
.eyebrow { display: block; margin-bottom: 1rem; color: var(--orange); font-size: .75rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.dark .eyebrow, .editorial-split.dark .eyebrow { color: var(--gold); }
.section-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .62fr); align-items: end; gap: 5rem; margin-bottom: 3.4rem; }
.section-head p { margin: 0 0 .45rem; color: var(--muted); font-size: 1.05rem; }
.dark .section-head p { color: #c5d2cd; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: .85rem 1.35rem; border: 2px solid transparent; border-radius: 999px; font-weight: 900; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--orange); color: var(--white); }
.button.secondary { border-color: currentColor; background: transparent; }
.button.light { background: var(--white); color: var(--forest); }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; }
.skip { position: fixed; z-index: 200; top: -5rem; left: 1rem; padding: .75rem 1rem; background: var(--white); color: #000; }
.skip:focus { top: 1rem; }

.demo-bar { min-height: 35px; display: flex; align-items: center; justify-content: center; gap: 1.2rem; padding: .45rem 1rem; background: var(--gold); color: var(--forest); font-size: .69rem; font-weight: 900; letter-spacing: .08em; text-align: center; }
.demo-bar a { margin-left: .5rem; }
.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(13,48,42,.1); background: rgba(255,253,248,.94); backdrop-filter: blur(16px); }
.nav { min-height: 78px; display: flex; align-items: center; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .75rem; margin-right: auto; text-decoration: none; }
.brand-mark { display: grid; width: 42px; height: 46px; place-items: center; border-radius: 14px 14px 18px 18px; background: var(--forest); color: var(--gold); font-size: 1.35rem; font-weight: 1000; }
.brand b, .brand small { display: block; line-height: 1; }
.brand b { font-size: 1rem; letter-spacing: .1em; }
.brand small { margin-top: .3rem; color: var(--muted); font-size: .61rem; letter-spacing: .14em; }
.nav-links { display: flex; align-items: center; gap: 1.35rem; }
.nav-links a { font-size: .84rem; font-weight: 800; text-decoration: none; }
.nav-action { padding: .7rem 1rem; border-radius: 999px; background: var(--forest); color: var(--white); }
.menu-toggle { display: none; border: 0; background: transparent; color: var(--forest); font-weight: 900; }

.home-hero { overflow: hidden; padding: clamp(4rem, 7vw, 7.5rem) 0 5rem; background: var(--forest); color: var(--white); }
.home-hero-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(500px, 1.05fr); gap: clamp(3rem, 6vw, 7rem); align-items: center; }
.home-hero-copy h1 em { color: var(--gold); font-style: normal; }
.home-hero-copy > p { max-width: 650px; color: #d4dfdb; font-size: 1.2rem; }
.home-hero-copy ul { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; padding: 0; margin: 2rem 0 0; color: #bdcbc6; font-size: .8rem; font-weight: 800; list-style: none; }
.home-hero-copy li::before { content: "✓"; margin-right: .45rem; color: var(--gold); }
.home-hero-visual { position: relative; display: grid; grid-template-columns: 1.4fr .6fr; grid-template-rows: 240px 240px; gap: 12px; }
.home-hero-visual figure { margin: 0; overflow: hidden; border-radius: 20px; }
.home-hero-visual .hero-main { grid-row: 1 / 3; }
.hero-callout { position: absolute; right: -12px; bottom: 24px; width: 250px; padding: 1rem 1.1rem; border-radius: 16px; background: var(--paper); color: var(--ink); box-shadow: var(--shadow); }
.hero-callout b, .hero-callout strong, .hero-callout small { display: block; }
.hero-callout b { margin-top: .5rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-callout strong { font-size: 1rem; }
.hero-callout small { margin-top: .25rem; color: var(--muted); font-size: .65rem; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: .45rem; border-radius: 50%; background: #6dcc79; box-shadow: 0 0 0 5px rgba(109,204,121,.16); }
.proof-strip { background: var(--gold); color: var(--forest); }
.proof-strip .shell { min-height: 105px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.proof-strip .shell > div { display: flex; align-items: center; gap: .8rem; padding-inline: 1rem; border-left: 1px solid rgba(13,48,42,.25); }
.proof-strip strong { font-size: 2.2rem; line-height: 1; }
.proof-strip span { max-width: 130px; font-size: .72rem; font-weight: 900; line-height: 1.25; text-transform: uppercase; }

.visual-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.visual-service-grid a { padding-bottom: 1.2rem; border-bottom: 2px solid var(--line); text-decoration: none; }
.visual-service-grid figure { height: 290px; margin: 0 0 1rem; overflow: hidden; border-radius: 18px; }
.visual-service-grid span { color: var(--orange); font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.visual-service-grid h3 { margin-top: .35rem; }
.visual-service-grid img { transition: transform .45s ease; }
.visual-service-grid a:hover img { transform: scale(1.035); }
.editorial-split { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 720px; }
.editorial-split.reverse { grid-template-columns: 1.22fr .78fr; }
.editorial-split.reverse .editorial-copy { order: 2; }
.editorial-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem, 7vw, 8rem); }
.editorial-copy p { max-width: 560px; font-size: 1.08rem; }
.editorial-gallery { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 8px; padding: 8px; background: var(--cream); }
.editorial-gallery img:first-child { grid-row: 1 / 3; }
.tools-section { background: #eef0e8; }
.tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: stretch; }
.availability, .zip-widget { min-height: 420px; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: var(--radius); box-shadow: var(--shadow); }
.availability { background: var(--paper); }
.tool-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); font-size: .7rem; font-weight: 900; letter-spacing: .08em; }
.tool-heading select { max-width: 180px; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.availability-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1.25rem 0; }
.availability-metrics > div { padding: 1rem; border-radius: 14px; background: var(--cream); }
.availability-metrics small, .availability-metrics strong { display: block; }
.availability-metrics small { color: var(--muted); font-size: .7rem; }
.availability-metrics strong { margin-top: .25rem; font-size: 1.05rem; }
.availability-metrics i { display: block; height: 5px; margin-top: .6rem; overflow: hidden; border-radius: 8px; background: var(--line); }
.availability-metrics i b { display: block; width: 60%; height: 100%; background: var(--orange); }
.availability > p { color: var(--muted); font-size: .78rem; }
.zip-widget { display: grid; grid-template-rows: auto 1fr; background: var(--forest); color: var(--white); }
.zip-widget h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); }
.zip-widget form { align-self: end; }
.zip-widget label { display: block; margin-bottom: .45rem; font-size: .74rem; font-weight: 900; }
.zip-input-row { display: grid; grid-template-columns: 1fr auto; gap: .6rem; }
.zip-input-row input { min-width: 0; padding: .85rem 1rem; border: 0; border-radius: 11px; }
.zip-input-row button { border: 0; border-radius: 11px; background: var(--gold); color: var(--forest); font-weight: 900; }
.zip-result { min-height: 80px; margin-top: .85rem; padding: .9rem; border-radius: 12px; background: rgba(255,255,255,.09); font-size: .85rem; }
.zip-result strong, .zip-result a { display: block; }
.zip-result a { margin-top: .4rem; color: var(--gold); font-weight: 900; }
.photo-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); background: var(--forest); }
.photo-band figure { position: relative; height: 360px; margin: 0; overflow: hidden; }
.photo-band figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2.5rem 1rem .8rem; background: linear-gradient(transparent,rgba(0,0,0,.72)); color: var(--white); font-size: .75rem; font-weight: 900; text-align: center; }
.location-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.location-feature-grid a { overflow: hidden; padding-bottom: 1rem; border-bottom: 2px solid var(--line); text-decoration: none; }
.location-feature-grid img { height: 350px; margin-bottom: 1rem; border-radius: 18px; }
.location-feature-grid span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.assistant-showcase { padding: clamp(5rem, 8vw, 8rem) 0; background: var(--orange); color: var(--white); }
.assistant-showcase-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 6rem; align-items: center; }
.assistant-showcase-grid > div:first-child p { max-width: 560px; font-size: 1.1rem; }
.assistant-capability-list { display: grid; gap: .65rem; }
.assistant-capability-list > div { display: grid; grid-template-columns: 45px 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.38); }
.assistant-capability-list b { color: #ffd9cd; }
.assistant-capability-list strong, .assistant-capability-list span { display: block; }
.assistant-capability-list strong { margin-bottom: .2rem; color: var(--white); font-size: 1.05rem; }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.story-grid a { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); text-decoration: none; }
.story-grid img { height: 300px; }
.story-grid a > :not(img) { margin-right: 1.3rem; margin-left: 1.3rem; }
.story-grid small { display: block; margin-top: 1.2rem; color: var(--orange); font-weight: 900; }
.story-grid p { padding-bottom: .5rem; color: var(--muted); }
.final-cta { padding: 5rem 0; background: var(--forest); color: var(--white); }
.final-cta .shell { display: grid; grid-template-columns: 1.15fr .65fr; gap: 5rem; align-items: center; }
.final-cta p { color: #c3d2cd; }

.inner-hero { padding: clamp(4rem, 7vw, 7rem) 0; overflow: hidden; background: var(--cream); }
.inner-hero.dark { background: var(--forest); color: var(--white); }
.inner-hero.urgent { background: #421f1b; color: var(--white); }
.inner-hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.inner-hero-copy h1 { font-size: clamp(3.2rem, 6vw, 6.5rem); }
.inner-hero-copy > p { max-width: 650px; color: var(--muted); font-size: 1.14rem; }
.inner-hero.dark .inner-hero-copy > p, .inner-hero.urgent .inner-hero-copy > p { color: #d1dcd8; }
.inner-hero-images { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 260px 260px; gap: 10px; }
.inner-hero-images img { border-radius: 18px; }
.inner-hero-images img:first-child { grid-row: 1 / 3; }
.process-line { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--line); }
.process-line article { min-height: 260px; padding: 1.5rem; border-right: 1px solid var(--line); }
.process-line article:last-child { border-right: 0; }
.process-line b { display: block; margin-bottom: 2.5rem; color: var(--orange); font-size: 1.7rem; }
.process-line p { color: var(--muted); }
.source-note { margin-top: 2rem; padding: 1.25rem 1.5rem; border-left: 6px solid var(--gold); background: rgba(228,181,84,.13); }
.source-note strong { display: block; margin-bottom: .25rem; }
.source-note p { margin: 0; font-size: .86rem; }
.two-column { display: grid; grid-template-columns: .72fr 1.28fr; gap: 5rem; align-items: start; }
.two-column .section-head { display: block; margin: 0; }
.faq-list details { padding: 1.1rem 0; border-top: 1px solid var(--line); }
.faq-list summary { cursor: pointer; font-weight: 900; }
.faq-list p { max-width: 720px; margin: .75rem 0 0; color: var(--muted); }
.plan-quiz { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.plan-quiz fieldset { display: grid; gap: .6rem; padding: 1.4rem; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.plan-quiz legend { padding: 0 .4rem; font-weight: 900; }
.plan-quiz button { padding: .8rem; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); text-align: left; }
.plan-quiz button.selected { border-color: var(--orange); background: #fff1ec; }
.plan-quiz aside { grid-column: 1 / -1; padding: 1.3rem; border-radius: 16px; background: var(--forest); color: var(--white); }
.plan-quiz aside small { color: var(--gold); font-weight: 900; letter-spacing: .08em; }
.plan-quiz aside p { margin: 0; color: #c6d4cf; }
.commercial-program { padding: clamp(5rem, 8vw, 8rem) 0; background: var(--forest); color: var(--white); }
.commercial-program-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6rem; }
.commercial-program-grid p { color: #c2d0cb; }
.commercial-program ol { margin: 0; padding: 0; list-style: none; }
.commercial-program li { display: grid; grid-template-columns: 55px 1fr; gap: 1rem; padding: 1.2rem 0; border-top: 1px solid rgba(255,255,255,.22); }
.commercial-program li b { color: var(--gold); }
.commercial-program li strong, .commercial-program li span { display: block; }
.industry-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.industry-gallery a { position: relative; height: 340px; overflow: hidden; border-radius: 18px; }
.industry-gallery span { position: absolute; right: .8rem; bottom: .8rem; left: .8rem; padding: .75rem; border-radius: 10px; background: rgba(13,48,42,.9); color: var(--white); font-size: .8rem; font-weight: 900; text-align: center; }
.commercial-detail { display: grid; grid-template-columns: .7fr 1.3fr; gap: 5rem; align-items: center; }
.commercial-detail.reverse { grid-template-columns: 1.3fr .7fr; }
.commercial-detail.reverse > div:first-child { order: 2; }
.photo-mosaic { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 260px 260px; gap: 8px; }
.photo-mosaic figure { position: relative; margin: 0; overflow: hidden; border-radius: 14px; }
.photo-mosaic figcaption { position: absolute; right: .6rem; bottom: .6rem; padding: .4rem .65rem; border-radius: 99px; background: rgba(13,48,42,.88); color: var(--white); font-size: .68rem; font-weight: 900; }
.urgent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.urgent-grid article { padding: 2rem; border-radius: 18px; background: var(--cream); }
.urgent-grid article:first-child { background: #421f1b; color: var(--white); }
.urgent-grid span { color: var(--orange); font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
.service-next, .ownership-cta, .franchise-route { padding: 4.5rem 0; background: var(--orange); color: var(--white); }
.service-next .shell, .ownership-cta .shell, .franchise-route .shell { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; }
.service-next h2, .ownership-cta h2, .franchise-route h2 { margin: 0; }

.plan-comparison { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.plan-comparison article { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.plan-comparison article.featured { border: 3px solid var(--orange); transform: translateY(-12px); box-shadow: var(--shadow); }
.plan-comparison figure { height: 250px; margin: 0; }
.plan-comparison article > div { padding: 1.5rem; }
.plan-comparison span { color: var(--orange); font-size: .7rem; font-weight: 900; letter-spacing: .1em; }
.plan-comparison ul { padding-left: 1.2rem; }
.account-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 6rem; align-items: center; }
.account-grid > div:first-child p { color: #c7d5d0; }
.account-preview { padding: 1.5rem; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; background: var(--forest-2); }
.account-preview header, .account-preview > div { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.account-preview header span { color: var(--gold); font-weight: 900; }
.account-preview small { color: #b7c7c1; }
.account-preview a { display: block; padding-top: 1rem; color: var(--gold); font-weight: 900; }
.territory-list { display: grid; gap: 1rem; }
.territory-list a { display: grid; grid-template-columns: .75fr 1.25fr; min-height: 320px; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); text-decoration: none; }
.territory-list figure { margin: 0; }
.territory-list a > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem); }
.territory-list span { color: var(--orange); font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.territory-list b { margin-top: 1rem; }
.territory-overview { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; align-items: center; }
.territory-overview dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.territory-overview dl div { padding: 1rem; border-radius: 12px; background: var(--cream); }
.territory-overview dt { color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.territory-overview dd { margin: .25rem 0 0; font-weight: 900; }
.resource-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.resource-grid a { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 300px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); text-decoration: none; }
.resource-grid a > div { display: flex; flex-direction: column; justify-content: center; padding: 1.4rem; }
.resource-grid span { color: var(--orange); font-size: .68rem; font-weight: 900; letter-spacing: .07em; }
.article-hero { padding: 6rem 0; background: var(--forest); color: var(--white); }
.article-hero-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 5rem; align-items: center; }
.article-hero-grid > div > a { display: block; margin-bottom: 2rem; color: var(--sage); font-weight: 900; }
.article-hero h1 { font-size: clamp(3rem, 6vw, 6rem); }
.article-hero p { color: #c9d5d1; font-size: 1.12rem; }
.article-hero img { height: 500px; border-radius: 20px; }
.article-layout { display: grid; grid-template-columns: 220px minmax(0, 760px); gap: 5rem; justify-content: center; padding-block: 5rem 7rem; }
.article-layout > aside { position: sticky; top: 125px; align-self: start; display: grid; gap: .7rem; font-size: .8rem; }
.article-layout > aside span { color: var(--orange); font-weight: 900; }
.article-body { font-size: 1.08rem; }
.article-body h2 { margin-top: 3rem; font-size: 2.3rem; }
.article-photo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 3rem 0; }
.article-photo-pair img { height: 340px; border-radius: 16px; }

.schedule-hero, .tools-hero, .boho-hero { padding: clamp(5rem, 8vw, 8rem) 0; background: var(--forest); color: var(--white); }
.schedule-hero-grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: 5rem; }
.schedule-hero-grid p { color: #c8d5d1; font-size: 1.12rem; }
.schedule-hero-grid img { height: 500px; border-radius: 20px; }
.scheduler-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 3rem; align-items: start; }
.scheduler-layout > aside { display: grid; gap: 1rem; }
.scheduler-layout .availability { min-height: 0; box-shadow: none; border: 1px solid var(--line); }
.integration-note { padding: 1.3rem; border-radius: 16px; background: var(--cream); }
.integration-note ul { margin-bottom: 0; padding-left: 1.2rem; }
.scheduler { min-height: 620px; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--line); border-radius: 22px; background: var(--white); box-shadow: var(--shadow); }
.scheduler-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; margin-bottom: 2.5rem; }
.scheduler-progress span { height: 6px; border-radius: 99px; background: var(--line); }
.scheduler-progress span.active { background: var(--orange); }
.schedule-step { display: none; }
.schedule-step.active { display: block; }
.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.choice-grid button { overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--white); color: var(--ink); text-align: left; font-weight: 900; }
.choice-grid button img { height: 190px; }
.choice-grid button span { display: block; padding: .9rem; }
.choice-grid.compact { grid-template-columns: repeat(2, 1fr); }
.choice-grid.compact button, .date-grid button, .time-grid button { padding: .9rem 1rem; }
.choice-grid button.selected, .date-grid button.selected, .time-grid button.selected { border-color: var(--orange); background: #fff0eb; }
.date-grid, .time-grid { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.date-grid button, .time-grid button { border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.back { margin-top: 1rem; border: 0; background: transparent; font-weight: 900; }
.schedule-summary { padding: 1.2rem; border-radius: 14px; background: var(--cream); }
.schedule-success span { color: var(--orange); font-weight: 900; letter-spacing: .1em; }

.job-list { display: grid; gap: 1rem; }
.job-list article { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 1.4rem; border: 1px solid var(--line); border-radius: 17px; background: var(--white); }
.job-list article span { color: var(--orange); font-size: .7rem; font-weight: 900; letter-spacing: .08em; }
.job-list article p { margin: 0; color: var(--muted); }
.job-list article > button { padding: .75rem 1rem; border: 1px solid var(--forest); border-radius: 999px; background: transparent; font-weight: 900; }
.job-list article > section { grid-column: 1 / -1; padding-top: 1.3rem; }
.wide-photo-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.wide-photo-copy img { height: 500px; border-radius: 20px; }
.franchise-pillars { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.franchise-pillars article { min-height: 300px; padding: 1.5rem; border-right: 1px solid var(--line); }
.franchise-pillars article:last-child { border-right: 0; }
.franchise-pillars span { color: var(--orange); font-size: .7rem; font-weight: 900; letter-spacing: .1em; }
.franchise-pillars p { color: var(--muted); }
.tools-hero-grid, .boho-hero-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 5rem; align-items: center; }
.tools-hero p, .boho-hero p { color: #c7d4d0; font-size: 1.12rem; }
.tools-hero .photo-mosaic { height: 540px; grid-template-rows: 1fr 1fr; }
.integration-list { display: grid; gap: 1.5rem; }
.integration-list article { display: grid; grid-template-columns: .75fr 1.25fr; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.integration-list figure { min-height: 430px; margin: 0; }
.integration-list article > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2rem, 5vw, 4rem); }
.integration-list article span { color: var(--orange); font-size: .72rem; font-weight: 900; letter-spacing: .09em; }
.integration-list article strong { margin: 1rem 0; font-size: 1.2rem; }
.assistant-deep-dive { padding: clamp(5rem, 8vw, 8rem) 0; background: var(--orange); color: var(--white); }
.assistant-mode-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 2rem; background: rgba(255,255,255,.3); }
.assistant-mode-grid article { min-height: 260px; padding: 1.5rem; background: var(--orange); }
.assistant-mode-grid b { color: #ffd7ca; }
.assistant-mode-grid p { color: #ffe7df; }
.connection-list { display: flex; flex-wrap: wrap; gap: .7rem; }
.connection-list span { padding: .75rem 1rem; border: 1px solid var(--line); border-radius: 999px; font-weight: 800; }
.boho-hero { background: #151a18; }
.site-preview-stack { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; transform: rotate(1.2deg); }
.preview-card { position: relative; height: 250px; overflow: hidden; border: 8px solid var(--white); border-radius: 16px; box-shadow: var(--shadow); }
.preview-card.wide { grid-column: 1 / -1; height: 320px; }
.preview-card span { position: absolute; right: .7rem; bottom: .7rem; padding: .5rem .75rem; border-radius: 99px; background: var(--forest); color: var(--white); font-size: .7rem; font-weight: 900; }
.boho-principles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.boho-principles article { padding: 1.5rem 0; border-top: 4px solid var(--orange); }
.boho-principles span { color: var(--orange); font-weight: 900; }
.boho-principles p { color: var(--muted); }
.boho-offer { padding: clamp(5rem, 8vw, 8rem) 0; }
.boho-offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.boho-offer-grid article { padding: 1.6rem; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; }
.boho-offer-grid span { color: var(--gold); font-size: .72rem; font-weight: 900; }
.boho-offer-grid p { color: #c7d5d0; }
.not-found { min-height: 74vh; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; background: var(--forest); color: var(--white); }
.not-found > div { padding: clamp(3rem, 8vw, 8rem); }
.not-found > img { min-height: 74vh; }

.site-footer { padding: 5rem 0 1.5rem; background: #071e1a; color: #d4dfdb; }
.footer-top { display: grid; grid-template-columns: 1.45fr repeat(4, 1fr); gap: 2.5rem; }
.brand.inverse .brand-mark { background: var(--gold); color: var(--forest); }
.brand.inverse small { color: #9bb0a8; }
.footer-intro p { max-width: 310px; margin-top: 1rem; color: #91a59d; font-size: .8rem; }
.footer-intro > a { color: var(--gold); font-size: .82rem; font-weight: 900; }
.footer-top h3 { color: var(--white); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.footer-top > div > a:not(.brand) { display: block; margin: .55rem 0; color: #a7bab3; font-size: .8rem; text-decoration: none; }
.footer-top > div > p { color: #91a59d; font-size: .8rem; }
.footer-cta { color: var(--gold) !important; font-weight: 900; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.13); color: #718b82; font-size: .7rem; }

.assistant-launch { position: fixed; z-index: 80; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; border: 0; border-radius: 999px; background: var(--orange); color: var(--white); box-shadow: 0 16px 45px rgba(0,0,0,.28); font-weight: 900; }
.assistant-launch b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.2); }
.assistant-panel { position: fixed; z-index: 90; right: 18px; bottom: 18px; width: min(470px, calc(100vw - 28px)); overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--white); box-shadow: 0 30px 90px rgba(0,0,0,.34); }
.assistant-panel[hidden] { display: none; }
.assistant-panel > header { display: flex; justify-content: space-between; gap: 1rem; padding: 1.15rem; background: var(--forest); color: var(--white); }
.assistant-panel > header small, .assistant-panel > header strong { display: block; }
.assistant-panel > header small { color: var(--gold); font-size: .64rem; letter-spacing: .08em; }
.assistant-close { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; color: var(--white); font-size: 1.2rem; }
.assistant-log { max-height: 300px; min-height: 170px; overflow-y: auto; padding: 1rem; background: var(--cream); }
.assistant-message { max-width: 90%; margin-bottom: .65rem; padding: .75rem .9rem; border-radius: 14px; background: var(--white); }
.assistant-message.user { margin-left: auto; background: var(--forest); color: var(--white); }
.assistant-message a { display: inline-block; margin-top: .35rem; color: var(--orange); font-weight: 900; }
.assistant-options { display: flex; flex-wrap: wrap; gap: .45rem; padding: .85rem 1rem; background: var(--cream); }
.assistant-options button { padding: .45rem .65rem; border: 1px solid var(--forest); border-radius: 999px; background: transparent; color: var(--forest); font-size: .72rem; font-weight: 900; }
.assistant-form { padding: .8rem 1rem; }
.assistant-form label { display: block; margin-bottom: .35rem; color: var(--muted); font-size: .68rem; font-weight: 900; }
.assistant-form > div { display: grid; grid-template-columns: 1fr auto; gap: .45rem; }
.assistant-form input { min-width: 0; padding: .75rem; border: 1px solid var(--line); border-radius: 9px; }
.assistant-form button { border: 0; border-radius: 9px; background: var(--forest); color: var(--white); font-weight: 900; }
.assistant-panel > footer { display: grid; padding: .9rem 1rem; background: #f2dfd5; }
.assistant-panel > footer a { color: #a23d21; font-weight: 900; }
.assistant-panel > footer small { margin-top: .4rem; color: var(--muted); font-size: .62rem; }

@media (max-width: 1040px) {
  .menu-toggle { display: block; }
  .nav-links { position: absolute; inset: 78px 0 auto; display: none; padding: 1.2rem 24px 1.5rem; background: var(--paper); box-shadow: var(--shadow); }
  .nav-links.open { display: grid; }
  .home-hero-grid, .inner-hero-grid, .tools-hero-grid, .boho-hero-grid { grid-template-columns: 1fr; }
  .home-hero-copy { max-width: 760px; }
  .home-hero-visual, .inner-hero-images { min-height: 500px; }
  .visual-service-grid, .industry-gallery { grid-template-columns: repeat(2, 1fr); }
  .tool-grid, .assistant-showcase-grid, .commercial-program-grid, .commercial-detail, .commercial-detail.reverse, .territory-overview, .scheduler-layout, .account-grid { grid-template-columns: 1fr; }
  .commercial-detail.reverse > div:first-child { order: 0; }
  .photo-band { grid-template-columns: repeat(3, 1fr); }
  .location-feature-grid, .franchise-pillars, .boho-principles { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
  :root { --shell: min(100% - 28px, 1240px); }
  .demo-bar span:nth-child(2) { display: none; }
  .demo-bar { justify-content: space-between; }
  .section { padding: 4.5rem 0; }
  .section-head, .final-cta .shell, .service-next .shell, .ownership-cta .shell, .franchise-route .shell, .two-column, .schedule-hero-grid, .wide-photo-copy, .article-hero-grid, .article-layout { grid-template-columns: 1fr; gap: 2rem; }
  .home-hero-visual, .inner-hero-images { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 180px; min-height: 0; }
  .home-hero-visual .hero-main, .inner-hero-images img:first-child { grid-row: auto; grid-column: 1 / -1; }
  .hero-callout { right: 8px; bottom: 10px; }
  .proof-strip .shell { grid-template-columns: 1fr 1fr; padding-block: 1rem; }
  .proof-strip .shell > div { min-height: 70px; }
  .visual-service-grid, .story-grid, .resource-grid, .assistant-mode-grid, .plan-comparison, .plan-quiz, .boho-offer-grid { grid-template-columns: 1fr; }
  .editorial-split, .editorial-split.reverse { grid-template-columns: 1fr; min-height: 0; }
  .editorial-split.reverse .editorial-copy { order: 0; }
  .editorial-gallery { min-height: 520px; }
  .photo-band { grid-template-columns: 1fr 1fr; }
  .photo-band figure { height: 280px; }
  .photo-band figure:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .location-feature-grid, .franchise-pillars, .boho-principles, .urgent-grid, .process-line { grid-template-columns: 1fr; }
  .process-line article, .franchise-pillars article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .process-line article b { margin-bottom: 1rem; }
  .availability-metrics { grid-template-columns: 1fr; }
  .territory-list a, .resource-grid a, .integration-list article { grid-template-columns: 1fr; }
  .territory-list figure, .resource-grid a > img, .integration-list figure { min-height: 280px; }
  .territory-overview dl, .assistant-mode-grid { grid-template-columns: 1fr; }
  .article-layout > aside { position: static; }
  .article-photo-pair { grid-template-columns: 1fr; }
  .choice-grid, .choice-grid.compact { grid-template-columns: 1fr; }
  .plan-quiz aside { grid-column: auto; }
  .job-list article { grid-template-columns: 1fr; gap: 1rem; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-bottom { display: grid; }
  .assistant-launch span { display: none; }
  .assistant-launch { padding: .65rem; }
  .assistant-panel { right: 14px; bottom: 14px; }
  .site-preview-stack { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
