/* core-20261008.css */
:root{--cream:#fbf7ef;--paper:#fffdf9;--sand:#f1e8d8;--sand-deep:#e3d5bc;--sage:#a9b89a;--sage-soft:#e4eadc;--olive:#3e5a3f;--olive-dark:#24392c;--terracotta:#b4532f;--terracotta-dark:#933f21;--terracotta-soft:#f6e3d8;--charcoal:#1e2621;--text:#3a403b;--muted:#5f665f;--line:#e6dccb;--white:#ffffff;--marigold:#e0a23a;--moss:#6e8b5a;--forest:#1f3226;--serif:"Playfair Display",Georgia,"Times New Roman",serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--radius-s:10px;--radius:18px;--radius-l:28px;--shadow:0 1px 2px rgba(42,46,41,.05),0 8px 24px rgba(42,46,41,.07);--gutter:20px;--max:1180px;--narrow:760px;--header-h:68px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none !important;transition:none !important}}body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--cream);overflow-x:hidden}img,picture,svg{display:block;max-width:100%}img{height:auto}a{color:var(--olive-dark);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--terracotta-dark)}:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{font-family:var(--serif);color:var(--charcoal);font-weight:500;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2.2rem,7vw,4rem)}h2{font-size:clamp(1.75rem,4.8vw,2.7rem)}h3{font-size:clamp(1.25rem,3vw,1.5rem)}h4{font-size:1.1rem}p{margin:0 0 1em}ul,ol{padding-left:1.2em}small,.small{font-size:.875rem}.muted{color:var(--muted)}.lead{font-size:clamp(1.1rem,2.4vw,1.3rem);line-height:1.6;color:var(--text)}.eyebrow{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);font-weight:600;margin-bottom:.8em;display:block}.script{font-family:var(--serif);font-style:italic}.skip-link{position:absolute;left:-999px;top:8px;background:var(--charcoal);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}.skip-link:focus{left:8px}.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.narrow{max-width:var(--narrow)}.section{padding:56px 0}.section-sm{padding:36px 0}.bg-paper{background:var(--paper)}.bg-sand{background:var(--sand)}.bg-sage{background:var(--sage-soft)}.bg-olive{background:var(--olive-dark);color:#f3efe4}.bg-olive h2,.bg-olive h3{color:#fffaf0}.center{text-align:center}.section-head{max-width:720px;margin-bottom:28px}.section-head.center{margin-left:auto;margin-right:auto}.section-head p{color:var(--muted)}@media (min-width:760px){:root{--gutter:32px;--header-h:78px}.section{padding:88px 0}.section-sm{padding:52px 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.75em 1.35em;border-radius:999px;font:600 .98rem/1.2 var(--sans);text-decoration:none;letter-spacing:.01em;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}.btn svg{width:18px;height:18px;flex:none}.btn-primary{background:var(--terracotta);color:#fff}.btn-primary:hover{background:var(--terracotta-dark);color:#fff}.btn-olive{background:var(--olive);color:#fff}.btn-olive:hover{background:var(--olive-dark);color:#fff}.btn-ghost{background:rgba(255,253,248,.92);color:var(--charcoal);border-color:rgba(255,255,255,.6)}.btn-ghost:hover{background:#fff;color:var(--terracotta-dark)}.btn-outline{background:transparent;color:var(--olive-dark);border-color:var(--olive)}.btn-outline:hover{background:var(--olive);color:#fff}.btn-light{background:#fffaf0;color:var(--olive-dark)}.btn-light:hover{background:#fff;color:var(--terracotta-dark)}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.text-link{font-weight:600;text-decoration:none;color:var(--terracotta-dark);display:inline-flex;gap:.4em;align-items:center}.text-link svg{width:16px;height:16px;transition:transform .2s}.text-link:hover svg{transform:translateX(3px)}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,247,239,.96);border-bottom:1px solid rgba(228,218,200,.7)}.site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-h)}.brand{display:flex;align-items:center;flex:none}.brand img{height:40px;width:auto}@media (min-width:760px){.brand img{height:48px}}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--charcoal);cursor:pointer}.nav-toggle svg{width:22px;height:22px}.nav-toggle .icon-close{display:none}.nav-open .nav-toggle .icon-close{display:block}.nav-open .nav-toggle .icon-menu{display:none}.header-cta{display:none}.site-nav ul{list-style:none;margin:0;padding:0}.site-nav a{text-decoration:none;color:var(--charcoal);font-weight:500}.site-nav a[aria-current="page"],.site-nav a.is-section{color:var(--terracotta-dark)}.js .site-nav{display:none}.site-nav{padding:8px 0 20px}.site-nav li a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);font-size:1.1rem;font-family:var(--serif)}.site-nav .nav-cta{margin-top:18px}.nav-open .site-nav{display:block;position:fixed;inset:var(--header-h) 0 0 0;height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));background:var(--cream);padding:12px var(--gutter) 40px;overflow-y:auto;z-index:49}.nav-open{overflow:hidden}@media (min-width:1080px){.nav-toggle{display:none}.js .site-nav,.site-nav{display:block;padding:0;position:static;background:none}.site-nav ul{display:flex;gap:26px;align-items:center}.site-nav li a{padding:6px 0;border:0;font-family:var(--sans);font-size:.95rem;position:relative}.site-nav li a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--terracotta);transform:scaleX(0);transition:transform .25s;transform-origin:left}.site-nav li a:hover::after,.site-nav li a[aria-current="page"]::after,.site-nav li a.is-section::after{transform:scaleX(1)}.site-nav .nav-cta{display:none}.header-cta{display:inline-flex;min-height:42px;padding:.6em 1.1em;font-size:.9rem}}.hero{position:relative;color:#fff;overflow:hidden;background:var(--olive-dark)}.hero-media,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,28,20,.38) 0%,rgba(24,28,20,.06) 16%,rgba(24,28,20,.14) 40%,rgba(24,28,20,.74) 100%);pointer-events:none}.hero-content{position:relative;z-index:2;min-height:min(86svh,760px);display:flex;flex-direction:column;justify-content:flex-end;padding-top:120px;padding-bottom:40px}.hero h1{color:#fff;margin-bottom:.3em;text-shadow:0 2px 24px rgba(0,0,0,.25);max-width:12em}.hero .lead{color:rgba(255,255,255,.94);max-width:36ch}.hero .btn-row{margin-top:10px}.hero-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;padding:0;list-style:none;font-size:.9rem;color:rgba(255,255,255,.92)}.hero-facts li{display:flex;align-items:center;gap:7px}.hero-facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage)}.hero-sub .hero-content{min-height:min(62svh,560px)}.hero-sub h1{max-width:18ch}.hero-sub .lead{max-width:44ch}@media (min-width:760px){.hero-content{padding-bottom:72px}}.page-head{padding:44px 0 20px}.page-head h1{max-width:20ch}@media (min-width:760px){.page-head{padding:72px 0 28px}}.breadcrumbs{font-size:.85rem;color:var(--muted);padding-top:18px}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:6px;color:var(--sand-deep)}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--terracotta-dark)}.hero .breadcrumbs{position:absolute;top:0;left:0;right:0;z-index:3}.hero .breadcrumbs,.hero .breadcrumbs a{color:rgba(255,255,255,.9)}.subnav{border-bottom:1px solid var(--line);background:var(--paper)}.subnav ul{list-style:none;margin:0;padding:12px 0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.subnav ul::-webkit-scrollbar{display:none}.subnav a{display:block;white-space:nowrap;text-decoration:none;padding:8px 14px;border-radius:999px;font-size:.9rem;color:var(--text);border:1px solid var(--line);background:var(--cream)}.subnav a:hover{border-color:var(--sage)}.subnav a[aria-current="page"]{background:var(--olive);color:#fff;border-color:var(--olive)}.booking-search{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:grid;gap:12px;grid-template-columns:1fr 1fr;color:var(--text);border:1px solid var(--line)}.booking-search .field{display:flex;flex-direction:column;gap:4px;min-width:0}.booking-search .field-guests{grid-column:1 / -1}.booking-search label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.booking-search input,.booking-search select{width:100%;min-width:0;font:500 1rem var(--sans);color:var(--charcoal);background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:48px;appearance:none;-webkit-appearance:none}.booking-search .btn{grid-column:1 / -1}.booking-search .note{grid-column:1 / -1;margin:0;font-size:.82rem;color:var(--muted);text-align:center}@media (min-width:900px){.booking-search{grid-template-columns:1fr 1fr .8fr auto;align-items:end;padding:16px 16px 16px 22px}.booking-search .field-guests{grid-column:auto}.booking-search .btn{grid-column:auto;min-height:50px}}.booking-float{position:relative;z-index:5;margin-top:-34px}.grid{display:grid;gap:18px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}@media (min-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid{gap:24px}}.grid-2-mobile{grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:960px){.grid-2-mobile.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2-mobile.grid-3{grid-template-columns:repeat(3,1fr)}}.card{background:var(--paper);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}.card-media{aspect-ratio:4 / 3;overflow:hidden;background:var(--sand)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.card:hover .card-media img{transform:scale(1.03)}.card-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}.card-body h3{margin-bottom:2px}.card-body p{margin:0;color:var(--muted);font-size:.96rem}.card-body .btn,.card-body .text-link{margin-top:auto;padding-top:10px;align-self:flex-start}.card-body .btn{padding-top:.75em}.card-plain{background:var(--paper);border-radius:var(--radius);border:1px solid var(--line);padding:22px}.card-plain h3{font-size:1.25rem}.card-plain p:last-child{margin-bottom:0}.tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--olive);background:var(--sage-soft);border-radius:999px;padding:4px 10px}.facts{list-style:none;padding:0;margin:8px 0 4px;display:grid;gap:6px;font-size:.92rem;color:var(--text)}.facts li{display:flex;align-items:center;gap:9px}.facts svg{width:18px;height:18px;color:var(--olive);flex:none}.split{display:grid;gap:28px;align-items:center}.split-media{border-radius:var(--radius-l);overflow:hidden;background:var(--sand)}.split-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3}.split-media.tall img{aspect-ratio:4 / 5}@media (min-width:900px){.split{grid-template-columns:1.05fr 1fr;gap:64px}.split.reverse .split-media{order:2}.split.media-small{grid-template-columns:.9fr 1.1fr}}.photo-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:end}.photo-pair>*{border-radius:var(--radius);overflow:hidden}.photo-pair img{width:100%;object-fit:cover;aspect-ratio:3 / 4}.photo-pair>:last-child img{aspect-ratio:4 / 5}.icon-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;list-style:none;padding:0;margin:0;text-align:center}.icon-row li{display:flex;flex-direction:column;align-items:center;gap:8px}.icon-row .icon-circle{width:58px;height:58px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;color:var(--olive-dark)}.icon-row .icon-circle svg{width:30px;height:30px}.icon-row strong{font-family:var(--serif);font-weight:500;font-size:.98rem;color:var(--charcoal)}.icon-row span.d{font-size:.78rem;line-height:1.35;color:var(--muted);display:none}@media (min-width:640px){.icon-row span.d{display:block}.icon-row .icon-circle{width:76px;height:76px}.icon-row .icon-circle svg{width:38px;height:38px}.icon-row{gap:18px}}.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:18px}.feature-list li{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}.feature-list .fi{width:48px;height:48px;border-radius:14px;background:var(--sage-soft);color:var(--olive-dark);display:grid;place-items:center}.feature-list .fi svg{width:26px;height:26px}.feature-list h3{font-size:1.15rem;margin:2px 0 4px}.feature-list p{margin:0;color:var(--muted);font-size:.97rem}@media (min-width:900px){.feature-list.two{grid-template-columns:1fr 1fr;gap:26px 40px}}.collage{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.collage figure{margin:0;border-radius:var(--radius-s);overflow:hidden;background:var(--sand);position:relative}.collage img{width:100%;height:100%;object-fit:cover;aspect-ratio:1 / 1}.collage .wide{grid-column:span 2}.collage .wide img{aspect-ratio:2 / 1}.collage figcaption{position:absolute;left:8px;bottom:8px;background:rgba(255,253,248,.92);color:var(--charcoal);font-size:.75rem;padding:3px 9px;border-radius:999px}@media (min-width:760px){.collage{grid-template-columns:repeat(4,1fr);gap:14px}.collage .tall{grid-row:span 2}.collage .tall img{aspect-ratio:auto;height:100%}}.timeline{list-style:none;padding:0;margin:0;position:relative}.timeline::before{content:"";position:absolute;left:70px;top:10px;bottom:10px;width:2px;background:var(--sand-deep)}.timeline li{display:grid;grid-template-columns:58px 1fr;gap:26px;padding:12px 0;position:relative}.timeline li::before{content:"";position:absolute;left:65px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--olive);box-shadow:0 0 0 4px var(--cream)}.bg-paper .timeline li::before{box-shadow:0 0 0 4px var(--paper)}.timeline time{font-weight:600;color:var(--olive-dark);font-variant-numeric:tabular-nums;padding-top:6px}.timeline h3{font-size:1.15rem;margin:3px 0 2px}.timeline p{margin:0;color:var(--muted);font-size:.95rem}.timeline.compact li{padding:7px 0}.timeline.compact h3{font-family:var(--sans);font-size:1rem;font-weight:600}.stay-lengths{display:grid;gap:14px;grid-template-columns:1fr}@media (min-width:700px){.stay-lengths{grid-template-columns:repeat(3,1fr)}}.stay-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:left}.stay-card .nights{font-family:var(--serif);font-size:1.7rem;color:var(--charcoal);line-height:1.1}.stay-card .name{display:block;font-weight:600;color:var(--terracotta-dark);margin:4px 0 8px}.stay-card p{margin:0;color:var(--muted);font-size:.95rem}.stay-card svg{width:30px;height:30px;color:var(--olive);margin-bottom:10px}.fit{display:grid;gap:18px}@media (min-width:860px){.fit{grid-template-columns:1fr 1fr;gap:26px}}.fit-panel{border-radius:var(--radius-l);padding:28px 24px;position:relative;overflow:hidden}.fit-panel.home{background:#e9eee0}.fit-panel.else{background:#f8eadf}.fit-panel h3{font-size:1.5rem;margin-bottom:14px}.fit-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:12px;position:relative;z-index:1}.fit-panel li{padding-left:24px;position:relative}.fit-panel li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.fit-panel.home li::before{background:var(--olive)}.fit-panel.else li::before{background:var(--terracotta);opacity:.75}.fit-panel .sprig{position:absolute;right:-10px;bottom:-14px;width:120px;height:120px;opacity:.16;color:var(--olive-dark)}.fit-panel.else .sprig{color:var(--terracotta-dark)}.glance{width:100%;border-collapse:collapse;background:var(--paper);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);font-size:.96rem}.glance th,.glance td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}.glance tr:last-child th,.glance tr:last-child td{border-bottom:0}.glance th{width:38%;font-weight:600;color:var(--charcoal);background:#fbf7ef}@media (max-width:480px){.glance:not(.rooms) th,.glance:not(.rooms) td{display:block;width:100%}.glance:not(.rooms) th{border-bottom:0;padding-bottom:2px;background:transparent;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--olive)}.glance:not(.rooms) td{padding-top:0}}.faq{display:grid;gap:10px}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:14px}.faq summary{cursor:pointer;list-style:none;padding:16px 52px 16px 18px;font-weight:600;color:var(--charcoal);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--olive);border-bottom:2px solid var(--olive);transform:rotate(45deg);transition:transform .2s}.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}.faq .answer{padding:0 18px 18px;color:var(--text)}.faq .answer p:last-child{margin-bottom:0}.quote{margin:0;background:var(--paper);border-radius:var(--radius-l);padding:30px 26px;border:1px solid var(--line);position:relative}.quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.15rem,2.6vw,1.45rem);line-height:1.5;color:var(--charcoal);font-style:italic}.quote figcaption{margin-top:14px;font-weight:600;color:var(--olive-dark)}.quote .mark{font-family:var(--serif);font-size:4rem;line-height:.6;color:var(--sage);display:block;height:28px}.placeholder{border:1.5px dashed var(--sand-deep);border-radius:var(--radius);padding:22px;background:repeating-linear-gradient(135deg,rgba(234,220,198,.25) 0 12px,transparent 12px 24px);color:var(--muted);font-size:.92rem}.placeholder strong{color:var(--charcoal)}.cta-band{position:relative;overflow:hidden;color:#fff}.cta-band .hero-content{min-height:440px;justify-content:center}.cta-band h2{color:#fff;max-width:16ch}.cta-band p{color:rgba(255,255,255,.92);max-width:44ch}.note-box{display:flex;gap:14px;align-items:flex-start;background:var(--sage-soft);border-radius:var(--radius);padding:18px 20px}.note-box svg{width:24px;height:24px;color:var(--olive-dark);flex:none;margin-top:2px}.note-box p{margin:0}.note-box.warm{background:var(--terracotta-soft)}.note-box.warm svg{color:var(--terracotta-dark)}.gallery{display:grid;grid-auto-flow:column;grid-auto-columns:85%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}.gallery figure{margin:0;scroll-snap-align:start;border-radius:var(--radius);overflow:hidden;background:var(--sand)}.gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover}@media (min-width:760px){.gallery{grid-auto-columns:calc((100% - 24px) / 3)}}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filters button{font:500 .9rem var(--sans);padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--text);cursor:pointer;min-height:40px}.filters button[aria-pressed="true"]{background:var(--olive);color:#fff;border-color:var(--olive)}.no-js .filters{display:none}.person{text-align:left}.person .card-media{aspect-ratio:4 / 5}.person .role{font-size:.85rem;color:var(--terracotta-dark);font-weight:600}.form{display:grid;gap:14px;background:var(--paper);padding:22px;border-radius:var(--radius);border:1px solid var(--line)}.form .row{display:grid;gap:14px}@media (min-width:640px){.form .row{grid-template-columns:1fr 1fr}}.form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:5px;color:var(--charcoal)}.form input,.form select,.form textarea{width:100%;font:1rem var(--sans);padding:12px 13px;border-radius:12px;border:1px solid var(--line);background:var(--cream);color:var(--charcoal);min-height:48px}.form textarea{min-height:140px;resize:vertical}.form .hint{font-size:.82rem;color:var(--muted);margin-top:4px}.form .hp{position:absolute;left:-5000px}fieldset{border:0;padding:0;margin:0}legend{font-weight:600;margin-bottom:8px;color:var(--charcoal)}.checks label{font-weight:400;display:flex;gap:8px;align-items:center;margin-bottom:6px}.checks input{width:auto;min-height:0}.sirvoy-region{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:22px;min-height:280px}.sirvoy-pending{text-align:center;padding:30px 10px}.sirvoy-pending>svg{width:42px;height:42px;margin:0 auto 12px;color:var(--olive)}.stay-summary{display:flex;flex-wrap:wrap;gap:10px 22px;font-weight:600;color:var(--charcoal);margin:0 0 16px;padding:0;list-style:none}.stay-summary li{display:flex;align-items:center;gap:8px}.stay-summary svg{width:18px;height:18px;color:var(--olive)}.article{max-width:720px;margin:0 auto}.article h2{font-size:clamp(1.45rem,3.4vw,1.9rem);margin-top:1.6em}.article .byline{color:var(--muted);font-size:.9rem;margin-bottom:24px}.article figure{margin:26px 0;border-radius:var(--radius);overflow:hidden}.prose p,.prose li{max-width:68ch}.prose h2{margin-top:1.4em}.prose h3{margin-top:1.2em}.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ig-grid a{display:block;border-radius:var(--radius-s);overflow:hidden}.ig-grid img{aspect-ratio:1;object-fit:cover;width:100%;transition:opacity .2s}.ig-grid a:hover img{opacity:.85}@media (min-width:760px){.ig-grid{grid-template-columns:repeat(6,1fr);gap:12px}}.badges{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.badges img{width:86px;height:86px;object-fit:contain}.site-footer{background:var(--forest);color:#e7e2d4;padding:56px 0 28px;font-size:.95rem}.site-footer a{color:#f3eee1;text-decoration:none}.site-footer a:hover{color:#f0c9b5;text-decoration:underline}.footer-grid{display:grid;gap:30px;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}.footer-brand img{height:52px;width:auto;margin-bottom:14px}.footer-brand p{max-width:38ch;color:#cfd0bf}.site-footer h2{font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#b9c29f;margin-bottom:12px;font-weight:600}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-contact{grid-column:1 / -1}.footer-contact address{font-style:normal;color:#cfd0bf}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;color:#aeb09e;font-size:.85rem}@media (min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr}.footer-brand,.footer-contact{grid-column:auto}}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(251,247,239,.96);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s}.mobile-bar.show{transform:none}@media (min-width:1080px){.mobile-bar{display:none}}.divider-leaf{display:flex;justify-content:center;color:var(--sage);margin:0 auto 18px}.divider-leaf svg{width:40px;height:40px}.two-col-text{display:grid;gap:10px 48px}@media (min-width:900px){.two-col-text{grid-template-columns:1fr 1fr}}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.check-list li{padding-left:26px;position:relative}.check-list li::before{content:"";position:absolute;left:4px;top:.6em;width:9px;height:9px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--sage)}.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:760px){.stat-row{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat strong{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--charcoal)}.stat span{font-size:.85rem;color:var(--muted)}.map-schematic{border-radius:var(--radius-l);overflow:hidden;background:#eef0e2;border:1px solid var(--line)}.room-hero-grid{display:grid;gap:10px}.room-hero-grid figure{margin:0;border-radius:var(--radius);overflow:hidden}.room-hero-grid img{width:100%;object-fit:cover;aspect-ratio:4 / 3}@media (min-width:760px){.room-hero-grid{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.room-hero-grid figure:first-child{grid-row:span 2}.room-hero-grid figure:first-child img{aspect-ratio:auto;height:100%}}.fade-in{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}.fade-in.in{opacity:1;transform:none}.no-js .fade-in{opacity:1;transform:none}.mt-0{margin-top:0}.mt-1{margin-top:12px}.mt-2{margin-top:24px}.mt-3{margin-top:40px}.mb-0{margin-bottom:0}.mb-2{margin-bottom:24px}.todo{display:none}.nowrap{white-space:nowrap}a.card-media{display:block}.card-media picture,.split-media picture,.collage picture,.gallery picture,.photo-pair picture,.room-hero-grid picture,.ig-grid picture{width:100%;height:100%}.split-media picture img,.photo-pair picture img{height:100%}.glance.rooms th{width:auto}.glance.rooms thead th{background:var(--sage-soft);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--olive-dark)}.hero .eyebrow{text-shadow:0 1px 12px rgba(0,0,0,.55)}.hero .lead,.hero-facts{text-shadow:0 1px 14px rgba(0,0,0,.4)}.eyebrow::before{content:"";display:inline-block;width:18px;height:2px;background:var(--marigold);vertical-align:middle;margin-right:10px;border-radius:2px}.center .eyebrow::before,.eyebrow.no-line::before{display:none}.hero .eyebrow::before{background:var(--marigold)}.btn-primary{box-shadow:0 6px 18px rgba(180,83,47,.25)}.btn-primary:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.play-link{display:inline-flex;align-items:center;gap:12px;color:#fff;font-weight:600;text-decoration:none;margin-top:18px;background:none;border:0;cursor:pointer;font:600 .98rem var(--sans);padding:0}.play-link .pl{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.7);backdrop-filter:blur(4px);transition:background .2s}.play-link .pl svg{width:18px;height:18px;margin-left:3px}.play-link:hover .pl{background:rgba(255,255,255,.32)}.play-link:hover{color:#fff}.trust{background:var(--paper);border-bottom:1px solid var(--line)}.trust ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px}.trust li{display:flex;align-items:center;gap:10px;font-size:.88rem;line-height:1.35;color:var(--text)}.trust li svg,.trust li img{width:34px;height:34px;flex:none;color:var(--olive)}.trust li strong{display:block;color:var(--charcoal);font-weight:600}.trust a{color:inherit;text-decoration:none}.trust a:hover strong{color:var(--terracotta-dark)}@media (min-width:900px){.trust ul{grid-template-columns:repeat(4,1fr);padding:22px 0}}.booking-float + .trust{margin-top:28px}.reels{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}@media (min-width:760px){.reels{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}.reel{margin:0;scroll-snap-align:start}.reel-frame{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:9 / 16;background:var(--forest);box-shadow:var(--shadow)}.reel-frame video,.reel-frame img{width:100%;height:100%;object-fit:cover;display:block}.reel-play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55));border:0;cursor:pointer;color:#fff}.reel-play .pl{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.85);backdrop-filter:blur(4px)}.reel-play .pl svg{width:24px;height:24px;margin-left:4px}.reel-play .cap{position:absolute;left:16px;right:16px;bottom:14px;text-align:left;font:600 .95rem/1.3 var(--sans)}.reel.playing .reel-play{display:none}.reel figcaption{font-size:.9rem;color:var(--muted);margin-top:10px}.reel figcaption strong{color:var(--charcoal);display:block;font-family:var(--serif);font-weight:500;font-size:1.08rem}.lightbox{position:fixed;inset:0;z-index:90;background:rgba(15,20,16,.92);display:none;align-items:center;justify-content:center;padding:56px 16px 24px}.lightbox.open{display:flex}.lightbox img,.lightbox video{max-width:min(1100px,100%);max-height:82vh;width:auto;height:auto;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.4)}.lightbox video{max-height:86vh}.lightbox .lb-close,.lightbox .lb-prev,.lightbox .lb-next{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:50%;width:46px;height:46px;display:grid;place-items:center;cursor:pointer}.lightbox .lb-close{top:14px;right:14px}.lightbox .lb-prev{left:12px;top:50%;transform:translateY(-50%)}.lightbox .lb-next{right:12px;top:50%;transform:translateY(-50%)}.lightbox svg{width:20px;height:20px}.lightbox .lb-cap{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:rgba(255,255,255,.85);font-size:.9rem;padding:0 60px}[data-lightbox]{cursor:zoom-in}.socials{display:flex;gap:10px;flex-wrap:wrap}.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);color:#f3eee1;transition:background .2s,color .2s}.socials a:hover{background:var(--marigold);color:var(--forest);text-decoration:none}.socials svg{width:20px;height:20px}.socials.dark a{border-color:var(--line);color:var(--olive-dark);background:var(--paper)}.socials.dark a:hover{background:var(--olive);color:#fff}.ig-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none}.ig-link .ig-badge{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.ig-link .ig-badge svg{width:22px;height:22px}.header-ig{display:none}@media (min-width:1080px){.header-ig{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--olive-dark);border:1px solid var(--line)}.header-ig:hover{color:#fff;background:var(--olive)}.header-ig svg{width:20px;height:20px}.header-actions{display:flex;align-items:center;gap:12px}}.header-actions{display:flex;align-items:center;gap:10px}.wa-float{position:fixed;right:16px;bottom:84px;z-index:41;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:transform .2s}.wa-float:hover{transform:scale(1.06);color:#fff}.wa-float svg{width:28px;height:28px}@media (min-width:1080px){.wa-float{bottom:24px;right:24px}}.included{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;padding:0;margin:0}@media (min-width:900px){.included{grid-template-columns:repeat(4,1fr);gap:16px}}.included li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;display:flex;flex-direction:column;gap:8px}.included li svg{width:28px;height:28px;color:var(--olive)}.included li strong{font-family:var(--serif);font-weight:500;font-size:1.05rem;color:var(--charcoal);line-height:1.25}.included li span{font-size:.86rem;color:var(--muted);line-height:1.45}.not-included{margin-top:16px;font-size:.92rem;color:var(--muted)}.review-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.review-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);text-decoration:none;font-weight:600;font-size:.92rem;color:var(--charcoal)}.review-links a:hover{border-color:var(--olive);color:var(--olive-dark)}.review-links svg{width:18px;height:18px;color:var(--marigold)}.map-embed{border-radius:var(--radius-l);overflow:hidden;border:1px solid var(--line);background:var(--sand);aspect-ratio:4 / 3}.map-embed iframe{width:100%;height:100%;border:0;display:block}.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:14px}@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr);gap:20px}}.steps li{counter-increment:s;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative}.steps li::before{content:counter(s);font-family:var(--serif);font-size:1.6rem;color:var(--terracotta);display:block;margin-bottom:6px}.steps h3{font-size:1.15rem;margin-bottom:4px}.steps p{margin:0;color:var(--muted);font-size:.95rem}.section-head h2 em,h1 em{font-style:italic;color:var(--terracotta-dark)}.hero h1 em{color:#f6d9a8}.bg-forest{background:var(--forest);color:#e9ece2}.bg-forest h2,.bg-forest h3{color:#fffaf0}.bg-forest .eyebrow{color:#c9d6b4}.bg-forest p{color:#d6dccd}.kicker-stats{display:flex;flex-wrap:wrap;gap:22px 36px;margin:22px 0 6px;padding:0;list-style:none}.kicker-stats li{display:flex;flex-direction:column}.kicker-stats strong{font-family:var(--serif);font-size:1.9rem;font-weight:500;color:#fff;line-height:1}.kicker-stats span{font-size:.82rem;letter-spacing:.04em;color:#c9d6b4;margin-top:6px}@media (max-width:1079px){.js .wa-float{opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .3s,transform .3s}.js body.scrolled .wa-float{opacity:1;pointer-events:auto;transform:none}}@media (max-width:760px){.hero::after{background:linear-gradient(180deg,rgba(20,26,18,.45) 0%,rgba(20,26,18,.2) 22%,rgba(20,26,18,.45) 50%,rgba(20,26,18,.82) 100%)}}.hero-media img,.card-media img,.split-media img{color:transparent}.sirvoy-local-note{display:none;color:var(--terracotta-dark)}.sirvoy-offline .sirvoy-local-note{display:block}.photo-soon{display:grid;place-items:center;text-align:center;color:var(--olive-dark);background:linear-gradient(135deg,var(--sage-soft),var(--sand))}.photo-soon span{display:grid;gap:6px;justify-items:center;padding:18px}.photo-soon svg{width:42px;height:42px;color:var(--olive)}.photo-soon strong{font-family:var(--serif,Georgia,serif);font-size:1.3rem;font-weight:500}.photo-soon em{font-style:normal;font-size:.85rem;opacity:.85}.sirvoy-local-note{color:var(--terracotta-dark);max-width:52ch;margin:-4px auto 16px}@media (min-width:761px){.hero-home::after{background:linear-gradient(90deg,rgba(18,26,20,.8) 0%,rgba(18,26,20,.58) 36%,rgba(18,26,20,.14) 62%,rgba(18,26,20,0) 78%),linear-gradient(180deg,rgba(18,26,20,.3) 0%,rgba(18,26,20,0) 18%,rgba(18,26,20,0) 72%,rgba(18,26,20,.45) 100%)}.hero-home .hero-media img{object-position:62% 50%}}@media (max-width:760px){.hero-home .hero-media img{object-position:72% 50%}.hero-home::after{background:linear-gradient(180deg,rgba(18,26,20,.55) 0%,rgba(18,26,20,.3) 26%,rgba(18,26,20,.62) 52%,rgba(18,26,20,.9) 100%)}}.bg-forest .reel figcaption,.bg-forest .reel figcaption strong{color:#e8eddf}@media (max-width:1079px){.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
/* polish.css */
/* True Nature UI polish — October 2026
   Progressive enhancement only. The site remains fully usable without this file. */

/* Softer, more tactile navigation */
.site-header {
  transition: background-color .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.site-header.tn-scrolled {
  background: rgba(251, 247, 239, .985);
  border-bottom-color: rgba(209, 196, 174, .9);
  box-shadow: 0 10px 30px rgba(36, 57, 44, .07);
}
.site-header::before { transition: backdrop-filter .28s ease; }
.nav-toggle { transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.nav-toggle:hover { border-color: var(--sage); background: #fff; }
.nav-toggle:active { transform: scale(.96); }
.brand img { transition: transform .28s ease; transform-origin: left center; }
.site-header.tn-scrolled .brand img { transform: scale(.96); }

@media (max-width: 1079px) {
  /* Animate the menu instead of snapping it on/off. */
  .js .site-nav {
    display: block;
    position: fixed;
    inset: var(--header-h) 0 0 0;
    height: calc(100dvh - var(--header-h));
    padding: 16px var(--gutter) 44px;
    overflow-y: auto;
    background: rgba(251,247,239,.985);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity .24s ease, transform .24s ease, visibility .24s step-end;
    z-index: 49;
  }
  .nav-open .site-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: opacity .24s ease, transform .24s ease, visibility 0s;
  }
  .site-nav li {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .25s ease, transform .25s ease;
  }
  .nav-open .site-nav li { opacity: 1; transform: none; }
  .nav-open .site-nav li:nth-child(2) { transition-delay: .035s; }
  .nav-open .site-nav li:nth-child(3) { transition-delay: .07s; }
  .nav-open .site-nav li:nth-child(4) { transition-delay: .105s; }
  .nav-open .site-nav li:nth-child(5) { transition-delay: .14s; }
  .nav-open .site-nav li:nth-child(6) { transition-delay: .175s; }
  .nav-open .site-nav li:nth-child(7) { transition-delay: .21s; }
}

/* The hero image gets a tiny settling movement after load; text never starts hidden. */
@media (prefers-reduced-motion: no-preference) {
  html.tn-ready .hero:not(.cta-band) .hero-media img {
    animation: tn-hero-settle .95s cubic-bezier(.2,.7,.2,1) both;
  }
  @keyframes tn-hero-settle {
    from { transform: scale(1.018); }
    to { transform: scale(1); }
  }
}

/* Scroll reveals. Added by polish.js so content is never hidden when JS is unavailable. */
@media (prefers-reduced-motion: no-preference) {
  .tn-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition:
      opacity .65s cubic-bezier(.22,.61,.36,1) var(--tn-delay, 0ms),
      transform .65s cubic-bezier(.22,.61,.36,1) var(--tn-delay, 0ms);
    will-change: opacity, transform;
  }
  .tn-reveal.tn-visible { opacity: 1; transform: none; will-change: auto; }
}

/* Cards and panels feel touchable without turning the retreat into an app dashboard. */
.card, .stay-card, .card-plain, .included li, .steps li, .fit-panel {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}
@media (hover: hover) and (pointer: fine) {
  .card:hover, .stay-card:hover, .card-plain:hover, .included li:hover, .steps li:hover {
    transform: translateY(-4px);
    border-color: rgba(169,184,154,.8);
    box-shadow: 0 16px 38px rgba(42,46,41,.09);
  }
  .card:hover .card-media img { transform: scale(1.045); }
  .split-media:hover img, .gallery figure:hover img, .collage figure:hover img { transform: scale(1.018); }
}
.card:focus-within, .stay-card:focus-within, .card-plain:focus-within {
  border-color: var(--sage);
  box-shadow: 0 12px 30px rgba(42,46,41,.08);
}
.card-media img, .split-media img, .gallery img, .collage img {
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.split-media, .reel-frame, .gallery figure, .collage figure {
  box-shadow: 0 1px 2px rgba(42,46,41,.04), 0 12px 34px rgba(42,46,41,.07);
}

.btn { box-shadow: 0 1px 0 rgba(255,255,255,.18) inset; }
.btn:not(:active):hover { transform: translateY(-2px); }
.booking-search { transition: box-shadow .28s ease, border-color .28s ease; }
.booking-search:focus-within { border-color: var(--sage); box-shadow: 0 14px 38px rgba(42,46,41,.10); }

.faq details { transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.faq details[open] { border-color: rgba(169,184,154,.9); background: #fff; box-shadow: 0 8px 22px rgba(42,46,41,.05); }
.faq summary:hover { color: var(--olive-dark); }

/* Give swipeable galleries a clearer mobile rhythm. */
.gallery, .reels { overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; scroll-padding-inline: 2px; }
.gallery figure, .reel { scroll-snap-stop: always; }
@media (max-width: 759px) {
  .gallery { grid-auto-columns: 88%; gap: 14px; }
  .reels { grid-auto-columns: 78%; gap: 16px; }
}

.mobile-bar {
  background: rgba(251,247,239,.9);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  box-shadow: 0 -12px 30px rgba(36,57,44,.06);
}
.wa-float { transition: transform .22s ease, box-shadow .22s ease; }
.wa-float:hover { transform: translateY(-2px) scale(1.04); box-shadow: 0 12px 28px rgba(0,0,0,.25); }

/* New lightweight accommodation film. */
.ambient-media {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-l);
  background: var(--forest);
  border: 1px solid rgba(230,220,203,.8);
  box-shadow: 0 18px 46px rgba(36,57,44,.12);
  aspect-ratio: 16 / 9;
}
.ambient-media video, .ambient-media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.ambient-media::after {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 56%, rgba(20,27,21,.58) 100%);
}
.ambient-control {
  position: absolute;
  z-index: 2;
  right: 14px;
  bottom: 14px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(25,34,27,.58);
  color: #fff;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  font: 600 .82rem/1 var(--sans);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.ambient-control:hover { background: rgba(25,34,27,.78); transform: translateY(-1px); }
.ambient-media noscript a { position: absolute; z-index: 3; right: 14px; bottom: 14px; }
.ambient-caption {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 15px;
  margin: 0;
  padding-right: 116px;
  color: rgba(255,255,255,.94);
  font-size: .86rem;
  text-shadow: 0 1px 10px rgba(0,0,0,.45);
}
.stay-film-copy { max-width: 560px; }
@media (min-width: 900px) {
  .stay-film-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.35fr); gap: 42px; align-items: center; }
}
@media (max-width: 600px) {
  .ambient-media { aspect-ratio: 4 / 3; }
  .ambient-caption { display: none; }
}

/* Fresh-photo utility for images supplied after the original build. */
.tn-photo img { width: 100%; height: 100%; object-fit: cover; }

@media (prefers-reduced-motion: reduce) {
  .tn-reveal { opacity: 1 !important; transform: none !important; }
  .site-header, .brand img, .card, .stay-card, .card-plain, .included li, .steps li,
  .fit-panel, .card-media img, .split-media img, .gallery img, .collage img { transition: none !important; }
}

/* October 4 refinement: smoother navigation, stronger image presentation and calmer motion. */
html {
  scroll-padding-top: calc(var(--header-h) + 18px);
  scrollbar-gutter: stable;
}
main .section, main [id] { scroll-margin-top: calc(var(--header-h) + 18px); }
h1, h2, .section-head { text-wrap: balance; }
p { text-wrap: pretty; }

/* Native page crossfades where supported. Unsupported browsers simply navigate normally. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: tn-page-away .18s ease both; }
::view-transition-new(root) { animation: tn-page-arrive .34s cubic-bezier(.22,.61,.36,1) both; }
@keyframes tn-page-away { to { opacity: .72; } }
@keyframes tn-page-arrive {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: none; }
}

/* Give large photography room to breathe and prevent odd crop flashes during hover/reveal. */
.card-media, .split-media, .gallery figure, .collage figure, .hero-media { overflow: hidden; }
.tn-hd-img { image-rendering: auto; }

@media (prefers-reduced-motion: no-preference) {
  /* Subtle depth on the hero, driven by polish.js. Scale prevents edge gaps while moving. */
  .hero:not(.cta-band) .hero-media {
    transform: translate3d(0, var(--tn-hero-y, 0px), 0) scale(1.025);
    transform-origin: center center;
    will-change: transform;
  }

  /* A short editorial-style opening sequence instead of every element arriving at once. */
  .js .hero-content > *, .js .hero-sub .breadcrumbs {
    opacity: 0;
    transform: translateY(12px);
  }
  html.tn-ready .hero-content > * {
    animation: tn-copy-in .56s cubic-bezier(.22,.61,.36,1) both;
  }
  html.tn-ready .hero-content > *:nth-child(1) { animation-delay: .10s; }
  html.tn-ready .hero-content > *:nth-child(2) { animation-delay: .16s; }
  html.tn-ready .hero-content > *:nth-child(3) { animation-delay: .22s; }
  html.tn-ready .hero-content > *:nth-child(4) { animation-delay: .28s; }
  html.tn-ready .hero-sub .breadcrumbs {
    animation: tn-copy-in .48s cubic-bezier(.22,.61,.36,1) .05s both;
  }
  @keyframes tn-copy-in {
    to { opacity: 1; transform: none; }
  }
}

/* More deliberate section rhythm on large screens, tighter without feeling cramped on phones. */
@media (min-width: 1080px) {
  main .section > .container > .section-head { margin-bottom: clamp(30px, 3vw, 46px); }
  .split { gap: clamp(40px, 5vw, 76px); }
}
@media (max-width: 759px) {
  .section-head { margin-bottom: 24px; }
  .split { gap: 28px; }
  .card-media { min-height: 0; }
}

/* Crisp keyboard navigation and touch targets. */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(103, 122, 78, .55);
  outline-offset: 3px;
}
.site-nav a, .btn, .nav-toggle, .ambient-control { -webkit-tap-highlight-color: transparent; }

/* Slightly quieter image movement on touch devices; keep the richer hover only for pointers. */
@media (hover: none) {
  .card-media img, .split-media img, .gallery img, .collage img { transition-duration: .35s; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
  .hero:not(.cta-band) .hero-media { transform: none !important; }
  .js .hero-content > *, .js .hero-sub .breadcrumbs { opacity: 1 !important; transform: none !important; }
}

/* Oct 2026 refinement: cleaner galleries, direct booking and testimonial layouts */
[hidden] { display: none !important; }

.around-rooms-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  overflow: visible;
}
.around-rooms-grid figure { margin: 0; min-width: 0; }
.around-rooms-grid img {
  display: block;
  width: 100%;
  height: clamp(260px, 28vw, 390px);
  object-fit: cover;
  border-radius: 24px;
}

.activity-wide-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
  overflow: hidden;
}
.activity-wide-card .card-media,
.activity-wide-card > img { min-height: 360px; height: 100%; }
.activity-wide-card .card-media img,
.activity-wide-card > img { width: 100%; height: 100%; object-fit: cover; }
.activity-wide-card .card-body { align-self: center; padding: clamp(28px, 4vw, 64px); }

