:root{--cream:#f7f3ed;--paper:#fffdf8;--ink:#26352e;--muted:#67716a;--green:#435c49;--pink:#ce8f87;--line:#dcded3;--soft:#edf0e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Avenir Next',Avenir,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.skip-link{position:absolute;left:1rem;top:-4rem;background:#fff;padding:.75rem;z-index:20}.skip-link:focus{top:1rem}.announcement{height:34px;display:flex;align-items:center;justify-content:center;gap:10px;background:#526b55;color:white;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.announcement span{font-size:15px;color:#f2c6bd}.header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:var(--cream);position:relative;z-index:10}.brand img{width:145px;height:74px;object-fit:contain;mix-blend-mode:multiply}.navigation{display:flex;align-items:center;gap:34px}.navigation>a{font-size:12px;font-weight:700;letter-spacing:.02em}.navigation>a:not(.nav-cta):hover,.text-link:hover{color:#a96560}.nav-cta{padding:13px 20px;background:var(--green);color:white!important;border-radius:3px}.nav-cta span,.button span,.text-link span,.offer-card a span{margin-left:13px}.menu-toggle{display:none}.hero{min-height:615px;display:grid;grid-template-columns:minmax(0,54%) minmax(0,46%);position:relative;background:#e9ebe2}.hero-copy{padding:103px 6vw 80px max(8vw,50px);position:relative;z-index:1}.eyebrow,.section-label{font-size:10px;font-weight:700;letter-spacing:.22em;color:#8b8f79;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{height:1px;width:30px;background:#b49a7c}.hero h1,.intro h2,.schedule h2,.about h2,.booking h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.058em;line-height:1.04}.hero h1{font-size:clamp(60px,6.4vw,104px);max-width:720px;margin:28px 0}.hero h1 em,.intro h2 em,.schedule h2 em,.about h2 em,.booking h2 em{font-weight:400;color:var(--pink)}.hero-copy>p{max-width:450px;color:#526059;font-size:15px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:35px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 23px;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap;transition:transform .2s,background .2s}.button:hover,.nav-cta:hover{transform:translateY(-2px);background:#304938}.primary{background:var(--green);color:white}.secondary{background:var(--paper);color:var(--green);border:1px solid #b6c1b2}.secondary:hover{color:white}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #a8ad9d;padding-bottom:5px}.hero-note{display:flex;align-items:center;gap:14px;margin-top:65px;font-size:11px;color:#7a8376;line-height:1.7}.hero-note strong{color:var(--ink);font-weight:600}.sparkle{font-size:36px;color:#c9958b}.hero-visual{height:615px;position:relative;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.image-tag{position:absolute;bottom:33px;left:28px;background:#f7f3edee;backdrop-filter:blur(8px);padding:18px 22px;color:var(--ink);font-family:Georgia,serif;font-size:22px}.image-tag em{color:var(--pink)}.image-tag span{margin-left:36px;color:#bc8c77}.hero-side-word{position:absolute;writing-mode:vertical-rl;transform:rotate(180deg);right:8px;top:50%;z-index:1;font-size:9px;letter-spacing:.25em;color:white}.section-pad{padding:100px max(8vw,25px)}.intro{background:var(--paper)}.intro-main{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:12px 0 46px}.intro h2,.schedule h2,.about h2,.booking h2{font-size:clamp(48px,5vw,76px);margin:0}.intro-main>p{max-width:380px;color:var(--muted);font-size:14px;line-height:1.9}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.offer-card{min-height:310px;background:#f4f3ed;padding:29px 31px 26px;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s}.offer-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #26352e10}.offer-icon{height:55px;color:#a7796d;font-size:37px}.offer-number{position:absolute;right:27px;top:29px;color:#a9aba0;font-size:11px}.offer-card h3{font-family:Georgia,serif;font-size:27px;letter-spacing:-.035em;font-weight:400;margin:15px 0 8px}.offer-card p{font-size:12px;color:var(--muted);line-height:1.8;max-width:265px}.offer-card a{font-size:11px;font-weight:700;margin-top:auto;padding-top:18px;color:var(--green)}.quote-band{min-height:150px;display:flex;align-items:center;justify-content:center;gap:40px;background:#e8d7cd;text-align:center;padding:28px}.quote-band p{font-family:Georgia,serif;font-style:italic;font-size:clamp(22px,3vw,37px);letter-spacing:-.03em;margin:0}.quote-band span{font-size:22px;color:#aa7a71}.schedule{background:#e8ece4}.schedule-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.schedule h2{margin-top:18px}.schedule-heading>p{font-size:13px;line-height:1.85;color:var(--muted);max-width:315px}.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.date-card{background:#f9faf5;border:1px solid #dce3d9;min-width:0;min-height:250px;padding:26px;position:relative}.date-no{font-size:12px;color:#8d998c}.date-mark{position:absolute;right:20px;top:14px;color:#c78e83;font-size:22px}.date-card h3{font-family:Georgia,serif;font-weight:400;font-size:42px;margin:42px 0 4px}.date-card p{color:var(--muted);font-size:12px;margin:0}.date-status{display:inline-block;margin-top:20px;font-size:10px;font-weight:700;color:#9a6e66;background:#f7ece7;padding:7px 10px;border-radius:20px}.date-card>a{display:block;margin-top:20px;font-size:11px;font-weight:700;color:var(--green)}.date-card>a span{margin-left:12px}.schedule-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cad5ca;margin-top:26px;padding-top:23px}.schedule-foot p{font-size:13px;color:#607162}.about{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-image{position:relative;max-width:440px}.about-image img{aspect-ratio:4/4.4;object-fit:cover;object-position:50% 45%;width:100%}.about-image>span{position:absolute;right:-30px;bottom:30px;background:#d8a69a;color:white;padding:14px 18px;font-family:Georgia,serif;font-style:italic;font-size:17px;transform:rotate(-4deg)}.about h2{margin:18px 0 27px}.about-copy>p{font-size:13px;color:var(--muted);line-height:1.9;max-width:520px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:27px 0;padding:20px 0}.credentials div{display:flex;flex-direction:column;gap:8px}.credentials strong{font-size:12px;color:#ad746b}.credentials span{font-size:10px;color:var(--muted);line-height:1.5}.booking{background:#e8ece4;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.booking h2{margin:20px 0 23px}.booking-intro>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:425px}.booking-doodle{font-size:180px;line-height:1;color:#d6a49a;margin-top:60px}.booking-form{background:var(--paper);padding:38px;box-shadow:0 20px 60px #26352e0d}.booking-form label:not(.consent){display:block;margin:0 0 9px;font-size:11px;font-weight:700}.booking-form label span{font-weight:400;color:var(--muted)}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{width:100%;border:1px solid #d9ded4;background:#fff;padding:13px 14px;color:var(--ink);border-radius:2px;outline:0;margin-bottom:22px;font-size:12px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px #6a8b6a22}.booking-form textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{display:flex;align-items:start;gap:10px;font-size:10px;line-height:1.65;color:#657269;margin-bottom:20px}.consent input{margin:3px 0 0;accent-color:var(--green)}.consent a{text-decoration:underline}.booking-form .button{width:100%}.form-note,.form-feedback{font-size:10px;color:#79847a;line-height:1.6;margin:13px 0 0}.form-feedback{color:#3f6d49}footer{background:#354a3b;color:#e7eee4;padding:55px max(8vw,25px) 30px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-top img{width:150px;background:white;padding:4px}.footer-top p,.footer-top a{font-size:11px;line-height:1.8;color:#cad8cb}.footer-top>div:not(:first-child){display:flex;flex-direction:column;align-items:start;gap:7px}.footer-top>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#a8bca9;margin-bottom:8px}.footer-top>div>p{margin:5px 0}.footer-bottom{border-top:1px solid #627767;display:flex;justify-content:space-between;margin-top:50px;padding-top:20px;font-size:10px;color:#bbccbe}.footer-bottom>div{display:flex;gap:20px}.legal{max-width:770px;margin-top:32px;color:#bbcabc;font-size:10px;line-height:1.8}.legal h2{font-size:12px;margin:0 0 4px;color:#e7eee4}.legal p{margin:0}.legal a{text-decoration:underline}@media(max-width:950px){.navigation{gap:17px}.hero-copy{padding-left:6vw}.hero h1{font-size:66px}.offer-card{padding:22px}.about{gap:5vw}.booking{gap:4vw}.section-pad{padding:78px 5vw}}@media(max-width:700px){.announcement{font-size:8px}.header{height:73px;padding:0 20px}.brand img{width:125px;height:63px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:11px;border:0;background:transparent}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}.navigation{display:none;position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 12px 25px #26352e18;flex-direction:column;align-items:stretch;gap:19px}.navigation.open{display:flex}.navigation>a{font-size:14px}.nav-cta{text-align:center}.hero{display:flex;flex-direction:column}.hero-copy{padding:62px 25px 38px}.hero h1{font-size:clamp(58px,12vw,82px);margin:23px 0}.hero-copy>p{font-size:14px}.hero-actions{gap:19px;flex-wrap:wrap}.hero-note{margin-top:40px}.hero-visual{height:460px}.hero-visual>img{object-position:center 46%}.hero-side-word{display:none}.section-pad{padding:70px 25px}.intro-main,.schedule-heading{display:block}.intro-main>p,.schedule-heading>p{max-width:none}.offer-grid{grid-template-columns:1fr}.offer-card{min-height:230px}.offer-card h3{margin-top:0}.quote-band{gap:15px}.quote-band span{font-size:13px}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-foot{align-items:start;flex-direction:column;gap:10px}.about,.booking{grid-template-columns:1fr;gap:45px}.about-image{max-width:450px}.about-image>span{right:-6px}.booking-doodle{display:none}.booking-form{padding:25px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}}@media(max-width:420px){.hero h1{font-size:57px}.schedule-grid{gap:9px}.date-card{padding:14px;min-height:195px}.date-card h3{font-size:33px}.field-row{grid-template-columns:1fr;gap:0}.credentials{gap:6px}.credentials span{font-size:9px}}

/* Form feedback and comfortable touch targets */
.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-feedback.success{color:#2b6540;font-weight:700}
.form-feedback.error{color:#a12f2f;font-weight:700}
.booking-form button:disabled{opacity:.65;cursor:wait}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #a86b63;outline-offset:3px}
@media(max-width:600px){
  .announcement{padding:0 12px;text-align:center;letter-spacing:.06em}
  .hero-copy{padding:54px 22px 32px}
  .hero h1{font-size:clamp(48px,12vw,68px);overflow-wrap:break-word}
  .hero-visual{height:390px}
  .hero-actions{align-items:stretch;gap:22px}
  .hero-actions .button{min-height:52px}
  .section-pad{padding:64px 22px}
  .intro h2,.schedule h2,.about h2,.booking h2{font-size:clamp(43px,11vw,60px)}
  .schedule-grid{grid-template-columns:1fr}
  .date-card{min-height:215px;padding:22px}
  .date-card h3{font-size:38px;margin-top:25px}
  .date-card>a{display:inline-flex;min-height:44px;align-items:center;margin-top:10px}
  .offer-card a{display:inline-flex;min-height:44px;align-items:center}
  .credentials{grid-template-columns:1fr;gap:13px}
  .credentials div{display:grid;grid-template-columns:55px 1fr;align-items:start;gap:10px}
  .credentials span{font-size:11px}
  .booking-form{padding:25px 20px}
  .booking-form label:not(.consent){font-size:12px}
  .booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{font-size:16px;min-height:48px}
  .consent{font-size:12px}
  .booking-form .button{min-height:52px;font-size:13px}
  .form-note,.form-feedback{font-size:12px}
  .footer-top{grid-template-columns:1fr}
  .footer-top>div:first-child{grid-column:auto}
  .footer-bottom{gap:15px;flex-wrap:wrap}
  .navigation a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){
  .hero h1{font-size:47px}
  .quote-band{padding:24px 15px}
  .quote-band p{font-size:21px}
  .image-tag{left:16px;bottom:16px;padding:12px 16px;font-size:19px}
}

/* Keep the post-submit status unmistakable and visible on small screens. */
.form-feedback{display:none;font-size:14px;line-height:1.6;margin:18px 0 0;padding:15px 17px;border-radius:3px;scroll-margin-block:35vh}
.form-feedback.success,.form-feedback.error{display:block}
.form-feedback.success{color:#244b31;background:#e4efe5;border-left:4px solid #3f6d49;font-weight:700}
.form-feedback.error{color:#782727;background:#f7e8e6;border-left:4px solid #a12f2f;font-weight:700}
.form-feedback:focus{outline:3px solid #a86b63;outline-offset:3px}
@media(max-width:600px){.form-feedback{font-size:14px;margin-top:16px;padding:15px}}
.booking{scroll-margin-top:24px}
.about{display:block}
.about-top{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(48px,8vw,120px)}
.about-image{max-width:430px}
.about-copy h2{font-size:clamp(42px,4.7vw,66px);line-height:1.08;margin:18px 0 24px}
.about-copy h2 em{font-size:.76em}
.about-copy>p{max-width:620px;font-size:14px;line-height:1.85;color:var(--muted)}
.about-copy .about-lead{font-size:16px;color:var(--ink)}
.about-more{max-width:1160px;margin:76px auto 0;padding-top:35px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,86px)}
.about-journey>p,.about-values>p{font-size:13px;line-height:1.85;color:var(--muted);max-width:520px}
.about .credentials{margin:20px 0 22px;gap:16px}
.about .credentials strong{font-family:Georgia,serif;font-size:23px;font-weight:400}
.about .credentials span{font-size:11px;line-height:1.55}
.about-values h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(25px,3vw,36px);margin:18px 0 8px}
.about-values ul{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.about-values li{display:flex;flex-direction:column;gap:5px;border-left:2px solid #d8a69a;padding-left:12px}
.about-values li strong{font-size:12px}.about-values li span{font-size:11px;line-height:1.6;color:var(--muted)}
.about-close{max-width:1160px;margin:48px auto 0;padding:24px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}
.about-close p{font-family:Georgia,serif;font-size:clamp(20px,2.5vw,29px);line-height:1.35;max-width:690px;margin:0}
.about-close>span{color:var(--muted);font-size:12px;white-space:nowrap}.about-close strong{color:var(--ink)}
@media(max-width:700px){.about-top{grid-template-columns:1fr;gap:42px}.about-image{max-width:450px}.about-more{grid-template-columns:1fr;margin-top:54px;gap:36px}.about-values ul{gap:14px}.about-close{align-items:flex-start;flex-direction:column;margin-top:38px}.about-close>span{white-space:normal}}
@media(max-width:420px){.about .credentials{grid-template-columns:1fr;gap:12px}.about .credentials div{border-left:2px solid #d8a69a;padding-left:12px}.about-values ul{grid-template-columns:1fr}}
