.retreat-page { color:#293b30; background:#faf8f3; font-family:Arial,sans-serif; letter-spacing:0; }
.wrap { max-width:1080px; margin:auto; padding-left:28px; padding-right:28px; }
.draft-banner { background:#eadfc9; color:#493d2c; text-align:center; padding:10px 20px; font-size:13px; }
.retreat-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:24px; padding-bottom:24px; }
.retreat-header a { color:inherit; text-decoration:none; font-size:14px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:bold; }
.brand img { object-fit:contain; }
.eyebrow { font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:bold; margin-bottom:20px; color:#576c59; }
.retreat-hero { padding-top:64px; padding-bottom:60px; }
.retreat-page h1,.retreat-page h2,.retreat-page h3 { font-family:Georgia,serif; font-weight:normal; color:#293b30; }
.retreat-page h1 { font-size:clamp(72px,10vw,120px); line-height:.96; letter-spacing:-.055em; margin-bottom:28px; }
.retreat-page h1 em { color:#6a8067; font-weight:normal; }
.subtitle { font-size:clamp(20px,3vw,28px); max-width:640px; line-height:1.4; }
.hero-copy { margin-top:18px; color:#59645a; max-width:550px; }
.facts { border-top:1px solid #d6d9cb; margin-top:48px; padding-top:26px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:28px; font-size:14px; }
.facts span { display:block; color:#697365; font-size:12px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:8px; }
.facts strong { font-weight:600; }
.soft-section { background:#e9ecdf; padding:64px 0; }
.intro-grid,.details-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.retreat-page h2 { font-size:clamp(32px,4vw,44px); line-height:1.15; margin:0 0 24px; text-align:left; }
.intro-grid p+p { margin-top:18px; }
.rooms-section { padding-top:70px; padding-bottom:64px; }
.section-intro { max-width:720px; color:#59645a; }
.room-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px; }
.room-card { background:#fffdf8; border:1px solid #d6d9cb; border-radius:18px; padding:32px; display:flex; flex-direction:column; }
.room-card .eyebrow { margin-bottom:10px; }
.retreat-page h3 { font-size:30px; line-height:1.3; margin-bottom:18px; }
.price { font-size:34px; color:#293b30; margin-bottom:20px; }
.price span { display:block; font-size:13px; color:#697365; }
.room-card>p:not(.price):not(.eyebrow) { color:#59645a; font-size:14px; }
.room-card ul { padding:22px 0 28px 18px; font-size:14px; }
.room-card li { margin-bottom:10px; }
.room-card button { width:100%; border:0; padding:16px; margin-top:auto; border-radius:7px; background:#e6e9df; color:#52624e; font-size:15px; cursor:not-allowed; }
.booking-note { text-align:center; font-size:13px; color:#59645a; margin-top:22px; }
.detail-list details { border-bottom:1px solid #cbd2c0; padding:16px 0; }
.detail-list details:first-child { padding-top:0; }
.detail-list summary { cursor:pointer; font-weight:600; }
.detail-list p { font-size:14px; margin-top:12px; }
.contact-block { padding-top:70px; padding-bottom:70px; }
.contact-link { display:inline-block; margin-top:22px; padding:14px 22px; background:#354e3e; border-radius:6px; color:#fff; text-decoration:none; }
.retreat-footer { border-top:1px solid #d6d9cb; padding-top:24px; padding-bottom:24px; color:#697365; font-size:12px; }
.retreat-page a:focus-visible,.retreat-page summary:focus-visible { outline:3px solid #846b32; outline-offset:5px; }
@media(max-width:650px) { .wrap{padding-left:22px;padding-right:22px}.retreat-header>a:last-child{font-size:12px}.brand{font-size:13px!important}.brand img{width:36px;height:36px}.retreat-hero{padding-top:36px}.facts,.intro-grid,.details-grid,.room-grid{grid-template-columns:1fr;gap:24px}.facts{gap:20px}.soft-section{padding:44px 0}.room-card{padding:26px}.rooms-section,.contact-block{padding-top:48px;padding-bottom:48px} }

.test-link { display:block; margin-top:14px; text-align:center; font-size:12px; color:#52624e; text-underline-offset:3px; }

.brand img { filter:brightness(0) saturate(100%) invert(35%) sepia(15%) saturate(550%) hue-rotate(85deg); }
/* Website event extension */
.event-section{padding-top:60px;padding-bottom:60px}.event-section p,.intro-grid p{margin-bottom:18px}.event-photo{margin-bottom:60px}.event-photo img{width:100%;max-height:520px;object-fit:cover;border-radius:14px}.event-photo figcaption,.event-gallery figcaption{font-size:12px;color:#697365;margin-top:8px}.event-list{padding-left:20px}.event-list li{margin-bottom:16px}.event-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.event-gallery img{width:100%;height:290px;object-fit:cover;border-radius:12px}.rhythm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.room-card .contact-link{margin-top:24px;text-align:center}.rooms-section>p:last-child{margin-top:24px;font-size:14px}.retreat-page img{max-width:100%}.retreat-page{margin:0}figure{margin:0}html{scroll-behavior:smooth}#booking{scroll-margin-top:20px}
@media(max-width:650px){.event-gallery,.rhythm-grid{grid-template-columns:1fr}.event-gallery img{height:auto}.event-section{padding-top:40px;padding-bottom:40px}.event-photo{margin-bottom:40px}.event-photo img{max-height:none}.retreat-header .brand{font-size:13px}.event-list{padding-left:18px}}
/* Booking and payment details */
.early-bird-note{margin-top:20px;background:#e9ecdf;padding:12px 18px;border-radius:6px;font-weight:600}.payment-plan{margin-top:40px;padding:28px;border-left:3px solid #6a8067;background:#e9ecdf}.payment-plan ol{padding-left:22px}.payment-plan li+li{margin-top:14px}.reservation-panel{margin-top:38px;padding:32px;background:#fffdf8;border:1px solid #d6d9cb;border-radius:18px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.reservation-panel label{display:block;font-weight:600;margin-bottom:8px}.reservation-panel select{width:100%;font:inherit;padding:12px;border:1px solid #83937c;border-radius:6px;color:#293b30;background:white}.reservation-panel select:focus-visible{outline:3px solid #846b32;outline-offset:3px}.reservation-panel dl{margin:20px 0}.reservation-panel dl div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #e0e2d8}.reservation-panel dd{font-weight:600;white-space:nowrap}.reservation-panel .contact-link{width:100%;text-align:center}.booking-small{font-size:13px;margin-top:16px}.booking-small a{color:#354e3e}.retreat-header .brand{font-size:16px}#reserve{scroll-margin-top:24px}.retreat-page .contact-link:hover{background:#263c2d}.retreat-page .event-gallery{margin-top:28px}
@media(max-width:650px){.reservation-panel{grid-template-columns:1fr;padding:24px;gap:24px}.payment-plan{padding:24px}.retreat-page .brand{max-width:65%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brochure-link{display:inline-block;margin:22px 0 0 20px;color:#354e3e;text-underline-offset:4px}@media(max-width:650px){.brochure-link{margin-left:0;display:block}}

/* Calm editorial layout: photography and short passages set the pace. */
.retreat-page{font-family:'Poppins',Arial,sans-serif;font-size:14px;line-height:1.9}
.retreat-page h1,.retreat-page h2,.retreat-page h3{font-family:'Playfair Display',Georgia,serif}
.retreat-header{border-bottom:1px solid #e0e2d8}
.retreat-hero{padding-top:48px;padding-bottom:56px}
.hero-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.retreat-page h1{font-size:clamp(66px,8vw,96px);line-height:1.06;letter-spacing:-.04em;margin-bottom:22px}
.hero-copy{max-width:370px;margin-top:20px}
.teacher-line{font-size:12px;color:#59645a;margin-top:20px}
.hero-image-retreat img{width:100%;height:460px;object-fit:cover;border-radius:2px}
.retreat-page figcaption{font-size:11px;color:#657060;margin-top:10px;line-height:1.7}
.retreat-page .eyebrow{font-size:10px;letter-spacing:.13em;font-weight:500}
.retreat-page a:not(.contact-link){color:#354e3e}
.text-link{display:inline-block;font-size:13px;text-decoration:none;border-bottom:1px solid #8a9781;padding:7px 0;margin-top:16px}
.text-link span{margin-left:12px}
.text-link:hover{border-color:#354e3e}
.soft-section{background:#eff0e8;padding:64px 0}
.facts{margin-top:40px;font-size:12px}
.facts strong{font-weight:500}.facts span{font-size:10px}.facts p{color:#657060}
.practice-section{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding-top:72px;padding-bottom:72px}
.studio-photo{display:block;width:100%;height:560px;object-fit:cover;border-radius:2px}
.practice-note{padding:20px 0;border-top:1px solid #d6d9cb}
.practice-note h3{font-size:24px;margin-bottom:8px}.practice-note p{margin-bottom:0;color:#59645a}
.place-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:36px}
.place-gallery img{width:100%;height:330px;object-fit:cover;border-radius:2px}
.teacher-grid{margin-top:32px}.teacher-grid h3{font-size:27px}
.retreat-page .event-gallery{margin-top:40px}.event-gallery img{border-radius:2px}
.room-grid{gap:18px}.room-card{border-radius:3px;padding:28px}
.room-card h3{font-size:26px}.room-card .contact-link{background:transparent;color:#354e3e;border:1px solid #b0baa7;padding:10px 16px;border-radius:3px;margin-top:auto}
.room-card>p:not(.price):not(.eyebrow){margin-bottom:22px}
.room-card .contact-link:hover{background:#eff0e8}
.price{font-size:30px;margin-bottom:14px}.price span{font-size:12px}
.early-bird-note{background:transparent;border-left:2px solid #b0baa7;border-radius:0;font-size:13px;font-weight:400;padding:4px 16px}
.payment-plan{background:transparent;border-left:0;border-top:1px solid #d6d9cb;padding:28px 0 0;font-size:13px}
.payment-plan h3{font-size:27px}.payment-plan strong{font-weight:500}
.reservation-panel{border-radius:3px}.booking-small{font-size:12px}.reservation-panel h3{font-size:27px}
.detail-list details{padding:19px 0}.detail-list details:first-child{padding-top:19px}.detail-list summary{font-weight:500;font-size:14px;cursor:pointer}.detail-list p{font-size:13px}
.contact-block{text-align:center;padding-top:64px;padding-bottom:64px}.contact-block h2{text-align:center}.contact-block p{color:#59645a}
.retreat-footer{display:flex;justify-content:space-between;gap:16px;font-size:11px}.retreat-footer a{text-underline-offset:4px}
#experience{scroll-margin-top:24px}
@media(max-width:760px){.hero-intro{gap:28px}.hero-image-retreat img{height:380px}.practice-section{gap:32px}.studio-photo{height:490px}.place-gallery{gap:14px}.place-gallery img{height:260px}}
@media(max-width:650px){.retreat-page{font-size:13px}.hero-intro,.practice-section{grid-template-columns:1fr}.hero-image-retreat img{height:340px}.retreat-hero{padding-top:32px}.retreat-page h1{font-size:70px}.facts{gap:18px}.facts>div{border-bottom:1px solid #e0e2d8;padding-bottom:14px}.facts>div:last-child{border:0}.practice-section{padding-top:44px;padding-bottom:44px}.studio-photo{height:auto;max-height:520px}.place-gallery{grid-template-columns:1fr 1fr;gap:20px 14px}.place-gallery figure:last-child{grid-column:1/-1}.place-gallery img{height:230px}.place-gallery figure:last-child img{height:auto}.soft-section{padding:44px 0}.retreat-footer{flex-direction:column;gap:8px}.reservation-panel dl div{gap:12px}.contact-block br{display:none}}

/* A personal introduction, with a glimpse of practice and nature. */
.hero-photo-story{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;min-width:0}
.hero-photo-story figure{min-width:0}
.hero-photo-story img{display:block;width:100%;object-fit:cover;border-radius:2px}
.hero-photo-story .hero-studio{grid-column:1/-1}
.hero-studio img{height:285px;object-position:50% 47%}
.hero-teacher img,.hero-green img{height:166px}
.hero-teacher img{object-position:53% 38%}
.hero-green img{object-position:center 47%}
.hero-photo-story figcaption{font-size:10px;margin-top:7px}
.place-gallery .gallery-landscape{grid-column:span 2}
@media(max-width:760px) and (min-width:651px){.hero-studio img{height:265px}.hero-teacher img,.hero-green img{height:145px}.hero-photo-story figcaption{font-size:9px}}
@media(max-width:650px){.hero-photo-story{gap:16px 12px}.hero-studio img{height:280px}.hero-teacher img,.hero-green img{height:155px}.place-gallery figure:last-child{grid-column:1/-1}.place-gallery .gallery-landscape img{height:auto}.hero-photo-story figcaption{font-size:10px}}

/* Workshop photographs and attributed reflections keep the practice tangible. */
.practice-with-photo{row-gap:32px}
.workshop-practice-photo,.workshop-reflections{grid-column:1/-1}
.workshop-practice-photo img{display:block;width:100%;height:auto;border-radius:2px}
.workshop-reflections{padding-top:12px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.workshop-review{border-top:1px solid #d6d9cb;padding-top:22px}
.workshop-review blockquote{margin:0}
.workshop-review blockquote p{font-family:'Playfair Display',Georgia,serif;font-size:23px;line-height:1.55;color:#354e3e;margin:0 0 18px}
.retreat-page .workshop-review figcaption{font-size:11px;line-height:1.9}
.workshop-review a{display:inline-block;margin-top:8px;text-underline-offset:4px}
@media(max-width:650px){.practice-with-photo{row-gap:24px}.review-grid{grid-template-columns:1fr;gap:28px}.workshop-review blockquote p{font-size:21px}}

/* Clear routes through the longer brochure-led retreat details. */
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:6px}
.hero-actions .contact-link{font-size:13px;padding:11px 18px}.hero-actions .text-link{font-size:12px}
.facts{grid-template-columns:repeat(4,1fr);gap:24px}
.retreat-section-nav{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:16px;padding-bottom:24px;font-size:12px}
.retreat-section-nav a{text-decoration:none;border-bottom:1px solid #c4ccbc;padding:6px 0}
.retreat-section-nav a:hover{border-color:#354e3e}
.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:32px}
.travel-grid h3{font-size:27px}.travel-grid a{text-underline-offset:4px;font-size:13px}
.retreat-inclusions .event-list{font-size:14px}.retreat-inclusions h3{font-size:27px}
.price span+span{margin-top:10px;line-height:1.8;font-size:11px}
#teachers,#setting,#travel,#questions,#practice-title{scroll-margin-top:24px}
.skip-link{position:absolute;left:12px;top:0;transform:translateY(-120%);padding:12px 20px;background:white;z-index:100}
.skip-link:focus{transform:translateY(0)}
@media(max-width:760px){.facts{grid-template-columns:1fr 1fr}.travel-grid{gap:28px}}
@media(max-width:650px){.facts{grid-template-columns:1fr 1fr;gap:18px 16px}.facts>div{border:0;padding:0}.retreat-section-nav{gap:6px 18px}.travel-grid{grid-template-columns:1fr;gap:24px}.retreat-inclusions .event-list{font-size:13px}.hero-actions{gap:4px 18px}}
