/* ARC Aesthetics · concept 04. Loaded only by the ARC layout. */
@font-face { font-family:'ARC Sans'; src:url('../fonts/dm-sans-regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'ARC Sans'; src:url('../fonts/dm-sans-medium.ttf') format('truetype'); font-weight:500; font-display:swap; }
@font-face { font-family:'ARC Sans'; src:url('../fonts/dm-sans-semibold.ttf') format('truetype'); font-weight:600; font-display:swap; }
@font-face { font-family:'ARC Sans'; src:url('../fonts/dm-sans-bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
.arc-site { --arc-ink:#182923; --arc-green:#154d3e; --arc-lime:#def19a; --arc-peach:#f6d4bd; --arc-paper:#f6f7f2; --arc-muted:#5b6861; --arc-line:#dce3dc; margin:0; background:#fff; color:var(--arc-ink); font:400 18px/1.7 'ARC Sans',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.arc-site [hidden] { display:none!important; }
:where(.arc-site) h1,:where(.arc-site) h2,:where(.arc-site) h3,:where(.arc-site) h4 { margin:0 0 22px; font-weight:500; letter-spacing:-.055em; line-height:1.08; text-wrap:balance; }
:where(.arc-site) h1 { font-size:clamp(46px,5.5vw,76px); }
:where(.arc-site) h2 { font-size:clamp(34px,3.75vw,52px); }
:where(.arc-site) h3 { font-size:26px; letter-spacing:-.035em; line-height:1.22; }
:where(.arc-site) p { margin:0 0 23px; color:var(--arc-muted); }
:where(.arc-site) em { color:var(--arc-green); font-style:normal; }
:where(.arc-site) a { color:inherit; text-underline-offset:4px; }
:where(.arc-site) img { display:block; max-width:100%; height:auto; }
:where(.arc-site) figure { margin:0; }
:where(.arc-site) button,:where(.arc-site) input,:where(.arc-site) select,:where(.arc-site) textarea { font:inherit; }
:where(.arc-site) button { cursor:pointer; }
:where(.arc-site) button:disabled { cursor:default; }
:where(.arc-site) :focus-visible { outline:3px solid #72a997; outline-offset:4px; }
:where(.arc-site) ::selection { background:var(--arc-lime); color:var(--arc-ink); }
.arc-container { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.arc-section { padding:100px 0; }
.arc-eyebrow { margin:0 0 22px; color:var(--arc-green); font-size:12px; font-weight:700; line-height:1.6; letter-spacing:.13em; text-transform:uppercase; }
.arc-btn,.arc-btn-outline { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:56px; padding:15px 26px; border:1px solid var(--arc-green); border-radius:50px; background:var(--arc-green); color:#fff; text-decoration:none; font-size:16px; font-weight:600; line-height:1.45; transition:background .18s,transform .18s; }
.arc-btn:hover { background:#0c382c; transform:translateY(-2px); }
.arc-btn-outline { background:transparent; border-color:#becac3; color:var(--arc-green); }
.arc-btn-outline:hover { background:var(--arc-paper); }
.arc-btn-lime { background:var(--arc-lime); color:var(--arc-ink); border-color:var(--arc-lime); }
.arc-btn-lime:hover { background:#cce67b; }
.arc-btn [aria-hidden] { font-size:22px; line-height:1; font-weight:400; }
.arc-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 28px; }
.arc-text-link { display:inline-flex; align-items:center; gap:18px; padding:9px 0; font-size:16px; font-weight:600; text-decoration:none; line-height:1.5; }
.arc-text-link:hover { color:#33775b; }
.arc-note { font-size:13px; line-height:1.7; color:var(--arc-muted); }
.arc-skip { position:fixed; top:-100px; left:20px; z-index:100; padding:12px 20px; background:var(--arc-ink); color:white; }
.arc-skip:focus { top:8px; }
.arc-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Navigation: clear labels, generous touch targets, no focus-loss dismissal. */
.arc-concept-bar { background:var(--arc-green); color:#fff; font-size:12px; line-height:1.5; }
.arc-concept-bar > div { min-height:34px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.arc-concept-bar a { text-decoration:none; color:var(--arc-lime); }
.arc-header { position:sticky; top:0; z-index:30; background:#fffffffa; border-bottom:1px solid var(--arc-line); backdrop-filter:blur(14px); }
.arc-header-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; min-height:100px; }
.arc-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--arc-green); flex-shrink:0; }
.arc-brand > img { width:42px; height:42px; }
.arc-brand > span { font-size:54px; font-weight:600; line-height:.77; letter-spacing:-.075em; }
.arc-brand small { display:block; margin-top:13px; font-size:12px; font-weight:600; line-height:1; letter-spacing:.14em; }
.arc-navigation { display:flex; align-items:center; gap:30px; }
.arc-navigation > a { font-size:15px; font-weight:500; text-decoration:none; white-space:nowrap; }
.arc-navigation > a:not(.arc-btn):hover,.arc-navigation > a[aria-current='page'] { color:#33775b; }
.arc-navigation > .arc-btn { margin-left:10px; font-weight:600; }
.arc-menu-toggle { display:none; justify-content:center; align-items:center; gap:12px; border:1px solid var(--arc-line); border-radius:30px; padding:9px 16px; min-height:46px; background:#fff; color:var(--arc-ink); font-size:14px; }
.arc-mobile-bar { display:none; }

/* The home page pairs candid beauty imagery with concrete ways to get started. */
.arc-hero { background:var(--arc-paper); padding:44px 0 40px; }
.arc-hero-grid { display:grid; grid-template-columns:1.17fr 1fr; align-items:center; gap:64px; }
.arc-hero-copy { padding:12px 0; }
.arc-hero-copy > .arc-eyebrow { display:flex; align-items:center; gap:11px; letter-spacing:.085em; font-size:13px; margin-bottom:24px; }
.arc-small-cross { font-size:23px; line-height:1; }
.arc-hero h1 { font-size:clamp(62px,6.1vw,88px); line-height:.99; letter-spacing:-.065em; margin:0 0 28px; }
.arc-hero h1 > span { color:var(--arc-green); }
.arc-hero-description { max-width:535px; font-size:19px; line-height:1.65; margin-bottom:31px; }
.arc-hero .arc-actions { gap:20px 25px; }
.arc-hero-detail { display:flex; flex-wrap:wrap; gap:7px 15px; margin-top:24px; font-size:12px; color:var(--arc-muted); }
.arc-hero-detail > span:not(:first-child)::before { content:'·'; margin-right:15px; }
.arc-hero-portrait { position:relative; height:635px; border-radius:180px 180px 12px 12px; background:#dce2d4; overflow:hidden; }
.arc-hero-portrait > img { width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.arc-photo-caption { position:absolute; top:21px; left:50%; transform:translateX(-50%); width:max-content; max-width:85%; margin:0; padding:6px 13px; border-radius:20px; background:var(--arc-paper); text-align:center; font-size:12px; letter-spacing:.015em; color:var(--arc-green); }
.arc-photo-card { display:block; position:absolute; left:24px; bottom:44px; padding:23px 27px; width:282px; border-radius:12px; background:var(--arc-peach); text-decoration:none; color:var(--arc-ink); }
.arc-photo-card small { display:block; font-size:12px; font-weight:600; line-height:1.6; margin-bottom:13px; letter-spacing:.025em; }
.arc-photo-card strong { display:block; font-size:27px; font-weight:500; line-height:1.12; letter-spacing:-.045em; }
.arc-photo-card > span:last-child { display:block; margin-top:16px; font-size:13px; font-weight:600; }
.arc-card-icon { position:absolute; top:57px; right:21px; font-size:26px; }
.arc-portrait-note { position:absolute; bottom:13px; left:24px; right:15px; font-size:12px; color:#fff; width:fit-content; background:#182923bf; padding:2px 6px; border-radius:3px; }
.arc-quick-start { display:grid; grid-template-columns:1.15fr 1fr auto; align-items:end; gap:32px; padding:30px 34px; margin-top:36px; background:#fff; border:1px solid var(--arc-line); border-radius:12px; }
.arc-quick-start h2 { font-size:26px; letter-spacing:-.04em; margin:0 0 8px; }
.arc-quick-start .arc-eyebrow { margin-bottom:9px; font-size:12px; letter-spacing:.06em; }
.arc-quick-start .arc-field { margin:0; }
.arc-principles { background:#fff; border-block:1px solid var(--arc-line); }
.arc-principles > div { display:flex; align-items:center; justify-content:space-between; gap:28px; padding-block:23px; }
.arc-principles span { display:flex; align-items:center; gap:14px; font-size:14px; font-weight:500; }
.arc-principles b { color:var(--arc-green); font-size:22px; line-height:1; font-weight:400; }

/* Shared page components support the complete menu and appointment experience. */
.arc-page-hero { padding:70px 0 64px; background:var(--arc-paper); border-bottom:1px solid var(--arc-line); }
.arc-page-hero h1 { max-width:1000px; margin-bottom:28px; }
.arc-page-hero .arc-container > p:not(.arc-eyebrow) { max-width:710px; font-size:20px; }
.arc-page-hero .arc-actions { margin-top:30px; }
.arc-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:55px; margin-bottom:42px; }
.arc-section-heading h2 { margin:0; }
.arc-section-heading > p,.arc-section-heading > div:last-child:not(:first-child) { max-width:425px; }
.arc-section-heading > p { margin:0; }
.arc-section-heading > a { flex-shrink:0; }
.arc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.arc-grid:has(> :nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.arc-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:72px; align-items:start; }
.arc-split > *,.arc-grid > * { min-width:0; }
.arc-card { padding:32px; border:1px solid var(--arc-line); border-radius:14px; background:#fff; }
.arc-card h2 { font-size:31px; }
.arc-card p { font-size:17px; }
.arc-card > :last-child { margin-bottom:0; }
.arc-tags { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.arc-tags > span { padding:7px 12px; border-radius:30px; background:var(--arc-paper); font-size:12px; font-weight:500; }
.arc-callout { display:flex; align-items:center; justify-content:space-between; gap:35px; border-radius:16px; padding:45px; background:#edf3e4; }
.arc-callout > div { max-width:760px; }
.arc-callout > .arc-btn { flex-shrink:0; }
.arc-callout > div > p:last-child { margin-bottom:0; }
p.arc-callout { display:block; font-size:17px; }
.arc-field { margin:0 0 24px; }
.arc-field > label { display:block; margin-bottom:9px; font-size:14px; font-weight:600; line-height:1.5; }
.arc-field input,.arc-field select,.arc-field textarea { display:block; width:100%; min-height:56px; padding:14px 15px; border:1px solid #b7c5bc; border-radius:7px; background:#fff; color:var(--arc-ink); font-size:16px; line-height:1.5; }
.arc-field .arc-note { margin:9px 0 0; }
.arc-form { border:1px solid var(--arc-line); border-radius:16px; background:#fff; padding:35px; }
.arc-form fieldset { padding:0; border:0; margin:0 0 30px; min-width:0; }
.arc-form legend { padding:0; margin-bottom:18px; font-size:17px; font-weight:600; }
.arc-check-list { list-style:none; padding:0; margin:26px 0 30px; }
.arc-check-list li { position:relative; margin-bottom:13px; padding-left:29px; font-size:16px; }
.arc-check-list li::before { content:'↗'; position:absolute; left:0; color:var(--arc-green); }
.arc-faq details,details.arc-faq { border-bottom:1px solid var(--arc-line); }
.arc-faq details:first-child,details.arc-faq:first-child { border-top:1px solid var(--arc-line); }
.arc-faq summary { display:block; position:relative; padding:24px 38px 24px 0; font-size:18px; line-height:1.45; font-weight:500; list-style:none; cursor:pointer; }
.arc-faq summary::-webkit-details-marker { display:none; }
.arc-faq summary::after { content:'+'; position:absolute; right:2px; top:23px; color:var(--arc-green); font-size:24px; line-height:1; }
.arc-faq details[open] summary::after,details.arc-faq[open] summary::after { content:'−'; }
.arc-faq details p,details.arc-faq > p { font-size:16px; margin-bottom:24px; }
.arc-prose { max-width:820px; }
.arc-prose h2 { font-size:32px; margin-top:40px; }
.arc-prose li { margin-bottom:10px; color:var(--arc-muted); }

/* A treatment menu designed to make prices and choices easy to compare. */
.arc-home-treatments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--arc-line); border-left:1px solid var(--arc-line); border-radius:14px; overflow:hidden; }
.arc-home-treatment { display:flex; flex-direction:column; padding:31px; background:var(--arc-paper); border-right:1px solid var(--arc-line); border-bottom:1px solid var(--arc-line); }
.arc-home-treatment:nth-child(2),.arc-home-treatment:nth-child(4),.arc-home-treatment:nth-child(6) { background:#fff; }
.arc-treatment-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:36px; }
.arc-treatment-category { font-size:12px; letter-spacing:.09em; font-weight:600; text-transform:uppercase; color:var(--arc-green); }
.arc-home-treatment .arc-treatment-symbol { display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:#e5eddb; color:var(--arc-green); font-size:39px; line-height:1; font-weight:400; }
.arc-home-treatment:nth-child(3n + 2) .arc-treatment-symbol { background:var(--arc-peach); }
.arc-home-treatment:nth-child(3n) .arc-treatment-symbol { background:var(--arc-lime); }
.arc-home-treatment h3 { font-size:27px; margin-bottom:17px; }
.arc-home-treatment h3 a { text-decoration:none; }
.arc-home-treatment > p { font-size:16px; line-height:1.7; margin-bottom:28px; }
.arc-treatment-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:auto; padding-top:22px; border-top:1px solid var(--arc-line); }
.arc-treatment-bottom > span { font-size:13px; color:var(--arc-muted); }
.arc-treatment-bottom strong { font-size:25px; color:var(--arc-ink); font-weight:500; letter-spacing:-.035em; }
.arc-treatment-bottom > a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #bdc9bf; border-radius:50%; font-size:23px; text-decoration:none; flex-shrink:0; }
.arc-treatment-bottom > a:hover { background:var(--arc-green); color:#fff; }
.arc-menu-note { margin:22px 0 0; }
.arc-consultation-section { background:var(--arc-paper); }
.arc-consultation-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:80px; }
.arc-consultation-photo { position:relative; min-height:550px; align-self:stretch; border-radius:12px; overflow:hidden; }
.arc-consultation-photo img { width:100%; height:100%; object-fit:cover; }
.arc-consultation-photo > span { position:absolute; bottom:24px; left:24px; right:24px; padding:17px 20px; font-size:14px; background:#fff; color:var(--arc-ink); border-radius:8px; }
.arc-consultation-copy > p:not(.arc-eyebrow) { font-size:18px; }
.arc-planner-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; }
.arc-planner-copy .arc-note { margin:21px 0 0; max-width:380px; }
.arc-planner-visual { background:#f8e8dd; padding:38px; border-radius:18px 100px 18px 18px; }
.arc-mini-label { font-size:12px; font-weight:600; letter-spacing:.09em; }
.arc-interest-stack { display:grid; gap:13px; margin:32px 0; }
.arc-interest-stack > a { display:flex; align-items:center; gap:18px; padding:20px; background:#fff; border:1px solid #d9c6b9; border-radius:8px; text-decoration:none; font-size:16px; font-weight:500; box-shadow:0 5px 0 #edddcf; }
.arc-interest-stack > a > span { color:var(--arc-muted); font-size:12px; }
.arc-interest-stack > a > b { font-size:23px; font-weight:400; margin-left:auto; }
.arc-interest-stack > a:hover { border-color:var(--arc-green); }
.arc-planner-foot { display:flex; align-items:center; gap:25px; margin-top:37px; }
.arc-planner-foot p { color:var(--arc-ink); font-size:18px; line-height:1.45; letter-spacing:-.02em; margin:0; }
.arc-planner-foot strong { font-weight:500; }
.arc-orbit { display:block; flex-shrink:0; width:85px; height:85px; border:1px solid var(--arc-green); border-radius:50%; position:relative; }
.arc-orbit::before,.arc-orbit::after { content:''; position:absolute; top:-1px; left:19px; width:46px; height:85px; border:1px solid var(--arc-green); border-radius:50%; }
.arc-orbit::after { transform:rotate(90deg); }
.arc-visit-section { padding-top:20px; }
.arc-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; }
.arc-process-grid article { padding-top:29px; border-top:1px solid #acbfb1; }
.arc-process-grid article > span { display:block; margin-bottom:32px; font-size:12px; font-weight:600; letter-spacing:.09em; color:var(--arc-green); }
.arc-process-grid p { font-size:17px; margin:0; }
.arc-pricing-banner { background:var(--arc-green); color:#fff; padding:76px 0; overflow:hidden; }
.arc-pricing-banner > div { display:grid; grid-template-columns:1fr 1fr; gap:120px; position:relative; }
.arc-pricing-banner .arc-eyebrow { color:var(--arc-lime); }
.arc-pricing-banner h2 { margin:0; font-size:60px; }
.arc-pricing-banner p:not(.arc-eyebrow) { color:#dce8e0; }
.arc-pricing-banner > div > div { position:relative; z-index:1; }
.arc-banner-orbit { position:absolute; width:570px; height:570px; left:26%; top:-270px; border:1px solid #ffffff14; border-radius:50%; box-shadow:0 0 0 70px #ffffff05,0 0 0 71px #ffffff12; }
.arc-final-cta { background:var(--arc-peach); text-align:center; padding:80px 0; }
.arc-final-cta h2 { font-size:clamp(58px,6.5vw,90px); line-height:.99; letter-spacing:-.06em; }
.arc-final-cta .arc-actions { justify-content:center; margin:30px 0 22px; }
.arc-final-cta .arc-note { margin:0; }

.arc-footer { background:var(--arc-paper); padding-top:70px; }
.arc-footer-main { display:grid; grid-template-columns:1.15fr 1fr 1fr 1.25fr; gap:40px; padding-bottom:50px; }
.arc-footer-intro > p { font-size:20px; line-height:1.45; color:var(--arc-ink); letter-spacing:-.03em; margin:29px 0 14px; }
.arc-footer-intro strong { font-weight:500; }
.arc-footer-intro > .arc-text-link { font-size:14px; }
.arc-footer-main h2 { font-size:14px; line-height:1.5; font-weight:600; letter-spacing:0; margin-bottom:20px; }
.arc-footer-main > div > a:not(.arc-brand):not(.arc-text-link):not(.arc-btn) { display:block; color:var(--arc-muted); font-size:14px; text-decoration:none; margin-bottom:12px; }
.arc-footer-main > div > a:hover { color:var(--arc-green); }
.arc-footer-main .arc-footer-agency { padding-left:28px; border-left:1px solid var(--arc-line); }
.arc-footer-agency .arc-eyebrow { margin-bottom:13px; }
.arc-footer-agency h2 { font-size:28px; font-weight:500; line-height:1.2; letter-spacing:-.04em; }
.arc-footer-agency .arc-btn { padding-inline:21px; gap:18px; font-size:14px; }
.arc-footer-agency .arc-btn:hover { color:#fff; }
.arc-footer-disclosure { padding-block:24px; border-top:1px solid var(--arc-line); }
.arc-footer-disclosure p { font-size:12px; line-height:1.7; margin:0; max-width:1150px; }
.arc-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:22px; border-top:1px solid var(--arc-line); color:var(--arc-muted); font-size:12px; }
.arc-footer-bottom > div { display:flex; flex-wrap:wrap; gap:24px; }
.arc-footer-bottom a { text-decoration:none; }

@media (max-width:1200px) {
    .arc-container { width:calc(100% - 64px); }
    .arc-navigation { gap:22px; }
    .arc-navigation > a { font-size:14px; }
    .arc-hero-grid { gap:38px; }
    .arc-hero h1 { font-size:74px; }
    .arc-hero-portrait { height:620px; }
    .arc-quick-start { gap:22px; padding:27px; }
    .arc-quick-start h2 { font-size:24px; }
    .arc-quick-start > .arc-btn { padding-inline:20px; font-size:14px; gap:15px; }
    .arc-consultation-grid { gap:48px; }
    .arc-planner-inner { gap:60px; }
    .arc-home-treatment { padding:25px; }
    .arc-footer-main { gap:25px; }
}
@media (max-width:1100px) {
    .arc-header-inner { min-height:90px; }
    .arc-menu-toggle { display:flex; }
    .arc-navigation { display:none; position:absolute; top:100%; left:0; right:0; padding:18px 32px 27px; background:#fff; border-bottom:1px solid var(--arc-line); box-shadow:0 15px 20px #1829230c; max-height:calc(100dvh - 110px); overflow:auto; }
    .arc-navigation.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
    .arc-navigation > a { padding:13px 4px; font-size:16px; }
    .arc-navigation > .arc-btn { margin:12px 0 0; }
    .arc-concept-bar > div > a { display:none; }
    .arc-hero h1 { font-size:65px; }
    .arc-hero .arc-actions { align-items:flex-start; gap:15px; }
    .arc-hero-portrait { height:615px; border-top-left-radius:140px; border-top-right-radius:140px; }
    .arc-hero-detail { gap:6px 12px; }
    .arc-hero-detail > span:not(:first-child)::before { margin-right:12px; }
    .arc-quick-start { grid-template-columns:1fr 1fr; }
    .arc-quick-start > div:first-child { grid-column:1/-1; }
    .arc-quick-start h2 { margin:0; }
    .arc-home-treatments { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .arc-home-treatment:nth-child(n) { background:#fff; }
    .arc-home-treatment:nth-child(4n + 1),.arc-home-treatment:nth-child(4n) { background:var(--arc-paper); }
    .arc-split { gap:42px; }
    .arc-grid { gap:20px; }
    .arc-pricing-banner > div { gap:65px; }
    .arc-footer-main { grid-template-columns:1fr 1fr; gap:42px; }
    .arc-footer-main .arc-footer-agency { padding-left:0; border:0; }
}
@media (max-width:800px) {
    .arc-container { width:calc(100% - 40px); }
    .arc-section { padding:68px 0; }
    .arc-hero { padding:28px 0 30px; }
    .arc-hero-grid { grid-template-columns:1fr; gap:32px; }
    .arc-hero h1 { font-size:clamp(62px,10.7vw,86px); }
    .arc-hero-portrait { height:610px; max-width:600px; width:100%; margin-inline:auto; border-top-left-radius:220px; border-top-right-radius:220px; }
    .arc-hero-portrait > img { object-position:center 35%; }
    .arc-hero-description { max-width:590px; }
    .arc-hero .arc-actions { align-items:center; gap:20px 28px; }
    .arc-quick-start { margin-top:30px; gap:23px; }
    .arc-principles > div { flex-direction:column; align-items:flex-start; gap:15px; }
    .arc-principles span { font-size:14px; }
    .arc-section-heading { display:block; }
    .arc-section-heading > p,.arc-section-heading > div:last-child:not(:first-child) { max-width:100%; margin-top:26px; }
    .arc-section-heading > a { margin-top:22px; }
    .arc-split { grid-template-columns:1fr; gap:36px; }
    .arc-grid { grid-template-columns:1fr; }
    .arc-grid:has(> :nth-child(4):last-child) { grid-template-columns:1fr 1fr; }
    .arc-consultation-grid { grid-template-columns:1fr; gap:42px; }
    .arc-consultation-photo { min-height:0; height:430px; }
    .arc-planner-inner { grid-template-columns:1fr; gap:42px; }
    .arc-process-grid { grid-template-columns:1fr; gap:30px; }
    .arc-process-grid article > span { margin-bottom:22px; }
    .arc-process-grid h3 br { display:none; }
    .arc-visit-section { padding-top:10px; }
    .arc-pricing-banner { padding:60px 0; }
    .arc-pricing-banner > div { grid-template-columns:1fr; gap:28px; }
    .arc-pricing-banner h2 { font-size:50px; }
    .arc-callout { display:block; padding:34px; }
    .arc-callout > .arc-btn { margin-top:28px; }
    .arc-page-hero { padding:50px 0; }
    .arc-page-hero .arc-container > p:not(.arc-eyebrow) { font-size:18px; }
    .arc-footer { padding-bottom:80px; }
    .arc-footer-bottom { display:block; }
    .arc-footer-bottom > div { margin-top:15px; gap:20px; }
    .arc-mobile-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; position:fixed; bottom:0; left:0; right:0; z-index:40; padding:12px 20px max(12px,env(safe-area-inset-bottom)); background:#fffffffa; border-top:1px solid var(--arc-line); box-shadow:0 -4px 24px #1829230b; }
    .arc-mobile-bar > a:first-child { font-size:14px; font-weight:500; text-decoration:none; }
    .arc-mobile-bar > .arc-btn { min-height:46px; padding:12px 19px; font-size:14px; gap:20px; }
}
@media (max-width:500px) {
    .arc-site { font-size:17px; }
    .arc-concept-bar > div { min-height:40px; padding-block:5px; width:calc(100% - 32px); }
    .arc-header-inner { min-height:84px; }
    .arc-brand > img { width:37px; height:37px; }
    .arc-brand > span { font-size:48px; }
    .arc-brand small { font-size:12px; margin-top:11px; }
    .arc-hero { padding-top:19px; }
    .arc-hero h1 { font-size:clamp(53px,13.1vw,66px); }
    .arc-hero-copy > .arc-eyebrow { font-size:12px; letter-spacing:.065em; gap:8px; }
    .arc-hero-description { font-size:18px; margin-bottom:27px; }
    .arc-hero .arc-actions { gap:10px 20px; }
    .arc-hero .arc-btn { gap:20px; padding-inline:22px; }
    .arc-hero .arc-text-link { font-size:15px; }
    .arc-hero-detail { margin-top:17px; }
    .arc-hero-detail > span:last-child { flex-basis:100%; }
    .arc-hero-detail > span:last-child::before { content:none; }
    .arc-hero-portrait { height:480px; border-top-left-radius:150px; border-top-right-radius:150px; }
    .arc-photo-caption { top:17px; font-size:12px; }
    .arc-photo-card { width:250px; left:18px; padding:20px 24px; }
    .arc-photo-card strong { font-size:25px; }
    .arc-photo-card small { font-size:12px; }
    .arc-portrait-note { left:18px; font-size:12px; }
    .arc-quick-start { grid-template-columns:1fr; padding:24px; }
    .arc-quick-start > .arc-btn { font-size:15px; }
    .arc-home-treatments { grid-template-columns:1fr; }
    .arc-home-treatment { padding:28px; }
    .arc-treatment-heading { margin-bottom:28px; }
    .arc-home-treatment:nth-child(n) { background:#fff; }
    .arc-home-treatment:nth-child(2n + 1) { background:var(--arc-paper); }
    .arc-grid:has(> :nth-child(4):last-child) { grid-template-columns:1fr; }
    .arc-card { padding:26px; }
    .arc-consultation-photo { height:360px; }
    .arc-consultation-photo > span { left:18px; right:18px; bottom:18px; padding:14px 17px; font-size:13px; }
    .arc-planner-visual { padding:28px; border-top-right-radius:75px; }
    .arc-interest-stack > a { padding:17px; gap:12px; font-size:15px; }
    .arc-planner-foot { gap:20px; }
    .arc-planner-foot p { font-size:17px; }
    .arc-page-hero h1 { font-size:46px; }
    .arc-form { padding:24px; }
    .arc-callout { padding:27px; }
    .arc-final-cta { padding:65px 0; }
    .arc-final-cta .arc-actions { flex-direction:column; gap:12px; }
    .arc-footer { padding-top:50px; }
    .arc-footer-main { gap:36px 22px; }
    .arc-footer-intro,.arc-footer-agency { grid-column:1/-1; }
    .arc-footer-main .arc-footer-agency { border-top:1px solid var(--arc-line); padding-top:30px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
