/* BLUE WAVE ASCEND — FLAGSHIP EXPERIENCE LAYER
   Art direction: calm confidence, editorial scale, precise interaction. */
:root{
  --bwf-ink:#071a2f;
  --bwf-blue:#0879df;
  --bwf-cyan:#29c2df;
  --bwf-sky:#78d7ff;
  --bwf-paper:#f6faff;
  --bwf-line:rgba(9,52,88,.12);
  --bwf-shadow:0 18px 55px rgba(5,31,57,.10);
  --bwf-shadow-lg:0 28px 90px rgba(5,31,57,.16);
  --bwf-ease:cubic-bezier(.2,.75,.25,1);
}
html{scroll-padding-top:96px}
body{background:#fff;color:var(--bwf-ink)}
::selection{background:rgba(41,194,223,.24);color:var(--bwf-ink)}

/* Reading progress */
.bwf-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100000;pointer-events:none;background:transparent}
.bwf-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bwf-blue),var(--bwf-cyan));box-shadow:0 0 14px rgba(41,194,223,.55);transition:width .08s linear}

/* Header: quieter, denser, more premium */
.bw-global-nav{box-shadow:0 1px 0 rgba(7,26,47,.06),0 8px 28px rgba(7,26,47,.035);backdrop-filter:saturate(130%)}
.bw-global-nav .container{max-width:1380px}
.bw-global-nav .nav-link{position:relative}
@media(min-width:992px){
 .bw-global-nav .nav-link:after{content:"";position:absolute;left:.55rem;right:.55rem;bottom:7px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--bwf-blue),var(--bwf-cyan));transform:scaleX(0);transform-origin:center;transition:transform .28s var(--bwf-ease)}
 .bw-global-nav .nav-link:hover:after,.bw-global-nav .nav-link.bw-active:after{transform:scaleX(1)}
 .bw-global-nav .bw-nav-cta{box-shadow:0 9px 24px rgba(8,121,223,.18);transition:transform .25s var(--bwf-ease),box-shadow .25s var(--bwf-ease)}
 .bw-global-nav .bw-nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(8,121,223,.26)}
}
.bw-global-nav .dropdown-menu{border:1px solid rgba(9,52,88,.08)!important;box-shadow:var(--bwf-shadow-lg)!important}
.bw-mega-grid>div{padding-top:28px;padding-bottom:28px}
.bw-mega-grid a:not(.btn){transition:color .2s ease,transform .2s ease,background .2s ease;padding-left:6px!important;padding-right:6px!important}
.bw-mega-grid a:not(.btn):hover{background:#f4f9fd;transform:translateX(4px)!important}

/* Global content rhythm */
main{isolation:isolate}
.bw-section,.container-fluid.py-5{position:relative}
.bw-section-title h2,.bw-section-head h2{font-weight:800;text-wrap:balance}
.bw-section-title p,.bw-section-head p{max-width:680px}
.bwf-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:800;color:var(--bwf-blue)}
.bwf-eyebrow:before{content:"";width:24px;height:1px;background:currentColor}

/* Universal card language */
.bw-card,.service-card,.country-card,.feature-card,.training-card,.benefit-card,.destination-benefit-card{transition:transform .35s var(--bwf-ease),box-shadow .35s var(--bwf-ease),border-color .35s ease}
.bw-card:hover,.service-card:hover,.country-card:hover,.feature-card:hover,.training-card:hover,.benefit-card:hover,.destination-benefit-card:hover{transform:translateY(-7px);box-shadow:var(--bwf-shadow-lg)!important}
.bw-card:before,.service-card:before,.country-card:before,.feature-card:before,.training-card:before{content:"";display:block;position:absolute;inset:0 0 auto;height:2px;border-radius:inherit;background:linear-gradient(90deg,var(--bwf-blue),var(--bwf-cyan));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--bwf-ease)}
.bw-card,.service-card,.country-card,.feature-card,.training-card{position:relative;overflow:hidden}
.bw-card:hover:before,.service-card:hover:before,.country-card:hover:before,.feature-card:hover:before,.training-card:hover:before{transform:scaleX(1)}

/* Buttons */
.btn{transition:transform .25s var(--bwf-ease),box-shadow .25s var(--bwf-ease),background-color .25s ease,border-color .25s ease}
.btn-primary{box-shadow:0 8px 24px rgba(8,121,223,.14)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(8,121,223,.22)}
.btn-outline-primary:hover{transform:translateY(-2px)}

/* Homepage: flagship hero */
.bw-wc-hero{min-height:min(900px,92vh);isolation:isolate}
.bw-wc-hero-bg{filter:saturate(.9) contrast(1.04)}
.bw-wc-hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 76% 40%,rgba(43,194,223,.16),transparent 26%),linear-gradient(180deg,rgba(3,18,34,.08),rgba(3,18,34,.34))}
.bw-wc-grid{opacity:.38;mix-blend-mode:screen}
.bw-wc-title{font-size:clamp(54px,7vw,96px)!important;line-height:.93!important;letter-spacing:-.055em!important;max-width:900px;text-wrap:balance}
.bw-wc-lead{max-width:670px!important;font-size:clamp(16px,1.4vw,20px)!important;line-height:1.75!important;color:rgba(255,255,255,.76)!important}
.bw-wc-kicker{letter-spacing:2.1px!important}
.bw-wc-actions .btn{padding-left:24px!important;padding-right:24px!important}
.bw-wc-text-btn{transition:transform .25s ease,color .25s ease}.bw-wc-text-btn:hover{transform:translateX(4px)}
.bw-wc-hero-card{border-radius:28px!important;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.065))!important;box-shadow:0 30px 100px rgba(0,0,0,.30)!important;border-color:rgba(255,255,255,.24)!important}
.bw-intent-grid a{transition:transform .3s var(--bwf-ease),background .3s ease,border-color .3s ease!important}
.bw-intent-grid a:hover{transform:translateY(-4px) scale(1.01)!important;background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.28)!important}
.bw-scroll-cue{opacity:.72;letter-spacing:2px!important}

