/* ============================================================================
   YES — Custom UI polish & design system
   Loaded LAST, so it refines the lifeline theme without touching plugin CSS.
   Brand: blue #3d498d · indigo #4958A9 · orange #f56a01 · cream #fef9ee
   ========================================================================== */
:root{
  --yes-blue:#3d498d;        --yes-blue-d:#2b3468;     --yes-indigo:#4958A9;
  --yes-orange:#f56a01;      --yes-orange-d:#d65c00;
  --yes-cream:#fef9ee;       --yes-yellow:#fcdf6b;
  --yes-ink:#16182b;         --yes-body:#54586c;        --yes-muted:#6a6f86; /* AA 4.9:1 (was #8a8fa3, 3.2:1) */
  --yes-line:#ecedf3;        --yes-bg-soft:#f7f8fc;
  --yes-radius:16px;         --yes-radius-sm:10px;      --yes-radius-pill:999px;
  --yes-shadow:0 8px 28px rgba(22,24,43,.07);
  --yes-shadow-md:0 14px 40px rgba(22,24,43,.10);
  --yes-shadow-lg:0 28px 60px rgba(22,24,43,.16);
  --yes-ring:0 0 0 4px rgba(73,88,169,.22);
  --yes-ease:.32s cubic-bezier(.22,.7,.25,1);
  --yes-grad:linear-gradient(120deg,#4958A9 0%,#3d498d 55%,#2b3468 100%);
  --yes-grad-warm:linear-gradient(120deg,#ffb347 0%,#f56a01 100%);
  --yes-maxw:1200px;
}

/* ---- base polish --------------------------------------------------------- */
html{scroll-behavior:smooth}
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; color:var(--yes-body); }
::selection{background:rgba(245,106,1,.18);color:var(--yes-ink)}
a{transition:color var(--yes-ease)}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
.yes-btn:focus-visible{outline:none;box-shadow:var(--yes-ring)}
/* nicer scrollbar */
*{scrollbar-color:#c7cbe0 transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-thumb{background:#c7cbe0;border-radius:99px;border:3px solid #fff}

/* ---- layout helpers ------------------------------------------------------ */
.yes-container{max-width:var(--yes-maxw);margin:0 auto;padding:0 20px;width:100%}
.yes-section{padding:clamp(96px,11vw,124px) 0}
/* Vibrant & Block-based: tinted bands float as big rounded blocks with soft
   brand ornaments in their background (pure CSS — no markup changes needed). */
.yes-section--soft,.yes-section--cream,.yes-section--dark{
  border-radius:clamp(28px,4vw,52px);
  margin-left:clamp(10px,1.4vw,22px);margin-right:clamp(10px,1.4vw,22px)}
.yes-section--soft{background:
  radial-gradient(560px 380px at 88% -60px,rgba(73,88,169,.07),transparent 70%),
  radial-gradient(480px 340px at -40px 105%,rgba(245,106,1,.06),transparent 70%),
  var(--yes-bg-soft)}
.yes-section--cream{background:
  radial-gradient(560px 380px at 90% -70px,rgba(245,106,1,.08),transparent 70%),
  radial-gradient(460px 320px at -30px 108%,rgba(252,223,107,.25),transparent 70%),
  var(--yes-cream)}
.yes-section--dark{background:
  radial-gradient(620px 420px at 85% -80px,rgba(245,106,1,.30),transparent 65%),
  radial-gradient(520px 380px at -60px 110%,rgba(252,223,107,.16),transparent 65%),
  var(--yes-grad)}
.yes-section--dark .yes-title{color:#fff}
.yes-section--dark .yes-sub{color:rgba(255,255,255,.86)}
.yes-section--dark .yes-eyebrow{color:var(--yes-yellow)}
.yes-section--dark .yes-eyebrow::before,.yes-section--dark .yes-eyebrow::after{background:var(--yes-yellow)}
.yes-section--dark .yes-stat__num{background:linear-gradient(120deg,#fff 20%,var(--yes-yellow));-webkit-background-clip:text;background-clip:text}
.yes-section--dark .yes-stat__label{color:rgba(255,255,255,.85)}
.yes-section--tight{padding:64px 0}
.yes-head{max-width:720px;margin:0 auto 64px;text-align:center}
.yes-eyebrow{display:inline-block;font-family:"Quicksand",sans-serif;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:#c05200; /* AA 4.7:1 (brand orange reads too light at 13px) */
  margin-bottom:14px;position:relative;padding:0 2px}
.yes-eyebrow::before,.yes-eyebrow::after{content:"";display:inline-block;width:26px;height:2px;
  background:var(--yes-orange);vertical-align:middle;margin:0 10px;opacity:.5}
.yes-title{font-family:"Quicksand",sans-serif;font-weight:700;color:var(--yes-ink);
  font-size:clamp(32px,4.6vw,54px);line-height:1.08;margin:0 0 16px;letter-spacing:-.015em}
.yes-sub{font-size:19px;line-height:1.7;color:var(--yes-body);margin:0}
.yes-grid{display:grid;gap:28px}
.yes-grid--2{grid-template-columns:repeat(2,1fr)}
.yes-grid--3{grid-template-columns:repeat(3,1fr)}
.yes-grid--4{grid-template-columns:repeat(4,1fr)}

/* ---- buttons ------------------------------------------------------------- */
.yes-btn{display:inline-flex;align-items:center;gap:9px;font-family:"Quicksand",sans-serif;
  font-weight:700;font-size:16px;line-height:1;padding:16px 34px;border-radius:var(--yes-radius-pill);
  text-decoration:none;border:2px solid transparent;cursor:pointer;transition:all var(--yes-ease);
  will-change:transform}
.yes-btn--primary{background:var(--yes-blue);color:#fff;box-shadow:0 12px 24px rgba(61,73,141,.28)}
.yes-btn--primary:hover{background:var(--yes-blue-d);color:#fff;transform:translateY(-3px);box-shadow:0 18px 32px rgba(61,73,141,.36)}
.yes-btn--orange{background:var(--yes-orange);color:#fff;box-shadow:0 12px 24px rgba(245,106,1,.3)}
.yes-btn--orange:hover{background:var(--yes-orange-d);color:#fff;transform:translateY(-3px);box-shadow:0 18px 32px rgba(245,106,1,.4)}
.yes-btn--outline{background:transparent;color:var(--yes-blue);border-color:#d7daea}
.yes-btn--outline:hover{background:var(--yes-blue);color:#fff;border-color:var(--yes-blue);transform:translateY(-3px)}
.yes-btn--ghost{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.4)}
.yes-btn--ghost:hover{background:#fff;color:var(--yes-blue);transform:translateY(-3px)}
.yes-btn svg{width:18px;height:18px}

/* ---- cards --------------------------------------------------------------- */
.yes-card{background:#fff;border-radius:var(--yes-radius);box-shadow:var(--yes-shadow);
  overflow:hidden;transition:transform var(--yes-ease),box-shadow var(--yes-ease);
  border:1px solid var(--yes-line);height:100%;display:flex;flex-direction:column}
.yes-card:hover{transform:translateY(-8px);box-shadow:var(--yes-shadow-lg)}
.yes-card__media{position:relative;overflow:hidden;aspect-ratio:16/11;background:var(--yes-bg-soft)}
.yes-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--yes-ease)}
.yes-card:hover .yes-card__media img{transform:scale(1.07)}
.yes-card__tag{position:absolute;top:14px;left:14px;background:var(--yes-orange);color:#fff;
  font-family:"Quicksand",sans-serif;font-weight:700;font-size:12px;letter-spacing:.04em;
  padding:6px 14px;border-radius:var(--yes-radius-pill);text-transform:uppercase}
.yes-card__body{padding:26px;display:flex;flex-direction:column;gap:12px;flex:1}
.yes-card__meta{display:flex;gap:16px;font-size:13.5px;color:var(--yes-muted);font-weight:600}
.yes-card__meta span{display:inline-flex;align-items:center;gap:6px}
.yes-card__title{font-family:"Quicksand",sans-serif;font-weight:700;font-size:21px;line-height:1.3;
  margin:0;color:var(--yes-ink)}
.yes-card__title a{color:inherit;text-decoration:none}
.yes-card__title a:hover{color:var(--yes-blue)}
.yes-card__text{font-size:15px;line-height:1.65;color:var(--yes-body);margin:0}
.yes-card__link{margin-top:auto;font-family:"Quicksand",sans-serif;font-weight:700;color:var(--yes-blue);
  text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.yes-card__link:hover{color:var(--yes-orange)}
.yes-card__link span{transition:transform var(--yes-ease)}
.yes-card__link:hover span{transform:translateX(5px)}

/* ---- page banner (inner pages) ------------------------------------------ */
.yes-banner{position:relative;background:var(--yes-grad);color:#fff;overflow:hidden;
  padding:120px 0 100px;text-align:center}
.yes-banner::before,.yes-banner::after{content:"";position:absolute;border-radius:50%;opacity:.5}
.yes-banner::before{width:420px;height:420px;background:radial-gradient(circle at 30% 30%,rgba(245,106,1,.45),transparent 70%);top:-160px;right:-100px}
.yes-banner::after{width:360px;height:360px;background:radial-gradient(circle at 70% 70%,rgba(252,223,107,.4),transparent 70%);bottom:-180px;left:-80px}
.yes-banner__inner{position:relative;z-index:2}
.yes-banner__title{font-family:"Quicksand",sans-serif;font-weight:700;font-size:clamp(34px,5vw,56px);
  margin:0 0 14px;letter-spacing:-.01em;color:#fff}
.yes-breadcrumb{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:10px;
  font-family:"Quicksand",sans-serif;font-weight:600;font-size:15px;color:rgba(255,255,255,.82)}
.yes-breadcrumb a{color:#fff;text-decoration:none;opacity:.9}
.yes-breadcrumb a:hover{color:var(--yes-yellow);opacity:1}
.yes-breadcrumb span{opacity:.55}

/* ---- stat / values / icon tiles ----------------------------------------- */
.yes-stat{text-align:center;padding:10px}
.yes-stat__num{font-family:"Quicksand",sans-serif;font-weight:700;font-size:46px;
  background:var(--yes-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.yes-stat__label{font-weight:600;color:var(--yes-body);margin-top:8px}
.yes-feature{background:#fff;border-radius:var(--yes-radius);padding:34px 28px;box-shadow:var(--yes-shadow);
  border:1px solid var(--yes-line);transition:transform var(--yes-ease),box-shadow var(--yes-ease);height:100%}
.yes-feature:hover{transform:translateY(-8px);box-shadow:var(--yes-shadow-lg)}
.yes-feature__icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;
  background:var(--yes-cream);color:var(--yes-orange);font-size:26px;margin-bottom:20px;
  transition:transform var(--yes-ease)}
.yes-feature:hover .yes-feature__icon{transform:rotate(-6deg) scale(1.06)}
.yes-feature h3{font-family:"Quicksand",sans-serif;font-weight:700;font-size:20px;color:var(--yes-ink);margin:0 0 10px}
.yes-feature p{font-size:15px;line-height:1.65;color:var(--yes-body);margin:0}

/* ---- forms --------------------------------------------------------------- */
.yes-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.yes-field label{font-family:"Quicksand",sans-serif;font-weight:600;font-size:14px;color:var(--yes-ink)}
.yes-input,.yes-textarea{width:100%;font-size:16px;font-family:inherit;color:var(--yes-ink); /* 16px stops iOS focus-zoom */
  background:#fff;border:1.5px solid var(--yes-line);border-radius:var(--yes-radius-sm);
  padding:14px 16px;transition:border-color var(--yes-ease),box-shadow var(--yes-ease)}
.yes-input:focus,.yes-textarea:focus{outline:none;border-color:var(--yes-indigo);box-shadow:var(--yes-ring)}
.yes-textarea{resize:vertical;min-height:140px}

/* ---- info card (contact) ------------------------------------------------- */
.yes-info{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--yes-line);
  border-radius:var(--yes-radius);padding:26px;box-shadow:var(--yes-shadow);transition:transform var(--yes-ease)}
.yes-info:hover{transform:translateY(-6px);box-shadow:var(--yes-shadow-md)}
.yes-info__ic{flex:none;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  background:var(--yes-grad);color:#fff;font-size:22px}
.yes-info h4{font-family:"Quicksand",sans-serif;font-weight:700;margin:0 0 4px;color:var(--yes-ink)}
.yes-info p{margin:0;color:var(--yes-body);font-size:15px;line-height:1.55}

/* ---- gallery ------------------------------------------------------------- */
.yes-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.yes-gallery a{display:block;position:relative;border-radius:var(--yes-radius);overflow:hidden;
  aspect-ratio:4/3;box-shadow:var(--yes-shadow);background:var(--yes-cream)}
.yes-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--yes-ease)}
.yes-gallery a::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(43,52,104,.6));
  opacity:0;transition:opacity var(--yes-ease)}
.yes-gallery a:hover img{transform:scale(1.08)}
.yes-gallery a:hover::after{opacity:1}

/* ---- CTA band ------------------------------------------------------------ */
.yes-cta{position:relative;background:var(--yes-grad);color:#fff;border-radius:24px;
  padding:64px 56px;text-align:center;overflow:hidden;box-shadow:var(--yes-shadow-lg)}
.yes-cta::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,106,1,.5),transparent 70%);top:-120px;right:-60px}
.yes-cta__inner{position:relative;z-index:2}
.yes-cta h2{font-family:"Quicksand",sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);margin:0 0 14px;color:#fff}
.yes-cta p{font-size:18px;opacity:.95;max-width:620px;margin:0 auto 28px;color:#fff}
/* white text on dark/gradient panels (e.g. contact "Opening hours") */
.yes-panel,.yes-panel h1,.yes-panel h2,.yes-panel h3,.yes-panel h4,.yes-panel p,.yes-panel a{color:#fff}
.yes-map{background:var(--yes-bg-soft);min-height:300px;display:block}

/* ===========================================================================
   POLISH OVERRIDES for the existing home (lifeline / Elementor) components
   ========================================================================== */
/* sticky header: subtle glass by default, solid once scrolled (.is-scrolled,
   toggled in template-init.js). The mini-basket that once blocked
   backdrop-filter (it needed no containing block to hide off-screen) is gone. */
.header7_cont,#header7{transition:box-shadow var(--yes-ease),background var(--yes-ease)}
.header7_cont{backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px)}

/* HEADER LAYOUT FIX -----------------------------------------------------------
   The lifeline "header7" ships as position:absolute because it was built to float
   over a full-screen Revolution Slider. Our rebuilt hero lives in normal document
   flow, so the absolute header collapsed to 0px tall and the hero painted on top of
   it — leaving the site with NO visible navigation (the "scattered" look). Restore
   the header to a solid, sticky bar that sits in flow above the page content. */
.header7_cont{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.82);
  box-shadow:0 6px 22px rgba(22,24,43,.06);padding-left:24px;padding-right:24px}
header#header7{position:static}
/* match the theme's own specificity (it centres the bar with an ID-scoped
   left:50%/translateX(-50%) that out-ranks a plain class selector) */
.header7_cont #header7 .header-1.header3.header7{position:static;top:auto;left:auto;right:auto;
  transform:none;width:100%;background:transparent;padding:8px 0}
/* keep the (empty) top strip from adding dead space */
.header1-topbar.header7-topbar{min-height:0;padding:0}
/* ---- standard navbar polish: bigger logo, no cell dividers, balanced height ---- */
/* bolder / larger logo (theme shipped it tiny at 60px) */
#header7 .logo img{max-height:76px;width:auto}
/* remove the theme's vertical divider lines between top-level menu items */
#menu-main-menu > li{border-left:0 !important;border-right:0 !important}
#menu-main-menu{align-items:center}
/* Nav link look/spacing/hover-active states now live in the .yesnav__* block
   below (§ MODERN NAV) — this old fixed-padding + underline treatment was
   superseded when the header was rebuilt into a dropdown/mega-menu + mobile
   drawer nav sharing one $navItems source of truth. */

/* give the theme's cards/boxes a consistent lift + radius */
.lifeline-cause,.cause-box,.team-box,.lif_team,.event-box,.blog-box,.post-box,
.elementor-widget-image-carousel .swiper-slide,.wpcm-cause,.causes-box{
  transition:transform var(--yes-ease),box-shadow var(--yes-ease)!important}
.lifeline-cause:hover,.cause-box:hover,.team-box:hover,.lif_team:hover,.event-box:hover,
.blog-box:hover,.post-box:hover,.wpcm-cause:hover,.causes-box:hover{
  transform:translateY(-8px)!important;box-shadow:var(--yes-shadow-lg)!important}
/* rounded media inside theme cards */
.elementor-widget-image-carousel .swiper-slide img,
.elementor-image-carousel-wrapper .swiper-slide a{border-radius:12px;overflow:hidden}
/* image hover zoom for theme image widgets */
.elementor-widget-image img,.wpcm-cause img,.team-box img{transition:transform .6s var(--yes-ease)}
.elementor-widget-image:hover img{transform:scale(1.03)}

/* refine ALL primary buttons across theme + Elementor */
.elementor-button,.lifeline-btn,.theme-btn,.wpcm-btn,a.button,.btn-primary{
  transition:transform var(--yes-ease),box-shadow var(--yes-ease),background var(--yes-ease)!important;
  border-radius:var(--yes-radius-pill)!important}
.elementor-button:hover,.lifeline-btn:hover,.theme-btn:hover,.wpcm-btn:hover,a.button:hover,.btn-primary:hover{
  transform:translateY(-3px)!important;box-shadow:0 16px 30px rgba(61,73,141,.28)!important}

/* footer: spacing + link hover */
footer a{transition:color var(--yes-ease),padding var(--yes-ease)}
footer .widget a:hover{color:var(--yes-yellow)!important}
footer .flickr-feed a,footer .flicker-feed a{border-radius:8px;overflow:hidden}
footer .flickr-feed img{transition:transform var(--yes-ease)}
footer .flickr-feed a:hover img{transform:scale(1.1)}

/* Tidio / chat bubble breathing room on mobile handled below */

/* ===========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1024px){
  .yes-section{padding:72px 0}
  .yes-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .yes-section{padding:56px 0}
  .yes-head{margin-bottom:38px}
  .yes-grid--2,.yes-grid--3,.yes-grid--4{grid-template-columns:1fr}
  .yes-gallery{grid-template-columns:repeat(2,1fr)}
  .yes-banner{padding:90px 0 70px}
  .yes-cta{padding:46px 24px;border-radius:18px}
  .yes-info{padding:20px}
}
@media(max-width:480px){
  .yes-gallery{grid-template-columns:1fr}
  .yes-btn{padding:14px 26px;font-size:15px}
}

/* ==== BOLD HOVER LANGUAGE (Vibrant & Block-based redesign) ================ */
/* Colour shifts on hover — surface warms, heading tips orange, border glows. */
/* Prominent hover cue is the heading colour-shift (transitions on the <h3>/<h4>
   below, which carry no .yes-reveal class so they animate cleanly). Card
   transforms already animate via the shared reveal transition. */
.yes-feature,.yes-info,.yesf-tile,.yesf-offer,.yesf-day,.yesf-sched,
.yesu-step,.yesu-info,.yesp-stage,.yesp-step,.yesf-step{
  transition:transform var(--yes-ease),box-shadow var(--yes-ease),
             border-color var(--yes-ease),background-color var(--yes-ease)}
.yes-feature:hover,.yes-info:hover,.yesf-tile:hover,.yesf-offer:hover,.yesf-day:hover,
.yesf-sched:hover,.yesu-step:hover,.yesu-info:hover,.yesp-stage:hover,.yesp-step:hover,.yesf-step:hover{
  border-color:rgba(245,106,1,.5)}
.yes-feature:hover h3,.yesf-tile:hover h3,.yesf-offer:hover h3,
.yesu-step:hover h4,.yesu-info:hover h3,.yesp-stage:hover h3,
.yesp-step:hover h4,.yesf-step:hover h4,.yes-info:hover h3{color:var(--yes-orange-d)}
.yes-feature h3,.yesf-tile h3,.yesf-offer h3,.yesu-step h4,.yesu-info h3,
.yesp-stage h3,.yesp-step h4,.yesf-step h4,.yes-info h3{transition:color var(--yes-ease)}
.yes-card:hover .yes-card__title a{color:var(--yes-orange-d)}
/* Buttons: more presence */
.yes-btn{padding:17px 38px}

/* ==== ACCESSIBILITY (ui-ux-pro-max audit 2026-07) ========================= */
/* Visible keyboard focus everywhere — the theme strips outlines on links.   */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
.yes-btn:focus-visible{outline:3px solid var(--yes-indigo);outline-offset:2px;border-radius:4px}
/* Faster taps on touch devices (kills the 300ms delay) */
a,button,input,select,textarea,label{touch-action:manipulation}

/* ============================================================================
   YES 3D PRELOADER  (#yespre)
   Full-screen brand stage: aurora depth, 3D orbital rings, floating logo,
   real progress. Failsafes: CSS auto-hide at 6s + <noscript> hide, so the
   overlay can never trap a visitor if JS fails.
   ========================================================================== */
.yespre{position:fixed;inset:0;z-index:99999;display:grid;place-content:center;justify-items:center;
  gap:0;background:radial-gradient(120% 100% at 50% 0%,#41508f 0%,#2b3468 45%,#20264d 100%);
  perspective:1100px;overflow:hidden;
  animation:yespre-failsafe 0s linear 6s forwards}
@keyframes yespre-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}

/* --- aurora blobs (depth) --- */
.yespre__aura{position:absolute;inset:0;pointer-events:none;filter:blur(70px);opacity:.6}
.yespre__aura i{position:absolute;display:block;border-radius:50%}
.yespre__aura i:nth-child(1){width:46vmin;height:46vmin;left:-8vmin;top:-6vmin;background:rgba(245,106,1,.55);animation:yespre-drift 14s ease-in-out infinite}
.yespre__aura i:nth-child(2){width:38vmin;height:38vmin;right:-6vmin;bottom:-8vmin;background:rgba(252,223,107,.4);animation:yespre-drift 18s ease-in-out infinite reverse}
.yespre__aura i:nth-child(3){width:34vmin;height:34vmin;right:16%;top:8%;background:rgba(73,88,169,.65);animation:yespre-drift 22s ease-in-out infinite}
@keyframes yespre-drift{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(6vmin,4vmin,0) scale(1.12)}66%{transform:translate3d(-4vmin,6vmin,0) scale(.94)}}

/* --- 3D stage --- */
.yespre__stage{position:relative;width:230px;height:230px;transform-style:preserve-3d;
  animation:yespre-tilt 9s ease-in-out infinite}
@keyframes yespre-tilt{
  0%,100%{transform:rotateX(14deg) rotateY(-12deg)}
  50%{transform:rotateX(6deg) rotateY(12deg)}}

/* --- orbital rings (each on its own 3D plane, with a satellite) --- */
.yespre__orbit{position:absolute;inset:0;border-radius:50%;transform-style:preserve-3d;
  border:1.5px solid rgba(255,255,255,.30)}
.yespre__orbit i{position:absolute;top:50%;left:-6px;width:12px;height:12px;margin-top:-6px;border-radius:50%}
.yespre__orbit--a{transform:rotateX(74deg) rotateZ(0deg);animation:yespre-spin 4.6s linear infinite}
.yespre__orbit--a i{background:var(--yes-orange);box-shadow:0 0 16px 3px rgba(245,106,1,.85)}
.yespre__orbit--b{inset:22px;transform:rotateX(66deg) rotateY(58deg);animation:yespre-spin 6.8s linear infinite reverse;border-color:rgba(252,223,107,.38)}
.yespre__orbit--b i{background:var(--yes-yellow);box-shadow:0 0 15px 3px rgba(252,223,107,.8)}
.yespre__orbit--c{inset:44px;transform:rotateX(58deg) rotateY(-46deg);animation:yespre-spin 9s linear infinite;border-color:rgba(255,255,255,.34)}
.yespre__orbit--c i{background:#fff;box-shadow:0 0 14px 3px rgba(255,255,255,.75)}
@keyframes yespre-spin{to{transform:rotate(360deg)}}
/* keep each ring's own 3D plane while spinning */
.yespre__orbit--a{animation-name:yespre-spin-a}
.yespre__orbit--b{animation-name:yespre-spin-b}
.yespre__orbit--c{animation-name:yespre-spin-c}
@keyframes yespre-spin-a{from{transform:rotateX(74deg) rotateZ(0)}to{transform:rotateX(74deg) rotateZ(360deg)}}
@keyframes yespre-spin-b{from{transform:rotateX(66deg) rotateY(58deg) rotateZ(0)}to{transform:rotateX(66deg) rotateY(58deg) rotateZ(360deg)}}
@keyframes yespre-spin-c{from{transform:rotateX(58deg) rotateY(-46deg) rotateZ(0)}to{transform:rotateX(58deg) rotateY(-46deg) rotateZ(360deg)}}

/* --- logo core --- */
.yespre__core{position:absolute;inset:0;display:grid;place-items:center;transform-style:preserve-3d;
  animation:yespre-float 4.2s ease-in-out infinite}
@keyframes yespre-float{0%,100%{transform:translateZ(0) translateY(0)}50%{transform:translateZ(34px) translateY(-7px)}}
.yespre__disc{position:relative;width:138px;height:138px;border-radius:50%;background:#fff;overflow:hidden;
  display:grid;place-items:center;
  box-shadow:0 18px 50px rgba(0,0,0,.35),0 0 0 10px rgba(255,255,255,.07),0 0 60px 8px rgba(245,106,1,.28);
  animation:yespre-turn 6s ease-in-out infinite}
.yespre__logo{width:112px;height:112px;object-fit:contain}
@keyframes yespre-turn{0%,100%{transform:rotateY(-16deg)}50%{transform:rotateY(16deg)}}

/* --- wordmark with shimmer --- */
.yespre__word{margin:38px 0 0;font-family:"Quicksand",sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.30em;text-transform:uppercase;text-align:center;
  background:linear-gradient(100deg,rgba(255,255,255,.42) 30%,#fff 50%,rgba(255,255,255,.42) 70%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:yespre-shimmer 2.6s linear infinite}
@keyframes yespre-shimmer{to{background-position:-220% center}}

/* --- progress --- */
.yespre__bar{margin-top:20px;width:200px;height:3px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}
.yespre__bar i{display:block;height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,var(--yes-yellow),var(--yes-orange));
  box-shadow:0 0 14px rgba(245,106,1,.7);transition:width .35s cubic-bezier(.22,.7,.25,1)}
.yespre__pct{margin:11px 0 0;font-family:"Quicksand",sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.14em;color:rgba(255,255,255,.62);text-align:center}

/* --- exit --- */
.yespre.is-out{animation:none;opacity:0;visibility:hidden;transform:scale(1.06);
  transition:opacity .7s ease,transform .9s cubic-bezier(.22,.7,.25,1),visibility 0s .7s}
.yespre.is-out .yespre__stage{transform:scale(1.35) rotateX(0) rotateY(0);opacity:0;
  transition:transform .9s cubic-bezier(.22,.7,.25,1),opacity .6s ease}
.yespre.is-out .yespre__word,.yespre.is-out .yespre__bar,.yespre.is-out .yespre__pct{opacity:0;transition:opacity .4s ease}

@media(max-width:520px){.yespre__stage{width:190px;height:190px}.yespre__disc{width:116px;height:116px}.yespre__logo{width:94px;height:94px}}

/* --- reduced motion: calm, static, quick --- */
@media (prefers-reduced-motion: reduce){
  .yespre,.yespre__aura i,.yespre__stage,.yespre__orbit,.yespre__core,.yespre__logo,.yespre__word{animation:none!important}
  .yespre{animation:yespre-failsafe 0s linear 4s forwards!important}
  .yespre__stage{transform:none}
  .yespre__orbit--a{transform:rotateX(74deg)}
  .yespre__orbit--b{transform:rotateX(66deg) rotateY(58deg)}
  .yespre__orbit--c{transform:rotateX(58deg) rotateY(-46deg)}
}

/* ============================================================================
   § MODERN NAV  (.yesnav__*)
   Desktop: sticky glass bar, animated dropdown/mega-menu, split-out CTA
   buttons. Mobile: slide-in drawer + overlay, burger↔✕ morph, tap-to-expand
   submenus. Both are rendered from the SAME $navItems array in
   partials/header.blade.php — no more hand-duplicated menu HTML.
   ========================================================================== */

/* skip link — invisible until keyboard-focused */
.yesnav__skip{position:fixed;top:-60px;left:12px;z-index:9999;background:var(--yes-blue);color:#fff;
  padding:12px 20px;border-radius:10px;font-family:"Quicksand",sans-serif;font-weight:700;
  text-decoration:none;transition:top .2s ease}
.yesnav__skip:focus{top:12px}

/* ---- desktop bar --------------------------------------------------------- */
.yesnav{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}
.yesnav__list{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0}
.yesnav__item{position:relative}
.yesnav__link{display:inline-flex;align-items:center;gap:5px;font-family:"Quicksand",sans-serif;
  font-weight:600;font-size:14.5px;color:var(--yes-ink);text-decoration:none;
  background:none;border:none;cursor:pointer;font:inherit;
  padding:10px 15px;border-radius:var(--yes-radius-pill);
  transition:background var(--yes-ease),color var(--yes-ease)}
.yesnav__link:hover,.yesnav__item:hover>.yesnav__link{background:var(--yes-bg-soft);color:var(--yes-blue)}
.yesnav__item.current-menu-item>.yesnav__link{background:#eef1fb;color:var(--yes-blue);font-weight:700}
.yesnav__chev{width:15px;height:15px;flex:none;transition:transform var(--yes-ease)}
.yesnav__item.is-open>.yesnav__link .yesnav__chev,
.yesnav__item:hover>.yesnav__link .yesnav__chev{transform:rotate(180deg)}

/* dropdown / mega-menu panel */
.yesnav__dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:240px;
  background:#fff;border:1px solid var(--yes-line);border-radius:16px;box-shadow:var(--yes-shadow-lg);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility 0s .22s;z-index:50}
.yesnav__dropdown--mega{min-width:520px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.yesnav__item:hover>.yesnav__dropdown,
.yesnav__item.is-open>.yesnav__dropdown,
.yesnav__item:focus-within>.yesnav__dropdown{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition-delay:0s}
.yesnav__dropitem{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:12px;
  text-decoration:none;transition:background var(--yes-ease)}
.yesnav__dropitem:hover{background:var(--yes-bg-soft)}
.yesnav__dropicon{flex:none;width:36px;height:36px;border-radius:10px;background:var(--yes-grad);
  color:#fff;display:grid;place-items:center}
.yesnav__dropicon svg{width:18px;height:18px}
.yesnav__droptext{display:flex;flex-direction:column;gap:2px;min-width:0}
.yesnav__droptext b{font-family:"Quicksand",sans-serif;font-weight:700;font-size:14px;color:var(--yes-ink)}
.yesnav__droptext small{font-size:12.5px;color:var(--yes-muted);line-height:1.35}

/* right-aligned auth actions, visually split from the nav links */
.yesnav__actions{display:flex;align-items:center;gap:10px;margin-left:14px;padding-left:14px;
  border-left:1px solid var(--yes-line)}
.yesnav__signin{font-family:"Quicksand",sans-serif;font-weight:600;font-size:14.5px;color:var(--yes-body);
  text-decoration:none;padding:9px 8px;transition:color var(--yes-ease)}
.yesnav__signin:hover{color:var(--yes-blue)}
.yesnav__cta{display:inline-flex;align-items:center;gap:7px;font-family:"Quicksand",sans-serif;font-weight:700;
  font-size:14.5px;color:#fff;background:var(--yes-blue);padding:10px 20px;border-radius:var(--yes-radius-pill);
  text-decoration:none;box-shadow:0 8px 18px rgba(61,73,141,.28);
  transition:background var(--yes-ease),transform var(--yes-ease),box-shadow var(--yes-ease)}
.yesnav__cta:hover{background:var(--yes-blue-d);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px rgba(61,73,141,.36)}
.yesnav__cta svg{width:15px;height:15px;transition:transform var(--yes-ease)}
.yesnav__cta:hover svg{transform:translateX(3px)}

/* scrolled state: bar goes solid + deeper shadow (class toggled in template-init.js) */
.header7_cont.is-scrolled{background:rgba(255,255,255,.97)}

@media(max-width:991px){.yesnav{display:none}}

/* ---- mobile: burger ↔ ✕ morph -------------------------------------------- */
/* the theme's own .res-btn (kept for its proven show/hide-on-mobile CSS)
   stretches full-width at ~16px tall — nowhere near a 44px touch target.
   Force a compact, centred, properly-sized hit area regardless. */
.yesnav__burger{background:none;border:none;padding:0;cursor:pointer;
  width:44px!important;height:44px!important;min-width:44px;min-height:44px;
  display:inline-flex!important;align-items:center;justify-content:center;flex:none!important}
.yesnav__burger-bars{display:flex;flex-direction:column;justify-content:center;gap:5px;width:22px;height:16px}
.yesnav__burger-bars span{display:block;height:2px;width:100%;background:var(--yes-ink);border-radius:2px;
  transition:transform .3s var(--yes-ease),opacity .2s ease}
.yesnav__burger.is-active .yesnav__burger-bars span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.yesnav__burger.is-active .yesnav__burger-bars span:nth-child(2){opacity:0}
.yesnav__burger.is-active .yesnav__burger-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- mobile: overlay + slide-in drawer ------------------------------------ */
.yesnav__overlay{position:fixed;inset:0;z-index:9990;background:rgba(22,24,43,.5);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}
.yesnav__overlay.is-open{opacity:1;visibility:visible;transition-delay:0s}
.yesnav__drawer{position:fixed;top:0;right:0;bottom:0;z-index:9991;width:86vw;max-width:360px;
  background:#fff;box-shadow:-20px 0 50px rgba(22,24,43,.22);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .38s cubic-bezier(.22,.7,.25,1)}
.yesnav__drawer.is-open{transform:translateX(0)}
.yesnav__drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;
  border-bottom:1px solid var(--yes-line);flex:none}
.yesnav__drawer-title{font-family:"Quicksand",sans-serif;font-weight:700;font-size:18px;color:var(--yes-ink)}
.yesnav__close{width:40px;height:40px;border-radius:50%;border:none;background:var(--yes-bg-soft);
  color:var(--yes-ink);display:grid;place-items:center;cursor:pointer;transition:background var(--yes-ease)}
.yesnav__close:hover{background:var(--yes-line)}
.yesnav__close svg{width:19px;height:19px}
.yesnav__drawer-nav{list-style:none;margin:0;padding:10px 14px;overflow-y:auto;flex:1}
.yesnav__dItem{border-bottom:1px solid var(--yes-line)}
.yesnav__dItem:last-child{border-bottom:0}
.yesnav__dRow{display:flex;align-items:stretch}
.yesnav__dLink{flex:1;display:flex;align-items:center;min-height:52px;font-family:"Quicksand",sans-serif;
  font-weight:600;font-size:15.5px;color:var(--yes-ink);text-decoration:none;padding:8px 6px}
.yesnav__dLink--label{color:var(--yes-body)}
.yesnav__dItem.current-menu-item>.yesnav__dRow>.yesnav__dLink{color:var(--yes-blue);font-weight:700}
.yesnav__dToggle{width:44px;height:44px;flex:none;background:none;border:none;color:var(--yes-muted);
  cursor:pointer;display:grid;place-items:center}
.yesnav__dToggle svg{width:18px;height:18px;transition:transform var(--yes-ease)}
.yesnav__dItem.is-open>.yesnav__dRow>.yesnav__dToggle svg{transform:rotate(180deg)}
/* Collapse/expand via grid-rows 0fr→1fr. This trick needs the grid container
   to have exactly ONE child — with 4 <a> children directly inside, grid
   auto-placement created 4 separate row tracks and only the first respected
   0fr, so the panel rendered fully open by default. Fix: wrap all children
   in one .yesnav__dSub-inner div, which becomes that single grid row/item. */
.yesnav__dSub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.yesnav__dItem.is-open>.yesnav__dSub{grid-template-rows:1fr}
.yesnav__dSub-inner{overflow:hidden;min-height:0}
.yesnav__dSub a{display:flex;align-items:center;min-height:44px;padding:8px 14px 8px 20px;
  font-size:14px;color:var(--yes-body);text-decoration:none;border-radius:10px}
.yesnav__dSub a:hover{background:var(--yes-bg-soft);color:var(--yes-blue)}
.yesnav__drawer-actions{flex:none;padding:18px 20px 24px;border-top:1px solid var(--yes-line);
  display:flex;flex-direction:column;gap:10px}
.yesnav__signin--block{text-align:center;padding:13px;border-radius:var(--yes-radius-pill);
  border:1.5px solid var(--yes-line);font-family:"Quicksand",sans-serif;font-weight:700;color:var(--yes-ink);
  text-decoration:none}
.yesnav__cta--block{justify-content:center;padding:13px}

@media(min-width:992px){.yesnav__overlay,.yesnav__drawer,.yesnav__burger{display:none!important}}

/* body scroll-lock while the mobile drawer is open */
html.yesnav-lock,html.yesnav-lock body{overflow:hidden!important}

/* Logo column only needed ~150px but the old col-md-3/9 grid gave it a fixed
   25%, starving the nav bar and wrapping "About Us" onto two lines at common
   desktop widths. Flex-auto the logo, let the nav fill whatever's left. */
.header7_cont .row.justify-content-between.align-items-center{flex-wrap:nowrap}
.header7_cont .col-md-3{flex:0 0 auto;max-width:none;width:auto}
.header7_cont .col-md-9{flex:1 1 auto;max-width:none;width:auto;min-width:0}
.yesnav__link{white-space:nowrap}
