:root{--bg:#f7f2eb;--paper:#fffaf5;--beige:#ebe0d3;--text:#2c2824;--soft:#71685f;--line:rgba(44,40,36,.12);--dark:#2a2521;--white:#fff;--max:1240px;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter','Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.7;overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.shell{width:min(91vw,var(--max));margin:auto}.section{padding:clamp(90px,12vw,170px) 0}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:600;color:#8b6b50;margin-bottom:22px}.eyebrow.light{color:rgba(255,255,255,.72)}.display-title{font-family:var(--serif);font-weight:400;font-size:clamp(3.1rem,6.5vw,6.8rem);line-height:.93;letter-spacing:-.035em}.display-title.compact{font-size:clamp(2.6rem,5vw,5.3rem);line-height:1}.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--soft);max-width:760px}.large-copy{font-size:clamp(1.15rem,1.6vw,1.45rem);color:var(--soft);margin-top:28px}.body-copy{display:grid;gap:18px;color:var(--soft);font-size:1.06rem;margin-top:28px}.closing{font-family:var(--serif);font-size:2rem;line-height:1.15;color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:1px solid transparent;transition:.4s var(--ease)}.btn:hover{transform:translateY(-3px)}.btn-dark{background:var(--dark);color:var(--white)}.btn-light{background:rgba(255,255,255,.92);color:var(--dark)}.btn-glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.38);backdrop-filter:blur(12px);color:#fff}.btn-outline{border-color:var(--line)}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;padding:20px 0;transition:.4s}.site-header.scrolled{padding:11px 0;background:rgba(247,242,235,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;flex-direction:column;line-height:1.1;letter-spacing:.12em}.brand span{font-size:13px;font-weight:600}.brand small{font-size:9px;color:var(--soft);letter-spacing:.04em;margin-top:4px}.hero:not(:has(+ *)){}body:not(.x) .site-header:not(.scrolled) .brand,body:not(.x) .site-header:not(.scrolled) .nav-links,body:not(.x) .site-header:not(.scrolled) .lang-switch{color:white}.site-header:not(.scrolled) .brand small{color:rgba(255,255,255,.66)}.nav-links{display:flex;gap:18px;align-items:center}.nav-links a{font-size:10px;text-transform:uppercase;letter-spacing:.09em;opacity:.78}.nav-actions{display:flex;align-items:center;gap:16px}.lang-switch{font-size:11px;letter-spacing:.08em}.lang-switch a{opacity:.45}.lang-switch a.active{opacity:1;font-weight:600}.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid currentColor;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px}.burger span{width:16px;height:1px;background:currentColor}
.hero{height:100svh;min-height:720px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero-img{position:absolute;inset:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.76),rgba(20,15,12,.38) 52%,rgba(20,15,12,.12)),linear-gradient(0deg,rgba(20,15,12,.44),transparent 45%)}.hero-content{position:relative;z-index:2;padding-top:70px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(4rem,9.5vw,10rem);line-height:.83;letter-spacing:-.055em;max-width:980px}.hero p{font-size:clamp(1rem,1.35vw,1.22rem);font-weight:300;color:rgba(255,255,255,.83);max-width:620px;margin:30px 0 36px}.scroll-note{position:absolute;z-index:2;right:4vw;bottom:36px;font-size:10px;text-transform:uppercase;letter-spacing:.23em;writing-mode:vertical-rl;color:rgba(255,255,255,.56)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,110px);align-items:center}.split-wide{grid-template-columns:1.05fr .95fr}.media{overflow:hidden;border-radius:28px}.media.portrait{aspect-ratio:4/5.3}.media.wide{aspect-ratio:16/7;margin-top:50px}.care-section{background:var(--beige)}.section-head{max-width:700px;margin-bottom:48px}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.care-card{min-height:650px;position:relative;overflow:hidden;border-radius:30px;color:#fff}.care-card>img{position:absolute;inset:0}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,10,7,.82),rgba(15,10,7,.08) 67%)}.card-content{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px}.card-content h3{font-family:var(--serif);font-size:4rem;font-weight:400;line-height:.9}.card-content p{margin:18px 0 24px;color:rgba(255,255,255,.8)}.therapy-section{background:var(--paper)}.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.prices div{padding:18px;border:1px solid var(--line);border-radius:18px}.prices span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--soft)}.prices strong{font-family:var(--serif);font-size:2rem;font-weight:500}.cycles{background:var(--dark);color:white}.cycles-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center;margin-bottom:60px}.cycle-intro{aspect-ratio:4/5}.light-title{color:white}.light-copy{color:rgba(255,255,255,.68);margin-top:24px}.cycle-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cycle-card{border:1px solid rgba(255,255,255,.1);border-radius:28px;overflow:hidden;background:rgba(255,255,255,.04)}.cycle-card>img{height:420px}.cycle-copy{padding:34px}.cycle-copy h3{font-family:var(--serif);font-size:3.7rem;font-weight:400}.cycle-copy p{color:rgba(255,255,255,.72);margin:18px 0}.cycle-copy strong{display:block;margin-bottom:24px}.madeira-head{text-align:center;display:grid;justify-items:center;gap:20px;margin-bottom:90px}.experience-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:100px}.experience-row.reverse .experience-image{order:2}.experience-image{aspect-ratio:4/5}.experience-copy h3{font-family:var(--serif);font-size:clamp(3.2rem,5vw,5.6rem);font-weight:400;line-height:.9}.experience-copy p{color:var(--soft);margin:25px 0}.experience-copy strong{display:block;margin-bottom:24px}.kae{background:var(--beige);border-radius:30px;padding:clamp(34px,6vw,70px);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.kae h3{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:.95}.kae p{color:var(--soft);margin-bottom:24px}.kae strong{display:block;margin-bottom:24px}.testimonials{background:var(--beige)}.quotes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quotes-grid blockquote{background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:24px;padding:28px;min-height:245px;display:flex;flex-direction:column;justify-content:space-between}.quotes-grid p{font-family:var(--serif);font-size:1.8rem;line-height:1.15}.quotes-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--soft);margin-top:20px}.about{background:var(--paper)}.about-copy{font-size:1.02rem}.cta-band{padding:100px 0;background:var(--dark);color:white;text-align:center}.cta-band h2{font-family:var(--serif);font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.95;margin-bottom:28px}.faq-shell{max-width:980px}.faq-list{margin-top:40px}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:25px;border:0;background:none;text-align:left;padding:25px 0;cursor:pointer;color:var(--text);font-family:var(--serif);font-size:2rem}.plus{font-family:var(--sans);font-size:1.4rem;font-weight:300}.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}.faq-a>div{padding:0 0 28px;color:var(--soft)}.faq-a ul{padding-left:22px;margin-top:12px}.faq-item.open .faq-a{max-height:720px}.contact{background:var(--beige)}.contact-card{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--paper);border-radius:30px;overflow:hidden}.contact-card figure{min-height:650px}.contact-copy{padding:clamp(38px,7vw,75px)}.contact-list{display:grid;gap:22px;margin:30px 0}.contact-list strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.contact-list p,.contact-list a{color:var(--soft)}.footer{padding:55px 0;background:var(--bg);border-top:1px solid var(--line)}.footer-inner{display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:center}.footer-inner nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.footer-inner nav a{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}
@media(max-width:1050px){
  .site-header{z-index:1000}
  .nav-wrap{position:relative;z-index:1002}
  .nav-links{
    position:fixed;
    inset:0;
    width:100%;
    height:100dvh;
    min-height:100vh;
    background:#f7f2eb;
    color:var(--text)!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:20px;
    padding:100px 24px 48px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-24px);
    transition:opacity .28s ease,transform .35s var(--ease),visibility 0s linear .35s;
    z-index:1001;
  }
  .nav-links.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .28s ease,transform .35s var(--ease),visibility 0s;
  }
  .nav-links a{font-family:var(--serif);font-size:2rem;line-height:1.05;text-transform:none}
  body.menu-open{overflow:hidden;touch-action:none}
  .burger{display:flex;position:relative;z-index:1003}
  .burger span{transition:transform .28s ease,opacity .2s ease}
  .burger.open span:first-child{transform:translateY(3px) rotate(45deg)}
  .burger.open span:last-child{transform:translateY(-3px) rotate(-45deg)}
  .desktop-book{display:none}
  .site-header:not(.scrolled) .burger{color:white}
  .site-header:not(.scrolled) .lang-switch{color:white}
  .site-header.menu-open .brand,.site-header.menu-open .lang-switch,.site-header.menu-open .burger{color:var(--text)!important}
  .site-header.menu-open .brand small{color:var(--soft)!important}
  .split,.split-wide,.therapy-grid,.cycles-intro,.experience-row,.kae,.contact-card,.about-grid{grid-template-columns:1fr}
  .experience-row.reverse .experience-image{order:0}
  .care-grid{grid-template-columns:1fr}
  .care-card{min-height:560px}
  .cycle-grid{grid-template-columns:1fr}
  .quotes-grid{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr}
  .footer-inner nav{justify-content:flex-start}
  .contact-card figure{min-height:500px}
}
@media(max-width:680px){.shell{width:min(89vw,var(--max))}.brand small{display:none}.hero{min-height:680px}.hero h1{font-size:4.25rem}.hero p{font-size:.98rem}.section{padding:80px 0}.display-title{font-size:3.5rem}.display-title.compact{font-size:3rem}.care-card{min-height:520px}.card-content h3{font-size:3.3rem}.prices{grid-template-columns:1fr}.cycle-card>img{height:360px}.cycle-copy h3{font-size:3rem}.quotes-grid{grid-template-columns:1fr}.media.wide{aspect-ratio:4/3}.contact-card figure{min-height:380px}.scroll-note{display:none}.lang-switch{font-size:10px}.nav-actions{gap:10px}}
