:root{
  /* ── TWO-COLOUR SYSTEM: navy + orange, on cream ── */
  --navy:#353240;          /* primary — headings, footer, anchors */
  --navy-deep:#26232F;
  --navy-soft:#66626F;     /* body text (navy-grey tint) */
  --orange:#FF2928;        /* accent — buttons, highlights */
  --orange-deep:#DD1F1E;   /* hover */
  --orange-soft:#FFE1E0;   /* tints */
  --cream:#FBF6EF;         /* page background */
  --cream-2:#F4ECE0;       /* alternating section background */
  --white:#FFFFFF;
  --line:rgba(53,50,64,0.12);
  --line-soft:rgba(53,50,64,0.07);
  --shadow:0 16px 46px rgba(53,50,64,0.10);
  --shadow-sm:0 8px 24px rgba(53,50,64,0.08);
  --radius:18px;
  --radius-lg:26px;
  --container:1350px;
  --ease:0.4s cubic-bezier(0.22,0.61,0.36,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;}
body{font-family:'Montserrat',system-ui,sans-serif;background:var(--cream);color:var(--navy-soft);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.container{max-width:var(--container);margin:0 auto;padding:0 32px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0.01em;padding:15px 30px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:all var(--ease);white-space:nowrap;}
.btn-orange{background:var(--orange);color:#fff;}
.btn-orange:hover{background:var(--orange-deep);transform:translateY(-2px);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-deep);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--navy);background:var(--navy);color:#fff;}
.btn-light{background:rgba(255,255,255,0.14);color:#fff;border-color:rgba(255,255,255,0.34);backdrop-filter:blur(6px);}
.btn-light:hover{background:#fff;color:var(--navy);border-color:#fff;}
.btn-white{background:#fff;color:var(--navy);}
.btn-white:hover{background:var(--navy);color:#fff;transform:translateY(-2px);}
.topbar{background:var(--navy);color:rgba(255,255,255,0.82);font-size:12.5px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:44px;gap:20px;}
.topbar-left{display:flex;align-items:center;gap:26px;}
.topbar-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.85);transition:color var(--ease);font-weight:500;}
.topbar-item:hover{color:var(--orange);}
.topbar-right{display:flex;align-items:center;gap:18px;}
.topbar-link{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,0.85);font-weight:500;transition:color var(--ease);}
.topbar-link:hover{color:var(--orange);}
.topbar-cur{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,0.85);font-weight:600;padding-left:18px;border-left:1px solid rgba(255,255,255,0.18);cursor:pointer;}
.topbar-socials{display:flex;align-items:center;gap:8px;padding-left:18px;border-left:1px solid rgba(255,255,255,0.18);}
.topbar-soc{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.1);display:grid;place-items:center;color:#fff;transition:all var(--ease);}
.topbar-soc:hover{background:var(--orange);transform:translateY(-1px);}
@media(max-width:760px) {
.topbar-socials{display:none;}
.topbar-item.mail{display:none;}
.topbar-left{gap:16px;}
}
.nav{position:sticky;top:0;z-index:200;background:rgba(251,246,239,0.86);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:box-shadow var(--ease),border-color var(--ease),background var(--ease);}
.nav.scrolled{box-shadow:0 6px 26px rgba(53,50,64,0.09);border-color:var(--line-soft);background:rgba(251,246,239,0.97);}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo-img{height:46px;width:auto;display:block;}
.logo-mark{width:38px;height:38px;border-radius:11px;background:var(--navy);display:grid;place-items:center;flex-shrink:0;}
.logo-text{font-size:21px;font-weight:800;letter-spacing:-0.02em;color:var(--navy);line-height:1;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--navy);position:relative;padding:4px 0;transition:color var(--ease);}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--orange);transition:width var(--ease);}
.nav-links a:hover{color:var(--orange);}
.nav-links a:hover::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.nav-phone{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--navy);}
.nav-wa{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;font-size:13.5px;font-weight:600;padding:11px 22px;border-radius:999px;transition:all var(--ease);white-space:nowrap;flex-shrink:0;}
@media(max-width:760px) {
.nav-wa{display:none;}
}
@media(max-width:520px) {
.nav-right{gap:10px;}
.nav-wa{padding:9px;gap:0;}
}
.nav-wa:hover{background:var(--orange-deep);transform:translateY(-1px);}
.nav-links a .caret{display:inline-block;width:10px;height:10px;margin-left:4px;vertical-align:middle;color:var(--navy-soft);transition:color var(--ease);}
.nav-links a:hover .caret{color:var(--orange);}
.nav-search{background:none;border:none;cursor:pointer;color:var(--navy);display:grid;place-items:center;padding:7px;border-radius:50%;transition:background var(--ease),color var(--ease);flex-shrink:0;}
.nav-search:hover{color:var(--orange);background:var(--orange-soft);}
.nav-menu-btn{background:none;border:none;cursor:pointer;color:var(--navy);display:grid;place-items:center;padding:7px;border-radius:50%;transition:background var(--ease),color var(--ease);flex-shrink:0;}
.nav-menu-btn:hover{color:var(--orange);background:var(--orange-soft);}
.drawer-overlay{position:fixed;inset:0;background:rgba(38,36,47,0.5);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity var(--ease),visibility var(--ease);z-index:400;}
.drawer-overlay.open{opacity:1;visibility:visible;}
.drawer{position:fixed;top:0;right:0;height:100%;width:392px;max-width:88vw;background:var(--white);z-index:401;transform:translateX(100%);transition:transform var(--ease);display:flex;flex-direction:column;box-shadow:-24px 0 70px rgba(38,36,47,0.22);}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--line-soft);flex-shrink:0;}
.drawer-head .logo{gap:10px;}
.drawer-close{width:40px;height:40px;border-radius:50%;background:var(--cream-2);border:none;cursor:pointer;color:var(--navy);display:grid;place-items:center;transition:background var(--ease),color var(--ease);}
.drawer-close:hover{background:var(--orange);color:#fff;transform:rotate(90deg);}
.drawer-body{flex:1;overflow-y:auto;padding:26px 28px 30px;}
.drawer-group{margin-bottom:26px;}
.drawer-group-title{font-size:11.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--orange);margin-bottom:10px;display:flex;align-items:center;gap:9px;}
.drawer-links{list-style:none;display:flex;flex-direction:column;}
.drawer-links a{display:flex;align-items:center;gap:11px;font-size:14.5px;font-weight:500;color:var(--navy);padding:11px 0;border-bottom:1px solid var(--line-soft);transition:color var(--ease),padding-left var(--ease);}
.drawer-links a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0;opacity:0;transition:opacity var(--ease);}
.drawer-links a:hover{color:var(--orange);padding-left:6px;}
.drawer-links a:hover::before{opacity:1;}
.drawer-foot{padding:20px 28px 26px;border-top:1px solid var(--line-soft);flex-shrink:0;}
.drawer-foot .btn{width:100%;}
.drawer-mainlinks{display:none;}
@media(max-width:1000px) {
.drawer-mainlinks{display:block;}
}
@media(max-width:1060px) {
.nav-phone{display:none;}
}
@media(max-width:1000px) {
.nav-links{display:none;}
}
@keyframes bob{0%,100%{transform:translateY(0);opacity:0.5;}50%{transform:translateY(6px);opacity:1;}}
@keyframes fade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.vrail::-webkit-scrollbar{display:none;}
.mdl{position:fixed;inset:0;z-index:9999;background:rgba(26,24,33,0.94);display:none;align-items:center;justify-content:center;padding:28px;}
.mdl.open{display:flex;}
.mdl-fig{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(1080px,94vw);}
.mdl-fig img{max-width:100%;max-height:76vh;border-radius:var(--radius);box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.mdl-video{width:min(1080px,94vw);aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.mdl-cap{color:rgba(255,255,255,0.88);font-size:14px;font-weight:500;text-align:center;}
.mdl-count{color:rgba(255,255,255,0.5);font-size:12px;font-weight:600;letter-spacing:0.08em;}
.mdl-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,0.14);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background var(--ease);}
.mdl-btn:hover{background:var(--orange);}
.mdl-prev{left:-64px;}
.mdl-next{right:-64px;}
.mdl-close{position:absolute;top:-52px;right:-4px;transform:none;}
@media(max-width:900px) {
.mdl{padding:16px;}
.mdl-prev{left:2px;}
.mdl-next{right:2px;}
.mdl-btn{width:40px;height:40px;background:rgba(0,0,0,0.5);}
.mdl-close{top:-46px;right:0;}
.mdl-fig img{max-height:64vh;}
}
@media(max-width:640px) {
.chips::-webkit-scrollbar{display:none;}
}
footer{background:var(--navy);color:rgba(255,255,255,0.62);}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:42px 0;border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:48px;padding:56px 0;}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.footer-logo .logo-mark{background:var(--orange);}
.footer-logo .logo-text{color:#fff;}
.footer-about{font-size:13.5px;line-height:1.75;max-width:330px;margin-bottom:22px;}
.footer-legal{font-size:12px;line-height:1.6;max-width:330px;color:rgba(255,255,255,0.55);margin:-10px 0 22px;}
.footer-socials{display:flex;gap:10px;}
.footer-social{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.08);display:grid;place-items:center;color:#fff;transition:all var(--ease);}
.footer-social:hover{background:var(--orange);transform:translateY(-2px);}
.footer-h{font-size:14px;font-weight:700;color:#fff;letter-spacing:0.02em;margin-bottom:18px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-links a{font-size:13.5px;transition:color var(--ease);}
.footer-links a:hover{color:var(--orange);}
.footer-contact{display:flex;flex-direction:column;gap:14px;margin-bottom:20px;}
.footer-contact div{display:flex;gap:11px;font-size:13.5px;line-height:1.5;}
.footer-contact svg{width:16px;height:16px;color:var(--orange);flex-shrink:0;margin-top:2px;}
.news{display:flex;gap:8px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.09);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:12.5px;}
.footer-bottom-links{display:flex;gap:22px;}
.footer-bottom-links a:hover{color:var(--orange);}
@media(max-width:900px) {
.footer-grid{grid-template-columns:1fr 1fr;gap:34px;}
}
@media(max-width:560px) {
.footer-grid{grid-template-columns:1fr;}
.footer-top{flex-direction:column;align-items:flex-start;}
}
body{padding-bottom:0;}
.actionbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:320;background:var(--white);
  border-top:1px solid var(--line-soft);box-shadow:0 -8px 26px rgba(53,50,64,0.10);
  padding:8px 0 calc(8px + env(safe-area-inset-bottom));}
