@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400 600;font-display:swap;src:url("assets/fonts/cormorant-garamond-latin.woff2") format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url("assets/fonts/inter-latin.woff2") format("woff2")}
:root{
  --ink:#111111;--ivory:#f7f7f4;--mist:#e7e7e2;--mineral:#b8b8b2;--brown:#5a514a;--night:#1d2733;
  --serif:"Cormorant Garamond",serif;--sans:Inter,Arial,sans-serif;
  --gutter:clamp(24px,6vw,96px);--edge:max(var(--gutter),calc((100% - 1280px)/2));
  --section-space:clamp(72px,7vw,112px);--panel-space:clamp(28px,3.4vw,52px);
  --title:clamp(48px,5.3vw,76px);--card-title:clamp(46px,4.8vw,70px);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.5 var(--sans)}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}figure{margin:0}p{overflow-wrap:break-word}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.02;letter-spacing:-.025em}
h2{font-size:var(--title)}h3{font-size:var(--card-title)}
main section[id],article[id],footer[id]{scroll-margin-top:24px}
:where(a,button,input,textarea,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.skip-link{position:fixed;z-index:100;left:16px;top:16px;padding:12px 16px;background:var(--ivory);color:var(--ink);font:600 14px/1.4 var(--sans);transform:translateY(-160%);transition:transform .15s ease}
.skip-link:focus{transform:none}
:where(.event-main,.about-content,.chez-soi-copy,.contact-card,.testimonial-grid>figure){min-width:0}
.eyebrow,.contact-index{margin:0 0 24px;font:600 12px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.15em}
.eyebrow.light{color:rgba(247,247,244,.76)}
.book{border:0;display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:48px;max-width:100%;padding:14px 24px;text-transform:uppercase;letter-spacing:.09em;font:500 12px/1.5 var(--sans);text-align:center}
.book-dark{background:var(--ink);color:var(--ivory)}.book-ivory{background:var(--ivory);color:var(--ink)}
/* The approved logo and its descriptor retain their dimensions. */
.header{position:absolute;z-index:5;inset:0 0 auto;height:112px;padding:12px 4vw 26px;display:grid;grid-template-columns:230px minmax(0,1fr) 180px;align-items:center;gap:24px;color:var(--ivory);border-bottom:1px solid #f7f7f452}
.brand{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;justify-self:start}
.brand-logo{width:48px;height:48px;object-fit:contain}.brand-line{white-space:nowrap;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em}
.brand-locations{position:absolute;right:4vw;bottom:6px;width:180px;white-space:nowrap;text-align:center;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;color:#f7f7f4c2}
.desktop-nav{display:flex;justify-content:center;gap:clamp(14px,1.5vw,24px);font-size:11px;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap}
.desktop-nav a{padding:10px 0}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:8px}
.header>.book{width:180px;justify-self:end;border:1px solid #f7f7f4b3;font-size:11px;padding:12px}
.menu-button{display:none;background:none;border:1px solid #f7f7f4a6;color:var(--ivory);width:46px;height:46px;padding:0;place-items:center;line-height:1}
.menu-monogram{display:block;width:30px;height:30px}
.menu-monogram img{width:100%;height:100%;object-fit:contain}
.hero{position:relative;display:flex;align-items:flex-end;min-height:660px;min-height:max(660px,min(860px,100svh));padding:184px var(--edge) 64px;background:var(--ink);color:var(--ivory);overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111b 0%,#1114 46%,#1112 100%),linear-gradient(0deg,#1116,transparent 45%)}
.hero-copy{position:relative;width:100%;max-width:860px}
.hero-copy h1{font-size:clamp(64px,7.3vw,104px);line-height:.98;letter-spacing:-.035em}
.hero-intro{font:400 clamp(20px,1.8vw,26px)/1.45 var(--serif);margin:26px 0 32px}
.scroll-cue{position:absolute;right:4vw;bottom:22px;display:flex;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.manifesto{padding:var(--section-space) var(--edge) calc(var(--section-space)*.7)}
.manifesto-text{font:400 clamp(34px,3.9vw,56px)/1.13 var(--serif);max-width:1180px;margin:0;letter-spacing:-.015em}
.signature-row{border-top:1px solid var(--mineral);margin-top:52px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;text-transform:uppercase;letter-spacing:.14em}
/* The invisible full text reserves the exact space throughout the animation. */
.typewriter{display:grid}.typewriter::before{content:attr(data-full-text);visibility:hidden;grid-area:1/1;pointer-events:none}.typewriter>span{grid-area:1/1}
.typewriter.is-typing span::after{content:"";display:inline-block;width:1px;height:.82em;margin-left:.08em;background:currentColor;vertical-align:-.03em;animation:typewriter-caret .72s steps(1) infinite}
@keyframes typewriter-caret{50%{opacity:0}}
.experiences{padding:calc(var(--section-space)*.7) var(--edge) var(--section-space)}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:8%;align-items:end;margin:0 0 48px}
.section-heading>p{font:400 22px/1.5 var(--serif);margin:0}
.event{padding:var(--panel-space)}.event-dark{background:var(--ink);color:var(--ivory);background-image:radial-gradient(circle at 72% 30%,#5a514a8c,transparent 50%)}.event-light{background:var(--mist);color:var(--ink)}
.event-with-image{display:grid;grid-template-columns:minmax(0,40%) minmax(0,40%);column-gap:20%;align-items:stretch}
.event-main{align-self:center}.event-with-image h3{font-size:var(--card-title);line-height:1.02}
.event-main>p:not(.eyebrow){font-size:18px;line-height:1.5;margin:24px 0 0}
.event-label{white-space:nowrap;font-size:clamp(10px,.95vw,12px);line-height:1.5;letter-spacing:.12em}
.event-meta{width:100%;margin-top:28px}.event-meta p{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;border-top:1px solid #f7f7f44d;padding:14px 0;margin:0;font-size:14px;line-height:1.5}
.event-meta span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mineral);align-self:center}
.outline-btn{display:flex;align-items:center;justify-content:center;margin-top:18px;width:100%;min-height:48px;padding:12px 16px;background:transparent;color:var(--ivory);border:1px solid currentColor;text-transform:uppercase;letter-spacing:.08em;font-size:12px;line-height:1.5;text-align:center}
.event-visual{position:relative;min-height:380px;overflow:hidden}.event-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.event-light .event-meta p{border-top-color:rgba(17,17,17,.22)}
.event-light .event-meta span{color:rgba(17,17,17,.58)}
.event-light .outline-btn{color:var(--ink)}
.event-light .payment-note{color:rgba(17,17,17,.62)}
.event-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.event-pair.event-single{grid-template-columns:1fr}
.event-card{padding:var(--panel-space);min-height:380px;display:flex;flex-direction:column;align-items:flex-start}
.event-card h3{margin:12px 0 24px}.event-card>p:not(.eyebrow){font:400 21px/1.5 var(--serif);margin:0 0 24px}
.pourtales-card h3{margin-top:0}
.mineral{background:var(--mist)}.ink{background:var(--night);color:var(--ivory)}
.event-card.ink .retreat-promise{font:400 28px/1.15 var(--serif);letter-spacing:-.015em;margin:0 0 18px}
.retreat-card{position:relative;min-height:620px;justify-content:flex-end;overflow:hidden;background:radial-gradient(circle at 100% 0,rgba(90,81,74,.36),transparent 46%),var(--night)}
.pourtales-card{position:relative;isolation:isolate;overflow:hidden}.pourtales-card::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.18) 0%,rgba(17,17,17,.55) 48%,rgba(17,17,17,.9) 100%)}.pourtales-background{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.barr-card>p:not(.eyebrow){font-size:clamp(15px,1.25vw,18px);white-space:nowrap}
.event-interest{display:block;width:100%;border:0;border-top:1px solid currentColor;margin-top:auto;padding:18px 0 0;background:none;color:inherit;font:500 12px/1.5 var(--sans);letter-spacing:.08em;text-align:left;text-transform:uppercase}
.payment-cta{text-decoration:none}.payment-note{display:block;margin-top:8px;color:rgba(247,247,244,.7);font:500 10px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.retreats{padding:0 var(--edge) var(--section-space)}
.retreat-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:560px;background:var(--night);color:var(--ivory)}.retreat-feature-copy{padding:var(--panel-space);display:flex;flex-direction:column;align-items:flex-start}.retreat-feature h3{font-size:var(--card-title);margin:8px 0 18px}.retreat-feature .retreat-promise{font:400 28px/1.15 var(--serif);letter-spacing:-.015em;margin:0 0 18px}.retreat-feature-copy>p:not(.eyebrow):not(.retreat-promise){font:400 21px/1.5 var(--serif);margin:0 0 24px}.retreat-feature-visual{position:relative;overflow:hidden;min-height:560px}.retreat-feature-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.places{padding:var(--section-space) var(--edge)}
.place-list>div{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:24px;padding:28px 0;border-top:1px solid var(--mineral)}
.place-list>div:last-child{border-bottom:1px solid var(--mineral)}.place-list span{font-size:12px}.place-list h2{font-size:var(--card-title)}.place-list p{font:400 22px/1.4 var(--serif);margin:0}
.about{background:var(--mist);padding:var(--section-space) var(--edge);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8%;align-items:start}
.about-content>p{font:400 22px/1.5 var(--serif);margin:28px 0 0}
.about-content>a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--mineral);padding:18px 0 0;margin-top:28px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.about-portrait{position:relative;width:min(100%,416px);aspect-ratio:4/5;height:auto;max-height:520px;min-height:0;justify-self:end;overflow:hidden;background:var(--mist)}
.about-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:none}
.testimonials{padding:var(--section-space) var(--edge);background:var(--ivory)}
.testimonials-heading{margin-bottom:40px}.testimonials-heading h2{font-size:clamp(42px,5.1vw,72px);white-space:nowrap}
.google-summary{display:flex;align-items:center;gap:16px;width:max-content;max-width:100%;margin-top:24px}.google-mark{width:48px;height:48px;flex:0 0 48px;border:1px solid var(--mineral);border-radius:50%;display:grid;place-items:center;background:white}.google-g{margin:0;font:600 23px/1 var(--sans);background:conic-gradient(from -40deg,#4285f4 0 25%,#34a853 25% 42%,#fbbc05 42% 64%,#ea4335 64% 78%,#4285f4 78% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.google-summary:hover strong{text-decoration:underline;text-underline-offset:4px}
.google-summary-copy{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 14px}.google-summary-copy strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.google-summary-copy small{grid-column:1/-1;font:400 18px/1.3 var(--serif)}
.review-stars{display:block;color:#c99b35;font:600 15px/1 var(--sans);letter-spacing:.08em}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.testimonial-grid figure{padding:clamp(22px,2.2vw,32px);border:1px solid var(--mineral);background:#fff;display:flex;flex-direction:column}
.review-card-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:28px}.review-card-head>span:nth-child(2){display:flex;flex-direction:column;gap:7px}.review-card-head strong{font-size:12px;font-weight:500}
.review-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--night);color:var(--ivory);font:500 19px/1 var(--serif)}.mini-google{font:600 17px/1 var(--sans);background:conic-gradient(from -40deg,#4285f4 0 25%,#34a853 25% 42%,#fbbc05 42% 64%,#ea4335 64% 78%,#4285f4 78% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.testimonial-grid blockquote{margin:0 0 28px;font:400 23px/1.42 var(--serif)}.testimonial-grid figcaption{margin-top:auto;padding-top:18px;border-top:1px solid var(--mist);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--brown)}
.testimonial-controls{display:none}.review-card-head strong a:hover{text-decoration:underline;text-underline-offset:4px}
.closing{background:var(--brown);color:var(--ivory);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left;min-height:460px}
.chez-soi-visual{position:relative;overflow:hidden}.chez-soi-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.chez-soi-copy{padding:clamp(40px,4.4vw,64px) clamp(28px,4.4vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.chez-soi-copy h2{font-size:var(--title);line-height:1.02}.chez-soi-copy>p:not(.eyebrow){font:400 22px/1.5 var(--serif);margin:24px 0 28px}
.contact-paths{padding:var(--section-space) var(--edge)}.contact-grid.b2b-only{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--ink);color:var(--ivory)}
.contact-card{padding:var(--panel-space);display:flex;flex-direction:column;align-items:flex-start;min-height:460px}.contact-card h3{margin:16px 0 24px}.contact-card>p:not(.contact-index){font:400 22px/1.5 var(--serif);margin:0 0 28px}
.contact-link{display:flex;justify-content:space-between;gap:16px;width:100%;border:0;border-top:1px solid currentColor;padding:18px 0 0;margin-top:auto;background:none;color:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:left}
.collab-visual{position:relative;overflow:hidden}.collab-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.collab-visual figcaption{position:absolute;left:24px;bottom:24px;padding:10px 14px;background:rgba(17,17,17,.82);color:var(--ivory);font:500 11px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
footer{background:var(--ink);color:var(--ivory);padding:64px var(--edge) 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.65fr);gap:40px}
.footer-logo{width:104px;height:104px;object-fit:contain}.footer-brand p{font:italic 400 25px/1.3 var(--serif);margin:20px 0 0}footer a,footer span{display:block;margin:12px 0;font-size:14px;overflow-wrap:anywhere}
.footer-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:20px;border-top:1px solid #f7f7f438}.footer-legal a{margin:0;color:var(--mineral);font-size:11px;line-height:1.8;letter-spacing:.08em;text-transform:uppercase}.footer-legal a:hover{text-decoration:underline;text-underline-offset:4px}
.copyright{grid-column:1/-1;color:var(--mineral);font-size:11px;line-height:1.8;letter-spacing:.08em;text-transform:uppercase;margin:0}
.copyright a{display:inline;margin:0;color:inherit;font-size:inherit;text-decoration:none}.copyright a:hover{text-decoration:underline;text-underline-offset:3px}
/* Dialogs remain usable on short screens and with larger text. */
dialog{width:min(560px,calc(100% - 32px));max-width:560px;max-height:calc(100dvh - 32px);overflow:auto;border:0;padding:56px 40px 36px;background:var(--ivory);color:var(--ink)}
dialog::backdrop{background:#111b;backdrop-filter:blur(5px)}dialog h2{font-size:clamp(36px,4vw,50px);line-height:1.05}dialog>p:nth-of-type(2){font:400 20px/1.45 var(--serif)}
.close-modal{position:absolute;right:12px;top:8px;width:44px;height:44px;border:0;background:none;color:inherit;font-size:30px;line-height:1}
dialog label{font-size:12px;text-transform:uppercase;letter-spacing:.08em}dialog input,dialog textarea{width:100%;border:0;border-bottom:1px solid var(--ink);padding:14px 0;background:transparent;color:inherit;margin:8px 0 24px;font:400 16px/1.5 var(--sans)}dialog textarea{min-height:85px;resize:vertical}
.business-only{display:none}dialog.is-business .business-only{display:block}
.legal-modal{width:min(820px,calc(100% - 32px));max-width:820px;padding:60px 48px 40px}.legal-modal .modal-title{margin-bottom:36px}.legal-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}.legal-content section:first-child{grid-column:1/-1}.legal-content h3{font:500 26px/1.1 var(--serif);margin:0 0 14px}.legal-content p{font:400 14px/1.65 var(--sans);margin:0 0 12px}.legal-content a{text-decoration:underline;overflow-wrap:anywhere}
#mobile-menu{width:min(440px,calc(100% - 32px));padding:64px 28px 32px}#mobile-menu nav{display:flex;flex-direction:column}#mobile-menu nav a{display:block;padding:14px 0;border-bottom:1px solid #1113;font:400 28px/1.2 var(--serif)}body.menu-open{overflow:hidden}
#interest-modal [hidden]{display:none!important}#interest-modal .consent-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none;margin:8px 0 18px}#interest-modal .consent-label input{width:18px;height:18px;flex:0 0 18px;margin:2px 0;accent-color:var(--ink)}
#interest-modal .form-privacy,#interest-modal .form-help{font:400 12px/1.65 var(--sans);letter-spacing:0}#interest-modal .form-privacy{margin:0 0 22px}#interest-modal .form-help{margin:20px 0 0}#interest-modal .form-status{font:400 16px/1.6 var(--sans);margin:20px 0 0}#interest-modal .form-status:empty{display:none}#interest-modal .form-status[data-error="true"]{color:#8b2828}
.form-privacy a,.form-help a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.modal-submit:disabled{opacity:.65;cursor:wait}.no-script{position:relative;z-index:10;background:var(--ivory);color:var(--ink);padding:16px;margin:0}
@media(max-width:1100px){
  .header{grid-template-columns:minmax(0,1fr) auto;height:104px;padding:12px 24px 24px;gap:16px}.desktop-nav,.header>.book{display:none}.menu-button{display:grid}.brand-line{font-size:10px}.brand-locations{right:24px;bottom:4px;width:auto;font-size:10px;text-align:right}
}
@media(max-width:999px){
  .testimonials-heading h2{white-space:normal}.testimonial-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:4px}.testimonial-grid::-webkit-scrollbar{display:none}.testimonial-grid figure{flex:0 0 min(620px,78vw);padding:28px;scroll-snap-align:start;scroll-snap-stop:always}.testimonial-grid blockquote{max-width:760px}.testimonial-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px}.testimonial-controls button{width:44px;height:44px;border:1px solid var(--mineral);background:transparent;color:var(--ink);font:400 20px/1 var(--sans)}.testimonial-controls button:disabled{opacity:.35;cursor:default}.testimonial-position{min-width:48px;text-align:center;font:500 12px/1.5 var(--sans);letter-spacing:.08em}
}
@media(max-width:850px){
  :root{--gutter:24px;--section-space:64px;--panel-space:26px;--title:clamp(42px,7vw,58px);--card-title:clamp(44px,7vw,58px)}
  .header{height:96px;padding:12px 20px 22px;display:flex;justify-content:center;align-items:center}.brand{justify-self:auto}.brand-logo{width:43px;height:43px}.brand-line{font-size:10px}.brand-locations{left:20px;right:20px;bottom:3px;width:auto;text-align:center;font-size:10px}.menu-button{position:absolute;top:10px;right:20px}
  .hero{min-height:640px;min-height:max(640px,min(820px,100svh));padding:160px var(--edge) 48px}.hero-copy{max-width:600px}.hero-copy h1{font-size:clamp(52px,12vw,78px)}.hero>img{object-position:68% center}.hero-shade{background:linear-gradient(90deg,#111b,#1112),linear-gradient(0deg,#1119,transparent 60%)}.hero-intro{font-size:22px;margin:24px 0 28px}.hero-copy .book{width:100%;justify-content:space-between}.scroll-cue{display:none}
  .manifesto-text{font-size:clamp(32px,5.6vw,42px)}.signature-row{margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-heading>p{font-size:22px}
  .event-with-image{display:flex;flex-direction:column;gap:28px}.event-main{width:100%}.event-label{font-size:12px}.event-with-image h3{font-size:var(--card-title)}.event-main>p:not(.eyebrow){font-size:17px}.event-visual{min-height:0;width:100%;aspect-ratio:4/3}
  .event-pair{grid-template-columns:1fr}.event-card{min-height:0}.retreat-card{min-height:620px}.event-card h3{margin:8px 0 24px}.event-interest{min-height:48px;margin-top:8px;padding:14px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:16px}.barr-card>p:not(.eyebrow){font-size:18px;white-space:normal}.retreat-feature{grid-template-columns:1fr;min-height:0}.retreat-feature-copy{padding:var(--panel-space)}.retreat-feature-visual{min-height:0;aspect-ratio:4/3;grid-row:1}.retreat-feature .event-interest{margin-top:8px}
  .place-list>div{grid-template-columns:28px minmax(0,1fr);gap:12px 16px;padding:24px 0}.place-list p{grid-column:2;font-size:21px}
  .about{grid-template-columns:1fr;gap:32px}.about-content>p{font-size:22px;margin-top:24px}.about-portrait{height:auto;min-height:0;max-height:480px;aspect-ratio:4/5}
  .testimonials-heading{margin-bottom:28px}.testimonials-heading h2{font-size:var(--title)}.testimonial-grid{gap:16px}.testimonial-grid figure{padding:24px}.testimonial-grid blockquote{font-size:22px}.google-summary{margin-top:24px}
  .closing{grid-template-columns:1fr;min-height:0}.chez-soi-visual{width:100%;aspect-ratio:4/3;max-height:480px}.chez-soi-visual img{object-position:center}.chez-soi-copy{padding:40px var(--edge) 48px;align-items:flex-start}.chez-soi-copy>p:not(.eyebrow){font-size:22px;margin:24px 0}.chez-soi-copy .book{align-self:stretch}
  .contact-grid.b2b-only{grid-template-columns:1fr}.contact-card{min-height:0}.contact-card h3{margin:8px 0 24px}.contact-link{min-height:48px;margin-top:0;padding:14px 0 8px;align-items:center}.collab-visual{aspect-ratio:4/3}
  footer{grid-template-columns:1fr 1fr;gap:32px;padding:48px var(--edge) 28px}.footer-brand{grid-column:1/-1}.footer-logo{width:88px;height:88px}.copyright{margin:0}
  dialog{padding:56px 24px 28px}.legal-modal{padding:56px 24px 28px}.legal-content{grid-template-columns:1fr;gap:24px}.legal-content section:first-child{grid-column:auto}
}
@media(max-width:520px){
  .chez-soi-visual{aspect-ratio:1/1;max-height:none}.testimonial-grid figure{flex-basis:calc(100vw - 64px);padding:24px}.testimonial-controls{justify-content:space-between}
  footer{grid-template-columns:1fr}.footer-brand{grid-column:auto;display:flex;flex-direction:column;align-items:center;text-align:center}.footer-logo{width:75px;height:75px}.footer-brand p{margin-top:14px;font-size:21px}.footer-brand+div{margin-top:16px}.footer-legal{gap:8px 18px}
  .google-summary{align-items:flex-start}.google-summary-copy{grid-template-columns:1fr}.google-summary-copy .review-stars,.google-summary-copy small{grid-column:1}
  .event-label{white-space:normal}
  .offer-detail summary{min-height:44px;display:flex;align-items:center}
}
@media(max-width:380px){
  :root{--gutter:20px;--panel-space:22px;--title:40px;--card-title:42px}.brand-line,.brand-locations{font-size:9.5px}.hero-copy h1{font-size:50px}.hero-intro br{display:none}.event-label{font-size:10px}.google-summary-copy{gap:6px 10px}.google-summary-copy strong{font-size:11px}footer{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:no-preference){
  .hero>img{animation:slowzoom 18s ease-out both}.hero-copy>*{animation:reveal .9s both}.hero-copy h1{animation-delay:.15s}.hero-copy .hero-intro{animation-delay:.28s}.hero-copy .book{animation-delay:.4s}
  @keyframes slowzoom{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.typewriter.is-typing span::after{animation:none}}

.offer-detail{width:100%;margin:0 0 24px;border-top:1px solid #f7f7f44d;padding-top:16px}
.offer-detail summary{font:500 13px/1.5 var(--sans);cursor:pointer}
.offer-detail p{font:400 18px/1.5 var(--serif);margin:16px 0 0}
.b2b-formats{width:100%;margin:0 0 24px;border-bottom:1px solid #f7f7f44d}
.contact-card.b2b>p em{display:block;margin-top:8px;font-weight:400}
.weather-note{font:italic 400 13px/1.5 var(--serif)}
.b2b-formats details{border-top:1px solid #f7f7f44d}
.b2b-formats summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:14px 0;cursor:pointer;list-style:none}
.b2b-formats summary::-webkit-details-marker{display:none}
.b2b-formats summary span{font:500 13px/1.5 var(--sans)}
.b2b-formats summary small{color:rgba(247,247,244,.68);font:400 11px/1.5 var(--sans);letter-spacing:.04em;text-align:right}
.b2b-formats summary::after{content:"+";grid-column:3;font:400 18px/1 var(--sans)}
.b2b-formats details[open] summary::after{content:"−"}
.b2b-formats details p{max-width:42ch;margin:0;padding:0 28px 14px 0;font:400 17px/1.45 var(--serif);color:rgba(247,247,244,.84)}
@media(max-width:850px){
  .b2b-formats summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}
  .b2b-formats summary small{grid-column:1;text-align:left}
  .b2b-formats summary::after{grid-column:2;grid-row:1/3}
  .contact-card.b2b>p em{font-size:16px}
}

.event-description{white-space:pre-line}.event-published-text{display:block}.event-published-text .event-main{max-width:760px}

/* Focused responsive refinements: preserve desktop composition and brand assets. */
@media(min-width:1101px){
 .brand-line{font-size:10px}
 .brand-locations{font-size:11px;letter-spacing:.06em;color:var(--ivory)}
}
@media(max-width:850px){
 .event-with-image>.event-main{order:0}
 .event-with-image>.event-visual{order:1}
 .chez-soi-visual{aspect-ratio:auto;max-height:none}
 .chez-soi-visual img{position:static;width:100%;height:auto;object-fit:contain}
}