.testimonial-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.5vw, 32px);
}
.testimonial-video-grid figure { margin: 0; }
.testimonial-video-grid video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 24px;
  background: #13231b;
  box-shadow: 0 18px 50px rgba(35, 49, 39, .10);
}

.morning-silence-note,
.direct-booking-note {
  border: 1px solid rgba(50, 77, 58, .16);
  background: rgba(230, 237, 222, .55);
  border-radius: 20px;
  padding: 18px 22px;
}

.direct-booking-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.direct-booking-form .field-full { grid-column: 1 / -1; }
.direct-booking-form label { display: grid; gap: 7px; font-weight: 600; }
.direct-booking-form input,
.direct-booking-form select,
.direct-booking-form textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(30, 54, 39, .22);
  border-radius: 14px;
  padding: 12px 14px;
  background: #fffdf9;
  color: inherit;
  font: inherit;
}
.direct-booking-form textarea { min-height: 130px; resize: vertical; }
.direct-booking-form input:focus,
.direct-booking-form select:focus,
.direct-booking-form textarea:focus {
  outline: 3px solid rgba(184, 77, 38, .18);
  border-color: #b84d26;
}

@media (max-width: 820px) {
  .around-rooms-grid,
  .testimonial-video-grid,
  .direct-booking-form { grid-template-columns: 1fr; }
  .around-rooms-grid img { height: auto; aspect-ratio: 4 / 3; }
  .activity-wide-card { display: block; }
  .activity-wide-card .card-media,
  .activity-wide-card > img { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
  .direct-booking-form .field-full { grid-column: auto; }
}
.facility-text-card {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:300px;
  background:linear-gradient(145deg, rgba(228,234,220,.75), rgba(255,253,249,.95));
  border:1px solid rgba(62,90,63,.14);
}
.facility-text-card .card-body { padding:clamp(28px,4vw,52px); }
.direct-booking-form .field-wide { grid-column: 1 / -1; }
@media (max-width:820px){ .direct-booking-form .field-wide { grid-column:auto; } }
.testimonial-video-grid video { aspect-ratio: 9 / 16; max-height: 720px; }
.testimonial-video-grid figure { max-width: 430px; width: 100%; justify-self: center; }

/* Verified October 8 fixes: readable content, complete portraits and reliable controls. */
.fade-in, .tn-reveal, .js .hero-content > *, .js .hero-sub .breadcrumbs {
  opacity: 1;
  transform: none;
  transition: none;
  will-change: auto;
}
@keyframes tn-gentle-entry { from { opacity: .8; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .tn-reveal.tn-visible { animation: tn-gentle-entry .4s ease-out both; }
  html.tn-ready .hero-content > *, html.tn-ready .hero-sub .breadcrumbs { animation: tn-gentle-entry .45s ease-out both; }
}
.pizza-note { max-width: 760px; margin-inline: auto; }
.booking-search, .direct-booking-form { min-width: 0; }
.direct-booking-form .field, .direct-booking-form input, .direct-booking-form select { min-width: 0; }
.direct-booking-form .field-full { margin: 0; }
.direct-booking-note strong, .direct-booking-note span { display: block; }
.sirvoy-unavailable #sirvoy-booking-engine { display: none; }
.filter-count { margin: 12px 0 24px; }
.no-js .nav-toggle, .no-js .filters, .no-js .ambient-control, .no-js .sirvoy-pending { display: none; }
.no-js .site-header { position: relative; }
.no-js .site-nav li { opacity: 1; transform: none; }
.filters button, .socials a, .ambient-control { min-width: 44px; min-height: 44px; }
.lightbox { padding: 60px 60px 92px; }
.lightbox .lb-stage { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; }
.lightbox img, .lightbox video { max-width: 100%; max-height: calc(100dvh - 156px); object-fit: contain; }
.lightbox .lb-cap { margin: 0; max-height: 68px; overflow-y: auto; line-height: 1.4; }
.lightbox button { font: 400 32px/1 var(--sans); }
.ice-bath-portrait { display: block; width: 100%; height: auto !important; }
.ice-bath-portrait img { display: block; width: 100%; height: auto !important; aspect-ratio: 2 / 3 !important; object-fit: contain !important; transform: none !important; }
.card-media:has(.ice-bath-portrait) { aspect-ratio: auto; }
.ice-bath-card { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: center; }
.ice-bath-card .card-media { width: 100%; max-width: 360px; margin-inline: auto; background: transparent; }
.ice-bath-card .card-body { padding: clamp(24px, 4vw, 60px); }
@media (min-width: 1080px) {
  .activities-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .activities-grid > .card { grid-column: span 2; }
  .activities-grid > #massage, .activities-grid > #cooking-class { grid-column: span 3; }
  .activities-grid > .ice-bath-card, .activities-grid > .activity-wide-card { grid-column: 1 / -1; }
}
.collage figure:has(.ice-bath-portrait) { grid-row: span 2; }
.collage figure:has(.ice-bath-portrait) picture { height: 100% !important; display: flex; align-items: center; background: var(--sand); }
.collage figure:has(.ice-bath-portrait) img { object-fit: contain !important; }
@media (max-width: 1079px) {
  .js .wa-float { visibility: hidden; }
  .js body.scrolled .wa-float { visibility: visible; }
  .mobile-bar { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  .site-nav { overscroll-behavior: contain; }
}
@media (max-width: 759px) {
  .booking-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ice-bath-card { display: block; }
  .ice-bath-card .card-media { max-width: none; }
  .lightbox { padding-inline: 14px; }
  .lightbox .lb-prev, .lightbox .lb-next { top: auto; bottom: 82px; transform: none; }
  .lightbox .lb-cap { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .tn-reveal, .tn-reveal.tn-visible, html.tn-ready .hero-content > *, html.tn-ready .hero-sub .breadcrumbs { animation: none !important; }
  .card:hover, .stay-card:hover, .btn:hover, .card:hover .card-media img, .split-media:hover img, .gallery figure:hover img, .collage figure:hover img, .wa-float:hover { transform: none !important; }
}
@media (max-width: 380px) {
  .booking-search { grid-template-columns: minmax(0, 1fr); }
  .booking-search .field-guests, .booking-search .btn, .booking-search .note { grid-column: auto; }
  .icon-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .icon-row li { min-width: 0; }
  .icon-row li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* October 10 supplied photographs: preserve complete people and room compositions. */
.photo-natural picture, .photo-natural img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain;
}
.photo-natural:hover img { transform: none; }
.practice-photo-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.25fr) repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.schedule-photo-grid { display: grid; gap: 18px; align-content: start; }
.food-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.4vw, 28px);
}
.food-photo-grid figure, .pizza-photo-grid figure, .room-photo-gallery figure { margin: 0; min-width: 0; }
.food-photo-grid picture, .pizza-photo-grid picture { display: block; overflow: hidden; border-radius: var(--radius-s); background: var(--sand); }
.food-photo-grid img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center; display: block; }
.food-photo-grid figure:nth-child(5) img { object-position: center top; }
.food-photo-grid figcaption, .pizza-photo-grid figcaption { margin-top: 10px; font-size: .86rem; color: var(--muted); }
.pizza-story { max-width: none; }
.pizza-story > div:first-child { max-width: 760px; margin: 0 auto 32px; }
.pizza-photo-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: center; gap: clamp(18px, 3vw, 40px); }
.pizza-photo-grid img { display: block; width: 100%; height: auto; }
.room-photo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; background: var(--sand); }
.room-photo-gallery figure:first-child { grid-column: 1 / -1; }
.room-photo-gallery img { width: 100%; height: auto; display: block; object-fit: contain; }
.room-photo-gallery figure:not(:first-child) img { aspect-ratio: 2 / 1; object-fit: cover; }
.room-photo-gallery img[role="button"], [data-lightbox] img { cursor: zoom-in; }
@media (max-width: 759px) {
  .practice-photo-grid { grid-template-columns: 1fr; }
  .food-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .pizza-photo-grid { grid-template-columns: minmax(0, 1fr); }
  .pizza-photo-grid figure:first-child { width: min(100%, 420px); justify-self: center; }
  /* Wide group photos sit above the title on phones, keeping every guest visible. */
  .hero-group-photo .hero-media { position: relative; aspect-ratio: var(--group-photo-ratio, 4 / 3); transform: none !important; }
  .hero-group-photo .hero-media img { object-position: center; animation: none !important; transform: none !important; }
  .hero-group-photo.hero-dogs .hero-media { aspect-ratio: 2.16 / 1; }
  .hero-group-photo .hero-content { min-height: 0; padding-top: 26px; padding-bottom: 36px; }
  .hero-group-photo::after { background: linear-gradient(180deg,rgba(20,26,18,.2),transparent 38%); }
  .hero-group-photo .breadcrumbs { bottom: auto; }
}
@media (max-width: 479px) {
  .food-photo-grid { grid-template-columns: minmax(0, 1fr); }
  .food-photo-grid img { aspect-ratio: auto; height: auto; }
}