@media(max-width:760px) {
body{padding-bottom:70px;}
.actionbar{display:block;}
}
body.no-actionbar{padding-bottom:0;}
body.no-actionbar .actionbar{display:none;}
@media(max-width:600px) {
body{padding-bottom:56px;}
.actionbar{padding:6px 0 calc(6px + env(safe-area-inset-bottom));}
}
.livechat-panel{position:fixed;right:24px;bottom:88px;z-index:310;width:340px;max-width:calc(100vw - 32px);height:460px;max-height:70vh;background:var(--white);border-radius:20px;box-shadow:0 26px 60px rgba(53,50,64,0.3);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;}
.livechat-panel.open{opacity:1;visibility:visible;transform:translateY(0);}
.lc-head{background:var(--navy);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.lc-agent{display:flex;align-items:center;gap:10px;}
.lc-dot{width:9px;height:9px;border-radius:50%;background:#2ecc71;flex-shrink:0;box-shadow:0 0 0 3px rgba(46,204,113,0.25);}
.lc-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:grid;place-items:center;}
.lc-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--cream);}
.lc-msg{max-width:80%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5;}
.lc-msg.agent{background:var(--white);color:var(--navy);border:1px solid var(--line-soft);align-self:flex-start;border-bottom-left-radius:4px;}
.lc-msg.user{background:var(--orange);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;}
.lc-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line-soft);background:var(--white);flex-shrink:0;}
@media(max-width:480px) {
.livechat-panel{right:12px;left:12px;width:auto;bottom:78px;}
}
@keyframes ring{0%{transform:scale(1);opacity:0.7;}100%{transform:scale(1.7);opacity:0;}}
@media(prefers-reduced-motion:reduce) {
*{animation:none!important;transition:none!important;}
}
.nav-links a.active{color:var(--orange);}
.nav-links a.active::after{width:100%;}
.btn-wa{background:#25D366;color:#fff;border:none;}
.btn-wa:hover{background:#1EBE5A;color:#fff;}
.btn-ghost-light{background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.4);color:#fff;backdrop-filter:blur(6px);}
.btn-ghost-light:hover{background:#fff;color:var(--navy);border-color:#fff;}
@media(max-width:760px) {
.cats5-grid::-webkit-scrollbar{display:none;}
}
.nav-item{position:relative;}
.nav-trigger{display:inline-flex;align-items:center;cursor:pointer;background:none;border:none;font:inherit;}
.nav-dropdown{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(6px);background:var(--white);border:1px solid var(--line-soft);border-radius:16px;box-shadow:0 20px 46px rgba(53,50,64,0.18);padding:10px;min-width:250px;max-height:76vh;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;z-index:50;}
.nav-item.open .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nd-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--orange);color:#fff;padding:2px 7px;border-radius:999px;}
.nav-item.open .caret{transform:rotate(180deg);}
.caret{transition:transform .2s var(--ease),color var(--ease);}
.nav-subgroup{border-bottom:1px solid var(--line-soft);}
.nav-subgroup:last-child{border-bottom:none;}
.nav-subtrigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--navy);white-space:nowrap;cursor:pointer;background:none;border:none;font:inherit;text-align:left;}
.nav-subtrigger:hover{background:var(--cream);color:var(--orange-deep);}
.nav-subtrigger .nsc{width:9px;height:9px;color:var(--navy-soft);flex-shrink:0;transition:transform .2s var(--ease),color .2s var(--ease);}
.nav-subgroup.open .nsc{transform:rotate(90deg);color:var(--orange);}
.nav-subpanel{max-height:0;overflow:hidden;transition:max-height .22s var(--ease);}
.nav-subpanel a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 14px 9px 26px;font-size:13px;font-weight:600;color:var(--navy-soft);border-radius:9px;white-space:nowrap;}
.nav-subpanel a:hover{background:var(--cream);color:var(--orange-deep);}
.drawer-plain{display:flex;align-items:center;font-size:14.5px;font-weight:600;color:var(--navy);padding:13px 0;border-bottom:1px solid var(--line-soft);}
.drawer-acc{border-bottom:1px solid var(--line-soft);}
.drawer-acc-h{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;font:inherit;font-size:14.5px;font-weight:600;color:var(--navy);padding:13px 0;cursor:pointer;}
.drawer-acc-h .dchev{width:11px;height:11px;color:var(--navy-soft);transition:transform var(--ease);flex-shrink:0;}
.drawer-acc-h.open .dchev{transform:rotate(180deg);color:var(--orange);}
.drawer-acc-body{max-height:0;overflow:hidden;transition:max-height var(--ease);}
.drawer-subacc{border-top:1px solid var(--line-soft);}
.drawer-subacc:first-child{border-top:none;}
.drawer-subacc-h{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--navy);padding:11px 0 11px 4px;cursor:pointer;}
.drawer-subacc-h .dschev{width:9px;height:9px;color:var(--navy-soft);transition:transform var(--ease);flex-shrink:0;}
.drawer-subacc-h.open .dschev{transform:rotate(90deg);color:var(--orange);}
.drawer-subacc-body{max-height:0;overflow:hidden;transition:max-height var(--ease);}
.drawer-subacc-body a{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:var(--navy-soft);padding:8px 0 8px 16px;}
.drawer-subacc-body a:hover{color:var(--orange);}
.drawer-subacc-body a .nd-badge{font-size:9px;font-weight:700;text-transform:uppercase;background:var(--orange);color:#fff;padding:2px 6px;border-radius:999px;margin-left:6px;}
.drawer-sep{height:1px;background:var(--line);margin:14px 0;}
.search-overlay{position:fixed;inset:0;z-index:400;display:none;}
.search-overlay.open{display:block;}
.search-scrim{position:absolute;inset:0;background:rgba(30,28,37,0.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:srFade .25s var(--ease);}
.search-panel{position:absolute;top:0;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 24px 60px rgba(30,28,37,0.28);transform:translateY(-100%);animation:srDown .38s var(--ease) forwards;max-height:92vh;overflow-y:auto;}
@keyframes srFade{from{opacity:0}to{opacity:1}}
@keyframes srDown{to{transform:translateY(0)}}
.search-inner{max-width:760px;margin:0 auto;padding:58px 28px 46px;position:relative;}
.search-close{position:absolute;top:22px;right:22px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:grid;place-items:center;cursor:pointer;color:var(--navy);transition:all var(--ease);}
.search-close:hover{background:var(--orange);color:#fff;border-color:var(--orange);transform:rotate(90deg);}
.search-eyebrow{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--orange);margin-bottom:16px;}
.search-box{display:flex;align-items:center;gap:14px;background:var(--white);border:2px solid var(--navy);border-radius:16px;padding:4px 20px;}
.search-suggest{margin-top:30px;}
.search-suggest-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--navy-soft);margin-bottom:14px;}
.search-chips{display:flex;flex-wrap:wrap;gap:10px;}
.search-chip{font-size:13.5px;font-weight:600;color:var(--navy);background:var(--white);border:1px solid var(--line);padding:9px 16px;border-radius:999px;text-decoration:none;transition:all var(--ease);cursor:pointer;}
.search-chip:hover{background:var(--orange);color:#fff;border-color:var(--orange);}
.search-quick{margin-top:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.search-quicklink{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line-soft);border-radius:14px;padding:14px 18px;text-decoration:none;color:var(--navy);font-weight:600;font-size:14px;transition:all var(--ease);}
.search-quicklink:hover{border-color:var(--orange);transform:translateX(4px);}
.search-results{margin-top:8px;display:flex;flex-direction:column;gap:5px;}
.search-result{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;text-decoration:none;color:var(--navy);transition:background var(--ease);}
.search-result:hover{background:var(--white);}
.search-empty{display:none;text-align:center;padding:38px 10px;color:var(--navy-soft);font-size:14px;}
.search-empty a{color:var(--orange-deep);font-weight:600;}
.search-count{font-size:12px;color:var(--navy-soft);margin-bottom:10px;}
@media(max-width:560px) {
.search-quick{grid-template-columns:1fr;}
.search-inner{padding:64px 20px 38px;}
}
.nav-dropdown > a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--navy);white-space:nowrap;}
.nav-dropdown > a:hover{background:var(--cream);color:var(--orange-deep);}
.drawer-acc-body > a{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:500;color:var(--navy-soft);padding:9px 0 9px 4px;}
.drawer-acc-body > a:hover{color:var(--orange);}
@media(max-width:640px) {
.reviews-grid::-webkit-scrollbar{display:none;}
}
/* ── Currency switcher (nav) — added post-mockup per owner request ── */
.nav-cur{position:relative;}
.nav-cur-btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:13px;font-weight:600;color:var(--navy);background:transparent;border:1.5px solid var(--line);border-radius:999px;padding:8px 13px;cursor:pointer;transition:all var(--ease);}
.nav-cur-btn:hover{border-color:var(--orange);color:var(--orange);}
.nav-cur-btn .caret{width:14px;height:14px;transition:transform var(--ease);}
.nav-cur.open .caret{transform:rotate(180deg);}
.nav-cur-sym{opacity:.65;}
.nav-cur-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:118px;width:max-content;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all var(--ease);z-index:600;}
.nav-cur.open .nav-cur-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-cur-menu form{margin:0;}
.nav-cur-opt{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--navy);background:transparent;border:0;border-radius:10px;padding:9px 12px;cursor:pointer;transition:background var(--ease);}
.nav-cur-opt:hover{background:var(--cream-2);}
.nav-cur-opt.active{color:var(--orange);font-weight:700;}
.nav-cur-osym{display:inline-block;min-width:20px;opacity:.7;}
@media(max-width:760px){.nav-cur{display:none;}}

