/* Tide IV is self-contained. This stylesheet is loaded only by its concept layout.
   Supporting text never falls below 12px; form controls stay at least 16px. */
@font-face {
    font-family:"Tide Sans";
    src:url("../fonts/dm-sans-regular.ttf") format("truetype");
    font-weight:400;
    font-display:swap;
}
@font-face {
    font-family:"Tide Sans";
    src:url("../fonts/dm-sans-medium.ttf") format("truetype");
    font-weight:500;
    font-display:swap;
}
@font-face {
    font-family:"Tide Sans";
    src:url("../fonts/dm-sans-semibold.ttf") format("truetype");
    font-weight:600;
    font-display:swap;
}
@font-face {
    font-family:"Tide Sans";
    src:url("../fonts/dm-sans-bold.ttf") format("truetype");
    font-weight:700 900;
    font-display:swap;
}
html { scroll-behavior:smooth; scroll-padding-top:150px; }
body.iv-site {
    --iv-ink:#123e43;
    --iv-teal:#18776f;
    --iv-muted:#536966;
    --iv-line:#d6e2dc;
    --iv-pale:#f1f7f3;
    --iv-mint:#d3eddc;
    margin:0;
    color:var(--iv-ink);
    background:#fff;
    font:17px/1.7 "Tide Sans",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}
