@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin-variable.woff2") format("woff2");
}
:root {
  color-scheme: light dark;
  --bg: #F8F8F5;
  --surface: #FFFFFD;
  --text: #191B1A;
  --muted: #656862;
  --petrol: #145C59;
  --on-petrol: #FFFFFF;
  --line: #DDDEDA;
  --lavender: #F0E8F8;
  --sage: #E4EDDE;
  --coral: #FDDACA;
  --sea: #E2EFED;
  --icon-ink: #191B1A;
  --recommended: #EEF3E9;
  --section: #F6F1F9;
  --footer: #EEEEEB;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-synthesis: none;
  font-size: 16px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); line-height: 1.5; }
a { color: inherit; }
img { display: block; max-width: 100%; }
figure, h1, h2, h3, p { margin: 0; }
.wrap { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: absolute; top: -90px; left: 16px; z-index: 10; background: var(--petrol); color: var(--on-petrol); padding: 12px 20px; border-radius: 8px; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--petrol); outline-offset: 5px; }
.site-header { height: 82px; display: flex; align-items: center; justify-content: space-between; padding-inline: 24px; }
.wordmark { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; }
.wordmark span { font-size: 29px; font-weight: 650; letter-spacing: -1.3px; }
.wordmark picture { flex: 0 0 auto; }
.site-header nav { display: flex; align-items: center; gap: 32px; }
.nav-prices { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: 15px; }
.nav-prices:hover { color: var(--petrol); text-decoration: underline; text-underline-offset: 5px; }
.button { min-height: 54px; padding: 13px 30px; border: 1px solid var(--petrol); border-radius: 100px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; text-align: center; text-decoration: none; font-size: 18px; font-weight: 600; line-height: 1.4; transition: background-color .15s, color .15s, transform .15s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--petrol); color: var(--on-petrol); }
.button-primary:hover { background: #0E4644; border-color: #0E4644; }
.button-quiet { background: transparent; color: var(--petrol); }
.button-quiet:hover { background: var(--recommended); }
.header-login { min-height: 44px; padding: 9px 30px; font-size: 15px; }
.hero { overflow: hidden; }
.hero-intro { position: relative; text-align: center; padding-top: 9px; padding-bottom: 23px; }
.eyebrow { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 1.8px; font-weight: 600; }
h1 { font-size: clamp(62px, 6.5vw, 92px); font-weight: 700; line-height: 1.02; letter-spacing: -.03em; margin-top: 10px; }
h1 span, h2 span { color: var(--petrol); }
.hero-description { margin: 18px auto 0; max-width: 770px; color: var(--muted); font-size: clamp(20px, 1.65vw, 24px); line-height: 1.4; letter-spacing: -.2px; }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin-top: 16px; }
.hero-actions .button-primary { min-width: 274px; }
.hero-actions .button-quiet { min-width: 148px; }
.trial-note { margin-top: 9px; font-size: 14px; color: var(--muted); }
.hero-annotations { display: contents; }
.hero-note { position: absolute; pointer-events: none; user-select: none; height: auto; }
.note-left { width: clamp(160px, 17vw, 210px); left: 3%; top: 77px; }
.note-right { width: clamp(180px, 23vw, 275px); right: 0; top: -11px; mask-image: linear-gradient(to bottom, transparent, #000 8%), linear-gradient(to right, #000 70%, transparent), linear-gradient(to bottom, transparent 50%, #000 60%); mask-composite: intersect, add; }
.hero-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.hero-gallery > figure { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 17px 17px 0 0; mask-image: linear-gradient(to bottom, #000 94%, transparent); }
.product-visual { background: var(--lavender); padding: 28px; display: flex; align-items: center; justify-content: center; }
.product-visual img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 14px 32px #34304412; }
.hero-gallery > .studio-visual { mask-image: linear-gradient(to bottom, #000 89%, transparent); }
.studio-visual img { width: 100%; height: auto; }
.audience-section { text-align: center; }
.audience-section h2 { margin-top: 12px; }
.audience-intro { max-width: 660px; margin: 18px auto 0; color: var(--muted); font-size: 20px; line-height: 1.5; }
.audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.audience-tile { overflow: hidden; border-radius: 20px; background: var(--sea); text-align: left; }
.audience-dentist { background: var(--lavender); }
.audience-salon { background: var(--coral); }
.audience-beauty { background: var(--sage); }
.audience-nutrition { background: var(--coral); }
.audience-psychology { background: var(--lavender); }
.audience-tile img { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.audience-tile figcaption { padding: 24px; font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -.5px; }
.section { padding-block: 68px; }
.daily-benefits { padding-top: 48px; padding-bottom: 20px; }
.benefits-heading { text-align: center; }
.benefits-heading h2 { margin-top: 12px; font-size: clamp(30px, 3.4vw, 40px); }
.benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 28px; }
.benefit { border-radius: 22px; padding: 28px; }
.benefit img { margin-bottom: 18px; }
.benefit h3 { font-size: 21px; line-height: 1.3; }
.benefit p { font-size: 16px; line-height: 1.55; margin-top: 12px; color: var(--text); }
h2 { font-size: clamp(32px, 4vw, 48px); line-height: 1.16; letter-spacing: -.025em; font-weight: 700; }
.features { text-align: center; padding-top: 42px; padding-bottom: 38px; }
.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-top: 29px; }
.feature-icon { display: inline-flex; width: 88px; height: 88px; align-items: center; justify-content: center; border-radius: 23px; margin-bottom: 14px; }
.feature-icon img { width: 43px; height: 43px; }
.lavender { background: var(--lavender); }
.sage { background: var(--sage); }
.coral { background: var(--coral); }
.sea { background: var(--sea); }
h3 { font-size: 17px; line-height: 1.4; font-weight: 650; letter-spacing: -.35px; }
.feature-grid p { color: var(--muted); font-size: 16px; line-height: 1.45; max-width: 260px; margin: 7px auto 0; }
.app-availability { max-width: 760px; margin: 36px auto 0; padding: 28px; border-radius: 24px; background: var(--sea); scroll-margin-top: 28px; }
.app-availability h3 { font-size: 24px; line-height: 1.25; letter-spacing: -.6px; }
.app-availability > p { margin-top: 8px; color: var(--text); font-size: 16px; }
.store-buttons { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 18px; margin-top: 22px; }
.store-option { display: flex; flex-direction: column; align-items: center; }
.store-button { appearance: none; display: flex; align-items: center; justify-content: center; width: 232px; min-height: 100px; padding: 0; border: 0; background: transparent; opacity: 1; cursor: not-allowed; }
.store-badge { height: 60px; width: auto; max-width: none; }
.google-play-badge { height: 78.125px; }
.store-status { color: var(--muted); font-size: 13px; line-height: 1.4; }
[hidden] { display: none !important; }
.app-showcase { padding-top: 54px; scroll-margin-top: 28px; }
.showcase-heading > h3 { margin-top: 12px; font-size: clamp(29px, 3.3vw, 42px); line-height: 1.16; letter-spacing: -.025em; }
.showcase-toolbar { display: flex; justify-content: flex-end; max-width: 1120px; margin: 24px auto 0; }
.showcase-play { appearance: none; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); cursor: pointer; }
.showcase-play:hover { border-color: var(--petrol); }
.showcase-play:disabled { opacity: .5; cursor: default; }
.showcase-play img { width: 22px; height: 22px; }
.showcase-grid { --shot-width: 420px; position: relative; display: flex; align-items: stretch; gap: 28px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--petrol) var(--line); padding: 30px max(16px, calc((100% - var(--shot-width)) / 2)) 34px; margin-top: 16px; }
.showcase-enhanced .showcase-grid { scroll-snap-type: none; scroll-behavior: auto; padding-inline: 16px; overflow-anchor: none; }
.app-shot { flex: 0 0 var(--shot-width); width: var(--shot-width); scroll-snap-align: center; background: var(--lavender); border-radius: 28px; padding: 28px; text-align: left; transition: transform .55s ease; }
.showcase-enhanced .app-shot { transform: translateY(14px) scale(.95); }
.showcase-enhanced .app-shot.is-active { transform: translateY(0) scale(1); box-shadow: 0 12px 28px #191B1A0A; }
.shot-services { background: var(--coral); }
.shot-booking { background: var(--sage); }
.shot-phone { background: var(--sea); }
.shot-tablet { flex-basis: 520px; width: 520px; background: var(--coral); }
.shot-client-form { background: var(--sage); }
.app-shot figcaption { min-height: 150px; }
.shot-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; font-size: 11px; font-weight: 650; letter-spacing: 1.6px; text-transform: uppercase; }
.shot-label > span:last-child { font-size: 28px; font-weight: 450; letter-spacing: -1.5px; line-height: 1; }
.app-shot figcaption h3 { font-size: 26px; line-height: 1.15; letter-spacing: -.7px; }
.app-shot figcaption p { color: var(--muted); font-size: 15px; line-height: 1.45; margin-top: 10px; max-width: 310px; }
.shot-services figcaption p { color: #725647; }
.screen-link { display: block; width: 280px; max-width: 100%; margin: 6px auto 12px; border-radius: 14px; transform: rotate(-2deg); transition: transform .55s ease; }
.shot-services .screen-link { transform: rotate(2deg); }
.shot-booking .screen-link { transform: rotate(-1.5deg); }
.shot-phone .screen-link, .shot-client-form .screen-link { width: 264px; }
.shot-tablet .screen-link { width: 398px; transform: rotate(1deg); }
.is-active .screen-link, .screen-link:hover, .screen-link:focus-visible { transform: rotate(0); }
.screen-link img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 18px 32px #191B1A16; }
.how-section { background: var(--section); text-align: center; padding-block: 32px 42px; }
.how-section h2 { font-size: 32px; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 24px 0 0; }
.steps li { display: flex; align-items: flex-start; text-align: left; gap: 18px; }
.step-number { flex: none; width: 54px; min-width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 23px; color: var(--icon-ink); }
.steps li > div { min-width: 0; }
.steps h3 { color: var(--text); font-weight: 650; font-size: 17px; padding-top: 4px; }
.steps p { color: var(--text); font-size: 15px; line-height: 1.5; margin-top: 6px; }
.first-appointment { display: flex; justify-content: space-between; align-items: center; gap: 32px; text-align: left; border-top: 1px solid var(--line); padding-top: 28px; margin-top: 30px; }
.first-appointment p { font-size: 16px; line-height: 1.6; }
.first-appointment strong { font-size: 19px; font-weight: 650; }
.first-appointment .button { flex: none; font-size: 16px; }
.step-number { color: var(--petrol); font-weight: 650; }
.pricing { text-align: center; padding-block: 86px 70px; }
.pricing h2 { margin-top: 12px; }
.section-intro { margin-top: 14px; color: var(--muted); font-size: 18px; }
.pricing-trial { display: inline-block; margin-top: 18px; padding: 8px 18px; background: var(--sage); color: var(--petrol); border-radius: 99px; font-size: 13px; font-weight: 550; }
.price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; text-align: left; margin-top: 46px; align-items: stretch; }
.price-card { --card-bg: #EDE4F6; --card-text: #2A2034; --card-muted: #65576F; --card-accent: #5D3A79; --card-line: #CDBBDB; --card-panel: #F7F1FB; position: relative; padding: 22px 28px 26px; border: 1px solid var(--card-line); border-radius: 24px; background: var(--card-bg); color: var(--card-text); display: flex; flex-direction: column; }
.price-card[data-plan="large"] { --card-bg: #FBE1D2; --card-text: #35271F; --card-muted: #725647; --card-accent: #8A422F; --card-line: #DFB9A3; --card-panel: #FFF0E7; }
.price-card.recommended { --card-bg: #205D58; --card-text: #FFFFF7; --card-muted: #D4E7DF; --card-accent: #F5EAB1; --card-line: #4D8178; --card-panel: #2C6B63; border: 2px solid var(--card-bg); padding: 21px 27px 25px; box-shadow: 0 12px 30px #145C591A; }
.recommendation { position: absolute; top: -17px; left: 24px; padding: 6px 17px; border-radius: 99px; background: #F5EAB1; color: #244C43; font-size: 12px; font-weight: 700; }
.plan-art { width: 100%; height: 156px; object-fit: contain; margin-bottom: 10px; }
.plan-name { font-size: 29px; letter-spacing: -.8px; }
.plan-story { margin-top: 6px; min-height: 44px; color: var(--card-accent); font-size: 16px; line-height: 1.4; font-weight: 550; }
.plan-audience { color: var(--card-muted); margin-top: 6px; min-height: 45px; font-size: 15px; }
.monthly-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.monthly-price strong { font-size: clamp(36px, 3.8vw, 47px); font-weight: 650; letter-spacing: -2px; line-height: 1.2; }
.monthly-price span { color: var(--card-muted); font-size: 14px; }
.plan-limits { list-style: none; padding: 0; margin: 18px 0 14px; font-size: 15px; line-height: 1.65; }
.plan-included { display: flex; align-items: center; gap: 7px; color: var(--card-muted); font-size: 12px; line-height: 1.45; margin-bottom: 22px; }
.plan-included img { flex: none; }
.recommended .plan-included img { filter: invert(1); }
.billing-options { border-top: 1px solid var(--card-line); padding-top: 18px; margin-top: auto; display: grid; gap: 12px; }
.billing-option { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.billing-option.annual { background: var(--card-panel); border-radius: 12px; padding: 11px 12px; margin-inline: -12px; }
.billing-option small { display: block; margin-top: 3px; color: var(--card-accent); font-size: 13px; font-weight: 550; }
.billing-option strong { white-space: nowrap; font-size: 16px; }
.price-card .button { margin-top: 22px; font-size: 16px; min-height: 48px; padding-inline: 10px; color: var(--card-accent); border-color: var(--card-accent); background: transparent; }
.price-card .button:hover { background: var(--card-panel); }
.price-card.recommended .button { background: #FFFFF7; color: #205D58; border-color: #FFFFF7; }
.price-card.recommended .button:hover { background: #F5EAB1; border-color: #F5EAB1; }
.price-card :focus-visible { outline-color: var(--card-accent); }
.trial-explainer { max-width: 830px; margin: 28px auto 0; padding: 24px 28px; border-radius: 20px; background: var(--sea); font-size: 16px; line-height: 1.6; }
.trial-explainer strong { display: block; font-size: 20px; font-weight: 650; letter-spacing: -.3px; }
.trial-explainer p + p { margin-top: 8px; }
.pricing-notes { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 25px auto 0; max-width: 830px; }
.pricing-notes p + p { margin-top: 9px; }
.faq { display: grid; grid-template-columns: .85fr 1.4fr; gap: 90px; border-top: 1px solid var(--line); padding-block: 64px 86px; }
.faq-heading h2 { margin-top: 13px; font-size: 38px; max-width: 320px; }
.faq-heading > p:last-child { color: var(--muted); font-size: 17px; margin-top: 18px; }
.faq-heading a, .faq-answer a { color: var(--petrol); text-underline-offset: 4px; }
details { border-bottom: 1px solid var(--line); }
details:first-child { border-top: 1px solid var(--line); }
summary { list-style: none; cursor: pointer; padding-block: 20px; display: flex; gap: 20px; align-items: center; justify-content: space-between; font-size: 17px; font-weight: 550; line-height: 1.45; }
summary::-webkit-details-marker { display: none; }
summary img { flex: 0 0 20px; transition: transform .15s; }
details[open] summary img { transform: rotate(45deg); }
summary:hover { color: var(--petrol); }
.faq-answer { padding: 0 40px 20px 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.closing-section { padding-bottom: 68px; }
.closing-cta { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 48px; background: #205D58; color: #FFFFF7; border-radius: 32px; padding: 56px 64px; }
.closing-copy .eyebrow { color: #D4E7DF; }
.closing-copy h2 { font-size: clamp(38px, 4.4vw, 60px); margin-top: 18px; line-height: 1.08; }
.closing-copy h2 span { color: #F5EAB1; }
.closing-description { color: #D4E7DF; font-size: 18px; line-height: 1.6; margin-top: 20px; max-width: 470px; }
.closing-copy .button { margin-top: 26px; background: #FFFFF7; color: #205D58; border-color: #FFFFF7; }
.closing-copy .button:hover { background: #F5EAB1; }
.closing-reassurance { max-width: 420px; color: #D4E7DF; font-size: 14px; line-height: 1.6; margin-top: 14px; }
.closing-aside { text-align: center; }
.closing-aside img { width: 100%; max-width: 430px; height: auto; margin: 0 auto 18px; }
.closing-aside p { font-size: 21px; line-height: 1.4; font-weight: 550; }
.closing-aside a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 12px; color: #F5EAB1; font-size: 15px; text-underline-offset: 5px; }
.closing-cta :focus-visible { outline-color: #F5EAB1; }
.site-footer { background: var(--footer); padding-block: 40px 25px; }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-top .wordmark span { font-size: 26px; }
.footer-top p { font-size: 15px; color: var(--muted); }
.information-page { min-height: 100svh; display: flex; flex-direction: column; }
.information-page .site-header { flex-shrink: 0; }
.ownership { max-width: 1040px; padding-block: 64px 88px; flex: 1; }
.ownership h1 { font-size: clamp(40px, 5vw, 64px); line-height: 1.12; margin-top: 14px; }
.ownership-intro { color: var(--muted); font-size: 20px; margin-top: 20px; }
.ownership-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; margin-top: 40px; }
.owner-card, .contact-card { padding: 36px; border-radius: 24px; min-width: 0; }
.owner-card { background: var(--lavender); }
.contact-card { background: var(--sage); }
.ownership-grid .eyebrow { color: var(--text); }
.ownership-grid h2 { font-size: 32px; margin-top: 12px; }
.owner-type, .contact-card > p:not(.eyebrow) { color: var(--text); font-size: 16px; margin-top: 12px; }
.owner-details { margin: 28px 0 0; }
.owner-details > div + div { margin-top: 24px; }
.owner-details dt { font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.owner-details dd { margin: 0; font-size: 17px; line-height: 1.6; }
.owner-details address { font-style: normal; }
.contact-email { display: inline-flex; align-items: center; min-height: 44px; margin-top: 20px; color: var(--petrol); font-size: 21px; font-weight: 600; text-underline-offset: 5px; }
.footer-bottom { border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 25px; padding-top: 18px; font-size: 12px; color: var(--muted); }
.footer-bottom nav { display: flex; flex-wrap: wrap; column-gap: 24px; row-gap: 5px; }
.footer-bottom a { min-height: 32px; display: inline-flex; align-items: center; text-underline-offset: 4px; }
.footer-bottom p { white-space: nowrap; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #1C1C1E; --surface: #262628; --text: #F5F5F6; --muted: #BFC0C7; --petrol: #9BD5C8; --on-petrol: #10201F; --line: #4C4C52; --lavender: #343039; --sage: #293633; --coral: #3A312C; --sea: #293633; --icon-ink: #F5F5F6; --recommended: #293633; --section: #242128; --footer: #232325; }
  .feature-icon img, summary img { filter: invert(1); }
  .benefit img { filter: invert(1); }
  .showcase-play img { filter: invert(1); }
  .hero-note { opacity: .85; }
  .note-right { opacity: 1; filter: brightness(2.7); }
  .shot-services figcaption p { color: var(--muted); }
  .button-primary:hover { background: #B8E5D9; border-color: #B8E5D9; }
  .price-card { --card-bg: #342D40; --card-text: #F5EDF9; --card-muted: #D4C4DD; --card-accent: #DDBCF8; --card-line: #62526F; --card-panel: #43374F; }
  .price-card[data-plan="large"] { --card-bg: #402E26; --card-text: #FFF0E6; --card-muted: #E5C5B2; --card-accent: #FFC9A7; --card-line: #715345; --card-panel: #50382C; }
  .price-card.recommended { --card-bg: #205D58; --card-text: #FFFFF7; --card-muted: #D4E7DF; --card-accent: #F5EAB1; --card-line: #4D8178; --card-panel: #2C6B63; }
  .plan-included img { filter: invert(1); }
}
@media (min-width: 1200px) { .hero-intro { padding-top: 18px; padding-bottom: 44px; } .features { padding-top: 55px; } }
@media (max-width: 1000px) { .note-left { left: 0; } .note-right { right: 0; } .hero-description { max-width: 650px; } .faq { gap: 50px; } .price-card { padding-inline: 22px; } .price-card.recommended { padding-inline: 21px; } }
@media (max-width: 850px) { .note-left { width: 140px; top: 20px; } .note-right { width: 180px; right: 0; } h1 { font-size: 66px; } .hero-description { font-size: 20px; max-width: 590px; } .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 22px; } .steps { gap: 20px; } .steps li { flex-direction: column; gap: 10px; } .price-grid { gap: 14px; } .price-card { padding-inline: 18px; } .price-card.recommended { padding-inline: 17px; } .billing-option { flex-direction: column; gap: 2px; } .monthly-price strong { font-size: 36px; } .faq { grid-template-columns: 1fr; gap: 28px; } .faq-heading h2 { max-width: none; } .faq-heading > p:last-child br { display: none; } }
@media (max-width: 1050px) {
  .showcase-grid { --shot-width: 380px; gap: 24px; }
  .app-shot { padding: 26px; }
  .shot-tablet { flex-basis: 460px; width: 460px; }
}
@media (max-width: 1050px) {
  .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audience-tile figcaption { font-size: 22px; }
}
@media (max-width: 740px) {
  .benefits-grid { grid-template-columns: 1fr; gap: 14px; }
  .benefit { padding: 24px; }
  .benefit img { float: right; margin: 0 0 16px 16px; }
  .benefit h3 { font-size: 20px; }
  .first-appointment { flex-direction: column; gap: 20px; align-items: flex-start; }
  .closing-cta { grid-template-columns: 1fr; gap: 28px; padding: 32px 26px; border-radius: 24px; }
  .closing-description { font-size: 17px; }
  .closing-copy .button { width: 100%; font-size: 16px; }
  .closing-aside img { max-width: 260px; margin-bottom: 8px; }
  .closing-aside p { font-size: 18px; }
  .hero-annotations { display: flex; align-items: center; justify-content: space-between; max-width: 410px; margin: 12px auto 0; }
  .hero-note { position: static; }
  .note-left { width: 145px; }
  .note-right { width: 180px; }
  .hero-gallery { grid-template-columns: 1fr; gap: 14px; }
  .hero-gallery > figure { aspect-ratio: 4 / 5; border-radius: 14px 14px 0 0; }
  .product-visual { padding: 21px; }
  .price-grid { grid-template-columns: 1fr; gap: 29px; max-width: 460px; margin-inline: auto; }
  .price-card, .price-card.recommended { padding: 26px; }
  .plan-art { height: 170px; margin-top: -10px; }
  .plan-story, .plan-audience { min-height: 0; }
  .monthly-price strong { font-size: 43px; }
  .billing-option { flex-direction: row; }
}
@media (max-width: 600px) {
  .wrap { width: calc(100% - 36px); }
  .site-header { height: 76px; padding-inline: 0; }
  .wordmark { gap: 7px; }
  .wordmark img { width: 33px; height: 33px; }
  .wordmark span { font-size: 25px; letter-spacing: -1.1px; }
  .site-header nav { gap: 15px; }
  .nav-prices { font-size: 14px; }
  .header-login { padding: 8px 19px; font-size: 14px; }
  .hero-intro { padding-top: 18px; padding-bottom: 27px; }
  .eyebrow { font-size: 10px; letter-spacing: 1.5px; }
  h1 { font-size: clamp(43px, 12.5vw, 62px); letter-spacing: -.055em; margin-top: 20px; line-height: 1.04; }
  .hero-description { font-size: 17px; line-height: 1.5; margin-top: 20px; max-width: 470px; }
  .desktop-break { display: none; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 24px; max-width: 390px; margin-inline: auto; }
  .hero-actions .button { min-width: 0; min-height: 50px; font-size: 16px; }
  .trial-note { font-size: 12px; margin-top: 11px; }
  .section { padding-block: 45px; }
  .daily-benefits { padding-top: 30px; padding-bottom: 12px; }
  .closing-section { padding-bottom: 40px; }
  .audience-intro { font-size: 17px; }
  .audience-grid { gap: 20px; margin-top: 24px; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-tile figcaption { font-size: 22px; padding: 20px; }
  .features { padding-block: 34px; }
  h2 { font-size: 31px; line-height: 1.2; }
  .feature-grid { margin-top: 25px; gap: 26px 17px; }
  .feature-icon { width: 68px; height: 68px; border-radius: 18px; margin-bottom: 12px; }
  .feature-icon img { width: 35px; height: 35px; }
  .feature-grid h3 { font-size: 15px; line-height: 1.4; }
  .feature-grid p { font-size: 14px; line-height: 1.5; }
  .app-availability { margin-top: 28px; padding: 24px 20px; border-radius: 20px; }
  .app-availability h3 { font-size: 22px; }
  .app-availability > p { font-size: 14px; }
  .store-buttons { flex-direction: column; align-items: center; gap: 14px; margin-top: 20px; }
  .app-showcase { padding-top: 40px; }
  .showcase-heading > h3 { font-size: 30px; }
  .showcase-grid { --shot-width: calc(100vw - 84px); gap: 16px; padding-block: 22px 26px; margin-top: 0; }
  .app-shot { padding: 22px; border-radius: 24px; }
  .shot-tablet { flex-basis: var(--shot-width); width: var(--shot-width); }
  .app-shot figcaption { min-height: 154px; }
  .app-shot figcaption h3 { font-size: 23px; }
  .app-shot figcaption p { font-size: 15px; }
  .shot-label { margin-bottom: 18px; }
  .how-section { padding-block: 30px; }
  .how-section h2 { font-size: 30px; }
  .steps { grid-template-columns: 1fr; gap: 22px; margin-top: 24px; }
  .steps li { flex-direction: row; gap: 17px; }
  .step-number { font-size: 21px; }
  .steps h3 { font-size: 16px; }
  .steps p { font-size: 14px; }
  .pricing { padding-block: 48px; }
  .section-intro { font-size: 16px; max-width: 290px; margin-inline: auto; }
  .price-grid { grid-template-columns: 1fr; gap: 29px; margin-top: 32px; }
  .price-card, .price-card.recommended { padding: 26px; }
  .plan-art { height: 170px; margin-top: -10px; }
  .plan-story, .plan-audience { min-height: 0; }
  .plan-story { margin-top: 5px; }
  .plan-audience { margin-top: 8px; }
  .monthly-price strong { font-size: 43px; }
  .plan-limits { min-height: 0; margin-block: 17px 22px; }
  .billing-option { flex-direction: row; }
  .trial-explainer { padding: 22px 20px; margin-top: 24px; font-size: 15px; }
  .trial-explainer strong { font-size: 19px; }
  .pricing-notes { font-size: 13px; margin-top: 23px; }
  .faq { padding-block: 40px 48px; gap: 24px; }
  .faq-heading h2 { font-size: 31px; }
  .faq-heading > p:last-child { font-size: 16px; }
  summary { font-size: 16px; padding-block: 18px; gap: 16px; }
  .faq-answer { padding-right: 15px; font-size: 15px; }
  .site-footer { padding-block: 30px 20px; }
  .footer-top { flex-direction: column; align-items: flex-start; gap: 10px; }
  .ownership { padding-block: 36px 48px; }
  .ownership-intro { font-size: 17px; margin-top: 16px; }
  .ownership-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  .owner-card, .contact-card { padding: 26px; border-radius: 20px; }
  .information-page .site-header nav { gap: 14px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 15px; margin-top: 20px; }
  .footer-bottom nav { gap: 8px 20px; }
  .footer-bottom a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, summary img, .app-shot, .screen-link, .showcase-toolbar button { transition: none; }
  .button:hover, .screen-link, .shot-services .screen-link, .shot-booking .screen-link, .showcase-enhanced .app-shot { transform: none; }
}
