    :root{
      --ink:#25201d;
      --paper:#f4eee8;
      --paper-2:#eadfd5;
      --rose:#c9857b;
      --wine:#683f42;
      --sage:#727665;
      --cream:#fffaf5;
      --line:rgba(37,32,29,.17);
      --glass:rgba(250,246,241,.74);
      --serif:"Instrument Serif", Georgia, serif;
      --sans:"DM Sans", Arial, sans-serif;
      --pad:clamp(20px,4vw,62px);
      --radius:28px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;background:var(--paper);overflow-x:hidden}
    body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration:none}
    button{font:inherit;color:inherit}
    img{display:block;width:100%;height:100%;object-fit:cover;background:#d9c7b8}
    ::selection{background:var(--wine);color:#fff}

    .grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}

    .nav-wrap{position:fixed;top:16px;left:0;width:100%;padding:0 max(14px,env(safe-area-inset-left));z-index:100;pointer-events:none}
    .nav{max-width:1320px;margin:auto;min-height:66px;padding:10px 10px 10px 22px;border:1px solid rgba(55,45,40,.12);background:rgba(249,244,239,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:999px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;box-shadow:0 18px 45px rgba(79,56,45,.08);pointer-events:auto}
    .brand{font-family:var(--serif);font-size:22px;line-height:1;letter-spacing:-.02em}
    .nav-links{display:flex;align-items:center;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
    .nav-links a{position:relative}
    .nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--ink);transition:right .35s ease}
    .nav-links a:hover:after{right:0}
    .nav-actions{justify-self:end;display:flex;align-items:center;gap:12px}
    .location-chip{font-size:11px;letter-spacing:.11em;text-transform:uppercase;opacity:.65;white-space:nowrap}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid transparent;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease;white-space:nowrap}
    .btn:hover{transform:translateY(-2px)}
    .btn-dark{background:var(--ink);color:#fff}
    .btn-light{border-color:var(--line);background:rgba(255,255,255,.45)}
    .btn-wine{background:var(--wine);color:#fff}
    .btn .arr{font-size:18px;line-height:1;transition:transform .25s ease}.btn:hover .arr{transform:translateX(3px)}

    .hero{min-height:100svh;position:relative;padding:124px var(--pad) 44px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.78fr);gap:clamp(28px,5vw,86px);align-items:center;overflow:hidden}
    .hero:before{content:"";position:absolute;width:650px;height:650px;left:-310px;top:18%;border:1px solid rgba(102,63,66,.18);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.14),0 0 0 180px rgba(255,255,255,.08)}
    .hero-copy{position:relative;z-index:2;max-width:810px;padding-top:4vh}
    .eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600;margin-bottom:22px}
    .eyebrow:before{content:"";width:36px;height:1px;background:currentColor;opacity:.55}
    .hero h1{font-family:var(--serif);font-size:clamp(68px,8.9vw,148px);line-height:.77;letter-spacing:-.065em;font-weight:400;margin:0;max-width:8.5ch}
    .hero h1 em{font-weight:400;color:var(--wine);display:block;margin-left:.62em;position:relative}
    .hero h1 em:after{content:"";position:absolute;left:8%;bottom:-.07em;width:70%;height:.12em;background:var(--rose);border-radius:50%;transform:rotate(-2deg);opacity:.35;filter:blur(1px)}
    .hero-lead{font-size:clamp(16px,1.35vw,20px);line-height:1.55;max-width:520px;margin:34px 0 28px 10%;color:rgba(37,32,29,.78)}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-left:10%}
    .hero-proof{display:flex;align-items:center;gap:16px;margin:40px 0 0 10%}
    .stars{letter-spacing:2px;font-size:12px;color:var(--wine)}
    .proof-text{font-size:12px;line-height:1.45}.proof-text strong{display:block;font-size:14px}

    .hero-visual{position:relative;align-self:stretch;min-height:620px;display:flex;align-items:center;justify-content:center;z-index:2}
    .image-shell{position:relative;width:min(38vw,535px);height:min(76vh,760px);min-height:560px;border-radius:49% 49% 44% 44% / 38% 38% 62% 62%;overflow:hidden;box-shadow:0 32px 80px rgba(76,54,44,.17);background:linear-gradient(160deg,#d9b7a4,#c8a28e)}
    .image-shell img{filter:saturate(.82) contrast(.94)}
    .image-shell:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(48,32,26,.28));pointer-events:none}
    .visual-note{position:absolute;left:-42px;bottom:14%;width:170px;padding:18px;border-radius:22px;background:var(--glass);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.52);box-shadow:0 18px 42px rgba(67,48,40,.12)}
    .visual-note .mini{font-size:10px;text-transform:uppercase;letter-spacing:.13em;opacity:.58}.visual-note strong{display:block;font-family:var(--serif);font-size:28px;font-weight:400;margin-top:5px}.visual-note span{font-size:11px;line-height:1.45;display:block}
    .round-stamp{position:absolute;right:-10px;top:15%;width:112px;height:112px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center;text-align:center;font-size:10px;letter-spacing:.11em;text-transform:uppercase;transform:rotate(7deg);box-shadow:0 16px 40px rgba(83,47,50,.24)}
    .round-stamp:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.5);border-radius:50%}

    .ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#eee5dc}
    .ticker-track{display:flex;width:max-content;animation:ticker 30s linear infinite;padding:14px 0}
    .ticker-track span{font-family:var(--serif);font-size:25px;white-space:nowrap;padding:0 28px}.ticker-track i{font-style:normal;color:var(--rose);margin-left:56px}
    @keyframes ticker{to{transform:translateX(-50%)}}

    .manifesto{padding:clamp(90px,12vw,170px) var(--pad);display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,8vw,130px);align-items:start;position:relative}
    .manifesto-left{position:sticky;top:130px}
    .section-no{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.52;margin-bottom:18px}
    .manifesto-left p{max-width:350px;line-height:1.7;color:rgba(37,32,29,.7);font-size:14px}
    .manifesto-quote{font-family:var(--serif);font-size:clamp(48px,6.2vw,94px);line-height:.96;letter-spacing:-.04em;font-weight:400;margin:0;max-width:900px}
    .manifesto-quote em{color:var(--wine);font-weight:400}
    .collage{margin-top:70px;display:grid;grid-template-columns:1.05fr .7fr;gap:18px;align-items:end}
    .collage .a{height:520px;border-radius:28px 80px 28px 28px;overflow:hidden}.collage .b{height:360px;border-radius:140px 140px 22px 22px;overflow:hidden;margin-bottom:-70px}
    .collage-caption{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.6}

    .rituals{padding:110px var(--pad) 120px;background:var(--ink);color:#f7f0e9;position:relative;overflow:hidden}
    .rituals:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-180px;top:15%;box-shadow:0 0 0 90px rgba(255,255,255,.025)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:70px;position:relative;z-index:1}
    .section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,6.2vw,94px);letter-spacing:-.04em;line-height:.9;margin:0;max-width:7ch}.section-head p{max-width:370px;font-size:14px;line-height:1.65;color:rgba(255,255,255,.65);margin:0}
    .ritual-list{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.16)}
    .ritual{display:grid;grid-template-columns:80px 1.3fr .8fr auto;gap:24px;align-items:center;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.16);cursor:pointer;transition:padding .35s ease,color .35s ease}
    .ritual:hover{padding-left:14px;color:#fff}
    .ritual .num{font-size:11px;opacity:.48}.ritual h3{font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:400;margin:0}.ritual .meta{font-size:12px;opacity:.62}.ritual .price{text-align:right;font-size:13px;white-space:nowrap}.ritual .price strong{font-family:var(--serif);font-size:28px;font-weight:400}
    .ritual-preview{position:absolute;width:250px;height:320px;border-radius:130px 130px 22px 22px;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.92) rotate(-3deg);transition:opacity .18s ease,transform .25s ease;z-index:5;box-shadow:0 24px 64px rgba(0,0,0,.28)}
    .ritual-list:hover .ritual-preview.active{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(2deg)}
    .all-services{margin-top:34px;display:flex;justify-content:flex-end}

    .headspa{min-height:900px;position:relative;display:grid;place-items:center;padding:70px var(--pad);overflow:hidden;background:#b88b71;color:#fff}
    .headspa-bg{position:absolute;inset:0}.headspa-bg img{filter:saturate(.74) contrast(.93);transform:scale(1.035)}
    .headspa-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,22,18,.62),rgba(30,22,18,.1) 52%,rgba(30,22,18,.42))}
    .headspa-content{position:relative;z-index:2;max-width:1250px;width:100%;display:grid;grid-template-columns:1fr .82fr;align-items:end;gap:80px}
    .headspa-kicker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px;opacity:.78}
    .headspa h2{font-family:var(--serif);font-size:clamp(62px,7.6vw,122px);line-height:.82;letter-spacing:-.05em;font-weight:400;margin:0}.headspa h2 em{font-weight:400;color:#ead2c6}.headspa-copy{backdrop-filter:blur(14px);background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.25);border-radius:28px;padding:30px;max-width:470px}.headspa-copy p{line-height:1.65;font-size:14px;margin:0 0 24px;color:rgba(255,255,255,.88)}
    .headspa-facts{display:flex;gap:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}.headspa-facts div{font-size:11px;text-transform:uppercase;letter-spacing:.11em}.headspa-facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:30px;text-transform:none;letter-spacing:0;margin-bottom:2px}

    .expertise{padding:clamp(90px,12vw,170px) var(--pad);background:var(--cream);position:relative}
    .expertise-top{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;margin-bottom:80px}.expertise-top h2{font-family:var(--serif);font-size:clamp(54px,6.5vw,100px);line-height:.88;letter-spacing:-.05em;font-weight:400;margin:0}.expertise-top p{max-width:500px;line-height:1.7;color:rgba(37,32,29,.7);font-size:14px;align-self:end}
    .expertise-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:340px;gap:16px}
    .exp-card{border:1px solid var(--line);border-radius:28px;padding:28px;position:relative;overflow:hidden;background:#f2e8df;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s ease}.exp-card:hover{transform:translateY(-5px)}
    .exp-card.image{padding:0}.exp-card.image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(32,24,20,.5))}.exp-card.image .card-label{position:absolute;left:26px;bottom:24px;z-index:2;color:#fff}.exp-card .topline{font-size:10px;text-transform:uppercase;letter-spacing:.15em;opacity:.55}.exp-card h3{font-family:var(--serif);font-weight:400;font-size:38px;line-height:.95;margin:0}.exp-card p{font-size:12px;line-height:1.55;max-width:280px;opacity:.67;margin:0}.exp-card.big{grid-row:span 2;background:var(--paper-2)}.exp-card.big .figure{font-family:var(--serif);font-size:clamp(90px,9vw,150px);line-height:.7;color:var(--wine);letter-spacing:-.08em}.exp-card.big .figure small{font-size:19px;letter-spacing:0;margin-left:8px}.exp-card.tall-image{grid-row:span 2;padding:0}.exp-card.soft{background:#d9d8ce}.exp-card.rose{background:#d9aaa0}

    .team{padding:40px var(--pad) 130px;background:var(--cream)}
    .team-inner{border-top:1px solid var(--line);padding-top:90px;display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}
    .team-portrait{height:650px;border-radius:250px 250px 30px 30px;overflow:hidden;position:relative;background:#d2b29c}.team-portrait:after{content:"ÉMILIE + DJOVANNAH";position:absolute;left:20px;bottom:20px;background:rgba(252,247,242,.82);backdrop-filter:blur(12px);border-radius:999px;padding:12px 18px;font-size:10px;letter-spacing:.13em}
    .team-copy .section-no{margin-bottom:30px}.team-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,5.3vw,82px);letter-spacing:-.04em;line-height:.92;margin:0 0 28px}.team-copy p{max-width:560px;font-size:14px;line-height:1.75;color:rgba(37,32,29,.72)}
    .signature{font-family:var(--serif);font-style:italic;font-size:31px;color:var(--wine);margin-top:24px}
    .testimonial{margin-top:54px;border-left:1px solid var(--wine);padding-left:24px;max-width:560px}.testimonial blockquote{font-family:var(--serif);font-size:30px;line-height:1.12;margin:0 0 12px}.testimonial cite{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.58}

    .reviews{padding:100px 0 110px;background:#d9aaa0;overflow:hidden}
    .reviews-header{padding:0 var(--pad);display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}.reviews-header h2{font-family:var(--serif);font-weight:400;font-size:clamp(52px,6vw,90px);line-height:.9;letter-spacing:-.045em;margin:0}.reviews-header .score{font-family:var(--serif);font-size:50px}.reviews-header .score small{display:block;font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.13em}
    .review-track{display:flex;gap:16px;width:max-content;padding:0 16px;animation:reviews 40s linear infinite}.review-card{width:min(420px,82vw);min-height:260px;background:rgba(255,250,245,.8);border:1px solid rgba(255,255,255,.32);border-radius:28px;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.review-card .quote{font-family:var(--serif);font-size:26px;line-height:1.15}.review-card footer{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.58}.review-card .starline{color:var(--wine);letter-spacing:1px}@keyframes reviews{to{transform:translateX(calc(-50% - 8px))}}

    .visit{padding:110px var(--pad) 130px;background:var(--paper)}
    .visit-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
    .visit-main{min-height:650px;border-radius:38px;background:var(--wine);color:#fff;padding:clamp(32px,5vw,70px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.visit-main:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-190px;bottom:-190px;box-shadow:0 0 0 70px rgba(255,255,255,.04)}
    .visit-main .top{position:relative;z-index:1}.visit-main h2{font-family:var(--serif);font-size:clamp(58px,7vw,105px);line-height:.84;letter-spacing:-.05em;font-weight:400;margin:0 0 26px}.visit-main p{max-width:460px;line-height:1.6;color:rgba(255,255,255,.75);font-size:14px}.visit-main .address{font-family:var(--serif);font-size:31px;line-height:1.1;position:relative;z-index:1}.visit-main .address small{display:block;font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:9px;opacity:.58}
    .visit-side{display:grid;grid-template-rows:1.1fr .9fr;gap:18px}.info-card{border-radius:38px;padding:36px;background:var(--cream);border:1px solid var(--line);position:relative;overflow:hidden}.info-card h3{font-family:var(--serif);font-size:36px;font-weight:400;margin:0 0 24px}.hours{display:grid;grid-template-columns:1fr auto;gap:9px 20px;font-size:13px}.hours span:nth-child(even){text-align:right;opacity:.68}.contact-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.contact-card{background:#d9d8ce}.contact-card p{font-size:14px;line-height:1.6;max-width:360px}.phone{font-family:var(--serif);font-size:38px;margin:20px 0 0;display:inline-block}

    footer.site-footer{padding:38px var(--pad) 105px;background:var(--paper);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px}.footer-brand{font-family:var(--serif);font-size:32px}.footer-center{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.13em;opacity:.58}.footer-right{text-align:right;font-size:11px;opacity:.65}

    .mobile-book{display:none;position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:90;background:rgba(37,32,29,.94);color:#fff;padding:8px 8px 8px 17px;border-radius:999px;align-items:center;justify-content:space-between;box-shadow:0 12px 35px rgba(0,0,0,.22);backdrop-filter:blur(12px)}.mobile-book span{font-size:11px;line-height:1.25}.mobile-book strong{display:block;font-size:12px}.mobile-book .btn{min-height:44px;background:#fff;color:var(--ink);padding:0 16px}

    .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.65,.2,1),transform .8s cubic-bezier(.2,.65,.2,1)}.reveal.in{opacity:1;transform:none}

    @media (max-width:1050px){
      .nav{grid-template-columns:1fr auto}.nav-links{display:none}.nav-actions{grid-column:2}.location-chip{display:none}
      .hero{grid-template-columns:1fr .8fr;gap:30px}.hero h1{font-size:clamp(65px,10vw,100px)}.visual-note{left:-25px}.round-stamp{right:-28px}
      .expertise-grid{grid-template-columns:1fr 1fr}.exp-card.big{grid-row:span 1}.exp-card.tall-image{grid-row:span 1}
      .team-inner{gap:50px}.team-portrait{height:560px}
    }

    @media (max-width:760px){
      :root{--pad:20px;--radius:22px}
      body{padding-bottom:82px}
      .grain{opacity:.038}
      .nav-wrap{top:10px;padding:0 10px}.nav{min-height:58px;padding:8px 8px 8px 16px;border-radius:20px}.brand{font-size:19px}.nav-actions .btn{min-height:40px;padding:0 13px;font-size:11px}
      .hero{min-height:auto;padding:100px var(--pad) 56px;grid-template-columns:1fr;gap:44px}.hero:before{display:none}.hero-copy{padding-top:8px}.eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(64px,20vw,92px);line-height:.8;max-width:100%}.hero h1 em{margin-left:.28em}.hero-lead{margin:28px 0 23px;font-size:16px;max-width:92%}.hero-actions{margin-left:0}.hero-actions .btn{flex:1}.hero-proof{margin:28px 0 0}.hero-visual{min-height:510px;align-self:auto}.image-shell{width:92vw;max-width:470px;height:560px;min-height:0;border-radius:48% 48% 28px 28px / 30% 30% 8% 8%}.visual-note{left:0;bottom:18px;width:160px}.round-stamp{right:0;top:16px;width:98px;height:98px;font-size:9px}
      .ticker-track span{font-size:21px;padding:0 18px}.ticker-track i{margin-left:36px}
      .manifesto{padding:86px var(--pad) 110px;grid-template-columns:1fr;gap:44px}.manifesto-left{position:static}.manifesto-quote{font-size:clamp(48px,15vw,72px)}.collage{margin-top:46px;grid-template-columns:1fr .72fr;gap:10px}.collage .a{height:360px;border-radius:22px 58px 22px 22px}.collage .b{height:255px;margin-bottom:-40px}.collage-caption{font-size:9px}
      .rituals{padding:85px var(--pad) 90px}.section-head{display:block;margin-bottom:44px}.section-head h2{font-size:58px;margin-bottom:22px}.section-head p{font-size:13px}.ritual{grid-template-columns:28px 1fr auto;gap:10px;padding:18px 0}.ritual .meta{grid-column:2/4;font-size:11px;margin-top:-5px}.ritual .num{font-size:9px}.ritual h3{font-size:28px}.ritual .price strong{font-size:24px}.ritual-preview{display:none}.all-services{justify-content:flex-start}
      .headspa{min-height:800px;padding:80px var(--pad)}.headspa-content{grid-template-columns:1fr;gap:48px;align-self:end}.headspa h2{font-size:70px}.headspa-copy{padding:22px;border-radius:22px}.headspa-facts{gap:18px}.headspa-facts strong{font-size:26px}
      .expertise{padding:90px var(--pad)}.expertise-top{grid-template-columns:1fr;gap:28px;margin-bottom:52px}.expertise-top h2{font-size:60px}.expertise-grid{grid-template-columns:1fr;grid-auto-rows:290px}.exp-card.big{min-height:330px}.exp-card.tall-image{min-height:430px}.exp-card h3{font-size:34px}
      .team{padding:0 var(--pad) 90px}.team-inner{padding-top:80px;grid-template-columns:1fr;gap:48px}.team-portrait{height:520px;border-radius:180px 180px 26px 26px}.team-copy h2{font-size:59px}.testimonial{margin-top:38px}.testimonial blockquote{font-size:26px}
      .reviews{padding:78px 0 85px}.reviews-header{padding:0 var(--pad);display:block;margin-bottom:42px}.reviews-header h2{font-size:58px;margin-bottom:24px}.reviews-header .score{font-size:42px}.review-card{min-height:230px;padding:24px}.review-card .quote{font-size:23px}
      .visit{padding:80px var(--pad) 90px}.visit-grid{grid-template-columns:1fr}.visit-main{min-height:520px;border-radius:28px;padding:31px 26px}.visit-main h2{font-size:64px}.visit-main .address{font-size:27px}.visit-side{grid-template-rows:auto}.info-card{border-radius:28px;padding:28px 24px}.phone{font-size:32px}
      footer.site-footer{grid-template-columns:1fr;align-items:start;padding:28px var(--pad) 35px;gap:14px}.footer-center{text-align:left}.footer-right{text-align:left}
      .mobile-book{display:flex}
    }

    @media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
  

    .ritual-mobile-panel{display:none}

    @media (max-width:760px){
      .ritual{cursor:default;padding:18px 0 20px}
      .ritual.is-open{padding-bottom:22px}
      .ritual .price{text-align:left}
      .ritual-mobile-panel{display:block;grid-column:1/-1;max-height:0;overflow:hidden;transition:max-height .35s ease,opacity .35s ease,margin-top .35s ease;opacity:0;margin-top:0}
      .ritual.is-open .ritual-mobile-panel{max-height:240px;opacity:1;margin-top:10px}
      .ritual-mobile-thumb{position:relative;height:180px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
      .ritual-mobile-thumb img{filter:saturate(.94)}
      .ritual-mobile-copy{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;padding-top:10px;font-size:11px;line-height:1.45;color:rgba(255,255,255,.72)}
      .ritual-mobile-copy strong{display:block;font-size:12px;color:#fff;letter-spacing:.02em;margin-bottom:4px}
      .ritual-mobile-hint{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.5}
    }
