/* Te Ūkaipō: the WAI world becomes human. Existing type and motion families. */
.retreat-page,.retreat-registration{--retreat-paper:#faf9f2;--retreat-ink:#294a55;--retreat-muted:#526b70;color:var(--retreat-ink);background:var(--retreat-paper);overflow:clip}
.retreat-page :is(h1,h2,h3,p,figure),.retreat-registration :is(h1,h2,h3,p,figure){margin:0}
.retreat-page :is(h1,h2,h3),.retreat-registration :is(h1,h2,h3){font-family:Fraunces,serif;font-weight:400;text-wrap:balance}
.retreat-page h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.25}
.retreat-page h3{font-size:clamp(1.3rem,1.8vw,1.8rem);line-height:1.4}
.retreat-page p,.retreat-page li,.retreat-registration p{font-size:1rem;line-height:1.85}
.retreat-page p+p,.retreat-registration p+p{margin-top:1.2rem}
.retreat-page :focus-visible,.retreat-registration :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.retreat-shell{width:min(84%,77rem);margin:auto}
.retreat-reading{max-width:39rem;color:var(--retreat-muted)}
.retreat-photo{position:relative;overflow:hidden;min-width:0}
.retreat-photo img{display:block;width:100%;height:100%;object-fit:cover}
.retreat-photo[data-image-breath]{--photo-open:1;--photo-near:1.025;--photo-release:1050ms}
.retreat-photo[data-fresh-state=pending]{opacity:.72;transform:translateY(10px)}
.retreat-photo[data-fresh-state=shown]{opacity:1;transform:none;transition:opacity 700ms var(--fresh-quiet),transform 850ms var(--fresh-quiet)}
.retreat-photo[data-fresh-state=immediate]{opacity:1;transform:none;transition:none}
.retreat-photo:focus-within .breath-image,[data-breath-near=true].retreat-photo .breath-image{transition-duration:680ms}
.retreat-action,.retreat-text-link{display:inline-flex;justify-content:center;align-items:center;min-height:48px;max-width:100%;font:400 .94rem/1.5 'Work Sans',sans-serif;cursor:pointer;border-radius:0;text-decoration:none;text-align:center}
.retreat-action{background:#294a55;color:#fffdf7;border:1px solid #294a55;padding:.85rem 1.6rem;transition:background 180ms ease}
.retreat-action:is(:hover,:focus-visible){background:#365e66}
.retreat-text-link{background:transparent;color:inherit;border:0;border-bottom:1px solid #789299;padding:.65rem 0}
.retreat-arrival{position:relative;isolation:isolate;display:flex;align-items:center;min-height:47rem;height:100svh;color:#fffdf7;background:#425450}
.retreat-hero-photo{position:absolute;inset:0;z-index:-3}
.retreat-hero-photo .retreat-photo{height:100%;width:100%;transform:none!important;opacity:1!important}
.retreat-hero-photo img{object-position:60% 52%}
.retreat-arrival:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(15,39,44,.62),rgba(15,39,44,.26) 54%,transparent 85%),linear-gradient(180deg,rgba(13,35,42,.26),transparent 30%);pointer-events:none}
.retreat-arrival:after{content:'';position:absolute;inset:auto 0 0;height:23%;z-index:-1;background:linear-gradient(180deg,transparent,rgba(239,242,230,.24) 36%,rgba(249,249,241,.74) 78%,var(--retreat-paper));pointer-events:none}
.retreat-hero-copy{padding:8rem 8vw 9rem;width:100%;text-shadow:0 1px 10px #18363d55}
.retreat-hero-copy h1{font-size:clamp(3.4rem,7vw,7rem);line-height:1.12;letter-spacing:-.035em}
.retreat-hero-copy .retreat-subtitle{font:400 clamp(1.25rem,2vw,1.8rem)/1.5 Fraunces,serif;margin-top:1rem}
.retreat-hero-copy .retreat-hero-facts{margin-top:2.5rem;font-size:1rem}
.retreat-hero-copy .retreat-hero-facts+p{margin-top:.3rem;font-size:.92rem}
.retreat-hero-copy .retreat-hero-price{margin-top:.4rem;font-size:.92rem}
.retreat-hero-copy .retreat-hero-earth{font:400 1.2rem/1.5 Fraunces,serif;margin-top:2rem}
.retreat-hero-actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:1.8rem}
.retreat-hero-actions .retreat-action{background:#fcfaf3;color:#294a55;border-color:#fcfaf3;text-shadow:none}
.retreat-hero-actions .retreat-text-link{border-color:#d4dfd9;font-size:.86rem}
.on-retreat .site-header:not(.is-away):not(.nav-open){color:#fffdf7;background:transparent;text-shadow:0 1px 8px #17333e99}
.on-registration .site-header{color:#294a55;background:#faf9f2}
.retreat-opening{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;padding:7rem 0 9rem}
.retreat-intro .retreat-lead{font:400 clamp(1.6rem,2.4vw,2.5rem)/1.45 Fraunces,serif;text-wrap:pretty}
.retreat-intro .retreat-poetry{font:400 1.3rem/1.6 Fraunces,serif;margin-top:1.4rem}
.retreat-intro .retreat-reading{margin-top:2.5rem}
.retreat-opening>.retreat-photo{height:43rem}
.retreat-opening>.retreat-photo img{object-position:70% 50%}
.retreat-journey{padding:1rem 0 7rem;scroll-margin-top:6rem}
.retreat-journey>header{max-width:42rem;margin-bottom:3.5rem}
.retreat-journey>header p{margin-top:1.4rem;color:var(--retreat-muted)}
.retreat-day{border-top:1px solid #b9c8c3}
.retreat-day:last-child{border-bottom:1px solid #b9c8c3}
.retreat-day>summary{display:grid;grid-template-columns:1fr 33% 2rem;align-items:center;gap:3rem;padding:1.3rem 0;cursor:pointer;list-style:none}
.retreat-day>summary::-webkit-details-marker{display:none}
.retreat-day-name{display:flex;flex-direction:column;gap:.4rem}
.retreat-day-name small{font:400 .84rem/1.6 'Work Sans',sans-serif;color:var(--retreat-muted)}
.retreat-day-name>span[lang]{font:400 clamp(1.6rem,3vw,2.6rem)/1.35 Fraunces,serif}
.retreat-day-theme{font-size:.88rem;line-height:1.7}
.retreat-day>summary .retreat-photo{height:9rem}
.retreat-expand{font:300 1.8rem/1 'Work Sans',sans-serif;justify-self:end}
.retreat-day[open] .retreat-expand{rotate:45deg}
.retreat-day>summary:focus-visible .retreat-photo{--photo-scale:1.025}
.retreat-programme{max-width:50rem;margin:1.5rem auto 3rem;padding:0 1rem}
.retreat-programme .retreat-source-line{white-space:pre-line}
.retreat-programme>p:first-child{font:400 1.3rem/1.6 Fraunces,serif}
.retreat-page ul{padding-left:1.25rem;margin:1.2rem 0 2rem;columns:2;column-gap:3rem}
.retreat-page li{break-inside:avoid;margin-bottom:.5rem;padding-left:.25rem}
.retreat-programme h3{margin:3rem 0 1.5rem}
.retreat-experience{display:grid;grid-template-columns:1fr 42%;align-items:center;gap:10%;padding:4rem 0 8rem}
.retreat-experience .retreat-reading{margin-top:2rem}
.retreat-experience>.retreat-photo{height:37rem}
.retreat-experience .retreat-more{max-width:38rem}
.retreat-more{margin-top:1.6rem;font-size:.94rem;line-height:1.8}
.retreat-more summary{display:list-item;cursor:pointer;padding:.7rem 0;min-height:44px;color:#365e66;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.retreat-more summary~:first-of-type{margin-top:1rem}
.retreat-island{background:linear-gradient(180deg,#faf9f2,#edf3ee 20%,#f4f5ed 82%,#faf9f2);padding:2rem 0 5rem}
.retreat-island-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:3rem}
.retreat-island-intro h2{max-width:17ch}
.retreat-island>.retreat-photo{width:93%;height:70svh;min-height:32rem;margin-left:auto}
.retreat-island-caption{display:flex;justify-content:space-between;gap:5rem;padding-top:2rem}
.retreat-island-caption p{font-size:.91rem;color:var(--retreat-muted);max-width:42ch}
.retreat-island-caption p+p{margin-top:0}
.retreat-hosts{padding:5rem 0 7rem}
.retreat-hosts>header{margin-bottom:3rem}
.retreat-host-layout{display:grid;grid-template-columns:38% 1fr;gap:10%;align-items:start}
.retreat-host-layout>.retreat-photo{height:40rem}
.retreat-host-layout>.retreat-photo img{object-position:50% 42%}
.retreat-bios article+article{margin-top:3rem}
.retreat-bios h3{margin-bottom:1.2rem}
.retreat-bios>p{margin-top:3rem}
.retreat-practical{padding:2rem 0 6rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem 9%}
.retreat-practical h2{font-size:clamp(1.8rem,2.3vw,2.5rem);margin-bottom:1.8rem}
.retreat-included{grid-column:1/-1;border-top:1px solid #c3cdc2;padding-top:4rem;max-width:62rem}
.retreat-included .retreat-price{font:400 1.6rem/1.5 Fraunces,serif}
.retreat-status{color:var(--retreat-muted);font-size:.9rem!important;margin:2rem 0 1.3rem!important}
.retreat-rhythm{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:2rem 0 7rem}
.retreat-rhythm h2{margin-bottom:1.7rem}
.retreat-rhythm-times p{white-space:pre-line;padding:0 0 1.5rem;border-bottom:1px solid #c8d0c5}
.retreat-closing{padding:6rem 8vw 7rem;text-align:center;background:linear-gradient(180deg,#faf9f2,rgba(236,230,209,.35) 45%,rgba(221,235,231,.4) 78%,#faf9f2)}
.retreat-closing .retreat-closing-earth{font:400 clamp(1.5rem,2.8vw,2.7rem)/1.4 Fraunces,serif;max-width:28ch;margin:0 auto 3rem}
.retreat-closing h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:2rem}
.retreat-closing .retreat-places{margin-top:2.3rem}
.retreat-closing .retreat-action{margin:1.5rem 0}
/* The front desk is a quiet, ordinary form. It does not collect or persist data. */
.retreat-form-shell{width:min(88%,78rem);margin:auto;padding:9rem 0 6rem;min-height:100svh}
.retreat-registration-layout{display:grid;grid-template-columns:30% 1fr;gap:9%;margin-top:3rem;align-items:start}
.retreat-registration aside{position:sticky;top:7rem;max-width:25rem}
.retreat-registration .retreat-form-name{font:400 2rem/1.4 Fraunces,serif;margin-bottom:1rem}
.retreat-form-facts{margin-top:2rem!important;max-width:25ch}
.retreat-registration .retreat-review-note{border-left:2px solid #a2b6b5;padding-left:1rem;margin-top:2rem;font-size:.92rem;line-height:1.75}
.retreat-steps{display:flex;justify-content:space-between;gap:1.5rem;list-style:none;padding:0;margin:0 0 2rem;border-bottom:1px solid #bdcbc5}
.retreat-steps li{font-size:.8rem;line-height:1.5;padding:0 0 .8rem;color:#5a7379;flex:1}
.retreat-steps li[aria-current]{color:#294a55;border-bottom:2px solid #294a55}
.retreat-desk h1{font-size:clamp(2rem,3vw,3rem);line-height:1.3;margin-bottom:1.5rem}
.retreat-registration fieldset{border:0;padding:0;margin:2rem 0 0;min-width:0}
.retreat-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.retreat-field{min-width:0}
.retreat-field-wide{grid-column:1/-1}
.retreat-field label{display:block;font-size:.92rem;line-height:1.5;margin-bottom:.5rem}
.retreat-field :is(input,textarea){width:100%;min-width:0;border:1px solid #9bb0b0;border-radius:0;background:#fffefa;color:#294a55;font:400 1rem/1.5 'Work Sans',sans-serif;padding:.8rem;min-height:48px}
.retreat-field textarea{resize:vertical}
.retreat-registration .retreat-field-help{font-size:.82rem;line-height:1.7;color:#526b70;margin-top:.6rem}
.retreat-field .retreat-error{margin-top:.45rem;color:#933d2d;font-size:.86rem;line-height:1.6}
.retreat-field [aria-invalid=true]{border-color:#933d2d}
#retreat-errors{color:#933d2d;border-left:2px solid;padding:1rem;margin-bottom:1.5rem}
.retreat-registration form .retreat-action{margin-top:2rem}
.retreat-form-actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin:2rem 0}
:is(#retreat-review-details,#retreat-complete-details){margin:2rem 0}
:is(#retreat-review-details,#retreat-complete-details) div{display:grid;grid-template-columns:35% 1fr;gap:1rem;border-bottom:1px solid #c8d3cc;padding:1rem 0;font-size:.94rem;line-height:1.7}
:is(#retreat-review-details,#retreat-complete-details) dt{color:#526b70}
:is(#retreat-review-details,#retreat-complete-details) dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.retreat-complete-message{font:400 1.4rem/1.65 Fraunces,serif!important}
@media(max-width:1000px){.retreat-shell{width:88%}.retreat-opening{gap:6%;grid-template-columns:1fr 1fr}.retreat-opening>.retreat-photo{height:39rem}.retreat-host-layout{gap:6%;grid-template-columns:40% 1fr}.retreat-registration-layout{grid-template-columns:30% 1fr;gap:6%}.retreat-input-grid{grid-template-columns:1fr}.retreat-field-wide{grid-column:auto}.retreat-steps{gap:1rem}}
@media(max-width:650px){
 .retreat-arrival{height:100svh;min-height:45rem;align-items:center}
 .retreat-hero-copy{padding:8rem 7vw 9rem}
 .retreat-hero-copy h1{font-size:clamp(2.6rem,10vw,4rem)}
 .retreat-hero-copy .retreat-subtitle{font-size:1.2rem;max-width:24ch}
 .retreat-hero-copy .retreat-hero-facts{margin-top:1.8rem}
 .retreat-hero-copy .retreat-hero-earth{font-size:1.1rem;max-width:25ch}
 .retreat-hero-actions{gap:.6rem;display:flex;align-items:flex-start;flex-direction:column;margin-top:1.4rem}
 .retreat-hero-actions .retreat-text-link{font-size:.82rem;max-width:28ch}
 .retreat-hero-photo img{object-position:59% 50%}
 .retreat-arrival:before{background:linear-gradient(90deg,rgba(13,36,42,.65),rgba(13,36,42,.25)),linear-gradient(180deg,rgba(13,36,42,.23),transparent 50%)}
 .retreat-shell{width:86%}
 .retreat-opening{display:flex;flex-direction:column;padding:4rem 0 5rem;gap:3rem}
 .retreat-opening>.retreat-photo{height:115vw;width:100%}
 .retreat-intro .retreat-lead{font-size:1.7rem}
 .retreat-page p,.retreat-page li{font-size:.98rem;line-height:1.8}
 .retreat-journey{padding-bottom:4rem}
 .retreat-journey>header{margin-bottom:2rem}
 .retreat-day>summary{grid-template-columns:1fr 28% 1rem;gap:.8rem;padding:1.2rem 0}
 .retreat-day-name>span[lang]{font-size:1.45rem}
 .retreat-day-theme{font-size:.8rem;line-height:1.6}
 .retreat-day-name small{font-size:.78rem}
 .retreat-day>summary .retreat-photo{height:8rem}
 .retreat-programme{padding:0;margin-top:1rem}
 .retreat-page ul{columns:1}
 .retreat-experience{display:flex;flex-direction:column;gap:3rem;padding:1rem 0 4rem}
 .retreat-experience>.retreat-photo{height:105vw;width:100%}
 .retreat-island{padding:1rem 0 3rem}
 .retreat-island-intro{display:block;padding-bottom:2rem}
 .retreat-island-intro h2{margin-bottom:2rem}
 .retreat-island>.retreat-photo{width:100%;height:66svh;min-height:27rem}
 .retreat-island-caption{display:block}
 .retreat-island-caption p+p{margin-top:1rem}
 .retreat-hosts{padding:3rem 0 4rem}
 .retreat-host-layout{display:block}
 .retreat-host-layout>.retreat-photo{height:113vw;width:90%;margin-bottom:3rem}
 .retreat-practical{display:block;padding:1rem 0 4rem}
 .retreat-home{margin-top:3rem}
 .retreat-included{margin-top:3rem;padding-top:3rem}
 .retreat-rhythm{display:block;padding:0 0 4rem}
 .retreat-rhythm-times{margin-top:2rem}
 .retreat-closing{padding:3rem 7vw 5rem}
 .retreat-form-shell{padding-top:7rem;width:86%}
 .retreat-registration-layout{display:block;margin-top:2rem}
 .retreat-registration aside{position:static;max-width:none;margin-bottom:3rem}
 .retreat-registration .retreat-form-facts{max-width:none}
 .retreat-steps{gap:.7rem}
 .retreat-steps li{font-size:.78rem}
 .retreat-desk h1{font-size:2rem}
 :is(#retreat-review-details,#retreat-complete-details) div{grid-template-columns:1fr;gap:.3rem}
 .retreat-form-actions{align-items:stretch;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.retreat-page .retreat-photo,.retreat-page .retreat-photo img{opacity:1!important;transform:none!important;scale:1!important;transition:none!important}.retreat-page .retreat-action{transition:none}}
html[data-motion=reduce] .retreat-page .retreat-photo,html[data-motion=reduce] .retreat-page .retreat-photo img{opacity:1!important;transform:none!important;scale:1!important;transition:none!important}

/* Review corrections: clearer treatment hierarchy and safe focus arrival. */
.retreat-experience .retreat-reading h3{font-size:1.12rem;line-height:1.5;margin:1.8rem 0 .65rem}
.retreat-experience .retreat-reading h3:first-child{margin-top:0}
.retreat-page [id],.retreat-registration [tabindex="-1"]{scroll-margin-top:6rem}
.retreat-desk h2{font-size:clamp(1.65rem,2.5vw,2.3rem);line-height:1.35;margin:1.8rem 0 1.3rem}
