/* ================================================================
   GK ROYAL — Award-grade unified theme  (GK.01.039)
   Royal navy · champagne gold · warm ivory. NO white-glow shadows.
   Fraunces display serif + Manrope UI sans. Auto-hide header,
   scroll-revealed floaters, refined buttons, flat-luxe cards,
   redesigned menus, compact consent, scroll-stack (kept).
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --ry-navy:#0d1f3c; --ry-navy2:#132b52; --ry-navy3:#1a3868;
  --ry-ivory:#f6f2e8; --ry-paper:#fffdf6;
  --ry-ink:#18233a; --ry-ink2:#54617a;
  --ry-gold:#c9a227; --ry-gold2:#e0bd4e; --ry-gold3:#f3dc8f;
  --ry-line:rgba(13,31,60,.12); --ry-goldline:rgba(201,162,39,.35);
  --ry-shadow:0 20px 44px -24px rgba(13,31,60,.28);
  --ry-shadow-lg:0 34px 70px -30px rgba(13,31,60,.38);
  --ry-disp:'Fraunces',Georgia,serif;
  --ry-sans:'Manrope','Segoe UI',system-ui,sans-serif;
}

/* ---------------- canvas & type ---------------- */
body{background:var(--ry-ivory)!important;color:var(--ry-ink);font-family:var(--ry-sans)}
h1,h2,h3,h4,.gk-pop h3,.gkdp h3{font-family:var(--ry-disp)!important;letter-spacing:-.01em}
p,li,label,input,select,textarea,button,a{font-family:var(--ry-sans)}
@keyframes ryIn{from{opacity:0}to{opacity:1}}
body{animation:ryIn .45s ease both}