/* ── Nav mega-menu: sub-lists fly out to the RIGHT instead of accordion (owner request) ── */
.nav-dropdown{overflow:visible;}
.nav-subgroup{position:relative;}
.nav-subtrigger .nsc{transform:none;}
.nav-subpanel{position:absolute;left:calc(100% + 6px);top:-10px;min-width:240px;max-height:none !important;height:auto;overflow:visible;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateX(8px);transition:all var(--ease);z-index:30;}
.nav-subgroup:hover > .nav-subpanel,.nav-subgroup.open > .nav-subpanel{opacity:1;visibility:visible;transform:translateX(0);}
.nav-subgroup:hover > .nav-subtrigger{color:var(--orange);}
@media(max-width:760px){.nav-subpanel{position:static;left:auto;top:auto;min-width:0;box-shadow:none;border:0;padding:0;opacity:1;visibility:visible;transform:none;}}

/* ── Category hub intro (text-left + image-right) + prose (owner request) ── */
.cat-intro{padding:72px 0;background:var(--white);}
.cat-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.cat-intro-copy .eyebrow{color:var(--orange);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:14px;}
.cat-intro-copy h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--navy);line-height:1.15;margin-bottom:20px;font-weight:800;}
.cat-intro-media{position:sticky;top:104px;}
.cat-intro-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.prose{color:var(--navy-soft);line-height:1.75;font-size:15.5px;}
.prose h2,.prose h3,.prose h4{color:var(--navy);margin:26px 0 12px;line-height:1.25;font-weight:700;}
.prose h2{font-size:1.45rem;} .prose h3{font-size:1.2rem;} .prose h4{font-size:1.05rem;}
.prose p{margin:0 0 15px;} .prose strong{color:var(--navy);}
.prose ul,.prose ol{margin:0 0 16px;padding-left:20px;} .prose li{margin-bottom:8px;}
.prose a{color:var(--orange);text-decoration:underline;}
@media(max-width:900px){.cat-intro-grid{grid-template-columns:1fr;gap:32px;}.cat-intro-media{position:static;order:-1;}}