/* restoration-20261012.css */
/* Restore the supplied references while retaining the October 10 build. */
.restored-activities .activities-grid {
  grid-template-columns: minmax(0, 1fr);
}
.restored-activities .activities-grid > .card,
.restored-activities .activities-grid > #massage,
.restored-activities .activities-grid > #cooking-class {
  grid-column: auto;
  min-width: 0;
}
.restored-activities .activities-grid > .activity-wide-card {
  grid-column: 1 / -1;
}
.restored-activities .ice-bath-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.restored-activities .ice-bath-card .card-media {
  max-width: none;
  margin: 0;
  aspect-ratio: 4 / 3;
  background: var(--sage-soft);
}
.restored-activities .ice-bath-card .card-body {
  padding: 18px 18px 20px;
}
.restored-activities .ice-bath-card-photo {
  display: block;
  width: 100%;
  height: 100%;
}
.restored-activities .ice-bath-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
}
@media (min-width: 640px) {
  .restored-activities .activities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .restored-activities .activities-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .restored-activities .ice-bath-card .card-media { aspect-ratio: 2 / 3; }
}
@media (max-width: 759px) {
  /* Keep the complete yoga pose and activity group visible on phones. */
  .restored-yoga-hero .hero-media,
  .restored-activities-hero .hero-media {
    position: relative;
    transform: none !important;
  }
  .restored-yoga-hero .hero-media { aspect-ratio: 1885 / 992; }
  .restored-activities-hero .hero-media { aspect-ratio: 3 / 2; }
  .restored-yoga-hero .hero-media img,
  .restored-activities-hero .hero-media img {
    object-position: center;
    transform: none !important;
    animation: none !important;
  }
  .restored-yoga-hero .hero-content,
  .restored-activities-hero .hero-content {
    min-height: 0;
    padding-top: 28px;
    padding-bottom: 36px;
  }
  .restored-yoga-hero::after,
  .restored-activities-hero::after {
    background: linear-gradient(180deg, rgba(20,26,18,.18), transparent 38%);
  }
}

