/* NoorVista 3.0.163 — definitive responsive menu, header, quick tiles, FAQ and CTA */
:root{
  --nv163-navy:#0a2540;
  --nv163-blue:#0f7fc0;
  --nv163-cyan:#14b8c4;
  --nv163-line:#d8e6ef;
  --nv163-soft:#f5f9fc;
  --nv163-text:#334155;
}

/* Prevent legacy menu artifacts from ever appearing on desktop. */
@media (min-width:901px){
  .nv161-menu-close,.nv162-mobile-menu,.nv162-mobile-trigger,.nv163-mobile-drawer,
  header.navbar .mobile-toggle,header.navbar #mobileToggle{display:none!important}
  body:not([data-panel-role]) header.navbar{height:82px!important;min-height:82px!important}
  body:not([data-panel-role]) header.navbar .nav-inner,
  body:not([data-panel-role]) .navbar .container.nav-inner{
    height:82px!important;min-height:82px!important;align-items:center!important;
    grid-template-columns:clamp(165px,15vw,218px) minmax(0,1fr) clamp(174px,17vw,238px)!important;
    gap:clamp(10px,1.1vw,20px)!important;
  }
  body:not([data-panel-role]) header.navbar nav{
    height:100%!important;min-height:0!important;display:flex!important;align-items:center!important;
    justify-content:center!important;align-self:center!important;margin:0!important;padding:0!important;
  }
  body:not([data-panel-role]) header.navbar .menu,
  body:not([data-panel-role]) header.navbar #menu{
    height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;
    margin:0!important;padding:0!important;position:relative!important;top:0!important;transform:none!important;
  }
  body:not([data-panel-role]) header.navbar .menu>li{display:flex!important;align-items:center!important;height:100%!important}
  body:not([data-panel-role]) header.navbar .menu>li>a{
    display:flex!important;align-items:center!important;min-height:44px!important;margin:0!important;
    padding-block:8px!important;line-height:1.4!important;
  }
  body:not([data-panel-role]) header.navbar .brand{align-self:center!important;margin:0!important}
  body:not([data-panel-role]) header.navbar .nav-actions{align-self:center!important;margin:0!important}
  body.nv-home-page .nv-home-slider::before,
  body.nv-home-page .nv-home-slider::after,
  body.nv-home-page .nv-home-slider__viewport::before,
  body.nv-home-page .nv-home-slider__viewport::after{content:none!important;display:none!important}
}

/* Larger, calmer desktop quick-service tiles. */
body.nv-home-page .nv-quick-services{padding:22px 0 34px!important;margin:0!important;background:#fff!important}
body.nv-home-page .nv-quick-services__shell{width:min(calc(100% - 40px),1320px)!important}
body.nv-home-page .nv-quick-services__grid{gap:20px!important}
body.nv-home-page .nv-quick-service{
  min-height:202px!important;padding:28px 18px!important;gap:15px!important;border-radius:28px!important;
  box-shadow:0 0 0 1px rgba(80,210,231,.34),0 0 28px rgba(27,184,214,.12)!important;
}
body.nv-home-page .nv-quick-service__icon{width:72px!important;height:72px!important;border-radius:21px!important}
body.nv-home-page .nv-quick-service__icon svg{width:46px!important;height:46px!important}
body.nv-home-page .nv-quick-service__title{font-size:17px!important}

@media (min-width:901px) and (max-width:1366px){
  body:not([data-panel-role]) header.navbar .nav-inner,
  body:not([data-panel-role]) .navbar .container.nav-inner{
    width:calc(100% - 24px)!important;grid-template-columns:156px minmax(0,1fr) 184px!important;gap:7px!important
  }
  body:not([data-panel-role]) header.navbar .menu>li>a{font-size:11px!important;padding-inline:5px!important}
  body:not([data-panel-role]) header.navbar .nav-actions .btn{font-size:11px!important;padding-inline:11px!important}
  body.nv-home-page .nv-quick-service{min-height:178px!important;padding:22px 13px!important}
  body.nv-home-page .nv-quick-service__icon{width:62px!important;height:62px!important}
  body.nv-home-page .nv-quick-service__icon svg{width:39px!important;height:39px!important}
  body.nv-home-page .nv-quick-service__title{font-size:15px!important}
}

/* Visit guide: balanced premium desktop composition. */
@media (min-width:901px){
  body.nv-home-page .nv-visit-guide{padding:56px 0!important}
  body.nv-home-page .nv-visit-guide__head{margin-bottom:24px!important}
  body.nv-home-page .nv-visit-guide__panel{
    grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr)!important;
    min-height:470px!important;border-radius:28px!important;box-shadow:0 20px 55px rgba(10,55,91,.09)!important
  }
  body.nv-home-page .nv-visit-guide__visual{min-height:470px!important}
  body.nv-home-page .nv-visit-guide__content{padding:36px 38px!important}
  body.nv-home-page .nv-visit-guide__steps{gap:12px!important}
  body.nv-home-page .nv-visit-step{min-height:174px!important;padding:18px!important}
  body.nv-home-page .nv-visit-guide__quick{margin-top:16px!important;gap:12px!important}
  body.nv-home-page .nv-visit-quick{min-height:92px!important;padding:17px 18px!important}
}

