/* T54 restyle: GRAY dominant, logo colours as accents. Loaded after style.css / gallery.css / logo.css on every page. CSS only.
   Palette (sampled from the logo): navy #092247, royal #0c387c, red #c82d36, cream #f6e6d9, silver #c5c8cf.
   Grays: base #363a40, deep #2a2d32, raised surfaces = white at 7-10% over base. Red tint #ef5b64 only for small accents on dark surfaces. */
:root{--bg:#363a40;--ink:#f4f5f7;--mut:#c9ced6;--dim:#b4bac3;--line:rgba(255,255,255,.18);
 --navy:#092247;--royal:#0c387c;--red:#c82d36;--red-d:#a3222b;--red-l:#ef5b64;--cream:#f6e6d9;--silver:#c5c8cf;--gray-d:#2a2d32}
html,body{background:var(--bg)}
::selection{background:var(--red);color:#fff}
::-webkit-scrollbar-track{background:var(--gray-d)}::-webkit-scrollbar-thumb{background:rgba(197,200,207,.45)}
a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.lead{color:#dfe3e8}
h2{background-image:linear-gradient(180deg,#fff 30%,var(--silver) 115%)}
.hero h1,main:not(.nf) h1,.nf h1{background-image:linear-gradient(180deg,#fff 30%,var(--silver) 100%)}
.eyebrow{color:var(--silver)}
.hero .eyebrow::before,.wrap>.eyebrow::before{content:"";display:inline-block;width:22px;height:2px;background:var(--red-l);vertical-align:middle;margin-right:12px;transform:translateY(-1px)}

/* background stage (was near-black) */
.stage{background:var(--bg)}
.media{-webkit-mask-image:radial-gradient(ellipse 54% 53% at 50% 52%,#000 38%,transparent 100%);mask-image:radial-gradient(ellipse 54% 53% at 50% 52%,#000 38%,transparent 100%);opacity:.9}
.media img,.media video{filter:grayscale(1) contrast(1.1) brightness(1.25)}
.stage .halo{background:radial-gradient(ellipse at center,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 45%,transparent 70%);border-color:rgba(255,255,255,.1)}
.stage .floor{background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(197,200,207,.16),transparent 70%)}
.stage .vig{background:radial-gradient(circle at 50% 55%,transparent 38%,rgba(42,45,50,.6) 85%,rgba(42,45,50,.9) 100%)}
.stage .shade{background:linear-gradient(180deg,rgba(54,58,64,.7) 0,rgba(54,58,64,0) 22%,rgba(54,58,64,0) 70%,rgba(54,58,64,.6) 100%)}
.stage .veil{background:var(--bg)}
.noscroll-bar{background:linear-gradient(90deg,var(--red),var(--cream),var(--silver))}
.hero::before{width:70%;background:radial-gradient(ellipse 66% 58% at 22% 42%,rgba(54,58,64,.94) 0%,rgba(54,58,64,.82) 50%,transparent 100%)}
.hero h1{filter:drop-shadow(0 2px 14px rgba(42,45,50,.95))}
.ghost span{-webkit-text-stroke-color:rgba(255,255,255,.24)}
.hero .lead{color:#eef0f3;text-shadow:0 1px 14px rgba(42,45,50,.9)}
.scrollcue{color:var(--dim)}

/* header: navy band + red rule */
.nav,.nav.solid{background:rgba(9,34,71,.94);border-color:transparent;box-shadow:0 2px 0 var(--red);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.menu,.right{color:#eef0f3}
.menu a::after{background:var(--red-l);height:2px}
.menu a:hover,.right a.tel:hover{color:#fff}
.right .sep{background:rgba(255,255,255,.3)}
.cta{border-color:var(--red);background:var(--red);color:#fff}
.cta:hover{background:#fff;color:var(--navy);border-color:#fff}
.burger{border-color:rgba(255,255,255,.55)}
.mmenu{background:rgba(9,34,71,.98)}
.mmenu .cta{background:var(--red)}
.dots a{background:rgba(255,255,255,.4)}
.dots a.on{background:var(--red-l);box-shadow:0 0 12px rgba(239,91,100,.7)}

/* buttons */
.btn{border-color:rgba(255,255,255,.55);background:rgba(9,34,71,.6);color:#fff}
.btn:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn.solid{background:var(--red);border-color:var(--red);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 30px -12px rgba(200,45,54,.6)}
.btn.solid:hover{background:var(--red-d);border-color:var(--red-d);color:#fff}
.pill{border-color:rgba(255,255,255,.22);background:linear-gradient(145deg,rgba(9,34,71,.62),rgba(9,34,71,.35))}
.pill span{color:#e8ebef}

/* sections, cards, pricing */
.sec{border-top:1px solid rgba(255,255,255,.06)}
#packages,#commercial,#about{background:rgba(42,45,50,.55)}
#addons,#gallery,#reviews,#book{background:rgba(255,255,255,.035)}
.card{background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border-color:var(--line);box-shadow:0 24px 40px -24px rgba(20,22,26,.7),inset 0 1px 0 rgba(255,255,255,.2)}
.card:hover{border-color:rgba(239,91,100,.7)}
.card .ico{background:var(--navy);border-color:rgba(255,255,255,.25);color:#fff}
.card p{color:#dde0e5}
.spot{background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,.06) 45%,transparent 68%);color:#f1f3f5}
.note{color:#dde0e5}
.pk.top{border-color:var(--red);background:linear-gradient(145deg,rgba(200,45,54,.2),rgba(255,255,255,.05))}
.tag{background:var(--red);color:#fff}
.price td{color:#e8ebef}
.ul{color:#dde0e5}
.ul li::before{background:var(--red-l)}
.add p{color:#d6dae0}
.add h3{color:#fff}
.quote{border-left-color:var(--red-l)}
.row a:hover{text-decoration-color:var(--red-l)}
.callcard{border-color:rgba(255,255,255,.35);background:linear-gradient(145deg,rgba(9,34,71,.55),rgba(255,255,255,.05))}
.fnote{color:var(--mut)}

/* footer (home) + flat-page footer: navy band with red top rule, silver text */
footer,.pg-foot{background:var(--navy);border-top:3px solid var(--red);color:var(--mut)}
footer a,.pg-foot a{color:#eef0f3}
.pg-foot a:hover,footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--red-l);text-underline-offset:5px}

/* flat pages: about, contact, privacy, 404 */
.pg-nav{background:rgba(9,34,71,.97);border-bottom:0;box-shadow:0 2px 0 var(--red)}
.pg-brand small{color:var(--silver)}
.pg-nav nav{color:#eef0f3}
.pg-nav nav a:hover,.pg-nav nav a[aria-current]{color:#fff;text-decoration-color:var(--red-l)}
body main:not(.nf){background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(255,255,255,.12),transparent 70%)}
main:not(.nf) h2{color:#fff}
main:not(.nf) p,main:not(.nf) li{color:#e3e6ea}
main:not(.nf) a{text-decoration-color:var(--red-l)}
.nf{background:radial-gradient(ellipse 60% 45% at 50% 35%,rgba(255,255,255,.16),transparent 70%),radial-gradient(ellipse 80% 30% at 50% 100%,rgba(9,34,71,.55),transparent 70%),var(--bg)}
.nf .big{-webkit-text-stroke-color:rgba(255,255,255,.4)}
.nf p{color:#e0e3e8}
.nf .nf-links{color:var(--mut)}
.nf .nf-links a{color:#eef0f3;text-decoration-color:var(--red-l)}

/* gallery + lightbox + reviews (gallery.css rules re-coloured) */
.g-btn{background:#2f3237;box-shadow:0 18px 30px -20px rgba(20,22,26,.8);border-color:var(--line)}
.g-btn:hover,.g-btn:focus-visible{border-color:var(--red-l)}
.g-btn img{background:#2f3237}
.g-pair{border-color:rgba(255,255,255,.4);background:linear-gradient(145deg,rgba(9,34,71,.4),rgba(255,255,255,.06))}
.g-pair-h{color:var(--silver)}
.g-pair-h span{color:#dde0e5}
.g-tag{background:var(--navy);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.5)}
.lb::backdrop{background:rgba(32,35,40,.95)}
.lb-img{background:#2f3237}
.lb-cap{color:#e3e6ea}
.lb-count{color:var(--silver)}
.lb-x,.lb-nav{border-color:rgba(255,255,255,.55);background:var(--navy)}
.lb-x:hover,.lb-nav:hover{background:var(--red);color:#fff;border-color:var(--red)}
.rev .stars{color:var(--cream)}
.rev .rt{color:#eceef1}
.rev .r-ex-note a,.rev-link a{text-decoration-color:var(--red-l)}

@media(max-width:700px){footer .wrap,.pg-foot .pg-wrap{justify-content:center;text-align:center}}
