@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/great-vibes.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:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400.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:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-500.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:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-600.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}
/* Real Santa Steve — static port of the Divi site (Great Vibes + Poppins, Christmas red/green, snow). */
:root{--red:#d32a26;--red-d:#a91c19;--green:#1f7a3a;--green-d:#165c2b;--ink:#1f2328;--text:#4e5560;--cream:#fffaf3;--wrap:1140px;--script:'Great Vibes',cursive;--sans:'Poppins',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--sans);font-size:15.5px;line-height:1.75;color:var(--text);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
.c{text-align:center}
h1,h2,h3{margin-block:0;line-height:1.15;color:var(--ink)}
p{margin-block:0 1em}
.script{font-family:var(--script);font-weight:400;font-size:clamp(40px,5vw,60px)}
.green-t{color:var(--green)}.red{color:var(--red)}
:focus-visible{outline:3px solid #f2c94c;outline-offset:2px}
.site-head{background:var(--red);position:sticky;top:0;z-index:30;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:8px}
.brand img{width:62px;height:62px;border-radius:50%}
.site-head ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:24px;row-gap:4px}
.site-head nav a{color:#fff;text-decoration:none;font-weight:600;font-size:14.5px}
.site-head nav a:hover,.site-head nav a[aria-current]{color:#ffe08a}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:15px;padding:12px 24px;border-radius:4px;text-decoration:none;border:0;cursor:pointer;transition:background .2s,transform .2s}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-d);color:#fff}
.hero{position:relative;overflow:hidden;min-height:min(78vh,640px);display:grid;align-items:center;background:#2a0d0c}
.hero picture,.hero-bg{position:absolute;inset:0;width:100%;height:100%}
.hero-bg{object-fit:cover;object-position:70% 30%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,5,4,.85) 0%,rgba(25,5,4,.55) 45%,rgba(25,5,4,0) 75%)}
.hero-in{position:relative;z-index:2;color:#f5ece6;padding-block:70px}
.hero-in>*{max-width:560px}
.hero h1{font-family:var(--script);font-weight:400;color:#fff;font-size:clamp(46px,5.6vw,74px);line-height:1.05;margin-bottom:14px}
.countdown{position:relative;z-index:2;background:linear-gradient(120deg,#2aa9e0,#4a5d94) center/cover;background-image:url(/assets/img/bg-countdown.jpg);background-size:cover;color:#fff;padding-block:30px 36px}
.countdown .script{color:#fff;font-size:clamp(34px,4vw,48px);margin-bottom:10px}
.cd{display:flex;justify-content:center;align-items:flex-start;gap:clamp(10px,3vw,30px)}
.cd div{display:grid;justify-items:center;min-width:78px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:10px 8px}
.cd b{font-size:clamp(38px,5vw,58px);font-weight:600;line-height:1}
.cd span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-top:4px}
.sec{padding-block:clamp(56px,7vw,90px);position:relative;z-index:2}
.snow{background:#f6f9fc url(/assets/img/bg-snow.jpg) center/cover}
.snow .about>div:last-child{background:rgba(255,255,255,.82);border-radius:12px;padding:22px 26px}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,60px);align-items:center}
.about-img{border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.15);width:100%}
.about .script{margin-bottom:12px}
.creds{padding-left:20px;margin:0 0 1em}.creds li{margin-bottom:6px}
.red-band{background:var(--red) url(/assets/img/bg-red.png);color:#fff}
.appear{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center}
.red-band .script{color:#fff;margin-bottom:4px}
.yr{font-style:italic;opacity:.92;margin-bottom:12px}
.appear-list{list-style:none;margin:0;padding:0;columns:2 280px;column-gap:30px}
.appear-list li{break-inside:avoid;padding:3px 0;font-size:14.5px}.appear-list b{display:inline-block;min-width:50px;color:#ffe08a}
.green{background:var(--green);color:#e8f2ea}
.green .script{color:#fff;margin-bottom:28px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:30px;text-align:center}
.svc{border:1.5px dashed rgba(255,255,255,.6);border-radius:10px;padding:26px 20px}
.svc-ic{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--red);margin-bottom:10px}
.svc h3{font-family:var(--script);font-weight:400;color:#fff;font-size:34px;margin-bottom:8px}
.svc p{font-size:14px;margin:0}
#gallery .script{margin-bottom:30px}
.masonry{list-style:none;margin:0;padding:0;column-count:4;column-gap:10px}
.masonry.few{column-count:3;max-width:900px;margin-inline:auto}
.masonry li{break-inside:avoid;margin-bottom:10px}
.masonry a{display:block;overflow:hidden;border-radius:6px}
.masonry img{width:100%;transition:transform .5s}.masonry a:hover img{transform:scale(1.03)}
.booking{background:var(--cream);border-top:6px solid var(--green)}
.book-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
.booking .script{color:var(--red);margin-bottom:10px}
.direct{background:#fff;border-left:4px solid var(--red);padding:14px 16px;border-radius:4px}
.cform{display:grid;gap:14px}
.cform label{display:grid;gap:4px}
.cform .lbl{font-weight:600;font-size:13.5px;color:var(--ink)}
.cform input,.cform textarea,.cform select{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #d5cfc6;border-radius:4px;padding:10px 12px;width:100%}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(31,122,58,.15)}
.cform .btn{justify-self:start}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.site-foot{background:var(--red);color:#fff;font-size:13.5px;padding-block:14px;position:relative;z-index:2}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.site-foot a{color:#fff}.soc{display:flex;gap:10px}.soc a{display:grid;place-items:center;width:32px;height:32px;border:1px solid #fff;border-radius:50%}
.ty{min-height:50vh}
.lb{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:56px 64px}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:calc(100vh - 112px);width:auto;height:auto;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;font:400 40px/1 var(--sans);cursor:pointer;padding:10px 16px}
.lb .x{top:10px;right:14px}.lb .p{left:6px;top:50%;transform:translateY(-50%)}.lb .n{right:6px;top:50%;transform:translateY(-50%)}
.lb .cnt{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#aaa;font-size:13px;letter-spacing:.2em}
@media (prefers-reduced-motion:no-preference){html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}html.js .reveal.in{opacity:1;transform:none}}
@media (max-width:900px){.masonry{column-count:3}.svc-grid{grid-template-columns:1fr}.book-in,.about,.appear{grid-template-columns:1fr}.ginger{max-width:180px;margin-inline:auto}.about-img{max-width:460px;margin-inline:auto}}
@media (max-width:640px){
  .head-in{flex-direction:column;gap:4px}.site-head{position:static}.site-head ul{justify-content:center;column-gap:14px}
  .hero{min-height:0;display:block}.hero picture,.hero-bg{position:static;height:300px}.hero-bg{object-position:80% 30%}
  .hero::after{display:none}.hero-in{background:#2a0d0c;padding-block:28px 36px}
  .masonry,.masonry.few{column-count:2;column-gap:6px}.masonry li{margin-bottom:6px}
  .row2{grid-template-columns:1fr}.cd div{min-width:56px}
  .lb{padding:48px 8px}
}
