:root {
  --cream: #f3eadf;
  --paper: #fffaf4;
  --ink: #25191b;
  --wine: #651f35;
  --plum: #3d1937;
  --coral: #e85e3d;
  --rose: #d9a3aa;
  --gold: #c89d58;
  --lavender: #b8a6df;
  --line: rgba(37, 25, 27, .16);
  --shadow: 0 28px 70px rgba(52, 24, 32, .14);
  --radius: 30px;
  --shell: min(1240px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--cream); }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.62; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select { font: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 12px 18px; color: white; background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: .99; letter-spacing: -.045em; }
h1 { max-width: 980px; font-size: clamp(3.1rem, 7.3vw, 7.2rem); }
h2 { font-size: clamp(2.35rem, 5vw, 5.4rem); }
h3 { font-size: clamp(1.55rem, 2.4vw, 2.2rem); }
.lede { max-width: 700px; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.46; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px; }
.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 15px 24px; border: 2px solid var(--ink); border-radius: 999px; color: white; background: var(--ink); font-size: .9rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; transition: transform .25s ease, background .25s ease, color .25s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); background: var(--wine); }
.button:focus-visible, .text-link:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--lavender); outline-offset: 4px; }
.button-small { min-height: 46px; padding: 11px 19px; font-size: .78rem; }
.text-link { display: inline-flex; min-height: 48px; align-items: center; font-weight: 800; text-underline-offset: 6px; }
.light-link { color: white; }

