:root{--brand:#c8102e;--brand-dark:#9b0c23;--ink:#14181f;--ink-soft:#4a5261;--bg:#fff;--bg-alt:#f4f6f9;--bg-dark:#14181f;--line:#e3e7ee;--gold:#f2b134;--radius:14px;--shadow:0 10px 30px rgba(20,24,31,.12);--max:1140px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:800}p{margin:0 0 1em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}.section{padding:72px 0}.section--alt{background:var(--bg-alt)}.section__head{text-align:center;max-width:680px;margin:0 auto 48px}.section__head h2{font-size:clamp(1.8rem,4vw,2.6rem)}.eyebrow{display:inline-block;color:var(--brand);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;margin-bottom:10px}.lead{color:var(--ink-soft);font-size:1.08rem}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:1rem;cursor:pointer;border:2px solid transparent;transition:transform .12s ease,background .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.icon{width:18px;height:18px;flex:none}.btn--call{background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(200,16,46,.35)}.btn--call:hover{background:var(--brand-dark)}.btn--ghost{background:transparent;color:#fff;border-color:hsla(0,0%,100%,.6)}.btn--ghost:hover{background:hsla(0,0%,100%,.12)}.btn--outline{background:transparent;color:var(--brand);border-color:var(--brand)}.btn--outline:hover{background:rgba(200,16,46,.08)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header__inner{justify-content:space-between;height:72px}.header__inner,.logo{display:flex;align-items:center}.logo{gap:12px;font-weight:900;font-size:1.25rem;letter-spacing:-.02em}.logo__mark{background:var(--brand);color:#fff;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:.95rem}.logo__sub{display:block;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.nav{display:flex;align-items:center;gap:28px}.nav a{font-weight:600;color:var(--ink-soft)}.nav a:hover{color:var(--brand)}.header__cta .btn{padding:10px 20px}.hero{position:relative;color:#fff;background:linear-gradient(180deg,rgba(20,24,31,.78),rgba(20,24,31,.9)),url(/images/hero.svg) 50%/cover no-repeat}.hero__inner{padding:96px 0 104px;max-width:720px}.hero h1{font-size:clamp(2.2rem,6vw,3.6rem)}.hero__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,177,52,.18);color:var(--gold);border:1px solid rgba(242,177,52,.4);padding:6px 14px;border-radius:999px;font-weight:700;font-size:.85rem;margin-bottom:18px}.hero p{font-size:1.15rem;color:hsla(0,0%,100%,.88)}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.hero__stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:44px}.hero__stat strong{display:block;font-size:1.7rem}.hero__stat span{color:hsla(0,0%,100%,.75);font-size:.9rem}.grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .15s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card__icon{width:52px;height:52px;border-radius:12px;background:rgba(200,16,46,.1);color:var(--brand);display:grid;place-items:center;margin-bottom:16px}.card__icon svg{width:26px;height:26px}.card h3{font-size:1.2rem}.card p{color:var(--ink-soft);margin:0}.gallery-marquee-rows{display:flex;flex-direction:column;gap:16px;margin-top:8px}.gallery-marquee{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.gallery-track{display:flex;gap:16px;width:max-content;padding:6px 10px}.gallery-track--left{animation:gallery-scroll-left 60s linear infinite}.gallery-track--right{animation:gallery-scroll-right 60s linear infinite}.gallery-marquee:hover .gallery-track{animation-play-state:paused}@keyframes gallery-scroll-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes gallery-scroll-right{0%{transform:translateX(-50%)}to{transform:translateX(0)}}.gallery-marquee__card{flex:0 0 300px;width:300px;height:200px;border-radius:var(--radius);overflow:hidden;background-color:var(--bg-alt);background-position:50%;background-size:cover;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.gallery-marquee__card:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 30px rgba(20,24,31,.22)}@media (max-width:640px){.gallery-marquee__card{flex-basis:220px;width:220px;height:150px}}@media (prefers-reduced-motion:reduce){.gallery-track{animation:none;flex-wrap:wrap;justify-content:center}.gallery-marquee{-webkit-mask-image:none;mask-image:none}}#reviews.section{padding:16px 0}#reviews .section__head{margin-bottom:12px}.reviews-marquee-rows{display:flex;flex-direction:column;gap:8px;margin-top:0}.reviews-marquee{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.reviews-track{display:flex;gap:10px;width:max-content;padding:2px 5px}.reviews-track--left{animation:reviews-scroll-left 55s linear infinite}.reviews-track--right{animation:reviews-scroll-right 55s linear infinite}.reviews-marquee:hover .reviews-track{animation-play-state:paused}@keyframes reviews-scroll-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes reviews-scroll-right{0%{transform:translateX(-50%)}to{transform:translateX(0)}}.review{flex:0 0 360px;width:360px;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:1px;--padding:5px 5px;overflow:hidden}.review__stars{color:var(--gold);letter-spacing:1px;margin:0;font-size:.8rem}.review__text{font-size:.9rem;line-height:1.45;margin:0}.review__byline{display:flex;align-items:baseline;gap:8px;font-size:.82rem}.review__author{font-weight:700}@media (max-width:520px){.review{flex-basis:280px;width:280px}}@media (prefers-reduced-motion:reduce){.reviews-track{animation:none;flex-wrap:wrap;justify-content:center}.reviews-marquee{-webkit-mask-image:none;mask-image:none}}.review__meta{color:var(--ink-soft);font-size:.82rem}.review__meta:before{content:"· "}.map-wrap{display:grid;grid-gap:32px;gap:32px;grid-template-columns:1fr 1fr;align-items:center}.map-frame{border:0;width:100%;height:380px;border-radius:var(--radius);box-shadow:var(--shadow)}.contact-list{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-gap:16px;gap:16px}.contact-list li{display:flex;gap:14px;align-items:flex-start}.contact-list .ci{color:var(--brand);flex:0 0 auto;margin-top:2px;width:22px;height:22px}.booking{display:grid;grid-gap:28px;gap:28px;grid-template-columns:1.4fr 1fr;align-items:start}.booking__form{display:grid;grid-gap:16px;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-weight:700;font-size:.9rem}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-alt);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(200,16,46,.15);background:#fff}.field textarea{resize:vertical}.booking__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.booking__aside{background:var(--bg-dark);color:hsla(0,0%,100%,.85);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.booking__aside h3{color:#fff}.booking__aside .btn{margin:8px 0 20px}.booking__points{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px;font-size:.95rem}.booking__points li{padding-left:26px;position:relative}.booking__points li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800}.share{max-width:640px;margin:0 auto;text-align:center}.share__btn{font-size:1.1rem;padding:16px 32px}.share__btn:disabled{opacity:.7;cursor:progress;transform:none}.share__error{margin-top:16px;color:var(--brand);font-weight:600}.share__result{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-alt)}.share__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}.share__note{margin-top:20px;color:var(--ink-soft);font-size:.95rem}.share__note a{color:var(--brand);font-weight:700}.share__hero-error{flex:1 1 100%;color:var(--gold);font-weight:600;font-size:.9rem}.floating-call{position:fixed;right:20px;bottom:20px;z-index:60;box-shadow:0 12px 28px rgba(200,16,46,.45)}.footer{background:var(--bg-dark);color:hsla(0,0%,100%,.8);padding:56px 0 28px}.footer__grid{display:grid;grid-gap:28px;gap:28px;grid-template-columns:2fr 1fr 1fr}.footer h4{color:#fff;margin-bottom:14px}.footer a:hover{color:#fff}.footer__list{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.footer__bottom{border-top:1px solid hsla(0,0%,100%,.12);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85rem;color:hsla(0,0%,100%,.6)}@media (max-width:860px){.nav{display:none}.booking,.footer__grid,.map-wrap{grid-template-columns:1fr}.section{padding:56px 0}.hero__inner{padding:72px 0 80px}.booking__actions .btn,.hero__actions .btn{flex:1 1 auto;justify-content:center}}@media (max-width:520px){.container{padding:0 16px}.footer__bottom{flex-direction:column}.floating-call{left:16px;right:16px;justify-content:center}}