/* ---------------- header: auto-hide + clean ---------------- */
.notice-strip,.topbar,.site-header,.fz-sub{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.gk-hidebar{transform:translateY(-130%)!important}
.notice-strip{background:linear-gradient(90deg,#a3800f,var(--ry-gold),#e0bd4e,var(--ry-gold),#a3800f)!important;color:#241c04!important}
.notice-strip a{color:#241c04!important}
.topbar{background:linear-gradient(120deg,#0b1a33,#0d1f3c)!important;border-bottom:1px solid var(--ry-goldline)!important}
.site-header{background:rgba(255,253,246,.94)!important;backdrop-filter:blur(16px) saturate(1.15);
  border-bottom:1px solid var(--ry-line)!important;box-shadow:0 12px 30px -24px rgba(13,31,60,.35)!important}
.main-nav .nav-link{border-radius:100px;padding:9px 15px;font-weight:600;color:var(--ry-ink);
  transition:background .25s,color .25s;background-image:none!important}
.main-nav .nav-link:hover{background:var(--ry-navy);color:#fff;box-shadow:none}
.fz-sub{background:linear-gradient(120deg,#0b1a33,#0d1f3c)!important;border-bottom:1px solid var(--ry-goldline)!important}
.fz-sub a:hover{color:var(--ry-gold3)!important}

/* ---------------- MEGA MENU — flat editorial ---------------- */
.mega{background:var(--ry-paper)!important;border:1px solid var(--ry-line)!important;border-top:2px solid var(--ry-gold)!important;
  box-shadow:var(--ry-shadow-lg)!important;border-radius:0 0 18px 18px!important;
  max-height:calc(100vh - 150px);overflow-y:auto;scrollbar-width:thin}
.mega::-webkit-scrollbar{width:6px}.mega::-webkit-scrollbar-thumb{background:var(--ry-goldline);border-radius:100px}
.mega .i3d,.mega .ic,.drop-link .ic,.sub-link .ic{background:var(--ry-ivory)!important;border:1px solid var(--ry-goldline)!important;
  border-radius:12px!important;box-shadow:none!important;filter:none!important}
.drop-link,.sub-link{border-radius:12px;transition:background .25s,transform .25s,color .25s;box-shadow:none!important}
.drop-link:hover,.sub-link:hover{background:var(--ry-navy)!important;transform:translateX(4px)}
.drop-link:hover *,.sub-link:hover *{color:#fff!important}
.drop-link:hover .ic,.sub-link:hover .ic{background:rgba(255,255,255,.1)!important;border-color:rgba(243,220,143,.5)!important}
.mega-label,.mega-title{letter-spacing:.16em;color:var(--ry-ink2)!important}
/* active item: navy pill, no halo */
.drop-link[aria-current],.drop-link.on,.sub-link.on{background:var(--ry-navy)!important;color:#fff!important;box-shadow:none!important}

/* ---------------- BUTTONS — one clean system ---------------- */
.btn{border-radius:100px!important;font-weight:700!important;letter-spacing:.01em;
  padding:14px 28px!important;display:inline-flex;align-items:center;gap:10px;justify-content:center;
  transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,background .28s,color .28s;box-shadow:none}
.btn+.btn{margin-left:6px}
.btn-gold{background:linear-gradient(120deg,var(--ry-gold),var(--ry-gold2))!important;color:#231b04!important;
  box-shadow:0 14px 30px -14px rgba(160,124,20,.55)!important;border:none!important}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(160,124,20,.65)!important}
.btn-gold:active{transform:translateY(0) scale(.985)}
.btn-line,.btn-white{background:var(--ry-paper)!important;border:1.5px solid rgba(13,31,60,.28)!important;
  color:var(--ry-ink)!important;box-shadow:0 10px 24px -16px rgba(13,31,60,.3)!important}
.btn-line:hover,.btn-white:hover{background:var(--ry-navy)!important;border-color:var(--ry-navy)!important;color:#fff!important;transform:translateY(-2px)}
.btn-navy,.btn.btn-navy{background:linear-gradient(135deg,var(--ry-navy2),var(--ry-navy))!important;
  color:var(--ry-gold3)!important;border:1px solid rgba(201,162,39,.4)!important;box-shadow:0 14px 30px -14px rgba(13,31,60,.55)!important}
.btn-navy:hover{transform:translateY(-2px)}
/* hero CTA rows breathe */
.hero .btn,.gk-hero .btn,.page-hero .btn{margin:0 10px 10px 0!important}

/* ---------------- CARDS — flat-luxe, zero halo ---------------- */
.card,.sub-card,.tcard,.gkj-card,.panel,.fz-fr-card,.pkg,.price-card,.svc-card,.tile,
.g-card,.blog-card,.faq-item,.step,.compare-card,.offer-card{
  background:var(--ry-paper)!important;border:1px solid var(--ry-line)!important;
  border-radius:18px!important;box-shadow:var(--ry-shadow)!important;filter:none!important}
.card:hover,.sub-card:hover,.tcard:hover,.fz-fr-card:hover,.svc-card:hover,.blog-card:hover,.g-card:hover{
  border-color:var(--ry-goldline)!important;box-shadow:var(--ry-shadow-lg)!important}
.gkx-tilt:hover{box-shadow:var(--ry-shadow-lg)!important}
.gkx-tilt .gkx-glare{display:none}                       /* no more light sheen */
/* card text always readable */
.card:not(.dark):not(.navy) h1,.card:not(.dark):not(.navy) h2,.card:not(.dark):not(.navy) h3,.card:not(.dark):not(.navy) h4,
.tcard:not(.dark) h3,.gkj-card h3,.fz-fr-card h3,.svc-card h3,.g-card h3,.blog-card h3,.tile h3,.step h3,
.faq-item summary,.compare-card h3,.offer-card h3,.card:not(.dark):not(.navy) b{color:var(--ry-ink)!important}
.card:not(.dark):not(.navy) p,.tcard:not(.dark) p,.gkj-card p,.fz-fr-card p,.svc-card p,
.g-card p,.blog-card p,.tile p,.step p,.compare-card p{color:var(--ry-ink2)!important}
.card.dark,[class*="card"].navy,.tcard.dark{background:linear-gradient(150deg,var(--ry-navy2),var(--ry-navy))!important;
  border:1px solid rgba(201,162,39,.35)!important}
/* icon medallions: flat */
.i3d,.card .ic{background:var(--ry-ivory)!important;border:1px solid var(--ry-goldline)!important;
  border-radius:50%!important;box-shadow:none!important}
.i3d.navy{background:linear-gradient(150deg,var(--ry-navy2),var(--ry-navy))!important}
/* chips */
.chip,.gkf,.pay-chip,.kicker{background:var(--ry-paper)!important;border:1px solid var(--ry-goldline)!important;
  box-shadow:none!important;border-radius:100px!important;color:var(--ry-ink2)!important;filter:none!important}
.kicker{color:#9a7b16!important;letter-spacing:.16em;font-weight:700}
/* kill any leftover glow/blur filters on interactive bits */
.tb-48,.gk-chip,.share-btn,.fab,.acc,.acc-head{box-shadow:none!important;filter:none!important}
.gk-statchips .gk-chip{background:rgba(13,31,60,.75)!important;border-color:var(--ry-goldline)!important;color:#efe9d8!important}

/* ---------------- HERO over the shared photo ---------------- */
.gk-hero,.hero,.page-hero{
  background:linear-gradient(100deg,rgba(8,17,34,.94) 0%,rgba(10,22,44,.84) 32%,
    rgba(10,22,44,.4) 64%,rgba(8,17,34,.52) 100%),
    var(--gk-hero-image) var(--gk-hero-pos) / cover no-repeat !important}
@media(max-width:900px){.gk-hero,.hero,.page-hero{
  background:linear-gradient(180deg,rgba(8,17,34,.94),rgba(10,22,44,.88) 55%,rgba(10,22,44,.7)),
    var(--gk-hero-image-m) center 24% / cover no-repeat !important}}
.hero h1,.gk-hero h1,.page-hero h1,.hero h1 *,.gk-hero h1 *{color:#fff!important;-webkit-text-fill-color:currentColor}
.hero h1 em,.gk-hero h1 em,.hero h1 span,.gk-hero h1 span,.hero h1 b{color:var(--ry-gold3)!important}
.hero p,.gk-hero p,.page-hero p{color:#e3ddcc!important}
.hero .crumbs,.hero .crumbs a,.gk-hero .crumbs,.gk-hero .crumbs a{color:#cfc9b8!important}
.hero .chip,.gk-hero .chip,.hero .gkf,.gk-hero .gkf{background:rgba(10,20,40,.55)!important;
  border:1px solid rgba(243,220,143,.4)!important;color:#efe9d8!important;backdrop-filter:blur(8px)}
.hero .chip b,.gk-hero .chip b,.hero .gkf b{color:var(--ry-gold3)!important}

/* ---------------- inputs ---------------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{
  background:#fff!important;border:1.5px solid var(--ry-line)!important;border-radius:12px!important;
  box-shadow:none!important;color:var(--ry-ink)!important;transition:border-color .25s,box-shadow .25s}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--ry-gold)!important;
  box-shadow:0 0 0 3px rgba(201,162,39,.18)!important}

/* ---------------- FOOTER — royal navy ---------------- */
.site-footer,.gk-foot{background:linear-gradient(170deg,#0c1c38,#0a1526 70%)!important}
.site-footer a:hover,.gk-foot a:hover{color:var(--ry-gold3)!important}
.site-footer [class*="card"],.gk-foot [class*="card"],.site-footer .f-col,.gk-foot .f-col{
  background:rgba(255,255,255,.035)!important;border:1px solid rgba(201,162,39,.22)!important;box-shadow:none!important;border-radius:16px!important}
.site-footer [class*="card"] h3,.site-footer [class*="card"] b,.gk-foot [class*="card"] h3{color:#f2ead6!important}
.site-footer [class*="card"] p,.gk-foot [class*="card"] p{color:#b9c2d4!important}
.site-footer .chip,.site-footer .pay-chip,.site-footer [class*="pay"],
.gk-foot .chip,.gk-foot [class*="pay"]{background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(201,162,39,.4)!important;color:#e6ddc4!important;box-shadow:none!important;border-radius:100px!important}
.gk-cta .inner{background:linear-gradient(165deg,#10264a,#0c1c38 65%)!important;
  border:1px solid var(--ry-goldline)!important;box-shadow:var(--ry-shadow-lg)!important}
.gk-cta .stat b{color:var(--ry-gold3)!important}
.gk-cta .stat span{color:#b9c2d4!important}
.gk-cta .si{background:rgba(201,162,39,.14)!important;border:1px solid rgba(201,162,39,.4)!important;color:var(--ry-gold2)!important}

/* ---------------- FLOATERS — appear on scroll, right side ---------------- */
.floaters.left{display:none!important}
.floaters{position:fixed!important;bottom:24px!important;right:18px!important;left:auto!important;top:auto!important;
  display:flex!important;flex-direction:column!important;gap:12px!important;
  opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.floaters.gk-on{opacity:1;transform:none;pointer-events:auto}
.floaters .fab{width:52px;height:52px;border-radius:50%;display:grid!important;place-items:center;text-decoration:none;
  background:linear-gradient(150deg,var(--ry-navy2),var(--ry-navy))!important;
  border:1.5px solid rgba(201,162,39,.55)!important;box-shadow:0 14px 28px -12px rgba(13,31,60,.6)!important;
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;animation:none!important;filter:none!important}
.floaters .fab:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 20px 40px -14px rgba(201,162,39,.5)!important}
.floaters .fab-wa{background:linear-gradient(150deg,#128c4a,#0b5e30)!important;border-color:rgba(255,255,255,.35)!important}
.floaters .fab-call{background:linear-gradient(150deg,var(--ry-gold),#a3820f)!important}
.floaters .fab-call svg{fill:#241c04}
.gkx-top{display:none!important}

/* ---------------- CONSENT — compact navy glass ---------------- */
#consentBanner{position:fixed!important;left:auto!important;right:88px!important;bottom:18px!important;top:auto!important;
  width:min(400px,calc(100vw - 32px))!important;background:rgba(10,20,40,.94)!important;backdrop-filter:blur(14px);
  border:1px solid rgba(201,162,39,.5)!important;border-radius:16px!important;box-shadow:var(--ry-shadow-lg)!important;
  padding:16px!important;z-index:120;color:#efe9d8!important;transform:translateY(16px);opacity:0;pointer-events:none;
  transition:opacity .4s ease,transform .4s ease;display:block!important}
#consentBanner.show{opacity:1;transform:none;pointer-events:auto}
#consentBanner p{font-size:.78rem!important;line-height:1.55!important;color:#cfc9b8!important;margin:0 0 12px!important;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#consentBanner a{color:var(--ry-gold3)!important}
#consentBanner .c-actions{display:flex!important;gap:8px!important;justify-content:flex-end!important}
#consentBanner .c-actions .btn{padding:9px 16px!important;font-size:.8rem!important}
#consentBanner .btn-line{background:transparent!important;border-color:rgba(201,162,39,.55)!important;color:#e6ddc4!important}
#consentBanner .btn-line:hover{background:rgba(201,162,39,.15)!important;color:#f3dc8f!important}

/* ---------------- drawer: flat + scrolling zone list ---------------- */
.drawer .panel{background:var(--ry-paper)!important;border-radius:0!important;box-shadow:-20px 0 60px rgba(8,17,34,.35)!important;border:none!important}
.drawer .acc{border:1px solid var(--ry-line)!important;border-radius:14px!important;box-shadow:none!important;background:var(--ry-paper)!important}
.acc.open .acc-body,.acc.on .acc-body{max-height:44vh!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;padding-right:6px}
.acc-body::-webkit-scrollbar{width:5px}.acc-body::-webkit-scrollbar-thumb{background:var(--ry-goldline);border-radius:100px}

/* ---------------- article / blog readability ---------------- */
article p,.post p,.blog-body p,.prose p{line-height:1.85;font-size:1.02rem;color:#2c3752}
article h2,.post h2{margin-top:2.2em}
article a,.post a{color:#8a6d0b;text-decoration-color:var(--ry-goldline)}

/* ---------------- scroll-stack (kept, restyled royal) ---------------- */
.gks-wrap{display:block!important;grid-template-columns:none!important}
.gks-card{position:sticky;top:110px;margin:0 auto 9vh;max-width:860px;width:100%;transform-origin:center top;
  will-change:transform,filter;border-radius:22px!important;min-height:min(62vh,540px);
  display:flex!important;flex-direction:column;justify-content:center;padding:44px 46px!important;
  background:var(--ry-paper)!important;border:1px solid var(--ry-goldline)!important;box-shadow:var(--ry-shadow-lg)!important}
.gks-card:last-child{margin-bottom:14vh}
.gks-card h3{font-size:1.8rem!important}
@media(max-width:768px){.gks-card{top:84px;min-height:56vh;padding:28px 22px!important;margin-bottom:7vh}}
@media(prefers-reduced-motion:reduce){.gks-card{position:static;transform:none!important;filter:none!important}.floaters{opacity:1;transform:none;pointer-events:auto}body{animation:none}
.notice-strip,.topbar,.site-header,.fz-sub{transition:none}}

/* ---------------- ripple ---------------- */
.wm-ripple{position:absolute;border-radius:50%;transform:scale(0);animation:wmRip .55s ease-out;
  background:rgba(255,255,255,.4);pointer-events:none;mix-blend-mode:soft-light}
@keyframes wmRip{to{transform:scale(3.2);opacity:0}}
.btn,.fab,.btn-sm,.btn-gold-sm{position:relative;overflow:hidden}

/* homepage editorial: align with royal ivory (its navy band stays navy — the blue you liked) */
:root{--h2x-cream:var(--ry-ivory);--h2x-cream2:#ece6d6}
.h2x{background:var(--ry-ivory)}

/* tables */
table tbody tr:hover{background:rgba(201,162,39,.08)!important}
/* GK.01.042: 100% NATIVE scrollbar — zero custom styling, zero chance of a second bar.
   Single scroller enforced: the page can only ever scroll on <html>. */
html{overflow-y:auto;overflow-x:clip}
body{overflow:visible!important;overflow-x:clip!important}


/* GK.01.042 additions */
@media(max-width:640px){#consentBanner{right:10px!important}}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
::selection{background:rgba(243,220,143,.7);color:#18233a}
.floaters{z-index:140!important}                      /* always above consent + popups' edge */
.card:hover .ic,.i3d:hover{transform:translateY(-3px) scale(1.05);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.h2x-mq-track:hover{animation-play-state:paused}
img{backface-visibility:hidden}
