/* Tribalys Ghent – design G "Ankommen dunkel". Fonts self-hosted (SIL OFL). */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.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:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-italic.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:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-ext-500-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.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:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-italic.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:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-ext-600-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2-variations');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:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format('woff2-variations');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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --esp:#17120E; --walnut:#221A15; --walnut2:#2B221C; --line:#3A2F27; --line2:#5A4838;
  --cream:#F2E8DA; --cream2:#E6DACA; --muted:#B8A999;
  --gold:#D9B27C; --sage:#A3B98F; --sage2:#C3D4B2; --moss:#4F5B3A; --terra:#A65A38;
  --sand:#EDE3D3; --sandcard:#F7F1E7; --sandline:#D9CDBB; --ink:#2A211B; --inkmuted:#5E5145; --brown:#7A5828;
  --tagbg:#2E3A28; --tagfg:#D6E3CA;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-lg:32px; --r-md:24px; --r-sm:16px;
  --gutter:clamp(16px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--esp);color:var(--cream);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--sage)}a:hover{color:var(--sage2)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;margin:0;line-height:1.05;text-wrap:balance}
h2{font-size:clamp(36px,4.6vw,56px)}
h2 em,h1 em{color:var(--gold);font-style:italic}
.band.sand h2 em{color:var(--brown)}
p{margin:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--cream);color:var(--esp);padding:10px 16px;border-radius:999px;z-index:100}
.skip:focus{left:16px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.eyebrow{display:block;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:12px}
.band.sand .eyebrow{color:var(--brown)}
.lead{font-size:clamp(16px,1.4vw,18px);color:var(--cream2);max-width:640px;margin-top:14px}
.band.sand .lead{color:var(--inkmuted)}
.section{padding:clamp(64px,8vw,104px) 0}
.band{padding:clamp(64px,8vw,96px) 0}
.band.sand{background:var(--sand);color:var(--ink)}
.section-head{margin-bottom:36px}
.section-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.more{font-weight:600;font-size:15px}
.empty{color:var(--muted)}
.band.sand .empty{color:var(--inkmuted)}
.band.sand a:not(.btn){color:var(--moss)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;font:700 15px var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-sm{min-height:44px;padding:0 20px;font-size:14px}
.btn-sage{background:var(--sage);color:var(--esp)}.btn-sage:hover{background:var(--sage2);color:var(--esp)}
.btn-moss{background:var(--moss);color:var(--cream)}.btn-moss:hover{background:#5F6D46;color:var(--cream)}
.btn-line-dark{border-color:var(--moss);color:var(--moss)}.btn-line-dark:hover{background:var(--moss);color:var(--cream)}
.btn-line-gold{border-color:var(--gold);color:var(--gold)}
.linkrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(23,18,14,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-row{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:.12em;color:var(--cream);text-decoration:none;white-space:nowrap}
.logo em{color:var(--gold);font-weight:500;letter-spacing:.06em}
.logo:hover{color:var(--cream)}
.main-nav{display:flex;gap:30px;font-size:15px;font-weight:500}
.main-nav a{color:var(--cream);text-decoration:none}
.main-nav a:hover{color:var(--gold)}
.main-nav a.gold{color:var(--gold)}
.head-actions{display:flex;align-items:center;gap:12px}
.calm-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--cream);font:500 14px var(--sans);cursor:pointer}
.calm-btn .ic{width:16px;height:16px;color:var(--sage)}.calm-btn .fill{fill:currentColor}
.calm-btn[aria-pressed="true"]{border-color:var(--sage);background:var(--tagbg)}
.burger{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:18px;height:1.5px;background:var(--cream)}
.drawer{border-top:1px solid var(--line);padding:12px var(--gutter) 24px;display:flex;flex-direction:column}
.drawer[hidden]{display:none}
.drawer a{color:var(--cream);text-decoration:none;font-size:18px;padding:12px 0;border-bottom:1px solid var(--line)}

/* hero */
.hero{padding:clamp(40px,6vw,72px) 0 clamp(48px,6vw,80px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
.pill-eyebrow{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;border:1px solid var(--line);border-radius:999px;padding:8px 16px;margin-bottom:28px}
.hero h1{font-size:clamp(38px,4.6vw,60px);line-height:1.04;color:var(--cream)}
.arrive{font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.6vw,34px);color:var(--gold);margin-top:14px}
.hero-sub{font-size:clamp(17px,1.5vw,19px);color:var(--cream2);max-width:560px;margin-top:22px}
.checkin{margin-top:40px}
.checkin-q{font-family:var(--serif);font-size:28px;font-weight:500;margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{min-height:48px;padding:0 20px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--cream);font:500 15px var(--sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chip:hover{border-color:var(--cream)}
.chip[aria-selected="true"]{background:var(--cream);color:var(--esp);border-color:var(--cream);font-weight:600}
.look-around{display:inline-block;margin-top:16px;font-size:14px;color:var(--muted)}
.hero-visual{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.rings{position:absolute;inset:0}
.rings span{position:absolute;border-radius:50%;border:1px solid var(--line)}
.rings span:nth-child(1){inset:0}
.rings span:nth-child(2){inset:6%;border-color:#4A3C31}
.rings span:nth-child(3){inset:12%;border-color:var(--line2);background:#1D1612}
.hero-img{position:relative;width:62%;aspect-ratio:3/4;object-fit:cover;object-position:30% 50%;border-radius:999px 999px 28px 28px;box-shadow:0 30px 60px rgba(0,0,0,.35)}
@media (prefers-reduced-motion:no-preference){
  html:not(.calm) .rings span:nth-child(1){animation:breathe 9s ease-in-out infinite}
  html:not(.calm) .rings span:nth-child(2){animation:breathe 9s ease-in-out .6s infinite}
}
@keyframes breathe{0%,100%{transform:scale(.985);opacity:.7}50%{transform:scale(1.015);opacity:1}}

/* ticker */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--walnut)}
.ticker-row{display:flex;align-items:stretch;max-width:1280px;margin:0 auto}
.ticker-tag{flex-shrink:0;display:flex;align-items:center;padding:0 22px 0 var(--gutter);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold);border-right:1px solid var(--line)}
.ticker-viewport{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-track{display:flex;gap:44px;list-style:none;margin:0;padding:16px 22px;width:max-content}
.ticker-track li{white-space:nowrap;font-size:15px;color:var(--cream2)}
.ticker-track li+li::before{content:"✦";color:var(--gold);margin-right:44px;font-size:11px;vertical-align:2px}
.ticker-track a{color:inherit;text-decoration:none}
.ticker-track strong{color:var(--cream);font-weight:600}
.ticker-track .go{color:var(--sage);font-weight:600;margin-left:6px}
.ticker-track a:hover .go{text-decoration:underline}
@media (prefers-reduced-motion:no-preference){
  html:not(.calm) .ticker-track.is-moving{animation:tick var(--tick-dur,40s) linear infinite}
  html:not(.calm) .ticker-viewport:hover .ticker-track,html:not(.calm) .ticker-viewport:focus-within .ticker-track{animation-play-state:paused}
}
html.calm .ticker-viewport,.ticker-viewport.static{overflow-x:auto}
@keyframes tick{to{transform:translateX(calc(-50% - 22px))}}

/* check-in panels */
.panel[data-hidden]{display:none}
.feature{background:var(--sandcard);border-radius:var(--r-lg);padding:clamp(20px,3vw,40px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,48px)}
.feature-main{display:flex;flex-direction:column;gap:12px}
.feature-img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px;background:var(--sandline)}
.meta-line{font-size:14px;font-weight:700;color:var(--moss)}
.feature-title{font-size:clamp(30px,3vw,38px);font-weight:600}
.feature-title a{color:var(--ink);text-decoration:none}
.feature-title a:hover{text-decoration:underline;text-decoration-thickness:1px}
.feature-text{color:var(--inkmuted)}
.feature-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:4px}
.price{font-size:15px;color:var(--inkmuted)}
.expect h4{font-size:28px;font-weight:600;margin-bottom:10px}
.expect ul{list-style:none;margin:0;padding:0}
.expect li{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--sandline)}
.expect li:last-child{border-bottom:1px solid var(--sandline)}
.expect .ic{color:var(--moss);width:22px;height:22px;margin-top:2px}
.expect li>span{display:flex;flex-direction:column;gap:2px}
.expect strong{font-weight:700}
.expect li span span{color:var(--inkmuted)}
.minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.mini{display:flex;flex-direction:column;gap:6px;background:var(--sandcard);border:1px solid var(--sandline);border-radius:var(--r-md);padding:22px;text-decoration:none;color:var(--ink);transition:border-color .2s}
.band.sand .mini{color:var(--ink)}
.mini:hover{border-color:var(--moss)}
.mini-title{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.1}
.mini-sub{font-size:14px;color:var(--inkmuted)}
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.offer{background:var(--sandcard);border-radius:28px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.band.sand .offer{color:var(--ink)}
.offer img{width:100%;aspect-ratio:4/3;object-fit:cover}
.offer-body{padding:24px;display:flex;flex-direction:column;gap:6px;color:var(--inkmuted);font-size:15px}
.offer-title{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink);line-height:1.1}
.offer:hover .offer-title{text-decoration:underline;text-decoration-thickness:1px}

/* week */
.week-card{background:var(--walnut);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,40px)}
.week-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.week-label{color:var(--muted);font-size:15px;margin-top:8px}
.week-nav{display:flex;gap:10px}
.round{width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--cream);display:grid;place-items:center;cursor:pointer}
.round:hover:not(:disabled){border-color:var(--cream)}
.round:disabled{opacity:.35;cursor:default}
.week-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.day{display:flex;flex-direction:column;gap:10px;min-height:150px;padding:12px;border-radius:var(--r-sm);border:1px solid transparent}
.day.is-today{border-color:var(--line2);background:var(--walnut2)}
.day.is-past{opacity:.45}
.day-name{font-size:14px;color:var(--muted)}
.day-name b{color:var(--cream);font-weight:700}
.day-name em{font-style:normal;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-left:4px}
.day-items{display:flex;flex-direction:column;gap:8px}
.ev{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;text-decoration:none;background:#2E3A28;color:var(--cream);border:1px solid #3F4E36}
.ev:hover{border-color:var(--sage);color:var(--cream)}
.ev-when{font-size:12px;font-weight:700;color:var(--gold)}
.ev-title{font-size:14px;font-weight:600;line-height:1.3}
.ev-workshop{background:var(--terra);border-color:#B8704E}
.ev-workshop .ev-when{color:#FBE3C8}
.rest{font-family:var(--serif);font-style:italic;font-size:17px;color:#8F8173}
.week-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:15px}
.week-foot a{font-weight:600}
.legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.dot-class{background:#4F6B45}.dot-workshop{background:var(--terra);margin-left:12px}

/* doors */
.doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px}
.door{position:relative;min-height:340px;border-radius:200px 200px 0 0;padding:64px 26px 60px;display:flex;flex-direction:column;gap:10px;text-decoration:none;border:1.5px solid var(--cream2);color:var(--cream);transition:transform .25s}
.door:hover{transform:translateY(-4px);color:var(--cream)}
.door-tag{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.door-title{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.05}
.door-text{font-size:15px;color:var(--cream2)}
.knob{position:absolute;right:24px;bottom:24px;width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor}
.door-studio{background:var(--moss);border-color:var(--moss)}
.door-studio .door-text{color:#E3E6D6}
.door-hearth{background:var(--gold);border-color:var(--gold);color:var(--esp)}
.door-hearth:hover{color:var(--esp)}
.door-hearth .door-tag{color:#5A3E1A}.door-hearth .door-text{color:#3A2C1C}
.door-garden{border-style:dashed;border-color:var(--sage);background:#1E211A}
.door-garden .door-tag{color:var(--sage)}
@media (prefers-reduced-motion:reduce){.door:hover{transform:none}}
html.calm .door:hover{transform:none}

/* agreements */
.agreements{background:var(--walnut);border:1px solid var(--line);border-radius:40px;padding:clamp(28px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(28px,5vw,64px)}
.agree-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.agree-list li{border-top:1px solid var(--line2);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.agree-list strong{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.1}
.agree-list span{color:var(--muted)}

/* people */
.people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.people a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--cream)}
.people img,.initials{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md);background:var(--walnut2)}
.initials{display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:40px;color:var(--muted)}
.p-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.p-name{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.1}
.p-role{font-size:14px;color:var(--muted);line-height:1.4}
.people a:hover .p-name{text-decoration:underline;text-decoration-thickness:1px}

/* tribe board */
.board-section{background:var(--walnut);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.notes{list-style:none;margin:0;padding:8px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;align-items:start}
.note{position:relative;background:var(--sandcard);color:var(--ink);padding:30px 22px 22px;border-radius:6px;box-shadow:0 14px 28px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:8px}
.note-0{transform:rotate(-1.6deg)}.note-1{transform:rotate(1.2deg);margin-top:18px}.note-2{transform:rotate(-.6deg);background:var(--gold)}.note-3{transform:rotate(1.8deg);margin-top:10px}
.pin{position:absolute;top:10px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--terra);box-shadow:0 2px 3px rgba(0,0,0,.4)}
.note-1 .pin{background:var(--moss)}.note-2 .pin{background:var(--sandcard)}
.note-type{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--inkmuted)}
.note-2 .note-type{color:#5A3E1A}
.note-title{font-family:var(--serif);font-style:italic;font-weight:600;font-size:26px;line-height:1.1}
.note-text{font-size:15px;color:var(--inkmuted)}
.note-2 .note-text{color:#3A2C1C}
.note a{font-size:14px;font-weight:700;color:var(--moss);margin-top:4px}
.note-2 a{color:var(--esp)}
html.calm .note{transform:none;margin-top:0}

/* visit */
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:center}
.map{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--sandline)}
.map img{width:100%;height:100%;object-fit:cover}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-consent button{white-space:nowrap;flex-shrink:0}
.map-consent{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(23,18,14,.9);color:var(--cream);border-radius:var(--r-sm);padding:16px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.45}

/* newsletter */
.nl{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
.nl-form{background:var(--walnut);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nl-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--cream2)}
.nl-form input[type=text],.nl-form input[type=email]{min-height:50px;border-radius:14px;border:1px solid var(--line2);background:var(--esp);color:var(--cream);font:400 16px var(--sans);padding:0 16px}
.nl-form input:focus{border-color:var(--gold);outline:none}
fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
legend{font-size:14px;font-weight:600;color:var(--cream2);margin-bottom:10px;padding:0}
legend span{font-weight:400;color:var(--muted)}
.nl-form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;cursor:pointer}
fieldset .check{align-items:center;border:1px solid var(--line2);border-radius:999px;padding:8px 14px;font-size:14px}
fieldset .check:has(input:checked){border-color:var(--sage);background:var(--tagbg);color:var(--tagfg)}
.check input{accent-color:var(--sage);width:17px;height:17px;margin:3px 0 0;flex-shrink:0}
fieldset .check input{margin:0}
.consent{font-size:13px;line-height:1.5;color:var(--muted)}
.form-msg{font-size:15px;min-height:0}
.form-msg.ok{color:var(--sage)}.form-msg.err{color:#E8A98C}
.nl-form button{align-self:flex-start}
.nl-done{font-family:var(--serif);font-size:28px;color:var(--gold)}

/* footer */
.site-foot{background:#100C09;padding:clamp(56px,7vw,88px) 0 40px}
.foot-claim{font-family:var(--serif);font-size:clamp(34px,4.4vw,56px);line-height:1.05;max-width:980px}
.foot-claim em{color:var(--gold)}
.foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1.1fr 1.5fr;gap:32px;margin-top:48px;font-size:15px;color:var(--muted);line-height:1.9}
.foot-cols strong{color:var(--cream)}
.foot-cols a{color:var(--cream2);text-decoration:none}
.foot-cols a:hover{color:var(--gold)}
.foot-legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:#8F8173}
.foot-legal a{color:inherit}

/* responsive */
@media (max-width:1100px){
  .main-nav{gap:20px}
  .people{grid-template-columns:repeat(3,minmax(0,1fr))}
  .doors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:900px){
  .main-nav,.head-cta{display:none}
  .burger{display:flex}
  .hero-grid,.feature,.visit,.nl,.agreements{grid-template-columns:1fr}
  .hero-visual{order:-1;max-width:300px;width:100%;margin:0 auto}
  .minis,.offers{grid-template-columns:1fr}
  .agree-list{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr 1fr}
  .week-grid{grid-template-columns:1fr;gap:4px}
  .day{min-height:0;flex-direction:row;align-items:flex-start;gap:14px;padding:12px 10px;border-bottom:1px solid var(--line);border-radius:12px}
  .day-name{width:74px;flex-shrink:0;padding-top:10px}
  .day-items{flex:1}
  .day.is-past{display:none}
  .rest{padding-top:8px}
}
@media (max-width:560px){
  body{font-size:16px}
  .logo{font-size:22px}
  .calm-btn span{display:none}
  .calm-btn{width:44px;padding:0;justify-content:center}
  .doors{gap:14px}
  .door{min-height:250px;padding:52px 16px 44px;border-radius:120px 120px 0 0}
  .door-title{font-size:24px}
  .door-text{font-size:13px;line-height:1.45}
  .door-tag{font-size:10px}
  .knob{right:16px;bottom:16px}
  .notes{grid-template-columns:1fr}
  .note-1,.note-3{margin-top:0}
  .people{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .p-name{font-size:20px}
  .field-row{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr}
  .map-consent{flex-direction:column;align-items:flex-start}
  .ticker-tag{padding:0 14px 0 16px;font-size:11px}
  .week-head{flex-wrap:wrap}
  .checkin-q{font-size:24px}
  .chip{min-height:44px;padding:0 16px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* FAQ (start page block + /faq) */
.faq-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.faq-intro{position:sticky;top:110px}
.faq-intro .btn{margin-top:26px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 2px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
.faq-q{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2vw,25px);line-height:1.25;color:var(--cream);margin:0}
.faq-item summary:hover .faq-q{color:var(--gold)}
.faq-ic{flex:0 0 30px;height:30px;border:1px solid var(--line2);border-radius:50%;position:relative}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--gold);transform:translate(-50%,-50%);transition:transform .25s ease}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] .faq-ic::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{padding:0 48px 24px 2px;color:var(--cream2);font-size:16px;line-height:1.7;max-width:680px}
.faq-a a{color:var(--gold)}
.faq-a em{font-style:italic;color:var(--cream)}
.faq-page .faq-group{margin-top:56px}
.faq-page .faq-group:first-of-type{margin-top:8px}
.faq-page .faq-group h2{font-size:clamp(28px,3vw,38px);margin-bottom:18px}
.faq-toc{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.faq-toc a{border:1px solid var(--line2);border-radius:999px;padding:8px 16px;color:var(--cream);text-decoration:none;font-size:14px}
.faq-toc a:hover{border-color:var(--gold);color:var(--gold)}
.faq-more{margin-top:64px;padding:32px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--walnut)}
.faq-more p{color:var(--cream2);margin-top:8px}
@media (max-width:900px){
  .faq-wrap{grid-template-columns:1fr}
  .faq-intro{position:static}
  .faq-a{padding-right:8px}
}
.faq-page h1{font-size:clamp(40px,5vw,64px);line-height:1.05;margin-bottom:6px}
.faq-page h1 em,.faq-section h2 em{color:var(--gold)}

/* hero v2: text left, villa photo fills the right half */
.hero{padding:0;position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;min-height:min(calc(100vh - 80px),920px)}
.hero-copy{align-self:center;padding:clamp(48px,6vw,88px) clamp(32px,4vw,64px) clamp(48px,6vw,88px) max(var(--gutter),calc((100vw - 1280px)/2 + var(--gutter)))}
.hero-visual{position:relative;aspect-ratio:auto;display:block;min-height:560px;overflow:hidden}
.hero-visual picture{position:absolute;inset:0;display:block}
.hero-img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:55% 40%;border-radius:0;box-shadow:none}
.hero-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--esp) 0,rgba(23,18,14,.55) 7%,rgba(23,18,14,0) 26%),linear-gradient(0deg,rgba(23,18,14,.35) 0,rgba(23,18,14,0) 22%)}
.rings{display:none}
.arrive{line-height:1.2}
.arrive span{display:block;color:var(--cream)}
/* chips: one row, serif */
.chips{flex-wrap:nowrap;gap:8px}
.chip{flex:0 0 auto;min-height:46px;padding:0 18px;font:600 19px/1 var(--serif);letter-spacing:.01em;white-space:nowrap}
.chip[aria-selected="true"]{font-weight:600}

/* ticker v2: a bright gold band */
.ticker{background:var(--gold);border-top:0;border-bottom:0;color:var(--esp)}
.ticker-tag{color:var(--gold);background:var(--esp);border-right:0;padding:0 22px 0 var(--gutter);font-size:12px}
.ticker-viewport{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ticker-track{padding:17px 22px}
.ticker-track li{color:#3B2A1C;font-size:16px}
.ticker-track strong{color:var(--esp);font-weight:700}
.ticker-track li+li::before{color:var(--terra);font-size:12px}
.ticker-track .go{color:var(--terra);font-weight:700}

@media (max-width:1180px){
  .chip{padding:0 14px;font-size:17px}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-visual{order:-1;max-width:none;width:100%;margin:0;min-height:0;height:min(58vh,460px)}
  .hero-visual::after{background:linear-gradient(0deg,var(--esp) 0,rgba(23,18,14,.4) 14%,rgba(23,18,14,0) 40%)}
  .hero-copy{padding:8px var(--gutter) 48px}
  .chips{overflow-x:auto;scrollbar-width:none;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter)}
  .chips::-webkit-scrollbar{display:none}
  .chip{font-size:17px;min-height:44px;padding:0 15px}
  /* ticker: label on top, items wrap to two lines */
  .ticker-row{flex-direction:column}
  .ticker-tag{padding:7px var(--gutter);align-self:flex-start;border-radius:0 0 12px 0}
  .ticker-track{padding:10px 16px 14px;gap:28px;align-items:flex-start}
  .ticker-track li{white-space:normal;width:78vw;max-width:340px;font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ticker-track li+li::before{display:none}
  .ticker-track li{border-left:2px solid var(--terra);padding-left:12px}
}
@media (max-width:480px){
  .chips{gap:5px;margin-right:0;padding-right:0}
  .chip{padding:0 8px;font-size:15px;min-height:42px}
}
@media (min-width:901px){
  .ticker-row{max-width:none}
  .ticker-tag{padding-left:max(var(--gutter),calc((100vw - 1280px)/2 + var(--gutter)))}
}

/* class teaser cards under the week view */
.picked{margin-top:clamp(56px,7vw,88px)}
.picked .section-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.picked-h{font-size:clamp(30px,3.4vw,44px)}
.ccards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ccard{display:flex;flex-direction:column;background:var(--walnut);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:var(--cream);transition:border-color .2s,transform .2s}
.ccard[hidden]{display:none}
.ccard:hover{border-color:var(--gold);transform:translateY(-2px)}
.ccard-img{display:block;aspect-ratio:16/10;background:var(--walnut2)}
.ccard-img img{width:100%;height:100%;object-fit:cover;display:block}
.ccard-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px;flex:1}
.ccard .meta-line{color:var(--sage2);font-size:13px;font-weight:600}
.ccard-title{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.12}
.ccard-sub{font-size:14px;color:var(--muted)}
.ccard-tag{align-self:flex-start;margin-top:auto;font-size:12px;font-weight:600;color:var(--tagfg);background:var(--tagbg);border-radius:999px;padding:5px 11px}
.people-foot{margin-top:24px;color:var(--cream2)}
.people-foot a{color:var(--gold)}
.people{grid-template-columns:repeat(4,minmax(0,1fr))}
#people-h + .btn,.section-head.row .btn{flex-shrink:0}
@media (max-width:1100px){.ccards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
  .ccards{grid-template-columns:1fr}
  .people{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ccard-img{position:relative;overflow:hidden;flex:0 0 auto}
.ccard-img img{position:absolute;inset:0}
#picked,#practise,#faq,#house,#tribe-board,#newsletter{scroll-margin-top:96px}
@media (max-width:600px){
  .ccard{flex-direction:row}
  .ccard-img{width:112px;aspect-ratio:auto;min-height:100%}
  .ccard-body{padding:14px 16px;gap:5px}
  .ccard-title{font-size:20px}
  .ccard .meta-line{font-size:12px}
}

/* hero start buttons */
.starts{margin-top:36px}
.start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px}
.start{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line2);border-radius:18px;background:rgba(255,255,255,.02);color:var(--cream);text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.start:hover{border-color:var(--gold);background:var(--walnut);transform:translateY(-1px)}
.start .ic{flex:0 0 38px;width:38px;height:38px;padding:8px;border-radius:12px;background:var(--tagbg);color:var(--sage2);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.start strong{display:block;font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.15}
.start small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.start-b2b{border-color:rgba(217,178,124,.45)}
.start-b2b .ic{background:rgba(217,178,124,.16);color:var(--gold)}
@media (max-width:480px){
  .start-grid{grid-template-columns:1fr}
  .start{padding:12px 14px}
}
/* ticker label in green */
.ticker-tag{background:var(--moss);color:var(--cream)}
#week{scroll-margin-top:96px}
.hero h1{font-size:clamp(36px,4vw,54px)}
.hero-sub{margin-top:16px}
.starts{margin-top:28px}
.checkin-q{font-size:24px;margin-bottom:12px}
.start{padding:11px 14px;gap:12px}
.start strong{font-size:19px;white-space:nowrap}
.start .ic{flex-basis:34px;width:34px;height:34px;padding:7px}

/* rooms (B2B) */
.rooms-section .section-head.row{align-items:flex-end}
.rooms-section .lead{max-width:620px}
.rooms{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,220px));gap:14px;margin-top:8px}
.room{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:#fff}
.room-big{grid-row:span 2}
.room img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.room:hover img{transform:scale(1.03)}
.room-cap{position:absolute;left:12px;bottom:12px;right:12px;display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;width:max-content;max-width:calc(100% - 24px);background:rgba(23,18,14,.72);backdrop-filter:blur(6px);border-radius:12px;padding:8px 12px;font-size:13px;color:var(--cream2)}
.room-cap strong{font-family:var(--serif);font-size:18px;color:var(--cream);font-weight:600}
.rooms .room:nth-child(2){grid-column:2/4}
/* flying solo */
.solo{background:#F4EFE8;color:var(--ink)}
.solo-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:640px}
.solo-copy{padding:clamp(56px,7vw,96px) clamp(28px,4vw,64px) clamp(56px,7vw,96px) max(var(--gutter),calc((100vw - 1280px)/2 + var(--gutter)))}
.solo .eyebrow{color:var(--terra)}
.solo h2{color:var(--ink);font-size:clamp(40px,5vw,72px);line-height:1}
.solo h2 em{color:var(--terra);font-style:normal}
.pains{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.pains li{border-top:2px solid rgba(166,90,56,.55);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.pains strong{font-size:17px;font-weight:700;color:var(--ink)}
.pains span{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.4;color:var(--inkmuted)}
.solo-visual{position:relative;overflow:hidden}
.solo-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 50%}
/* start belonging */
.belong{position:relative;overflow:hidden;color:var(--ink);padding:clamp(64px,8vw,112px) 0}
.belong-bg{position:absolute;inset:0}
.belong-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.belong-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,239,232,.92) 0,rgba(244,239,232,.78) 45%,rgba(244,239,232,.86) 100%)}
.belong-in{position:relative}
.belong .eyebrow{color:var(--terra)}
.belong h2{color:var(--ink);font-size:clamp(40px,5vw,72px);line-height:1.02;max-width:900px}
.belong h2 em{display:block;color:#B86A45}
.gains{list-style:none;margin:44px 0 32px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gains li{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:24px 26px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:baseline}
.gains b{grid-row:span 2;font-family:var(--serif);font-style:italic;font-weight:500;font-size:40px;line-height:1;color:#B86A45}
.gains strong{font-size:18px;font-weight:700}
.gains span{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.4;color:var(--inkmuted)}
.belong .btn-line-gold{border-color:var(--brown);color:var(--brown)}
@media (max-width:900px){
  .rooms{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .room-big{grid-row:auto;grid-column:1/3;aspect-ratio:16/10}
  .rooms .room:nth-child(2){grid-column:auto}
  .room{aspect-ratio:4/3}
  .solo-grid{grid-template-columns:minmax(0,1fr)}
  .solo-visual{height:320px;order:-1}
  .solo-copy{padding:40px var(--gutter) 56px}
  .gains{grid-template-columns:1fr}
}
@media (max-width:600px){
  .pains{grid-template-columns:1fr;gap:20px}
  .rooms{grid-template-columns:1fr}
  .room-big{grid-column:auto}
  .room-cap{font-size:12px}
}
.belong-bg::after{background:linear-gradient(90deg,rgba(244,239,232,.9) 0,rgba(244,239,232,.62) 55%,rgba(244,239,232,.4) 100%),linear-gradient(0deg,rgba(244,239,232,.55) 0,rgba(244,239,232,0) 40%)}

/* smooth in-page scrolling */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.drawer a.gold{color:var(--gold)}
.head-cta.btn-line-gold:hover{background:var(--gold);color:var(--esp)}
#rooms{scroll-margin-top:96px}

/* date badge on highlight cards */
.ccard-date{position:absolute;top:12px;left:12px;z-index:1;display:flex;flex-direction:column;align-items:center;min-width:58px;padding:7px 8px 8px;border-radius:14px;background:var(--cream);color:var(--esp);box-shadow:0 6px 18px rgba(0,0,0,.3);line-height:1}
.ccard-date b{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--terra)}
.ccard-date strong{font-family:var(--serif);font-size:30px;font-weight:600;margin:2px 0}
.ccard-date em{font-style:normal;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}

/* B2B: your practice deserves a home */
.b2b{background:linear-gradient(180deg,#221A15,#1B1511);padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--line)}
.b2b-head{max-width:820px}
.b2b h2{font-size:clamp(40px,5vw,68px);line-height:1.02}
.b2b h2 em{color:var(--gold)}
.b2b .lead{max-width:720px}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.path{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:var(--r-md);background:rgba(255,255,255,.03);border:1px solid var(--line2);color:var(--cream);text-decoration:none;transition:border-color .2s,transform .2s,background .2s}
.path:hover{border-color:var(--gold);background:rgba(217,178,124,.06);transform:translateY(-2px)}
.path-n{font-family:var(--serif);font-style:italic;font-size:34px;color:var(--gold);line-height:1}
.path strong{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.1}
.path span:not(.path-n){color:var(--cream2)}
.path em{margin-top:auto;padding-top:8px;font-style:normal;font-weight:600;font-size:14px;color:var(--sage)}
.shift{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0;margin-top:56px;border-radius:var(--r-lg);overflow:hidden;background:var(--sandcard);color:var(--ink)}
.shift-img{position:relative;min-height:360px}
.shift-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shift-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0}
.shift-col{padding:clamp(24px,3vw,40px)}
.shift-col h3{font-size:26px;font-weight:600;margin-bottom:16px}
.shift-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.shift-col li{position:relative;padding-left:26px;font-size:15px;line-height:1.5}
.shift-alone{background:#EFE7DB;color:var(--inkmuted)}
.shift-alone h3{color:var(--inkmuted)}
.shift-alone li::before{content:"–";position:absolute;left:4px;color:var(--terra)}
.shift-house h3{color:var(--moss)}
.shift-house li::before{content:"";position:absolute;left:2px;top:7px;width:12px;height:7px;border-left:2px solid var(--moss);border-bottom:2px solid var(--moss);transform:rotate(-45deg)}
.b2b .linkrow{margin-top:36px;align-items:center}
.b2b-chat{display:inline-flex;align-items:center;gap:8px;color:var(--sage);font-weight:600;font-size:15px}
.rooms-teaser .lead{max-width:640px}
.nl-role{border:0;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px}
.nl-role legend{font-size:14px;color:var(--cream2);margin-bottom:8px;padding:0}
@media (max-width:1000px){
  .paths{grid-template-columns:1fr}
  .shift{grid-template-columns:1fr}
  .shift-img{min-height:240px}
}
@media (max-width:700px){
  .shift-cols{grid-template-columns:1fr}
}
.rooms{grid-template-rows:repeat(2,220px)}
@media (max-width:900px){.rooms{grid-template-rows:none}}

/* footer (shared by all pages) */
.tf{background:#100C09;color:#B8A999;padding:clamp(56px,7vw,88px) 0 36px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;line-height:1.55}
.tf-in{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,56px)}
.tf a{color:#E6DACA;text-decoration:none}
.tf a:hover{color:#D9B27C}
.tf-claim{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(26px,3.4vw,48px);line-height:1.1;color:#F2E8DA;margin:0;white-space:nowrap}
.tf-claim em{color:#D9B27C}
.tf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);margin-top:44px;align-items:start}
.tf-logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;letter-spacing:.18em;color:#F2E8DA!important}
.tf-logo em{letter-spacing:.02em;color:#D9B27C;font-style:italic}
.tf-sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:18px;line-height:1.35;color:#D9B27C;margin:8px 0 22px;max-width:340px}
.tf-block{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.tf-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#8F8173}
.tf-row{display:flex;gap:12px;align-items:flex-start;color:#E6DACA}
.tf-row svg{flex:0 0 18px;width:18px;height:18px;margin-top:2px;fill:none;stroke:#A3B98F;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tf-row b{color:#F2E8DA;font-weight:600}
.tf-row small{display:block;font-size:12px;color:#8F8173;letter-spacing:.02em}
.tf-founded{display:inline-flex;gap:10px;align-items:center;margin-top:24px;padding:9px 14px;border:1px solid #3A2F27;border-radius:999px;font-size:14px}
.tf-founded svg{width:16px;height:16px;fill:none;stroke:#D9B27C;stroke-width:1.6}
.tf-founded b{color:#F2E8DA;font-weight:600}
.tf-map{position:relative;border-radius:24px;overflow:hidden;border:1px solid #3A2F27;background:#1B1511;min-height:300px;height:100%}
.tf-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.95)}
.tf-map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background:radial-gradient(circle at 50% 40%,#2B221C,#1B1511 70%)}
.tf-map-ph svg{width:34px;height:34px;fill:none;stroke:#D9B27C;stroke-width:1.5}
.tf-map-ph p{color:#E6DACA;margin:0}
.tf-map-ph b{color:#F2E8DA}
.tf-map-btn{margin-top:4px;min-height:42px;padding:0 20px;border-radius:999px;border:0;background:#A3B98F;color:#17120E;font:700 14px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer}
.tf-map-btn:hover{background:#C3D4B2}
.tf-map-ph small{font-size:12px;color:#8F8173;max-width:260px}
.tf-contact{display:flex;flex-direction:column;gap:14px}
.tf-big span{font-size:17px;color:#F2E8DA}
.tf-bottom{margin-top:44px;padding-top:20px;border-top:1px solid #3A2F27;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
.tf-links{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px}
.tf-legal{margin:0;font-size:13px;color:#8F8173}
@media (max-width:1000px){
  .tf-claim{white-space:normal}
  .tf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tf-map{grid-column:1/-1;order:3;height:280px}
}
@media (max-width:600px){
  .tf-grid{grid-template-columns:minmax(0,1fr)}
}

/* newsletter v2: slim */
.nl{align-items:center}
.nl-form{background:none;border:0;padding:0;gap:14px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nl-seg{display:inline-flex;align-self:flex-start;padding:4px;border:1px solid var(--line2);border-radius:999px;background:var(--walnut)}
.nl-seg label{position:relative;cursor:pointer}
.nl-seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.nl-seg span{display:block;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--cream2);transition:background .2s,color .2s}
.nl-seg input:checked+span{background:var(--sage);color:var(--esp)}
.nl-seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.nl-bar{display:flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--line2);border-radius:999px;background:var(--walnut);transition:border-color .2s}
.nl-bar:focus-within{border-color:var(--gold)}
.nl-form .nl-bar input{flex:1 1 0;min-width:0;min-height:48px;border:0;border-radius:999px;background:transparent;color:var(--cream);font:400 16px var(--sans);padding:0 18px}
.nl-form .nl-bar input+label+input{border-left:1px solid var(--line2);border-radius:0}
.nl-form .nl-bar input:focus{outline:none;background:rgba(242,232,218,.05)}
.nl-form .nl-bar input::placeholder{color:var(--muted)}
.nl-form .nl-bar button{flex:0 0 auto;align-self:center;min-height:48px}
.nl-note{font-size:13px;line-height:1.5;color:var(--muted);margin:0;padding-left:6px}
.nl-note a{color:var(--cream2)}
.nl-form .form-msg:empty{display:none}
@media (max-width:640px){
  .nl-bar{flex-direction:column;align-items:stretch;border-radius:22px;gap:0;padding:6px}
  .nl-form .nl-bar input+label+input{border-left:0;border-top:1px solid var(--line2)}
  .nl-form .nl-bar button{width:100%;margin-top:6px}
  .nl-seg{align-self:stretch}.nl-seg label{flex:1;text-align:center}
}

/* newsletter band: moss, clearly set apart from the FAQ */
.nl-band{position:relative;background:radial-gradient(120% 140% at 0% 0%,#5F6D46 0%,var(--moss) 45%,#3E4830 100%);color:var(--cream);border-top:1px solid rgba(242,232,218,.12);overflow:hidden}
.nl-band::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(217,178,124,.25);pointer-events:none}
.nl-band .wrap{position:relative;z-index:1}
.nl-band .eyebrow{color:var(--sage2)}
.nl-band h2{color:var(--cream)}
.nl-band h2 em{color:var(--gold)}
.nl-band .lead{color:rgba(242,232,218,.85)}
.nl-band .nl-seg{background:rgba(23,18,14,.22);border-color:rgba(242,232,218,.25)}
.nl-band .nl-seg span{color:rgba(242,232,218,.85)}
.nl-band .nl-seg input:checked+span{background:var(--cream);color:var(--ink)}
.nl-band .nl-bar{background:var(--cream);border-color:transparent;box-shadow:0 18px 40px rgba(16,12,9,.28)}
.nl-band .nl-bar:focus-within{border-color:var(--gold)}
.nl-band .nl-form .nl-bar input{color:var(--ink)}
.nl-band .nl-form .nl-bar input::placeholder{color:var(--inkmuted)}
.nl-band .nl-form .nl-bar input+label+input{border-color:var(--sandline)}
.nl-band .nl-form .nl-bar input:focus{background:rgba(42,33,27,.05)}
.nl-band .nl-form .nl-bar button{background:var(--esp);color:var(--cream)}
.nl-band .nl-form .nl-bar button:hover{background:var(--walnut)}
.nl-band .nl-note{color:rgba(242,232,218,.72)}
.nl-band .nl-note a{color:var(--cream)}
.nl-band .nl-done{color:var(--gold)}
.nl-band .form-msg.err{color:#F6D2BF}.nl-band .form-msg.ok{color:var(--cream)}

/* FAQ teaser: question card deck */
.qdeck{position:relative}
.qdeck-stack{display:flex;flex-direction:column;gap:16px}
.qcard{position:relative}
.qface{border-radius:var(--r-lg);padding:clamp(26px,3.2vw,40px);display:flex;flex-direction:column;gap:14px;box-sizing:border-box}
.qfront{background:var(--sandcard);color:var(--ink)}
.qback{background:var(--walnut2);color:var(--cream);border:1px solid rgba(217,178,124,.45)}
.qnum{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1;color:var(--brown)}
.qback .qnum{color:var(--gold)}
.qq{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.2vw,44px);line-height:1.12;color:var(--ink);margin:0}
.qa{margin:0;font-size:17px;line-height:1.7}
.qfront .qa{color:var(--inkmuted)}
.qback .qa{color:var(--cream2)}
.qback .qa a{color:var(--gold)}.qback .qa em{color:var(--cream)}
.qturn{display:none}
.qback-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}
.qback-foot a{color:var(--gold);font-weight:600;font-size:15px;text-decoration:none}
.qback-foot a:hover{text-decoration:underline}
.qcard-end .btn{align-self:flex-start;margin-top:auto}
.qdeck-nav{display:none}

/* enhanced (JS) */
.qdeck.is-ready .qdeck-stack{display:grid;grid-template:1fr/1fr;perspective:1600px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.qdeck.is-ready .qcard{grid-area:1/1;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s ease,filter .35s ease;transform-origin:50% 100%;will-change:transform}
.qdeck.is-ready .qcard[data-pos="0"]{z-index:5;cursor:pointer}
.qdeck.is-ready .qcard[data-pos="1"]{z-index:4;transform:translate(14px,16px) rotate(2.4deg) scale(.965);filter:brightness(.82)}
.qdeck.is-ready .qcard[data-pos="2"]{z-index:3;transform:translate(26px,30px) rotate(4.8deg) scale(.93);filter:brightness(.66)}
.qdeck.is-ready .qcard[data-pos="far"]{z-index:1;opacity:0;pointer-events:none;transform:translate(26px,30px) rotate(4.8deg) scale(.93)}
.qdeck.is-ready .qcard:not([data-pos="0"]) *{pointer-events:none}
.qdeck.is-ready .qcard:not([data-pos="0"]) .qturn,.qdeck.is-ready .qcard:not([data-pos="0"]) a{visibility:hidden}
.qdeck.is-ready .qcard.is-leaving{z-index:6;opacity:0;transform:translate(-115%,-10px) rotate(-10deg)}
.qdeck.is-ready .qcard.is-leaving.to-right{transform:translate(115%,-10px) rotate(10deg)}
.qdeck.is-ready .qcard.is-dragging{transition:none}
.qdeck.is-ready .qcard-in{display:grid;grid-template:1fr/1fr;height:100%;min-height:clamp(340px,34vw,420px);transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,.7,.2,1)}
.qdeck.is-ready .qface{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 22px 50px rgba(0,0,0,.35)}
.qdeck.is-ready .qfront{justify-content:space-between}
.qdeck.is-ready .qback{transform:rotateY(180deg)}
.qdeck.is-ready .qcard.is-flipped .qcard-in{transform:rotateY(180deg)}
.qdeck.is-ready .qturn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:none;border:1px solid var(--sandline);color:var(--ink);border-radius:999px;padding:9px 16px;font:600 14px var(--sans);cursor:pointer}
.qdeck.is-ready .qturn:hover{border-color:var(--brown)}
.qdeck.is-ready .qturn-back{border-color:var(--line2);color:var(--cream);width:40px;height:40px;padding:0;justify-content:center;align-self:center;font-size:18px}
.qdeck.is-ready .qturn:focus-visible,.qnav:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.qdeck.is-ready .qdeck-nav{display:flex;align-items:center;gap:16px;margin-top:52px}
.qnav{width:48px;height:48px;border-radius:50%;border:1px solid var(--line2);background:none;color:var(--cream);font-size:20px;cursor:pointer;transition:border-color .2s,color .2s}
.qnav:hover{border-color:var(--gold);color:var(--gold)}
.qcount{font-size:14px;color:var(--muted);letter-spacing:.08em}
.qcount b{color:var(--cream);font-weight:600}
.qdeck-section .faq-intro{position:static}
.qdeck-section .faq-wrap{align-items:center}
@media (max-width:900px){.qdeck.is-ready .qdeck-nav{justify-content:center;margin-top:44px}}
@media (prefers-reduced-motion:reduce){
  .qdeck.is-ready .qcard,.qdeck.is-ready .qcard-in{transition:none}
}
.qdeck.is-ready .qcard[data-pos="1"]{filter:brightness(.8) sepia(.18)}
.qdeck.is-ready .qcard[data-pos="2"]{filter:brightness(.62) sepia(.22)}
@media (max-width:640px){
  .qdeck.is-ready{padding-right:14px}
  .qdeck.is-ready .qcard[data-pos="1"]{transform:translate(7px,12px) rotate(1.6deg) scale(.97)}
  .qdeck.is-ready .qcard[data-pos="2"],.qdeck.is-ready .qcard[data-pos="far"]{transform:translate(13px,22px) rotate(3.2deg) scale(.94)}
  .qq{font-size:30px}
}

/* section call-to-action: always after the content it leads on from */
.sec-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:clamp(28px,4vw,44px)}
.sec-cta .people-foot{margin:0}
.qdeck .sec-cta{margin-top:28px}
@media (max-width:900px){.qdeck .sec-cta{justify-content:center}}

/* ===== one call-to-action for every teaser section: bottom right, pill + round arrow ===== */
.sec-go{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px 28px;margin-top:clamp(32px,4vw,52px)}
.sec-go .people-foot{margin:0 auto 0 0}
.go-btn{display:inline-flex;align-items:center;gap:16px;padding:7px 7px 7px 26px;border-radius:999px;background:var(--cream);color:var(--esp);
  font:600 16px/1 var(--sans);letter-spacing:.005em;text-decoration:none;white-space:nowrap;
  box-shadow:0 14px 34px -14px rgba(0,0,0,.55);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,background .3s}
.go-btn i{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--esp);overflow:hidden;transition:background .3s}
.go-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.go-btn:hover{color:var(--esp);transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(0,0,0,.6)}
.go-btn:hover svg{transform:translateX(3px)}
.go-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
/* on light sections the pill turns dark */
.band.sand a.go-btn,.lx-picked a.go-btn{background:var(--esp);color:var(--cream);box-shadow:0 14px 34px -16px rgba(42,33,27,.6)}
.band.sand a.go-btn:hover,.lx-picked a.go-btn:hover{color:var(--cream)}
.week-foot .go-btn{margin-left:auto}
.qdeck .sec-go{margin-top:28px}
@media (max-width:600px){.sec-go{justify-content:flex-start}.sec-go .people-foot{flex-basis:100%}.go-btn{font-size:15px;padding-left:20px}.go-btn i{width:40px;height:40px}}

/* 13.10. round 3: footer without map and directions (they moved to /rooms#find-us) */
.tf-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
@media (max-width:600px){.tf-grid{grid-template-columns:minmax(0,1fr)}}

/* 13.10. round 4: compact footer (less space above the claim, one-line contacts, links across the full width) */
.tf{padding-top:clamp(34px,4vw,52px)}
.tf-grid{margin-top:28px;align-items:center}
.tf-founded{margin-top:16px}
.tf-contact{gap:10px}
.tf-tel{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;color:#E6DACA;text-decoration:none}
.tf-tel svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:#A3B98F;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tf-tel span{color:#B8A999}
.tf-tel b{color:#F2E8DA;font-weight:600}
.tf-tel:hover b{color:#D9B27C}
.tf-icons{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.tf-icons a{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border:1px solid #3A2F27;border-radius:999px;color:#E6DACA;font-size:14px;text-decoration:none;transition:border-color .2s}
.tf-icons a:hover{border-color:#D9B27C}
.tf-icons svg{width:17px;height:17px;fill:none;stroke:#A3B98F;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tf-bottom{display:block;margin-top:30px}
.tf-links{justify-content:space-between;gap:8px 22px}
.tf-legal{margin-top:14px}
@media (max-width:700px){.tf-links{justify-content:flex-start}}

/* 13.10. teams teaser on the start page (draft, ?teams=1) */
.teams-teaser .tt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.teams-teaser .lead{max-width:560px}
.teams-teaser .tt-go{margin-top:28px;justify-content:flex-start}
.teams-teaser .tt-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.teams-teaser .tt-img img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.teams-teaser .tt-grid{grid-template-columns:minmax(0,1fr)}}

/* 13.10. seven menu items (For teams): keep labels on one line, switch to burger earlier, mark current page */
.main-nav a,.head-cta{white-space:nowrap}
.main-nav a[aria-current=page]{color:var(--gold)}
@media (max-width:1200px){.main-nav{gap:20px}}
@media (max-width:1060px){.main-nav,.head-cta{display:none}.burger{display:flex}}

/* 14.10.: hero headline B */
.hero h1 em{color:var(--gold);font-style:italic}

/* calendar: Classes / Workshops switches (01.11.2026) */
.week-filter{display:flex;gap:8px;flex-wrap:wrap}
.wf{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--cream);font:600 13px var(--sans);cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
.wf .dot,.wf .dot-workshop{margin:0}
.wf[aria-pressed="true"]{background:rgba(242,232,218,.08);border-color:var(--gold)}
.wf[aria-pressed="false"]{opacity:.6}
.wf[aria-pressed="false"] .dot{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.wf:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.wf[aria-disabled="true"]{cursor:default;opacity:.85}
