@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&family=Italiana&display=swap');
:root{--ink:#35271f;--paper:#f6f1e9;--muted:#74685e;--accent:#c9ad87;--line:#d9cfc0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ba8952;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:'Italiana',Georgia,serif;line-height:1.08;letter-spacing:-.035em}h1 em,h2 em{color:#97734c;font-style:italic;font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}h1{font-size:clamp(4.4rem,7.3vw,7.4rem)}h2{font-size:clamp(2.7rem,4.3vw,4.7rem)}h3{font-family:Georgia,serif;font-size:1.7rem;line-height:1.25}.header{display:flex;align-items:center;justify-content:space-between;padding:27px 5%;gap:25px;background:var(--paper)}.brand{font-family:Georgia,serif;letter-spacing:.14em;font-size:1.75rem;line-height:1.2;display:inline-block}.brand span{display:block;font-family:'DM Sans',Arial,sans-serif;letter-spacing:.18em;font-size:.62rem;margin-top:8px}.header nav{display:flex;gap:32px;font-size:.875rem}.header nav a:hover,.text-link:hover{color:#97734c}.header-cta{border-bottom:1px solid var(--ink);padding:8px 0;font-size:.875rem;display:flex;gap:24px}.hero{display:grid;grid-template-columns:1fr 1.02fr;min-height:740px}.hero-copy{padding:74px 10% 44px;background:var(--ink);color:var(--paper)}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:500;display:flex;align-items:center;gap:16px;line-height:1.6}.line{display:inline-block;width:28px;height:1px;background:currentColor}.hero .eyebrow{color:#d5bea2;margin-bottom:31px;font-size:.75rem}.hero h1 em{color:#d0b28d}.intro{margin-top:29px;font-size:1.08rem;color:#e5d9c9}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 24px;min-height:56px;font-size:.9rem;transition:background .2s,transform .2s}.light{background:#efe5d6;color:var(--ink)}.button:hover{background:#d6bc99;transform:translateY(-2px)}.hero .button{margin-top:30px}.hero-meta{display:flex;gap:20px;font-size:.75rem;color:#cfbfae;margin-top:48px;flex-wrap:wrap}.hero-meta span+span{border-left:1px solid #736253;padding-left:20px}.hero-visual{position:relative;overflow:hidden;min-height:600px;background:#604a39}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:55% center}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(30,20,14,.68))}.photo-note{position:absolute;bottom:75px;left:48px;color:#fff5e6;z-index:1}.photo-note span,.photo-index{font-size:.75rem;letter-spacing:.16em}.photo-note p{font-family:Georgia,serif;font-style:italic;font-size:2.75rem;line-height:1.15;margin-top:12px}.photo-index{position:absolute;bottom:24px;left:48px;color:#e4d2bb;z-index:1}.principles{display:flex;justify-content:space-around;align-items:center;gap:24px;padding:25px 10%;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:1.25rem}.principles i{font-size:.8rem;color:#a28864}.section{padding:110px 7%}.approach{display:grid;grid-template-columns:1.1fr 1fr;gap:11%}.section .eyebrow{margin-bottom:25px;color:#866c51}.approach-text{padding-top:40px}.approach-text p{margin-bottom:24px;color:var(--muted)}.approach-text .large{font-size:1.5rem;line-height:1.45;color:var(--ink)}.text-link{display:inline-flex;border-bottom:1px solid #ad9270;gap:38px;padding:8px 0;font-size:.9rem}.treatments{background:#eae1d5}.section-top{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.section-top>p{color:var(--muted);flex-shrink:0}.treatment-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px}.treatment-grid article{padding:12px 26px 15px;border-left:1px solid #c7baa8}.treatment-grid article:first-child{padding-left:0;border:0}.treatment-grid article:last-child{padding-right:0}.number{color:#9b856a;font-size:.8rem}.treatment-grid h3{margin:34px 0 18px;font-size:1.55rem}.tags{min-height:52px;font-size:.75rem;letter-spacing:.08em;color:#725a43}.treatment-grid article>p:last-child{font-size:.95rem;color:#655b50;margin-top:16px}.body-check{border-top:1px solid #c7baa8;margin-top:50px;padding-top:35px;display:grid;grid-template-columns:.9fr 1.2fr 1.7fr .65fr;gap:24px;align-items:center}.body-check .eyebrow{margin:0}.body-check p{font-size:.9rem;color:#655b50}.body-check h3{font-size:1.45rem}.body-check .text-link{white-space:nowrap;gap:20px;justify-self:end}.first{text-align:center}.first>.eyebrow{justify-content:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;text-align:left;margin-top:65px}.steps article{border-top:1px solid var(--line);padding-top:23px}.steps span,.locations article>span{font-size:.75rem;letter-spacing:.12em;color:#92795c}.steps h3{font-size:1.35rem;margin:18px 0 12px}.steps p{font-size:.95rem;color:var(--muted)}.where{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.15fr;gap:8%}.locations{display:grid;grid-template-columns:1fr 1fr;gap:35px}.locations h3{font-size:1.4rem;margin:17px 0 12px}.locations p{font-size:.95rem;color:var(--muted);margin-bottom:16px}.locations p:first-of-type{color:var(--ink);font-size:.875rem}.contact{background:var(--ink);text-align:center;color:var(--paper);position:relative}.contact .eyebrow{justify-content:center;color:#d0b28d}.contact h2 em{color:#d0b28d}.contact p:not(.eyebrow){color:#d8cbbd;margin:28px auto 32px}.handle{display:block;font-size:.875rem;margin-top:18px;color:#c6b7a6}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:40px 5%;font-size:.8rem}footer .brand{font-size:1.4rem}footer .brand span{font-size:.53rem}footer p{color:var(--muted)}footer>a:last-child{white-space:nowrap}.skip{position:absolute;left:20px;top:-80px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1050px){.header nav{gap:20px}.header-cta{display:none}.hero{min-height:680px}.hero-copy{padding:65px 9% 35px}.hero h1{font-size:5rem}.hero-meta{gap:10px}.hero-meta span+span{border:none;padding:0}.section{padding:80px 6%}.treatment-grid{grid-template-columns:repeat(2,1fr);gap:40px 0}.treatment-grid article:nth-child(3){border:0;padding-left:0}.body-check{grid-template-columns:1fr 1.5fr}.body-check .text-link{justify-self:start}.where{gap:5%}.section-top>p{display:none}footer{flex-wrap:wrap}.footer-note{max-width:240px}}@media(max-width:650px){html{scroll-padding-top:20px}.header{padding:24px 6%;flex-wrap:wrap;gap:22px}.header .brand{font-size:1.6rem}.header nav{width:100%;justify-content:space-between;gap:8px;font-size:.8rem}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 38px}.hero h1{font-size:clamp(3.7rem,15vw,5.2rem)}.hero .eyebrow{font-size:.75rem;letter-spacing:.11em;margin-bottom:23px}.intro{font-size:1rem;margin-top:23px}.hero-meta{margin-top:30px;gap:12px;font-size:.75rem}.hero-visual{min-height:440px}.photo-note{left:28px;bottom:60px}.photo-note p{font-size:2.3rem}.photo-index{left:28px;font-size:.75rem}.principles{padding:22px 5%;gap:10px;font-size:.86rem}.principles i{font-size:.75rem}.section{padding:65px 7%}h2{font-size:2.9rem}.approach,.where{grid-template-columns:1fr;gap:30px}.approach-text{padding-top:0}.approach-text .large{font-size:1.3rem}.treatment-grid{gap:35px;margin-top:35px;grid-template-columns:1fr}.treatment-grid article,.treatment-grid article:nth-child(3){border:0;border-top:1px solid #c7baa8;padding:20px 0 0}.treatment-grid h3{margin:15px 0}.tags{min-height:0}.body-check{grid-template-columns:1fr;gap:18px}.body-check h3{font-size:1.8rem}.body-check .eyebrow{margin:0}.steps{grid-template-columns:1fr;gap:32px;margin-top:40px}.first{text-align:left}.first>.eyebrow{justify-content:flex-start}.locations{grid-template-columns:1fr;gap:28px}.locations article{padding-top:20px;border-top:1px solid var(--line)}.contact h2{font-size:2.65rem}.contact p:not(.eyebrow){font-size:.95rem}.contact br{display:none}footer{padding:35px 7%;display:grid;grid-template-columns:1fr}footer .brand{margin-bottom:10px}.button{font-size:.875rem;gap:24px;width:auto;max-width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Extended treatment collection */
.treatment-grid .tags{font-size:.875rem;min-height:76px}
.treatment-grid article>p:last-child{font-size:1rem}
.rituals{border-top:1px solid #c7baa8;margin-top:48px;padding-top:40px}
.rituals-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.rituals-heading .eyebrow{margin-bottom:14px;font-size:.875rem}
.rituals-heading h3{font-size:clamp(1.7rem,2.5vw,2.3rem)}
.rituals-heading>p{color:#655b50;max-width:550px}
.ritual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.ritual-grid article{padding:28px;background:rgba(246,241,233,.6);border:1px solid #c7baa8}
.ritual-duration{font-size:.875rem;letter-spacing:.08em;color:#725a43}
.ritual-grid h4{font:400 1.65rem/1.25 Georgia,serif;margin:22px 0 16px}
.ritual-grid p,.technique-note{color:#655b50;font-size:1rem}
.technique-note{max-width:850px;margin-top:28px}
@media(max-width:850px){.rituals-heading{grid-template-columns:1fr;gap:20px}.ritual-grid{gap:16px}.ritual-grid article{padding:20px}}
@media(max-width:650px){.ritual-grid{grid-template-columns:1fr}.rituals{margin-top:35px;padding-top:30px}.treatment-grid .tags{min-height:0}.ritual-grid h4{margin-top:16px}}

/* Six treatment families */
.treatment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 0}
.treatment-grid article,.treatment-grid article:nth-child(3){padding:12px 26px 15px;border-left:1px solid #c7baa8}
.treatment-grid article:nth-child(3n+1){padding-left:0;border-left:0}
.treatment-grid article:nth-child(3n){padding-right:0}
@media(max-width:1050px) and (min-width:651px){
.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.treatment-grid article:nth-child(n){padding:12px 26px 15px;border-left:1px solid #c7baa8}
.treatment-grid article:nth-child(2n+1){padding-left:0;border-left:0}
.treatment-grid article:nth-child(2n){padding-right:0}
}
@media(max-width:650px){
.treatment-grid{grid-template-columns:1fr;gap:35px}
.treatment-grid article:nth-child(n){padding:20px 0 0;border-left:0;border-top:1px solid #c7baa8}
}

/* About Matteo and individual treatment descriptions */
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;background:var(--paper);border-bottom:1px solid var(--line)}
.about-heading{align-self:start}
.about-signature{font-family:Georgia,serif;font-size:1.5rem;margin-top:35px}
.about-signature span{display:block;font:400 .875rem/1.6 'DM Sans',Arial,sans-serif;color:var(--muted);margin-top:8px}
.about-copy>p{font-size:1rem;color:var(--muted);margin-bottom:22px}
.about-copy .large{font-size:1.5rem;line-height:1.5;color:var(--ink)}
.about-copy .about-closing{font-family:Georgia,serif;font-size:1.35rem;color:var(--ink);border-top:1px solid var(--line);padding-top:24px;margin-bottom:0}
.treatment-details article>p:not(.tags){font-size:1rem;color:#655b50;margin-top:16px}
.treatment-details .tags{min-height:0;font-size:.875rem}
.treatment-details h3{font-size:1.7rem;overflow-wrap:break-word}
.treatment-details{row-gap:48px}
@media(max-width:850px){.about{grid-template-columns:1fr;gap:35px}.about-signature{margin-top:24px}.header nav{flex-wrap:wrap;row-gap:10px}}
@media(max-width:650px){.header nav{justify-content:flex-start;gap:12px 20px;font-size:.875rem}.about-copy .large{font-size:1.3rem}.treatment-details{row-gap:35px}}