/* ── Load-more button (category pages) ── */
.load-more-wrap{display:flex;justify-content:center;margin-top:34px;}
.load-more{min-width:200px;}

/* ── reservation / inquiry form status (shared across tour variants) ── */
.bookcard-field.has-error input,.bookcard-field.has-error textarea,.bookcard-field.has-error select,.bookcard-field.has-error .cbx{border-color:#e02828 !important;box-shadow:0 0 0 2px rgba(224,40,40,0.12)}
.field-error{color:#e02828;font-size:12px;font-weight:600;margin-top:5px;line-height:1.3}
.form-banner{padding:12px 14px;border-radius:12px;font-size:13.5px;line-height:1.5;margin-bottom:14px}
.form-banner.is-error{background:#fdecec;color:#b81d1d;border:1px solid #f5c2c2}
.form-banner.is-success{background:#e9f7ec;color:#1c7a3f;border:1px solid #bfe6cd;text-align:center;padding:22px 16px}
.form-banner.is-success strong{font-size:16px;color:#146c34}

/* ── back-to-top floating button (was unstyled → sat statically below the footer) ── */
.scroll-top{position:fixed;right:22px;bottom:22px;z-index:200;width:46px;height:46px;padding:0;border:none;border-radius:50%;background:var(--navy);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(53,50,64,0.28);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .28s ease,transform .28s ease,visibility .28s,background .2s ease;}
.scroll-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.scroll-top:hover{background:var(--orange);}
.scroll-top svg{width:20px;height:20px;}

/* ── tour cards: image + title are clickable links (site-wide) ── */
.pkg-img>a,.card-img>a{display:block;width:100%;height:100%;}
.pkg-title a,.card-title a{color:inherit;text-decoration:none;}
.pkg-title a:hover,.card-title a:hover{color:var(--orange);}

/* ── mobile sticky action bar (site-wide; hidden on tour pages via body.no-actionbar) ── */
.ab-inner{max-width:var(--container);margin:0 auto;padding:0 32px;display:flex;gap:10px;}
.ab-item{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 10px;
  border:1.5px solid var(--line);border-radius:999px;background:var(--white);color:var(--navy);
  font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;
  transition:all var(--ease);}
.ab-item svg{width:17px;height:17px;flex-shrink:0;color:var(--orange);}
.ab-item:hover{border-color:var(--orange);color:var(--orange-deep);}
.ab-item:hover svg{color:var(--orange-deep);}
.ab-item.ab-primary{background:var(--orange);border-color:var(--orange);color:#fff;}
.ab-item.ab-primary svg{color:#fff;}
.ab-item.ab-primary:hover{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff;}
@media(max-width:600px){
  .ab-inner{padding:0 10px;gap:6px;}
  .ab-item{flex-direction:row;gap:6px;padding:9px 6px;font-size:11.5px;border:none;border-radius:12px;}
  .ab-item svg{width:15px;height:15px;}
  .ab-item.ab-primary{border-radius:12px;}
}
@media(max-width:360px){
  .ab-item{font-size:10px;gap:5px;padding:9px 4px;}
  .ab-item svg{width:13px;height:13px;}
}

/* ── header: Solar Eclipse 2027 promo button (desktop) + hamburger stays for the mobile drawer ── */
.nav-eclipse-btn{display:flex;align-items:center;gap:9px;padding:9px 18px;border-radius:999px;
  background:radial-gradient(120% 160% at 20% -20%,#3a2e52 0%,#1b1826 46%,#0c0b12 100%);
  color:#fff;font-size:13px;font-weight:700;letter-spacing:.2px;white-space:nowrap;
  border:1px solid rgba(255,180,90,0.35);box-shadow:0 0 0 1px rgba(255,255,255,0.03) inset,0 6px 18px rgba(20,16,30,0.4);
  transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);position:relative;overflow:hidden;}
.nav-eclipse-btn::before{content:"";position:absolute;inset:-40% -10% auto auto;width:70px;height:70px;
  background:radial-gradient(circle,rgba(255,178,84,0.5) 0%,rgba(255,178,84,0) 70%);pointer-events:none;}
.nav-eclipse-ic{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;color:#ffd79a;
  filter:drop-shadow(0 0 5px rgba(255,201,120,0.75));}
.nav-eclipse-ic svg{width:100%;height:100%;}
.nav-eclipse-btn:hover{transform:translateY(-1px);border-color:rgba(255,201,120,0.65);
  box-shadow:0 0 0 1px rgba(255,255,255,0.05) inset,0 10px 26px rgba(20,16,30,0.55);}
@media(min-width:1001px){.nav-menu-btn{display:none;}}
@media(max-width:1000px){.nav-eclipse-btn{display:none;}}
@media(max-width:420px){.nav-eclipse-btn span:last-child{display:none;}}

/* ── searchable country combobox + phone-code row (shared: tour reservation, contact, tailor-made) ── */
.cbx{position:relative;}
.bc-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;}
.bc-row .bookcard-field{margin-bottom:0;min-width:0;}
.bc-phone{grid-template-columns:88px 1fr;}
.bc-row input,.bc-row select{font-size:12.5px;padding:9px 9px;min-width:0;}
.cbx > input{padding-right:34px;}
.cbx-caret{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--navy-soft);pointer-events:none;}
.cbx-list{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:30;max-height:210px;overflow-y:auto;
  background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(53,50,64,0.16);
  padding:5px;display:none;}
.cbx-list.open{display:block;}
.cbx-opt{padding:9px 11px;border-radius:8px;font-size:13px;color:var(--navy);cursor:pointer;}
.cbx-opt:hover,.cbx-opt.active{background:var(--orange-soft);color:var(--orange-deep);}
.cbx-empty{padding:10px 11px;font-size:12.5px;color:var(--navy-soft);}
/* ── SVG icon sizing for chrome components — these rules were dropped during the
   original CSS split, so every chrome icon rendered at its intrinsic (huge) size.
   Extracted verbatim from the mockups. ── */
.btn svg{width:17px;height:17px;flex-shrink:0;}
.topbar-item svg{width:14px;height:14px;color:var(--orange);}
.topbar-link svg{width:14px;height:14px;color:var(--orange);}
.topbar-cur svg{width:10px;height:10px;}
.topbar-soc svg{width:13px;height:13px;}
.logo-mark svg{width:21px;height:21px;}
.nav-phone svg{width:16px;height:16px;color:var(--orange);}
.nav-wa svg{width:16px;height:16px;}
.nav-search svg{width:20px;height:20px;}
.nav-menu-btn svg{width:24px;height:24px;}
.drawer-close svg{width:18px;height:18px;}
.drawer-group-title svg{width:16px;height:16px;}
.scroll-cue svg{width:18px;height:18px;animation:bob 1.8s ease-in-out infinite;}
.footer-social svg{width:16px;height:16px;}
.lc-close svg{width:18px;height:18px;}
.lc-input button svg{width:16px;height:16px;}
.search-close svg{width:18px;height:18px;}
.search-box svg{width:24px;height:24px;color:var(--navy);flex-shrink:0;}
.search-quicklink .ic svg{width:17px;height:17px;}
.search-result .sr-ic svg{width:18px;height:18px;}
/* ── floating action buttons: one toggle reveals WhatsApp + live chat ──────
   Speed-dial pattern. .fab-stack is a fixed anchor point sized to exactly
   one button — every .fab is absolutely positioned inside it, stacked on
   top of .fab-main until .open, then translated upward and faded in. This
   is deliberately NOT flex layout: opacity-hidden flex children still
   reserve their box space, which would leave .fab-main floating ~130px
   above the true corner even while "closed". Absolute positioning means
   the closed state has zero footprint beyond the one visible button, so
   it also can't reopen the stray gap under the footer that this element
   caused before it had any rules at all. */
.fab-stack{position:fixed;right:24px;bottom:24px;z-index:300;width:56px;height:56px;}
.fab{position:absolute;right:0;bottom:0;width:56px;height:56px;padding:0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px rgba(53,50,64,0.24);transition:transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s var(--ease),visibility .2s;}
.fab:hover{box-shadow:0 16px 34px rgba(53,50,64,0.30);}
.fab svg{width:28px;height:28px;}
.fab-wa{background:#25D366;color:#fff;}
.fab-chat{background:var(--navy);color:#fff;}
.fab-main{background:var(--orange);color:#fff;z-index:2;}
.fab-main:hover{transform:scale(1.04);}
.fab-main-icon{position:absolute;transition:opacity .18s var(--ease),transform .18s var(--ease);}
.fab-icon-close{opacity:0;transform:rotate(-45deg) scale(.6);}
.fab-icon-open{opacity:1;transform:rotate(0) scale(1);}
.fab-stack.open .fab-icon-open{opacity:0;transform:rotate(45deg) scale(.6);}
.fab-stack.open .fab-icon-close{opacity:1;transform:rotate(0) scale(1);}
/* wa + chat: stacked directly under .fab-main and invisible until .open —
   visibility:hidden also keeps them out of keyboard tab order while closed */
.fab-wa,.fab-chat{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(0) scale(.85);}
.fab-stack.open .fab-chat{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-68px) scale(1);transition-delay:.03s;}
.fab-stack.open .fab-wa{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-136px) scale(1);transition-delay:.06s;}
/* scroll-top moves to the left rail so it never collides with the buttons above */
.scroll-top{right:auto;left:22px;}
@media(max-width:760px) {
/* the fixed mobile action-bar already carries WhatsApp, chat and Tailor-Made —
   this floating stack would just duplicate all three, so it's desktop-only. */
.fab-stack{display:none;}
.scroll-top{left:16px;bottom:82px;}
}