.site-header { position: relative; z-index: 40; border-bottom: 1px solid var(--line); background: rgba(243, 234, 223, .94); backdrop-filter: blur(14px); }
.nav-row { min-height: 92px; display: flex; align-items: center; gap: 36px; }
.wordmark { display: grid; flex: 0 0 auto; width: 98px; color: var(--wine); font-size: .78rem; font-weight: 900; letter-spacing: .19em; line-height: .9; text-decoration: none; }
.wordmark span:last-child { color: #a33822; }
.nav-links { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.nav-links a, .quiet-link { min-height: 48px; display: inline-flex; align-items: center; font-size: .84rem; font-weight: 750; text-decoration: none; }
.nav-links a:hover, .quiet-link:hover { text-decoration: underline; text-underline-offset: 6px; }
.nav-dropdown { position: relative; }
.nav-trigger { display: inline-flex; min-height: 48px; align-items: center; gap: 10px; padding: 0; border: 0; color: inherit; background: transparent; font-size: .84rem; font-weight: 750; cursor: pointer; }
.nav-trigger:hover, .nav-trigger[aria-expanded="true"] { color: var(--nav-accent, var(--wine)); }
.nav-chevron { width: 7px; height: 7px; margin-top: -4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .22s ease; }
.nav-trigger[aria-expanded="true"] .nav-chevron { margin-top: 3px; transform: rotate(225deg); }
.nav-panel { position: absolute; top: 100%; right: 0; z-index: 60; width: 314px; display: grid; gap: 3px; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: var(--nav-surface, var(--paper)); box-shadow: 0 22px 52px rgba(37,25,27,.14); }
.nav-panel[hidden] { display: none; }
.nav-links .nav-panel a { display: flex; min-height: 58px; justify-content: space-between; gap: 18px; padding: 13px 15px; border-radius: 9px; font-size: .86rem; font-weight: 650; }
.nav-panel a span { color: var(--nav-accent, var(--wine)); font-size: 1.15rem; font-weight: 400; line-height: 1; }
.nav-links .nav-panel a:hover, .nav-links .nav-panel a:focus-visible { color: var(--nav-accent, var(--wine)); background: rgba(37,25,27,.05); text-decoration: none; }
.nav-mobile-heading, .nav-links .nav-mobile-action { display: none; }
.menu-button { display: none; min-height: 48px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; background: transparent; }
html:not(.motion-ready) .nav-trigger, html:not(.motion-ready) .menu-button { display: none; }
html:not(.motion-ready) .nav-panel[hidden] { display: grid; }

.hero { min-height: 760px; display: grid; grid-template-columns: 1.03fr .97fr; border-bottom: 1px solid var(--line); overflow: hidden; }
.hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 90px max(40px, calc((100vw - 1240px) / 2)) 90px max(24px, calc((100vw - 1240px) / 2)); background: var(--cream); }
.hero h1 { max-width: 720px; margin-bottom: 28px; font-size: clamp(3.8rem, 6.9vw, 7rem); }
.hero .lede { max-width: 620px; }
.official { margin: 52px 0 0; color: var(--wine); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-image { position: relative; min-height: 760px; margin: 0; overflow: hidden; background: #d8c6b3; }
.hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 71% center; }
.hero-image figcaption, .portrait-frame figcaption { position: absolute; right: 14px; bottom: 12px; padding: 5px 9px; border-radius: 999px; color: rgba(255,255,255,.9); background: rgba(37,25,27,.62); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }

.center-heading { max-width: 880px; margin: 0 auto 64px; text-align: center; }
.center-heading h2 { margin-bottom: 26px; }
.center-heading > p:last-child { max-width: 680px; margin-inline: auto; font-size: 1.15rem; }
.two-places { padding: 130px 0; background: var(--paper); }
.place-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.place-card { position: relative; min-height: 490px; padding: 42px; border-radius: var(--radius); overflow: hidden; }
.place-card h3 { max-width: 490px; margin-top: 90px; font-size: clamp(2.8rem, 4.5vw, 4.8rem); }
.place-card p:last-child { max-width: 520px; font-size: 1.06rem; }
.place-before { color: white; background: var(--wine); }
.place-on { background: var(--rose); }
.place-number { position: absolute; top: 30px; right: 34px; font-family: Georgia, serif; font-size: 5rem; line-height: 1; opacity: 1; }
.place-before .place-number { color: #e8cbd4; }
.place-on .place-number { color: var(--wine); }
.card-label { font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.review-section { padding: 140px 0; background: var(--lavender); }
.review-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 84px; }
.review-copy h2 { margin-bottom: 28px; }
.review-copy > p:not(.kicker) { max-width: 500px; font-size: 1.15rem; }
.scorecard { padding: 28px; border: 1px solid rgba(255,255,255,.4); border-radius: var(--radius); background: rgba(255,255,255,.78); box-shadow: var(--shadow); }
.scorecard-top { display: flex; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid var(--line); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.score-row { display: grid; grid-template-columns: 16px 1fr auto; align-items: center; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.score-row p { margin: 4px 0 0; font-size: .9rem; line-height: 1.4; }
.score-row > span:last-child { font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.score-dot { width: 12px; height: 12px; border-radius: 50%; }
.score-red { background: var(--coral); }.score-gold { background: var(--gold); }.score-plum { background: var(--plum); }
.score-note { margin: 20px 0 0; font-size: .76rem; }

.websites-section, .visual-proof { padding: 140px 0; background: var(--cream); }
.image-split { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 88px; }
.image-split.reverse { grid-template-columns: 1.08fr .92fr; }
.portrait-frame { position: relative; min-height: 650px; margin: 0; border-radius: 180px 180px 28px 28px; overflow: hidden; box-shadow: var(--shadow); }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.split-copy h2 { margin-bottom: 30px; }
.split-copy > p:not(.kicker) { max-width: 620px; font-size: 1.1rem; }
.check-list { display: grid; gap: 12px; padding: 0; margin: 34px 0; list-style: none; }
.check-list li { position: relative; padding-left: 30px; }
.check-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 12px; height: 12px; border-radius: 50%; background: var(--coral); }

.botric-band { padding: 140px 0; color: white; background: var(--plum); overflow: hidden; }
.botric-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.botric-copy h2 { max-width: 640px; }
.botric-copy p:not(.kicker) { max-width: 570px; color: rgba(255,255,255,.76); font-size: 1.12rem; }
.botric-band .button { border-color: var(--wine); background: var(--wine); }
.search-orbit { position: relative; min-height: 550px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.search-orbit::before, .search-orbit::after { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.search-orbit::after { inset: 27%; }
.orbit-center { position: absolute; top: 50%; left: 50%; z-index: 2; width: 150px; height: 150px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); background: var(--cream); font-weight: 900; letter-spacing: .13em; line-height: 1.1; text-align: center; transform: translate(-50%,-50%); }
.orbit-pill { position: absolute; padding: 12px 19px; border-radius: 999px; color: var(--ink); background: white; font-size: .8rem; font-weight: 800; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.pill-google { top: 10%; left: 42%; }.pill-chat { top: 43%; right: 2%; }.pill-gemini { bottom: 10%; left: 42%; }.pill-perplexity { top: 45%; left: -3%; }

.proof-section { padding: 140px 0; background: var(--coral); }
.proof-intro { max-width: 800px; }
.proof-intro h2 { margin-bottom: 24px; }
.proof-intro > p:last-child { max-width: 650px; font-size: 1.12rem; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 68px 0 30px; }
.metric { min-height: 260px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; border: 1px solid rgba(37,25,27,.22); border-radius: 26px; background: rgba(255,250,244,.22); }
.metric strong { font-family: Georgia, serif; font-size: clamp(3.7rem, 7vw, 7.2rem); font-weight: 400; letter-spacing: -.06em; line-height: .95; }
.metric span { max-width: 190px; font-weight: 750; }
.proof-note { max-width: 760px; font-size: .8rem; }
.proof-dark { color: white; background: var(--plum); }
.proof-dark .metric { border-color: rgba(255,255,255,.2); }

.path-section { padding: 140px 0; background: var(--paper); }
.path-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.path-card { min-height: 330px; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.path-card:nth-child(2) { color: white; background: var(--wine); }.path-card:nth-child(3) { background: var(--rose); }.path-card:nth-child(4) { background: var(--lavender); }
.path-card > span, .choice-card > span, .contact-card > span, .concept > span { display: block; margin-bottom: 64px; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.path-card h3 { font-size: 2.2rem; }

.faq-section { padding: 140px 0; background: var(--cream); }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.faq-heading { position: sticky; top: 40px; align-self: start; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; font-family: Georgia, serif; font-size: 1.55rem; list-style: none; }
.faq-list summary::after { content: "+"; font-family: Inter, sans-serif; font-size: 1.3rem; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list details p { max-width: 690px; padding-bottom: 30px; }

.closing-section { padding: 150px 0; color: white; background: var(--wine); }
.closing-inner { max-width: 910px; text-align: center; }
.closing-inner h2 { margin-bottom: 26px; }
.closing-inner > p:last-of-type { max-width: 670px; margin-inline: auto; font-size: 1.14rem; }
.closing-inner .button { border-color: var(--cream); color: var(--ink); background: var(--cream); }
.botric-close { background: var(--coral); }

.site-footer { padding: clamp(82px, 9vw, 132px) 0 34px; color: #263039; background: #fff; border-top: 1px solid #e5e9ec; }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, .75fr)); gap: clamp(42px, 7vw, 116px); padding-bottom: clamp(70px, 8vw, 112px); }
.wordmark-footer { margin-bottom: 25px; color: var(--wine); }
.wordmark-footer span:last-child { color: #a33822; }
.footer-grid h2 { margin-bottom: 22px; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 1rem; font-weight: 650; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; }
.footer-brand > p:not(.partner-line) { max-width: 270px; margin-bottom: 22px; color: #59666e; font-size: .94rem; line-height: 1.6; }
.footer-grid a:not(.wordmark) { min-height: 44px; display: inline-flex; align-items: center; color: #59666e; font-size: .9rem; line-height: 1.3; text-decoration: none; transition: color .2s ease, text-decoration-color .2s ease; }
.footer-choice { min-height: 44px; padding: 0; border: 0; color: #59666e; background: transparent; font: inherit; font-size: .9rem; line-height: 1.3; text-align: left; cursor: pointer; transition: color .2s ease, text-decoration-color .2s ease; }
.footer-choice:hover, .footer-choice:focus-visible { color: #1250c2; text-decoration: underline; text-underline-offset: 5px; }
.footer-grid a:not(.wordmark):hover, .footer-grid a:not(.wordmark):focus-visible { color: #1250c2; text-decoration: underline; text-underline-offset: 5px; }
.partner-line { color: #59666e; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.legal-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 28px; padding-top: 29px; border-top: 1px solid #e5e9ec; color: #69747b; font-size: .72rem; line-height: 1.5; text-align: center; }
.footer-reveal { opacity: 1; transform: none; }
.footer-motion-ready .footer-reveal { opacity: 0; transform: translateY(18px); transition: opacity .44s cubic-bezier(.2,.75,.3,1), transform .44s cubic-bezier(.2,.75,.3,1); }
.footer-motion-ready .footer-reveal.visible, .footer-motion-ready .footer-reveal:focus-within { opacity: 1; transform: none; }
.footer-motion-ready .footer-grid > .footer-reveal:nth-child(2) { transition-delay: .08s; }
.footer-motion-ready .footer-grid > .footer-reveal:nth-child(3) { transition-delay: .16s; }
.footer-motion-ready .legal-row.footer-reveal { transition-delay: .12s; }
.analytics-consent { position: fixed; right: clamp(14px, 2.5vw, 34px); bottom: clamp(14px, 2.5vw, 34px); z-index: 1000; width: min(580px, calc(100vw - 28px)); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: end; padding: 22px; border: 1px solid rgba(29, 42, 50, .18); border-radius: 18px; color: #263039; background: rgba(255, 255, 255, .98); box-shadow: 0 20px 65px rgba(29, 42, 50, .18); opacity: 0; transform: translateY(14px); transition: opacity .24s ease, transform .24s cubic-bezier(.2, .75, .3, 1); }
.analytics-consent[hidden] { display: none; }
.analytics-consent.is-visible { opacity: 1; transform: none; }
.analytics-consent strong { display: block; margin-bottom: 7px; font-size: .98rem; }
.analytics-consent p { max-width: 430px; margin: 0 0 7px; color: #59666e; font-size: .8rem; line-height: 1.55; }
.analytics-consent a { color: #31424c; font-size: .77rem; text-underline-offset: 3px; }
.analytics-consent-actions { display: flex; gap: 8px; }
.analytics-consent-actions button { min-height: 42px; padding: 0 15px; border: 1px solid #1d2a32; border-radius: 999px; background: transparent; color: #1d2a32; font: 700 .78rem/1 Inter, ui-sans-serif, system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.analytics-consent-actions [data-analytics-accept] { border-color: #1250c2; background: #1250c2; color: #fff; }
.analytics-consent-actions button:hover { transform: translateY(-1px); }
.analytics-consent-actions button:focus-visible { outline: 3px solid rgba(18, 80, 194, .26); outline-offset: 2px; }

.page-hero { padding: 130px 0 110px; border-bottom: 1px solid var(--line); background: var(--rose); }
.page-hero h1 { margin-bottom: 28px; }
.page-hero .lede { max-width: 770px; }
.review-hero { background: var(--lavender); }.web-page-hero { background: var(--cream); }.ai-page-hero { color: white; background: var(--plum); }.case-hero { background: var(--coral); }.work-hero { background: var(--rose); }.how-hero { background: var(--gold); }.contact-hero { background: var(--lavender); }.disclosure-hero, .policy-hero { background: var(--cream); }

.review-deliverable, .question-section, .scope-section, .choice-section, .labels-section, .below-fold, .case-story, .case-work, .contact-section, .prose-section, .steps-section, .concepts { padding: 130px 0; }
.deliverable-grid { display: grid; grid-template-columns: 1fr .9fr; align-items: start; gap: 90px; }
.deliverable-copy > p:not(.kicker) { max-width: 620px; font-size: 1.1rem; }
.number-list { display: grid; gap: 24px; padding: 0; margin: 42px 0 0; list-style: none; }
.number-list li { display: grid; grid-template-columns: 52px 1fr; gap: 18px; }
.number-list li > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--wine); font-weight: 800; }
.number-list p { margin: 4px 0 0; }
.mini-report { padding: 38px; border-radius: var(--radius); color: white; background: var(--plum); box-shadow: var(--shadow); transform: rotate(1.5deg); }
.report-tab { display: inline-block; margin-bottom: 36px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.mini-report h3 { font-size: 2.7rem; }
.report-bar { margin: 26px 0; }
.report-bar span { display: block; margin-bottom: 8px; font-size: .78rem; font-weight: 800; }
.report-bar i { display: block; height: 10px; border-radius: 99px; background: var(--coral); }
.report-bar .bar-74 { width: 74%; }
.report-bar .bar-48 { width: 48%; }
.report-bar .bar-61 { width: 61%; }
.report-bar .bar-36 { width: 36%; }
.mini-report > p:last-child { margin: 34px 0 0; color: rgba(255,255,255,.7); font-size: .76rem; }
.case-strip { padding: 80px 0; color: white; background: var(--wine); }
.case-strip-inner { display: flex; align-items: end; justify-content: space-between; gap: 70px; }
.case-strip-inner > div { max-width: 780px; }
.case-strip h2 { font-size: clamp(2.4rem, 4vw, 4.4rem); }

.form-section { padding: 140px 0; background: var(--paper); }
.form-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: 90px; }
.form-intro { position: sticky; top: 30px; }
.form-intro > p:not(.kicker):not(.form-assurance) { font-size: 1.12rem; }
.form-assurance { padding-top: 24px; border-top: 1px solid var(--line); font-size: .85rem; font-weight: 750; }
.form-card { padding: 42px; border-radius: var(--radius); background: var(--cream); box-shadow: var(--shadow); }
.field { margin-bottom: 24px; }
.field label, .field legend { display: block; margin-bottom: 9px; font-size: .83rem; font-weight: 800; }
.field label span { font-weight: 500; }
.field input[type="text"], .field input[type="url"], .field input[type="email"], .field > input { width: 100%; min-height: 56px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: white; }
.concern-field { padding: 0; border: 0; }
.concern-field > label { display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 13px; min-height: 70px; padding: 12px 15px; margin: 8px 0; border: 1px solid var(--line); border-radius: 14px; background: white; cursor: pointer; }
.concern-field input { width: 20px; height: 20px; accent-color: var(--wine); }
.concern-field strong, .concern-field small { display: block; }.concern-field small { margin-top: 2px; font-weight: 500; }
.partner-consent { margin: 24px 0; padding: 18px; border-radius: 14px; background: rgba(184,166,223,.35); }
.partner-consent label { display: grid; grid-template-columns: 22px 1fr; align-items: start; gap: 12px; font-size: .84rem; }
.partner-consent input { width: 19px; height: 19px; margin-top: 3px; accent-color: var(--wine); }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-button { width: 100%; }
.form-note, .form-status { margin: 16px 0 0; font-size: .77rem; }
.form-status { min-height: 24px; font-weight: 750; }

.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 34px; }
.detail-grid div { padding: 20px; border-top: 3px solid var(--coral); background: var(--paper); }
.detail-grid p { margin: 6px 0 0; font-size: .84rem; }
.search-foundation, .botric-work, .case-metrics { padding: 140px 0; background: var(--paper); }
.foundation-grid, .work-grid, .case-work-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }
.foundation-grid article, .work-grid article, .case-work-list article { min-height: 310px; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: var(--cream); }
.foundation-grid span, .work-grid span, .case-work-list span { display: block; margin-bottom: 70px; color: var(--coral); font-weight: 900; }
.scope-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.scope-heading { position: sticky; top: 30px; align-self: start; }
.scope-list { display: grid; gap: 12px; }
.scope-list article { display: grid; grid-template-columns: 100px 1fr 1.2fr; align-items: center; gap: 20px; padding: 26px 0; border-top: 1px solid var(--line); }
.scope-list article:last-child { border-bottom: 1px solid var(--line); }
.scope-list span { font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.scope-list h3, .scope-list p { margin: 0; }
.process-section { padding: 140px 0; color: white; background: var(--wine); }
.process-line { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 0; margin: 60px 0 0; list-style: none; background: rgba(255,255,255,.2); }
.process-line li { min-height: 310px; padding: 28px; background: var(--wine); }
.process-line li > span { display: block; margin-bottom: 80px; color: var(--rose); font-weight: 800; }
.process-line p { color: rgba(255,255,255,.72); }

.question-section { background: var(--cream); }
.question-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 90px; }
.question-card { position: relative; padding: 50px; border-radius: var(--radius); color: white; background: var(--coral); box-shadow: var(--shadow); }
.question-card p { max-width: 440px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.3); font-family: Georgia, serif; font-size: 1.5rem; line-height: 1.25; }
.question-card p:last-child { border-bottom: 0; }
.question-mark { position: absolute; top: -60px; right: 20px; font-family: Georgia, serif; font-size: 10rem; opacity: .22; }
.question-copy p:not(.kicker) { font-size: 1.08rem; }
.botric-work { background: var(--lavender); }
.work-grid article { background: rgba(255,255,255,.46); }
.choice-section { background: var(--paper); }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; align-items: stretch; }
.choice-heading { padding-right: 40px; }
.choice-card { min-height: 410px; display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.choice-card.featured { color: white; background: var(--wine); }
.choice-card .button, .choice-card .text-link { margin-top: auto; align-self: flex-start; }

.story-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: start; gap: 90px; }
.story-copy p:not(.kicker) { font-size: 1.08rem; }
.quote-card { margin: 0; padding: 46px; border-radius: var(--radius); color: white; background: var(--wine); box-shadow: var(--shadow); }
.quote-card p { font-family: Georgia, serif; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.18; }
.quote-card cite { font-size: .78rem; font-style: normal; text-transform: uppercase; letter-spacing: .08em; }
.metric-grid-five { grid-template-columns: repeat(5,1fr); }
.metric-grid-five .metric { min-height: 230px; }
.metric-grid-five .metric strong { font-size: clamp(2.8rem, 4.4vw, 5rem); }
.case-work { background: var(--cream); }
.case-work-heading { max-width: 850px; margin-bottom: 64px; }
.case-work-list { margin-bottom: 42px; }

.concepts { background: var(--paper); }
.concept-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.concept { min-height: 560px; display: flex; flex-direction: column; padding: 26px; border-radius: var(--radius); overflow: hidden; }
.concept-shape { min-height: 250px; margin-bottom: 34px; border-radius: 50% 50% 18px 18px; }
.concept h2 { margin-top: auto; font-size: 3.2rem; }
.concept-editorial { background: var(--rose); }.concept-editorial .concept-shape { background: radial-gradient(circle at 60% 45%, var(--coral) 0 18%, transparent 19%), linear-gradient(130deg, var(--wine) 0 45%, var(--cream) 46%); }
.concept-clinical { background: var(--cream); }.concept-clinical .concept-shape { border: 1px solid var(--line); background: linear-gradient(145deg, white 0 55%, var(--lavender) 56%); }
.concept-fashion { color: white; background: var(--plum); }.concept-fashion .concept-shape { background: linear-gradient(25deg, var(--coral) 0 40%, var(--gold) 41% 57%, var(--wine) 58%); }
.labels-section { background: var(--lavender); }
.label-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.label-key > div { display: grid; grid-template-columns: 18px 150px 1fr; gap: 14px; padding: 22px 0; border-top: 1px solid rgba(37,25,27,.2); }
.key-dot { width: 12px; height: 12px; margin-top: 7px; border-radius: 50%; }.key-dot.client { background: var(--wine); }.key-dot.owned { background: var(--coral); }.key-dot.study { background: var(--gold); }
.below-fold { background: var(--cream); }
.below-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 90px; }
.browser-frame { padding: 12px; border-radius: 24px; background: var(--ink); box-shadow: var(--shadow); transform: rotate(-2deg); }
.browser-top { display: flex; gap: 6px; padding: 7px; }.browser-top i { width: 8px; height: 8px; border-radius: 50%; background: var(--rose); }
.browser-body { min-height: 440px; padding: 26px; border-radius: 14px; background: var(--paper); }
.mock-nav { width: 100%; height: 28px; margin-bottom: 20px; border-radius: 8px; background: var(--rose); }
.mock-hero { width: 100%; height: 220px; border-radius: 140px 18px 18px 18px; background: linear-gradient(125deg, var(--wine), var(--coral)); }
.mock-columns { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 16px; }.mock-columns span { height: 110px; border-radius: 10px; background: var(--cream); }

.steps-section { background: var(--paper); }
.big-steps { padding: 0; margin: 0; list-style: none; }
.big-steps li { display: grid; grid-template-columns: 120px 1fr; gap: 40px; padding: 58px 0; border-top: 1px solid var(--line); }
.big-steps li:last-child { border-bottom: 1px solid var(--line); }
.big-steps li > span { color: var(--coral); font-family: Georgia, serif; font-size: 3.4rem; }
.big-steps h2 { margin-bottom: 14px; font-size: clamp(2.2rem, 4vw, 4.2rem); }
.big-steps p { max-width: 700px; font-size: 1.08rem; }

.contact-section { background: var(--paper); }
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.contact-card { min-height: 480px; display: flex; flex-direction: column; padding: 38px; border-radius: var(--radius); background: var(--rose); text-decoration: none; transition: transform .25s ease; }
.contact-card:hover { transform: translateY(-5px); }
.contact-card h2 { font-size: 4.3rem; }
.contact-card strong { margin-top: auto; text-decoration: underline; text-underline-offset: 6px; }
.dark-card { color: white; background: var(--plum); }
.prose-section { background: var(--paper); }
.prose { max-width: 860px; }
.prose h2 { margin: 70px 0 20px; font-size: clamp(2rem, 3.4vw, 3.4rem); }
.prose h2:first-child { margin-top: 0; }
.prose p { font-size: 1.06rem; }

.thank-you { min-height: 72vh; display: grid; place-items: center; padding: 110px 0; background: var(--lavender); }
.thank-you-inner { max-width: 900px; text-align: center; }
.thank-you h1 { margin-inline: auto; }
.thank-you .lede { margin-inline: auto; }
.route-card { max-width: 620px; margin: 55px auto 0; padding: 34px; border-radius: var(--radius); background: rgba(255,255,255,.7); box-shadow: var(--shadow); }
.route-card h2 { font-size: 2.5rem; }
.reference-line { margin-top: 24px; font-size: .77rem; }

.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.motion-ready .reveal.visible { opacity: 1; transform: translateY(0); }

/* Approved supporting-page signature system */
.signature-page { --signature-blue: #1250c2; --signature-ink: #172735; --signature-paper: #fbf8f4; --signature-ease: cubic-bezier(.05,.7,.1,1); background: var(--signature-paper); color: var(--signature-ink); }
.signature-page .site-header { background: rgba(251,248,244,.92); }
.signature-page .page-hero { position: relative; overflow: hidden; padding: clamp(110px,13vw,190px) 0 clamp(80px,9vw,132px); background: #eaf0ff; }
.signature-page .page-hero::after { content: ""; position: absolute; width: min(42vw,600px); aspect-ratio: 1; right: -8vw; bottom: -46%; border-radius: 50%; background: radial-gradient(circle at 32% 28%, #fff 0 2%, #b9c8ee 28%, #6f88c7 64%, #1250c2 100%); opacity: .9; }
.signature-page .page-hero .shell { position: relative; z-index: 1; }
.signature-page .ai-page-hero { color: #fff; background: #163e99; }.signature-page .ai-page-hero::after { background: radial-gradient(circle at 32% 28%, #fff 0 2%, #f0ad9d 26%, #d07073 60%, #6f3d86 100%); opacity: .78; }
.signature-page .work-hero { background: #f6ede3; }.signature-page .review-hero { background: #e8edfb; }
.signature-page h1, .signature-page h2, .signature-page h3 { color: inherit; }
.signature-page .page-hero h1 { max-width: 980px; letter-spacing: -.055em; }.signature-page .page-hero .lede { max-width: 650px; color: #405164; font-size: clamp(1.05rem,1.6vw,1.3rem); }.signature-page .ai-page-hero .lede { color: rgba(255,255,255,.82); }
.signature-sweep { position: relative; overflow: hidden; min-width: min(100%,330px); display: inline-flex; align-items: center; justify-content: center; gap: 20px; border: 1.5px solid var(--signature-blue); color: var(--signature-blue); background: transparent; isolation: isolate; transition: color 200ms var(--signature-ease), border-color 200ms var(--signature-ease), box-shadow 200ms var(--signature-ease); }
.signature-sweep::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--signature-blue); transform: translateX(-102%); transition: transform 200ms var(--signature-ease); }
.signature-sweep b { font-size: 1.45em; font-weight: 400; line-height: .7; transition: transform 200ms var(--signature-ease); }.signature-sweep:hover, .signature-sweep:focus-visible { color: #fff; border-color: var(--signature-blue); box-shadow: 0 14px 28px rgba(18,80,194,.16); }.signature-sweep:hover::before, .signature-sweep:focus-visible::before { transform: translateX(0); }.signature-sweep:hover b, .signature-sweep:focus-visible b { transform: translateX(4px); }
.signature-page [data-sm-sequence] { opacity:1; }.sm-enhanced .signature-page [data-sm-sequence].is-prepared [data-sm-beat],.sm-enhanced .signature-page [data-sm-sequence].is-running [data-sm-beat] { opacity:1 !important; transform:none !important; transition:none !important; animation:none !important; }
.signature-report, .website-showcase, .ai-answers, .work-gallery { padding: clamp(92px,11vw,160px) 0; background: #fff; }.signature-report-grid, .website-showcase-grid, .ai-answer-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(45px,8vw,130px); }.signature-report-grid h2, .website-copy h2, .ai-answer-grid h2, .work-gallery-copy h2 { max-width: 620px; }.signature-report-grid p:not(.kicker), .website-copy p:not(.kicker), .ai-answer-grid p:not(.kicker), .work-gallery-copy p:not(.kicker) { max-width: 560px; font-size: 1.08rem; }
.review-preview { padding: clamp(26px,4vw,48px); border: 1px solid #bdc9e1; border-radius: 28px; background: linear-gradient(135deg,#123f9a,#2a61c4); color: #fff; box-shadow: 0 30px 65px rgba(15,47,113,.18); }.review-preview > div { display:flex; justify-content:space-between; align-items:center; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.28); }.review-preview > div span { font-size:.7rem; font-weight:800; letter-spacing:.12em; }.review-preview > div b { font-size:1.4rem; }.review-preview h3 { margin:36px 0 20px; color:#fff; font-size:clamp(2rem,3.5vw,3.4rem); }.review-preview ol { padding:0; margin:0; list-style:none; }.review-preview li { display:grid; gap:4px; padding:15px 0; border-top:1px solid rgba(255,255,255,.22); }.review-preview li span, .review-preview small { color:rgba(255,255,255,.7); }.review-preview small { display:block; margin-top:24px; font-size:.72rem; }
.review-path, .search-story { padding:clamp(92px,11vw,160px) 0; background:#f2f6ff; }.review-path-intro, .search-story header { max-width:720px; }.review-path-grid, .search-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:68px; background:#c4d0e8; }.review-path-grid article, .search-story-grid article { min-height:280px; padding:28px; background:#f2f6ff; }.review-path-grid span, .search-story-grid span { color:var(--signature-blue); font-weight:850; }.review-path-grid h3, .search-story-grid h3 { margin-top:70px; font-size:2rem; }
.signature-form { background:#fff; }.signature-form .form-card { border:1px solid #d6dfef; box-shadow:0 22px 52px rgba(13,50,118,.1); }.signature-form .form-button { border-color:var(--signature-blue); background:var(--signature-blue); }.signature-form .form-button:hover { background:#0d3e9d; }.signature-form input:focus-visible, .signature-form label:has(input:focus-visible) { outline-color:var(--signature-blue); }
.website-showcase { background:#fbf7f2; }.website-window { padding:11px; border:1px solid #b9c6df; border-radius:28px; background:#102d68; box-shadow:0 35px 75px rgba(18,48,108,.18); }.window-bar { display:flex; align-items:center; gap:6px; height:28px; padding:0 8px; color:rgba(255,255,255,.65); font-size:.62rem; }.window-bar i { width:7px; height:7px; border-radius:50%; background:#d7dff1; }.window-bar span { margin-left:8px; }.window-canvas { position:relative; min-height:510px; overflow:hidden; padding:45px; border-radius:18px; color:#18283d; background:linear-gradient(140deg,#f4ddd7 0 40%,#d5d5eb 40% 100%); }.window-canvas p { font-size:.64rem; font-weight:850; letter-spacing:.15em; }.window-canvas strong { position:relative; z-index:1; display:block; margin-top:100px; font-family:"Instrument Serif",Georgia,serif; font-size:clamp(4rem,7vw,7rem); font-weight:400; line-height:.78; }.window-canvas em { display:block; margin-top:30px; font-style:normal; font-size:.9rem; }.window-canvas div { position:absolute; right:-13%; bottom:-22%; width:68%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 30% 23%,#fff 0 3%,#e6a797 26%,#b26968 58%,#662d71 100%); }
.booking-story { padding:clamp(92px,11vw,160px) 0; background:#fff; }.booking-story header { max-width:650px; }.booking-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:65px; }.booking-story-grid article { padding:20px; border:1px solid #d7dfeb; border-radius:20px; background:#fbfcff; }.booking-story-grid > article > span { color:var(--signature-blue); font-size:.75rem; font-weight:850; }.screen { min-height:270px; display:flex; flex-direction:column; justify-content:flex-end; gap:13px; margin:16px 0 22px; padding:22px; border-radius:14px; }.screen b { font-family:"Instrument Serif",Georgia,serif; font-size:2.5rem; line-height:.95; }.screen small { max-width:220px; font-size:.72rem; }.screen-treatment { background:linear-gradient(130deg,#e9c8c4,#b9c8ec); }.screen-proof { color:#fff; background:linear-gradient(135deg,#1b428c,#6c4c88); }.screen-book { background:linear-gradient(135deg,#f4e3d5,#fff); border:1px solid #d7dfeb; }.booking-story-grid h3 { margin-bottom:7px; font-size:1.9rem; }
.website-foundation { padding:clamp(92px,11vw,160px) 0; background:#e9effc; }.foundation-signature-grid, .work-annotation-grid, .ai-proof-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(44px,8vw,124px); }.foundation-visual, .annotation-visual { position:relative; min-height:570px; overflow:hidden; border-radius:190px 190px 24px 24px; padding:48px; }.foundation-visual { color:#fff; background:linear-gradient(145deg,#153d91,#2a61c4 52%,#c9d7ef 52%); }.annotation-visual { color:#1a2543; background:linear-gradient(140deg,#f0d8d2,#f6eee7 50%,#c7d2ec 50%); }.foundation-visual span, .annotation-visual span { position:relative; z-index:1; font-size:.7rem; font-weight:850; letter-spacing:.14em; }.foundation-visual b, .annotation-visual b { position:relative; z-index:1; display:block; margin-top:185px; font-family:"Instrument Serif",Georgia,serif; font-size:clamp(4rem,7vw,7rem); font-weight:400; line-height:.78; }.foundation-visual i, .annotation-visual i { position:absolute; width:74%; aspect-ratio:1; right:-15%; bottom:-17%; border-radius:50%; }.foundation-visual i { background:radial-gradient(circle at 30% 24%,#fff 0 2%,#d6e2ff 23%,#7290d2 58%,#1a3e91 100%); }.annotation-visual i { background:radial-gradient(circle at 30% 24%,#fff 0 2%,#eca291 25%,#9b566c 56%,#593b81 100%); }.foundation-signature-grid ul, .work-annotation-grid ul { display:grid; gap:13px; padding:0; margin:31px 0 0; list-style:none; }.foundation-signature-grid li, .work-annotation-grid li { padding:14px 0; border-top:1px solid rgba(18,80,194,.25); font-weight:750; }
.ai-answers { color:#fff; background:#163e99; }.ai-answers p { color:rgba(255,255,255,.78); }.answer-canvas { padding:16px; border-radius:26px; background:#fff; color:#183257; box-shadow:0 35px 70px rgba(5,18,56,.25); }.answer-query { padding:17px; border-radius:15px; background:#edf2ff; font-weight:750; }.answer-source { margin-top:12px; padding:23px; border-radius:15px; border:1px solid #d7e0f3; }.answer-source b { color:var(--signature-blue); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }.answer-source p { color:#405164; line-height:1.55; }.answer-source span { display:block; margin-top:25px; font-size:.7rem; font-weight:800; }.answer-source i { display:inline-grid; width:28px; height:28px; place-items:center; margin:11px 7px 0 0; border-radius:50%; color:#fff; background:#2a61c4; font-style:normal; font-size:.7rem; font-weight:800; }
.ai-proof { padding:clamp(92px,11vw,160px) 0; background:#fff4ee; }.proof-numbers { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#d8b8b8; }.proof-numbers > div { min-height:220px; display:flex; flex-direction:column; justify-content:flex-end; padding:25px; background:#fff4ee; }.proof-numbers strong { font-family:"Instrument Serif",Georgia,serif; font-size:clamp(3.8rem,7vw,7rem); line-height:.8; }.proof-numbers span { margin-top:15px; font-weight:750; }.proof-numbers p { grid-column:1 / -1; margin:0; padding:18px 25px; background:#fff4ee; font-size:.75rem; }.ai-close { color:#fff; background:#163e99; }.ai-close .kicker { color:#c8d8ff; }
.work-gallery { background:#fff; }.work-gallery-copy { max-width:720px; }.work-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:60px; }.work-study { min-height:500px; display:flex; flex-direction:column; padding:20px; border-radius:22px; overflow:hidden; }.work-study span { font-size:.67rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }.work-study > div { position:relative; flex:1; min-height:330px; margin:22px 0; overflow:hidden; border-radius:15px; }.work-study b { position:relative; z-index:1; display:block; padding:28px; font-family:"Instrument Serif",Georgia,serif; font-size:3.2rem; font-weight:400; line-height:.79; }.work-study i { position:absolute; width:72%; aspect-ratio:1; right:-15%; bottom:-11%; border-radius:50%; }.work-study h3 { font-size:1.9rem; }.study-one { background:#f3e3dc; }.study-one > div { background:#e1b9b5; }.study-one i { background:radial-gradient(circle at 30% 25%,#fff,#dd937f 38%,#74364a 78%); }.study-two { background:#eef2f8; }.study-two > div { color:#17336d; background:linear-gradient(135deg,#f7fbff,#c9d7ef); }.study-two i { background:#2a61c4; }.study-three { color:#fff; background:#211d3b; }.study-three > div { background:linear-gradient(130deg,#bb6d6f,#77497c); }.study-three i { background:radial-gradient(circle at 30% 22%,#fff,#f1ac92 31%,#823757 70%); }
.work-annotation { padding:clamp(92px,11vw,160px) 0; background:#f7f4f0; }.work-benchmark { padding:clamp(92px,11vw,160px) 0; background:#e9effc; }.work-benchmark > .shell > p { max-width:640px; color:#526174; font-size:.8rem; }.benchmark-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:58px 0 23px; background:#b6c5e0; }.benchmark-row div { min-height:210px; display:flex; flex-direction:column; justify-content:flex-end; padding:22px; background:#e9effc; }.benchmark-row b { color:var(--signature-blue); font-family:"Instrument Serif",Georgia,serif; font-size:clamp(3.5rem,6vw,6.2rem); line-height:.75; }.benchmark-row span { margin-top:16px; font-weight:800; }
.signature-close { padding:clamp(94px,12vw,180px) 0; background:#f5eee7; }.signature-close .shell { max-width:1050px; }.signature-close h2 { max-width:820px; }.signature-close p:not(.kicker) { max-width:610px; font-size:1.08rem; }.signature-close .signature-sweep { margin-top:24px; }

@media (max-width: 980px) {
  :root { --shell: min(100% - 34px, 820px); }
  .site-header .button-small { display: none; }
  .menu-button { display: inline-flex; margin-left: auto; }
  .nav-links { position: absolute; top: 92px; left: 17px; right: 17px; display: none; flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100dvh - 110px); overflow-y: auto; padding: 18px; border-radius: 18px; background: var(--nav-surface, var(--paper)); box-shadow: var(--shadow); }
  .nav-links.open { display: flex; }
  html:not(.motion-ready) .nav-links { position: static; display: flex; margin-left: auto; box-shadow: none; }
  .nav-links > a { padding: 4px 10px; }
  .nav-trigger { display: none; }
  .nav-mobile-heading { display: block; padding: 5px 10px 7px; color: var(--nav-accent, var(--wine)); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
  .nav-panel, .nav-panel[hidden] { position: static; display: grid; width: 100%; padding: 0 0 8px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
  .nav-links .nav-panel a { min-height: 48px; padding: 8px 10px; }
  .nav-links .nav-mobile-action { display: inline-flex; width: 100%; justify-content: center; margin-top: 15px; padding: 10px 18px; border: 1.5px solid var(--ink); border-radius: 100px; color: var(--ink); }
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .hero-image { grid-row: 1; min-height: 520px; }
  .hero-image img { object-position: 72% 38%; }
  .hero-copy { padding: 70px 24px 80px; }
  .hero h1 { font-size: clamp(3.3rem, 12vw, 6rem); }
  .review-grid, .image-split, .image-split.reverse, .botric-grid, .faq-grid, .deliverable-grid, .form-grid, .question-grid, .scope-grid, .story-grid, .label-grid, .below-grid { grid-template-columns: 1fr; }
  .faq-heading, .form-intro, .scope-heading { position: static; }
  .search-orbit { min-height: 500px; }
  .metric-grid-five { grid-template-columns: repeat(2, 1fr); }
  .foundation-grid, .work-grid, .case-work-list, .process-line { grid-template-columns: repeat(2, 1fr); }
  .choice-grid { grid-template-columns: 1fr 1fr; }
  .choice-heading { grid-column: 1 / -1; }
  .concept-grid { grid-template-columns: 1fr; }
  .signature-report-grid, .website-showcase-grid, .ai-answer-grid, .foundation-signature-grid, .work-annotation-grid, .ai-proof-grid { grid-template-columns: 1fr; }
  .foundation-visual, .annotation-visual { min-height: 500px; }
  .work-gallery-grid { grid-template-columns: 1fr 1fr; }
  .work-gallery-grid article:last-child { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .analytics-consent { grid-template-columns: 1fr; gap: 15px; padding: 19px; }
  .analytics-consent-actions { justify-content: flex-end; }
  body { font-size: 16px; }
  .nav-row { min-height: 78px; }
  .nav-links { top: 78px; }
  .hero-image { min-height: 430px; }
  .hero-image img { object-position: 73% 38%; }
  .hero-copy { padding-top: 58px; }
  .hero h1, h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
  h2 { font-size: clamp(2.45rem, 12vw, 4rem); }
  .two-places, .review-section, .websites-section, .botric-band, .proof-section, .path-section, .faq-section, .closing-section, .review-deliverable, .question-section, .scope-section, .choice-section, .labels-section, .below-fold, .case-story, .case-work, .contact-section, .prose-section, .steps-section, .concepts, .search-foundation, .botric-work, .case-metrics, .form-section, .visual-proof { padding: 88px 0; }
  .page-hero { padding: 88px 0 74px; }
  .place-grid, .path-grid, .metric-grid, .contact-grid, .choice-grid { grid-template-columns: 1fr; }
  .place-card { min-height: 420px; padding: 28px; }
  .place-card h3 { margin-top: 78px; }
  .review-grid, .image-split, .botric-grid, .faq-grid, .deliverable-grid, .form-grid, .question-grid, .scope-grid, .story-grid, .label-grid, .below-grid { gap: 54px; }
  .portrait-frame { min-height: 560px; border-radius: 120px 120px 24px 24px; }
  .search-orbit { min-height: 340px; }
  .orbit-center { width: 108px; height: 108px; font-size: .75rem; }
  .orbit-pill { padding: 9px 12px; font-size: .68rem; }
  .metric { min-height: 220px; }
  .faq-list summary { font-size: 1.28rem; }
  .case-strip-inner { align-items: flex-start; flex-direction: column; gap: 20px; }
  .form-card, .mini-report { padding: 26px; }
  .detail-grid, .foundation-grid, .work-grid, .case-work-list, .process-line { grid-template-columns: 1fr; }
  .scope-list article { grid-template-columns: 1fr; gap: 8px; }
  .process-line li { min-height: 240px; }.process-line li > span { margin-bottom: 42px; }
  .metric-grid-five { grid-template-columns: 1fr; }
  .label-key > div { grid-template-columns: 18px 1fr; }.label-key p { grid-column: 2; }
  .big-steps li { grid-template-columns: 1fr; gap: 12px; padding: 42px 0; }
  .contact-card { min-height: 390px; }.contact-card h2 { font-size: 3.2rem; }
  .site-footer { padding: 76px 0 27px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 44px 22px; padding-bottom: 65px; }.footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-grid h2 { margin-bottom: 15px; }
  .legal-row { flex-direction: column; gap: 10px; }
  .signature-page .page-hero { padding: 88px 0 76px; }
  .signature-page .page-hero::after { width: 300px; right: -120px; bottom: -120px; }
  .review-path-grid, .search-story-grid, .booking-story-grid, .work-gallery-grid, .benchmark-row, .proof-numbers { grid-template-columns: 1fr; }
  .work-gallery-grid article:last-child, .proof-numbers p { grid-column: auto; }
  .review-path-grid article, .search-story-grid article { min-height: 190px; }
  .review-path-grid h3, .search-story-grid h3 { margin-top: 45px; }
  .window-canvas { min-height: 390px; padding: 28px; }.window-canvas strong { margin-top: 68px; }
  .booking-story-grid { gap: 12px; }.screen { min-height: 210px; }
  .foundation-visual, .annotation-visual { min-height: 440px; padding: 30px; border-radius: 120px 120px 22px 22px; }.foundation-visual b, .annotation-visual b { margin-top: 145px; }
  .work-study { min-height: 390px; }.work-study > div { min-height: 245px; }.work-study b { font-size: 2.7rem; }
  .benchmark-row div, .proof-numbers > div { min-height: 160px; }
  .signature-sweep { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .analytics-consent { transition: none; }
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .motion-ready .reveal { opacity: 1; transform: none; }
  .footer-motion-ready .footer-reveal { opacity: 1; transform: none; transition: none; }
  .sm-enhanced .signature-page [data-sm-beat] { opacity: 1; transform: none; transition: none; }
}

/* Supporting-page correction: preserve the approved warm, image-led Med Spa Audit direction. */
.signature-page { --signature-blue:#075af5; --signature-ink:#17191d; --signature-paper:#fffdf9; background:var(--signature-paper); color:var(--signature-ink); }
.home-page.signature-page { --sm-arrival-pause:40; }
.signature-page .site-header { background:rgba(255,253,249,.9); border-color:rgba(27,25,23,.1); }
.signature-page .page-hero { min-height:clamp(670px,55vw,870px); display:flex; align-items:center; padding:clamp(126px,11vw,175px) 0 clamp(88px,8vw,130px); background:#fffdf9; color:#17191d; isolation:isolate; }
.signature-page .page-hero::before { content:""; position:absolute; z-index:-1; inset:0 36% 0 0; background:linear-gradient(90deg,#fffdf9 78%,rgba(255,253,249,.78)); }
.signature-page .page-hero::after { z-index:-2; width:62%; height:100%; right:0; bottom:0; border-radius:0; background:center/cover no-repeat url('/assets/home-hero-owner.webp'); opacity:1; }
.signature-page .review-hero::after { background-image:url('/assets/home-stone.webp'); background-position:72% 48%; }
.signature-page .web-page-hero::after { background-image:url('/assets/home-radiant-study.webp'); background-position:76% center; }
.signature-page .ai-page-hero, .signature-page .work-hero { color:#17191d; background:#fffdf9; }
.signature-page .ai-page-hero::after { background-image:url('/assets/home-clinic-interior.webp'); background-position:70% center; opacity:.68; }
.signature-page .work-hero::after { background-image:url('/assets/home-hero-owner.webp'); background-position:76% center; }
.signature-page .signature-hero-copy { position:relative; z-index:1; max-width:660px; }
.signature-page .page-hero h1 { max-width:650px; color:#17191d; font-size:clamp(4rem,6.25vw,7rem); line-height:.88; letter-spacing:-.065em; }
.signature-page .page-hero .lede { max-width:530px; color:#5b6472; line-height:1.55; }
.signature-page .signature-hero-copy .signature-sweep { margin-top:24px; }
.signature-sweep { min-width:220px; min-height:50px; border:1.5px solid var(--signature-blue); background:transparent; color:var(--signature-blue); box-shadow:none; border-radius:100px; }
.signature-sweep::before { display:none; }.signature-sweep:hover,.signature-sweep:focus-visible { color:#fff; border-color:var(--signature-blue); box-shadow:none; }
.signature-report,.website-showcase,.ai-answers,.work-gallery { background:#fffdf9; }
.signature-report,.website-showcase,.ai-answers,.work-gallery,.review-path,.search-story,.booking-story,.website-foundation,.ai-proof,.work-annotation,.work-benchmark,.signature-close { padding:clamp(126px,14vw,210px) 0; }
.signature-report-grid,.website-showcase-grid,.ai-answer-grid { gap:clamp(56px,9vw,160px); }
.signature-report-grid h2,.website-copy h2,.ai-answer-grid h2,.work-gallery-copy h2 { font-size:clamp(3.2rem,5vw,5.6rem); line-height:.9; letter-spacing:-.055em; }
.review-preview { border-color:#e3dfd8; border-radius:3px; background:#fff; color:#17191d; box-shadow:0 24px 60px rgba(50,39,24,.12); }
.review-preview > div { border-color:#e9e5dc; }.review-preview li { border-color:#e9e5dc; }.review-preview h3 { color:#17191d; }.review-preview li span,.review-preview small { color:#687084; }
.review-path,.search-story { background:#fff; }.review-path-grid,.search-story-grid { background:#e4e1da; }.review-path-grid article,.search-story-grid article { background:#fff; min-height:320px; }.review-path-grid span,.search-story-grid span { color:var(--signature-blue); }
.website-showcase { background:#fff; }.website-window { border-radius:2px; background:#f8f4ee; border-color:#ded7ce; box-shadow:0 24px 60px rgba(45,33,17,.13); }.window-canvas { border-radius:0; background:linear-gradient(125deg,#eee3d6 0 51%,#d9e1f0 51% 100%); }
.booking-story { background:#fffdf9; }.booking-story-grid { gap:28px; }.booking-story-grid article { border-color:#e1ddd6; border-radius:2px; background:#fff; }.screen { border-radius:0; }.screen-treatment { background:linear-gradient(135deg,#eedfd4,#fff9f1); }.screen-proof { background:linear-gradient(135deg,#dfe6f5,#98b0df); }.screen-book { background:#fffdf9; border-color:#e1ddd6; }
.website-foundation { background:#fff; }.foundation-visual,.annotation-visual { border-radius:0; }.foundation-visual { color:#17191d; background:linear-gradient(135deg,#eee3d6 0 52%,#fbfaf7 52%); }.foundation-visual i { background:radial-gradient(circle at 30% 24%,#fff 0 2%,#d8c4b4 28%,#a76c5e 62%,#6b3e5a 100%); }.annotation-visual { background:linear-gradient(135deg,#f2e8de 0 55%,#fffdf9 55%); }.foundation-signature-grid li,.work-annotation-grid li { border-color:#dfd8cc; }
.ai-answers { color:#17191d; background:#fffdf9; }.ai-answers p { color:#5b6472; }.answer-canvas { border-radius:2px; box-shadow:0 24px 60px rgba(50,39,24,.11); }.answer-query { background:#f3f6fb; }
.ai-proof { background:#fff; }.proof-numbers { background:#e4e1da; }.proof-numbers > div,.proof-numbers p { background:#fff; }.proof-numbers strong { color:#17191d; }
.work-gallery { background:#fffdf9; }.work-gallery-grid { gap:20px; }.work-study { border-radius:2px; }.work-annotation { background:#fff; }.work-benchmark { background:#fffdf9; }.benchmark-row { background:#e2ded6; }.benchmark-row div { background:#fff; min-height:240px; }.benchmark-row b { color:#17191d; }
.signature-close,.ai-close { color:#17191d; background:#fffdf9; }.signature-close p:not(.kicker),.ai-close p { color:#5b6472; }
@media (max-width:680px) { .signature-page .page-hero { min-height:650px; align-items:flex-start; padding-top:115px; }.signature-page .page-hero::before { inset:0; background:linear-gradient(180deg,#fffdf9 56%,rgba(255,253,249,.85)); }.signature-page .page-hero::after { width:100%; height:48%; top:auto; bottom:0; opacity:.66; }.signature-page .page-hero h1 { font-size:clamp(3.5rem,15vw,5.1rem); }.signature-report,.website-showcase,.ai-answers,.work-gallery,.review-path,.search-story,.booking-story,.website-foundation,.ai-proof,.work-annotation,.work-benchmark,.signature-close { padding:94px 0; } }

/* Supporting pages use the live homepage system, with page-specific mockup scenes. */
.signature-page .sp-hero { min-height:clamp(590px,47vw,710px); }
.signature-page .sp-hero .hm-hero-media::before { width:74%; }
.signature-page .sp-hero .hm-hero-media img { object-position:70% center; }
.signature-page .web-page-hero .hm-hero-media img { object-position:75% center; }
.signature-page .ai-page-hero .hm-hero-media img { object-position:73% center; }
.signature-page .review-hero .hm-hero-media img { object-position:65% center; }
.signature-page .sp-hero .hm-hero-copy { width:min(57%,720px); }
.signature-page .sp-hero h1 { max-width:720px; }
.signature-page .signature-sweep { display:inline-flex; align-items:center; justify-content:center; min-height:52px; margin-top:7px; text-decoration:none; }
.signature-page .hm-section { background:#fff; }
.signature-page .hm-section:nth-of-type(odd) { background:#fffdfa; }
.signature-page .sp-devices-split,.signature-page .sp-ai-split,.signature-page .sp-foundation-split,.signature-page .sp-proof-split,.signature-page .sp-annotation-split,.signature-page .sp-benchmark-split { padding:clamp(84px,8vw,132px) 0; }
.signature-page .sp-booking-story,.signature-page .sp-search-work,.signature-page .sp-work-studies { padding:clamp(92px,9vw,148px) 0; }
.signature-page .sp-section-head { max-width:690px; margin-bottom:clamp(45px,6vw,85px); }
.signature-page .sp-section-head h2 { max-width:13ch; margin-bottom:22px; }
.signature-page .sp-section-head p:not(.sp-eyebrow) { max-width:39em; color:#4f5961; font-size:1.05rem; }
.signature-page .sp-phone-steps,.signature-page .sp-search-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.signature-page .sp-phone-steps article,.signature-page .sp-search-steps article { padding:18px 18px 0; border-top:1px solid #dfe3e8; }
.signature-page .sp-phone-steps article>span,.signature-page .sp-search-steps article>span { display:block; margin-bottom:26px; color:var(--hm-blue); font-size:.72rem; font-weight:750; letter-spacing:.13em; }
.signature-page .sp-phone-steps h3,.signature-page .sp-search-steps h3 { margin:22px 0 11px; font-size:2rem; }
.signature-page .sp-phone-steps p,.signature-page .sp-search-steps p { max-width:22em; color:#58616a; font-size:.94rem; }
.signature-page .sp-phone-screen { position:relative; display:grid; align-content:end; min-height:330px; padding:24px; overflow:hidden; color:#22292b; background:#e8dfd5; }
.signature-page .sp-phone-screen::after { content:""; position:absolute; right:-18%; bottom:-17%; width:72%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 30% 28%,#fff 0 2%,#e9a796 29%,#9f5e71 61%,#573567 100%); }
.signature-page .sp-phone-screen>* { position:relative; z-index:1; }
.signature-page .sp-phone-screen b { max-width:7ch; font-family:var(--hm-display); font-size:2.8rem; font-weight:400; line-height:.94; }
.signature-page .sp-phone-screen small { max-width:16em; margin-top:12px; font-size:.76rem; line-height:1.5; }
.signature-page .sp-proof-screen { color:#182d4e; background:#e7eef5; }.signature-page .sp-proof-screen::after { background:radial-gradient(circle at 30% 28%,#fff 0 2%,#9bb5d5 28%,#3768a7 65%,#173a7a 100%); }
.signature-page .sp-book-screen { color:#fff; background:#3b313a; }.signature-page .sp-book-screen::after { background:radial-gradient(circle at 30% 28%,#fff 0 2%,#f1ac92 29%,#b94d54 61%,#6d234e 100%); }
.signature-page .sp-foundation-image { position:relative; min-height:440px; overflow:hidden; background:#e8dfd5; }
.signature-page .sp-foundation-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(24,25,25,.56)); }
.signature-page .sp-foundation-image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.signature-page .sp-foundation-image.is-botanical { background:linear-gradient(135deg,#8f9275,#4f5a45); }.signature-page .sp-foundation-image.is-botanical img { object-fit:contain; object-position:left bottom; opacity:.92; }
.signature-page .sp-foundation-image span { position:absolute; z-index:1; left:30px; bottom:26px; color:#fff; font-family:var(--hm-display); font-size:clamp(2rem,3.2vw,3.8rem); line-height:.95; max-width:9ch; }
.signature-page .sp-list { display:grid; gap:11px; padding:0; margin:24px 0 0; list-style:none; color:#414b54; }
.signature-page .sp-list li { padding-left:22px; position:relative; }.signature-page .sp-list li::before { content:""; position:absolute; left:0; top:.58em; width:8px; height:8px; border:1.5px solid var(--hm-blue); border-radius:50%; }
.signature-page .sp-answer-canvas { padding:16px; border:1px solid #dfe3e8; background:#f8fafc; box-shadow:0 24px 55px rgba(33,40,47,.1); }
.signature-page .sp-query { padding:18px 20px; border:1px solid #dbe2eb; border-radius:28px; background:#fff; color:#25344a; font-size:.92rem; box-shadow:0 3px 12px rgba(36,50,70,.06); }
.signature-page .sp-answer-card { margin-top:14px; padding:28px; background:#fff; border-top:2px solid var(--hm-blue); }
.signature-page .sp-answer-card b { color:var(--hm-blue); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.signature-page .sp-answer-card p { max-width:36em; margin:17px 0 24px; color:#45515c; line-height:1.55; }
.signature-page .sp-answer-card span { display:block; margin-bottom:11px; color:#66717c; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.signature-page .sp-answer-card i { display:inline-grid; width:31px; height:31px; place-items:center; margin-right:7px; border:1px solid #bdcbe3; border-radius:50%; color:var(--hm-blue); font-size:.65rem; font-style:normal; font-weight:750; }
.signature-page .sp-ai-proof .hm-botric-proof { min-height:380px; }.signature-page .sp-ai-proof .hm-proof-content { padding:35px; }
.signature-page .sp-study-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.signature-page .sp-study { min-height:490px; display:flex; flex-direction:column; padding:20px; overflow:hidden; }
.signature-page .sp-study>span { font-size:.66rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.signature-page .sp-study>div { position:relative; flex:1; min-height:315px; margin:22px 0; overflow:hidden; }
.signature-page .sp-study b { position:relative; z-index:1; display:block; padding:27px; font-family:var(--hm-display); font-size:clamp(2.7rem,4vw,4rem); font-weight:400; line-height:.8; }
.signature-page .sp-study i { position:absolute; right:-15%; bottom:-12%; width:72%; aspect-ratio:1; border-radius:50%; }
.signature-page .sp-study h3 { margin:0; font-size:1.7rem; }
.signature-page .sp-study-one { background:#f3e3dc; }.signature-page .sp-study-one>div { background:#e1b9b5; }.signature-page .sp-study-one i { background:radial-gradient(circle at 30% 25%,#fff,#dd937f 38%,#74364a 78%); }
.signature-page .sp-study-two { background:#eef2f8; }.signature-page .sp-study-two>div { color:#17336d; background:linear-gradient(135deg,#f7fbff,#c9d7ef); }.signature-page .sp-study-two i { background:#2a61c4; }
.signature-page .sp-study-three { color:#fff; background:#211d3b; }.signature-page .sp-study-three>div { background:linear-gradient(130deg,#bb6d6f,#77497c); }.signature-page .sp-study-three i { background:radial-gradient(circle at 30% 22%,#fff,#f1ac92 31%,#823757 70%); }.signature-page .sp-study-three h3 { color:#fff; }
.signature-page .sp-browser-annotation { position:relative; padding:10px; overflow:visible; border:7px solid #202528; background:#fff; box-shadow:0 25px 55px rgba(31,35,37,.17); }
.signature-page .sp-browser-bar { display:flex; justify-content:space-between; padding:5px 7px 13px; color:#646b70; font-size:.61rem; letter-spacing:.08em; }.signature-page .sp-browser-bar b { color:#30393e; font-size:.59rem; }
.signature-page .sp-browser-page { position:relative; min-height:360px; padding:35px; overflow:hidden; background:linear-gradient(110deg,#e9ddd1 0 55%,#d2dce8 55%); }
.signature-page .sp-browser-page>*:not(i) { position:relative; z-index:1; }.signature-page .sp-browser-page>span:not(.sp-browser-cta) { color:#234d9a; font-size:.61rem; font-weight:750; letter-spacing:.15em; }.signature-page .sp-browser-page strong { display:block; max-width:8ch; margin-top:32px; font-family:var(--hm-display); font-size:clamp(2.5rem,4vw,4.2rem); font-weight:400; line-height:.86; }.signature-page .sp-browser-page p { max-width:23ch; margin:20px 0; font-size:.83rem; }.signature-page .sp-browser-page .sp-browser-cta { display:inline-flex; padding:11px 16px; border:1px solid var(--hm-blue); color:var(--hm-blue); font-size:.72rem; font-weight:700; letter-spacing:0; }.signature-page .sp-browser-page i { position:absolute; right:-14%; bottom:-26%; width:65%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 28% 25%,#fff 0 2%,#edaa94 27%,#a25065 60%,#563163 100%); }
.signature-page .sp-note { position:absolute; z-index:3; padding:8px 10px; color:#fff; background:var(--hm-blue); font-size:.65rem; font-weight:700; letter-spacing:.03em; }.signature-page .sp-note::after { content:""; position:absolute; width:38px; height:1px; background:var(--hm-blue); }.signature-page .sp-note-one { left:-20px; top:34%; }.signature-page .sp-note-one::after { right:-38px; top:50%; }.signature-page .sp-note-two { right:-38px; bottom:19%; }.signature-page .sp-note-two::after { left:-38px; top:50%; }
.signature-page .sp-benchmark .hm-scores { margin:0; }.signature-page .sp-benchmark-split { grid-template-columns:.72fr 1.28fr; }
@media (max-width:760px) { .signature-page .sp-hero { min-height:630px; }.signature-page .sp-hero .hm-hero-media::before { width:100%; background:linear-gradient(180deg,#fffdfa 0 53%,rgba(255,253,250,.82) 72%,rgba(255,253,250,.18)); }.signature-page .sp-hero .hm-hero-copy { width:100%; align-self:flex-start; padding-top:104px; }.signature-page .sp-hero .hm-hero-media img { object-position:65% bottom; }.signature-page .sp-phone-steps,.signature-page .sp-search-steps,.signature-page .sp-study-grid { grid-template-columns:1fr; }.signature-page .sp-phone-screen { min-height:255px; }.signature-page .sp-foundation-image { min-height:330px; }.signature-page .sp-note-two { right:-8px; }.signature-page .sp-benchmark-split { grid-template-columns:1fr; }.signature-page .sp-browser-page { min-height:320px; padding:25px; } }

/* Design-loop fidelity pass against the approved supporting-page concepts. */
.signature-page .sp-reference-hero { position:relative; overflow:hidden; min-height:clamp(620px,52vw,780px); background:#fffdfa; border-bottom:1px solid var(--hm-line); }
.signature-page .sp-reference-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 30%,rgba(229,217,201,.72),transparent 35%),linear-gradient(90deg,#fffdfa 0 58%,#f4eee5 100%); }
.signature-page .sp-reference-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:clamp(45px,5vw,90px); min-height:inherit; padding-block:clamp(70px,7vw,108px); }
.signature-page .sp-reference-copy { position:relative; z-index:3; align-self:center; }
.signature-page .sp-reference-copy h1,.signature-page .sp-work-hero-copy h1 { max-width:10ch; margin:0 0 25px; font-family:var(--hm-display); font-size:clamp(4.2rem,5.8vw,7rem); font-weight:400; letter-spacing:-.055em; line-height:.86; }
.signature-page .sp-reference-copy>p:not(.sp-eyebrow),.signature-page .sp-work-hero-copy>p:not(.sp-eyebrow) { max-width:35em; color:#53606a; font-size:clamp(1rem,1.3vw,1.18rem); line-height:1.55; }
.signature-page .sp-reference-copy .signature-sweep { margin-top:22px; }
.signature-page .sp-hero-devices { padding-right:48px; transform:translateY(15px); }
.signature-page .sp-web-reference-hero .hm-browser { border-color:#292e31; }
.signature-page .sp-site-gallery { padding:clamp(90px,9vw,148px) 0; }
.signature-page .sp-centered-head { max-width:800px; margin-inline:auto; text-align:center; }
.signature-page .sp-centered-head h2 { max-width:none; }
.signature-page .sp-centered-head p:not(.sp-eyebrow) { margin-inline:auto; }
.signature-page .sp-browser-gallery { display:grid; grid-template-columns:1.12fr .88fr; gap:28px; align-items:stretch; }
.signature-page .sp-site-window { overflow:hidden; border:1px solid #d9dfe5; background:#fff; box-shadow:0 18px 38px rgba(47,42,34,.09); }
.signature-page .sp-window-nav { min-height:42px; display:flex; align-items:center; gap:14px; padding:0 16px; color:#29323a; font-size:.54rem; letter-spacing:.08em; }
.signature-page .sp-window-nav b { margin-right:auto; font-family:var(--hm-display); font-size:.85rem; font-weight:400; letter-spacing:.12em; }
.signature-page .sp-window-nav i { padding:7px 9px; color:#fff; background:#252d31; font-style:normal; }
.signature-page .sp-window-body { position:relative; min-height:210px; overflow:hidden; padding:34px; background:#e9ddd4; }
.signature-page .sp-site-window-large .sp-window-body { min-height:470px; height:calc(100% - 43px); }
.signature-page .sp-window-body>*:not(.sp-orb) { position:relative; z-index:2; }
.signature-page .sp-window-body small { color:#355793; font-size:.58rem; letter-spacing:.13em; }
.signature-page .sp-window-body strong { display:block; max-width:8ch; margin-top:28px; font-family:var(--hm-display); font-size:clamp(2.2rem,4.2vw,4.8rem); font-weight:400; line-height:.9; }
.signature-page .sp-window-body p { max-width:17em; color:#596169; font-size:.72rem; line-height:1.55; }
.signature-page .sp-orb { position:absolute; right:-10%; bottom:-18%; width:64%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 30% 25%,#fff 0 2%,#e8aa96 29%,#ad6270 58%,#633450 100%); }
.signature-page .sp-site-window-stack { display:grid; gap:28px; }
.signature-page .sp-solstice { color:#173b77; background:linear-gradient(120deg,#d9e5f4,#aec8eb); }.signature-page .sp-solstice .sp-orb { width:50%; right:5%; bottom:-30%; background:#3568aa; }
.signature-page .sp-olive { color:#384235; background:linear-gradient(110deg,#eadbca,#d7b08e); }.signature-page .sp-leaf-mark { position:absolute; right:15%; bottom:8%; color:#405e3c; font-family:serif; font-size:7rem; }
.signature-page .sp-process { padding:clamp(95px,9vw,150px) 0; background:#fff; }
.signature-page .sp-process-split { grid-template-columns:.92fr 1.08fr; }
.signature-page .sp-process-list { counter-reset:process; display:grid; gap:16px; margin:28px 0 0; padding:0; list-style:none; }
.signature-page .sp-process-list li { counter-increment:process; display:grid; grid-template-columns:34px 1fr; column-gap:12px; align-items:start; }
.signature-page .sp-process-list li::before { content:counter(process); grid-row:1 / 3; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#ece7df; color:#37404a; font-size:.72rem; font-weight:700; }
.signature-page .sp-process-list b { font-family:var(--hm-display); font-size:1.25rem; font-weight:400; }.signature-page .sp-process-list span { color:#64707a; font-size:.85rem; }
.signature-page .sp-plan-paper { position:relative; min-height:500px; padding:55px 52px; overflow:hidden; transform:rotate(2.5deg); border:1px solid #e2ddd4; background:#fffdfa; box-shadow:0 24px 55px rgba(56,45,33,.13); }
.signature-page .sp-plan-paper::before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(225,212,195,.22),transparent 40%),radial-gradient(circle at 85% 80%,rgba(84,105,66,.2),transparent 32%); }
.signature-page .sp-plan-paper>* { position:relative; z-index:1; }.signature-page .sp-plan-paper>span,.signature-page .sp-plan-paper>small { display:inline-block; color:#4e5f82; font-size:.65rem; font-weight:750; letter-spacing:.14em; }.signature-page .sp-plan-paper>small { float:right; }.signature-page .sp-plan-paper>strong { display:block; max-width:10ch; margin:70px 0 45px; font-family:var(--hm-display); font-size:clamp(2.5rem,4vw,4.7rem); font-weight:400; line-height:.92; }.signature-page .sp-plan-paper>p { color:#586574; font-size:.78rem; line-height:2; letter-spacing:.08em; }.signature-page .sp-plan-paper>i { position:absolute; right:9%; bottom:4%; color:#3d6246; font-family:serif; font-size:10rem; font-style:normal; opacity:.66; }
.signature-page .sp-photo-close { display:grid; grid-template-columns:1.05fr .95fr; min-height:560px; background:#fff; }
.signature-page .sp-photo-close-media { min-height:560px; overflow:hidden; }.signature-page .sp-photo-close-media img { width:100%; height:100%; object-fit:cover; object-position:68% center; }
.signature-page .sp-ai-photo-close .sp-photo-close-media img { object-position:left center; }
.signature-page .sp-photo-close-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(55px,7vw,110px); }.signature-page .sp-photo-close-copy h2 { max-width:9ch; margin-bottom:24px; font-family:var(--hm-display); font-size:clamp(3rem,4.8vw,5.4rem); font-weight:400; letter-spacing:-.04em; line-height:.9; }.signature-page .sp-photo-close-copy>p:not(.sp-eyebrow) { max-width:34em; color:#55616b; }
.signature-page .sp-ai-reference-hero-grid { grid-template-columns:.9fr 1.1fr; }
.signature-page .sp-search-hero-art { position:relative; min-height:440px; }
.signature-page .sp-search-panel,.signature-page .sp-ai-panel { position:absolute; overflow:hidden; border:1px solid #d9e0e8; background:rgba(255,255,255,.96); box-shadow:0 22px 48px rgba(39,49,62,.12); }
.signature-page .sp-search-panel { z-index:2; left:3%; top:7%; width:58%; min-height:390px; padding:22px; }
.signature-page .sp-ai-panel { z-index:3; right:0; top:24%; width:43%; min-height:315px; padding:25px; }
.signature-page .sp-search-field { padding:11px 15px; border:1px solid #d9e1eb; border-radius:24px; color:#394753; font-size:.82rem; box-shadow:0 3px 10px rgba(30,50,70,.05); }.signature-page .sp-search-tabs { padding:18px 4px 12px; border-bottom:1px solid #e6ebf0; color:#6c7780; font-size:.67rem; }.signature-page .sp-search-panel article { display:grid; gap:6px; padding:21px 4px; border-bottom:1px solid #edf0f3; }.signature-page .sp-search-panel article b { color:#1e3154; font-size:.78rem; }.signature-page .sp-search-panel article span,.signature-page .sp-search-panel article p { margin:0; color:#69747c; font-size:.69rem; }.signature-page .sp-search-panel article.is-muted { opacity:.48; }
.signature-page .sp-ai-panel>b { color:#24477f; font-size:.76rem; }.signature-page .sp-ai-panel>p { height:7px; margin:17px 0; border-radius:5px; background:#e5e9ed; }.signature-page .sp-ai-panel>p:nth-of-type(2) { width:82%; }.signature-page .sp-ai-panel>p:nth-of-type(3) { width:62%; }.signature-page .sp-ai-panel ol { display:grid; gap:10px; margin-top:23px; padding-left:25px; color:#56616b; font-size:.72rem; }.signature-page .sp-ai-panel li:first-child { color:var(--hm-blue); font-weight:750; }
.signature-page .sp-treatment-reach { padding:clamp(90px,9vw,145px) 0; }.signature-page .sp-treatment-reach-grid { grid-template-columns:.72fr 1.28fr; }
.signature-page .sp-treatment-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.signature-page .sp-treatment-cards article { min-width:0; }.signature-page .sp-treatment-cards b,.signature-page .sp-treatment-cards small { display:block; }.signature-page .sp-treatment-cards b { margin-top:15px; color:#506071; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }.signature-page .sp-treatment-cards small { margin-top:5px; color:#68737c; line-height:1.45; }
.signature-page .sp-treatment-image { position:relative; min-height:285px; overflow:hidden; background:center/cover no-repeat; }.signature-page .sp-treatment-image::before { content:""; position:absolute; width:78%; aspect-ratio:1; right:-24%; top:8%; border-radius:50%; background:radial-gradient(circle at 30% 24%,#fff 0 3%,#edaa97 28%,#ac6171 61%,#643b69 100%); }.signature-page .sp-treatment-image::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(25,31,37,.18)); }.signature-page .sp-treatment-image>span { position:absolute; z-index:1; left:12px; right:12px; bottom:14px; padding:10px 12px; border-radius:25px; color:#4d5963; background:rgba(255,255,255,.92); font-size:.67rem; box-shadow:0 5px 18px rgba(0,0,0,.1); }.signature-page .sp-treatment-one { background:linear-gradient(145deg,#efe2d8,#c9d6ec); }.signature-page .sp-treatment-two { background:linear-gradient(145deg,#d7e1ed,#f2e8df); }.signature-page .sp-treatment-two::before { background:radial-gradient(circle at 30% 24%,#fff 0 3%,#becde9 28%,#7394cc 62%,#275db5 100%); }.signature-page .sp-treatment-three { background:linear-gradient(145deg,#f0e9df,#d8c7d3); }.signature-page .sp-treatment-three::before { background:radial-gradient(circle at 30% 24%,#fff 0 3%,#f2cfb9 28%,#c58b7d 62%,#825a75 100%); }
.signature-page .sp-competitor-map { padding:clamp(90px,9vw,145px) 0; background:#faf9f6; }.signature-page .sp-competitor-grid { grid-template-columns:1.15fr .85fr; }
.signature-page .sp-map-art { position:relative; min-height:470px; overflow:hidden; background:repeating-radial-gradient(ellipse at 45% 55%,transparent 0 27px,rgba(91,106,124,.09) 28px 29px); }.signature-page .sp-map-art::before,.signature-page .sp-map-art::after { content:""; position:absolute; border:1px solid rgba(62,91,133,.1); border-radius:50%; }.signature-page .sp-map-art::before { inset:14% 18%; }.signature-page .sp-map-art::after { inset:25% 30%; }.signature-page .sp-map-dot { position:absolute; display:block; color:#586878; font-size:.58rem; font-style:normal; letter-spacing:.09em; }.signature-page .sp-map-dot::before { content:""; display:inline-block; width:9px; height:9px; margin-right:7px; border-radius:50%; background:#7f8a96; }.signature-page .sp-map-dot-main { left:49%; top:50%; color:var(--hm-blue); font-weight:750; }.signature-page .sp-map-dot-main::before { width:18px; height:18px; background:var(--hm-blue); box-shadow:0 0 0 9px rgba(23,81,207,.12); vertical-align:middle; }.signature-page .sp-map-dot-a { left:27%; top:25%; }.signature-page .sp-map-dot-b { left:13%; top:53%; }.signature-page .sp-map-dot-c { right:10%; top:29%; }.signature-page .sp-map-dot-d { left:33%; bottom:16%; }
.signature-page .sp-map-line { position:absolute; height:2px; transform-origin:left center; background:var(--hm-blue); opacity:.65; }.signature-page .sp-map-line-one { left:50%; top:52%; width:27%; transform:rotate(-28deg); }.signature-page .sp-map-line-two { left:30%; top:30%; width:27%; transform:rotate(35deg); }.signature-page .sp-map-line-three { left:22%; top:57%; width:30%; transform:rotate(-8deg); }
.signature-page .sp-work-reference-hero { padding:clamp(70px,7vw,105px) 0 0; }.signature-page .sp-work-reference-hero::before { background:linear-gradient(90deg,#fffdfa 0 62%,#efe7dc 62%); }.signature-page .sp-work-hero-copy { position:relative; z-index:2; max-width:760px; }.signature-page .sp-work-hero-copy h1 { max-width:11ch; }.signature-page .sp-work-hero-art { position:relative; z-index:2; display:grid; grid-template-columns:190px 1fr; align-items:end; gap:22px; margin-top:38px; }.signature-page .sp-work-side-card { min-height:390px; overflow:hidden; border:1px solid #dfd7ce; background:#fff; }.signature-page .sp-work-side-card>div { height:160px; background:radial-gradient(circle at 70% 28%,#fff 0 3%,#e7aa99 28%,#9e596c 61%,#593760 100%); }.signature-page .sp-work-side-card strong { display:block; padding:20px 18px 7px; font-family:var(--hm-display); font-size:1.55rem; font-weight:400; line-height:1; }.signature-page .sp-work-side-card p { padding:0 18px; color:#69727a; font-size:.68rem; line-height:1.5; }.signature-page .sp-work-browser { max-width:760px; }.signature-page .sp-work-phone { right:-34px; bottom:7px; width:16%; min-width:150px; }
.signature-page .sp-note-three { right:-28px; top:17%; }.signature-page .sp-note-three::after { content:""; position:absolute; left:-38px; top:50%; width:38px; height:1px; background:var(--hm-blue); }
.signature-page .sp-work-photo-band { position:relative; height:clamp(360px,33.33vw,520px); overflow:hidden; }.signature-page .sp-work-photo-band::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 62%,rgba(255,253,250,.22)); }.signature-page .sp-work-photo-band img { width:100%; height:100%; object-fit:cover; object-position:left center; }.signature-page .sp-work-photo-band span { position:absolute; z-index:1; top:17%; right:7%; color:#38424b; font-family:var(--hm-display); font-size:clamp(1.3rem,1.8vw,2rem); letter-spacing:.12em; line-height:1.7; text-transform:uppercase; }
@media (max-width:980px) { .signature-page .sp-reference-hero-grid { grid-template-columns:1fr; }.signature-page .sp-reference-copy { max-width:690px; }.signature-page .sp-hero-devices { width:min(100%,760px); }.signature-page .sp-browser-gallery { grid-template-columns:1fr; }.signature-page .sp-site-window-stack { grid-template-columns:1fr 1fr; }.signature-page .sp-search-hero-art { width:min(100%,720px); }.signature-page .sp-work-hero-art { grid-template-columns:150px 1fr; }.signature-page .sp-work-phone { right:-10px; }.signature-page .sp-photo-close { grid-template-columns:1fr; }.signature-page .sp-photo-close-media { min-height:430px; }.signature-page .sp-photo-close-copy { padding:75px 8vw; } }
@media (max-width:760px) { .signature-page .sp-reference-hero { min-height:auto; }.signature-page .sp-reference-hero-grid { padding-top:92px; padding-bottom:70px; }.signature-page .sp-reference-copy { order:2; margin-top:34px; }.signature-page .sp-hero-devices,.signature-page .sp-search-hero-art { order:1; }.signature-page .sp-work-reference-hero>.hm-shell { display:flex; flex-direction:column; }.signature-page .sp-work-hero-art { order:1; }.signature-page .sp-work-hero-copy { order:2; margin-top:38px; }.signature-page .sp-reference-copy h1,.signature-page .sp-work-hero-copy h1 { font-size:clamp(3.6rem,15vw,5.3rem); }.signature-page .sp-reference-copy .signature-sweep { width:100%; max-width:330px; }.signature-page .sp-hero-devices { padding-right:23px; margin-top:0; }.signature-page .sp-site-window-stack { grid-template-columns:1fr; }.signature-page .sp-site-window-large .sp-window-body { min-height:350px; }.signature-page .sp-process-split,.signature-page .sp-treatment-reach-grid,.signature-page .sp-competitor-grid { grid-template-columns:1fr; }.signature-page .sp-plan-paper { min-height:420px; padding:38px 30px; transform:none; }.signature-page .sp-plan-paper>strong { margin-top:55px; }.signature-page .sp-photo-close-media { min-height:340px; }.signature-page .sp-photo-close-media img { object-position:74% center; }.signature-page .sp-search-hero-art { min-height:530px; margin-top:0; }.signature-page .sp-search-panel { left:0; top:0; width:83%; }.signature-page .sp-ai-panel { right:0; top:38%; width:64%; }.signature-page .sp-treatment-cards { grid-template-columns:1fr; }.signature-page .sp-treatment-image { min-height:240px; }.signature-page .sp-map-art { min-height:360px; }.signature-page .sp-work-reference-hero { padding-top:95px; }.signature-page .sp-work-hero-art { grid-template-columns:1fr; }.signature-page .sp-work-side-card { display:none; }.signature-page .sp-work-phone { right:-4px; width:27%; min-width:112px; }.signature-page .sp-work-photo-band { height:auto; background:#fffdfa; }.signature-page .sp-work-photo-band::after { display:none; }.signature-page .sp-work-photo-band img { display:block; height:auto; object-fit:contain; object-position:center; }.signature-page .sp-work-photo-band span { position:static; display:block; padding:28px 7% 36px; font-size:1rem; }.signature-page .sp-note-three { right:-6px; } }

/* Final design-loop corrections: literal examples, visible disclosures, and image-first mobile reading order. */
.signature-page .sp-study-disclosure { margin-top:16px !important; color:#70777c !important; font-size:.72rem !important; letter-spacing:.04em; }
.signature-page .sp-example-label { position:absolute; z-index:5; right:0; bottom:1%; color:#6b747c; font-size:.62rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.signature-page .sp-answer-card i { width:auto; min-height:31px; height:auto; margin:0 7px 7px 0; padding:7px 10px; border-radius:18px; }
.signature-page .sp-treatment-image { display:flex; flex-direction:column; justify-content:flex-end; padding:18px; }
.signature-page .sp-treatment-image::after { inset:38% 0 0; background:linear-gradient(transparent,rgba(18,26,34,.64)); }
.signature-page .sp-treatment-image>span,.signature-page .sp-treatment-image>strong,.signature-page .sp-treatment-image>small { position:relative; z-index:1; color:#fff; }
.signature-page .sp-treatment-image>span { position:relative; left:auto; right:auto; bottom:auto; align-self:flex-start; margin-bottom:auto; padding:7px 9px; color:#4d5963; font-size:.58rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.signature-page .sp-treatment-image>strong { max-width:11ch; margin:0 0 7px; font-family:var(--hm-display); font-size:1.7rem; font-weight:400; line-height:.92; letter-spacing:0; text-transform:none; }
.signature-page .sp-treatment-image>small { margin:0; color:rgba(255,255,255,.86); font-size:.66rem; }
@media (max-width:760px) {
  .signature-page .sp-process-split .sp-plan-paper,
  .signature-page .sp-ai-split .sp-answer-canvas,
  .signature-page .sp-treatment-reach-grid .sp-treatment-cards,
  .signature-page .sp-annotation-split .sp-browser-annotation,
  .signature-page .sp-benchmark-split .hm-scores { order:1; }
  .signature-page .sp-process-split .hm-copy,
  .signature-page .sp-ai-split .hm-copy,
  .signature-page .sp-treatment-reach-grid .hm-copy,
  .signature-page .sp-annotation-split .hm-copy,
  .signature-page .sp-benchmark-split .hm-copy { order:2; }
  .signature-page .sp-example-label { right:auto; left:0; bottom:-24px; }
}

/* Make the illustrative page studies read as interfaces, not decorative color fields. */
.signature-page .sp-phone-screen::after { content:"Concerns   Options   FAQs"; right:18px; bottom:18px; width:auto; height:auto; aspect-ratio:auto; padding:11px 13px; border:1px solid rgba(34,45,58,.18); border-radius:3px; color:#2d3b49; background:rgba(255,255,255,.9); font-family:var(--hm-sans); font-size:.6rem; font-weight:700; letter-spacing:.05em; }
.signature-page .sp-proof-screen::after { content:"Credentials   Approach   Results"; }
.signature-page .sp-book-screen::after { content:"9:30   11:00   1:30"; color:#fff; background:var(--hm-blue); border-color:var(--hm-blue); }
.signature-page .sp-answer-card i { display:grid; width:100%; grid-template-columns:18px 1fr; justify-content:start; place-items:center start; border-radius:4px; background:#fbfcfe; }
.signature-page .sp-answer-card i::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--hm-blue); }
.signature-page .sp-treatment-image::before { width:calc(100% - 28px); height:105px; aspect-ratio:auto; inset:54px 14px auto; border:1px solid rgba(38,54,72,.12); border-radius:9px; background:linear-gradient(#fff 0 18px,#e8edf3 18px 24px,#fff 24px 47px,#e8edf3 47px 53px,#fff 53px 76px,#e8edf3 76px 82px,#fff 82px); box-shadow:0 10px 24px rgba(25,36,48,.08); }
.signature-page .sp-treatment-image>strong { align-self:stretch; max-width:none; margin:0; padding:14px 15px 4px; color:#28394a; background:#fff; border-radius:8px 8px 0 0; }
.signature-page .sp-treatment-image>small { align-self:stretch; margin:0; padding:0 15px 14px; color:#66727d; background:#fff; border-radius:0 0 8px 8px; }
.signature-page .sp-browser-annotation::before { content:"Fictional design study"; position:absolute; z-index:5; top:-28px; left:0; color:#68717a; font-size:.6rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }

/* Reference-faithful photographic material inside the fictional interface studies. */
.signature-page .sp-lumiere,.signature-page .sp-solstice,.signature-page .sp-olive { background-color:#e9ddd4; background-image:image-set(url('/assets/websites-gallery-strip-v1-1086.webp') 1x,url('/assets/websites-gallery-strip-v1.webp') 2x); background-size:300% auto; background-repeat:no-repeat; }
.signature-page .sp-lumiere { background-position:center center; }
.signature-page .sp-solstice { background-position:right center; }
.signature-page .sp-olive { background-position:left center; }
.signature-page .sp-window-body::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,253,250,.9),rgba(255,253,250,.2) 62%,transparent); }
.signature-page .sp-solstice::after,.signature-page .sp-olive::after { background:linear-gradient(90deg,rgba(255,253,250,.86),rgba(255,253,250,.12) 70%,transparent); }
.signature-page .sp-olive::after { display:none; }
.signature-page .sp-olive>small,.signature-page .sp-olive>strong { width:max-content; max-width:82%; padding-inline:12px; background:rgba(255,253,250,.94); }
.signature-page .sp-olive>small { padding-top:9px; }
.signature-page .sp-olive>strong { margin-top:0; padding-top:11px; padding-bottom:12px; }
.signature-page .sp-window-body .sp-orb,.signature-page .sp-window-body .sp-leaf-mark { display:none; }
.signature-page .sp-treatment-one,.signature-page .sp-treatment-two,.signature-page .sp-treatment-three { background-color:#e7e3df; background-image:image-set(url('/assets/ai-treatment-strip-v1-1082.webp') 1x,url('/assets/ai-treatment-strip-v1.webp') 2x); background-size:300% auto; background-repeat:no-repeat; }
.signature-page .sp-treatment-one { background-position:left center; }
.signature-page .sp-treatment-two { background-position:center center; }
.signature-page .sp-treatment-three { background-position:right center; }
.signature-page .sp-treatment-image::before { display:none; }
.signature-page .sp-work-side-card>div { background:url('/assets/med-spa-founder-room.webp') center 42% / cover no-repeat; }

/* How it works: photo-led review brief, ranked priorities, help routes, photo pause, ownership, photo close. Content is always visible; only links and the Surface Sweep respond to input. */
.signature-page .sp-how-hero { overflow:visible; }
.signature-page .sp-how-hero::before { background:linear-gradient(90deg,#fffdfa 0 50%,#f6f0e8 100%); }
.signature-page .sp-how-hero .sp-reference-hero-grid { grid-template-columns:.9fr 1.1fr; }
.signature-page .sp-how-hero .sp-reference-copy h1 { max-width:9.5ch; }
.signature-page .sp-how-hero .sp-reference-copy>p:not(.sp-eyebrow) { color:#3f4a53; }
.signature-page .sp-how-hero .sp-reference-copy .signature-sweep { margin-top:26px; }
.signature-page .sp-how-facts { display:flex; flex-wrap:wrap; gap:10px 26px; margin:26px 0 0; padding:0; list-style:none; color:#3f4a53; font-size:.86rem; font-weight:600; }
.signature-page .sp-how-facts li { display:inline-flex; align-items:center; gap:10px; }
.signature-page .sp-how-facts li::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--hm-blue); }
.signature-page .sp-how-hero-art { position:relative; align-self:stretch; min-height:clamp(460px,40vw,600px); margin-block:calc(-1 * clamp(70px,7vw,108px)); margin-right:calc(-1 * var(--hm-edge)); }
.signature-page .sp-how-hero-photo { position:absolute; inset:0 0 0 18%; width:82%; height:100%; object-fit:cover; object-position:center 70%; }
.signature-page .sp-how-doc { position:absolute; z-index:2; left:0; top:50%; width:min(78%,410px); margin:0; padding:clamp(22px,2.4vw,32px); border:1px solid #e6e1d9; background:#fff; color:#17191d; box-shadow:0 26px 60px rgba(50,39,24,.14); transform:translateY(-50%); }
.signature-page .sp-how-doc-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 16px; padding-bottom:14px; border-bottom:1px solid #ece8e2; }
.signature-page .sp-how-doc-mark { font-family:var(--hm-display); font-size:.9rem; letter-spacing:.16em; }
.signature-page .sp-how-doc-tag,.signature-page .sp-how-example { color:#5f6870; font-size:.62rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.signature-page .sp-how-doc-title { margin:18px 0 12px; font-family:var(--hm-display); font-size:clamp(1.7rem,2.3vw,2.2rem); line-height:1; letter-spacing:-.025em; }
.signature-page .sp-how-journey { display:grid; margin:0; padding:0; list-style:none; }
.signature-page .sp-how-journey li { display:grid; grid-template-columns:34px 1fr; gap:10px; padding:10px 0; border-top:1px solid #efebe5; }
.signature-page .sp-how-journey b { color:var(--hm-blue); font-family:var(--hm-display); font-size:1.25rem; font-weight:400; line-height:1; }
.signature-page .sp-how-journey span { color:#4a545d; font-size:.84rem; line-height:1.4; }
.signature-page .sp-how-journey strong { display:block; color:#17191d; font-family:var(--hm-display); font-size:1.12rem; font-weight:400; }
.signature-page .sp-how-doc-start { display:grid; gap:3px; margin-top:8px; padding:12px 14px; border-radius:4px; background:#eaf0fd; }
.signature-page .sp-how-doc-start span { color:var(--hm-blue); font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.signature-page .sp-how-doc-start p { margin:0; color:#1e2a3a; font-size:.86rem; font-weight:600; line-height:1.4; }
.signature-page .sp-how-doc-foot { display:flex; align-items:center; gap:10px; margin:16px 0 0; color:#4a545d; font-size:.76rem; }
.signature-page .sp-how-check { position:relative; flex:none; width:20px; height:20px; border:1.5px solid var(--hm-blue); border-radius:50%; }
.signature-page .sp-how-check::after { content:""; position:absolute; left:6px; top:2.5px; width:4.5px; height:9px; border:solid var(--hm-blue); border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }

.signature-page .sp-how-band { padding:clamp(100px,10vw,160px) 0; background:#fff; }
.signature-page .sp-how-order { background:#fffdfa; }
.signature-page .sp-how-routes { padding-top:clamp(60px,6vw,96px); background:#fffdfa; }
.signature-page .sp-how-owners { background:#f8f3ec; }
.signature-page .sp-how-head h2 { max-width:11ch; margin:0 0 24px; font-family:var(--hm-display); font-size:clamp(2.8rem,4.4vw,5rem); font-weight:400; line-height:.93; letter-spacing:-.045em; }
.signature-page .sp-how-head>p:not(.sp-eyebrow) { max-width:32em; color:#3f4a53; font-size:clamp(1rem,1.25vw,1.12rem); line-height:1.55; }
.signature-page .sp-how-head-center { max-width:820px; margin:0 auto clamp(44px,5vw,70px); text-align:center; }
.signature-page .sp-how-head-center h2 { max-width:none; }
.signature-page .sp-how-head-center>p:not(.sp-eyebrow) { margin-inline:auto; }
.signature-page .sp-how-split { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:clamp(50px,7vw,130px); }

.signature-page .sp-how-sort { max-width:1120px; margin:0 auto; padding:clamp(22px,3vw,40px); border:1px solid #e6e1d9; background:#fff; box-shadow:0 20px 48px rgba(50,39,24,.07); }
.signature-page .sp-how-example { margin:0 0 18px; }
.signature-page .sp-how-sort-head,.signature-page .sp-how-pairs li { display:grid; grid-template-columns:1fr clamp(56px,9vw,120px) 1fr; align-items:center; }
.signature-page .sp-how-sort-head { margin-bottom:14px; color:#17191d; font-family:var(--hm-display); font-size:clamp(1.35rem,1.8vw,1.7rem); }
.signature-page .sp-how-sort-head span:last-child { grid-column:3; }
.signature-page .sp-how-pairs { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.signature-page .sp-how-pairs p { margin:0; }
.signature-page .sp-how-noticed { position:relative; display:grid; gap:3px; padding:14px 18px 14px 44px; border:1px solid #e6e1d9; border-radius:4px; color:#3f4a53; font-size:.92rem; line-height:1.4; }
.signature-page .sp-how-noticed::before { content:""; position:absolute; left:18px; top:18px; width:10px; height:10px; border-radius:50%; background:var(--hm-blue); }
.signature-page .sp-how-noticed i { color:#17191d; font-style:normal; font-size:.64rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.signature-page .sp-how-first { grid-column:3; position:relative; display:grid; grid-template-columns:30px auto 1fr; align-items:baseline; gap:14px; padding:16px 18px; border:1px solid #e3e8f3; border-radius:4px; color:#3f4a53; font-size:.92rem; }
.signature-page .sp-how-first::before { content:""; position:absolute; top:50%; right:calc(100% + 1px); width:clamp(56px,9vw,120px); height:1.5px; background:var(--hm-blue); }
.signature-page .sp-how-first::after { content:""; position:absolute; top:calc(50% - 3px); right:calc(100% + clamp(56px,9vw,120px) - 3px); width:7px; height:7px; border-radius:50%; background:var(--hm-blue); }
.signature-page .sp-how-first b { color:var(--hm-blue); font-family:var(--hm-display); font-size:1.6rem; font-weight:400; line-height:1; }
.signature-page .sp-how-first strong { color:var(--hm-blue); font-family:var(--hm-display); font-size:1.35rem; font-weight:400; }
.signature-page .sp-how-first.is-now { border-color:#d6e1fb; background:#eaf0fd; }
.signature-page .sp-how-first.is-now span { color:#1e2a3a; font-weight:600; }

.signature-page .sp-how-routes-list { margin:0; padding:0; list-style:none; border-top:1px solid #e3ded6; }
.signature-page .sp-how-routes-list li { display:grid; gap:4px; padding:20px 0; border-bottom:1px solid #e3ded6; }
.signature-page .sp-how-routes-list strong { color:#17191d; font-family:var(--hm-display); font-size:clamp(1.5rem,2.2vw,2.05rem); font-weight:400; line-height:1.1; letter-spacing:-.02em; }
.signature-page .sp-how-routes-list span { color:#3f4a53; font-size:.98rem; }
.signature-page .sp-how-routes-list a,.signature-page .sp-how-text-link { justify-self:start; color:var(--hm-blue); font-size:.98rem; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; transition:color var(--sm-control-duration) var(--sm-control-ease),text-decoration-color var(--sm-control-duration) var(--sm-control-ease); }
.signature-page .sp-how-routes-list a:is(:hover,:focus-visible),.signature-page .sp-how-text-link:is(:hover,:focus-visible) { color:var(--hm-blue-dark); text-decoration-color:transparent; }

.signature-page .sp-how-pause { height:clamp(220px,24vw,360px); overflow:hidden; background:#e9dfd2; }
.signature-page .sp-how-pause img { width:100%; height:100%; object-fit:cover; object-position:center 60%; }

.signature-page .sp-how-head>p.sp-how-note { font-size:.92rem; }
.signature-page .sp-how-note .sp-how-text-link { display:inline-block; margin-top:6px; font-size:.92rem; font-weight:600; }
.signature-page .sp-how-owner-start { margin:0 0 28px; padding-bottom:18px; border-bottom:1px solid #ddd4c7; color:#17191d; font-size:.98rem; font-weight:600; }
.signature-page .sp-how-owner-cols { display:grid; grid-template-columns:1fr 1fr; }
.signature-page .sp-how-owner-cols>div { padding-right:clamp(20px,3vw,44px); }
.signature-page .sp-how-owner-cols>div+div { padding:0 0 0 clamp(20px,3vw,44px); border-left:1px solid #ddd4c7; }
.signature-page .sp-how-owner-cols h3 { margin:0 0 10px; color:#17191d; font-family:var(--hm-display); font-size:clamp(1.6rem,2.2vw,2.1rem); font-weight:400; letter-spacing:-.02em; line-height:1.05; }
.signature-page .sp-how-owner-cols p { margin:0; color:#3f4a53; font-size:1rem; line-height:1.5; }

.signature-page .sp-how-close { margin-bottom:clamp(80px,8vw,110px); }
.signature-page .sp-how-close .sp-photo-close-media img { object-position:30% center; }
.signature-page .sp-how-close .sp-photo-close-copy>p:not(.sp-eyebrow) { color:#3f4a53; }
.signature-page .sp-how-close .signature-sweep { align-self:flex-start; margin-top:10px; }
.signature-page .sp-how-close p.sp-how-close-note { margin:18px 0 0; font-size:.88rem; }

@media (max-width:980px) {
  .signature-page .sp-how-split { grid-template-columns:1fr; gap:44px; }
  .signature-page .sp-how-hero .sp-reference-hero-grid { grid-template-columns:1fr; }
  .signature-page .sp-how-hero-art { width:auto; min-height:520px; margin:0 calc(-1 * var(--hm-edge)) calc(-1 * clamp(70px,7vw,108px)); }
  .signature-page .sp-how-hero-photo { inset:0 0 0 30%; width:70%; }
  .signature-page .sp-how-doc { left:var(--hm-edge); }
}
@media (max-width:760px) {
  .signature-page .sp-how-hero-art { order:1; min-height:0; margin:0 calc(-1 * var(--hm-edge)); padding-top:24%; }
  .signature-page .sp-how-hero .sp-reference-hero-grid { padding-top:0; }
  .signature-page .sp-how-hero-photo { inset:0 0 auto 0; width:100%; height:62%; min-height:0; }
  .signature-page .sp-how-doc { position:relative; top:auto; left:auto; width:calc(100% - 2 * var(--hm-edge)); margin:0 var(--hm-edge); padding:20px 20px 18px; transform:none; }
  .signature-page .sp-how-band { padding:84px 0; }
  .signature-page .sp-how-routes { padding-top:20px; }
  .signature-page .sp-how-head h2 { font-size:clamp(2.5rem,11vw,3.6rem); }
  .signature-page .sp-how-sort-head { display:none; }
  .signature-page .sp-how-pairs { gap:26px; }
  .signature-page .sp-how-pairs li { grid-template-columns:1fr; row-gap:22px; }
  .signature-page .sp-how-first { grid-column:1; }
  .signature-page .sp-how-first::before { top:auto; bottom:calc(100% + 1px); right:auto; left:28px; width:1.5px; height:22px; }
  .signature-page .sp-how-first::after { top:auto; bottom:calc(100% + 19px); right:auto; left:25px; }
  .signature-page .sp-how-owner-cols { grid-template-columns:1fr; gap:22px; }
  .signature-page .sp-how-owner-cols>div+div { padding:22px 0 0; border-left:0; border-top:1px solid #ddd4c7; }
  .signature-page .sp-how-close .signature-sweep { align-self:stretch; }
}
@media (prefers-reduced-motion:reduce) {
  .signature-page .sp-how-routes-list a,.signature-page .sp-how-text-link { transition:none; }
}

/* How it works: reference-fidelity pass against design-options/how-it-works-layout-v4.png, measured at 1440 px (reference x 1.565). */
.signature-page .sp-how-hero .hm-flow.signature-sweep,.signature-page .sp-how-close .hm-flow.signature-sweep,
.signature-page .sp-how-hero .hm-flow.signature-sweep:is(:hover,:focus-visible),.signature-page .sp-how-close .hm-flow.signature-sweep:is(:hover,:focus-visible) { border-color:var(--hm-blue); color:#fff; background:var(--hm-blue); }
.signature-page .sp-how-hero .hm-flow-fill,.signature-page .sp-how-close .hm-flow-fill { background:var(--hm-blue-dark); }
@media (min-width:981px) {
  .signature-page .sp-how-hero,.signature-page .sp-how-hero .sp-reference-hero-grid { min-height:528px; }
  .signature-page .sp-how-hero .sp-reference-hero-grid { grid-template-columns:45fr 55fr; align-items:start; gap:0; padding-block:40px 44px; }
  .signature-page .sp-how-hero .sp-reference-copy { padding-right:24px; }
  .signature-page .sp-how-hero .sp-reference-copy h1 { max-width:7.3em; margin-bottom:18px; font-size:clamp(4.6rem,6.1vw,5.6rem); line-height:.9; letter-spacing:-.04em; }
  .signature-page .sp-how-hero .sp-reference-copy>p:not(.sp-eyebrow) { max-width:22em; color:#56627a; font-size:clamp(1.2rem,1.6vw,1.45rem); line-height:1.35; }
  .signature-page .sp-how-hero .sp-reference-copy .signature-sweep { min-height:56px; margin-top:24px; font-size:1.1rem; }
  .signature-page .sp-how-facts { gap:10px clamp(14px,1.7vw,28px); margin-top:26px; color:#56627a; font-size:clamp(.92rem,1.05vw,1.05rem); font-weight:500; }
  .signature-page .sp-how-facts li { gap:clamp(7px,.7vw,10px); }
  .signature-page .sp-how-facts li::before { width:clamp(9px,.8vw,11px); height:clamp(9px,.8vw,11px); }
  .signature-page .sp-how-hero-art { min-height:520px; margin-block:-40px -44px; }
  .signature-page .sp-how-hero-photo { top:0; right:0; bottom:0; left:0; width:auto; height:auto; object-position:center 78%; }
  .signature-page .sp-how-doc { left:20%; right:auto; top:22px; width:372px; transform:none; padding:28px 26px 22px; }
  .signature-page .sp-how-doc-mark { font-size:1.15rem; }
  .signature-page .sp-how-doc-head { display:block; padding-bottom:0; border:0; }
  .signature-page .sp-how-doc-tag { display:block; margin-top:8px; color:var(--hm-blue); }
  .signature-page .sp-how-doc-title { margin:10px 0 12px; font-size:2.15rem; }
  .signature-page .sp-how-journey li { grid-template-columns:30px auto 1fr; align-items:baseline; gap:12px; padding:9px 0; border-top:0; }
  .signature-page .sp-how-journey span { display:contents; font-size:.8rem; }
  .signature-page .sp-how-journey b { font-size:1.75rem; }
  .signature-page .sp-how-journey strong { display:inline; margin:0; font-size:1.35rem; }
  .signature-page .sp-how-doc-start { margin-top:12px; padding:14px 16px; text-align:center; }
  .signature-page .sp-how-doc-start p { font-weight:500; font-size:.85rem; }
  .signature-page .sp-how-doc-foot { font-size:.82rem; }
  .signature-page .sp-how-check { width:26px; height:26px; }
  .signature-page .sp-how-check::after { left:8px; top:4px; width:6px; height:11px; }

  .signature-page .sp-how-band { padding:64px 0; }
  .signature-page .sp-how-order { padding:36px 0 40px; background:#fff; }
  .signature-page .sp-how-head h2 { max-width:7.6em; margin-bottom:18px; font-size:clamp(3.6rem,4.7vw,4.3rem); line-height:.93; letter-spacing:-.035em; }
  .signature-page .sp-how-head>p:not(.sp-eyebrow) { max-width:20em; color:#56627a; font-size:clamp(1.15rem,1.55vw,1.38rem); line-height:1.4; }
  .signature-page .sp-how-head-center { max-width:none; margin-bottom:34px; }
  .signature-page .sp-how-head-center h2 { max-width:none; margin-bottom:10px; }
  .signature-page .sp-how-head-center>p:not(.sp-eyebrow) { max-width:none; }
  .signature-page .sp-how-sort { max-width:none; padding:22px 28px 26px; box-shadow:0 12px 30px rgba(40,50,70,.06); }
  .signature-page .sp-how-example { margin:0 0 8px; }
  .signature-page .sp-how-sort-head { margin-bottom:12px; font-size:clamp(1.6rem,2.2vw,1.95rem); }
  .signature-page .sp-how-sort-head,.signature-page .sp-how-pairs li { grid-template-columns:1fr 165px 1fr; }
  .signature-page .sp-how-first::before { width:165px; }
  .signature-page .sp-how-first::after { right:calc(100% + 162px); }
  .signature-page .sp-how-pairs { gap:12px; }
  .signature-page .sp-how-noticed { min-height:74px; padding:14px 20px 14px 58px; font-size:clamp(1rem,1.4vw,1.2rem); color:#56627a; }
  .signature-page .sp-how-noticed::before { left:22px; top:20px; width:15px; height:15px; }
  .signature-page .sp-how-noticed i { font-size:.8rem; }
  .signature-page .sp-how-first { min-height:74px; align-items:center; grid-template-columns:34px 88px 1fr; padding:12px 22px; font-size:clamp(1rem,1.4vw,1.2rem); color:#56627a; }
  .signature-page .sp-how-first b { font-size:2.1rem; }
  .signature-page .sp-how-first strong { font-size:1.95rem; }
  .signature-page .sp-how-first.is-now span { font-weight:500; color:#2c3950; }

  .signature-page .sp-how-routes { padding:40px 0 30px; background:#fff; }
  .signature-page .sp-how-split { grid-template-columns:40fr 60fr; gap:48px; align-items:start; }
  .signature-page .sp-how-routes .sp-how-head { padding-top:20px; }
  .signature-page .sp-how-routes .sp-how-head h2 { max-width:6.3em; text-wrap:balance; }
  .signature-page .sp-how-routes-list { border-top:0; }
  .signature-page .sp-how-routes-list li { gap:2px; padding:12px 0 14px; border-bottom:1px solid #e5e2dd; }
  .signature-page .sp-how-routes-list li:first-child { padding-top:0; }
  .signature-page .sp-how-routes-list li:last-child { border-bottom:0; }
  .signature-page .sp-how-routes-list strong { font-size:clamp(1.8rem,2.4vw,2.15rem); }
  .signature-page .sp-how-routes-list span,.signature-page .sp-how-routes-list a { color:#56627a; font-size:clamp(1.1rem,1.5vw,1.3rem); text-decoration:none; }
  .signature-page .sp-how-routes-list a:is(:hover,:focus-visible) { color:var(--hm-blue); text-decoration:underline; }
  .signature-page .sp-how-pause { height:172px; }
  .signature-page .sp-how-owners { padding:44px 0 26px; }
  .signature-page .sp-how-owners .sp-how-split { align-items:start; }
  .signature-page .sp-how-owner-panel { padding-top:24px; }
  .signature-page .sp-how-owner-start { margin-bottom:34px; padding:0; border:0; color:#1e2a5a; font-size:clamp(1.1rem,1.5vw,1.3rem); font-weight:500; }
  .signature-page .sp-how-owner-cols h3 { font-size:clamp(1.8rem,2.4vw,2.1rem); }
  .signature-page .sp-how-owner-cols p { color:#56627a; font-size:clamp(1.1rem,1.5vw,1.3rem); line-height:1.35; }
  .signature-page .sp-how-owner-cols>div+div { padding-bottom:30px; }
  .signature-page .sp-how-head>p.sp-how-note { font-size:.95rem; }
  .signature-page .sp-how-close { min-height:415px; margin:36px 0 30px; grid-template-columns:56.5fr 43.5fr; }
  .signature-page .sp-how-close .sp-photo-close-media { min-height:415px; }
  .signature-page .sp-how-close .sp-photo-close-copy { justify-content:flex-start; padding:12px 40px 20px 58px; }
  .signature-page .sp-how-close .sp-photo-close-copy h2 { max-width:6.5em; margin-bottom:18px; font-size:clamp(3.6rem,4.7vw,4.3rem); line-height:.93; letter-spacing:-.035em; }
  .signature-page .sp-how-close .sp-photo-close-copy>p:not(.sp-eyebrow) { max-width:20em; color:#56627a; font-size:clamp(1.15rem,1.55vw,1.38rem); line-height:1.4; }
  .signature-page .sp-how-close .signature-sweep { min-height:56px; margin-top:16px; font-size:1.1rem; }
  .signature-page .sp-how-close p.sp-how-close-note { margin-top:20px; font-size:1.05rem; }
}
  .signature-page .sp-how-hero .hm-flow.signature-sweep,.signature-page .sp-how-close .hm-flow.signature-sweep { padding-inline:32px 66px; }
  .signature-page .sp-how-hero .hm-flow-arrow-right,.signature-page .sp-how-close .hm-flow-arrow-right { right:32px; }