/* FAQ — image and questions form one coherent, vertically centred block. */
body.nv-home-page #faq{background:linear-gradient(180deg,#f5fafc 0%,#fff 100%)!important;padding:58px 0!important}
body.nv-home-page #faq>.container{width:min(calc(100% - 40px),1240px)!important}
body.nv-home-page #faq .section-head{max-width:760px!important;margin:0 auto 26px!important;text-align:center!important}
body.nv-home-page .nv-home-faq-grid{
  display:grid!important;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important;
  gap:24px!important;align-items:center!important;direction:ltr!important
}
body.nv-home-page .nv-home-faq-grid>*{direction:rtl!important}
body.nv-home-page .nv-home-faq-visual{
  height:390px!important;min-height:390px!important;border-radius:28px!important;overflow:hidden!important;
  border:1px solid #d4e4ee!important;box-shadow:0 18px 44px rgba(10,55,91,.09)!important
}
body.nv-home-page .nv-home-faq-visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;filter:none!important}
body.nv-home-page .nv-home-faq-visual>div{right:18px!important;left:18px!important;bottom:18px!important;padding:17px 19px!important;border-radius:18px!important}
body.nv-home-page .faq-wrap{
  min-height:0!important;max-height:none!important;overflow:visible!important;padding:18px!important;
  display:grid!important;gap:11px!important;background:#fff!important;border:1px solid #d7e6ef!important;
  border-radius:26px!important;box-shadow:0 18px 44px rgba(10,55,91,.07)!important
}
body.nv-home-page .faq-item{margin:0!important;border:1px solid #d9e7f0!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important}
body.nv-home-page .faq-question{min-height:62px!important;padding:14px 16px!important;font-size:13px!important}
body.nv-home-page .faq-more-link{margin-top:20px!important}

/* Final appointment CTA — proper visual hierarchy and readable contrast. */
body.nv-home-page .final-appointment{padding:38px 0 58px!important;background:#fff!important}
body.nv-home-page .final-appointment>.container{width:min(calc(100% - 40px),1240px)!important}
body.nv-home-page .final-appointment .cta{
  min-height:230px!important;padding:38px 46px!important;border-radius:30px!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:36px!important;
  background:linear-gradient(115deg,#0a3157 0%,#0d6f99 52%,#18b7bd 100%)!important;
  border:1px solid rgba(255,255,255,.24)!important;box-shadow:0 22px 55px rgba(8,61,96,.18)!important
}
body.nv-home-page .final-appointment .cta h2{margin:0 0 11px!important;color:#fff!important;font-size:clamp(25px,2.25vw,34px)!important;line-height:1.65!important}
body.nv-home-page .final-appointment .cta p{margin:0!important;max-width:800px!important;color:rgba(255,255,255,.82)!important;font-size:13px!important;line-height:2!important}
body.nv-home-page .final-appointment .cta-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important}
body.nv-home-page .final-appointment .cta-actions .btn{min-width:138px!important;min-height:48px!important;border-radius:14px!important;font-size:13px!important;font-weight:900!important}
body.nv-home-page .final-appointment .cta-actions .btn-outline{color:#fff!important;border-color:rgba(255,255,255,.56)!important;background:rgba(255,255,255,.08)!important}

/* Below-fold performance: skip rendering until close to viewport. */
body.nv-home-page main>section:nth-of-type(n+4){content-visibility:auto;contain-intrinsic-size:700px}

/* One definitive mobile system. */
.nv163-mobile-trigger,.nv163-mobile-drawer{display:none}
@media (max-width:900px){
  html.nv163-menu-open,body.nv163-menu-open{overflow:hidden!important}
  body:not([data-panel-role]) header.navbar nav,
  body:not([data-panel-role]) header.navbar .nav-actions,
  body:not([data-panel-role]) header.navbar #mobileToggle,
  body:not([data-panel-role]) header.navbar .mobile-toggle,
  .nv161-menu-close,.nv162-mobile-trigger,.nv162-mobile-menu{display:none!important}

  body:not([data-panel-role]) header.navbar{height:58px!important;min-height:58px!important}
  body:not([data-panel-role]) header.navbar .nav-inner,
  body:not([data-panel-role]) .navbar .container.nav-inner{
    width:calc(100% - 18px)!important;height:58px!important;min-height:58px!important;margin:auto!important;padding:0!important;
    display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;grid-template-areas:"trigger brand"!important;
    gap:9px!important;align-items:center!important
  }
  body:not([data-panel-role]) header.navbar .brand{grid-area:brand!important;justify-self:end!important;max-width:min(190px,56vw)!important;height:52px!important;margin:0!important}
  body:not([data-panel-role]) header.navbar .brand .brand-logo,
  body:not([data-panel-role]) header.navbar .brand .brand-logo-image{height:50px!important;max-width:min(190px,56vw)!important}
  body:not([data-panel-role]) header.navbar .brand img{width:auto!important;max-width:100%!important;height:100%!important;object-fit:contain!important;object-position:right center!important}

  .nv163-mobile-trigger{
    grid-area:trigger!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;
    padding:0!important;border:1px solid #cbdde8!important;border-radius:14px!important;background:#fff!important;color:var(--nv163-navy)!important;
    box-shadow:0 6px 16px rgba(10,55,91,.08)!important;cursor:pointer!important;position:relative!important;z-index:20!important
  }
  .nv163-mobile-trigger svg{width:24px!important;height:24px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;stroke-linecap:round!important;transition:transform .2s ease!important}
  body.nv163-menu-open .nv163-mobile-trigger svg{transform:rotate(90deg)!important}

  .nv163-mobile-drawer{position:fixed!important;inset:0!important;display:block!important;z-index:2147483000!important;visibility:hidden!important;pointer-events:none!important}
  .nv163-mobile-drawer__backdrop{position:absolute!important;inset:0!important;z-index:1!important;border:0!important;background:rgba(5,25,43,.58)!important;opacity:0!important;transition:opacity .2s ease!important}
  .nv163-mobile-drawer__panel{
    position:absolute!important;top:0!important;right:0!important;bottom:0!important;z-index:2!important;width:min(88vw,350px)!important;
    display:flex!important;flex-direction:column!important;background:#fff!important;color:var(--nv163-text)!important;
    border-left:1px solid #d8e5ee!important;box-shadow:-26px 0 60px rgba(4,27,46,.25)!important;
    transform:translateX(104%)!important;opacity:1!important;visibility:visible!important;transition:transform .24s ease!important;overflow:hidden!important
  }
  body.nv163-menu-open .nv163-mobile-drawer{visibility:visible!important;pointer-events:auto!important}
  body.nv163-menu-open .nv163-mobile-drawer__backdrop{opacity:1!important}
  body.nv163-menu-open .nv163-mobile-drawer__panel{transform:translateX(0)!important}
  body.nv163-menu-open::before,body.nv163-menu-open::after{content:none!important;display:none!important}
  .nv163-mobile-drawer__header{min-height:72px!important;padding:11px 13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;background:#f5fafc!important;border-bottom:1px solid #dbe7ef!important}
  .nv163-mobile-drawer__brand{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}
  .nv163-mobile-drawer__brand img{width:118px!important;height:48px!important;object-fit:contain!important;object-position:right center!important}
  .nv163-mobile-drawer__brand span{display:flex!important;flex-direction:column!important;gap:2px!important}
  .nv163-mobile-drawer__brand strong{font-size:13px!important;color:var(--nv163-navy)!important}
  .nv163-mobile-drawer__brand small{font-size:9.5px!important;color:#71869a!important}
  .nv163-mobile-drawer__close{width:38px!important;height:38px!important;border:1px solid #cbdde7!important;border-radius:12px!important;background:#fff!important;color:var(--nv163-navy)!important;display:grid!important;place-items:center!important;padding:0!important}
  .nv163-mobile-drawer__close svg{width:20px!important;height:20px!important;stroke:currentColor!important;stroke-width:2.2!important}
  .nv163-mobile-drawer__scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:12px!important;background:#fff!important;-webkit-overflow-scrolling:touch!important}
  .nv163-mobile-drawer__links{display:grid!important;gap:7px!important}
  .nv163-mobile-drawer__links>a,.nv163-mobile-drawer__links summary{
    min-height:47px!important;padding:10px 13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
    border:1px solid #dbe7ef!important;border-radius:13px!important;background:#fff!important;color:#17354f!important;text-decoration:none!important;
    font-size:13px!important;font-weight:850!important;line-height:1.55!important;list-style:none!important
  }
  .nv163-mobile-drawer__links>a.is-active{background:#eef9fc!important;border-color:#bde1eb!important;color:#087c9f!important}
  .nv163-mobile-drawer__links summary::-webkit-details-marker{display:none!important}
  .nv163-mobile-drawer__links summary::after{content:"+"!important;color:#1494ac!important;font-size:19px!important}
  .nv163-mobile-drawer__links details[open] summary::after{content:"−"!important}
  .nv163-mobile-drawer__submenu{display:grid!important;gap:7px!important;padding:8px 6px 2px!important}
  .nv163-mobile-drawer__group{padding:9px!important;border:1px solid #e0eaf1!important;border-radius:12px!important;background:#f7fafc!important}
  .nv163-mobile-drawer__group strong{display:block!important;margin:0 3px 5px!important;color:#08799d!important;font-size:11px!important}
  .nv163-mobile-drawer__group a{display:block!important;padding:8px 9px!important;border-radius:8px!important;color:#506b81!important;font-size:11.5px!important;font-weight:750!important;text-decoration:none!important}
  .nv163-mobile-drawer__actions{flex:0 0 auto!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;border-top:1px solid #dbe7ef!important;background:#fff!important}
  .nv163-mobile-drawer__actions a{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:13px!important;text-decoration:none!important;font-size:12px!important;font-weight:900!important}
  .nv163-mobile-drawer__login{border:1px solid #cbdde8!important;color:var(--nv163-navy)!important;background:#fff!important}
  .nv163-mobile-drawer__booking{border:1px solid transparent!important;color:#fff!important;background:linear-gradient(135deg,var(--nv163-blue),var(--nv163-cyan))!important}

  /* Hero + four tiles are sized as one compact first-screen composition. */
  body.nv-home-page .nv-home-slider{height:clamp(198px,54vw,226px)!important;min-height:0!important;max-height:none!important;margin:0!important;border-radius:0!important}
  body.nv-home-page .nv-home-slide__content{inset:0!important;width:min(94%,560px)!important;margin:auto!important;padding:18px 12px 20px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
  body.nv-home-page .nv-home-slide__eyebrow{font-size:9.5px!important;padding:5px 9px!important;margin-bottom:7px!important}
  body.nv-home-page .nv-home-slide__title{font-size:clamp(18px,5.7vw,24px)!important;line-height:1.45!important;margin:0 0 7px!important;max-width:96%!important}
  body.nv-home-page .nv-home-slide__subtitle{font-size:clamp(9.5px,2.8vw,12px)!important;line-height:1.75!important;margin:0 0 10px!important;max-width:92%!important}
  body.nv-home-page .nv-home-slide__actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:min(88%,350px)!important;gap:7px!important;margin:0 auto!important}
  body.nv-home-page .nv-home-slide__action{min-height:38px!important;padding:7px 9px!important;font-size:10.5px!important;border-radius:12px!important}
  body.nv-home-page .nv-home-slide__trust,body.nv-home-page .nv-home-slider__arrow{display:none!important}
  body.nv-home-page .nv-home-slider__footer{bottom:4px!important}

  body.nv-home-page .nv-quick-services{padding:8px 0!important;margin:0!important;min-height:0!important;background:#fff!important}
  body.nv-home-page .nv-quick-services__shell{width:calc(100% - 16px)!important;margin:0 auto!important}
  body.nv-home-page .nv-quick-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0!important}
  body.nv-home-page .nv-quick-service{
    height:clamp(118px,34vw,150px)!important;min-height:0!important;max-height:150px!important;padding:12px 7px!important;gap:8px!important;
    border-radius:19px!important;box-shadow:0 0 0 1px rgba(126,225,242,.34),0 0 18px rgba(0,188,212,.12)!important
  }
  body.nv-home-page .nv-quick-service__icon{width:clamp(44px,13vw,56px)!important;height:clamp(44px,13vw,56px)!important;border-radius:15px!important}
  body.nv-home-page .nv-quick-service__icon svg{width:62%!important;height:62%!important}
  body.nv-home-page .nv-quick-service__title{font-size:clamp(11.5px,3.4vw,14px)!important;line-height:1.45!important}
  body.nv-home-page .nv-home-services{padding-top:20px!important;margin-top:0!important}

  body.nv-home-page #faq{padding:38px 0!important}
  body.nv-home-page #faq>.container{width:calc(100% - 24px)!important}
  body.nv-home-page .nv-home-faq-grid{grid-template-columns:1fr!important;gap:14px!important;direction:rtl!important}
  body.nv-home-page .nv-home-faq-visual{height:240px!important;min-height:240px!important;border-radius:22px!important}
  body.nv-home-page .faq-wrap{padding:10px!important;border-radius:20px!important}

  body.nv-home-page .final-appointment{padding:26px 0 34px!important}
  body.nv-home-page .final-appointment>.container{width:calc(100% - 24px)!important}
  body.nv-home-page .final-appointment .cta{min-height:0!important;padding:24px 17px!important;grid-template-columns:1fr!important;gap:18px!important;text-align:center!important;border-radius:24px!important}
  body.nv-home-page .final-appointment .cta h2{font-size:21px!important;line-height:1.65!important}
  body.nv-home-page .final-appointment .cta p{font-size:11px!important;line-height:1.9!important}
  body.nv-home-page .final-appointment .cta-actions{justify-content:center!important}

  /* Fixed actions remain visible but never cover the last row. */
  body:not([data-panel-role]){padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
  body.nv163-menu-open .nv161-mobile-actions{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}

@media (max-width:360px){
  body.nv-home-page .nv-home-slider{height:194px!important}
  body.nv-home-page .nv-quick-service{height:116px!important}
  body.nv-home-page .nv-home-slide__eyebrow{display:none!important}
}
@media (min-width:600px) and (max-width:900px){
  body.nv-home-page .nv-home-slider{height:260px!important}
  body.nv-home-page .nv-quick-service{height:158px!important;max-height:158px!important}
  body.nv-home-page .nv-quick-service__title{font-size:15px!important}
}
@media (prefers-reduced-motion:reduce){.nv163-mobile-drawer__backdrop,.nv163-mobile-drawer__panel,.nv163-mobile-trigger svg{transition:none!important}}