/* Homepage section transitions */
.bw-trust-strip{box-shadow:0 12px 30px rgba(7,26,47,.04);position:relative;z-index:5}
.bw-trust-strip .row>div{transition:background .25s ease,transform .25s ease}
.bw-trust-strip .row>div:hover{background:#f8fbfe;transform:translateY(-2px)}
.bw-method-card span{transition:transform .3s var(--bwf-ease),box-shadow .3s ease,border-color .3s ease}
.bw-method-card:hover span{transform:scale(1.08);border-color:rgba(8,121,223,.35);box-shadow:0 12px 30px rgba(8,121,223,.13)}
.bw-service-feature,.bw-service-tile,.bw-destination-card{box-shadow:0 14px 42px rgba(3,24,44,.12)}
.bw-service-feature,.bw-service-tile,.bw-destination-card{transition:transform .45s var(--bwf-ease),box-shadow .45s ease}
.bw-service-feature:hover,.bw-service-tile:hover,.bw-destination-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(3,24,44,.22)}
.bw-human-copy{box-shadow:0 20px 65px rgba(7,26,47,.10)}
.bw-reason{transition:transform .35s var(--bwf-ease),box-shadow .35s ease,border-color .35s ease!important}
.bw-reason:hover{transform:translateY(-7px) scale(1.01)!important;box-shadow:var(--bwf-shadow-lg)!important;border-color:rgba(8,121,223,.2)!important}
.bw-final-cta{min-height:620px!important}
.bw-final-cta:after{content:"";position:absolute;inset:auto auto -180px -180px;width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.015);pointer-events:none}

/* Inner-page hero elevation */
.bw-imm-hero,.destination-hero,.coaching-hero,.hero{overflow:hidden}
.bw-imm-hero:before,.destination-hero:before,.coaching-hero:before,.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 25%,rgba(255,255,255,.13),transparent 24%),linear-gradient(120deg,rgba(3,22,43,.08),transparent 52%)}
.bw-imm-hero .container,.destination-hero .container,.coaching-hero .container,.hero .container{position:relative;z-index:2}
.bw-imm-hero h1,.destination-hero h1,.coaching-hero h1,.hero h1{letter-spacing:-.045em;text-wrap:balance}

/* Rich result panels */
.bw-filter,.bw-alert{box-shadow:var(--bwf-shadow)}
.bw-filter{border-color:rgba(9,52,88,.10)!important}
.bw-alert{position:relative;overflow:hidden}
.bw-alert:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--bwf-blue),var(--bwf-cyan))}

/* Image treatment */
img{transition:filter .35s ease}
.bw-service-feature img,.bw-service-tile img,.bw-destination-card img{will-change:transform}

/* Form refinement */
.form-control,.form-select{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.form-control:hover,.form-select:hover{border-color:#aebfce}
.form-control:focus,.form-select:focus{background:#fbfdff}

/* Reveal system: enabled only after JS initializes */
.bwf-js .bwf-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--bwf-ease),transform .7s var(--bwf-ease)}
.bwf-js .bwf-reveal.bwf-visible{opacity:1;transform:none}
.bwf-js .bwf-delay-1{transition-delay:.06s}.bwf-js .bwf-delay-2{transition-delay:.12s}.bwf-js .bwf-delay-3{transition-delay:.18s}.bwf-js .bwf-delay-4{transition-delay:.24s}

/* Premium back-to-top */
.bwf-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:1px solid rgba(8,121,223,.18);border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);color:var(--bwf-blue);display:grid;place-items:center;z-index:999;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s var(--bwf-ease);box-shadow:0 12px 32px rgba(7,26,47,.14)}
.bwf-top.is-visible{opacity:1;visibility:visible;transform:none}.bwf-top:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,26,47,.20)}

/* Better mobile rhythm */
@media(max-width:991.98px){
 .bw-global-nav{box-shadow:0 5px 22px rgba(7,26,47,.07)}
 .bw-wc-hero{min-height:0!important}
 .bw-wc-title{font-size:clamp(44px,12vw,70px)!important}
 .bw-final-cta{min-height:540px!important}
}
@media(max-width:575.98px){
 .bwf-top{right:14px;bottom:14px}
 .bw-wc-title{letter-spacing:-.045em!important}
 .bw-section{padding-top:64px!important;padding-bottom:64px!important}
}
@media(prefers-reduced-motion:reduce){
 .bwf-js .bwf-reveal{opacity:1;transform:none;transition:none}
 .bwf-top,.bw-card,.service-card,.country-card,.feature-card,.training-card,.bw-service-feature,.bw-service-tile,.bw-destination-card{transition:none!important}
}