/* reels-credit-20261012.css */
/* Bounded additions: the page layouts and original footer remain intact. */
.site-footer .site-credit {
  margin: 15px 0 0;
  color: #bfc3b1;
  font-size: .78rem;
  line-height: 1.6;
  text-align: center;
  padding-inline: 44px;
}
.site-footer .site-credit a {
  display: inline-block;
  color: #d9ddce;
  text-underline-offset: .2em;
}
.site-footer .site-credit a:focus-visible {
  outline-color: #d9ddce;
}
.reel-watch {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 14px;
  border: 1px solid #c8d2bd;
  border-radius: 24px;
  background: #edf1e7;
  color: var(--olive-dark);
  font: 600 .875rem/1.45 var(--sans);
  text-align: left;
  cursor: pointer;
}
.reel-watch:hover {
  background: var(--sage-soft);
  border-color: var(--olive);
}
.reel-watch svg {
  width: 23px;
  height: 23px;
  flex: none;
}
.reel-watch[hidden], .reel-static-link[hidden] { display: none; }
.reel-static-link { max-width: 100%; white-space: normal; }
.reel-static-link svg { flex: none; }
.instagram-dialog {
  width: min(530px, calc(100% - 24px));
  max-width: none;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--paper);
  color: var(--text);
  overscroll-behavior: contain;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .3);
}
.instagram-dialog::backdrop { background: rgba(18, 28, 20, .78); }
.ig-viewer-header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.ig-viewer-header h2 {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.25;
}
.ig-viewer-close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: none;
  padding: 0;
  border: 1px solid #c8d2bd;
  border-radius: 50%;
  background: var(--sage-soft);
  color: var(--olive-dark);
  cursor: pointer;
}
.ig-viewer-close svg { width: 21px; height: 21px; }
.ig-viewer-description {
  margin: 12px 18px 0;
  font-size: .8rem;
  line-height: 1.5;
  color: var(--muted);
}
.ig-viewer-status {
  margin: 8px 18px 12px;
  font-size: .85rem;
  line-height: 1.5;
}
.ig-embed-host {
  min-height: 360px;
  margin: 0 12px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
/* Instagram supplies the video controls and resizes its own official frame. */
.ig-embed-host .instagram-media,
.ig-embed-host iframe {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.ig-embed-host blockquote { height: 360px; border: 0; }
.ig-embed-host blockquote a { display: none; }
.ig-viewer-fallback {
  margin: 0;
  padding: 16px 18px 20px;
  font-size: .8rem;
  line-height: 1.55;
}
.ig-viewer-fallback p { margin-bottom: 8px; }
.ig-viewer-options { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.ig-viewer-options button, .ig-viewer-options a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 0;
  color: var(--olive-dark);
  font: 600 .85rem/1.45 var(--sans);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ig-viewer-options button { border: 0; background: none; cursor: pointer; }
@media (max-width: 380px) {
  .ig-viewer-header { padding: 12px; gap: 8px; }
  .ig-viewer-header h2 { font-size: 1.15rem; }
  .ig-embed-host { margin: 0 5px; }
  .ig-viewer-fallback { padding: 14px 12px; }
}

/* nature-flow-20261019.css */
/* October 19: authentic photography, complete faces and gentle, optional motion. */
.page-head-photo { padding-block: clamp(30px, 4.5vw, 64px); }
.page-head-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(28px, 5vw, 68px);
}
.page-head-copy { min-width: 0; }
.page-head-copy h1 { font-size: clamp(2.2rem, 4.6vw, 3.7rem); }
.page-head-copy p:last-child { margin-bottom: 0; }
.page-head-media {
  min-width: 0;
  border-radius: var(--radius-l);
  overflow: hidden;
  background: var(--sage-soft);
  box-shadow: var(--shadow);
}
.page-head-media picture, .page-head-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* The story image keeps its entire original frame. Copy never covers a face. */
.hero-story {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 22px clamp(30px, 5vw, 64px);
  padding: 24px max(var(--gutter), calc((100vw - var(--max)) / 2)) 44px;
  color: var(--text);
  background: var(--cream);
}
.hero-story::after { display: none; }
.hero-story .breadcrumbs {
  position: static;
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--muted);
}
.hero-story .breadcrumbs a { color: var(--muted); }
.hero-story .hero-content {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 20px 0;
  justify-content: center;
}
.hero-story .hero-content h1 { color: var(--charcoal); }
.hero-story .hero-content .lead { color: var(--text); }
.hero-story .hero-content h1, .hero-story .hero-content p { text-shadow: none; }
.hero-story .hero-media {
  position: relative;
  inset: auto;
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  width: 100%;
  height: auto;
  border-radius: var(--radius-l);
  box-shadow: var(--shadow);
  transform: none !important;
  will-change: auto;
}
.hero-story .hero-media picture, .hero-story .hero-media img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: none !important;
  animation: none !important;
}

