:root{--bg: #f4f1ea;--bg-muted: #ece7dc;--text: #181410;--text-soft: #5b524a;--accent: #b85c38;--accent-hover: #9a4a2c;--accent-light: #d4a08a;--sage: #8a9a7b;--card: #fcfaf5;--border: #d8cebf;--border-strong: #c4b8a6;--error: #a32e1f;--success-bg: #e8efe4;--success-text: #3d5236;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Onest", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--container: min(1180px, 92vw);--section-pad: clamp(4rem, 8vw, 7rem);--rule: 1px solid var(--border);font-family:var(--font-body);color:var(--text);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65;font-size:1rem;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:-.02em;margin:0}h2{font-size:clamp(2rem,4.5vw,3.25rem)}h3{font-size:clamp(1.25rem,2vw,1.6rem)}a{color:inherit;text-decoration:none}p{margin:0}ul,ol{margin:0;padding:0}.page{min-height:100vh}.container{width:var(--container);margin:0 auto}.container--narrow{width:min(720px,92vw);margin:0 auto}.header{position:sticky;top:0;z-index:20;background:#f4f1eaeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:var(--rule)}.header__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:1.1rem 0}.logo{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700;letter-spacing:-.03em}.logo span{font-style:italic;font-weight:400;color:var(--accent)}nav{display:flex;gap:clamp(1rem,2.5vw,2rem);align-items:center}nav a:not(.btn){font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);transition:color .2s}nav a:not(.btn):hover{color:var(--text)}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.lead{font-size:clamp(1.05rem,1.8vw,1.2rem);line-height:1.7;color:var(--text-soft);max-width:42ch}.section-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.75rem}.display-italic{font-style:italic;font-weight:400;color:var(--accent)}.rule{border:none;border-top:var(--rule);margin:0}.section{padding:var(--section-pad) 0;position:relative}.section--muted{background:var(--bg-muted)}.section__header{display:grid;grid-template-columns:auto 1fr;gap:1.5rem 3rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem);padding-bottom:1.5rem;border-bottom:var(--rule)}.section__index{font-family:var(--font-mono);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1;color:var(--border-strong);letter-spacing:-.04em}.section__title-wrap{display:flex;flex-direction:column;gap:.5rem}.hero{padding:clamp(4rem,10vw,8rem) 0 clamp(3rem,6vw,5rem);border-bottom:var(--rule);overflow:hidden}.hero__grid{display:grid;grid-template-columns:1fr minmax(200px,280px);gap:clamp(2rem,5vw,4rem);align-items:end}.hero__content{position:relative}.hero h1{font-size:clamp(3rem,7.5vw,6.5rem);max-width:11ch;margin-bottom:1.75rem}.hero__aside{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:.5rem}.hero__stat{border-top:var(--rule);padding-top:1rem}.hero__stat-value{font-family:var(--font-mono);font-size:clamp(1.5rem,3vw,2rem);font-weight:500;color:var(--text);line-height:1.2}.hero__stat-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-top:.35rem}.hero__cta-row{display:flex;align-items:center;gap:2rem;margin-top:2.5rem;flex-wrap:wrap}.hero__note{font-family:var(--font-mono);font-size:.72rem;color:var(--text-soft);letter-spacing:.04em;max-width:28ch;line-height:1.5}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:start}.about-grid__text p+p{margin-top:1.25rem;color:var(--text-soft)}.steps-card{background:var(--card);border:var(--rule);padding:clamp(1.5rem,3vw,2.25rem)}.steps-card h3{margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:var(--rule)}.steps-list{list-style:none;display:flex;flex-direction:column;gap:0}.steps-list li{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:var(--rule);align-items:baseline}.steps-list li:last-child{border-bottom:none;padding-bottom:0}.steps-list__num{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);letter-spacing:.06em}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:1.25rem}.gallery-card{margin:0;border:var(--rule);background:var(--card);overflow:hidden;display:flex;flex-direction:column}.gallery-card--featured{grid-row:span 2}.gallery-card__image{background:linear-gradient(145deg,#ddd4c4,#c8b9a4 45%,#b8a892);position:relative}.gallery-card--featured .gallery-card__image{flex:1;min-height:320px}.gallery-card:not(.gallery-card--featured) .gallery-card__image{height:140px}.gallery-card__image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(24,20,16,.15),transparent 50%)}.gallery-card figcaption{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;border-top:var(--rule)}.gallery-card strong{font-family:var(--font-display);font-size:1.2rem;font-weight:600}.gallery-card span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-soft);line-height:1.5}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}.price-card{background:var(--card);border:var(--rule);padding:clamp(1.5rem,2.5vw,2rem);display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s}.price-card:hover{border-color:var(--border-strong)}.price-card--main{border-color:var(--accent);background:linear-gradient(160deg,var(--card) 0%,#f8f0e8 100%)}.price-card h3{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft)}.price{font-family:var(--font-mono);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:.25rem 0}.muted,.price-notes{color:var(--text-soft);font-size:.92rem}.price-notes{list-style:none;display:flex;flex-direction:column;gap:.75rem;padding-top:1.5rem;border-top:var(--rule)}.price-notes li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;line-height:1.5}.price-notes li:before{content:"—";color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--text);color:var(--card);border:1px solid var(--text);border-radius:0;padding:.9rem 1.75rem;font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn--ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn--ghost:hover{background:var(--text);border-color:var(--text);color:var(--card)}.btn--small{padding:.55rem 1.1rem;font-size:.7rem}.btn--full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--card);border:var(--rule);border-radius:0;padding:clamp(1.5rem,3vw,2rem)}.booking-intro{margin-bottom:clamp(2rem,4vw,3rem);max-width:52ch}.booking-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:1.5rem;align-items:start}.booking-panel{background:var(--card);border:var(--rule);padding:clamp(1.25rem,2.5vw,1.75rem)}.booking-hint{font-family:var(--font-mono);font-size:.68rem;color:var(--text-soft);margin:-.5rem 0 1rem;line-height:1.4}.booking-panel h3{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:var(--rule)}.booking-calendar{display:block;width:100%}.calendar-nav{display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;gap:.5rem;margin-bottom:.9rem}.calendar-nav__btn{width:2rem;height:2rem;padding:0;border:var(--rule);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s,opacity .15s}.calendar-nav__btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-muted)}.calendar-nav__btn:disabled{opacity:.25;cursor:not-allowed}.calendar-month__title{font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--text);margin:0;text-align:center}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:.4rem}.calendar-weekday{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--text-soft);padding:.15rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.cal-day{border:var(--rule);background:var(--bg);border-radius:0;aspect-ratio:1;width:100%;min-height:2.25rem;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.85rem;font-weight:500;line-height:1;transition:border-color .15s,background .15s,color .15s}.cal-day--empty{border-color:transparent;background:transparent;pointer-events:none}.cal-day--weekend:not(.cal-day--active):not(:disabled){color:var(--text-soft)}.cal-day--today:not(.cal-day--active){border-color:var(--border-strong)}.cal-day:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-muted)}.cal-day--active{border-color:var(--accent);background:#f5ebe3;color:var(--text)}.cal-day:disabled{opacity:.28;cursor:not-allowed}.slots{display:flex;flex-direction:column;gap:.5rem}.slot{text-align:left;border:var(--rule);background:var(--bg);border-radius:0;padding:1rem 1.1rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;transition:border-color .15s,background .15s}.slot strong{font-family:var(--font-mono);font-size:.95rem;font-weight:500;letter-spacing:.02em}.slot span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.slot:hover:not(:disabled){border-color:var(--border-strong)}.slot--active{border-color:var(--accent);background:#f5ebe3}.slot--disabled{opacity:.35;cursor:not-allowed}.badge{display:inline-block;margin-top:.75rem;padding:.35rem .75rem;border-radius:0;border:1px solid var(--sage);background:var(--success-bg);color:var(--success-text);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em}.booking-form{display:flex;flex-direction:column}.booking-form h3{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:var(--rule)}.booking-form label{display:block;margin-bottom:1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.booking-form input,.booking-form textarea{width:100%;margin-top:.4rem;padding:.7rem .85rem;border:var(--rule);border-radius:0;font:inherit;font-family:var(--font-body);font-size:.95rem;background:var(--bg);color:var(--text);transition:border-color .15s}.booking-form input:focus,.booking-form textarea:focus{outline:none;border-color:var(--accent)}.checkbox{display:flex!important;gap:.65rem;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:.82rem!important;line-height:1.45;color:var(--text-soft)!important}.checkbox input{width:auto;margin-top:.15rem;accent-color:var(--accent)}.quote{display:grid;gap:0;margin:1.25rem 0;border:var(--rule);background:var(--bg-muted)}.quote div{display:flex;justify-content:space-between;align-items:baseline;padding:.85rem 1rem;border-bottom:var(--rule);gap:1rem}.quote div:last-child{border-bottom:none;background:#f5ebe3}.quote span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-soft)}.quote strong{font-family:var(--font-mono);font-size:.95rem;font-weight:500;white-space:nowrap}.error{color:var(--error);font-family:var(--font-mono);font-size:.82rem;margin-bottom:.75rem}.booking-hesus-note{margin-bottom:1.5rem}.hesus-widget{width:100%;max-width:1000px;margin:0 auto;border:var(--rule);background:var(--card)}.hesus-widget__frame{display:block;width:100%;margin:0 auto;border:0;background:transparent}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer{border-top:var(--rule);padding:2rem 0}.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer__brand{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.footer__copy{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}.success-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--bg)}.success-card{max-width:520px;width:100%;text-align:center}.success-card .eyebrow{justify-content:center}.success-card h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:1.5rem}.success-card p{color:var(--text-soft);margin-bottom:.75rem}.success-card p+p{margin-top:0}.success-card .btn{margin-top:2rem}.success-card__status{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.04em;color:var(--accent);margin-top:.5rem!important}@media (max-width: 900px){.hero__grid{grid-template-columns:1fr}.hero__aside{flex-direction:row;flex-wrap:wrap;gap:2rem}.hero__stat{flex:1;min-width:140px}.about-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gallery-card--featured{grid-column:span 2;grid-row:span 1}.gallery-card--featured .gallery-card__image{min-height:220px}.price-grid,.booking-grid{grid-template-columns:1fr}}@media (max-width: 640px){nav a:not(.btn){display:none}.gallery-grid{grid-template-columns:1fr}.gallery-card--featured{grid-column:span 1}.section__header{grid-template-columns:1fr;gap:.75rem}.hero h1{max-width:none}}
