:root{--wine:#840f25;--wine2:#5d0918;--gold:#d7ad63;--cream:#f7f2e8;--ink:#1b1918;--muted:#6e6762;--white:#fff;--serif:'Playfair Display',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;font-size:17px;line-height:1.6}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 clamp(22px,5vw,74px);display:flex;align-items:center;gap:38px;position:absolute;z-index:10;width:100%;color:white;border-bottom:1px solid #ffffff30}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--wine);font-family:var(--serif);font-size:24px}.topbar nav{display:flex;gap:30px;margin-left:auto;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:var(--wine);color:white;padding:14px 24px;font:600 15px var(--sans);cursor:pointer}.button:hover{background:#a31631}.button-small{padding:10px 18px;background:white;color:var(--wine)}.hero{height:min(840px,94vh);min-height:690px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,8,8,.85) 0%,rgba(20,8,8,.57) 42%,rgba(20,8,8,.05) 72%)}.hero-copy{position:relative;z-index:2;max-width:690px;margin-left:clamp(24px,8vw,140px);padding-top:60px}.eyebrow{font-size:13px;letter-spacing:.16em;font-weight:700;margin:0 0 18px;color:#efd49f}.eyebrow.dark{color:var(--wine)}h1,h2{font-family:var(--serif);line-height:1.05;margin:0}h1{font-size:clamp(58px,7vw,110px);letter-spacing:-.04em}h2{font-size:clamp(40px,5vw,70px);letter-spacing:-.035em}.hero-copy>p:not(.eyebrow){font-size:20px;max-width:600px;color:#f4eee8;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-weight:600;border-bottom:1px solid #ffffff80;padding:8px 0}.hero-note{position:absolute;z-index:2;right:clamp(20px,5vw,76px);bottom:38px;display:flex;align-items:center;gap:18px;background:#ffffffed;color:var(--ink);padding:14px 20px;border-radius:4px}.hero-note strong{font:700 28px var(--serif);color:var(--wine)}.hero-note span{font-size:13px;max-width:120px;line-height:1.3}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:110px clamp(24px,8vw,140px) 70px}.intro h2{max-width:620px}.intro-copy{padding-top:36px;color:var(--muted);font-size:18px}.services{padding:0 clamp(24px,8vw,140px) 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:white}.services article{padding:38px;border-top:1px solid #d9d2cb;background:#fbfaf8}.services span{color:var(--wine);font-weight:700}.services h3,.program-grid h3{font:700 27px var(--serif);margin:16px 0 8px}.services p,.program-grid p{color:var(--muted);margin:0}.story{display:grid;grid-template-columns:1.1fr .9fr;min-height:700px;background:var(--cream)}.story-image img{height:100%;object-fit:cover}.story-copy{padding:90px clamp(32px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.story-copy p{color:var(--muted);font-size:18px}.story-copy ul{padding:0;list-style:none;margin:22px 0 32px}.story-copy li{padding:10px 0 10px 28px;position:relative;border-bottom:1px solid #d9d0c5}.story-copy li:before{content:'✦';position:absolute;left:0;color:var(--wine)}.button-dark{align-self:flex-start;background:var(--ink)}.programs{padding:120px clamp(24px,8vw,140px)}.section-head{max-width:760px;margin-bottom:52px}.section-head>p:last-child{color:var(--muted);font-size:18px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program-grid article{border:1px solid #e4ddd5;padding:32px;min-height:270px;transition:.25s}.program-grid article:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 20px 50px #39131b12}.icon{font-size:27px;color:var(--wine)}.team{background:var(--wine);color:white;display:grid;grid-template-columns:.8fr 1.2fr;min-height:620px}.team-copy{padding:90px clamp(32px,7vw,110px);align-self:center}.team-copy h2{font-size:clamp(42px,5vw,68px)}.team-copy>p:not(.eyebrow){font-size:18px;color:#f2dfe3;margin:24px 0 32px}.team>img{height:100%;object-fit:cover}.button-light{background:white;color:var(--wine)}.booking{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding:120px clamp(24px,8vw,140px);background:#f8f6f2}.booking-copy>p:not(.eyebrow){color:var(--muted)}.price{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #d8d1c8}.price strong{color:var(--wine)}form{background:white;padding:38px;box-shadow:0 18px 50px #2818180f}label{display:grid;gap:7px;font-size:14px;font-weight:600;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;border:1px solid #d7d0c9;border-radius:3px;background:#fff;padding:13px 14px;font:16px var(--sans);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #d7ad6380;border-color:var(--gold)}textarea{resize:vertical}.form-note{font-size:13px;color:var(--muted);margin:10px 0 0}footer{background:#171413;color:#ddd5cf;padding:45px clamp(24px,8vw,140px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}footer p{margin:0;font-size:14px}footer p:last-child{text-align:right}@media(max-width:900px){.topbar nav{display:none}.hero{min-height:720px}.hero-copy{margin:0;padding:100px 24px 130px}.hero-shade{background:linear-gradient(90deg,rgba(20,8,8,.82),rgba(20,8,8,.35))}.hero-note{left:24px;right:auto}.intro,.story,.team,.booking{grid-template-columns:1fr}.services,.program-grid{grid-template-columns:1fr 1fr}.story-image{height:520px}.team>img{height:520px}.team-copy{order:2}.program-grid article{min-height:230px}footer{grid-template-columns:1fr;text-align:left}footer p:last-child{text-align:left}}@media(max-width:600px){body{font-size:16px}.topbar{height:70px}.topbar>.button{display:none}.hero{min-height:680px}.hero>img{object-position:65% center}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.intro,.programs,.booking{padding-top:80px;padding-bottom:80px}.services,.program-grid{grid-template-columns:1fr}.services{padding-bottom:80px}.story-image,.team>img{height:380px}.story-copy,.team-copy{padding:70px 24px}.form-row{grid-template-columns:1fr}form{padding:24px}.hero-note{bottom:22px}.hero-note span{display:none}}

/* Modern Christmas direction */
:root{--wine:#b83268;--wine2:#8f204c;--cream:#f4f7f5;--ink:#123e35;--muted:#556a63;--gold:#d7e8aa;--serif:'DM Sans',sans-serif}
.topbar{position:relative;color:var(--ink);background:white;border-bottom:1px solid #e2e9e5;height:88px}.brand{font-size:20px;letter-spacing:-.04em}.brand-mark{background:#123e35;color:#d7e8aa}.topbar .button-small{background:var(--wine);color:#fff;border-radius:999px}.button{border-radius:999px;padding:16px 28px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#992553;transform:translateY(-2px)}.button:focus-visible,a:focus-visible{outline:3px solid #a4c866;outline-offset:5px}.hero{height:760px;min-height:680px}.hero-shade{background:linear-gradient(90deg,rgba(9,39,30,.93),rgba(9,39,30,.65) 38%,rgba(9,39,30,0) 72%)}.hero-copy{max-width:660px;padding-top:0;margin-left:6vw}h1{font-size:clamp(48px,6vw,88px);font-weight:700;line-height:1.04;letter-spacing:-.065em}h1 em{color:#d7e8aa;font-style:normal}h2{font-size:clamp(34px,4vw,58px);font-weight:700;line-height:1.1;letter-spacing:-.05em}.eyebrow{font-size:14px;letter-spacing:.13em}.hero-copy>p:not(.eyebrow){font-size:19px;max-width:520px}.hero-note{border-radius:20px;background:#ffffffed}.hero-note strong{font-family:var(--sans)}.intro{gap:6vw;padding-top:90px}.intro-copy{padding-top:0}.services{gap:18px;padding-bottom:90px}.services article{border:1px solid #dce7e1;border-radius:22px;background:#f4f7f5;padding:32px}.services h3,.program-grid h3{font-family:var(--sans);font-size:24px;letter-spacing:-.04em}.services span{display:inline-block;background:#e5efdc;color:#123e35;border-radius:999px;padding:6px 13px}.story{background:#eaf0ec}.story-copy{padding:70px 6vw}.story-copy h2{max-width:500px}.programs{padding-top:90px;padding-bottom:90px}.program-grid article{border-radius:22px;background:#f4f7f5;padding:28px}.team{background:#123e35}.team-copy h2{font-size:clamp(34px,4vw,54px)}.team-copy>p:not(.eyebrow){color:#dce7df}.button-light{color:#123e35;background:#d7e8aa}.booking{background:#f4f7f5;padding-top:90px;padding-bottom:90px;gap:5vw}form{border-radius:26px;border:1px solid #dce7e1;box-shadow:none}input,select,textarea{border-radius:10px;border-color:#ceddd5}label{font-size:15px}.contact-phone{font-size:25px;font-weight:700;color:var(--wine)}footer{background:#0d2b23}.price strong{white-space:nowrap}@media(max-width:900px){.hero-copy{margin-left:0;padding:70px 24px 140px}.topbar{gap:20px}.team-copy{order:0}.hero{height:auto}.hero-shade{background:linear-gradient(90deg,rgba(9,39,30,.9),rgba(9,39,30,.5))}}@media(max-width:600px){.topbar>.button{display:inline-flex;padding:10px 14px;font-size:13px}.topbar{padding:0 18px;height:76px}.brand{font-size:17px}.brand-mark{width:32px;height:32px}.hero-copy{padding-top:60px}.hero{min-height:720px}.hero-note{bottom:24px}.intro{gap:24px}.programs,.booking{padding:65px 24px}.story-copy,.team-copy{padding:60px 24px}.hero>img{object-position:62% center}}

.contacts{padding:90px clamp(24px,8vw,140px);scroll-margin-top:24px;display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw}.contacts>div>p:last-child{color:var(--muted);max-width:470px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:center}.contact-card{display:flex;flex-direction:column;gap:10px;background:#f4f7f5;border:1px solid #dce7e1;border-radius:22px;padding:28px;min-width:0}.contact-card span{color:var(--muted);font-size:14px}.contact-card strong{font-size:clamp(17px,1.5vw,23px);overflow-wrap:anywhere}.contact-book{background:#123e35;color:#d7e8aa}.contact-book span{color:#dce7df}.contact-card[href]:hover{border-color:#a4c866}.booking{scroll-margin-top:24px}@media(max-width:900px){.contacts{grid-template-columns:1fr}.topbar nav{display:flex;gap:14px;font-size:13px}.topbar{gap:18px}}@media(max-width:700px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.topbar nav{order:3;width:100%;justify-content:space-between;margin:0;gap:8px}.topbar>.button{margin-left:auto}.contacts{padding:65px 24px}.contact-grid{grid-template-columns:1fr}.contact-card{padding:24px}}