/* Match the five other Explore the Retreat thumbnails; keep all three faces. */
.retreat-activities-photo { display: block; width: 100%; height: 100%; }
.retreat-activities-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform: none !important;
}
.subnav a { min-height: 44px; display: inline-flex; align-items: center; }

/* Progressive enhancement: content is always visible, even before observation. */
@media (prefers-reduced-motion: no-preference) {
  .tn-reveal.tn-visible {
    animation: tn-nature-arrive .65s cubic-bezier(.2, .65, .3, 1) var(--tn-delay, 0ms) both;
  }
  html.tn-ready .page-head-media {
    animation: tn-nature-arrive .8s cubic-bezier(.2, .65, .3, 1) both;
  }
  @keyframes tn-nature-arrive {
    from { opacity: .72; transform: translate3d(0, 12px, 0); }
    to { opacity: 1; transform: none; }
  }
}

@media (max-width: 759px) {
  .page-head-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-head-photo { padding-top: 28px; padding-bottom: 28px; }
  .page-head-media { border-radius: var(--radius); }
  .page-head-copy h1 { font-size: clamp(2.15rem, 8vw, 3rem); }
  .hero-story { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-bottom: 28px; }
  .hero-story .hero-media { grid-column: 1; grid-row: 2; aspect-ratio: auto; border-radius: var(--radius); }
  .hero-story .hero-content { grid-column: 1; grid-row: 3; padding: 0; }
}

@media (max-width: 1079px) {
  /* Keep the full navigation in normal flow when JavaScript is unavailable. */
  .no-js .header-inner { height: auto; min-height: var(--header-h); flex-wrap: wrap; padding-block: 12px; }
  .no-js .site-nav { flex: 0 0 100%; min-width: 0; width: 100%; padding: 0; }
  .no-js .site-nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; }
  .no-js .site-nav a { display: flex; align-items: center; min-height: 44px; padding: 8px; }
  .no-js .header-actions { display: none; }
  .no-js .nav-cta { margin-top: 12px; }
  .no-js .nav-cta a { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .tn-reveal, .tn-reveal.tn-visible, html.tn-ready .page-head-media {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* split-headers-motion-20261019.css */
/* Split photographs, warm space, and a different continuously moving nature drawing on each page. */
.hero.hero-split {
 display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
 gap:24px clamp(28px,4.5vw,64px);
 padding:24px max(var(--gutter),calc((100vw - var(--max))/2)) 42px;
 color:var(--text); background:var(--cream);
}
.hero.hero-split::after {display:none;}
.hero.hero-split .breadcrumbs {position:static;grid-column:1/-1;grid-row:1;width:100%;margin:0;padding:0;color:var(--muted);}
.hero.hero-split .breadcrumbs a {color:var(--muted);}
.hero.hero-split .hero-content {
 grid-column:1;grid-row:2;width:100%;max-width:none;min-height:0;margin:0;padding:16px 0;
 justify-content:center;
}
.hero.hero-split h1 {font-size:clamp(2.2rem,4.6vw,3.8rem);color:var(--charcoal);text-shadow:none;}
.hero.hero-split p {color:var(--text);text-shadow:none;}
.hero.hero-split .eyebrow {color:var(--olive)!important;}
.hero.hero-split .hero-media {
 position:relative;inset:auto;grid-column:2;grid-row:2;align-self:center;display:flex;justify-content:flex-end;
 width:100%;height:auto;aspect-ratio:auto!important;transform:none!important;
 background:transparent;box-shadow:none;border-radius:0;overflow:visible;will-change:auto;
}
.hero.hero-split .hero-media picture,
.page-head-photo .page-head-media picture {
 position:static;inset:auto;display:flex;align-items:center;justify-content:flex-end;width:100%;height:auto;
}
.hero.hero-split .hero-media img,
.page-head-photo .page-head-media img {
 position:static;inset:auto;display:block;width:auto;height:auto;max-width:100%;max-height:560px;
 aspect-ratio:auto;object-fit:contain;object-position:center;transform:none!important;animation:none!important;
 border-radius:var(--radius-l);box-shadow:var(--shadow);
}
.hero.hero-split .btn-ghost {color:var(--olive-dark);border-color:var(--sage);background:var(--paper);}
.hero.hero-split .btn-ghost:hover {background:var(--sage-soft);}
.hero.hero-split .play-link {color:var(--olive-dark);text-shadow:none;}
.hero.hero-split .play-link .pl {border-color:var(--sage);background:var(--sage-soft);color:var(--olive-dark);}
.hero.hero-split .hero-facts {color:var(--muted);}
.hero.hero-split .hero-facts li {color:var(--muted);}
.hero.hero-split .eyebrow,.hero.hero-split .hero-facts,.hero.hero-split .hero-facts li {text-shadow:none;}
.hero.hero-home.hero-split {padding-top:38px;padding-bottom:24px;}
.hero.hero-home.hero-split .hero-content,.hero.hero-home.hero-split .hero-media {grid-row:1;}
.hero-split + .booking-float {margin-top:0;padding-top:12px;}
.page-head-photo .page-head-media {display:flex;justify-content:flex-end;background:transparent;box-shadow:none;overflow:visible;border-radius:0;}
.page-head-photo .page-head-media figure {width:100%;margin:0;}
.page-head-copy .byline {font-size:.9rem;color:var(--muted);}
.room-heading {padding-block:32px 42px;}
.room-heading-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(28px,4.5vw,64px);align-items:center;}
.room-heading-copy {min-width:0;}
.room-heading-media {min-width:0;}
.room-heading-media .room-hero-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:10px;}
.room-heading-media .room-hero-grid figure:first-child {grid-row:auto;grid-column:1/-1;}
.room-heading-media .room-hero-grid figure:first-child img {aspect-ratio:auto;height:auto;object-fit:contain;}
.room-heading-media .room-hero-grid figure:not(:first-child) img {aspect-ratio:2/1;object-fit:cover;}
.property-intro-photo,.property-intro-photo img {height:auto!important;aspect-ratio:auto!important;object-fit:contain;}
.split-media:has(.property-intro-photo) {aspect-ratio:auto;height:auto;}
.page-nature-scene {width:clamp(190px,20vw,270px);max-width:100%;margin:20px 0 0;pointer-events:none;user-select:none;}
.page-nature-scene svg {display:block;width:100%;height:auto;overflow:visible;}
.page-nature-scene .scene-primary,.page-nature-scene .scene-secondary {transform-box:fill-box;transform-origin:center bottom;}
.center .page-nature-scene {margin-inline:auto;}
.page-nature-scene.scene-paused * {animation-play-state:paused!important;}

@media (max-width:759px) {
 .hero.hero-split {grid-template-columns:minmax(0,1fr);gap:22px;padding-top:22px;padding-bottom:28px;}
 .hero.hero-split .hero-content {grid-column:1;grid-row:2;padding:0;}
 .hero.hero-split .hero-media {grid-column:1;grid-row:3;justify-content:center;}
 .hero.hero-split .hero-media picture,.page-head-photo .page-head-media picture {justify-content:center;}
 .hero.hero-split .hero-media img,.page-head-photo .page-head-media img {max-height:430px;border-radius:var(--radius);}
 .hero.hero-home.hero-split {padding-top:28px;}
 .hero.hero-home.hero-split .hero-content {grid-row:1;}
 .hero.hero-home.hero-split .hero-media {grid-row:2;}
 .hero.hero-split h1 {font-size:clamp(2.15rem,8vw,3rem);}
 .room-heading-layout {grid-template-columns:minmax(0,1fr);gap:24px;}
 .page-nature-scene {width:185px;margin-top:14px;}
}
@media (prefers-reduced-motion:reduce) {
 .page-nature-scene * {animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:1!important;}
 .page-nature-scene .scene-primary,.page-nature-scene .scene-secondary {transform:none!important;}
}