.iv-site * { box-sizing:border-box; }
.iv-site [hidden] { display:none!important; }
.iv-site h1,.iv-site h2,.iv-site h3,.iv-site p { margin:0 0 20px; }
.iv-site h1,.iv-site h2,.iv-site h3 { font-weight:600; line-height:1.13; letter-spacing:-.045em; }
.iv-site h1 { font-size:clamp(44px,5.2vw,76px); }
.iv-site h2 { font-size:clamp(34px,3.5vw,50px); }
.iv-site h3 { font-size:25px; letter-spacing:-.025em; line-height:1.25; }
.iv-site p { color:var(--iv-muted); }
.iv-site em { font-style:normal; color:var(--iv-teal); }
.iv-site a { color:inherit; text-decoration:none; }
.iv-site a:hover { color:var(--iv-teal); }
.iv-site button,.iv-site input,.iv-site select,.iv-site textarea { font:inherit; }
.iv-site button { cursor:pointer; }
.iv-site img { max-width:100%; height:auto; display:block; }
.iv-site svg { display:block; }
.iv-site :focus-visible { outline:3px solid #299786; outline-offset:4px; }
.iv-site a,.iv-site button,.iv-site summary { touch-action:manipulation; }
.iv-site button:disabled { cursor:not-allowed; opacity:.55; }
.iv-container { width:min(1320px,calc(100% - 96px)); margin-inline:auto; }
.iv-section { padding-block:96px; }
.iv-eyebrow {
    font-size:12px;
    line-height:1.6;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
    color:var(--iv-teal)!important;
    margin-bottom:18px!important;
}
.iv-intro,.iv-lead { font-size:20px; line-height:1.65; max-width:680px; }
.iv-caption,.iv-form-note { font-size:13px; line-height:1.7; }
.iv-sr-only,.iv-skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.iv-skip:focus { position:fixed; top:12px; left:12px; z-index:100; background:#fff; padding:15px; }
.iv-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:30px;
    background:var(--iv-ink);
    color:#fff!important;
    border:1px solid var(--iv-ink);
    border-radius:6px;
    padding:16px 24px;
    min-height:56px;
    font-size:16px;
    font-weight:600;
    line-height:1.5;
    transition:background .18s,transform .18s;
}
.iv-btn:hover { background:var(--iv-teal); border-color:var(--iv-teal); transform:translateY(-2px); }
.iv-btn-outline { background:transparent; color:var(--iv-ink)!important; border-color:#9fb8ad; }
.iv-btn-outline:hover { background:#eaf3ed; border-color:var(--iv-teal); }
.iv-btn-light { background:var(--iv-mint); color:var(--iv-ink)!important; border-color:var(--iv-mint); }
.iv-btn-light:hover { background:#e6f6ec; border-color:#e6f6ec; }
.iv-button-row { display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin:28px 0; }
.iv-text-link { display:inline-flex; align-items:center; gap:14px; font-size:15px; font-weight:600; border-bottom:1px solid #9cb8ae; padding-bottom:5px; }
.iv-pill { display:inline-block; padding:6px 13px; border:1px solid #a8c0b280; border-radius:30px; font-size:12px; font-weight:600; line-height:1.5; background:#ffffffa6; }
.iv-shell { position:sticky; top:0; z-index:40; background:#fff; }
.iv-concept-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:9px 32px; font-size:12px; line-height:1.5; background:#113e43; color:#e2f0e9; }
.iv-concept-bar>span { display:flex; align-items:center; flex-wrap:wrap; gap:0 4px; }
.iv-concept-bar a { color:#e2f0e9; text-decoration:underline; text-underline-offset:3px; }
.iv-concept-bar>a { text-decoration:none; flex:none; }
.iv-concept-dot { display:inline-block; height:6px; width:6px; background:#b8ead0; border-radius:50%; margin-right:7px; }
.iv-nav-wrap { display:flex; justify-content:space-between; align-items:center; gap:28px; min-height:96px; padding:15px 0; width:min(1400px,calc(100% - 64px)); margin:auto; border-bottom:1px solid #e5ece7; }
.iv-brand { display:inline-flex; align-items:center; gap:11px; flex:none; }
.iv-brand>img { height:44px; width:37px; }
.iv-brand>span { font-size:40px; font-weight:600; line-height:.95; letter-spacing:-2.5px; }
.iv-brand-iv { font-size:22px; letter-spacing:-1px; margin-left:5px; font-weight:400; }
.iv-brand-caption { display:block; font-size:12px; letter-spacing:1.5px; line-height:1.5; margin-top:7px; font-weight:500; }
.iv-navigation { display:flex; align-items:center; gap:30px; font-size:15px; font-weight:500; }
.iv-navigation>a[aria-current=page]:not(.iv-btn) { color:var(--iv-teal); border-bottom:2px solid var(--iv-teal); }
.iv-navigation .iv-nav-book { min-height:48px; font-size:15px; padding:12px 22px; margin-left:10px; }
.iv-menu-toggle { display:none; }
.iv-home-hero { background:linear-gradient(110deg,#f5f9f4,#edf5ef 80%); overflow:hidden; }
.iv-hero-grid { display:grid; grid-template-columns:1fr 1.09fr; align-items:center; gap:70px; padding-block:56px 72px; }
.iv-location-chip { display:inline-flex; align-items:center; gap:9px; padding:6px 12px; border:1px solid #cadbd0; border-radius:50px; font-size:12px; background:#fff8; margin-bottom:30px; font-weight:500; }
.iv-hero-copy>.iv-eyebrow { margin-bottom:16px!important; }
.iv-hero-copy h1 { font-size:clamp(54px,5.4vw,78px); font-weight:500; line-height:1.02; letter-spacing:-4px; margin-bottom:28px; }
.iv-hero-description { font-size:18px; max-width:470px; line-height:1.7; }
.iv-hero-copy .iv-button-row { margin:28px 0 32px; }
.iv-hero-copy .iv-btn { min-width:180px; }
.iv-hero-facts { display:flex; gap:24px; font-size:12px; font-weight:600; }
.iv-hero-facts>span { display:flex; align-items:center; gap:8px; }
.iv-hero-facts svg { height:20px; width:20px; stroke:var(--iv-teal); fill:none; stroke-width:1.5; }
.iv-hero-visual { position:relative; padding-bottom:31px; }
.iv-hero-photo { width:100%; height:575px!important; object-fit:cover; object-position:48% center; border-radius:120px 16px 16px 16px; }
.iv-photo-label { position:absolute; left:22px; top:24px; background:#fff8; backdrop-filter:blur(8px); padding:6px 10px; border-radius:30px; font-size:12px; font-weight:500; }
.iv-hero-note { position:absolute; display:flex; align-items:center; gap:20px; bottom:0; left:-30px; background:#fff; padding:22px 28px; border:1px solid #d7e4db; border-radius:9px; box-shadow:0 12px 35px #103b4210; }
.iv-note-icon { font-size:40px; color:var(--iv-teal); line-height:1; }
.iv-hero-note strong { display:block; font-size:17px; line-height:1.5; margin-bottom:4px; }
.iv-hero-note div>span { display:block; font-size:13px; line-height:1.6; color:var(--iv-muted); }
.iv-vertical-note { position:absolute; writing-mode:vertical-rl; right:-28px; bottom:45px; font-size:12px; letter-spacing:2px; }
.iv-experience-strip { border-bottom:1px solid var(--iv-line); }
.iv-experience-strip>.iv-container { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:29px; }
.iv-experience-strip span { font-size:14px; line-height:1.6; }
.iv-experience-strip span:first-child { font-size:15px; }
.iv-experience-strip b { font-weight:500; font-size:12px; color:var(--iv-teal); margin-right:10px; }
.iv-section-heading { display:flex; align-items:end; justify-content:space-between; gap:65px; margin-bottom:40px; }
.iv-section-heading h2 { margin-bottom:0; }
.iv-section-heading>p,.iv-section-heading>div+div { max-width:440px; }
.iv-section-heading>p { margin-bottom:0; }
.iv-section-heading>.iv-btn { flex:none; }
.iv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.iv-card { border:1px solid var(--iv-line); background:#fff; border-radius:12px; padding:32px; }
.iv-card p:last-child { margin-bottom:0; }
.iv-treatment-card { border:1px solid var(--iv-line); border-radius:14px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.iv-treatment-art { position:relative; background:#e2efea; display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:300px; padding:38px 30px 20px; overflow:hidden; }
.iv-treatment-art:before { content:""; position:absolute; height:220px; width:220px; border:1px solid #ffffff9c; border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%); }
.iv-treatment-art .iv-pill { position:absolute; top:18px; left:18px; }
.iv-treatment-art img { height:217px; width:167px; position:relative; filter:drop-shadow(8px 12px 8px #2a4c4320); transition:transform .25s; }
a.iv-treatment-art:hover img { transform:rotate(4deg) translateY(-5px); }
.iv-treatment-art .iv-art-caption,.iv-treatment-art-name { font-size:12px; font-weight:500; letter-spacing:1px; position:relative; margin-top:12px; }
.iv-treatment-art.aqua,.iv-accent-aqua { background:#dceddf; }
.iv-treatment-art.peach,.iv-accent-peach { background:#f0e3d8; }
.iv-treatment-art.lavender,.iv-accent-lavender { background:#e7e5f0; }
.iv-accent-lemon { background:#f3eed8; }
.iv-accent-rose { background:#f1dfe1; }
.iv-accent-blue { background:#deeaf2; }
.iv-treatment-info,.iv-treatment-content { padding:25px; flex:1; display:flex; flex-direction:column; }
.iv-treatment-title { display:flex; justify-content:space-between; align-items:start; gap:15px; }
.iv-treatment-title h3 { font-size:23px; letter-spacing:-.6px; margin-bottom:14px; }
.iv-price { font-size:23px; font-weight:600; letter-spacing:-.6px; color:var(--iv-ink)!important; white-space:nowrap; }
.iv-price span { font-size:13px; font-weight:400; letter-spacing:0; }
.iv-treatment-info>p,.iv-treatment-content>p { font-size:15px; line-height:1.7; }
.iv-treatment-meta { display:flex; flex-wrap:wrap; gap:9px 15px; font-size:12px; color:var(--iv-muted); margin-bottom:18px; }
.iv-card-link { display:flex; justify-content:space-between; border-top:1px solid var(--iv-line); padding-top:17px; font-size:15px; font-weight:600; margin-top:auto; }
.iv-treatment-time { font-size:12px!important; color:var(--iv-muted); }
.iv-treatment-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--iv-line); padding-top:18px; margin-top:auto; }
.iv-compare-controls { display:flex; align-items:center; gap:7px; font-size:13px; cursor:pointer; }
.iv-compare-controls input { width:18px; height:18px; accent-color:var(--iv-teal); }
.iv-menu-note { font-size:13px; text-align:center; margin:27px auto 0!important; max-width:850px; }
.iv-soft-section,.iv-section-soft { background:var(--iv-pale); }
.iv-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:75px; align-items:start; }
.iv-editorial-image { position:relative; align-self:stretch; }
.iv-editorial-image>img { width:100%; height:100%; min-height:590px; object-fit:cover; object-position:56% center; border-radius:14px; }
.iv-editorial-image>span { position:absolute; bottom:23px; left:22px; background:#fff; font-size:12px; letter-spacing:1px; border-radius:4px; padding:8px 12px; }
.iv-care-point { display:flex; gap:22px; padding:23px 0; border-bottom:1px solid var(--iv-line); }
.iv-care-point>span { font-size:13px; color:var(--iv-teal); padding-top:4px; }
.iv-care-point h3 { font-size:22px; margin-bottom:10px; }
.iv-care-point p { margin:0; font-size:16px; }
.iv-care-copy>.iv-text-link { margin-top:27px; }
.iv-three-steps { gap:55px; }
.iv-three-steps article { border-top:1px solid #afc8ba; padding-top:26px; }
.iv-step-number { display:block; font-size:14px; color:var(--iv-teal); font-weight:500; margin-bottom:25px; }
.iv-three-steps p { font-size:16px; }
.iv-area-section { background:#eaf3ec; overflow:hidden; }
.iv-area-home { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:80px; padding-block:75px; }
.iv-area-home>div>p:not(.iv-eyebrow) { max-width:415px; }
.iv-area-orbit { position:relative; height:420px; }
.iv-orbit-ring { position:absolute; width:340px; height:340px; border:1px solid #bdd4c4; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }
.iv-orbit-ring:before,.iv-orbit-ring:after { content:""; position:absolute; inset:45px; border:1px solid #c8decf; border-radius:50%; }
.iv-orbit-ring:after { inset:-50px; border-style:dashed; }
.iv-orbit-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; justify-content:center; background:#fff; width:155px; height:155px; border-radius:50%; box-shadow:0 10px 35px #16453e0a; }
.iv-orbit-center img { height:43px; margin-bottom:8px; }
.iv-orbit-center strong { font-size:24px; letter-spacing:-1px; line-height:1.3; }
.iv-orbit-center small { font-size:12px; letter-spacing:1px; }
.iv-city { position:absolute; padding:11px 18px; border:1px solid #c4d8cb; border-radius:50px; background:#fff; font-size:14px; font-weight:500; box-shadow:0 4px 15px #16453e04; }
.iv-city-one { left:0; top:80px; }
.iv-city-two { right:5px; top:45px; }
.iv-city-three { right:0; bottom:115px; }
.iv-city-four { left:25%; bottom:38px; }
.iv-city-five { left:0; top:230px; }
.iv-map-caption { position:absolute; bottom:-15px; font-size:12px; color:var(--iv-muted); width:100%; text-align:center; }
.iv-faq { border-bottom:1px solid #cad9d0; }
.iv-faq summary { position:relative; padding:22px 32px 22px 0; cursor:pointer; list-style:none; font-size:18px; font-weight:500; line-height:1.5; }
.iv-faq summary::-webkit-details-marker { display:none; }
.iv-faq summary:after { content:"+"; position:absolute; right:0; font-size:24px; font-weight:400; top:18px; color:var(--iv-teal); }
.iv-faq[open] summary:after { content:"−"; }
.iv-faq p,.iv-faq>div { font-size:16px; margin-bottom:24px; }
.iv-group-callout { background:#f1f4ef; padding:45px 50px; display:flex; align-items:center; justify-content:space-between; gap:60px; margin-bottom:85px; border-radius:12px; }
.iv-group-callout h2 { font-size:32px; }
.iv-group-callout p:last-child { max-width:650px; margin-bottom:0; }
.iv-group-callout>.iv-btn { flex:none; }
.iv-last-call { background:var(--iv-ink); text-align:center; padding:85px 0; color:#fff; position:relative; overflow:hidden; }
.iv-last-call:before,.iv-last-call:after { content:""; position:absolute; border:1px solid #85b6a626; border-radius:50%; width:500px; height:500px; left:-280px; top:0; pointer-events:none; }
.iv-last-call:after { left:auto; right:-220px; top:70px; }
.iv-last-call h2 { font-size:60px; font-weight:500; }
.iv-last-call em { color:#bae0c7; }
.iv-last-call p { color:#d0e0d8; }
.iv-last-call .iv-eyebrow { color:#b8d7c6!important; }
.iv-last-note { display:block; margin-top:20px; font-size:12px; color:#c4d8cf; }
.iv-footer { background:#0c2e33; color:#d9e9e1; padding:65px 0 0; }
.iv-footer-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr 1.15fr; gap:55px; }
.iv-footer .iv-brand { color:white; margin-bottom:25px; }
.iv-footer .iv-brand-caption { font-size:12px; color:#b9d5c7; }
.iv-footer p { color:#b9d0c5; font-size:15px; }
.iv-footer-brand>p { font-size:19px; }
.iv-footer h2 { font-size:16px; font-weight:500; letter-spacing:0; margin-bottom:22px; }
.iv-footer-grid>div>a:not(.iv-brand):not(.iv-btn) { display:block; font-size:14px; margin-bottom:12px; }
.iv-footer a:hover { color:#b8e4c9; }
.iv-footer .iv-footer-contact { font-size:17px!important; color:#d2eddf; padding-top:4px; }
.iv-footer .iv-btn { font-size:14px; gap:20px; padding:13px 16px; }
.iv-footer-note { font-size:12px!important; margin-top:17px!important; }
.iv-footer-disclosure { border-top:1px solid #88aa9b30; margin-top:45px; padding-top:25px; }
.iv-footer-disclosure>p { font-size:12px; line-height:1.8; max-width:1080px; }
.iv-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:24px; font-size:12px; color:#bbd0c5; border-top:1px solid #88aa9b30; }
.iv-footer-bottom>div { display:flex; gap:24px; flex-wrap:wrap; }
.iv-mobile-book { display:none; }
.iv-page-hero { background:var(--iv-pale); padding:65px 0; border-bottom:1px solid var(--iv-line); }
.iv-page-hero h1 { max-width:860px; margin-bottom:24px; }
.iv-page-hero> .iv-container>p { max-width:740px; }
.iv-page-hero .iv-split { align-items:center; }
.iv-page-hero .iv-caption { margin-top:20px; }
.iv-page-hero h2 { font-size:36px; }
.iv-page-hero>.iv-container>.iv-eyebrow { margin-bottom:20px!important; }
.iv-image { width:100%; height:460px!important; object-fit:cover; border-radius:14px; }
.iv-prose { max-width:820px; }
.iv-prose h2 { margin-top:48px; font-size:36px; }
.iv-prose h2:first-child { margin-top:0; }
.iv-prose h3 { margin-top:30px; }
.iv-prose p,.iv-prose li { font-size:17px; line-height:1.85; }
.iv-prose a { text-decoration:underline; text-underline-offset:3px; }
.iv-callout { background:#e6f0e9; border:1px solid #c8dccd; border-radius:12px; padding:34px; }
.iv-callout h2 { font-size:34px; }
.iv-callout p:last-child { margin-bottom:0; }
.iv-callout h3 { font-size:26px; }
.iv-feature-list { padding-left:22px; color:var(--iv-muted); }
.iv-feature-list li { margin:12px 0; }
.iv-filter-bar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.iv-filter-bar button { border:1px solid #c2d4c9; background:#fff; border-radius:30px; padding:11px 21px; font-size:15px; color:var(--iv-ink); }
.iv-filter-bar button[aria-pressed=true] { color:#fff; background:var(--iv-ink); border-color:var(--iv-ink); }
.iv-comparison:not(:empty) { background:#eff6f1; padding:30px; border:1px solid var(--iv-line); border-radius:12px; margin-top:35px; }
.iv-comparison-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.iv-comparison-heading h2 { font-size:30px; margin:0; }
.iv-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.iv-comparison-grid article { padding:22px; background:#fff; border:1px solid var(--iv-line); border-radius:8px; }
.iv-comparison-grid h3 { font-size:23px; }
.iv-comparison-grid p,.iv-comparison-grid li { font-size:14px; }
.iv-comparison-grid ul { padding-left:18px; margin-bottom:24px; }
.iv-comparison-grid .iv-btn { font-size:14px; min-height:45px; padding:10px 14px; }
.iv-compare-message { font-size:14px; margin-top:17px!important; }
.iv-addon-list { background:white; padding:30px; border:1px solid var(--iv-line); border-radius:12px; }
.iv-addon-row { display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-bottom:1px solid var(--iv-line); }
.iv-addon-row h3 { font-size:22px; margin:0; }
.iv-addon-row span { font-size:21px; }
.iv-addon-list>.iv-caption { margin-top:20px; }
.iv-back-link { font-size:14px; display:inline-block; margin-bottom:35px; }
.iv-treatment-art-large { min-height:460px; border-radius:18px; }
.iv-treatment-art-large img { height:310px; width:auto; }
.iv-treatment-hero .iv-treatment-meta { margin-block:30px; gap:35px; }
.iv-treatment-hero .iv-treatment-meta p { margin:0; display:flex; flex-direction:column; gap:3px; }
.iv-treatment-hero .iv-treatment-meta strong { font-size:28px; font-weight:500; color:var(--iv-ink); }
.iv-treatment-hero .iv-treatment-meta span { font-size:13px; }
.iv-ingredient-list { list-style:none; padding:0; }
.iv-ingredient-list li { border-bottom:1px solid var(--iv-line); padding:14px 0; display:flex; align-items:center; gap:13px; font-size:17px; }
.iv-ingredient-list span { color:var(--iv-teal); font-size:22px; }
.iv-ingredients-card h2 { font-size:34px; }
.iv-area-marker { display:inline-flex; height:45px; width:45px; background:var(--iv-pale); align-items:center; justify-content:center; border-radius:50%; color:var(--iv-teal); margin-bottom:25px; }
.iv-zip-codes { font-size:15px; line-height:1.9; }
.iv-area-card h3 { margin-bottom:13px; }
.iv-area-card .iv-caption { margin-bottom:8px; }
.iv-form { border:1px solid var(--iv-line); border-radius:12px; background:#fff; padding:32px; }
.iv-form h2 { font-size:30px; }
.iv-form .iv-pill { margin-bottom:20px; }
.iv-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.iv-field { display:flex; flex-direction:column; gap:7px; margin-bottom:20px; }
.iv-form-grid .iv-field { margin:0; }
.iv-field label { font-size:14px; font-weight:600; line-height:1.5; }
.iv-field input,.iv-field textarea,.iv-field select { border:1px solid #b9ccc1; background:#fcfdfb; border-radius:5px; min-height:51px; width:100%; padding:12px 13px; color:var(--iv-ink); font-size:16px; }
.iv-field textarea { resize:vertical; min-height:135px; }
.iv-field .iv-form-note { margin:0; }
.iv-form>.iv-field { margin-top:22px; }
.iv-form .iv-button-row { margin-bottom:18px; }
.iv-form .iv-form-note:last-child { margin-bottom:0; }
.iv-form-result { margin-top:22px; }
.iv-form-result h2,.iv-form-result h3 { font-size:28px; }
.iv-form-result dl { margin:20px 0; }
.iv-form-result dt { font-size:13px; color:var(--iv-muted); }
.iv-form-result dd { margin:0 0 14px; font-size:17px; }
.iv-form-result .iv-btn { margin-top:20px; }
.iv-quote { border-block:1px solid #bdd0c3; padding:30px 0; margin-block:28px; }
.iv-quote>strong { font-size:56px; letter-spacing:-2px; font-weight:500; }
.iv-quote p { margin-bottom:10px; }
.iv-zip-card .iv-form { padding:0; border:0; }
[data-iv-zip-result]:not(:empty) { margin-top:24px; background:var(--iv-pale); padding:20px; border-radius:6px; font-size:15px; }
[data-iv-zip-result] p { margin-bottom:12px; }
[data-iv-zip-result] .iv-text-link { font-size:14px; }
.iv-faq-search { max-width:600px; }
.iv-faq-list { min-width:0; }
.iv-faq-list h2 { font-size:30px; margin-top:35px; }

@media(min-width:1001px) and (max-width:1250px) {
    .iv-navigation { gap:18px; font-size:14px; }
    .iv-navigation .iv-nav-book { padding-inline:16px; margin-left:0; }
    .iv-brand>span { font-size:36px; }
    .iv-brand-caption { letter-spacing:.8px; }
    .iv-hero-grid { gap:40px; }
    .iv-hero-copy h1 { font-size:62px; }
    .iv-hero-photo { height:580px!important; }
    .iv-hero-facts { flex-wrap:wrap; gap:12px; }
}
@media(max-width:1100px) {
    .iv-container { width:calc(100% - 64px); }
    .iv-split { gap:45px; }
    .iv-grid { gap:18px; }
    .iv-treatment-title { flex-wrap:wrap; gap:0 15px; }
    .iv-treatment-title h3 { flex-basis:100%; }
    .iv-treatment-title .iv-price { font-size:21px; }
    .iv-section-heading { gap:40px; }
    .iv-section-heading>div+div,.iv-section-heading>p { max-width:360px; }
    .iv-card { padding:26px; }
    .iv-footer-grid { grid-template-columns:1fr 1fr 1fr; gap:40px; }
    .iv-footer-grid>div:last-child { grid-column:1/-1; display:none; }
    .iv-hero-copy .iv-button-row { gap:18px; }
    .iv-hero-copy .iv-btn { min-width:160px; padding-inline:20px; }
    .iv-hero-copy .iv-text-link { font-size:14px; }
}
@media(max-width:1000px) {
    .iv-concept-description { display:none; }
    .iv-nav-wrap { min-height:88px; }
    .iv-menu-toggle { display:flex; align-items:center; gap:12px; border:1px solid #b8ccbf; background:white; color:var(--iv-ink); padding:12px; border-radius:5px; min-width:46px; min-height:46px; font-size:14px; }
    .iv-menu-icon { width:19px; height:12px; border-block:2px solid var(--iv-ink); }
    .iv-navigation { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; padding:24px 32px; border-bottom:1px solid var(--iv-line); box-shadow:0 15px 25px #163b3212; }
    .iv-navigation.is-open { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
    .iv-navigation>a:not(.iv-btn) { padding:9px 0; font-size:17px; }
    .iv-navigation .iv-nav-book { margin:10px 0 0; }
    .iv-hero-grid { gap:35px; }
    .iv-hero-copy h1 { font-size:56px; letter-spacing:-3px; }
    .iv-hero-facts { flex-direction:column; gap:10px; }
    .iv-location-chip { font-size:12px; line-height:1.4; }
    .iv-hero-photo { height:580px!important; object-position:49% center; }
    .iv-hero-note { left:-15px; right:12px; padding:18px; gap:12px; }
    .iv-hero-note strong { font-size:15px; }
    .iv-vertical-note { display:none; }
    .iv-hero-description { font-size:17px; }
    .iv-hero-copy .iv-button-row { flex-direction:column; align-items:start; }
    .iv-experience-strip .iv-container { flex-wrap:wrap; justify-content:center; gap:15px 30px; text-align:center; }
    .iv-experience-strip span:first-child { width:100%; }
    .iv-experience-strip span:first-child br { display:none; }
    .iv-area-home { gap:45px; }
    .iv-city { padding:9px 12px; font-size:12px; }
    .iv-orbit-ring { width:270px; height:270px; }
    .iv-orbit-center { width:130px; height:130px; }
    .iv-city-four { left:25%; }
    .iv-group-callout { gap:30px; padding:35px; }
}
@media(max-width:800px) {
    .iv-container { width:calc(100% - 48px); }
    .iv-section { padding-block:65px; }
    .iv-hero-grid { grid-template-columns:1fr; padding-block:38px 50px; gap:38px; }
    .iv-hero-copy { max-width:600px; }
    .iv-hero-copy h1 { font-size:70px; }
    .iv-hero-copy h1 br:first-of-type { display:none; }
    .iv-hero-description { max-width:540px; font-size:19px; }
    .iv-hero-copy .iv-button-row { flex-direction:row; align-items:center; gap:28px; }
    .iv-hero-facts { flex-direction:row; gap:24px; }
    .iv-location-chip { margin-bottom:25px; }
    .iv-hero-photo { height:480px!important; object-position:center; border-top-left-radius:80px; }
    .iv-hero-note { right:auto; left:20px; padding:22px 26px; }
    .iv-photo-label { top:20px; left:auto; right:16px; }
    .iv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
    .iv-home-treatment-grid { grid-template-columns:1fr; }
    .iv-home-treatment-grid .iv-treatment-card { display:grid; grid-template-columns:1fr 1.2fr; }
    .iv-treatment-art { min-height:280px; }
    .iv-treatment-title h3 { font-size:25px; }
    .iv-section-heading { align-items:start; flex-direction:column; gap:25px; }
    .iv-section-heading>div+div,.iv-section-heading>p { max-width:600px; }
    .iv-split { grid-template-columns:1fr; gap:38px; }
    .iv-editorial-image>img { height:420px; min-height:0; object-position:center; }
    .iv-three-steps { grid-template-columns:1fr; gap:30px; }
    .iv-three-steps article { display:block; }
    .iv-step-number { margin-bottom:17px; }
    .iv-area-home { grid-template-columns:1fr; gap:35px; padding-block:65px; }
    .iv-area-orbit { max-width:540px; width:100%; margin:auto; }
    .iv-orbit-ring { width:310px; height:310px; }
    .iv-city { font-size:14px; padding:10px 18px; }
    .iv-group-callout { flex-direction:column; align-items:start; margin-bottom:65px; }
    .iv-last-call h2 { font-size:52px; }
    .iv-footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
    .iv-footer-brand { grid-column:1/-1; }
    .iv-footer-bottom { flex-direction:column; align-items:start; }
    .iv-footer { padding-bottom:85px; }
    .iv-mobile-book { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:35; align-items:center; justify-content:space-between; background:#ffffffed; backdrop-filter:blur(15px); border-top:1px solid var(--iv-line); padding:12px 24px max(12px,env(safe-area-inset-bottom)); gap:20px; }
    .iv-mobile-book>a:first-child { font-size:14px; font-weight:500; }
    .iv-mobile-book .iv-btn { font-size:15px; padding:11px 22px; min-height:46px; }
    .iv-page-hero { padding-block:45px; }
    .iv-page-hero h1 { font-size:52px; }
    .iv-image { height:400px!important; }
    .iv-treatment-art-large { min-height:400px; max-width:560px; width:100%; }
    .iv-treatment-art-large img { height:290px; }
    .iv-comparison-grid { grid-template-columns:1fr; }
    .iv-comparison { padding:24px!important; }
    .iv-treatment-title .iv-price { margin-bottom:18px; }
}
@media(max-width:520px) {
    .iv-container { width:calc(100% - 40px); }
    .iv-concept-bar { padding:8px 20px; flex-wrap:wrap; justify-content:center; gap:4px 14px; text-align:center; font-size:12px; }
    .iv-concept-bar>span { justify-content:center; }
    .iv-concept-bar>a { font-size:12px; }
    .iv-concept-description { display:inline; flex-basis:100%; }
    .iv-concept-bar>a { display:none; }
    .iv-nav-wrap { width:calc(100% - 40px); min-height:87px; }
    .iv-brand>span { font-size:36px; }
    .iv-brand>img { width:32px; height:40px; }
    .iv-brand-caption { font-size:12px; letter-spacing:.9px; margin-top:6px; }
    .iv-menu-toggle { gap:9px; }
    .iv-menu-toggle>span:first-child { display:none; }
    .iv-menu-toggle { justify-content:center; }
    .iv-navigation { padding-inline:20px; }
    .iv-hero-grid { padding-block:30px 38px; gap:33px; }
    .iv-location-chip { font-size:12px; padding:7px 10px; gap:6px; margin-bottom:24px; }
    .iv-hero-copy .iv-eyebrow { font-size:12px; letter-spacing:1.2px; }
    .iv-hero-copy h1 { font-size:58px; line-height:1.05; letter-spacing:-3px; }
    .iv-hero-copy h1 br:first-of-type { display:block; }
    .iv-hero-description { font-size:18px; }
    .iv-hero-copy .iv-button-row { gap:22px; margin:25px 0; }
    .iv-hero-copy .iv-btn { min-width:150px; padding-inline:18px; }
    .iv-hero-copy .iv-text-link { font-size:14px; gap:8px; }
    .iv-hero-facts { flex-wrap:wrap; gap:12px 20px; }
    .iv-hero-photo { height:350px!important; border-top-left-radius:65px; }
    .iv-photo-label { font-size:12px; top:15px; right:12px; padding:5px 8px; }
    .iv-hero-note { left:12px; right:12px; padding:18px; gap:15px; }
    .iv-hero-note strong { font-size:16px; }
    .iv-note-icon { font-size:34px; }
    .iv-hero-note div>span { font-size:13px; }
    .iv-experience-strip .iv-container { justify-content:start; text-align:left; gap:15px; padding-block:25px; }
    .iv-experience-strip span { width:100%; font-size:14px; }
    .iv-experience-strip span:first-child { margin-bottom:6px; }
    .iv-site h2 { font-size:36px; }
    .iv-section { padding-block:55px; }
    .iv-eyebrow { letter-spacing:1.2px; font-size:12px; }
    .iv-section-heading { gap:20px; margin-bottom:30px; }
    .iv-grid { grid-template-columns:1fr; }
    .iv-home-treatment-grid .iv-treatment-card { display:flex; }
    .iv-treatment-art { min-height:285px; }
    .iv-treatment-art img { height:225px; width:auto; }
    .iv-treatment-title { flex-wrap:nowrap; gap:15px; }
    .iv-treatment-title h3 { flex-basis:auto; font-size:23px; }
    .iv-treatment-info,.iv-treatment-content { padding:24px; }
    .iv-card { padding:27px; }
    .iv-menu-note { text-align:left; }
    .iv-editorial-image>img { height:350px; }
    .iv-editorial-image>span { font-size:12px; left:12px; bottom:15px; padding:8px 10px; max-width:calc(100% - 24px); }
    .iv-care-point { gap:15px; }
    .iv-care-point h3 { font-size:23px; }
    .iv-care-point p { font-size:16px; }
    .iv-intro,.iv-lead { font-size:18px; }
    .iv-area-home { padding-block:50px; }
    .iv-area-orbit { height:350px; }
    .iv-orbit-ring { height:250px; width:250px; }
    .iv-orbit-center { width:120px; height:120px; }
    .iv-city { font-size:12px; padding:8px 12px; }
    .iv-city-one { left:0; top:40px; }
    .iv-city-two { right:0; top:90px; }
    .iv-city-three { bottom:55px; right:0; }
    .iv-city-four { left:0; bottom:25px; }
    .iv-city-five { left:0; top:205px; }
    .iv-map-caption { bottom:-16px; font-size:12px; }
    .iv-home-faq { gap:20px; }
    .iv-faq summary { font-size:17px; }
    .iv-group-callout { padding:30px 25px; gap:25px; margin-bottom:55px; }
    .iv-group-callout h2 { font-size:30px; }
    .iv-group-callout p { font-size:16px; }
    .iv-last-call { padding-block:60px; }
    .iv-last-call h2 { font-size:47px; }
    .iv-last-call p { font-size:16px; }
    .iv-last-call .iv-eyebrow { letter-spacing:1px; }
    .iv-footer { padding-top:45px; }
    .iv-footer-grid { gap:30px 25px; }
    .iv-footer-grid>div h2 { font-size:16px; }
    .iv-footer-grid>div>a:not(.iv-brand):not(.iv-btn) { font-size:14px; }
    .iv-footer-bottom>div { gap:12px 20px; }
    .iv-mobile-book { padding-inline:20px; gap:12px; }
    .iv-mobile-book .iv-btn { padding-inline:17px; font-size:14px; }
    .iv-mobile-book>a:first-child { font-size:13px; }
    .iv-page-hero h1 { font-size:45px; }
    .iv-page-hero h2 { font-size:31px; }
    .iv-page-hero .iv-split { gap:30px; }
    .iv-image { height:300px!important; }
    .iv-prose h2 { font-size:30px; }
    .iv-prose p,.iv-prose li { font-size:17px; }
    .iv-callout,.iv-addon-list,.iv-form { padding:25px; }
    .iv-callout h2,.iv-form h2 { font-size:28px; }
    .iv-form-grid { grid-template-columns:1fr; gap:20px; }
    .iv-form .iv-button-row { gap:12px; }
    .iv-form .iv-button-row .iv-btn { flex:1 1 auto; padding-inline:16px; }
    .iv-filter-bar { gap:8px; }
    .iv-filter-bar button { font-size:14px; padding:10px 16px; }
    .iv-treatment-art-large { min-height:360px; }
    .iv-treatment-art-large img { height:260px; }
    .iv-treatment-hero h1 { overflow-wrap:anywhere; }
    .iv-treatment-hero .iv-treatment-meta { gap:25px; }
    .iv-treatment-hero .iv-treatment-meta strong { font-size:26px; }
    .iv-treatment-hero .iv-btn { width:100%; gap:15px; }
    .iv-ingredients-card h2 { font-size:30px; }
}
@media(max-width:370px) {
    .iv-container,.iv-nav-wrap { width:calc(100% - 32px); }
    .iv-brand { gap:8px; }
    .iv-brand>span { font-size:34px; }
    .iv-brand-caption { letter-spacing:.5px; }
    .iv-hero-copy h1 { font-size:52px; }
    .iv-hero-copy .iv-button-row { flex-direction:column; align-items:stretch; }
    .iv-hero-copy .iv-text-link { align-self:start; }
    .iv-hero-copy .iv-btn { justify-content:space-between; }
    .iv-hero-photo { height:330px!important; }
    .iv-photo-label { max-width:200px; text-align:center; }
    .iv-treatment-title { flex-wrap:wrap; gap:0; }
    .iv-treatment-title h3 { flex-basis:100%; }
    .iv-footer-grid { grid-template-columns:1fr; }
    .iv-site h2 { font-size:33px; }
    .iv-page-hero h1 { font-size:40px; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .iv-site * { transition:none!important; animation:none!important; }
}
@media print {
    .iv-shell,.iv-footer,.iv-mobile-book,.iv-button-row { display:none; }
    .iv-container { width:100%; }
    .iv-section { padding-block:25px; }
    .iv-page-hero { padding-block:20px; }
    .iv-grid,.iv-split { display:block; }
    .iv-card { margin-block:15px; break-inside:avoid; }
}
