:root{--ink:#34243c;--plum:#4c2463;--purple:#724195;--violet:#a77bc5;--lilac:#e9dcef;--paper:#fbf9fa;--cream:#f8f3f0;--line:#e7dce8;--font-sans:'DM Sans',Arial,sans-serif;--font-serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}::selection{background:#d8b4e6;color:#382342}.announcement{height:34px;display:flex;align-items:center;justify-content:center;gap:16px;background:#4b2765;color:#f7ebfa;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.sparkle{color:#d5b3e6}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 clamp(24px,5.3vw,90px);background:rgba(251,249,250,.97);position:relative;z-index:20;border-bottom:1px solid #eee7ef}.brand,.footer-brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{font-family:var(--font-serif);font-size:33px;letter-spacing:-.15em;padding-right:.15em;font-weight:600;line-height:1;background:linear-gradient(125deg,#623382,#ba91d7 53%,#563070);color:transparent;background-clip:text}.brand-text,.footer-brand>span:last-child{display:flex;flex-direction:column}.brand-text strong,.footer-brand strong{font-family:var(--font-serif);font-size:17px;line-height:1.2;font-weight:600;color:#4d2b61}.brand-text small,.footer-brand small{font-size:8px;letter-spacing:.2em;font-weight:700;color:#8c61a6;margin-top:5px}.desktop-nav{display:flex;gap:clamp(18px,2.5vw,40px);font-size:12px;font-weight:600;color:#5b4b61}.desktop-nav a,.site-footer a{transition:color .25s}.desktop-nav a:hover,.site-footer a:hover{color:#995db7}.header-cta{font-size:11px;font-weight:700;letter-spacing:.02em;border:1px solid #9d70b4;border-radius:50px;padding:13px 19px;color:#663883;white-space:nowrap;transition:background .25s,color .25s}.header-cta:hover{background:#663883;color:white}.header-cta span{margin-left:14px;font-size:16px}.menu-toggle,.mobile-nav{display:none}.hero{min-height:min(730px,calc(100svh - 116px));position:relative;overflow:hidden;background:#f4eced;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background-image:url('assets/hero-pets.png');background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,247,247,.88) 0%,rgba(251,247,247,.75) 29%,rgba(251,247,247,.10) 58%,transparent 75%)}.hero-content{position:relative;z-index:1;width:min(660px,53%);margin-left:clamp(28px,8.2vw,130px);padding:65px 0 100px}.eyebrow,.section-index{font-size:10px;letter-spacing:.22em;font-weight:700;color:#7b5194}.eyebrow-line{display:inline-block;width:22px;height:1px;background:#9e78b5;vertical-align:middle;margin-right:8px}.hero h1,.intro h2,.section-heading h2,.process h2,.faq h2,.contact h2{font-family:var(--font-serif);font-weight:400;letter-spacing:-.055em;line-height:1.16;margin:24px 0}.hero h1{font-size:clamp(46px,5.25vw,78px);color:#3e2849}.hero h1 em,.intro h2 em,.section-heading h2 em,.process h2 em,.faq h2 em,.contact h2 em,.quote-inner em{color:#9766ad;font-weight:400}.hero-content>p{max-width:400px;font-size:14px;line-height:1.8;color:#655b68}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:17px 23px;border-radius:50px;font-size:11px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(70,30,90,.18)}.button span{font-size:19px;line-height:.7}.button-primary{background:#5a2d73;color:white}.text-link,.underlined-link{font-size:11px;font-weight:700;color:#654079;border-bottom:1px solid #b79ac5;padding-bottom:7px;white-space:nowrap}.text-link span,.underlined-link span{margin-left:10px;font-size:15px}.hero-bottom{position:absolute;z-index:2;left:clamp(28px,8.2vw,130px);right:clamp(28px,5.3vw,90px);bottom:28px;display:flex;justify-content:space-between;align-items:center;color:#705578;font-size:9px;letter-spacing:.21em;font-weight:700}.hero-bottom i{color:#b984ca;font-style:normal;margin:0 7px}.hero-bottom a span{font-size:16px;margin-left:12px}.section-shell{width:min(100% - 10vw,1240px);margin:auto}.intro{padding-top:135px;padding-bottom:140px;display:grid;grid-template-columns:.55fr 1.15fr .9fr;gap:clamp(30px,5vw,80px);align-items:center}.intro-aside{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between}.orbit-decoration{width:130px;height:130px;border:1px solid #dbc6e5;border-radius:50%;display:grid;place-items:center;position:relative;margin-left:20px}.orbit-decoration:before{content:'';position:absolute;inset:16px;border:1px dashed #c9a9d8;border-radius:50%}.orbit-decoration span{font-size:27px;color:#a679bc}.intro h2,.section-heading h2,.process h2,.faq h2{font-size:clamp(43px,4.2vw,66px)}.intro-copy>p{font-size:13px;line-height:2;max-width:440px;color:#6c626f;margin-bottom:30px}.logo-card{margin:0;background:#fff;border-radius:190px 190px 18px 18px;min-height:430px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:34px 30px 22px;box-shadow:0 28px 70px rgba(58,30,80,.07);position:relative}.logo-card:before{content:'';position:absolute;inset:13px;border:1px solid #eee0ef;border-radius:180px 180px 10px 10px;pointer-events:none}.logo-card img{width:100%;max-width:290px;mix-blend-mode:multiply}.logo-card figcaption{font-family:var(--font-serif);font-style:italic;color:#9a78a8;font-size:12px;margin-top:18px;text-align:center}.services{background:#f3edf5;padding:115px 0 130px;position:relative;overflow:hidden}.services:before{content:'';position:absolute;width:460px;height:460px;border:1px solid #e2d5e8;border-radius:50%;top:-260px;right:-160px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;line-height:1.8;color:#756878;max-width:280px;margin-bottom:6px}.service-layout{display:grid;grid-template-columns:1fr .85fr;gap:7vw;align-items:stretch}.service-list{border-top:1px solid #d9c9df}.service-tab{width:100%;display:grid;grid-template-columns:48px 1fr 24px;gap:14px;align-items:center;text-align:left;padding:28px 12px 28px 8px;background:none;border:0;border-bottom:1px solid #d9c9df;cursor:pointer;color:#756a7a;transition:padding .25s,color .25s}.service-tab>span:nth-child(2){font-family:var(--font-serif);font-size:clamp(20px,2.15vw,30px)}.service-tab.active,.service-tab:hover{color:#5d3276;padding-left:18px}.service-number{font-size:10px;letter-spacing:.13em}.service-arrow{font-size:21px;opacity:0;transform:translate(-5px,5px);transition:.25s}.service-tab.active .service-arrow,.service-tab:hover .service-arrow{opacity:1;transform:none}.service-panel{min-height:410px;background:linear-gradient(145deg,#724289,#4a285f);color:#fff;border-radius:14px 150px 14px 14px;padding:33px clamp(28px,4vw,58px) 42px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 35px 70px rgba(82,42,106,.2);transition:opacity .2s,transform .2s}.service-panel.switching{opacity:.3;transform:translateY(8px)}.panel-top{display:flex;justify-content:space-between;align-items:start;font-size:9px;letter-spacing:.2em;color:#e5cde9}.panel-symbol{font-size:36px;color:#caa6d8}.panel-kicker{font-size:9px;letter-spacing:.2em;color:#d9b7e6}.service-panel h3{font-family:var(--font-serif);font-size:clamp(37px,3.7vw,55px);font-weight:400;letter-spacing:-.04em;line-height:1.16;margin:9px 0 16px}.service-panel p:not(.panel-kicker){font-size:12px;line-height:1.8;color:#eee1f1;max-width:335px}.panel-link{display:inline-block;font-size:10px;font-weight:700;border-bottom:1px solid #cba9d8;padding-bottom:7px;margin-top:12px}.panel-link span{font-size:17px;margin-left:11px}.quote-section{min-height:420px;display:grid;place-items:center;background:#faf8f9;text-align:center;padding:70px 20px}.quote-inner .little-star{font-size:25px;color:#b991ca}.quote-inner p{font-family:var(--font-serif);font-size:clamp(32px,4vw,56px);line-height:1.35;letter-spacing:-.04em;margin:18px auto 25px}.quote-line{display:block;width:65px;height:1px;background:#b68cc6;margin:auto}.process{padding-top:120px;padding-bottom:135px}.process-heading{text-align:center;max-width:630px;margin:auto}.process-heading p,.faq-heading p{font-size:13px;line-height:1.8;color:#766b78;max-width:370px;margin:0 auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:83px}.step{border-top:1px solid #d9c9df;padding-top:18px;position:relative}.step-no{font-size:10px;color:#a073b4;letter-spacing:.2em}.step-icon{font-family:var(--font-serif);font-size:39px;color:#9866ae;margin:36px 0 20px}.step h3{font-family:var(--font-serif);font-weight:500;font-size:23px;margin:0 0 12px}.step p{font-size:12px;line-height:1.9;color:#766b78;max-width:280px}.faq{background:#f4eef5;padding:115px 0}.faq-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.faq-heading p{margin-left:0}.faq-list{border-top:1px solid #d9c8e1}.faq details{border-bottom:1px solid #d9c8e1;padding:0 5px}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:13px;font-weight:600;color:#533860}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:23px;color:#9967ad;font-weight:400;transition:transform .25s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;color:#726678;line-height:1.8;margin:0 40px 25px 0}.contact{background:#4c2c62;color:white;min-height:490px;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;padding:90px 20px}.contact:before,.contact:after{content:'';position:absolute;width:520px;height:520px;border:1px solid rgba(218,182,229,.18);border-radius:50%;top:-120px;left:-200px}.contact:after{left:auto;right:-250px;top:140px}.contact-glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(169,108,194,.24),transparent 70%);left:calc(50% - 280px);top:0}.contact-inner{position:relative;z-index:1}.contact .eyebrow{color:#d7b5e5}.contact h2{font-size:clamp(46px,5vw,72px);margin:20px 0}.contact h2 em{color:#d3a8e4}.contact p{font-size:13px;color:#eadbed;line-height:1.8;max-width:450px;margin:0 auto 28px}.button-light{background:#fff;color:#5b3471}.contact small{display:block;color:#d0b9d9;font-size:10px;margin-top:18px}.site-footer{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center;padding:60px clamp(24px,7vw,110px) 22px;background:#fbf9fa}.site-footer>p{font-size:11px;color:#857888}.site-footer>a{font-size:11px;font-weight:700;color:#654079}.footer-bottom{grid-column:1/-1;border-top:1px solid #e5dce7;padding-top:22px;margin-top:28px;display:flex;justify-content:space-between;font-size:10px;color:#98899a}.floating-contact{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#71418a;color:white;border-radius:100px;box-shadow:0 10px 28px rgba(59,29,79,.28);font-size:11px;font-weight:700;transition:transform .25s,background .25s}.floating-contact:hover{transform:translateY(-4px);background:#532b6b}.floating-contact svg{width:23px;height:23px}.toast{position:fixed;z-index:50;bottom:88px;right:24px;max-width:300px;background:#fff;padding:17px 20px;border-left:4px solid #8d5eaa;border-radius:8px;box-shadow:0 15px 45px rgba(48,25,62,.2);font-size:12px;line-height:1.6}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1050px){.desktop-nav{gap:16px}.intro{grid-template-columns:1fr 1fr}.intro-aside{display:none}.service-layout{gap:4vw}}@media(max-width:800px){.site-header{height:70px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;width:40px;height:40px;background:none;border:0;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:#59336e}.mobile-nav{display:flex;position:absolute;z-index:19;top:104px;left:0;right:0;background:#fbf9fa;padding:22px 6vw 30px;flex-direction:column;gap:18px;box-shadow:0 18px 25px rgba(50,25,65,.1)}.mobile-nav[hidden]{display:none}.mobile-nav a{font-size:15px;color:#58366b}.hero{min-height:720px;align-items:flex-start}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(180deg,rgba(251,247,247,.98) 0%,rgba(251,247,247,.87) 42%,rgba(251,247,247,.15) 75%)}.hero-content{width:calc(100% - 12vw);margin:0 6vw;padding-top:55px}.hero h1{font-size:clamp(42px,7vw,64px)}.hero-content>p{max-width:390px}.hero-bottom{left:6vw;right:6vw}.intro{padding:95px 0;grid-template-columns:1fr 1fr;gap:30px}.logo-card{min-height:330px}.section-heading{align-items:start}.service-layout{grid-template-columns:1fr}.services{padding:90px 0}.service-panel{min-height:340px;border-radius:14px 100px 14px 14px}.steps{gap:30px}.faq-inner{grid-template-columns:1fr;gap:50px}}@media(max-width:600px){.announcement{font-size:8px;letter-spacing:.1em;gap:8px}.brand-text strong{font-size:15px}.brand-mark{font-size:29px}.hero{min-height:745px}.hero-image{background-size:auto 63%;background-repeat:no-repeat;background-position:65% bottom;background-color:#f7f2f1}.hero-shade{background:linear-gradient(180deg,#f8f3f3 0%,rgba(248,243,243,.97) 32%,rgba(248,243,243,.36) 65%,rgba(248,243,243,0) 85%)}.hero-content{padding-top:46px}.hero h1{font-size:clamp(41px,10vw,55px);margin:16px 0}.hero-content>p{font-size:12px;max-width:310px}.hero-actions{margin-top:24px;align-items:flex-start;flex-direction:column;gap:20px}.button{padding:15px 20px}.hero-bottom{bottom:18px}.hero-bottom>a{display:none}.section-shell{width:calc(100% - 48px)}.intro{display:flex;flex-direction:column;align-items:stretch;padding:82px 0 95px}.intro h2,.section-heading h2,.process h2,.faq h2{font-size:45px}.logo-card{min-height:360px;margin-top:12px}.logo-card img{max-width:250px}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:20px}.service-tab{padding:22px 8px}.service-tab>span:nth-child(2){font-size:22px}.service-panel{min-height:380px;padding:28px}.quote-section{min-height:350px}.quote-inner p{font-size:32px}.process{padding:90px 0}.steps{grid-template-columns:1fr;gap:32px;margin-top:55px}.step-icon{margin:22px 0 12px}.faq{padding:85px 0}.contact{min-height:440px}.contact h2{font-size:48px}.site-footer{grid-template-columns:1fr auto;gap:12px;padding:48px 24px 20px}.site-footer>p{grid-column:1/-1;grid-row:2}.site-footer>a{grid-column:2;grid-row:1}.footer-bottom{margin-top:10px;gap:10px;flex-direction:column}.floating-contact{right:16px;bottom:16px;padding:12px}.floating-contact span{display:none}.toast{right:16px;bottom:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.portrait-card{position:relative;margin:0;align-self:stretch;min-height:480px;border:8px solid #eee3f2;border-radius:185px 185px 22px 22px;overflow:hidden;background:#161418;box-shadow:0 28px 70px rgba(58,30,80,.15)}
.portrait-card .doctor-photo{width:100%;height:100%;min-height:480px;object-fit:cover;object-position:center 22%;transition:transform .7s ease}
.portrait-card:hover .doctor-photo{transform:scale(1.035)}
.portrait-caption{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:12px;color:#4d2b61;font-family:var(--font-serif);font-size:17px;box-shadow:0 8px 28px rgba(0,0,0,.13)}
.portrait-caption img{width:65px;height:50px;object-fit:contain;flex:none;mix-blend-mode:multiply}
.portrait-caption span{display:flex;flex-direction:column}
.portrait-caption small{font:700 9px var(--font-sans);letter-spacing:.14em;color:#8b66a0;margin-top:3px}
@media(max-width:1050px){.portrait-card,.portrait-card .doctor-photo{min-height:430px}}
@media(max-width:600px){.portrait-card{width:100%;min-height:470px;margin-top:12px}.portrait-card .doctor-photo{height:470px;min-height:470px;object-position:center 17%}}
.floating-contact[hidden]{display:none}
.icon-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