@media (prefers-reduced-motion: no-preference) {
[data-page-scene="404"].scene-active .scene-primary {animation: tn-404-rise 12s ease-in-out infinite both;}
[data-page-scene="404"].scene-active .scene-secondary {animation: tn-404-sway 18s ease-in-out infinite both;}
@keyframes tn-404-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-404-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="about"].scene-active .scene-primary {animation: tn-about-rise 12s ease-in-out infinite both;}
[data-page-scene="about"].scene-active .scene-secondary {animation: tn-about-sway 18s ease-in-out infinite both;}
@keyframes tn-about-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-about-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="about-our-philosophy"].scene-active .scene-primary {animation: tn-about-our-philosophy-rise 12s ease-in-out infinite both;}
[data-page-scene="about-our-philosophy"].scene-active .scene-secondary {animation: tn-about-our-philosophy-sway 18s ease-in-out infinite both;}
@keyframes tn-about-our-philosophy-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-about-our-philosophy-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="apply"].scene-active .scene-primary {animation: tn-apply-rise 12s ease-in-out infinite both;}
[data-page-scene="apply"].scene-active .scene-secondary {animation: tn-apply-sway 18s ease-in-out infinite both;}
@keyframes tn-apply-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-apply-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="apply-thanks"].scene-active .scene-primary {animation: tn-apply-thanks-rise 12s ease-in-out infinite both;}
[data-page-scene="apply-thanks"].scene-active .scene-secondary {animation: tn-apply-thanks-sway 18s ease-in-out infinite both;}
@keyframes tn-apply-thanks-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-apply-thanks-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="before-you-come"].scene-active .scene-primary {animation: tn-before-you-come-rise 12s ease-in-out infinite both;}
[data-page-scene="before-you-come"].scene-active .scene-secondary {animation: tn-before-you-come-sway 18s ease-in-out infinite both;}
@keyframes tn-before-you-come-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-before-you-come-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="book"].scene-active .scene-primary {animation: tn-book-rise 12s ease-in-out infinite both;}
[data-page-scene="book"].scene-active .scene-secondary {animation: tn-book-sway 18s ease-in-out infinite both;}
@keyframes tn-book-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-book-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="booking-confirmed"].scene-active .scene-primary {animation: tn-booking-confirmed-rise 12s ease-in-out infinite both;}
[data-page-scene="booking-confirmed"].scene-active .scene-secondary {animation: tn-booking-confirmed-sway 18s ease-in-out infinite both;}
@keyframes tn-booking-confirmed-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-booking-confirmed-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="chiang-mai-weather-retreat-seasons"].scene-active .scene-primary {animation: tn-chiang-mai-weather-retreat-seasons-rise 12s ease-in-out infinite both;}
[data-page-scene="chiang-mai-weather-retreat-seasons"].scene-active .scene-secondary {animation: tn-chiang-mai-weather-retreat-seasons-sway 18s ease-in-out infinite both;}
@keyframes tn-chiang-mai-weather-retreat-seasons-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-chiang-mai-weather-retreat-seasons-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="contact"].scene-active .scene-primary {animation: tn-contact-rise 12s ease-in-out infinite both;}
[data-page-scene="contact"].scene-active .scene-secondary {animation: tn-contact-sway 18s ease-in-out infinite both;}
@keyframes tn-contact-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-contact-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="contact-thanks"].scene-active .scene-primary {animation: tn-contact-thanks-rise 12s ease-in-out infinite both;}
[data-page-scene="contact-thanks"].scene-active .scene-secondary {animation: tn-contact-thanks-sway 18s ease-in-out infinite both;}
@keyframes tn-contact-thanks-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-contact-thanks-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="experience-daily-life"].scene-active .scene-primary {animation: tn-experience-daily-life-rise 12s ease-in-out infinite both;}
[data-page-scene="experience-daily-life"].scene-active .scene-secondary {animation: tn-experience-daily-life-sway 18s ease-in-out infinite both;}
@keyframes tn-experience-daily-life-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-experience-daily-life-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="experience"].scene-active .scene-primary {animation: tn-experience-rise 12s ease-in-out infinite both;}
[data-page-scene="experience"].scene-active .scene-secondary {animation: tn-experience-sway 18s ease-in-out infinite both;}
@keyframes tn-experience-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-experience-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="experience-nature"].scene-active .scene-primary {animation: tn-experience-nature-rise 12s ease-in-out infinite both;}
[data-page-scene="experience-nature"].scene-active .scene-secondary {animation: tn-experience-nature-sway 18s ease-in-out infinite both;}
@keyframes tn-experience-nature-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-experience-nature-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="faq"].scene-active .scene-primary {animation: tn-faq-rise 12s ease-in-out infinite both;}
[data-page-scene="faq"].scene-active .scene-secondary {animation: tn-faq-sway 18s ease-in-out infinite both;}
@keyframes tn-faq-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-faq-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="getting-here"].scene-active .scene-primary {animation: tn-getting-here-rise 12s ease-in-out infinite both;}
[data-page-scene="getting-here"].scene-active .scene-secondary {animation: tn-getting-here-sway 18s ease-in-out infinite both;}
@keyframes tn-getting-here-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-getting-here-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="guest-stories"].scene-active .scene-primary {animation: tn-guest-stories-rise 12s ease-in-out infinite both;}
[data-page-scene="guest-stories"].scene-active .scene-secondary {animation: tn-guest-stories-sway 18s ease-in-out infinite both;}
@keyframes tn-guest-stories-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-guest-stories-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="home"].scene-active .scene-primary {animation: tn-home-rise 12s ease-in-out infinite both;}
[data-page-scene="home"].scene-active .scene-secondary {animation: tn-home-sway 18s ease-in-out infinite both;}
@keyframes tn-home-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-home-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="journal-best-time-to-visit-chiang-mai-for-a-retreat"].scene-active .scene-primary {animation: tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-best-time-to-visit-chiang-mai-for-a-retreat"].scene-active .scene-secondary {animation: tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-journal-best-time-to-visit-chiang-mai-for-a-retreat-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="journal-how-long-should-i-stay"].scene-active .scene-primary {animation: tn-journal-how-long-should-i-stay-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-how-long-should-i-stay"].scene-active .scene-secondary {animation: tn-journal-how-long-should-i-stay-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-how-long-should-i-stay-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-journal-how-long-should-i-stay-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="journal"].scene-active .scene-primary {animation: tn-journal-rise 12s ease-in-out infinite both;}
[data-page-scene="journal"].scene-active .scene-secondary {animation: tn-journal-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-journal-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="journal-solo-travel-retreat-chiang-mai"].scene-active .scene-primary {animation: tn-journal-solo-travel-retreat-chiang-mai-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-solo-travel-retreat-chiang-mai"].scene-active .scene-secondary {animation: tn-journal-solo-travel-retreat-chiang-mai-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-solo-travel-retreat-chiang-mai-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-journal-solo-travel-retreat-chiang-mai-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="journal-what-a-retreat-day-is-really-like"].scene-active .scene-primary {animation: tn-journal-what-a-retreat-day-is-really-like-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-what-a-retreat-day-is-really-like"].scene-active .scene-secondary {animation: tn-journal-what-a-retreat-day-is-really-like-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-what-a-retreat-day-is-really-like-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-journal-what-a-retreat-day-is-really-like-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="journal-yoga-retreat-for-beginners-thailand"].scene-active .scene-primary {animation: tn-journal-yoga-retreat-for-beginners-thailand-rise 12s ease-in-out infinite both;}
[data-page-scene="journal-yoga-retreat-for-beginners-thailand"].scene-active .scene-secondary {animation: tn-journal-yoga-retreat-for-beginners-thailand-sway 18s ease-in-out infinite both;}
@keyframes tn-journal-yoga-retreat-for-beginners-thailand-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-journal-yoga-retreat-for-beginners-thailand-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="plan-your-visit"].scene-active .scene-primary {animation: tn-plan-your-visit-rise 12s ease-in-out infinite both;}
[data-page-scene="plan-your-visit"].scene-active .scene-secondary {animation: tn-plan-your-visit-sway 18s ease-in-out infinite both;}
@keyframes tn-plan-your-visit-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-plan-your-visit-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="property"].scene-active .scene-primary {animation: tn-property-rise 12s ease-in-out infinite both;}
[data-page-scene="property"].scene-active .scene-secondary {animation: tn-property-sway 18s ease-in-out infinite both;}
@keyframes tn-property-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-property-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="retreat-activities"].scene-active .scene-primary {animation: tn-retreat-activities-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-activities"].scene-active .scene-secondary {animation: tn-retreat-activities-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-activities-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-retreat-activities-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="retreat-daily-schedule"].scene-active .scene-primary {animation: tn-retreat-daily-schedule-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-daily-schedule"].scene-active .scene-secondary {animation: tn-retreat-daily-schedule-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-daily-schedule-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-retreat-daily-schedule-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="retreat-food"].scene-active .scene-primary {animation: tn-retreat-food-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-food"].scene-active .scene-secondary {animation: tn-retreat-food-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-food-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-retreat-food-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="retreat-how-long-to-stay"].scene-active .scene-primary {animation: tn-retreat-how-long-to-stay-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-how-long-to-stay"].scene-active .scene-secondary {animation: tn-retreat-how-long-to-stay-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-how-long-to-stay-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-retreat-how-long-to-stay-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="retreat"].scene-active .scene-primary {animation: tn-retreat-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat"].scene-active .scene-secondary {animation: tn-retreat-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-retreat-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="retreat-meditation"].scene-active .scene-primary {animation: tn-retreat-meditation-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-meditation"].scene-active .scene-secondary {animation: tn-retreat-meditation-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-meditation-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-retreat-meditation-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="retreat-yoga"].scene-active .scene-primary {animation: tn-retreat-yoga-rise 12s ease-in-out infinite both;}
[data-page-scene="retreat-yoga"].scene-active .scene-secondary {animation: tn-retreat-yoga-sway 18s ease-in-out infinite both;}
@keyframes tn-retreat-yoga-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-retreat-yoga-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="right-now"].scene-active .scene-primary {animation: tn-right-now-rise 12s ease-in-out infinite both;}
[data-page-scene="right-now"].scene-active .scene-secondary {animation: tn-right-now-sway 18s ease-in-out infinite both;}
@keyframes tn-right-now-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-right-now-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="stay-bamboo-bungalow"].scene-active .scene-primary {animation: tn-stay-bamboo-bungalow-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-bamboo-bungalow"].scene-active .scene-secondary {animation: tn-stay-bamboo-bungalow-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-bamboo-bungalow-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-stay-bamboo-bungalow-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="stay-bamboo-house"].scene-active .scene-primary {animation: tn-stay-bamboo-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-bamboo-house"].scene-active .scene-secondary {animation: tn-stay-bamboo-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-bamboo-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-stay-bamboo-house-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="stay-earth-house"].scene-active .scene-primary {animation: tn-stay-earth-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-earth-house"].scene-active .scene-secondary {animation: tn-stay-earth-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-earth-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-stay-earth-house-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="stay"].scene-active .scene-primary {animation: tn-stay-rise 12s ease-in-out infinite both;}
[data-page-scene="stay"].scene-active .scene-secondary {animation: tn-stay-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-stay-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="stay-nature-tent"].scene-active .scene-primary {animation: tn-stay-nature-tent-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-nature-tent"].scene-active .scene-secondary {animation: tn-stay-nature-tent-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-nature-tent-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-stay-nature-tent-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="stay-rose-house"].scene-active .scene-primary {animation: tn-stay-rose-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-rose-house"].scene-active .scene-secondary {animation: tn-stay-rose-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-rose-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-stay-rose-house-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="stay-triangle-house"].scene-active .scene-primary {animation: tn-stay-triangle-house-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-triangle-house"].scene-active .scene-secondary {animation: tn-stay-triangle-house-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-triangle-house-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-stay-triangle-house-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="stay-wooden-cottage"].scene-active .scene-primary {animation: tn-stay-wooden-cottage-rise 12s ease-in-out infinite both;}
[data-page-scene="stay-wooden-cottage"].scene-active .scene-secondary {animation: tn-stay-wooden-cottage-sway 18s ease-in-out infinite both;}
@keyframes tn-stay-wooden-cottage-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-stay-wooden-cottage-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="team"].scene-active .scene-primary {animation: tn-team-rise 12s ease-in-out infinite both;}
[data-page-scene="team"].scene-active .scene-secondary {animation: tn-team-sway 18s ease-in-out infinite both;}
@keyframes tn-team-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-team-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="ttc-curriculum"].scene-active .scene-primary {animation: tn-ttc-curriculum-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-curriculum"].scene-active .scene-secondary {animation: tn-ttc-curriculum-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-curriculum-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-ttc-curriculum-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="ttc-daily-schedule"].scene-active .scene-primary {animation: tn-ttc-daily-schedule-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-daily-schedule"].scene-active .scene-secondary {animation: tn-ttc-daily-schedule-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-daily-schedule-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-ttc-daily-schedule-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="ttc-dates-prices"].scene-active .scene-primary {animation: tn-ttc-dates-prices-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-dates-prices"].scene-active .scene-secondary {animation: tn-ttc-dates-prices-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-dates-prices-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-ttc-dates-prices-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}
[data-page-scene="ttc-faq"].scene-active .scene-primary {animation: tn-ttc-faq-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-faq"].scene-active .scene-secondary {animation: tn-ttc-faq-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-faq-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(5px,-7.5px);opacity:1}}
@keyframes tn-ttc-faq-sway {0%,100%{transform:none}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
[data-page-scene="ttc"].scene-active .scene-primary {animation: tn-ttc-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc"].scene-active .scene-secondary {animation: tn-ttc-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-5px,-5px);opacity:1}}
@keyframes tn-ttc-sway {0%,100%{transform:none}25%{transform:rotate(-3.9deg)}75%{transform:rotate(3.9deg)}}
[data-page-scene="ttc-is-this-for-me"].scene-active .scene-primary {animation: tn-ttc-is-this-for-me-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-is-this-for-me"].scene-active .scene-secondary {animation: tn-ttc-is-this-for-me-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-is-this-for-me-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(7.5px,-10px);opacity:1}}
@keyframes tn-ttc-is-this-for-me-sway {0%,100%{transform:none}25%{transform:rotate(4.5deg)}75%{transform:rotate(-4.5deg)}}
[data-page-scene="ttc-teachers"].scene-active .scene-primary {animation: tn-ttc-teachers-rise 12s ease-in-out infinite both;}
[data-page-scene="ttc-teachers"].scene-active .scene-secondary {animation: tn-ttc-teachers-sway 18s ease-in-out infinite both;}
@keyframes tn-ttc-teachers-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(0px,-7.5px);opacity:1}}
@keyframes tn-ttc-teachers-sway {0%,100%{transform:none}25%{transform:rotate(-6.9deg)}75%{transform:rotate(6.9deg)}}
[data-page-scene="what-to-bring"].scene-active .scene-primary {animation: tn-what-to-bring-rise 12s ease-in-out infinite both;}
[data-page-scene="what-to-bring"].scene-active .scene-secondary {animation: tn-what-to-bring-sway 18s ease-in-out infinite both;}
@keyframes tn-what-to-bring-rise {0%,100%{transform:none;opacity:1}50%{transform:translate(-7.5px,-10px);opacity:1}}
@keyframes tn-what-to-bring-sway {0%,100%{transform:none}25%{transform:rotate(-5.4deg)}75%{transform:rotate(5.4deg)}}

}

/* October 20: fuller photographs remain in their own grid column. */
.hero.hero-split .hero-media img,
.page-head-photo .page-head-media img {
 width:min(100%,calc(560px * var(--tn-photo-ratio,1.5)));
}
@media (max-width:759px) {
 .hero.hero-split .hero-media img,
 .page-head-photo .page-head-media img {
  width:min(100%,calc(430px * var(--tn-photo-ratio,1.5)));
 }
}
@media (min-width:960px) {
 .hero.hero-split {
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);
  column-gap:clamp(28px,3.4vw,48px);
  padding-inline:max(var(--gutter),calc((100vw - 1280px)/2));
 }
 .page-head-photo .page-head-layout,.room-heading .room-heading-layout {
  max-width:1344px;
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);
  column-gap:clamp(28px,3.4vw,48px);
 }
}

/* Fuller drawings occupy their own space, separate from copy and controls. */
.page-nature-scene {width:clamp(300px,31vw,440px);margin-top:24px;padding:8px 10px 6px;}
.page-nature-scene svg {overflow:visible;}
.page-nature-scene .scene-primary:nth-of-type(even) {animation-delay:-3s;animation-direction:reverse;}
.page-nature-scene .scene-secondary:nth-of-type(even) {animation-delay:-4.5s;animation-direction:reverse;}

/* A composed first impression: two clear headline lines, one action group, and a photo with its own animated landscape. */
.hero.hero-home.hero-split {align-items:center;padding-top:clamp(28px,4vw,56px);padding-bottom:32px;}
.hero.hero-home.hero-split .hero-content {align-self:center;padding:0;min-width:0;}
.hero.hero-home.hero-split h1 {font-size:clamp(2.65rem,4.75vw,4.25rem);line-height:1.12;letter-spacing:-.025em;max-width:none;}
.hero.hero-home.hero-split h1 {margin:0 0 24px;}
.home-hero-line {display:block;}
.hero.hero-home.hero-split h1 em {color:var(--terracotta-dark);font-weight:500;}
.hero.hero-home.hero-split .eyebrow {max-width:none;margin-bottom:20px;font-size:.73rem;letter-spacing:.13em;line-height:1.7;}
.hero.hero-home.hero-split .lead {max-width:43ch;font-size:clamp(1.05rem,1.4vw,1.18rem);line-height:1.7;margin-bottom:0;}
.home-hero-actions {margin-top:28px;}
.hero.hero-home.hero-split .home-hero-actions .btn-row {margin:0;gap:10px;}
.hero.hero-home.hero-split .home-hero-actions .btn {padding-inline:1.15em;}
.hero.hero-home.hero-split .home-hero-actions .play-link {margin-top:16px;font-size:.92rem;gap:10px;}
.hero.hero-home.hero-split .home-hero-actions .play-link .pl {width:34px;height:34px;}
.hero.hero-home.hero-split .hero-facts {margin-top:22px;font-size:.79rem;gap:8px 16px;}
.home-hero-visual {grid-column:2;grid-row:1;display:grid;gap:16px;min-width:0;align-self:center;}
.hero.hero-home.hero-split .home-hero-visual .hero-media {grid-column:auto;grid-row:auto;width:100%;}
.home-hero-visual .page-nature-scene {justify-self:center;width:min(90%,500px);margin:0;padding-block:10px 6px;}

/* Solid mobile navigation and input-aware focus preserve a clear current-page indicator. */
@media(max-width:1079px) {
 .js .site-nav {background:var(--cream);}
 .site-nav a:focus:not(:focus-visible),.nav-toggle:focus:not(:focus-visible) {outline:none;}
}
@media(min-width:760px) and (max-width:959px) {
 .hero.hero-home.hero-split h1 {font-size:clamp(2.45rem,4.8vw,3rem);}
 .hero.hero-home.hero-split .home-hero-actions .btn-row {display:grid;justify-items:start;}
 .home-hero-visual .page-nature-scene {width:100%;}
}
@media(max-width:759px) {
 .page-nature-scene {width:min(100%,350px);margin-top:18px;padding:8px 10px;}
 .hero.hero-home.hero-split {gap:26px;padding-top:28px;padding-bottom:24px;}
 .hero.hero-home.hero-split h1 {font-size:clamp(2rem,8.6vw,3.2rem);margin-bottom:20px;line-height:1.15;}
 .hero.hero-home.hero-split .eyebrow {font-size:.68rem;margin-bottom:16px;}
 .hero.hero-home.hero-split .lead {font-size:1.05rem;line-height:1.65;max-width:44ch;}
 .home-hero-actions {margin-top:22px;}
 .hero.hero-home.hero-split .hero-facts {margin-top:18px;gap:7px 14px;}
 .home-hero-visual {grid-column:1;grid-row:2;gap:10px;}
 .home-hero-visual .page-nature-scene {width:min(100%,380px);margin:0;}
}
@media(max-width:369px) {
 .hero.hero-home.hero-split .home-hero-actions .btn-row {display:grid;}
 .hero.hero-home.hero-split .home-hero-actions .btn {width:100%;}
}

@media(max-width:759px) {
 .hero.hero-home.hero-split .home-hero-actions .btn-row {display:grid;}
 .hero.hero-home.hero-split .home-hero-actions .btn {width:100%;}
}
@media(max-width:1079px) {
 .site-nav .nav-cta .btn-primary {color:#fff;}
}

/* Cross-page transitions can be aborted by quick mobile navigation; scene loops stay independent. */
@media(max-width:1079px) {
 @view-transition {navigation:none;}
}
@media(prefers-reduced-motion:reduce) {
 @view-transition {navigation:none;}
}

/* unique-images-pizza-20261019.css */
/* Distinct room motifs lead into the real photographs on each room page. */
.room-link-sketch { display:grid; place-items:center; min-height:190px; height:100%; background:linear-gradient(145deg,var(--cream),var(--sage-soft)); }
.room-link-sketch svg { width:230px; max-width:80%; height:auto; }
.pizza-night-section { scroll-margin-top:110px; background:var(--paper); }
.pizza-night-section .pizza-story > div:first-child { margin-left:0; }
.pizza-night-section .pizza-photo-grid { align-items:start; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); }
.pizza-night-section .pizza-photo-grid img { opacity:1; }
@media (prefers-reduced-motion:reduce) {
 @view-transition { navigation:none; }
}
@media(max-width:759px) {
 .pizza-night-section { scroll-margin-top:90px; }
 .pizza-night-section .pizza-photo-grid { grid-template-columns:minmax(0,1fr); }
 .pizza-night-section .pizza-photo-grid figure:first-child { width:min(100%,360px); }
 .room-link-sketch { min-height:160px; }
}

