:root{--ink:#08070a;--panel:#100d14;--panel2:#17111d;--cream:#f7f0e5;--muted:#bfb4c3;--gold:#e5bf73;--purple:#b563df;--lilac:#dda8f1;--line:rgba(229,191,115,.22);--serif:"Italiana",Georgia,serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}.aurora{position:fixed;border-radius:50%;filter:blur(110px);opacity:.12;pointer-events:none;z-index:-1}.aurora-one{width:440px;height:440px;background:var(--purple);top:5%;right:-180px}.aurora-two{width:360px;height:360px;background:var(--gold);top:55%;left:-260px}.site-header{height:88px;max-width:1440px;margin:auto;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:23px;letter-spacing:.02em}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}.brand i,.footer-brand i{font-style:normal;color:var(--gold)}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav>a:not(.nav-cta){color:var(--muted);transition:.2s}nav>a:hover{color:white}.nav-cta{border:1px solid var(--gold);padding:12px 18px;border-radius:999px;color:var(--gold)}.menu-toggle{display:none;background:none;border:0}.hero{max-width:1440px;min-height:calc(100vh - 88px);margin:auto;padding:70px 5vw 60px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center}.eyebrow,.section-number{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--gold);font-weight:600}.eyebrow span{display:inline-block;width:32px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}.hero h1,.section-heading h2,.manifesto h2,.about h2,.contact h2{font-family:var(--serif);font-weight:400;line-height:.96;margin:25px 0;font-size:clamp(64px,7.2vw,114px);letter-spacing:-.025em}.hero h1 em,h2 em{font-weight:400;color:var(--lilac)}.lede{max-width:600px;color:var(--muted);font-size:18px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:40px;border:0;font:600 13px var(--sans);cursor:pointer}.button.primary{background:linear-gradient(110deg,#d5a955,#f2d28f);color:#17100a;padding:17px 22px;border-radius:2px;box-shadow:0 10px 35px rgba(229,191,115,.15)}.button.text{color:var(--cream);padding:12px 0;border-bottom:1px solid var(--line)}.promise-row{display:flex;gap:26px;margin-top:50px;color:#978b9b;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.promise-row span:before{content:"✦";color:var(--gold);margin-right:8px}.hero-art{min-height:620px;position:relative;display:grid;place-items:center}.logo-stage{width:min(88%,540px);aspect-ratio:1;position:relative;display:grid;place-items:center}.logo-stage:before{content:"";position:absolute;inset:7%;border:1px solid rgba(229,191,115,.35);border-radius:50%;box-shadow:0 0 90px rgba(181,99,223,.16)}.logo-stage img{width:86%;border-radius:50%;position:relative;mix-blend-mode:screen;filter:saturate(1.12) contrast(1.05)}.logo-glow{position:absolute;width:62%;height:62%;background:var(--purple);border-radius:50%;filter:blur(90px);opacity:.23}.orbit{position:absolute;border:1px solid rgba(229,191,115,.25);border-radius:50%;transform:rotate(-20deg)}.orbit-one{inset:3% 0}.orbit-two{inset:14% -7%;transform:rotate(22deg);border-color:rgba(181,99,223,.25)}.floating-note{position:absolute;bottom:35px;right:0;background:rgba(16,13,20,.88);border-left:2px solid var(--gold);padding:17px 20px;backdrop-filter:blur(12px)}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-family:var(--serif);font-size:16px}.floating-note small{margin-top:6px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.18em}.manifesto,.services,.about,.contact{padding:110px 6vw;max-width:1440px;margin:auto}.manifesto{border-top:1px solid rgba(255,255,255,.08)}.manifesto-copy{display:grid;grid-template-columns:.7fr 2fr;gap:50px;align-items:start}.manifesto-copy>p{color:var(--muted);margin-top:36px}.manifesto h2{font-size:clamp(42px,5vw,76px);margin-top:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.08);margin-top:65px}.steps article{background:var(--ink);padding:38px}.steps span,.values span{color:var(--gold);font-size:11px}.steps h3,.service-card h3,.values h3{font:400 30px var(--serif);margin:28px 0 15px}.steps p,.service-card p,.values p{color:var(--muted);line-height:1.65;font-size:14px}.services{max-width:none;background:linear-gradient(180deg,#100c14,#0b090d)}.services>*{max-width:1260px;margin-left:auto;margin-right:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px}.section-heading h2{font-size:clamp(46px,5vw,76px);margin-bottom:0}.section-heading>p{max-width:420px;color:var(--muted);line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.service-card{min-height:440px;padding:38px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;transition:.35s}.service-card:hover{transform:translateY(-5px);border-color:var(--line);background:rgba(255,255,255,.045)}.service-card.featured{background:linear-gradient(145deg,rgba(181,99,223,.16),rgba(229,191,115,.08));border-color:rgba(229,191,115,.28)}.service-icon{font-size:36px;color:var(--gold);height:100px}.service-card>span{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.service-card h3{font-size:36px}.service-card a{margin-top:auto;color:var(--cream);font-size:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between}.services-note{text-align:center;color:var(--muted);font-size:13px;margin-top:35px}.services-note a{color:var(--gold);border-bottom:1px solid var(--line)}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.about-art{min-height:620px;background:radial-gradient(circle at 50% 35%,rgba(181,99,223,.2),transparent 40%),linear-gradient(145deg,#17111d,#0a080c);border:1px solid var(--line);display:grid;place-content:center;text-align:center;position:relative;overflow:hidden}.about-art:after{content:"";position:absolute;width:440px;height:440px;border:1px solid var(--line);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.butterfly{font:55px var(--serif);color:var(--lilac);letter-spacing:-10px}.butterfly span{color:var(--gold);font-size:24px}.about-art p{font:32px/1.4 var(--serif);position:relative;z-index:1}.about-art em{color:var(--lilac)}.about h2{font-size:clamp(50px,5vw,76px)}.large-copy{font:24px/1.6 var(--serif);color:#ddd4df}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}.values h3{font-size:21px;margin:12px 0 8px}.values p{font-size:12px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:linear-gradient(140deg,rgba(181,99,223,.09),transparent 45%);border-top:1px solid rgba(255,255,255,.08)}.contact h2{font-size:clamp(48px,5.3vw,78px)}.contact-copy>p:not(.section-number){color:var(--muted);line-height:1.7;max-width:570px}.contact-details{margin-top:55px;display:flex;gap:50px}.contact-details small,.contact-details a,.contact-details span{display:block}.contact-details small{color:var(--gold);text-transform:uppercase;letter-spacing:.15em;margin-bottom:9px}.contact-details a,.contact-details span{font:17px var(--serif)}.contact-form{background:#f5eee5;color:#1a141c;padding:44px;align-self:center}.contact-form label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:25px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #cbbfc8;padding:12px 0;font:14px var(--sans);border-radius:0;color:#1a141c;outline:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#8a429e}.contact-form textarea{resize:vertical}.contact-form .button{width:100%;margin-top:5px}.form-note{text-align:center;color:#776d78;font-size:10px;margin:15px 0 0}.hidden{display:none}footer{min-height:260px;max-width:1440px;margin:auto;padding:55px 6vw 25px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;border-top:1px solid rgba(255,255,255,.08);color:var(--muted)}.footer-brand{display:flex;align-items:center;gap:15px;font:24px var(--serif);color:var(--cream)}.footer-brand img{width:52px;height:52px;border-radius:50%}.footer-brand small{display:block;color:var(--lilac);font:9px var(--sans);letter-spacing:.3em;text-transform:uppercase;margin-top:5px}footer>p{text-align:center;font:18px var(--serif);color:var(--lilac)}footer>div{display:flex;justify-content:flex-end;gap:25px;font-size:12px}footer>small{grid-column:1/-1;margin-top:auto;font-size:10px;opacity:.55}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:72px}.brand img{width:42px;height:42px}.menu-toggle{display:block;width:42px;height:42px;padding:10px;position:relative;z-index:3}.menu-toggle span{display:block;height:1px;background:white;margin:7px 0}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0d0a10;padding:28px 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:60px}.hero-art{min-height:480px}.hero h1{font-size:clamp(57px,14vw,88px)}.manifesto-copy{grid-template-columns:1fr}.manifesto-copy>p{display:none}.steps,.service-grid{grid-template-columns:1fr}.service-card{min-height:350px}.section-heading{display:block}.section-heading>p{margin:25px 0}.about,.contact{grid-template-columns:1fr}.about-art{min-height:480px}.contact-details{flex-direction:column;gap:10px}.values{gap:12px}footer{grid-template-columns:1fr;text-align:center;gap:28px}.footer-brand{justify-content:center}footer>p{margin:0}footer>div{justify-content:center}footer>small{margin-top:25px}}
@media(max-width:560px){.hero,.manifesto,.services,.about,.contact{padding-left:24px;padding-right:24px}.hero{padding-top:45px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.promise-row{flex-direction:column;gap:11px}.hero-art{min-height:390px}.floating-note{bottom:0}.manifesto,.services,.about,.contact{padding-top:80px;padding-bottom:80px}.manifesto h2,.section-heading h2,.about h2,.contact h2{font-size:44px}.steps article{padding:28px}.values{grid-template-columns:1fr}.about-art{min-height:400px}.field-row{grid-template-columns:1fr}.contact-form{padding:30px 24px}.contact-details a{font-size:14px}}
/* Soft, breathing logo glow */
.brand img{animation:brandGlowPulse 3.6s ease-in-out infinite;will-change:filter}
.logo-stage:before{animation:heroGlowPulse 4.2s ease-in-out infinite;will-change:transform,box-shadow,opacity}
.logo-glow{background:radial-gradient(circle,rgba(221,168,241,.88) 0%,rgba(181,99,223,.62) 38%,rgba(229,191,115,.2) 66%,transparent 78%);filter:blur(76px);opacity:.28;animation:logoAuraPulse 4.2s ease-in-out infinite;will-change:transform,opacity,filter}
@keyframes brandGlowPulse{0%,100%{filter:drop-shadow(0 0 4px rgba(181,99,223,.28)) drop-shadow(0 0 8px rgba(229,191,115,.12))}50%{filter:drop-shadow(0 0 9px rgba(221,168,241,.75)) drop-shadow(0 0 18px rgba(229,191,115,.42))}}
@keyframes heroGlowPulse{0%,100%{transform:scale(.985);opacity:.62;box-shadow:0 0 55px rgba(181,99,223,.18),0 0 95px rgba(229,191,115,.08)}50%{transform:scale(1.035);opacity:1;box-shadow:0 0 85px rgba(181,99,223,.46),0 0 145px rgba(229,191,115,.2)}}
@keyframes logoAuraPulse{0%,100%{transform:scale(.88);opacity:.22;filter:blur(82px)}50%{transform:scale(1.16);opacity:.5;filter:blur(66px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.brand img,.logo-stage:before,.logo-glow{animation:none}}

/* Tagline-to-butterfly hero sequence */
.hero-art{isolation:isolate}.logo-stage{z-index:2}.transformation-ribbon{position:absolute;left:6%;right:-2%;bottom:22px;height:70px;overflow:visible;z-index:20;pointer-events:none}
.transformation-ribbon:before{content:"";position:absolute;left:0;right:6%;top:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(229,191,115,.28),rgba(221,168,241,.5),transparent);animation:ribbonLineBreath 9s ease-in-out infinite}
.ribbon-track{position:absolute;top:19px;left:0;display:flex;align-items:center;gap:16px;white-space:nowrap;text-transform:uppercase;letter-spacing:.23em;font-size:10px;color:#d9c7df;text-shadow:0 0 12px rgba(221,168,241,.42);animation:wordsBecomeButterfly 9s cubic-bezier(.55,.04,.35,1) infinite;will-change:transform,opacity,filter;mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 86%,transparent 100%)}
.ribbon-track i{font-style:normal;font-size:7px;color:var(--gold);text-shadow:0 0 8px var(--gold)}
.flight-butterfly{position:absolute;top:22px;right:8%;width:38px;height:27px;opacity:0;z-index:24;filter:drop-shadow(0 0 8px rgba(221,168,241,.9)) drop-shadow(0 0 16px rgba(229,191,115,.45));animation:butterflyFlight 9s cubic-bezier(.42,.01,.35,1) infinite;will-change:transform,opacity;transform-style:preserve-3d}
.flight-butterfly b{position:absolute;left:17px;top:6px;width:4px;height:17px;border-radius:50%;background:linear-gradient(var(--gold),var(--purple));transform:rotate(-8deg);box-shadow:0 0 8px var(--lilac)}
.flight-butterfly i:before,.flight-butterfly i:after{content:"";position:absolute;top:2px;width:1px;height:9px;background:var(--gold);transform-origin:bottom}.flight-butterfly i:before{left:18px;transform:rotate(-28deg)}.flight-butterfly i:after{left:21px;transform:rotate(28deg)}
.wing{position:absolute;top:2px;width:18px;height:22px;background:linear-gradient(145deg,rgba(229,191,115,.9),rgba(181,99,223,.72) 52%,rgba(221,168,241,.16));border:1px solid rgba(244,215,151,.85);box-shadow:inset 0 0 8px rgba(255,255,255,.35);animation:wingFlutter .19s ease-in-out infinite alternate}
.wing-left{left:0;border-radius:85% 35% 70% 25%;transform-origin:right center}.wing-right{right:0;border-radius:35% 85% 25% 70%;transform-origin:left center;animation-delay:-.095s}
@keyframes wordsBecomeButterfly{0%{transform:translateX(-34%);opacity:0;filter:blur(5px)}8%{opacity:1;filter:blur(0)}42%{transform:translateX(10%);opacity:1;filter:blur(0)}51%{transform:translateX(62%) scaleX(.12);opacity:.15;filter:blur(5px)}52%,100%{transform:translateX(64%) scaleX(0);opacity:0;filter:blur(8px)}}
@keyframes butterflyFlight{0%,47%{transform:translate(0,4px) scale(.15) rotate(-8deg);opacity:0}52%{transform:translate(0,0) scale(.8) rotate(-5deg);opacity:1}59%{transform:translate(-42px,-30px) scale(1) rotate(-16deg);opacity:1}68%{transform:translate(15px,-82px) scale(.9) rotate(13deg);opacity:1}77%{transform:translate(72px,-145px) scale(.72) rotate(-4deg);opacity:.82}87%{transform:translate(175px,-245px) scale(.35) rotate(18deg);opacity:0}100%{transform:translate(210px,-280px) scale(.15);opacity:0}}
@keyframes wingFlutter{from{transform:perspective(60px) rotateY(8deg) rotateZ(-3deg)}to{transform:perspective(60px) rotateY(67deg) rotateZ(5deg)}}
@keyframes ribbonLineBreath{0%,100%{opacity:.08;transform:scaleX(.3)}12%,43%{opacity:.85;transform:scaleX(1)}54%{opacity:.15;transform:scaleX(.15)}65%{opacity:0}}
@media(max-width:560px){.transformation-ribbon{left:0;right:-10%;bottom:4px}.ribbon-track{gap:11px;font-size:8px;letter-spacing:.16em}.flight-butterfly{right:12%}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;transform:none;opacity:1;filter:none}.flight-butterfly{display:none}.transformation-ribbon:before{animation:none;opacity:.5}}

/* Butterfly return flight and crown landing */
.transformation-ribbon{--crown-x:-215px;--crown-y:-475px}
.ribbon-track,.flight-butterfly,.transformation-ribbon:before{animation-duration:13s}
@keyframes butterflyFlight{0%,35%{transform:translate(0,4px) scale(.15) rotate(-8deg);opacity:0}40%{transform:translate(0,0) scale(.8) rotate(-5deg);opacity:1}46%{transform:translate(-42px,-30px) scale(1) rotate(-16deg);opacity:1}52%{transform:translate(20px,-92px) scale(.9) rotate(13deg);opacity:1}59%{transform:translate(95px,-178px) scale(.65) rotate(-4deg);opacity:.9}65%{transform:translate(205px,-285px) scale(.25) rotate(18deg);opacity:0}69%{transform:translate(225px,-310px) scale(.3) rotate(-20deg);opacity:0}73%{transform:translate(180px,-335px) scale(.55) rotate(-18deg);opacity:1}78%{transform:translate(105px,-370px) scale(.8) rotate(14deg);opacity:1}83%{transform:translate(25px,-405px) scale(.9) rotate(-12deg);opacity:1}88%{transform:translate(-85px,-438px) scale(.78) rotate(9deg);opacity:1}93%{transform:translate(var(--crown-x),var(--crown-y)) scale(.68) rotate(0deg);opacity:1}96%{transform:translate(var(--crown-x),calc(var(--crown-y) - 3px)) scale(.66) rotate(-2deg);opacity:1}100%{transform:translate(var(--crown-x),var(--crown-y)) scale(.65) rotate(1deg);opacity:1}}
@keyframes ribbonLineBreath{0%,100%{opacity:.08;transform:scaleX(.3)}9%,34%{opacity:.85;transform:scaleX(1)}42%{opacity:.15;transform:scaleX(.15)}50%{opacity:0}}
@media(max-width:560px){.transformation-ribbon{--crown-x:-132px;--crown-y:-335px}}

/* Logo butterfly comes to life */
.transformation-ribbon{--source-x:-154px;--source-y:-350px;--crown-x:-235px;--crown-y:-478px}
.flight-butterfly{width:82px;height:82px;right:8%;top:22px;transform-origin:50% 72%;filter:drop-shadow(0 0 7px rgba(221,168,241,.95)) drop-shadow(0 0 18px rgba(181,99,223,.7));animation-timing-function:linear}
.flight-butterfly img{display:block;width:100%;height:100%;object-fit:contain;animation:butterflyWingLife .38s ease-in-out infinite alternate;transform-origin:50% 68%;will-change:transform,filter}
@keyframes butterflyWingLife{from{transform:perspective(110px) rotateY(-7deg) scaleX(.9);filter:brightness(.92)}to{transform:perspective(110px) rotateY(8deg) scaleX(1);filter:brightness(1.18)}}
@keyframes butterflyFlight{0%,33%{transform:translate(var(--source-x),var(--source-y)) scale(.53) rotate(-5deg);opacity:0}36%{transform:translate(var(--source-x),var(--source-y)) scale(.53) rotate(-5deg);opacity:1}40%{transform:translate(calc(var(--source-x) + 4px),calc(var(--source-y) - 8px)) scale(.58) rotate(3deg);opacity:1}46%{transform:translate(-100px,-405px) scale(.66) rotate(-13deg);opacity:1}52%{transform:translate(20px,-445px) scale(.72) rotate(12deg);opacity:1}58%{transform:translate(155px,-385px) scale(.58) rotate(-7deg);opacity:1}64%{transform:translate(235px,-315px) scale(.35) rotate(16deg);opacity:0}68%{transform:translate(250px,-335px) scale(.36) rotate(-16deg);opacity:0}72%{transform:translate(190px,-390px) scale(.5) rotate(-14deg);opacity:1}77%{transform:translate(100px,-442px) scale(.64) rotate(11deg);opacity:1}82%{transform:translate(-20px,-480px) scale(.67) rotate(-9deg);opacity:1}86%{transform:translate(-125px,-500px) scale(.62) rotate(7deg);opacity:1}89%{transform:translate(calc(var(--crown-x) + 48px),calc(var(--crown-y) - 24px)) scale(.57) rotate(-5deg);opacity:1}92%{transform:translate(calc(var(--crown-x) + 18px),calc(var(--crown-y) - 17px)) scale(.52) rotate(3deg);opacity:1}95%{transform:translate(var(--crown-x),calc(var(--crown-y) - 12px)) scale(.48) rotate(-1deg);opacity:1}97%{transform:translate(var(--crown-x),calc(var(--crown-y) - 3px)) scale(.46) rotate(0deg);opacity:1}100%{transform:translate(var(--crown-x),var(--crown-y)) scale(.45) rotate(0deg);opacity:1}}
@media(max-width:560px){.transformation-ribbon{--source-x:-88px;--source-y:-235px;--crown-x:-150px;--crown-y:-338px}.flight-butterfly{width:66px;height:66px}}
@media(prefers-reduced-motion:reduce){.flight-butterfly{display:none}.flight-butterfly img{animation:none}}

/* A staggered family of logo butterflies */
.butterfly-swarm{position:absolute;inset:0;z-index:21;overflow:visible;pointer-events:none}
.swarm-butterfly{position:absolute;top:22px;right:8%;width:68px;height:68px;object-fit:contain;opacity:0;transform-origin:50% 72%;filter:drop-shadow(0 0 6px rgba(221,168,241,.9)) drop-shadow(0 0 13px rgba(181,99,223,.55));will-change:transform,opacity;animation-duration:13s;animation-timing-function:cubic-bezier(.36,.02,.32,1);animation-iteration-count:infinite}
.swarm-one{animation-name:swarmFlightOne}.swarm-two{animation-name:swarmFlightTwo}.swarm-three{animation-name:swarmFlightThree}.swarm-four{animation-name:swarmFlightFour}.swarm-five{animation-name:swarmFlightFive}
@keyframes swarmFlightOne{0%,38%{transform:translate(var(--source-x),var(--source-y)) scale(.22) rotate(-5deg);opacity:0}41%{opacity:.88}48%{transform:translate(-245px,-440px) scale(.43) rotate(-22deg);opacity:.85}57%{transform:translate(-390px,-535px) scale(.26) rotate(-7deg);opacity:0}100%{opacity:0}}
@keyframes swarmFlightTwo{0%,40%{transform:translate(var(--source-x),var(--source-y)) scale(.18) rotate(4deg);opacity:0}43%{opacity:.82}50%{transform:translate(-55px,-515px) scale(.38) rotate(17deg);opacity:.82}59%{transform:translate(45px,-650px) scale(.2) rotate(4deg);opacity:0}100%{opacity:0}}
@keyframes swarmFlightThree{0%,42%{transform:translate(var(--source-x),var(--source-y)) scale(.2) rotate(-3deg);opacity:0}45%{opacity:.78}52%{transform:translate(55px,-420px) scale(.42) rotate(-14deg);opacity:.78}62%{transform:translate(285px,-505px) scale(.24) rotate(12deg);opacity:0}100%{opacity:0}}
@keyframes swarmFlightFour{0%,44%{transform:translate(var(--source-x),var(--source-y)) scale(.16) rotate(5deg);opacity:0}47%{opacity:.72}54%{transform:translate(-175px,-535px) scale(.32) rotate(12deg);opacity:.72}65%{transform:translate(-285px,-690px) scale(.16) rotate(-10deg);opacity:0}100%{opacity:0}}
@keyframes swarmFlightFive{0%,46%{transform:translate(var(--source-x),var(--source-y)) scale(.14) rotate(-4deg);opacity:0}49%{opacity:.68}57%{transform:translate(105px,-535px) scale(.3) rotate(-16deg);opacity:.68}68%{transform:translate(365px,-665px) scale(.14) rotate(8deg);opacity:0}100%{opacity:0}}
@media(max-width:560px){.swarm-butterfly{width:52px;height:52px}@keyframes swarmFlightOne{0%,38%{transform:translate(var(--source-x),var(--source-y)) scale(.22);opacity:0}42%{opacity:.82}58%{transform:translate(-220px,-390px) scale(.2) rotate(-15deg);opacity:0}100%{opacity:0}}@keyframes swarmFlightTwo{0%,40%{transform:translate(var(--source-x),var(--source-y)) scale(.18);opacity:0}44%{opacity:.76}60%{transform:translate(-20px,-470px) scale(.18) rotate(12deg);opacity:0}100%{opacity:0}}@keyframes swarmFlightThree{0%,42%{transform:translate(var(--source-x),var(--source-y)) scale(.2);opacity:0}46%{opacity:.72}62%{transform:translate(180px,-395px) scale(.2) rotate(-12deg);opacity:0}100%{opacity:0}}@keyframes swarmFlightFour{0%,44%{transform:translate(var(--source-x),var(--source-y)) scale(.16);opacity:0}48%{opacity:.65}64%{transform:translate(-145px,-500px) scale(.14) rotate(10deg);opacity:0}100%{opacity:0}}@keyframes swarmFlightFive{0%,46%{transform:translate(var(--source-x),var(--source-y)) scale(.14);opacity:0}50%{opacity:.6}66%{transform:translate(220px,-475px) scale(.13) rotate(-9deg);opacity:0}100%{opacity:0}}}
@media(prefers-reduced-motion:reduce){.butterfly-swarm{display:none}}

/* Crown contact cue: a restrained glow appears only as the lead butterfly settles. */
.logo-stage:after{content:"";position:absolute;left:45.8%;top:5.8%;width:16px;height:7px;border-radius:50%;background:rgba(244,215,151,.82);box-shadow:0 0 9px rgba(229,191,115,.95),0 0 22px rgba(181,99,223,.7);transform:translate(-50%,-50%) scale(.2);opacity:0;z-index:18;animation:crownLandingGlow 13s ease-in-out infinite;pointer-events:none}
@keyframes crownLandingGlow{0%,92%{opacity:0;transform:translate(-50%,-50%) scale(.2)}96%{opacity:.9;transform:translate(-50%,-50%) scale(1)}100%{opacity:.45;transform:translate(-50%,-50%) scale(.62)}}
@media(prefers-reduced-motion:reduce){.logo-stage:after{animation:none;display:none}}

/* Butterflies that accompany the visitor through the page */
.scroll-butterflies{position:fixed;inset:0;z-index:14;overflow:hidden;pointer-events:none;isolation:isolate}
.scroll-butterfly{--travel-x:-100px;--travel-y:30vh;--travel-r:0deg;--travel-face:1;--travel-opacity:0;position:absolute;left:0;top:0;width:58px;height:58px;opacity:var(--travel-opacity);transform:translate3d(var(--travel-x),var(--travel-y),0) translate(-50%,-50%) rotate(var(--travel-r));transition:opacity .45s ease;will-change:transform,opacity}
.scroll-butterfly img{display:block;width:100%;height:100%;object-fit:contain;transform:scaleX(var(--travel-face));filter:drop-shadow(0 0 7px rgba(221,168,241,.72)) drop-shadow(0 0 14px rgba(181,99,223,.42));animation:travelWingBeat .58s ease-in-out infinite alternate;will-change:transform}
.scroll-butterfly.depth-back{width:39px;height:39px;z-index:-1;filter:blur(.25px);mix-blend-mode:screen}.traveler-two img{animation-duration:.72s}.traveler-three{width:49px;height:49px}.traveler-three img{animation-duration:.48s}.traveler-four img{animation-duration:.82s}
@keyframes travelWingBeat{from{transform:scaleX(var(--travel-face)) scaleX(.72) scaleY(.94);filter:drop-shadow(0 0 4px rgba(221,168,241,.5)) brightness(.9)}to{transform:scaleX(var(--travel-face)) scaleX(1) scaleY(1);filter:drop-shadow(0 0 9px rgba(221,168,241,.82)) brightness(1.16)}}
@media(max-width:560px){.scroll-butterfly{width:43px;height:43px}.scroll-butterfly.depth-back{width:29px;height:29px}.traveler-three{width:37px;height:37px}}
@media(prefers-reduced-motion:reduce){.scroll-butterflies{display:none}}


/* Telehealth additions */
.service-list{list-style:none;padding:0;margin:0 0 30px;color:var(--cream);font-size:13px;line-height:1.5}
.service-list li{padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}
.service-list li:before{content:"✦";color:var(--gold);margin-right:10px;font-size:10px}
.service-card{min-height:520px}
.faq{padding:110px 6vw;max-width:1260px;margin:auto}
.faq-list{margin-top:55px;border-top:1px solid rgba(255,255,255,.09)}
.faq details{border-bottom:1px solid rgba(255,255,255,.09)}
.faq summary{cursor:pointer;list-style:none;padding:26px 0;font:400 24px var(--serif);display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--gold);font-family:var(--sans);transition:transform .25s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin:0 0 26px;max-width:760px;color:var(--muted);line-height:1.7;font-size:15px}
.contact-form label.check{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:500;font-size:12px;line-height:1.5}
.contact-form label.check input{width:auto;margin:2px 0 0;accent-color:#8a429e}
.form-note.success{color:#5b2a6a;font-size:13px;font-weight:600}
.form-note.error{color:#a3303a;font-size:12px}
footer>p.medical-disclaimer{grid-column:1/-1;text-align:left;font:11px/1.7 var(--sans);color:#8f8493;max-width:980px;margin:30px 0 0}
footer>p.medical-disclaimer strong{color:var(--cream);font-weight:600}
@media(max-width:900px){.service-card{min-height:0}footer>p.medical-disclaimer{text-align:center;margin:0 auto}}
@media(max-width:560px){.faq{padding:80px 24px}.faq summary{font-size:20px}}

/* Expanded treatment menu */
.care-menu{max-width:1260px;margin:72px auto 0;padding-top:38px;border-top:1px solid rgba(255,255,255,.08)}
.care-menu-heading{display:grid;grid-template-columns:.75fr 1.25fr 1fr;gap:34px;align-items:end;margin-bottom:28px}
.care-menu-heading h3{margin:0;font:400 clamp(30px,3.4vw,48px)/1.06 var(--serif)}
.care-menu-heading h3 em{color:var(--lilac);font-style:normal}
.care-menu-heading>p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.care-tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.care-tile{min-height:220px;padding:24px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(181,99,223,.035));display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.care-tile:hover{transform:translateY(-4px);border-color:rgba(229,191,115,.35);background:linear-gradient(145deg,rgba(181,99,223,.09),rgba(229,191,115,.045))}
.care-tile>span{font-size:10px;letter-spacing:.16em;color:var(--gold)}
.care-tile h4{margin:20px 0 12px;font:400 25px/1.05 var(--serif)}
.care-tile p{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.6}
.care-tile b{margin-top:auto;font-size:11px;color:var(--cream);font-weight:600}
@media(max-width:1000px){.care-menu-heading{grid-template-columns:1fr}.care-tile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.care-menu{margin-top:48px;padding-top:28px}.care-tile-grid{grid-template-columns:1fr}.care-tile{min-height:0}}
