:root{--brand:#632580;--hover:#4f1d66;--ink:#25112e;--muted:#685b70;--soft:#faf7fc;--tint:#f3ebf8;--line:#e6dbec;--white:#fff;--width:1240px}
*{box-sizing:border-box}html{font-family:'Segoe UI',Arial,sans-serif;scroll-padding-top:100px;-webkit-font-smoothing:antialiased}body{margin:0;color:var(--ink);background:var(--white);font-size:18px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--brand);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,blockquote{margin:0}p+p{margin-top:16px}p{color:var(--muted);text-wrap:pretty}h1,h2{font-weight:400;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(38px,4.2vw,60px)}h2{font-size:clamp(34px,3.8vw,52px)}h3{font-size:24px;line-height:1.25;font-weight:500}ul{padding-left:22px}li+li{margin-top:10px}.shell{width:min(var(--width),calc(100% - 64px));margin-inline:auto}.section{padding-block:96px}.eyebrow{font-size:13px;letter-spacing:.06em;color:var(--brand);margin-bottom:20px}.lead{font-size:22px;line-height:1.5}.micro{font-size:14px;line-height:1.5}.prototype-note{text-align:center;padding:6px 20px;background:var(--tint);color:var(--muted);font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;border:1px solid transparent;border-radius:16px;background:var(--brand);color:var(--white);padding:14px 28px;font-size:17px;font-weight:500;text-decoration:none;line-height:1.35}.button.small{min-height:48px;padding:12px 24px}.button.outline{color:var(--brand);background:var(--white);border-color:var(--brand)}.button.light{background:var(--white);color:var(--brand)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted);padding-block:24px}.breadcrumbs a{min-height:24px}.hero{display:grid;grid-template-columns:1.04fr 1fr;border:1px solid var(--line);border-radius:20px 20px 100px 20px;background:var(--soft);overflow:hidden}.hero-copy{padding:44px 44px 36px}.hero h1{margin-bottom:24px}.hero .lead{font-size:19px;margin-bottom:12px}.hero-copy>p:not(.eyebrow):not(.micro){font-size:17px}.hero-price{display:flex;gap:20px;align-items:center;margin:28px 0 20px;font-variant-numeric:tabular-nums}.hero-price strong{font-size:34px;color:var(--brand);white-space:nowrap;font-weight:500}.hero-price span{font-size:14px;line-height:1.5;color:var(--muted)}.hero .micro{margin:12px 0 8px;max-width:360px}.text-link{font-size:15px;min-height:44px;display:inline-flex;align-items:center;color:var(--brand)}.hero-photo{position:relative;background:var(--tint);min-height:640px}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:50% 37%}.hero-photo figcaption{position:absolute;bottom:28px;left:24px;right:24px;background:rgb(255 255 255 / 94%);border-radius:16px;padding:16px 20px;font-size:16px;max-width:330px}.hero-photo figcaption span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.section-links{display:flex;gap:32px;flex-wrap:wrap;padding-top:24px}.section-links a{font-size:14px;min-height:44px;display:flex;align-items:center;color:var(--muted)}.heading{display:grid;grid-template-columns:1.2fr .65fr;gap:80px;align-items:end;margin-bottom:40px}.heading>p{font-size:17px}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-open{display:block;padding:0;border:0;background:var(--soft);width:100%;border-radius:18px;overflow:hidden}.works-grid img{width:100%;height:390px;object-fit:cover}.works-grid figure:first-child img{object-fit:contain;background:var(--soft)}.works-grid figcaption{margin-top:16px;color:var(--muted);font-size:15px}.soft-section{background:var(--soft);border-block:1px solid var(--line);padding-block:88px}.approach{display:grid;grid-template-columns:1fr .75fr;gap:100px}.approach .lead{margin:28px 0 20px}.agreement{border-left:3px solid var(--brand);padding:12px 0 12px 24px;font-size:20px;color:var(--brand);margin-top:32px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:24px 0 28px;margin:0}.steps li>span{color:var(--brand);font-size:13px;padding-top:4px}.steps h3{margin-bottom:12px}.steps p{font-size:17px}.price-section{display:grid;grid-template-columns:1fr .8fr;gap:100px}.price-section h2+p{margin-top:28px}.price-table{margin:32px 0}.price-table>div{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:20px 0;align-items:center}.price-table>div:last-child{border-bottom:1px solid var(--line)}.price-table strong{font-size:28px;color:var(--brand);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.price-section .micro{margin-top:12px}.included{padding:36px;background:var(--soft);border-radius:20px;align-self:center;border:1px solid var(--line)}.included ul{list-style:none;padding:0;margin:28px 0 0}.included li{position:relative;padding-left:28px;color:var(--muted);font-size:17px}.included li:before{content:'✓';color:var(--brand);position:absolute;left:0}.master-band{background:var(--ink);color:var(--white);padding-block:80px}.master{display:grid;grid-template-columns:.8fr 1fr;gap:80px;align-items:center}.master img{width:100%;height:490px;object-fit:cover;object-position:50% 28%;border-radius:80px 18px 18px 18px}.master .eyebrow{color:var(--line)}.master-quote{font-size:25px;margin-top:28px;color:var(--white)}.master ul{color:var(--line);font-size:17px;margin-top:28px}.aftercare{display:grid;grid-template-columns:1fr .8fr;gap:100px}.aftercare h2+p{margin-top:28px}.old-work{border-left:1px solid var(--line);padding-left:48px}.old-work h3{margin-bottom:20px}.text-button{background:none;border:0;color:var(--brand);padding:12px 0;text-decoration:underline;text-underline-offset:5px;min-height:44px}.faq{display:grid;grid-template-columns:.75fr 1fr;gap:100px}.faq details{border-top:1px solid var(--line);padding-block:22px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:19px;min-height:44px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq summary:after{content:'+';color:var(--brand);font-size:24px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:17px;margin-top:20px}.location{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:0}.location>img{width:100%;height:460px;object-fit:cover;border-radius:18px 18px 80px 18px}.location h2+p{margin-top:28px}.location .button{margin-top:28px}.final{padding-block:88px;background:var(--brand);color:var(--white)}.final .eyebrow{color:var(--line)}.final h2{font-size:clamp(40px,5vw,64px)}.final p:not(.eyebrow){color:var(--line);margin:28px 0}.final .button{min-width:280px}dialog{border:1px solid var(--line);border-radius:24px;padding:40px;max-width:580px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain;color:var(--ink)}dialog::backdrop{background:rgb(37 17 46 / 55%)}dialog h2{font-size:30px;padding-right:32px;margin-bottom:20px}dialog p{font-size:16px}.close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:var(--white);color:var(--ink);border:0;border-radius:50%;font-size:30px}.message-draft{background:var(--tint);padding:20px;margin-block:24px;border-radius:16px;color:var(--muted);font-size:16px}.contact-link{display:block;min-height:56px;border:1px solid var(--line);border-radius:14px;padding:14px 20px;text-decoration:none;margin-top:12px}.max{margin-block:24px;background:var(--soft);padding:20px;border-radius:16px}.max h3{font-size:18px}.max p{margin:12px 0}.max .button{width:100%}.max .micro{font-size:13px}#photo{max-width:1000px}#photo img{max-height:calc(100dvh - 180px);max-width:100%;width:auto;object-fit:contain;margin:auto}.sticky-book{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;right:16px;z-index:4;display:none;box-shadow:0 6px 24px rgb(37 17 46 / 12%)}[hidden]{display:none!important}
@media(hover:hover){.button:hover{background:var(--hover)}.button.outline:hover,.button.light:hover{background:var(--tint)}a:hover,.text-button:hover{color:var(--brand)}.contact-link:hover{background:var(--soft)}}
@media(max-width:1050px){.hero-copy{padding:32px}.hero h1{font-size:44px}.hero-photo{min-height:660px}.heading,.approach,.price-section,.master,.aftercare,.faq,.location{gap:48px}.works-grid img{height:300px}.hero-price{gap:12px}.hero-price strong{font-size:28px}.hero-price span{font-size:13px}.hero .eyebrow{font-size:12px}}
@media(max-width:720px){body{font-size:16px}.shell{width:calc(100% - 32px)}.prototype-note{font-size:10px}.breadcrumbs{font-size:11px;padding-block:16px;gap:8px}.hero{grid-template-columns:1fr;border-radius:18px 18px 56px 18px}.hero-copy{padding:26px 22px 20px}.hero h1{font-size:36px;margin-bottom:18px}.hero .eyebrow{margin-bottom:14px;font-size:10px;letter-spacing:.03em}.hero .lead{font-size:16px}.hero-copy>p:not(.eyebrow):not(.micro){font-size:15px}.hero-price{margin:20px 0 16px;gap:18px}.hero-price strong{font-size:28px}.hero-price span{font-size:12px}.hero .button{width:100%;font-size:16px;min-height:52px}.hero .micro{font-size:12px;margin-top:10px}.hero-photo{min-height:360px;height:360px}.hero-photo>img{object-position:50% 35%}.hero-photo figcaption{bottom:20px;left:20px;right:20px;font-size:14px;padding:12px 16px}.section-links{gap:8px 20px;padding-top:16px}.section-links a{font-size:12px}.section{padding-block:56px}.heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;margin-bottom:16px}h2{font-size:34px}h3{font-size:22px}.heading>p,.steps p{font-size:16px}.works-grid{gap:24px 16px;grid-template-columns:repeat(2,1fr)}.works-grid figure:first-child{grid-column:1/-1}.works-grid img{height:240px}.works-grid figure:first-child img{height:320px}.works-grid figcaption{font-size:12px;margin-top:10px}.soft-section{padding-block:56px}.approach,.price-section,.master,.aftercare,.faq,.location{grid-template-columns:1fr;gap:32px}.approach .lead{font-size:19px;margin-top:24px}.agreement{font-size:18px;padding-left:18px;margin-top:24px}.steps li{padding-block:20px}.price-table span{font-size:16px}.price-table strong{font-size:26px}.included{padding:24px}.included li{font-size:16px}.price-section .button{width:100%}.master-band{padding-block:56px}.master img{height:340px;max-width:420px;border-radius:60px 18px 18px 18px}.master h2{font-size:36px}.master-quote{font-size:22px}.master ul{font-size:16px}.old-work{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.faq summary{font-size:17px}.faq details p{font-size:16px}.location{padding-top:0}.location>img{height:300px;border-radius:18px 18px 56px 18px}.location .button{width:100%}.final{padding-block:60px}.final h2{font-size:42px}.final p:not(.eyebrow){margin-block:24px}.final .button{width:100%}.desktop-break{display:none}dialog{padding:28px 22px}dialog h2{font-size:26px}.sticky-book:not([hidden]){display:flex}#photo{padding:24px 16px}#photo h2{font-size:20px}}
@media(max-width:374px){.hero h1{font-size:33px}.hero-copy{padding:22px 20px}.hero .eyebrow{font-size:9px}.hero-photo{min-height:330px;height:330px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button,}
@media(min-width:721px){.photo-first .hero-photo{order:-1}.photo-first .hero{border-radius:100px 20px 20px 20px}}
/* Preserve both parts of the approved square hero collage. */
.hero-photo>img{object-fit:contain;object-position:center}
.works-grid img.healed-photo{object-position:50% 30%}