/* retreat-refinements-20261020.css */
/* October 20: requested framing, Ning's restored story and closing-section layout. */




.page-head-photo .visit-photo-landscape img,
.visit-mealtime-photo img {
 width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover;
}
.page-head-photo .visit-photo-landscape img {object-position:50% 55%;}
.page-head-photo .visit-photo-landscape img[src*="shala-hills"] {object-position:50% 62%;}
.page-head-photo .visit-photo-landscape img[src*="quiet-garden-walk"] {object-position:50% 53%;}
.visit-mealtime-photo {aspect-ratio:auto;height:auto;}
.visit-mealtime-photo img {object-position:50% 55%;}
.ning-story .split {align-items:center;}
.ning-portrait {width:min(100%,400px);margin:0 auto;}
.ning-portrait picture {display:block;}
.ning-portrait img {display:block;width:100%;height:auto;border-radius:var(--radius-l);box-shadow:var(--shadow);}
.ning-portrait figcaption {margin-top:12px;color:var(--muted);font-size:.88rem;text-align:center;}
.ning-class-photo {max-width:780px;margin:38px auto 0;}
.ning-class-photo picture {display:block;}
.ning-class-photo img {display:block;width:100%;height:auto;border-radius:var(--radius-l);}
.ning-class-photo figcaption {margin-top:12px;color:var(--muted);font-size:.88rem;text-align:center;}
.food-menu-copy {max-width:780px;margin:0 auto 32px;}
@media (max-width:759px) {
 
 .ning-portrait {width:min(100%,360px);}
}

/* The homepage closing photo and its copy occupy separate columns. */
.home-final-cta {background:var(--cream);}
.home-final-cta-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;gap:clamp(32px,4.5vw,64px);}
.home-final-cta-copy,.home-final-cta-media {min-width:0;}
.home-final-cta-copy h2 {font-size:clamp(2rem,3.3vw,3rem);color:var(--charcoal);}
.home-final-cta-copy .lead {color:var(--text);}
.home-final-cta-copy .btn-row {gap:12px;}
.home-final-cta-media picture {display:block;}
.home-final-cta-media img {position:static;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 60%;border-radius:var(--radius-l);box-shadow:var(--shadow);transform:none!important;}
@media(max-width:759px) {
 .home-final-cta-layout {grid-template-columns:minmax(0,1fr);gap:28px;}
 .home-final-cta-media img {border-radius:var(--radius);}
}

