:root { --ink:#405347; --ink-soft:#68766d; --deep:#34473c; --sage:#9dac8e; --sage-pale:#e3e8dd; --cream:#fbf8f1; --paper:#f1ece3; --clay:#9a694f; --clay-pale:#d7b49f; --line:rgba(64,83,71,.17); --shadow:0 24px 70px rgba(58,74,62,.13); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; font-size:1rem; line-height:1.65; }
a { color:inherit; } button,input,textarea,select { font:inherit; }
.skip-link { position:fixed; left:1rem; top:-4rem; z-index:100; padding:.75rem 1rem; background:#fff; border-radius:.5rem; }
.skip-link:focus { top:1rem; }
.site-header { position:sticky; top:0; z-index:20; min-height:92px; padding:.6rem clamp(1.25rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; background:rgba(251,248,241,.91); border-bottom:1px solid rgba(64,83,71,.09); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; text-decoration:none; }
.brand img { display:block; width:190px; height:auto; mix-blend-mode:multiply; }
nav { display:flex; align-items:center; gap:clamp(.9rem,2vw,1.8rem); }
nav a { text-decoration:none; font-size:.85rem; font-weight:500; white-space:nowrap; }
nav a:hover { color:var(--clay); }
.nav-cta { padding:.7rem 1.05rem; color:var(--cream); background:var(--deep); border-radius:99px; }
.nav-cta:hover { color:#fff; background:#4e6556; }
.menu-button { display:none; padding:.55rem .9rem; color:var(--deep); background:transparent; border:1px solid var(--line); border-radius:99px; }
main { overflow:hidden; }
.hero { min-height:calc(100vh - 92px); padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,6vw,7.5rem); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); align-items:center; gap:clamp(3rem,7vw,8rem); position:relative; }
.hero::before { content:""; position:absolute; width:32rem; height:32rem; left:-20rem; top:10%; border:1px solid rgba(154,105,79,.17); border-radius:50%; }
.eyebrow { margin:0 0 1.2rem; color:var(--clay); font-size:.78rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Newsreader",serif; font-weight:400; line-height:.99; letter-spacing:-.025em; }
h1 { max-width:760px; margin-bottom:1.8rem; font-size:clamp(3.8rem,7.5vw,7.2rem); }
h2 { margin-bottom:1.5rem; font-size:clamp(2.8rem,5vw,5rem); }
.lead { max-width:620px; color:var(--ink-soft); font-size:clamp(1.08rem,1.4vw,1.3rem); }
.hero-actions { margin:2.25rem 0 1.8rem; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; padding:.8rem 1.35rem; border:0; border-radius:99px; text-decoration:none; font-weight:600; cursor:pointer; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:white; background:var(--deep); box-shadow:0 12px 32px rgba(52,71,60,.18); }
.button-primary:hover { background:#4e6556; }
.text-link { text-underline-offset:.35rem; text-decoration-color:var(--clay-pale); text-decoration-thickness:2px; }
.reassurance { color:var(--ink-soft); font-size:.86rem; }
.reassurance span { color:var(--clay); margin-right:.4rem; }
.hero-visual { margin:0; position:relative; }
.hero-visual::before { content:""; position:absolute; inset:-1.2rem 2rem 2rem -1.2rem; border-radius:47% 53% 45% 55%/43% 42% 58% 57%; background:var(--sage-pale); transform:rotate(-3deg); }
.hero-image { aspect-ratio:4/5; position:relative; z-index:1; border-radius:48% 52% 45% 55%/42% 43% 57% 58%; background:#e8ded2 url("hero-l-essentia.webp") 68% center/cover no-repeat; box-shadow:var(--shadow); }
.hero-visual figcaption { position:absolute; right:-1rem; bottom:1rem; z-index:2; padding:.7rem 1.15rem; color:var(--cream); background:var(--deep); border-radius:99px; font:italic 1.1rem "Newsreader",serif; }
.section-kicker { padding-top:.5rem; }
.section-kicker span { color:var(--clay); font-size:.78rem; }
.section-kicker p { margin-top:.6rem; font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.sophrology { padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,10rem); display:grid; grid-template-columns:160px minmax(0,980px); justify-content:center; gap:clamp(2rem,6vw,7rem); background:var(--deep); color:var(--cream); }
.sophrology h2 { max-width:980px; }
.sophrology-intro { max-width:760px; margin-bottom:3rem; color:rgba(251,248,241,.78); font-size:1.12rem; }
.sophrology-details { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.sophrology-details article { padding:clamp(1.6rem,3vw,2.5rem); border:1px solid rgba(251,248,241,.16); border-radius:1.2rem; background:rgba(251,248,241,.055); }
.sophrology-details article:nth-child(2),.sophrology-details article:nth-child(3) { background:rgba(157,172,142,.12); }
.detail-number { display:block; margin-bottom:2rem; color:var(--clay-pale); font-size:.75rem; font-weight:600; letter-spacing:.14em; }
.sophrology-details h3 { margin-bottom:1rem; color:var(--cream); font:400 clamp(1.8rem,2.5vw,2.5rem)/1.08 "Newsreader",serif; }
.sophrology-details p { color:rgba(251,248,241,.72); }
.sophrology-details p:last-child { margin-bottom:0; }
.benefit-row { margin-top:3rem; padding-top:1.3rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; border-top:1px solid rgba(251,248,241,.2); color:var(--clay-pale); font:400 1.2rem "Newsreader",serif; }
.about { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,10rem); display:grid; grid-template-columns:1.15fr .85fr; align-items:stretch; gap:clamp(2rem,6vw,6rem); background:var(--paper); }
.about-card { padding:clamp(2rem,5vw,5rem); border-radius:1.5rem; background:var(--cream); box-shadow:var(--shadow); }
.about-card p:not(.eyebrow) { max-width:720px; color:var(--ink-soft); font-size:1.08rem; }
.about-story { max-width:760px; margin-top:2.4rem; padding-top:2.2rem; border-top:1px solid var(--line); }
.about-story h3 { margin-bottom:1.3rem; color:var(--ink); font:400 clamp(2rem,3vw,3rem)/1.08 "Newsreader",serif; }
.about-story .story-lead { color:var(--clay); font:500 1.3rem/1.4 "Newsreader",serif; }
.about-side { align-self:start; }
.about-portrait { margin:0; position:relative; }
.about-portrait::before { content:""; position:absolute; inset:1.4rem -1.1rem -1.2rem 1.3rem; border-radius:46% 54% 49% 51%/45% 45% 55% 55%; background:var(--sage-pale); transform:rotate(2deg); }
.about-portrait img { width:100%; aspect-ratio:4/5; position:relative; display:block; object-fit:cover; object-position:center 35%; border-radius:48% 52% 46% 54%/43% 45% 55% 57%; box-shadow:var(--shadow); }
.about-portrait figcaption { position:relative; width:calc(100% - 2rem); margin:-2.2rem auto 0; padding:1rem 1.25rem; display:flex; flex-direction:column; text-align:center; color:var(--cream); background:var(--deep); border-radius:1rem; box-shadow:0 12px 35px rgba(52,71,60,.18); }
.about-portrait figcaption strong { font:500 1.35rem "Newsreader",serif; }
.about-portrait figcaption span { margin-top:.15rem; color:rgba(251,248,241,.72); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.cabinet-card { margin-top:3rem; overflow:hidden; border:1px solid var(--line); border-radius:1.4rem; background:var(--cream); box-shadow:var(--shadow); }
.cabinet-card>img { width:100%; aspect-ratio:4/3; display:block; object-fit:cover; object-position:center; }
.cabinet-card>div { padding:clamp(1.5rem,3vw,2.4rem); }
.cabinet-card .eyebrow { margin-bottom:.8rem; }
.cabinet-card h3 { margin-bottom:1rem; color:var(--ink); font:400 clamp(1.8rem,2.5vw,2.6rem)/1.08 "Newsreader",serif; }
.cabinet-location { margin:1.2rem 0 1.4rem; padding:1rem 1.1rem; display:flex; flex-direction:column; gap:.2rem; border-left:3px solid var(--clay); border-radius:0 .7rem .7rem 0; background:var(--sage-pale); }
.cabinet-location strong { color:var(--ink); font-size:.92rem; }
.cabinet-location span { color:var(--ink-soft); font-size:.8rem; }
.cabinet-card p:last-child { margin-bottom:0; color:var(--ink-soft); }
.services { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7.5rem); }
.section-heading { margin-bottom:4rem; display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:end; }
.section-heading h2 { margin:0; }
.section-heading>p { max-width:440px; color:var(--ink-soft); }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; }
.service-card { min-height:500px; padding:clamp(2rem,4vw,3.5rem); display:flex; flex-direction:column; border:1px solid var(--line); border-radius:1.5rem; background:rgba(255,255,255,.5); }
.service-card.company { color:var(--cream); background:var(--deep); }
.individual-expanded,.service-card.company,.workshop-service { grid-column:1/-1; }
.individual-expanded { min-height:0; }
.individual-intro { max-width:780px; font-size:1.08rem; }
.individual-overview { margin-top:1.5rem; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.individual-overview h3 { max-width:620px; margin-top:0; }
.individual-session-photo { margin:0; position:relative; overflow:hidden; border-radius:1.2rem; background:var(--sage-pale); }
.individual-session-photo img { width:100%; aspect-ratio:4/3; display:block; object-fit:cover; object-position:center 48%; }
.specialty-grid { margin:2.2rem 0 3rem; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.specialty-grid section { padding:clamp(1.4rem,2.5vw,2.1rem); border:1px solid var(--line); border-radius:1rem; background:var(--cream); }
.specialty-grid section>span { display:block; margin-bottom:1.8rem; color:var(--clay); font-size:.75rem; font-weight:600; letter-spacing:.12em; }
.specialty-grid h4 { margin:0 0 .8rem; color:var(--ink); font:400 clamp(1.6rem,2.4vw,2.25rem)/1.08 "Newsreader",serif; }
.specialty-grid p { margin:0; color:var(--ink-soft); }
.pricing { margin-bottom:2rem; padding:clamp(1.5rem,3vw,2.5rem); border-radius:1.2rem; color:var(--cream); background:var(--deep); }
.pricing-heading .eyebrow { margin-bottom:.4rem; color:var(--clay-pale); }
.pricing-heading h4 { margin:0; font:400 clamp(2rem,3vw,3rem)/1 "Newsreader",serif; }
.pricing-grid { margin-top:2rem; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(251,248,241,.2); border-bottom:1px solid rgba(251,248,241,.2); }
.pricing-grid>div { min-height:150px; padding:1.5rem; display:flex; flex-direction:column; border-right:1px solid rgba(251,248,241,.2); }
.pricing-grid>div:last-child { border-right:0; }
.pricing-grid span { font-weight:600; }
.pricing-grid small { color:rgba(251,248,241,.68); }
.pricing-grid strong { margin-top:auto; color:var(--clay-pale); font:500 2rem "Newsreader",serif; }
.mutual-note { margin:1.4rem 0 0; color:rgba(251,248,241,.72); font-size:.9rem; }
.mutual-note strong { color:var(--cream); }
.service-card.company { min-height:380px; }
.company-expanded { min-height:0!important; gap:0; }
.company-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:clamp(2rem,5vw,5rem); align-items:end; }
.company-hero h3 { max-width:760px; margin-top:1.5rem; }
.company-hero>div>p { max-width:780px; color:rgba(251,248,241,.76); }
.company-intro { font-size:1.08rem; }
.company-quote { margin:0 0 .35rem; padding:1.5rem 0 1.5rem 1.5rem; border-left:1px solid var(--clay-pale); color:var(--cream)!important; font:400 clamp(1.4rem,2.3vw,2rem)/1.25 "Newsreader",serif; }
.company-offers { margin:3rem 0 1.2rem; display:grid; grid-template-columns:.8fr 1.2fr; gap:1rem; }
.company-block { padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(251,248,241,.16); border-radius:1.2rem; background:rgba(251,248,241,.055); }
.company-label { margin:0 0 1rem; color:var(--clay-pale)!important; font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.company-block h4 { margin:0 0 1rem; color:var(--cream); font:400 clamp(1.8rem,2.7vw,2.6rem)/1.05 "Newsreader",serif; }
.company-block>p:not(.company-label) { color:rgba(251,248,241,.72); }
.company-sessions .company-block { margin:3rem 0 1.2rem; }
.group-session-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:start; }
.group-session-layout>p { margin:0; color:rgba(251,248,241,.72); }
.company-tags { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.55rem; }
.group-session-layout .company-tags { margin-top:0; }
.company-tags span { padding:.55rem .8rem; border:1px solid rgba(251,248,241,.2); border-radius:999px; color:rgba(251,248,241,.86); font-size:.8rem; }
.workshop-grid { margin-top:1.8rem; display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.workshop-grid>div { padding:1.2rem; border-radius:.8rem; background:rgba(251,248,241,.07); }
.workshop-grid span { color:var(--clay-pale); font-size:.7rem; font-weight:600; letter-spacing:.1em; }
.workshop-grid h5 { margin:.65rem 0 .45rem; color:var(--cream); font-size:1rem; font-weight:500; line-height:1.25; }
.workshop-grid p { margin:0; color:rgba(251,248,241,.66); font-size:.88rem; line-height:1.55; }
.company-footer { padding:clamp(1.5rem,3vw,2.2rem); display:grid; grid-template-columns:1fr auto auto; gap:2rem; align-items:center; border:1px solid rgba(251,248,241,.16); border-radius:1.2rem; }
.company-footer>div:first-child { max-width:640px; }
.company-footer p { margin:0; color:rgba(251,248,241,.72); }
.company-footer .company-label { margin-bottom:.4rem; }
.company-price { min-width:120px; padding-left:2rem; border-left:1px solid rgba(251,248,241,.16); }
.company-price small { display:block; color:rgba(251,248,241,.58); }
.company-price strong { display:block; margin-top:.2rem; color:var(--cream); font:500 1.65rem "Newsreader",serif; }
.company-cta { margin:0!important; padding:.85rem 1.15rem; border-radius:999px; color:var(--deep); background:var(--clay-pale); text-decoration:none!important; text-align:center; }
.company-rps-note { max-width:900px; margin:1.2rem 0 0; color:rgba(251,248,241,.55)!important; font-size:.78rem; }
.workshop-service { min-height:0; color:var(--ink); background:rgba(255,255,255,.5); }
.workshop-service .card-number { margin-bottom:0; }
.workshop-heading { margin:1.5rem 0 2.5rem; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,420px); gap:clamp(2rem,5vw,5rem); align-items:center; }
.workshop-heading h3 { max-width:none; margin:0 0 1rem; }
.workshop-heading>div>p { max-width:720px; margin:0; color:var(--ink-soft); font-size:1.08rem; }
.workshop-heading>div>.workshop-signature { width:max-content; margin-top:1.4rem; padding:.7rem 1rem; border:1px solid var(--line); border-radius:999px; color:var(--clay); font-size:.9rem; font-weight:600; white-space:nowrap; }
.workshop-photo { margin:0; overflow:hidden; border-radius:1.2rem; background:var(--sage-pale); }
.workshop-photo img { width:100%; aspect-ratio:4/3; display:block; object-fit:cover; object-position:center; }
.workshop-service .workshop-grid { margin:0 0 1.2rem; }
.workshop-service .workshop-grid>section { padding:clamp(1.4rem,2.5vw,2rem); border:1px solid var(--line); border-radius:1rem; background:var(--cream); }
.workshop-service .workshop-grid span { display:block; margin-bottom:1.5rem; color:var(--clay); }
.workshop-service .workshop-grid h4 { margin:0 0 .75rem; color:var(--ink); font:400 clamp(1.45rem,2vw,1.9rem)/1.08 "Newsreader",serif; }
.workshop-service .workshop-grid p { color:var(--ink-soft); font-size:.95rem; }
.workshop-footer { padding:clamp(1.4rem,2.5vw,2rem); display:grid; grid-template-columns:1fr auto auto; gap:2rem; align-items:center; border-radius:1rem; color:var(--cream); background:var(--clay); }
.workshop-footer>p { max-width:650px; margin:0; color:rgba(251,248,241,.82)!important; }
.workshop-price { min-width:120px; padding-left:2rem; border-left:1px solid rgba(251,248,241,.25); }
.workshop-price small { display:block; color:rgba(251,248,241,.7); }
.workshop-price strong { display:block; margin-top:.2rem; color:var(--cream); font:500 1.65rem "Newsreader",serif; }
.workshop-footer a { margin:0; padding:.85rem 1.15rem; border-radius:999px; color:var(--clay); background:var(--cream); text-decoration:none; text-align:center; }
.card-number { margin-bottom:auto; color:var(--clay); font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.company .card-number { color:var(--clay-pale); }
.service-card h3 { max-width:450px; margin-bottom:1.2rem; font:400 clamp(2.3rem,4vw,4.2rem)/1 "Newsreader",serif; }
.service-card>p:not(.card-number),.service-card li { color:var(--ink-soft); }
.company>p:not(.card-number),.company li { color:rgba(251,248,241,.75); }
.service-card ul { padding-left:1.2rem; margin:1rem 0 2rem; }
.service-card a { margin-top:auto; text-underline-offset:.35rem; text-decoration-color:var(--clay-pale); font-weight:600; }
.care-note { max-width:740px; margin:2.4rem auto 0; color:var(--ink-soft); font-size:.88rem; text-align:center; }
.testimonials { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,9vw,11rem); display:grid; grid-template-columns:160px minmax(0,900px); justify-content:center; gap:clamp(2rem,6vw,7rem); background:var(--sage-pale); }
.testimonial-content h2 { max-width:720px; }
.testimonial-grid { margin-top:2.5rem; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.testimonial-card { min-height:310px; margin:0; padding:clamp(1.6rem,3vw,2.3rem); display:flex; flex-direction:column; border:1px solid rgba(64,83,71,.15); border-radius:1.25rem; background:rgba(251,248,241,.68); }
.testimonial-card::before { content:"“"; height:3.5rem; color:var(--clay); font:400 4.8rem/1 "Newsreader",serif; }
.testimonial-card blockquote { margin:1rem 0 2rem; color:var(--ink); font:400 clamp(1.18rem,1.8vw,1.42rem)/1.42 "Newsreader",serif; }
.testimonial-card figcaption { margin-top:auto; padding-top:1rem; display:flex; justify-content:space-between; gap:1rem; border-top:1px solid rgba(64,83,71,.13); }
.testimonial-card figcaption strong { color:var(--ink); font-size:.92rem; }
.testimonial-card figcaption span { color:var(--clay); font-size:.82rem; }
.contact { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,10rem); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(3rem,8vw,8rem); background:#fbf7f1; }
.contact-copy>p:not(.eyebrow) { color:var(--ink-soft); font-size:1.1rem; }
.contact-options { margin-top:2.5rem; display:grid; gap:.7rem; }
.contact-option { padding:1rem 0; display:flex; justify-content:space-between; gap:1rem; text-decoration:none; border-bottom:1px solid var(--line); }
.contact-option:hover strong { color:var(--clay); }
.contact-option span { color:var(--clay); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; }
#contact-form { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line); border-radius:1.5rem; background:white; box-shadow:var(--shadow); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
label { display:block; margin-bottom:1rem; font-size:.85rem; font-weight:600; }
input,textarea,select { width:100%; margin-top:.45rem; padding:.85rem .9rem; color:var(--ink); background:#fcfaf7; border:1px solid var(--line); border-radius:.65rem; outline:none; }
textarea { resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--clay); box-shadow:0 0 0 3px rgba(154,105,79,.12); }
.form-note,.form-status { margin:.8rem 0 0; color:var(--ink-soft); font-size:.8rem; }
.form-status:not(:empty) { padding:.75rem 1rem; background:var(--paper); border-radius:.6rem; }
footer { padding:2.5rem clamp(1.25rem,6vw,7.5rem); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:2rem; color:var(--cream); background:#2e4036; }
.footer-logo img { display:block; width:180px; mix-blend-mode:screen; filter:grayscale(1) brightness(2.2); }
footer>div { display:flex; flex-direction:column; align-items:center; }
footer>div a { text-decoration:none; color:rgba(251,248,241,.78); }
.legal { margin:0; text-align:right; color:rgba(251,248,241,.65); font-size:.78rem; }
@media (max-width:1050px) { .site-header{min-height:82px}.brand img{width:165px}.menu-button{display:block}nav{position:absolute;top:82px;left:0;right:0;padding:1rem 1.25rem 1.4rem;display:none;align-items:stretch;flex-direction:column;gap:.25rem;background:var(--cream);border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{padding:.65rem 0}.nav-cta{margin-top:.4rem;padding:.75rem 1rem;text-align:center} }
@media (max-width:900px) { .hero{min-height:auto;grid-template-columns:1fr;padding-top:4.5rem}.hero-copy{max-width:720px}.hero-visual{max-width:550px;justify-self:center}.hero-image{aspect-ratio:5/4}.sophrology,.testimonials{grid-template-columns:1fr;gap:1rem}.about,.service-grid,.contact,.company-hero,.company-offers,.group-session-layout,.workshop-heading,.individual-overview{grid-template-columns:1fr}.individual-session-photo,.workshop-photo{width:100%;max-width:620px}.about-side{width:100%;max-width:580px;justify-self:center}.company-footer,.workshop-footer{grid-template-columns:1fr auto}.company-cta,.workshop-footer a{grid-column:1/-1}footer{grid-template-columns:1fr;text-align:center}.footer-logo{justify-self:center}.legal{text-align:center} }
@media (max-width:680px) { .hero{padding-top:3.2rem;gap:3.5rem}h1{font-size:clamp(3.25rem,16vw,5rem)}.hero-visual figcaption{right:.5rem}.sophrology-details,.section-heading,.specialty-grid,.pricing-grid,.workshop-grid,.company-footer,.workshop-footer,.testimonial-grid{grid-template-columns:1fr;gap:1rem}.individual-session-photo img{aspect-ratio:4/3}.pricing-grid>div{min-height:125px;border-right:0;border-bottom:1px solid rgba(251,248,241,.2)}.pricing-grid>div:last-child{border-bottom:0}.benefit-row{flex-direction:column}.service-card{min-height:460px}.individual-expanded,.company-expanded,.workshop-service{min-height:0}.company-price,.workshop-price{padding:1rem 0 0;border-top:1px solid rgba(251,248,241,.2);border-left:0}.company-cta,.workshop-footer a{grid-column:auto}.workshop-signature{white-space:normal}.testimonial-card{min-height:0}.field-row{grid-template-columns:1fr;gap:0}.contact-option{flex-direction:column;gap:.2rem} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important} }
