:root{color-scheme:light;--bg: #ffffff;--ink: #2b2320;--muted: #6f635c;--accent: #ba5a49;--accent-2: #2f6155;--panel: rgba(255, 250, 245, .9);--panel-solid: #fff7f0;--stroke: rgba(83, 70, 62, .16);--shadow: 0 24px 50px rgba(43, 35, 32, .14);--radius: 18px;--radius-lg: 28px;--max: 1120px;--font-sans: sans-serif;--font-display: serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);line-height:1.6;background:var(--bg);color:var(--ink);min-height:100%}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500}p{margin:0}.page{min-height:100vh;position:relative;isolation:isolate;background:radial-gradient(600px 380px at 10% -10%,rgba(186,90,73,.16),transparent 60%),radial-gradient(800px 520px at 90% 5%,rgba(47,97,85,.18),transparent 60%),var(--bg);overflow:hidden}.page:before,.page:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffffb3,#fff0);opacity:.55;pointer-events:none;animation:drift 18s ease-in-out infinite;z-index:-1}.page:before{top:12%;left:-120px}.page:after{bottom:8%;right:-160px;animation-delay:5s}.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}.section{padding:clamp(56px,10vw,96px) 0;scroll-margin-top:120px}.hero{padding-top:clamp(72px,12vw,120px);padding-bottom:clamp(48px,9vw,80px)}.site-header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(83,70,62,.12)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:12px;flex:1 1 220px}.brand-mark{width:100px;height:100px;border-radius:14px;background:transparent;display:grid;place-items:center;font-family:var(--font-display);letter-spacing:.18em;color:var(--accent);font-size:.82rem}.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-name{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.brand-tag{font-size:.82rem;color:var(--muted)}.nav{display:flex;gap:10px;flex-wrap:wrap;order:3;flex-basis:100%}.nav a{padding:8px 12px;border-radius:999px;background:#fff9;border:1px solid rgba(83,70,62,.14);font-size:.82rem;color:var(--muted);transition:color .2s ease,background .2s ease,border-color .2s ease}.nav a:hover{background:#fffffff2;color:var(--ink);border-color:#53463e47}.header-cta{order:2}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid rgba(83,70,62,.22);background:#fffc;color:var(--ink);font-size:.9rem;font-weight:500;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2b232026}.button.primary{background:linear-gradient(140deg,var(--accent),#d9775f);color:#fff7f0;border-color:transparent}.button.ghost{background:transparent}.button.small{padding:10px 14px;font-size:.82rem}.hero-grid{display:grid;gap:24px}.hero-copy{display:flex;flex-direction:column;gap:16px}.badge{align-self:flex-start;display:inline-flex;padding:6px 12px;border-radius:999px;border:1px solid rgba(47,97,85,.24);background:#2f61551f;color:var(--accent-2);font-size:.7rem;text-transform:uppercase;letter-spacing:.2em}.hero h1{font-family:var(--font-display);font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.05}.lead{color:var(--muted);font-size:1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hero-meta{display:grid;grid-template-columns:1fr;gap:12px}.meta-card{padding:12px 14px;border-radius:14px;background:#ffffffb3;border:1px solid rgba(83,70,62,.12);font-size:.9rem}.meta-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:6px}.hero-visual{position:relative;border-radius:var(--radius-lg);border:1px solid rgba(83,70,62,.16);background:linear-gradient(180deg,#ffffffbf,#f4e8dea6);box-shadow:var(--shadow);margin:20px;aspect-ratio:1 / 1;display:grid;gap:16px;align-content:space-between;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(400px 300px at 20% 20%,rgba(255,255,255,.6),transparent 60%),radial-gradient(350px 300px at 80% 70%,rgba(186,90,73,.15),transparent 55%);pointer-events:none}.visual-card,.swatch-grid,.hero-visual .tiny{position:relative;z-index:1}.visual-card{background:#ffffffc2;border-radius:18px;border:1px solid rgba(83,70,62,.16);padding:16px}.visual-title{font-family:var(--font-display);font-size:1.1rem;margin-bottom:6px}.visual-note{color:var(--muted);font-size:.85rem}.swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.swatch{height:38px;border-radius:12px;border:1px solid rgba(83,70,62,.16)}.swatch:nth-child(1){background:#f6efe9}.swatch:nth-child(2){background:#e7d8cc}.swatch:nth-child(3){background:#c8b6a8}.swatch:nth-child(4){background:#b16554}.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent-2);margin-bottom:8px}.section-head h2{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem)}.section-sub{color:var(--muted);font-size:1rem;max-width:48ch}.card-grid{display:grid;grid-template-columns:1fr;gap:16px}.card{background:#ffffffc7;border:1px solid rgba(83,70,62,.14);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 14px 24px #241e1a14}.card h3{font-size:1rem}.card p{color:var(--muted);font-size:.92rem}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tag{font-size:.72rem;padding:6px 10px;border-radius:999px;border:1px solid rgba(83,70,62,.18);background:#fff9}.split{display:grid;gap:16px}.panel{background:#ffffffc7;border:1px solid rgba(83,70,62,.14);border-radius:var(--radius);padding:20px;display:grid;gap:16px}.panel.accent{background:linear-gradient(180deg,#2f61551f,#ffffffd9)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.steps li{display:grid;grid-template-columns:auto 1fr;gap:12px}.step-num{font-family:var(--font-display);font-size:1rem;color:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item{aspect-ratio:4 / 5;border-radius:16px;border:1px solid rgba(83,70,62,.16);background:linear-gradient(180deg,#ffffffa6,#e8dace80);position:relative;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item:after{content:"";position:absolute;inset:0;background:radial-gradient(260px 200px at 25% 30%,rgba(255,255,255,.6),transparent 60%),radial-gradient(220px 180px at 80% 70%,rgba(186,90,73,.18),transparent 55%)}.booking-card{display:grid;gap:20px;background:linear-gradient(140deg,#ba5a491f,#fffc);border:1px solid rgba(83,70,62,.16);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow)}.booking-copy{display:grid;gap:16px}.contact-card{background:#ffffffd9;border:1px solid rgba(83,70,62,.16);border-radius:18px;padding:18px;display:grid;gap:14px}.contact-list{margin:0;display:grid;gap:12px}.contact-list dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.contact-list dd{margin:4px 0 0;font-size:.92rem}.tiny{font-size:.78rem;color:var(--muted)}.site-footer{padding:28px 0 40px;border-top:1px solid rgba(83,70,62,.12);background:#fff9}.footer-inner{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem;color:var(--muted)}.cookie-consent{position:fixed;inset:auto 0 0;z-index:50;padding:16px;background:#ffffffe6;border-top:1px solid rgba(83,70,62,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cookie-consent-inner{width:min(var(--max),calc(100% - 32px));margin:0 auto;display:flex;flex-direction:column;gap:12px}.cookie-consent-copy{display:grid;gap:6px}.cookie-consent-title{font-weight:600;font-size:.95rem}.cookie-consent-text{font-size:.88rem;color:var(--muted)}.cookie-consent-actions{display:flex;flex-wrap:wrap;gap:10px}@media(min-width:720px){.cookie-consent-inner{flex-direction:row;align-items:center;justify-content:space-between}.cookie-consent-copy{max-width:560px}}.legal-hero{display:grid;gap:12px;margin-bottom:24px}.legal-hero h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.6rem);line-height:1.1}.legal-grid{display:grid;gap:16px}.legal-card{background:#ffffffd9;border:1px solid rgba(83,70,62,.14);border-radius:var(--radius);padding:18px;display:grid;gap:10px;box-shadow:0 14px 24px #241e1a14}.legal-card h2{font-size:1rem;font-weight:600}.legal-card p{color:var(--muted);font-size:.95rem}.legal-emphasis{color:var(--ink);font-weight:600}.legal-list{margin:0;display:grid;gap:10px}.legal-bullets{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--muted);font-size:.95rem}.legal-bullets li{margin:0}.legal-list dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.legal-list dd{margin:4px 0 0;font-size:.92rem}.legal-note{color:var(--muted);font-size:.8rem}.reveal{opacity:0;transform:translateY(14px);animation:reveal .8s ease forwards;animation-delay:var(--delay, 0s)}.delay-1{--delay: .08s}.delay-2{--delay: .18s}.delay-3{--delay: .28s}.delay-4{--delay: .38s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@media(min-width:600px){.hero-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:720px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.header-inner{flex-wrap:nowrap}.nav{order:2;flex-basis:auto;justify-content:center}.header-cta{order:3;margin-left:auto}.hero-grid{grid-template-columns:1.05fr .95fr;gap:32px}.split{grid-template-columns:1.1fr .9fr}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-card{grid-template-columns:1.2fr .8fr;padding:30px}.legal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-card.span-full{grid-column:1 / -1}}@media(min-width:1100px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
