@charset "UTF-8";
:root{color-scheme:light;--ink:#151218;--ink-soft:#26202a;--plum:#251427;--magenta:#d50ab9;--magenta-deep:#7e126d;--rose:#f2e5f0;--rose-soft:#f8f2f7;--paper:#fbf8f6;--white:#fff;--muted:#746b75;--line:rgba(36,26,38,.12);--font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--container:min(1160px,calc(100% - 64px));--shadow-soft:0 20px 50px rgba(36,15,39,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:rgba(213,10,185,.18);color:var(--plum)}.container{width:var(--container);margin-inline:auto}
.skip-link{position:fixed;z-index:1000;inset:10px auto auto 10px;padding:.7rem 1rem;border-radius:.5rem;background:var(--white);color:var(--ink);box-shadow:var(--shadow-soft);transform:translateY(-150%);transition:transform 180ms ease}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;z-index:50;top:0;background:rgba(17,16,21,.97);color:var(--white);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand-lockup{width:145px;display:grid;justify-items:start;align-content:center;line-height:1;flex:0 0 auto}.brand-script{color:#fff;font-family:var(--font-display);font-size:2rem;font-style:italic;letter-spacing:-.06em}.brand-name{margin-top:-.18rem;color:#f1e9f0;font-family:var(--font-display);font-size:.98rem;font-style:italic;letter-spacing:.02em}.brand-place{margin-top:.36rem;color:#c4b8c6;font-size:.52rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1.1rem,2.4vw,2.2rem)}.site-nav>a:not(.nav-booking){color:#e9e2eb;font-size:.86rem;transition:color 180ms ease}.site-nav>a:not(.nav-booking):hover,.site-nav>a:not(.nav-booking):focus-visible{color:#ff8aec}.nav-booking{display:inline-flex;align-items:center;gap:.7rem;padding:.75rem 1.15rem;border:1px solid rgba(255,255,255,.32);border-radius:99px;color:#fff;font-size:.82rem;font-weight:650;transition:background 180ms ease,border-color 180ms ease}.nav-booking span{color:#ff8aec;font-size:1rem}.nav-booking:hover,.nav-booking:focus-visible{border-color:var(--magenta);background:rgba(213,10,185,.18)}.nav-toggle{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4.4rem,8vw,7.4rem) 0 1.5rem;background:linear-gradient(135deg,#fcfaf8 0%,#fbf8f6 52%,#f4ebf3 100%)}.hero-wash{position:absolute;z-index:-1;width:52vw;height:52vw;max-width:780px;max-height:780px;border-radius:50%;right:-17vw;top:-20vw;background:radial-gradient(circle,rgba(218,126,210,.13),rgba(236,209,233,.08) 36%,transparent 72%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.85fr);align-items:center;gap:clamp(3rem,7vw,6.5rem)}.hero-copy{padding:.2rem 0 2rem}.eyebrow{display:flex;align-items:center;gap:.72rem;margin:0 0 1.2rem;color:#d7c7d8;font-size:.7rem;font-weight:750;letter-spacing:.19em;line-height:1.4;text-transform:uppercase}.eyebrow-mark{position:relative;display:inline-block;width:21px;height:1px;background:var(--magenta)}.eyebrow-mark:after{position:absolute;content:"";width:5px;height:5px;border:1px solid var(--magenta);border-radius:50%;top:-2px;right:-1px;background:currentColor}.eyebrow-dark{color:#746a76}.hero h1,.section h2,.approach-section h2,.reviews-section h2,.contact-heading h2{margin:0;font-family:var(--font-display);font-size:clamp(3.35rem,6.3vw,5.65rem);font-weight:400;letter-spacing:-.055em;line-height:.98}.hero h1 em,.section h2 em,.approach-section h2 em,.reviews-section h2 em,.contact-heading h2 em{color:var(--magenta-deep);font-weight:400}.hero-lede{max-width:520px;margin:1.65rem 0 0;color:#5f5662;font-size:clamp(1rem,1.3vw,1.13rem);line-height:1.8}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.55rem;margin-top:2rem}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:.9rem;padding:.83rem 1.3rem;border:1px solid transparent;border-radius:99px;font-size:.86rem;font-weight:680;line-height:1.2;transition:transform 180ms ease,background 180ms ease,border-color 180ms ease,box-shadow 180ms ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--magenta-deep);color:#fff;box-shadow:0 12px 25px rgba(126,18,109,.17)}.button-primary:hover,.button-primary:focus-visible{background:#641158;box-shadow:0 16px 28px rgba(126,18,109,.22)}.button span{font-size:1rem}.text-link{display:inline-flex;align-items:center;gap:.7rem;color:#3d3340;font-size:.88rem;font-weight:650}.text-link span{color:var(--magenta-deep);font-size:1rem;transition:transform 180ms ease}.text-link:hover span{transform:translate(2px,2px)}.hero-rating{width:fit-content;display:flex;align-items:center;gap:.9rem;margin-top:2.5rem;padding:.8rem 1rem .8rem .85rem;border:1px solid rgba(73,56,76,.12);border-radius:99px;background:rgba(255,255,255,.64);color:#403744;font-size:.76rem;transition:border-color 180ms ease,transform 180ms ease}.hero-rating:hover{border-color:rgba(126,18,109,.36);transform:translateY(-2px)}.rating-stars{color:var(--magenta-deep);font-size:.92rem;letter-spacing:.1em;white-space:nowrap}.hero-rating strong{color:var(--ink);font-size:.82rem}.rating-muted{color:#756b77}.rating-arrow{margin-left:.1rem;color:var(--magenta-deep)}
.hero-art-wrap{position:relative;width:100%;max-width:525px;justify-self:end}.hero-art{position:relative;min-height:474px;aspect-ratio:.98;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:2rem;border-radius:44% 44% 2rem 2rem/37% 37% 2rem 2rem;background:radial-gradient(circle at 78% 19%,rgba(203,35,182,.31),transparent 24%),radial-gradient(circle at 18% 72%,rgba(105,51,114,.3),transparent 32%),linear-gradient(145deg,#1a151c,#0b0a0e 78%);box-shadow:0 30px 65px rgba(37,20,39,.18)}.hero-art:before,.hero-art:after{position:absolute;content:"";pointer-events:none}.hero-art:before{inset:1rem;border:1px solid rgba(245,222,245,.13);border-radius:inherit}.hero-art:after{width:68%;height:68%;top:16%;left:16%;border:1px solid rgba(229,91,220,.35);border-radius:50%;transform:rotate(-27deg) scaleX(1.14)}.art-orbit{position:absolute;z-index:0;border:1px solid rgba(232,113,222,.19);border-radius:50%;pointer-events:none}.art-orbit-one{width:95%;height:48%;transform:rotate(37deg)}.art-orbit-two{width:90%;height:55%;transform:rotate(-43deg)}.art-spark{position:absolute;z-index:1;color:#ff81eb;font-size:2rem}.art-spark-one{top:18%;right:16%}.art-spark-two{bottom:20%;left:14%;color:#f4d9f2;font-size:1.5rem}.art-topline,.art-bottomline{position:absolute;z-index:2;left:2.1rem;right:2.1rem;display:flex;align-items:center;justify-content:space-between;color:#cfc1d1;font-size:.55rem;font-weight:650;letter-spacing:.18em;text-transform:uppercase}.art-topline{top:2rem}.art-bottomline{bottom:2rem}.hero-logo{position:relative;z-index:1;width:min(92%,420px);height:auto;mix-blend-mode:screen;filter:drop-shadow(0 10px 28px rgba(0,0,0,.25))}.hero-art-caption{margin:1rem 0 0;color:#706674;font-family:var(--font-display);font-size:1.08rem;font-style:italic;text-align:center}.hero-bottom{display:flex;align-items:center;gap:.9rem;margin-top:clamp(3.2rem,6vw,5.8rem);color:#8a7d8d;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-bottom-line{width:44px;height:1px;background:var(--magenta)}
.section{padding:clamp(5.5rem,9vw,8.5rem) 0}.services-section{background:#fff}.section-heading{margin-bottom:3.2rem}.section-heading-split{display:grid;grid-template-columns:1fr minmax(250px,.55fr);align-items:end;gap:3rem}.section h2,.approach-section h2,.reviews-section h2,.contact-heading h2{font-size:clamp(2.8rem,5.2vw,4.5rem)}.section-intro{max-width:410px;margin:0 0 .35rem;color:var(--muted);font-size:.98rem;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.service-card{position:relative;display:flex;flex-direction:column;min-height:340px;padding:1.45rem;border:1px solid var(--line);border-radius:1.35rem;background:#fff;transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease}.service-card:hover{transform:translateY(-5px);border-color:rgba(126,18,109,.25);box-shadow:var(--shadow-soft)}.service-card-featured{background:linear-gradient(160deg,#fcf7fb,#f5eaf4);border-color:rgba(126,18,109,.17)}.service-card-top{display:flex;align-items:center;justify-content:space-between}.service-number{color:#9e90a0;font-size:.65rem;font-weight:750;letter-spacing:.16em}.service-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:50%;background:var(--rose-soft);color:var(--magenta-deep)}.service-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.service-card h3{margin:1.25rem 0 .52rem;font-family:var(--font-display);font-size:1.62rem;font-weight:400;letter-spacing:-.03em;line-height:1.12}.service-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.7}.service-tags{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:1.1rem}.service-tags span{padding:.3rem .52rem;border:1px solid rgba(126,18,109,.14);border-radius:99px;color:#664b68;font-size:.61rem;line-height:1.2}.card-link{display:inline-flex;align-items:center;gap:.55rem;margin-top:auto;padding-top:1.2rem;color:var(--magenta-deep);font-size:.75rem;font-weight:700}.card-link span{transition:transform 180ms ease}.card-link:hover span{transform:translate(3px,-3px)}.services-note{margin:1.6rem 0 0;color:#79717a;font-size:.76rem;text-align:center}
.approach-section{position:relative;overflow:hidden;padding:clamp(5rem,9vw,8rem) 0;background:radial-gradient(circle at 10% 110%,rgba(213,10,185,.15),transparent 30%),linear-gradient(120deg,#18141b,#211424);color:#fff}.approach-section:after{position:absolute;content:"";width:360px;height:360px;right:-130px;top:-170px;border:1px solid rgba(249,119,232,.16);border-radius:50%;box-shadow:0 0 0 30px rgba(249,119,232,.035),0 0 0 62px rgba(249,119,232,.025);pointer-events:none}.approach-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:clamp(3rem,8vw,8rem);align-items:center}.approach-copy{position:relative;z-index:1}.approach-section h2{color:#fff}.approach-section h2 em,.reviews-section h2 em{color:#f18de3}.approach-copy>p:not(.eyebrow){max-width:485px;margin:1.35rem 0 1.7rem;color:#d4cbd8;font-size:.94rem;line-height:1.85}.button-light{background:#fff;color:var(--plum)}.button-light:hover,.button-light:focus-visible{background:#f6e9f4}.approach-steps{position:relative;z-index:1}.approach-step{display:grid;grid-template-columns:52px 1fr;gap:1.2rem;padding:1.35rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.approach-step:first-child{border-top:1px solid rgba(255,255,255,.15)}.approach-step>span{color:#f278de;font-family:var(--font-display);font-size:1.25rem;font-style:italic}.approach-step h3{margin:0;font-family:var(--font-display);font-size:1.55rem;font-weight:400}.approach-step p{margin:.22rem 0 0;color:#cfc4d2;font-size:.8rem;line-height:1.7}
.atelier-section{background:var(--paper);padding-bottom:0}.atelier-grid{display:grid;grid-template-columns:minmax(260px,.83fr) minmax(0,1fr);gap:clamp(3.5rem,10vw,9rem);align-items:center;padding-bottom:clamp(5rem,8vw,7.4rem)}.atelier-emblem{position:relative;width:min(100%,390px);aspect-ratio:1;display:grid;place-items:center;justify-self:center;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff,#f8edf6 48%,#ecdbea);color:var(--plum)}.atelier-emblem:before,.atelier-emblem:after{position:absolute;content:"";border:1px solid rgba(126,18,109,.22);border-radius:50%}.atelier-emblem:before{inset:9%}.atelier-emblem:after{inset:15%;border-style:dashed;opacity:.55}.emblem-ring{position:absolute;width:68%;height:68%;border:1px solid rgba(213,10,185,.42);border-radius:50%;transform:rotate(25deg) scaleX(1.25)}.emblem-letter{position:relative;z-index:1;color:var(--magenta-deep);font-family:var(--font-display);font-size:clamp(7rem,13vw,10.5rem);font-style:italic;line-height:1}.emblem-caption{position:absolute;z-index:2;bottom:20%;color:#7d6c80;font-size:.58rem;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.emblem-spark{position:absolute;z-index:2;top:19%;right:20%;color:var(--magenta);font-size:2.2rem}.atelier-copy h2{margin-bottom:1.15rem}.atelier-copy>p:not(.eyebrow){max-width:560px;margin:0;color:var(--muted);font-size:.93rem;line-height:1.85}.atelier-facts{display:flex;flex-wrap:wrap;gap:2.5rem;margin:1.75rem 0}.atelier-facts div{display:grid;gap:.18rem}.atelier-facts strong{color:var(--magenta-deep);font-family:var(--font-display);font-size:1.65rem;font-weight:400}.atelier-facts span{color:#786e7a;font-size:.68rem}.text-link-dark{color:var(--ink)}.team-block{padding:clamp(3.8rem,6vw,5.2rem) 0 clamp(5rem,8vw,7.5rem);border-top:1px solid var(--line)}.team-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.8rem}.team-heading .eyebrow{margin-bottom:0}.team-heading>p:last-child{margin:0;color:var(--muted);font-size:.82rem}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.team-card{display:grid;justify-items:center;padding:1.6rem 1.2rem 1.5rem;border:1px solid var(--line);border-radius:1.2rem;background:rgba(255,255,255,.76);text-align:center}.team-avatar{position:relative;width:92px;height:92px;display:grid;place-items:center;border:1px solid rgba(126,18,109,.2);border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff,#edd9ee 72%,#d8bedc);color:var(--magenta-deep)}.team-avatar>span{font-family:var(--font-display);font-size:3.1rem;font-style:italic;line-height:1}.team-avatar i{position:absolute;right:-2px;bottom:2px;display:grid;width:28px;height:28px;place-items:center;border:2px solid var(--paper);border-radius:50%;background:var(--magenta-deep);color:#fff;font-size:.72rem;font-style:normal}.team-avatar-rose{background:radial-gradient(circle at 32% 24%,#fff,#f3dce8 72%,#e9c8db);color:#86345f}.team-avatar-rose i{background:#9d3669}.team-avatar-lilac{background:radial-gradient(circle at 32% 24%,#fff,#e5dcf4 72%,#d3c8e8);color:#5f417b}.team-avatar-lilac i{background:#6f528b}.team-card h3{margin:.8rem 0 .25rem;font-family:var(--font-display);font-size:1.55rem;font-weight:400}.team-card p{max-width:270px;margin:0;color:var(--muted);font-size:.76rem;line-height:1.65}
.reviews-section{overflow:hidden;padding:clamp(5rem,8vw,7rem) 0;background:linear-gradient(120deg,#17131a,#26142a);color:#fff}.reviews-grid{display:grid;grid-template-columns:1fr minmax(300px,.72fr);align-items:center;gap:clamp(3rem,9vw,8rem)}.reviews-section h2{color:#fff}.reviews-copy{max-width:440px;margin:1.1rem 0 1.65rem;color:#d0c5d4;font-size:.9rem;line-height:1.8}.review-score-card{position:relative;overflow:hidden;padding:clamp(1.7rem,3vw,2.5rem);border:1px solid rgba(255,255,255,.2);border-radius:1.6rem;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035))}.review-score-label{color:#d5cbd8;font-size:.69rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.review-score{display:flex;align-items:baseline;gap:.45rem;margin-top:.5rem}.review-score strong{color:#fff;font-family:var(--font-display);font-size:clamp(4.8rem,8vw,6.4rem);font-weight:400;letter-spacing:-.06em;line-height:1}.review-score>span{color:#bdb1c0;font-family:var(--font-display);font-size:1.25rem}.rating-stars-large{margin-top:.7rem;color:#ff8dea;font-size:1.15rem}.review-score-card>p{margin:.55rem 0 0;color:#d4cad7;font-size:.8rem}.review-score-card>p strong{color:#fff}.review-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.45rem}.review-pills span{padding:.38rem .65rem;border:1px solid rgba(255,255,255,.21);border-radius:99px;color:#e9dfea;font-size:.63rem}.review-flower{position:absolute;right:1.4rem;top:1.2rem;color:rgba(255,137,239,.5);font-size:2.2rem}
.contact-section{padding:clamp(5rem,8vw,7.5rem) 0;background:linear-gradient(180deg,#faf6fa,#f7f1f7)}.contact-heading{max-width:700px;margin:0 auto 2.5rem;text-align:center}.contact-heading .eyebrow{justify-content:center}.contact-heading h2{font-size:clamp(3rem,5.5vw,4.7rem)}.contact-heading>p:last-child{max-width:500px;margin:1rem auto 0;color:var(--muted);font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:1rem}.contact-card{border:1px solid rgba(71,52,76,.12);border-radius:1.35rem;background:rgba(255,255,255,.88);box-shadow:0 16px 48px rgba(51,26,52,.05)}.contact-card-main{padding:.5rem 1.6rem}.contact-method{display:grid;grid-template-columns:45px 1fr 22px;align-items:center;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}.contact-method:last-child{border-bottom:0}.contact-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f2e7f1;color:var(--magenta-deep)}.contact-icon svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.contact-icon-pink{background:#f7e1f2;color:#9a1e83}.contact-method>div{display:grid;gap:.12rem}.contact-label{color:#7b717d;font-size:.64rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.contact-method a:not(.contact-arrow),.contact-method address{color:var(--ink);font-family:var(--font-display);font-size:1.35rem;font-style:normal;line-height:1.25}.contact-method a:not(.contact-arrow):hover{color:var(--magenta-deep)}.contact-arrow{color:var(--magenta-deep);font-size:1.05rem}.contact-hours{padding:1.55rem 1.7rem 1.35rem}.hours-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;color:var(--ink);font-family:var(--font-display);font-size:1.35rem}.hours-dot{width:9px;height:9px;border-radius:50%;background:#78a17a;box-shadow:0 0 0 4px rgba(120,161,122,.14)}.hours-list{margin:0}.hours-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.39rem 0;border-bottom:1px solid rgba(36,26,38,.08);font-size:.76rem}.hours-list dt{color:#6f6571}.hours-list dd{margin:0;color:#28222c;font-weight:650;text-align:right}.hours-list .hours-closed{border:0}.hours-list .hours-closed dd{color:#817681;font-weight:500}.button-outline{width:100%;min-height:45px;margin-top:1rem;border-color:rgba(126,18,109,.3);color:var(--magenta-deep);font-size:.78rem}.button-outline:hover,.button-outline:focus-visible{border-color:var(--magenta-deep);background:#fbf5fb}.price-note{display:flex;justify-content:center;align-items:center;gap:.55rem;margin:1.55rem auto 0;color:#756a78;font-size:.75rem;text-align:center}.price-note span{color:var(--magenta-deep)}
.site-footer{background:#111015;color:#eee8f0}.footer-main{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:2rem;padding:2.5rem 0}.footer-logo{display:block;width:150px}.footer-logo img{width:100%;height:auto;mix-blend-mode:screen}.footer-main>p{margin:0;color:#c3b9c7;font-family:var(--font-display);font-size:1.25rem;font-style:italic;line-height:1.4}.footer-social{display:flex;align-items:center;gap:1.15rem;font-size:.73rem}.footer-social>span{color:#958a99;font-size:.62rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.footer-social a{color:#f1eaf2}.footer-social a:hover{color:#ff8dea}.footer-social a span{color:#ff8dea}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1.05rem 0;border-top:1px solid rgba(255,255,255,.1);color:#9e94a2;font-size:.65rem}.footer-bottom a{color:#e8dce9}.footer-bottom a:hover{color:#ff8dea}:focus-visible{outline:3px solid #ee67dc;outline-offset:4px}
@media(max-width:1000px){
  :root{--container:min(760px,calc(100% - 48px))}
  .header-inner{min-height:80px}
  .nav-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-left:auto;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:transparent;color:#fff;cursor:pointer}
  .nav-toggle span{width:16px;height:1px;background:currentColor;transition:transform 180ms ease}
  .nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:.5rem 24px 1.1rem;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(17,16,21,.99);box-shadow:0 20px 30px rgba(9,7,12,.18)}
  .site-nav.is-open{display:flex}
  .site-nav>a:not(.nav-booking){padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.92rem}
  .nav-booking{justify-content:center;margin-top:.9rem;padding:.85rem 1rem}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(275px,.83fr);gap:2.2rem}
  .hero h1{font-size:clamp(3.4rem,7vw,5rem)}
  .hero-art{min-height:0;padding:1.3rem}
  .art-topline,.art-bottomline{left:1.5rem;right:1.5rem}
  
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card{min-height:300px}
  .approach-grid{grid-template-columns:1fr .95fr;gap:3rem}
  .atelier-grid{gap:3.5rem}
}
@media(max-width:720px){
  :root{--container:calc(100% - 40px)}
  html{scroll-padding-top:76px}
  .header-inner{min-height:76px;gap:1rem}
  .brand-lockup{width:130px}.brand-script{font-size:1.8rem}.brand-name{font-size:.9rem}
  .hero{padding-top:3.8rem}
  .hero-grid{grid-template-columns:1fr;gap:2.8rem}
  .hero-copy{padding-bottom:0}.hero h1{max-width:620px;font-size:clamp(3.45rem,12vw,5rem)}
  .hero-lede{max-width:550px;font-size:.98rem}.hero-art-wrap{width:min(100%,480px);justify-self:center}.hero-art{min-height:430px}
  .hero-bottom{margin-top:3rem}
  .section-heading-split{grid-template-columns:1fr;gap:1rem}.section-intro{max-width:560px}
  .approach-grid{grid-template-columns:1fr;gap:3rem}.approach-steps{max-width:600px}
  .atelier-grid{grid-template-columns:1fr;gap:3rem}.atelier-emblem{width:min(78vw,320px)}.atelier-copy{max-width:620px}
  .team-heading{align-items:start;flex-direction:column;gap:.7rem}
  .reviews-grid{grid-template-columns:1fr;gap:2.4rem}.review-score-card{max-width:520px}
  .contact-grid{grid-template-columns:1fr}.contact-heading{margin-bottom:2rem}
  .footer-main{grid-template-columns:130px 1fr;gap:1.2rem}.footer-logo{width:128px}.footer-main>p{font-size:1.08rem}
  .footer-social{grid-column:1/-1;justify-content:flex-start;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}
}
@media(max-width:520px){
  :root{--container:calc(100% - 32px)}body{font-size:15px}
  .brand-lockup{width:122px}.brand-script{font-size:1.7rem}.brand-place{font-size:.47rem}.nav-toggle{width:42px;height:42px}.site-nav{padding-inline:16px}
  .hero{padding-top:3rem}.eyebrow{gap:.56rem;font-size:.62rem;letter-spacing:.15em}.hero h1{font-size:clamp(3.1rem,14vw,4.2rem)}.hero-lede{margin-top:1.15rem;font-size:.91rem}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:1.1rem;margin-top:1.55rem}.button{width:100%;min-height:49px}
  .hero-rating{max-width:100%;gap:.55rem;margin-top:1.8rem;padding:.68rem .72rem;font-size:.64rem}.rating-stars{font-size:.77rem;letter-spacing:.04em}.rating-muted{font-size:.61rem}
  .hero-art{min-height:330px;padding:1rem;border-radius:42% 42% 1.5rem 1.5rem/30% 30% 1.5rem 1.5rem}
  .art-topline,.art-bottomline{left:1.15rem;right:1.15rem;font-size:.47rem;letter-spacing:.12em}.art-topline{top:1.55rem}.art-bottomline{bottom:1.5rem}
  
  .art-spark-one{top:17%;right:12%;font-size:1.55rem}.art-spark-two{bottom:17%;left:11%;font-size:1.1rem}.hero-art-caption{font-size:.98rem}.hero-bottom{margin-top:2.4rem;font-size:.52rem}
  .section{padding:4.5rem 0}.section h2,.approach-section h2,.reviews-section h2,.contact-heading h2{font-size:clamp(2.75rem,12vw,3.55rem)}.section-heading{margin-bottom:2rem}
  .service-grid{grid-template-columns:1fr;gap:.8rem}.service-card{min-height:0;padding:1.25rem}.service-card h3{font-size:1.55rem}.service-card p{font-size:.81rem}.service-tags span{font-size:.58rem}.services-note{font-size:.7rem;line-height:1.65}
  .approach-section{padding:4.5rem 0}.approach-copy>p:not(.eyebrow){font-size:.86rem}.approach-step{grid-template-columns:38px 1fr;gap:.7rem;padding:1.1rem 0}.approach-step h3{font-size:1.35rem}.approach-step p{font-size:.73rem}
  .atelier-grid{padding-bottom:4.5rem}.atelier-copy>p:not(.eyebrow){font-size:.85rem}.atelier-facts{gap:1.4rem}.team-block{padding:3.8rem 0 4.5rem}
  .team-grid{grid-template-columns:1fr}.team-card{grid-template-columns:66px 1fr;justify-items:start;gap:0 .9rem;padding:1rem;text-align:left}.team-avatar{width:66px;height:66px;grid-row:span 2}.team-avatar>span{font-size:2.3rem}.team-avatar i{width:22px;height:22px;font-size:.6rem}.team-card h3{align-self:end;margin:0 0 .1rem;font-size:1.4rem}.team-card p{align-self:start;max-width:280px;font-size:.7rem}
  .reviews-section{padding:4.5rem 0}.reviews-copy{font-size:.84rem}.review-score-card{padding:1.5rem}.review-score strong{font-size:5rem}
  .contact-section{padding:4.5rem 0}.contact-heading>p:last-child{font-size:.82rem}.contact-card-main{padding-inline:1rem}.contact-method{grid-template-columns:38px 1fr 18px;gap:.7rem;padding:1.12rem 0}.contact-icon{width:37px;height:37px}.contact-method a:not(.contact-arrow),.contact-method address{font-size:1.16rem}.contact-label{font-size:.57rem;letter-spacing:.12em}.contact-hours{padding:1.25rem}.hours-title{font-size:1.2rem}.hours-list>div{font-size:.7rem}.price-note{align-items:flex-start;font-size:.68rem;line-height:1.55}
  .footer-main{grid-template-columns:1fr;justify-items:start;padding:2rem 0}.footer-logo{width:140px}.footer-main>p{font-size:1.15rem}.footer-social{width:100%;flex-wrap:wrap;gap:.95rem}.footer-social>span{width:100%}.footer-bottom{align-items:flex-start;font-size:.59rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.art-topline{top:3.2rem;left:2.4rem;right:2.4rem;justify-content:center;gap:.85rem}
@media(max-width:520px){.art-topline{top:2.9rem;left:1.75rem;right:1.75rem;gap:.6rem;font-size:.42rem}}

/* Team: ritratti coordinati in bianco e nero, con crop coerente */
.team-block{scroll-margin-top:96px}
.team-heading{align-items:end}
.team-heading-copy{min-width:0}
.team-heading-copy .eyebrow{margin-bottom:.5rem}
.team-heading h2{margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(2.5rem,4.4vw,3.7rem);font-weight:400;letter-spacing:-.055em;line-height:1}
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.team-card{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;padding:.65rem .65rem 1.35rem;border-color:rgba(71,52,76,.14);background:rgba(255,255,255,.82);text-align:center;transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease}
.team-card:hover{transform:translateY(-4px);border-color:rgba(126,18,109,.28);box-shadow:var(--shadow-soft)}
.team-photo{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:.9rem;background:#eee7ed}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%;transition:transform 450ms ease}
.team-photo img{filter:grayscale(1) contrast(1.06) brightness(1.02)}
.team-card:hover .team-photo img{transform:scale(1.035)}
.team-photo-federica img{transform:scale(1.04);transform-origin:center 38%}
.team-photo-sophie img{transform:scale(1.32);transform-origin:center 23%}
.team-photo-elisa img{transform:scale(1.08);transform-origin:center 28%}
.team-card:hover .team-photo-federica img{transform:scale(1.075)}
.team-card:hover .team-photo-sophie img{transform:scale(1.355)}
.team-card:hover .team-photo-elisa img{transform:scale(1.115)}
.team-card-copy{display:flex;width:100%;flex:1;flex-direction:column;align-items:center;padding:.95rem .35rem .05rem}
.team-role{margin-bottom:.15rem;color:var(--magenta-deep);font-size:.58rem;font-weight:750;letter-spacing:.14em;line-height:1.45;text-transform:uppercase}
.team-card h3{margin:.12rem 0 .45rem;font-size:1.38rem;line-height:1.15}
.team-card p{max-width:27ch;margin:0;color:var(--muted);font-size:.73rem;line-height:1.7}
@media(max-width:1000px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-card p{max-width:34ch}
}
@media(max-width:720px){
  .team-heading{align-items:flex-start;flex-direction:column;gap:.45rem}
  .team-grid{grid-template-columns:1fr;max-width:620px;margin-inline:auto}
  .team-card{display:grid;grid-template-columns:minmax(104px,.72fr) minmax(0,1fr);align-items:center;gap:0 .9rem;padding:.7rem;text-align:left}
  .team-photo{grid-column:1;grid-row:1;aspect-ratio:4/5}
  .team-card-copy{grid-column:2;grid-row:1;align-items:flex-start;padding:.2rem .15rem}
  .team-card h3{margin:.12rem 0 .4rem;font-size:1.35rem}
  .team-card p{max-width:none;font-size:.72rem}
}
.footer-social-instagram,.footer-social-facebook{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}
.social-icon{width:18px;height:18px;display:block;flex:none}
.instagram-icon{stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.instagram-icon-dot{fill:currentColor;stroke:none}
.facebook-icon{fill:currentColor}
.header-social{display:none}
@media(max-width:1000px){
  .header-social{display:flex;align-items:center;gap:.4rem;margin-left:auto}
  .header-social-label{color:#a79cac;font-size:.54rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
  .header-social-link{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#f1eaf2;transition:background 180ms ease,border-color 180ms ease,color 180ms ease}
  .header-social-link:hover,.header-social-link:focus-visible{border-color:rgba(255,138,236,.75);background:rgba(213,10,185,.15);color:#ff8dea}
  .header-social-link .social-icon{width:16px;height:16px}
  .nav-toggle{margin-left:0}
  .footer-social{display:none}
}
@media(max-width:360px){.header-social-label{display:none}}

/* Uses the supplied transparent artwork so its glow blends into the hero. */
.hero-nebula{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}

/* Center the Atelier story now that its framed logo has been removed. */
.atelier-grid{grid-template-columns:minmax(0,1fr);gap:0}
.atelier-copy{width:100%;max-width:none;margin-inline:0}
.atelier-copy>p:not(.eyebrow){max-width:620px}

/* Opening indicator defaults to closed until its local-time check runs. */
.hours-dot{background:#c34856;box-shadow:0 0 0 4px rgba(195,72,86,.14);transition:background-color 180ms ease,box-shadow 180ms ease}
.hours-dot.is-open{background:#78a17a;box-shadow:0 0 0 4px rgba(120,161,122,.14)}
.hours-dot.is-closed{background:#c34856;box-shadow:0 0 0 4px rgba(195,72,86,.14)}

/* The artwork sits beside the copy on desktop and between copy and actions on mobile. */
.hero-grid{position:relative}
.hero-art-wrap{position:absolute;z-index:1;top:50%;right:0;width:42%;max-width:525px;transform:translateY(-50%);justify-self:unset}
@media(max-width:700px){.hero-art-wrap{position:relative;top:auto;right:auto;width:min(100%,480px);max-width:480px;margin:1.8rem auto 0;transform:none}}

/* Five treatment cards: balanced columns on desktop, fewer on small screens. */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-grid{grid-template-columns:1fr}}

/* Light, translucent violet washes keep all five service cards in one palette. */
.service-card{--service-tint:249,245,250;background:radial-gradient(ellipse at 100% 0%,rgba(var(--service-tint),.72),transparent 48%),linear-gradient(145deg,rgba(255,255,255,.94),rgba(var(--service-tint),.68));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.service-card:nth-child(1){--service-tint:252,249,253}
.service-card:nth-child(2){--service-tint:246,236,249}
.service-card:nth-child(3){--service-tint:238,226,246}
.service-card:nth-child(4){--service-tint:229,212,242}
.service-card:nth-child(5){--service-tint:217,192,236}

.button-primary{gap:.6rem}
.whatsapp-button-icon{display:block;width:17px;height:17px;flex:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.appointment-note{width:fit-content;max-width:100%;display:inline-flex;align-items:center;gap:.5rem;margin:-.35rem 0 .75rem;padding:.48rem .8rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:var(--magenta-deep);box-shadow:0 8px 18px rgba(126,18,109,.16);color:#fff;font-size:.72rem;font-weight:700;line-height:1.2}
.appointment-note-icon{width:14px;height:14px;display:block;flex:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Partner brands: quiet typographic wordmarks integrated into the dark footer. */
.footer-main{row-gap:1.25rem;padding:2rem 0 1.2rem}
.footer-partners{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:1.45rem;min-width:0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.09)}
.footer-partners-label{flex:none;margin:0;color:#aa9bb0;font-size:.54rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.footer-partner-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:clamp(1.4rem,3vw,2.6rem);row-gap:.8rem;min-width:0;margin:0;padding:0;list-style:none}
.footer-partner{color:rgba(239,230,241,.78);line-height:1;white-space:nowrap}
.footer-partner-renophase{font-size:.66rem;font-weight:650;letter-spacing:.18em;text-transform:uppercase}
.footer-partner-salin{font-family:var(--font-display);font-size:.88rem;font-style:italic;letter-spacing:.015em}
.footer-partner-1944{font-family:var(--font-display);font-size:1.02rem;font-weight:500;letter-spacing:.14em}
.footer-partner-thatso{font-size:.76rem;font-weight:750;letter-spacing:.015em}
@media(max-width:700px){
  .footer-partners{align-items:flex-start;flex-direction:column;gap:.8rem;padding-top:.9rem}
  .footer-partner-list{justify-content:flex-start;column-gap:1.25rem}
}
@media(max-width:420px){
  .footer-partner-list{column-gap:1rem}
  .footer-partner-renophase{font-size:.59rem;letter-spacing:.14em}
  .footer-partner-salin{font-size:.8rem}
}

.nav-booking .nav-hours-dot{display:block;flex:none;width:8px;height:8px;line-height:0;box-shadow:0 0 0 3px rgba(195,72,86,.16)}
.nav-booking .nav-hours-dot.is-open{box-shadow:0 0 0 3px rgba(120,161,122,.16)}
.nav-booking .nav-hours-dot.is-closed{box-shadow:0 0 0 3px rgba(195,72,86,.16)}

/* Gentle breathing glow for the live opening-status indicators. */
.hours-dot.is-open,.hours-dot.is-closed{--status-halo:4px;--status-glow:11px;animation:hours-status-glow 2.8s ease-in-out infinite}
.hours-dot.is-open{--status-rgb:120,161,122}
.hours-dot.is-closed{--status-rgb:195,72,86}
.nav-booking .nav-hours-dot{--status-halo:3px;--status-glow:7px}
@keyframes hours-status-glow{
  0%,100%{box-shadow:0 0 0 var(--status-halo) rgba(var(--status-rgb),.14),0 0 5px 1px rgba(var(--status-rgb),.16);filter:brightness(.94)}
  50%{box-shadow:0 0 0 calc(var(--status-halo) + 1px) rgba(var(--status-rgb),.25),0 0 var(--status-glow) 2px rgba(var(--status-rgb),.36);filter:brightness(1.18)}
}
@media(prefers-reduced-motion:reduce){.hours-dot.is-open,.hours-dot.is-closed{animation:none}}

/* A visible, gentle pulse applied to the supplied nebula artwork itself. */
.hero-nebula{animation:hero-nebula-brightness 3.8s ease-in-out infinite}
@keyframes hero-nebula-brightness{
  0%,100%{filter:brightness(.82) saturate(.94) drop-shadow(0 0 5px rgba(171,48,192,.18))}
  50%{filter:brightness(1.18) saturate(1.12) drop-shadow(0 0 24px rgba(191,44,204,.55))}
}
@media(prefers-reduced-motion:reduce){.hero-nebula{animation:none;filter:none}}