/* offering-headers-20261020.css */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/dm-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/dm-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/fraunces-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/fraunces-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/fraunces-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/fraunces-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/lora-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/lora-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/dm-sans-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/dm-sans-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/lora-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/lora-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* A shared typographic foundation with a distinct character for each offering. */
:root {
 --sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --serif:"Fraunces",Georgia,serif;
 --tn-header-font:"Fraunces",Georgia,serif;
 --tn-header-bg:#f7f6ee;
 --tn-header-paper:#fffdf7;
 --tn-header-line:#809174;
 --tn-header-accent:#7b8c6c;
 --tn-header-weight:450;
 --tn-header-track:-.035em;
 --tn-photo-corner:32px;
 --tn-title-max:3.8rem;
}
body {font-family:var(--sans);font-optical-sizing:auto;}
h1,h2,h3,h4 {font-optical-sizing:auto;}
[data-header-theme="training"] {--tn-header-font:"DM Sans",Arial,sans-serif;--tn-header-bg:#f0f4ef;--tn-header-line:#658071;--tn-header-paper:#fffefb;--tn-header-weight:550;--tn-header-track:-.045em;--tn-photo-corner:14px;}
[data-header-theme="stay"] {--tn-header-font:"Lora",Georgia,serif;--tn-header-bg:#f7f1e7;--tn-header-line:#938568;--tn-header-weight:450;--tn-header-track:-.025em;--tn-photo-corner:18px;}
[data-header-theme="experience"] {--tn-header-bg:#f2f6ee;--tn-header-line:#7b936f;--tn-photo-corner:38px 18px 38px 18px;}
[data-header-theme="food"] {--tn-header-bg:#faf0e5;--tn-header-line:#a88a68;--tn-photo-corner:38px;}
[data-header-theme="adventure"] {--tn-header-bg:#f5f4e9;--tn-header-line:#92936b;--tn-photo-corner:20px 38px 20px 38px;}
[data-header-theme="story"] {--tn-header-font:"Lora",Georgia,serif;--tn-header-bg:#faf2eb;--tn-header-line:#9a8a72;--tn-header-track:-.025em;--tn-photo-corner:26px;}
[data-header-theme="journal"] {--tn-header-font:"Lora",Georgia,serif;--tn-header-bg:#f8f5ed;--tn-header-line:#918c73;--tn-header-weight:450;--tn-header-track:-.025em;--tn-photo-corner:14px;}
[data-header-theme="visit"] {--tn-header-font:"DM Sans",Arial,sans-serif;--tn-header-bg:#f6f5ef;--tn-header-line:#8b957c;--tn-header-weight:500;--tn-header-track:-.04em;--tn-photo-corner:22px;}
[data-header-theme="training"] main :is(h2,h3) {font-family:"DM Sans",Arial,sans-serif;font-weight:550;letter-spacing:-.025em;}
[data-header-theme="stay"] main :is(h2,h3),[data-header-theme="story"] main :is(h2,h3),[data-header-theme="journal"] main :is(h2,h3) {font-family:"Lora",Georgia,serif;}
.tn-page-header {background:var(--tn-header-bg);border-bottom:1px solid color-mix(in srgb,var(--tn-header-accent) 14%,transparent);}
.tn-page-header .tn-header-copy {min-width:0;}
.hero.hero-split.tn-page-header {background:var(--tn-header-bg);padding-bottom:clamp(32px,4vw,54px);row-gap:28px;}
.hero.hero-split.tn-page-header .hero-content {padding-block:12px;min-height:0!important;}
.tn-page-header .tn-header-copy h1 {
 font-family:var(--tn-header-font);font-size:clamp(2.35rem,4.45vw,var(--tn-title-max))!important;
 font-weight:var(--tn-header-weight);letter-spacing:var(--tn-header-track);line-height:1.12;
 max-width:20ch;margin:0 0 24px;text-wrap:balance;color:var(--charcoal);
}
.tn-page-header .tn-header-copy .lead {font-size:clamp(1.05rem,1.4vw,1.18rem);line-height:1.7;max-width:46ch;margin-bottom:0;}
.tn-page-header .tn-header-copy .eyebrow {color:color-mix(in srgb,var(--tn-header-accent) 60%,#253829 40%)!important;font-family:var(--sans);font-size:.72rem;line-height:1.7;letter-spacing:.14em;margin-bottom:18px;}
.tn-page-header .tn-header-copy .eyebrow::before {background:var(--tn-header-accent);}
.tn-page-header .tn-header-copy .btn-row {margin-top:26px;gap:12px;}
.tn-page-header .tn-header-copy .hero-facts {margin-top:20px;font-size:.82rem;gap:8px 16px;}
.tn-page-header .tn-header-media {min-width:0;background:transparent;box-shadow:none;overflow:visible;}
.tn-page-header :is(.hero-media,.page-head-media) img {
 border-radius:var(--tn-photo-corner);outline:6px solid var(--tn-header-paper);outline-offset:0;
 box-shadow:0 12px 32px rgba(53,58,39,.09);
}
.tn-page-header .tn-header-scene {margin-top:26px;width:min(100%,440px);}
.tn-header-scene > svg > g {stroke:var(--tn-header-line);}
.tn-header-visual {grid-column:2;grid-row:2;display:grid;gap:18px;align-self:center;min-width:0;}
.page-head-layout > .tn-header-visual {grid-row:1;}
.hero.hero-split.tn-page-header .tn-header-visual .hero-media {grid-column:auto;grid-row:auto;}
.tn-header-visual .tn-header-scene {width:min(94%,480px);margin:0;justify-self:center;}

/* Retreat: an open, soft landscape around the practice rather than a formal card. */
[data-header-theme="retreat"] .tn-header-copy h1 {max-width:17ch;}
[data-header-layout="serene"] .tn-header-copy {padding-block:24px;}
[data-header-layout="serene"] .tn-header-copy h1 {max-width:15ch;font-weight:400;line-height:1.16;}
[data-header-layout="serene"] .tn-header-scene {margin-top:34px;}
[data-header-layout="practice"] .tn-header-scene {margin-left:auto;}
[data-header-layout="rhythm"] .tn-header-scene {border-top:1px solid color-mix(in srgb,var(--tn-header-accent) 25%,transparent);padding-top:18px;}
[data-header-layout="journey"] .tn-header-copy h1 {max-width:19ch;}
[data-header-layout="gathering"] .tn-header-copy h1 {font-style:italic;max-width:15ch;}
[data-header-layout="gathering"] .tn-header-scene {margin-left:auto;}
[data-header-layout="outing"] .tn-header-copy h1 {max-width:15ch;}

/* Teacher training: clean study typography, straight keylines and a quiet studio frame. */
[data-header-theme="training"] .tn-header-copy h1 {max-width:20ch;line-height:1.09;}
[data-header-theme="training"] .tn-header-scene {border-top:1px solid #cad7ca;padding-top:18px;}
[data-header-theme="training"] .tn-page-header :is(.hero-media,.page-head-media) img {outline-width:8px;box-shadow:0 10px 0 -2px #dfe7dd,0 18px 30px rgba(50,75,57,.07);}
[data-header-layout="syllabus"] .tn-header-copy {border-left:2px solid #bccabd;padding-left:24px!important;}
[data-header-layout="calendar"] .tn-header-scene {background:linear-gradient(90deg,transparent 49.7%,#dce4d9 50%,transparent 50.3%);}
[data-header-layout="invitation"] .tn-header-copy h1 {max-width:18ch;}
[data-header-layout="mentors"] .tn-header-copy h1 {max-width:16ch;}

/* Accommodation: an understated guesthouse palette and architectural drawing panel. */
[data-header-theme="stay"] .tn-header-copy h1 {max-width:18ch;line-height:1.16;}
[data-header-theme="stay"] .tn-header-scene {border:1px solid color-mix(in srgb,var(--tn-header-accent) 27%,transparent);border-radius:8px;background:rgba(255,253,247,.55);padding:14px 18px;}
[data-header-theme="stay"] .room-heading {padding-block:42px 48px;}
[data-header-theme="stay"] .room-heading-media {border:1px solid #e4d9c7;padding:10px;border-radius:22px;background:#fffdf8;}
[data-header-theme="stay"] .room-heading-media .room-hero-grid {border-radius:14px;overflow:hidden;}
[data-header-layout="room"] .tn-header-copy h1 {max-width:16ch;}
[data-header-layout="welcome"] .tn-header-copy h1 {max-width:18ch;}

/* Experience: let the photograph and its living drawing form a generous visual column. */
[data-header-theme="experience"] .tn-header-copy h1 {max-width:16ch;}
[data-header-layout="community"] .tn-header-copy h1 {font-style:italic;}
[data-header-layout="botanical"] .tn-header-visual .tn-header-scene {width:100%;max-width:500px;}
[data-header-layout="seasonal"] .tn-header-copy h1 {max-width:20ch;}

/* Personal stories and journal articles have a quieter editorial rhythm. */
[data-header-theme="story"] .tn-header-copy {border-left:2px solid color-mix(in srgb,var(--tn-header-accent) 40%,transparent);padding-left:24px!important;}
[data-header-theme="story"] .tn-header-copy h1 {max-width:16ch;}
[data-header-theme="journal"] .tn-header-copy h1 {max-width:23ch;line-height:1.19;}
[data-header-theme="journal"] .tn-header-copy .byline {border-top:1px solid #dfd8c9;padding-top:16px;margin-top:18px;}
[data-header-layout="editorial"] .tn-header-copy h1 {font-style:italic;max-width:15ch;}
[data-header-layout="article"] .tn-header-scene {width:min(100%,350px);margin-top:24px;}

/* Planning headers favour compact, readily scanned text and a useful photo. */
[data-header-theme="visit"] .tn-header-copy h1 {max-width:21ch;line-height:1.12;}
[data-header-theme="visit"] .tn-header-scene {width:min(100%,380px);}
[data-header-theme="visit"] .tn-header-copy .lead {max-width:48ch;}
[data-header-layout="confirmation"] .tn-header-copy {max-width:800px;}
[data-header-layout="confirmation"] .tn-header-copy h1 {margin-inline:auto;}
[data-header-layout="confirmation"] .tn-header-copy .lead {margin-inline:auto;}
[data-header-layout="confirmation"] .tn-header-scene {margin-inline:auto;}

/* Keep the homepage composition, tuned for the new display face. */
.hero.hero-home.hero-split.tn-page-header {background:var(--cream);padding-bottom:32px;}
.hero.hero-home.hero-split.tn-page-header .hero-content {padding:0;}
.hero.hero-home.hero-split.tn-page-header h1 {font-size:clamp(2.65rem,4.65vw,4.2rem)!important;line-height:1.12;max-width:none;font-weight:450;}
.hero.hero-home.hero-split.tn-page-header .eyebrow {max-width:none;}
.hero.hero-home.hero-split.tn-page-header .home-hero-actions .btn-row {margin-top:0;}
.hero.hero-home.hero-split.tn-page-header .home-hero-visual .tn-header-scene {width:min(90%,500px);margin:0;}

@media(min-width:960px) {
 [data-header-theme="experience"] .hero.hero-split.tn-page-header {grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);}
 [data-header-theme="experience"] .page-head-layout {grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);}
 [data-header-theme="training"] .hero.hero-split.tn-page-header,[data-header-theme="training"] .page-head-layout {column-gap:clamp(36px,4vw,64px);}
}
@media(max-width:959px) and (min-width:760px) {
 .tn-page-header .tn-header-copy h1 {font-size:clamp(2.1rem,4.7vw,2.75rem)!important;}
 .tn-page-header .tn-header-copy .lead {font-size:1.05rem;}
 .tn-page-header .tn-header-copy .eyebrow {font-size:.68rem;}
}
@media(max-width:759px) {
 .hero.hero-split.tn-page-header {row-gap:24px;padding-top:22px;padding-bottom:32px;}
 .tn-page-header .tn-header-copy h1 {font-size:clamp(2rem,8.1vw,3rem)!important;line-height:1.15;margin-bottom:20px;max-width:22ch;}
 .tn-page-header .tn-header-copy .lead {font-size:1.05rem;line-height:1.65;}
 .tn-page-header .tn-header-copy .eyebrow {font-size:.68rem;margin-bottom:15px;}
 .hero.hero-split.tn-page-header .hero-content {padding-block:0;}
 .tn-page-header .tn-header-copy .btn-row {margin-top:22px;}
 .tn-page-header .tn-header-scene {width:min(100%,360px);margin-top:20px;}
 .tn-header-visual {grid-column:1;grid-row:3;gap:14px;}
 .page-head-layout > .tn-header-visual {grid-column:1;grid-row:2;}
 .tn-header-visual .tn-header-scene {margin-top:0;width:min(100%,390px);}
 .tn-page-header :is(.hero-media,.page-head-media) img {outline-width:4px;}
 [data-header-theme="training"] .tn-page-header :is(.hero-media,.page-head-media) img {outline-width:5px;}
 [data-header-theme="training"] .tn-header-scene {padding-top:14px;}
 [data-header-theme="story"] .tn-header-copy,[data-header-layout="syllabus"] .tn-header-copy {padding-left:16px!important;}
 [data-header-theme="stay"] .room-heading {padding-block:28px 34px;}
 [data-header-theme="stay"] .room-heading-media {padding:7px;}
 .hero.hero-home.hero-split.tn-page-header {padding-top:28px;}
 .hero.hero-home.hero-split.tn-page-header h1 {font-size:clamp(2rem,8.5vw,3.2rem)!important;}
 .hero.hero-home.hero-split.tn-page-header .home-hero-visual .tn-header-scene {width:min(100%,380px);}
}

/* Respect theme-specific photo frames over the earlier shared header rules. */
.hero.hero-split.tn-page-header .hero-media img,
.page-head-photo.tn-page-header .page-head-media img {border-radius:var(--tn-photo-corner);}
@media(min-width:760px) and (max-width:959px) {
 .hero.hero-home.hero-split.tn-page-header h1 {font-size:clamp(2rem,4.2vw,2.5rem)!important;}
}

/* A visual column enters as one unit so the photo never slides into its drawing. */
@media(prefers-reduced-motion:no-preference) {
 html.tn-ready .tn-header-visual .page-head-media {animation:none!important;transform:none!important;}
 html.tn-ready .tn-header-visual {animation:tn-nature-arrive .8s cubic-bezier(.2,.65,.3,1) both;}
}

[data-header-page="home"] {--tn-header-accent:#a65b37;--tn-title-max:4.15rem;}
[data-header-page="retreat"] {--tn-header-accent:#6e8563;--tn-title-max:3.8rem;}
[data-header-page="retreat-yoga"] {--tn-header-accent:#63835e;--tn-title-max:4.15rem;}
[data-header-page="retreat-meditation"] {--tn-header-accent:#7c896e;--tn-title-max:4.15rem;}
[data-header-page="retreat-daily-schedule"] {--tn-header-accent:#8a815b;--tn-title-max:4.15rem;}
[data-header-page="retreat-how-long-to-stay"] {--tn-header-accent:#7c8c6b;--tn-title-max:3.8rem;}
[data-header-page="retreat-food"] {--tn-header-accent:#ae7045;--tn-title-max:4.15rem;}
[data-header-page="retreat-activities"] {--tn-header-accent:#7f8b4d;--tn-title-max:4.15rem;}
[data-header-page="ttc"] {--tn-header-accent:#446b58;--tn-title-max:3.45rem;}
[data-header-page="ttc-curriculum"] {--tn-header-accent:#536f62;--tn-title-max:3.9rem;}
[data-header-page="ttc-dates-prices"] {--tn-header-accent:#6d7e5c;--tn-title-max:3.9rem;}
[data-header-page="ttc-daily-schedule"] {--tn-header-accent:#6b7e73;--tn-title-max:3.45rem;}
[data-header-page="ttc-is-this-for-me"] {--tn-header-accent:#567f70;--tn-title-max:3.9rem;}
[data-header-page="ttc-teachers"] {--tn-header-accent:#536d5c;--tn-title-max:3.9rem;}
[data-header-page="ttc-faq"] {--tn-header-accent:#708365;--tn-title-max:3.45rem;}
[data-header-page="apply"] {--tn-header-accent:#5c806f;--tn-title-max:3.45rem;}
[data-header-page="apply-thanks"] {--tn-header-accent:#5c806f;--tn-title-max:3.45rem;}
[data-header-page="stay"] {--tn-header-accent:#a17c53;--tn-title-max:3.8rem;}
[data-header-page="property"] {--tn-header-accent:#8c865d;--tn-title-max:4.15rem;}
[data-header-page="book"] {--tn-header-accent:#9b794e;--tn-title-max:4.15rem;}
[data-header-page="stay-earth-house"] {--tn-header-accent:#a48257;--tn-title-max:3.7rem;}
[data-header-page="stay-rose-house"] {--tn-header-accent:#a27671;--tn-title-max:3.7rem;}
[data-header-page="stay-triangle-house"] {--tn-header-accent:#9d7857;--tn-title-max:3.7rem;}
[data-header-page="stay-bamboo-house"] {--tn-header-accent:#7d8b65;--tn-title-max:3.7rem;}
[data-header-page="stay-bamboo-bungalow"] {--tn-header-accent:#88956a;--tn-title-max:3.7rem;}
[data-header-page="stay-wooden-cottage"] {--tn-header-accent:#a1815b;--tn-title-max:3.7rem;}
[data-header-page="stay-nature-tent"] {--tn-header-accent:#6e8264;--tn-title-max:3.7rem;}
[data-header-page="booking-confirmed"] {--tn-header-accent:#8b855d;--tn-title-max:3.8rem;}
[data-header-page="experience"] {--tn-header-accent:#708665;--tn-title-max:4.15rem;}
[data-header-page="experience-daily-life"] {--tn-header-accent:#8a986b;--tn-title-max:4.15rem;}
[data-header-page="experience-nature"] {--tn-header-accent:#5d7f5c;--tn-title-max:4.15rem;}
[data-header-page="guest-stories"] {--tn-header-accent:#a18361;--tn-title-max:4.15rem;}
[data-header-page="right-now"] {--tn-header-accent:#83975d;--tn-title-max:3.8rem;}
[data-header-page="about"] {--tn-header-accent:#a47d5e;--tn-title-max:4.15rem;}
[data-header-page="about-our-philosophy"] {--tn-header-accent:#8b9275;--tn-title-max:4.15rem;}
[data-header-page="team"] {--tn-header-accent:#9e8468;--tn-title-max:4.15rem;}
[data-header-page="journal"] {--tn-header-accent:#8f826d;--tn-title-max:4.15rem;}
[data-header-page="journal-best-time-to-visit-chiang-mai-for-a-retreat"] {--tn-header-accent:#899470;--tn-title-max:3.15rem;}
[data-header-page="journal-how-long-should-i-stay"] {--tn-header-accent:#948465;--tn-title-max:3.15rem;}
[data-header-page="journal-solo-travel-retreat-chiang-mai"] {--tn-header-accent:#9b806a;--tn-title-max:3.15rem;}
[data-header-page="journal-what-a-retreat-day-is-really-like"] {--tn-header-accent:#879077;--tn-title-max:3.15rem;}
[data-header-page="journal-yoga-retreat-for-beginners-thailand"] {--tn-header-accent:#80907a;--tn-title-max:3.15rem;}
[data-header-page="plan-your-visit"] {--tn-header-accent:#78836c;--tn-title-max:3.9rem;}
[data-header-page="before-you-come"] {--tn-header-accent:#9a8b66;--tn-title-max:3.45rem;}
[data-header-page="getting-here"] {--tn-header-accent:#72846c;--tn-title-max:3.9rem;}
[data-header-page="what-to-bring"] {--tn-header-accent:#8b8b69;--tn-title-max:3.45rem;}
[data-header-page="faq"] {--tn-header-accent:#7b8d78;--tn-title-max:3.9rem;}
[data-header-page="contact"] {--tn-header-accent:#8b9278;--tn-title-max:3.9rem;}
[data-header-page="contact-thanks"] {--tn-header-accent:#8b9278;--tn-title-max:3.9rem;}
[data-header-page="chiang-mai-weather-retreat-seasons"] {--tn-header-accent:#969363;--tn-title-max:3.45rem;}
[data-header-page="404"] {--tn-header-accent:#899273;--tn-title-max:4.15rem;}

/* wellness-ui-20261021.css */
/* Warm finishing details, layered after the approved offering-specific headers. */
/* Native cross-document transitions can abort during rapid menu/form navigation. */
@view-transition {navigation:none;}
:root {
  --charcoal:#2c2a28;
  --text:#44413c;
  --muted:#69645d;
  --radius-s:12px;
  --radius:12px;
  --tn-section-space:clamp(4.5rem,7.5vw,6.5rem);
  --tn-section-small-space:clamp(3rem,5vw,4.5rem);
}
.section {padding-block:var(--tn-section-space);}
.section-sm {padding-block:var(--tn-section-small-space);}
.card,.stay-card,.btn,figure,figure img {border-radius:12px!important;}
.card,.stay-card {transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.card:focus-within,.stay-card:focus-within {box-shadow:0 6px 24px rgba(44,42,40,.1);}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .card:hover,.stay-card:hover {transform:translateY(-4px);box-shadow:0 12px 30px rgba(44,42,40,.12);border-color:#c4cdb9;}
}
.booking-proof,.cta-proof {margin:.8rem 0 0;font-size:.82rem;line-height:1.6;color:var(--muted);font-style:italic;max-width:56ch;}
.booking-search .booking-proof {grid-column:1/-1;margin:0;text-align:center;max-width:none;}
.cta-proof cite,.booking-proof cite {font:inherit;white-space:nowrap;}
.booking-proof a,.cta-proof a {color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;}
.room-rate {margin:1rem 0 .4rem;padding-top:.85rem;border-top:1px solid var(--line);font-size:.84rem;line-height:1.5;color:var(--olive-dark);}
.room-rate small {display:block;color:var(--muted);font-size:.78rem;}
.mobile-bar .booking-proof {font-size:.74rem;margin:.5rem auto 0;line-height:1.45;text-align:center;max-width:44ch;}
.mobile-bar {transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility 0s;}
.mobile-bar.show:not(.scroll-hidden) {transform:translateY(0);visibility:visible;}
.mobile-bar.scroll-hidden {transform:translateY(110%);visibility:hidden;pointer-events:none;transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility 0s .28s;}
.booking-float.scroll-hidden {transform:translateY(calc(-100% - var(--header-h) - 16px));visibility:hidden;pointer-events:none;}
.booking-float {transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility .28s;}
@media (max-width:759px) {
  .js .wa-float {bottom:calc(var(--tn-booking-clearance,0px) + max(16px,env(safe-area-inset-bottom)));transition:bottom .28s cubic-bezier(.22,.61,.36,1),opacity .3s,transform .3s,box-shadow .22s ease;}
}

/* A link plus a disclosure button: native navigation, accessible on click or key. */
.nav-retreat {position:relative;}
.nav-retreat-heading {display:flex;align-items:center;justify-content:space-between;gap:3px;}
.nav-retreat-heading>a {flex:1;}
.nav-submenu-toggle {display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--charcoal);cursor:pointer;-webkit-tap-highlight-color:transparent;}
.nav-submenu-toggle svg {width:16px;height:16px;transition:transform .2s ease;}
.nav-submenu-toggle[aria-expanded="true"] svg {transform:rotate(180deg);}
.nav-submenu-toggle:hover {background:var(--sage-soft);}
.nav-submenu-toggle:focus-visible {outline:2px solid var(--olive);outline-offset:2px;}
.site-nav .nav-submenu[hidden] {display:none!important;}
.site-nav .nav-submenu {display:block;list-style:none;margin:0;padding:8px 12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;}
.site-nav .nav-submenu li {opacity:1;transform:none;transition:none;}
.site-nav .nav-submenu a {display:block;font-family:var(--sans);font-size:.92rem;line-height:1.45;padding:12px 10px;border:0;border-radius:8px;}
.site-nav .nav-submenu a::after {display:none;}
.site-nav .nav-submenu a:hover,.site-nav .nav-submenu a:focus-visible {background:var(--sage-soft);}
.no-js .nav-submenu-toggle {display:none;}
@media (min-width:1080px) {
  .site-nav>ul {gap:24px;}
  .nav-retreat-heading {gap:0;}
  .nav-submenu-toggle {width:32px;}
  .site-nav .nav-submenu {position:absolute;top:calc(100% + 10px);left:-14px;min-width:245px;z-index:60;box-shadow:0 14px 36px rgba(44,42,40,.12);}
  .no-js .nav-retreat .nav-submenu {display:none;}
  .no-js .nav-retreat:hover .nav-submenu,.no-js .nav-retreat:focus-within .nav-submenu {display:block;}
}
@media (max-width:1079px) {
  .site-nav>.nav-cta {margin-top:24px;}
  .site-nav .nav-retreat-heading>a {border-bottom:0;}
  .nav-retreat-heading {border-bottom:1px solid var(--line);min-height:58px;}
  .site-nav .nav-submenu {margin:8px 0 14px;padding:6px;}
  .site-nav .nav-submenu a {min-height:46px;display:flex;align-items:center;}
  .no-js .site-nav>ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
  .no-js .site-nav .nav-submenu {position:static;display:block;}
}
@keyframes tn-fade-in-up {
  from {opacity:0;transform:translateY(16px);}
  to {opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion:no-preference) {
  .tn-reveal.tn-visible.fade-in-up {animation:tn-fade-in-up .6s cubic-bezier(.22,.61,.36,1) var(--tn-delay,0ms) both;}
  .tn-reveal.tn-visible.fade-in-up.tn-entry-complete {animation:none;}
}
@media (prefers-reduced-motion:reduce) {
  .card,.stay-card,.mobile-bar,.booking-float,.nav-submenu-toggle svg,.js .wa-float {transition:none;}
  .tn-reveal.fade-in-up {animation:none!important;opacity:1!important;transform:none!important;}
}
