:root{--paper:#fffaf7;--ink:#332b36;--muted:#746c76;--lav:#c8afe8;--rose:#efacc7;--line:#e7ddd8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}.site-header{height:74px;padding:12px 5.5vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5}.brand img,footer img{width:104px;height:46px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:28px;font-size:13px}nav a{opacity:.75}.header-cta{font-size:13px;border:1px solid var(--ink);padding:11px 15px;border-radius:99px}.header-cta span{margin-left:6px}.hero{margin:0 2.5vw;min-height:680px;border-radius:28px;overflow:hidden;position:relative;color:#fff;display:flex;align-items:flex-end;padding:42px 7%;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%;z-index:-2;animation:appear 1.1s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,21,28,.56),rgba(27,21,28,.1) 65%),linear-gradient(0deg,rgba(27,21,28,.5),transparent 45%);z-index:-1}.hero-copy{max-width:580px;animation:up .9s .15s both}.eyebrow{margin:0 0 14px;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:600}.hero h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0}.hero h1{font-size:clamp(43px,6vw,80px)}.hero-copy>p:last-child{max-width:365px;line-height:1.55;margin:20px 0 0;font-size:16px}.floating-appointment{position:absolute;right:5%;bottom:28px;display:flex;align-items:center;gap:34px;padding:15px 16px 15px 20px;color:var(--ink);border-radius:14px;background:rgba(255,250,247,.9);backdrop-filter:blur(12px);font-size:12px;box-shadow:0 8px 28px #20182727}.floating-appointment strong{font-weight:600}.floating-appointment b{font-size:13px;background:var(--ink);color:#fff;padding:10px 12px;border-radius:10px}.trust{padding:30px 5vw;display:flex;justify-content:center;gap:38px;flex-wrap:wrap;font-size:12px;color:#655b67}.trust span{white-space:nowrap}.section{max-width:1120px;margin:auto;padding:110px 32px}.services{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.section-intro h2,.about h2,.testimonials h2,.faq h2,.final-cta h2{font-size:clamp(38px,5vw,62px)}h2 em{font-weight:500;color:#a170a6}.section-intro>p:last-child,.about-copy>p{max-width:330px;color:var(--muted);line-height:1.65;margin:25px 0}.service-list{display:grid;gap:10px}.service-card{min-height:98px;padding:20px 24px;border:1px solid var(--line);background:#fffdfb;border-radius:17px;display:flex;justify-content:space-between;align-items:center;transition:transform .25s,box-shadow .25s}.service-card b{display:block;font-size:15px;font-weight:500}.service-card small{display:block;color:var(--muted);font-size:13px;margin-top:7px}.service-card i{width:31px;height:31px;border-radius:50%;background:#f1e7ee;display:grid;place-items:center;font-size:17px;font-style:normal}.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #5c3b5010}.brand-motion{min-height:480px;background:linear-gradient(120deg,#c8afe8,#d9acd9 52%,#efacc7);display:grid;place-items:center;position:relative;overflow:hidden}.motion-orb{position:absolute;width:650px;height:650px;border-radius:50%;background:#fff9;filter:blur(38px);transform:translate(26%,15%)}.motion-card{height:260px;width:260px;border-radius:48px;background:linear-gradient(140deg,#bda1df,#efacc7);position:relative;box-shadow:0 25px 50px #75557835;display:grid;place-items:center;animation:card-in 4s infinite alternate}.motion-card img{width:76%;height:76%;object-fit:contain;mix-blend-mode:multiply;border-radius:50%;z-index:1}.heart{position:absolute;right:30px;top:31px;color:#fff;font-size:24px;opacity:0;animation:heart 4s infinite alternate}.shine{position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 42%,#fff8 50%,transparent 58%);transform:translateX(-110%);animation:shine 4s 1.5s infinite}.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-image{height:510px;border-radius:190px 190px 20px 20px;overflow:hidden;background:#eadfd9}.about-image img{height:100%;width:100%;object-fit:cover;object-position:center 30%;filter:saturate(.88)}.text-link{display:inline-flex;gap:12px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:13px;margin-top:8px}.testimonials{text-align:center}.testimonial-empty{max-width:580px;margin:45px auto 0;padding:42px;border:1px dashed #d8cad5;border-radius:20px;color:var(--muted)}.testimonial-empty span{font-family:var(--serif);font-size:50px;color:var(--rose);line-height:.4}.testimonial-empty p{font-family:var(--serif);font-size:21px;line-height:1.35}.testimonial-empty small{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;list-style:none;font-size:15px;display:flex;justify-content:space-between;align-items:center}summary::-webkit-details-marker{display:none}summary i{font-style:normal;font-size:20px;font-weight:300}details[open] summary i{transform:rotate(45deg)}details p{color:var(--muted);line-height:1.6;font-size:14px;max-width:440px;margin:15px 0 0}.final-cta{margin:0 2.5vw 28px;padding:100px 32px;border-radius:28px;text-align:center;background:#f3eaf1}.final-cta h2{margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:20px;justify-content:center;padding:14px 18px;border-radius:12px;margin:4px;font-size:14px}.primary{background:var(--ink);color:#fff}.secondary{border:1px solid #bdaeba}footer{max-width:1120px;margin:auto;padding:33px 32px 48px;display:flex;justify-content:space-between;align-items:center;font-size:12px}footer div{display:flex;gap:19px}footer small{color:var(--muted)}@keyframes appear{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes card-in{0%,16%{opacity:.3;transform:scale(.82)}48%,100%{opacity:1;transform:scale(1)}}@keyframes heart{0%,58%{opacity:0;transform:scale(.3)}75%,100%{opacity:1;transform:scale(1)}}@keyframes shine{0%,56%{transform:translateX(-110%)}84%,100%{transform:translateX(110%)}}@media(max-width:700px){.site-header{height:64px;padding:8px 18px}.brand img{width:85px}nav{display:none}.header-cta{font-size:12px;padding:9px 12px}.hero{margin:0;min-height:665px;border-radius:0;padding:34px 24px}.hero-photo{object-position:center top}.hero-copy{padding-bottom:103px}.hero h1{font-size:48px}.floating-appointment{left:20px;right:20px;bottom:18px;justify-content:space-between;gap:8px}.trust{justify-content:flex-start;gap:13px 23px;padding:24px 22px}.section{padding:76px 22px}.services,.about,.faq{grid-template-columns:1fr;gap:38px}.service-card{min-height:92px;padding:17px 18px}.brand-motion{min-height:355px}.motion-card{width:205px;height:205px;border-radius:39px}.about-image{height:410px;border-radius:150px 150px 17px 17px}.testimonials{text-align:left}.testimonial-empty{text-align:center;padding:32px 20px}.final-cta{margin:0 12px 14px;padding:72px 20px;border-radius:22px}.final-cta h2{font-size:39px}footer{padding:28px 22px 34px;align-items:flex-start;gap:22px;flex-direction:column}footer div{gap:17px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Persuasive copy: preserve the original palette, imagery and motion. */
.hero{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:24px}
.hero-copy{max-width:640px;padding-bottom:0}
.hero h1{font-size:clamp(38px,4.7vw,64px);line-height:1.05}
.hero-copy>p:last-child{max-width:470px}
.floating-appointment{position:static;max-width:100%;gap:24px;min-height:58px;font-size:15px}
.floating-appointment strong{min-width:0;line-height:1.4}
.floating-appointment b{flex-shrink:0}
.service-card{gap:18px}
.service-card>span{min-width:0}
.service-card i{flex-shrink:0}
.service-card small{line-height:1.55}
.service-cta{display:block;margin-top:14px;font-size:13px;font-weight:600;color:var(--ink)}
.recognition{padding-bottom:30px}
.recognition h2,.first-contact h2{font-size:clamp(36px,4.5vw,56px);max-width:760px;line-height:1.1}
.recognition-list{list-style:none;padding:0;margin:32px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.recognition-list li{border:1px solid var(--line);border-radius:17px;background:#fffdfb;padding:20px 24px;line-height:1.5}
.recognition .text-link{line-height:1.5}
.contact-steps{list-style:none;padding:0;margin:38px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.contact-steps li{border-top:1px solid var(--line);padding-top:22px}
.step-number{color:#a170a6;font-family:var(--serif);font-size:28px}
.contact-steps h3{font-size:17px;font-weight:500;line-height:1.4;margin:15px 0 10px}
.contact-steps p,.final-cta>p:not(.eyebrow){color:var(--muted);line-height:1.65}
.final-cta>p:not(.eyebrow){max-width:510px;margin:0 auto 24px}
a:focus-visible{outline:3px solid #a170a6;outline-offset:5px}
@media(max-width:700px){.hero{gap:22px;padding-top:170px}.hero h1{font-size:clamp(34px,8.8vw,48px)}.hero-copy>p:last-child{font-size:15px}.floating-appointment{width:100%;font-size:14px;justify-content:space-between}.recognition-list,.contact-steps{grid-template-columns:1fr}.recognition{padding-bottom:10px}.recognition-list li{padding:18px}.contact-steps{gap:24px}.final-cta h2{line-height:1.08}}

/* Center the footer identity and links at every screen size. */
footer{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px}
footer div{justify-content:center;flex-wrap:wrap}
