:root{--paper:#f8f5ef;--ink:#292824;--sand:#dec0a2;--ember:#b72c16;--blue:#344b77;--line:#d5cabc;--muted:#69645d;--space:clamp(24px,5vw,84px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;width:100%;object-fit:cover}header{display:flex;align-items:center;justify-content:space-between;padding:22px var(--space);border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:59px;height:41px;object-fit:contain;object-position:top}.brand>span{font-size:16px;letter-spacing:4px}.brand small{display:block;font-size:7px;letter-spacing:1.5px;margin-top:3px}nav{display:flex;gap:32px;align-items:center;font-size:12px}nav a:hover,.text-link:hover{color:var(--ember)}.nav-cta{border-bottom:1px solid var(--ember);padding:10px 0}.nav-cta span{margin-left:20px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:640px;padding:24px var(--space) 40px;gap:32px}.hero-copy{padding:60px 0 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;margin:0 0 30px;color:var(--ember)}h1{margin:12px 0 28px;line-height:1.05;font-weight:400;position:relative;width:100%}h1 em{font-family:'Snell Roundhand','Brush Script MT',Georgia,cursive;font-size:clamp(35px,4vw,60px);font-weight:400;display:block;color:var(--ink);position:relative;z-index:1;margin-bottom:-5px}h1 span{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(54px,6.5vw,105px);letter-spacing:1px;color:#b68b66;display:block}.hero-description{font-size:17px;margin:0 0 30px}.button{background:var(--ember);color:white;display:inline-flex;justify-content:space-between;gap:40px;padding:15px 25px;border:1px solid var(--ember);font-size:12px;transition:background .2s}.button:hover{background:#8c2110}.hero-bottom{margin-top:auto;padding-top:60px;display:flex;justify-content:space-between;width:100%;font-size:9px;letter-spacing:1px;color:var(--muted)}.hero-photo{position:relative;min-height:570px}.hero-photo>img{height:100%;position:absolute;object-position:58% center}.image-label{position:absolute;bottom:20px;left:20px;color:#fff;font-size:9px;letter-spacing:2px;background:#29282470;padding:6px 10px}.photo-index{position:absolute;top:18px;right:18px;color:white;font-size:10px;letter-spacing:2px}.section{padding:90px var(--space)}h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(31px,3.2vw,48px);line-height:1.2;font-weight:400;letter-spacing:-1px;margin:0 0 26px}.intro{display:grid;grid-template-columns:1fr 1.65fr .55fr;gap:50px;border-top:1px solid var(--line);margin-top:10px;background:linear-gradient(#f8f5efee,#f8f5efee),url('assets/paper.jpg')}.intro>div p{max-width:570px;color:var(--muted)}.intro>.eyebrow{padding-top:9px}.seal{border:1px solid var(--sand);border-radius:50%;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ember);font-family:Georgia,serif;font-size:24px;align-self:center;transform:rotate(-12deg)}.seal small{font:8px sans-serif;letter-spacing:3px}.journeys{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{color:var(--muted);font-size:13px}.section-heading .eyebrow{margin-bottom:18px}.filters{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:24px 0 38px}.filters button{border:0;background:none;padding:15px 0;color:var(--muted);font-size:12px;border-bottom:2px solid transparent}.filters button[aria-pressed=true]{color:var(--ember);border-bottom-color:var(--ember)}.filters span{margin-left:12px;font-size:9px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 27px}.journey-card{min-width:0}.card-photo{position:relative;overflow:hidden;aspect-ratio:1.5}.card-photo img{height:100%;transition:transform .4s}.journey-card:hover img{transform:scale(1.035)}.card-season{position:absolute;bottom:0;left:0;padding:5px 12px;background:var(--blue);color:white;font-size:8px;letter-spacing:1.5px}.card-season.summer{background:var(--ember)}.card-meta{font-size:9px;color:var(--muted);margin:19px 0 7px;letter-spacing:.6px}.journey-card h3{font:normal 24px Georgia,serif;margin:0 0 8px;line-height:1.2}.journey-card .subtitle{color:var(--muted);font-size:12px;min-height:40px;margin:0}.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:14px;gap:8px}.card-foot p{margin:0;font-size:10px}.card-foot strong{font-size:13px;font-weight:500}.details{border:0;background:none;color:var(--ember);font-size:11px;padding:8px 0}.retreat{display:grid;grid-template-columns:1.1fr 1fr;background:var(--blue);color:white}.retreat-image img{height:100%;min-height:500px}.retreat-copy{padding:70px var(--space)}.retreat-copy .eyebrow{color:var(--sand)}.retreat-copy p:not(.eyebrow){font-size:13px;color:#e0e4ec}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding:12px 0;font-size:13px}.retreat .text-link{margin-top:16px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-top:110px;padding-bottom:110px}.contact h2 em{color:var(--ember);font-weight:400}.contact>div>p:not(.eyebrow){color:var(--muted)}.phone{display:block;margin-top:15px;font-size:14px}form{display:flex;flex-direction:column}label{font-size:10px;letter-spacing:1px;margin-bottom:5px}input,select,textarea{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0 12px;margin-bottom:20px;width:100%;font-size:13px;color:var(--ink)}textarea{resize:vertical}form .button{align-self:flex-start}.form-note{font-size:10px;color:var(--muted)}#form-status{font-size:12px}footer{border-top:1px solid var(--line);padding:40px var(--space) 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:36px}.footer-top>p{font-size:10px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(760px,92vw);max-height:90vh;padding:0}dialog::backdrop{background:#191c22b8}.close{position:absolute;top:12px;right:12px;z-index:1;border:0;background:var(--paper);width:40px;height:40px;font-size:20px}.dialog-photo{height:260px}.dialog-copy{padding:30px}.dialog-copy h2{margin-bottom:12px}.dialog-copy>p{font-size:13px}.rates{list-style:none;padding:0;margin:25px 0}.rates li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.rate-note{color:var(--ember);font-size:11px!important}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;width:auto;height:auto;clip-path:none;top:10px;left:10px;background:white;padding:15px;z-index:10}body.modal-open{overflow:hidden}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:750px}}@media(max-width:1050px){nav{gap:18px}.brand>span{font-size:13px;letter-spacing:3px}.hero{min-height:560px}.hero-photo{min-height:490px}.hero-copy{padding-top:40px}.intro{grid-template-columns:.8fr 1.6fr;gap:25px}.seal{display:none}.journey-grid{grid-template-columns:repeat(2,1fr)}.retreat-copy{padding:50px 35px}.contact{gap:40px}.footer-top .brand small{max-width:180px}}@media(max-width:700px){header{padding:18px 22px}.brand img{width:45px;height:34px}.brand>span{font-size:12px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:.8px}.menu{display:block;border:0;background:none;font-size:12px}.menu span{margin-left:8px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px;z-index:5;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}.hero{display:flex;flex-direction:column;padding:24px 22px 30px;gap:25px}.hero-copy{padding:20px 0 0}.eyebrow{font-size:9px;margin-bottom:20px}h1{margin:8px 0 22px}h1 em{font-size:40px}h1 span{font-size:clamp(54px,12.5vw,86px)}.hero-description{font-size:15px}.hero-bottom{display:none}.hero-photo{min-height:350px}.section{padding:55px 22px}.intro{display:block}.intro>div p{font-size:14px}.section-heading{display:block}.section-heading>p{margin:0}.filters{gap:20px;margin-top:20px}.filters button{font-size:10px}.filters span{margin-left:4px}.journey-grid{grid-template-columns:1fr;gap:36px}.journey-card h3{font-size:27px}.journey-card .subtitle{min-height:0}.card-foot{margin-top:14px}.retreat{grid-template-columns:1fr}.retreat-image img{min-height:0;height:300px}.retreat-copy{padding:45px 22px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:36px}.footer-top{flex-direction:column;align-items:flex-start;gap:15px}.footer-top>p{margin:0}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}.rates li{font-size:11px}.dialog-photo{height:190px}.dialog-copy{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Editorial opening: oversized masthead, marginal notes and a photographic plate. */
.hero {
  display:grid; grid-template-columns: 1fr 1.9fr;
  column-gap:clamp(32px,6vw,100px); row-gap:0;
  min-height:0; padding:25px var(--space) 0;
  background:linear-gradient(#f8f5eff2,#f8f5eff2),url('assets/paper.jpg');
}
.hero-folio { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; font-size:8px; letter-spacing:1.8px; color:var(--muted); }
.hero h1 { grid-column:1/-1; margin:22px 0 30px; width:auto; font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(90px,16.5vw,245px); line-height:.91; letter-spacing:-.025em; color:var(--blue); font-weight:400; position:relative; padding-bottom:18px; border-bottom:1px solid var(--line); }
.hero h1 .hero-period { display:inline; font:inherit; color:var(--ember); letter-spacing:inherit; }
.hero h1 em { position:absolute; right:0; bottom:30px; margin:0; padding:8px 0 8px 18px; background:var(--paper); color:var(--ember); font-family:Georgia,serif; font-size:clamp(20px,2.8vw,42px); font-weight:400; line-height:1.1; letter-spacing:-1.5px; transform:rotate(-5deg); }
.hero .hero-copy { width:auto; padding:8px 0 0; display:flex; flex-direction:column; align-items:flex-start; }
.hero .hero-copy .eyebrow { font-size:8px; letter-spacing:1.8px; margin:0 0 18px; }
.hero .hero-description { font:normal clamp(27px,2.6vw,39px)/1.2 Georgia,serif; letter-spacing:-1px; margin:0 0 15px; }
.hero-description em { color:var(--ember); }
.hero-note { font-size:12px; line-height:1.7; max-width:255px; color:var(--muted); margin:0 0 22px; }
.hero-link { display:flex; justify-content:space-between; gap:40px; padding:10px 0; border-bottom:1px solid var(--ember); color:var(--ember); font-size:12px; }
.hero-link:hover { color:var(--ink); }
.hero-link span { font-size:20px; line-height:1; }
.hero .hero-photo { margin:0; width:100%; height:auto; min-height:0; position:relative; border-left:3px solid var(--ember); padding-left:13px; }
.hero .hero-photo > img { width:100%; height:clamp(260px,25vw,370px); position:static; object-fit:cover; object-position:50% 62%; }
.hero figcaption { display:flex; justify-content:space-between; gap:15px; font-size:7px; letter-spacing:1.2px; padding-top:12px; color:var(--muted); }
.hero .hero-bottom { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; width:100%; border-bottom:1px solid var(--ink); margin:30px 0 0; padding:16px 0; font-size:8px; letter-spacing:1.2px; }
.hero-bottom a span { margin-left:24px; color:var(--ember); }
.hero + .intro { margin-top:0; border-top:0; padding-top:55px; padding-bottom:60px; }
.hero + .intro h2 { font-size:clamp(29px,2.8vw,40px); }
@media(min-width:701px) and (max-width:1050px) {
 .hero { grid-template-columns:1fr 1.6fr; column-gap:30px; }
 .hero h1 { margin-top:30px; margin-bottom:25px; }
 .hero h1 em { bottom:26px; font-size:28px; }
 .hero .hero-photo > img { height:330px; }
 .hero figcaption { flex-direction:column; gap:3px; }
}
@media(max-width:700px) {
 .hero { display:grid; grid-template-columns:1fr; padding:22px 22px 0; gap:0; }
 .hero-folio { font-size:6px; letter-spacing:1px; }
 .hero-folio span:last-child { max-width:115px; text-align:right; }
 .hero h1 { font-size:18.8vw; margin:25px 0 25px; padding-bottom:42px; letter-spacing:-.035em; }
 .hero h1 em { right:2px; bottom:9px; font-size:24px; letter-spacing:-.8px; padding:0; transform:rotate(-4deg); }
 .hero .hero-copy { padding:0; display:grid; grid-template-columns:1.25fr 1fr; column-gap:20px; align-items:start; }
 .hero .hero-copy .eyebrow { grid-column:1/-1; font-size:7px; margin-bottom:12px; }
 .hero .hero-description { grid-column:1/-1; font-size:27px; margin-bottom:18px; }
 .hero-note { grid-column:1; font-size:10px; margin:0 0 23px; }
 .hero-link { grid-column:2; width:100%; margin:0 0 24px; padding:8px 0; gap:10px; font-size:10px; align-self:start; }
 .hero .hero-photo { padding-left:8px; border-left-width:2px; }
 .hero .hero-photo > img { height:245px; object-position:49% 65%; }
 .hero figcaption { font-size:6px; letter-spacing:.5px; gap:10px; padding-top:9px; }
 .hero .hero-bottom { margin-top:20px; padding:13px 0; font-size:6px; letter-spacing:.6px; gap:10px; }
 .hero-bottom a span { margin-left:10px; }
 .hero + .intro { padding-top:35px; padding-bottom:40px; }
}

/* The introductory copy carries the page heading after removing the masthead. */
.hero h1.hero-description {
  grid-column:auto; border:0; padding:0; width:auto;
  font:normal clamp(27px,2.6vw,39px)/1.2 Georgia,serif;
  letter-spacing:-1px; color:var(--ink); margin:0 0 15px;
}
.hero h1.hero-description em {
  display:inline; position:static; padding:0; margin:0; background:none;
  font:italic 1em/1.2 Georgia,serif; letter-spacing:inherit;
  color:var(--ember); transform:none;
}
@media(max-width:700px) {
  .hero h1.hero-description { grid-column:1/-1; font-size:27px; margin-bottom:18px; }
}

/* Functional states retain the existing visual language. */
[hidden] { display:none !important; }
nav a[aria-current="location"] { color:var(--ember); text-decoration:underline; text-underline-offset:5px; }
.journey-title { border:0; padding:0; background:none; color:inherit; font:inherit; text-align:left; }
.journey-title:hover { color:var(--ember); }
.field-error { color:var(--ember); font-size:11px; margin:-15px 0 18px; }
[aria-invalid="true"] { border-bottom-color:var(--ember); }
#prepared-email { align-self:flex-start; }

/* A precise, thin arrow on mobile filled CTAs; desktop keeps its original glyph. */
@media (max-width:700px) {
  .button { align-items:center; }
  .button > span {
    display:block; flex:0 0 18px; width:18px; height:18px;
    margin-left:auto; font-size:0; line-height:0;
    background: center / 18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E");
  }
}

/* Safari must not substitute an emoji for the mobile hero arrow. */
@media (max-width:700px) {
  .menu { color:var(--ink); -webkit-appearance:none; appearance:none; }
  .hero-link { align-items:center; }
  .hero-link > span {
    display:block; flex:0 0 18px; width:18px; height:18px;
    margin-left:auto; font-size:0; line-height:0;
    background:center / 18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E");
  }
}
