/* Original HAINAR site + v1 ASCII ocean hero. All overrides are scoped to this hero. */
.hero.home-ocean{--ocean-ink:#164575;--ocean-light:#ffffff;--ocean-acid:#ffffff;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:0;background:linear-gradient(135deg,#061b46 0%,#164b93 42%,#167fb3 75%,#43b6c8 100%);color:var(--ocean-light);height:calc(100svh - var(--nav-height,72px));min-height:700px;padding:50px 5% 68px;overflow:hidden}
.home-ocean .rc-sharks{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:1;pointer-events:none;font-family:Consolas,"Courier New",monospace;contain:strict;background:linear-gradient(135deg,#061b46 0%,#164b93 42%,#167fb3 75%,#43b6c8 100%)}.home-ocean .ocean-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 45% 28% at 50% 48%,#143e6b44,transparent 100%),linear-gradient(180deg,#143e6b55,transparent 24%,transparent 67%,#143e6b33 100%)}
.home-ocean .ocean-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px/1.8 Consolas,monospace;letter-spacing:1.5px;color:#d4e3f0;width:100%}.home-ocean .eyebrow{margin:0;font:10px/1.8 Consolas,monospace;letter-spacing:1.5px;color:#d4e3f0}.home-ocean .dot{background:#b6c9df;width:5px;height:5px}
.home-ocean .ocean-title-wrap{position:relative;align-self:center;text-align:center;width:100%;max-width:1500px;margin:40px 0;padding:20px 0;transform:translate3d(var(--mx,0px),var(--my,0px),0);transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}
.home-ocean h1{font-size:clamp(68px,9.3vw,145px);font-weight:800;letter-spacing:-.065em;line-height:1.12;margin:0;white-space:normal;color:var(--ocean-light);text-shadow:0 2px 28px #143e6b33}.home-ocean .ocean-prefix{white-space:nowrap;display:inline-block}.home-ocean .headline-emphasis{color:var(--ocean-acid);padding:0;white-space:nowrap;display:inline-block;isolation:auto}.home-ocean .headline-char{display:inline-block;animation:ocean-lift 7s ease-in-out infinite;animation-delay:calc(var(--i,0)*140ms)}.home-ocean .ocean-enter{display:inline-block;animation:ocean-enter 1.1s cubic-bezier(.18,.8,.22,1) both;animation-delay:calc(var(--i,0)*65ms)}.home-ocean .headline-scan{display:none}.home-ocean .ocean-spark{position:absolute;right:1%;top:7%;font:70px/1 Arial;color:var(--ocean-acid);animation:ocean-turn 35s linear infinite}
.home-ocean .ocean-bottomline{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;width:100%}.home-ocean .hero-intro{margin:0;font-size:13px;line-height:1.9;color:#e0eaf3;letter-spacing:.5px}.home-ocean .ocean-bottomline>span{font:9px/1.8 Consolas,monospace;letter-spacing:1.5px;color:#d2e1ee;text-align:right}.home-ocean .ocean-live{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);white-space:nowrap;font:8px/1.8 Consolas,monospace;letter-spacing:2px;color:#d2e1ee;display:flex;align-items:center;gap:10px}.home-ocean .ocean-live>span{width:5px;height:5px;border-radius:50%;background:#b6c9df;box-shadow:0 0 9px #b6c9df88}
.home-ocean .ocean-motion{position:absolute;bottom:17px;right:22px;border:1px solid #b6c9df55;border-radius:25px;padding:9px 13px;color:#b6c9df;background:#16457588;font:9px/1.5 Consolas,monospace;z-index:3;cursor:pointer}.home-ocean .ocean-motion:focus-visible{outline:2px solid #b6c9df;outline-offset:4px}
@keyframes ocean-enter{from{opacity:0;transform:translate3d(0,50%,0) rotate(3deg)}to{opacity:1;transform:translate3d(0,0,0) rotate(0)}}@keyframes ocean-lift{0%,18%,100%{transform:translateY(0)}8%{transform:translateY(-7px)}}@keyframes ocean-turn{to{transform:rotate(360deg)}}
@media(min-width:1800px){.hero.home-ocean{min-height:800px}.home-ocean h1{font-size:145px}}
@media(max-width:900px){.hero.home-ocean{min-height:660px}.home-ocean h1{font-size:10.5vw}.home-ocean .ocean-spark{font-size:45px;right:0;top:-35px}}
@media(max-width:700px){.hero.home-ocean{padding:32px 6% 76px;min-height:620px;height:calc(100svh - var(--nav-height,68px))}.home-ocean .rc-sharks{opacity:1}.home-ocean .ocean-shade{background:radial-gradient(ellipse 80% 29% at 50% 46%,#143e6b44,transparent 100%),linear-gradient(180deg,#143e6b55,transparent 25%,transparent 65%,#143e6b33 100%)}.home-ocean .ocean-topline{font-size:8px;letter-spacing:.8px}.home-ocean .ocean-topline>span:last-child{display:none}.home-ocean .eyebrow{font-size:8px;letter-spacing:1px}.home-ocean .ocean-title-wrap{margin:35px 0;padding:10px 0}.home-ocean h1{font-size:clamp(39px,10.8vw,74px);letter-spacing:-.065em;line-height:1.22}.home-ocean .ocean-spark{font-size:34px;top:-40px;right:1%}.home-ocean .hero-intro{font-size:10px;letter-spacing:0}.home-ocean .ocean-bottomline>span{display:none}.home-ocean .ocean-live{left:6%;transform:none;font-size:7px;letter-spacing:1px;bottom:24px}.home-ocean .ocean-motion{right:14px;bottom:15px;padding:8px 10px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.home-ocean *,.home-ocean *:before,.home-ocean *:after{animation:none!important;transition:none!important}.home-ocean .ocean-title-wrap{transform:none!important}.home-ocean .ocean-enter{opacity:1;transform:none}}
.rc-motion-off .home-ocean *,.rc-motion-off .home-ocean *:before,.rc-motion-off .home-ocean *:after{animation:none!important;transition:none!important}.rc-motion-off .home-ocean .ocean-title-wrap{transform:none!important}.rc-motion-off .home-ocean .ocean-enter{opacity:1;transform:none}

/* Champagne emphasis against the original ocean-blue palette. */
.home-ocean .headline-emphasis{color:#f2d18a}

/* Static gradients preserve character animation without extra rendering loops. */
.home-ocean .headline-emphasis{color:#f2d18a;text-shadow:none}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
.home-ocean .headline-emphasis .headline-char{background-image:linear-gradient(110deg,#fff2bd 0%,#f5cc75 45%,#f49b64 100%);background-size:400% 100%;background-position:var(--gold-pos,0%) 50%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}


.home-ocean .ocean-spark{width:76px;height:76px;font-size:0;animation:none;color:#fff;pointer-events:none;display:block}
.ocean-spark i{position:absolute;display:block;inset:0;border-radius:50%;box-sizing:border-box}
.ocean-spark[data-effect="ripple"] i{border:1px solid #d8f7ff;animation:fx-ripple 3.6s ease-out infinite}
.ocean-spark[data-effect="ripple"] i:nth-child(2){animation-delay:-1.2s}.ocean-spark[data-effect="ripple"] i:nth-child(3){animation-delay:-2.4s}
@keyframes fx-ripple{0%{transform:scale(.15);opacity:0}15%{opacity:.8}100%{transform:scale(1.2);opacity:0}}
.ocean-spark[data-effect="glow"]{background:radial-gradient(circle,#fff6ce 0%,#f5d58d88 15%,#f3cd7544 36%,transparent 70%);animation:fx-glow 4s ease-in-out infinite}
.ocean-spark[data-effect="glow"] i{display:none}@keyframes fx-glow{0%,100%{opacity:.45;transform:translateY(3px) scale(.85)}50%{opacity:1;transform:translateY(-5px) scale(1.1)}}
.ocean-spark[data-effect="orbit"] i{inset:12px 0;border:1px solid #d9f4ff44;transform:rotate(-30deg);animation:fx-orbit 7s linear infinite}
.ocean-spark[data-effect="orbit"] i:before{content:"";position:absolute;left:50%;top:-3px;width:5px;height:5px;border-radius:50%;background:#fff1b9;box-shadow:0 0 8px #ffe3a4}
.ocean-spark[data-effect="orbit"] i:nth-child(2){transform:rotate(60deg);animation-direction:reverse;animation-duration:9s}.ocean-spark[data-effect="orbit"] i:nth-child(3){display:none}@keyframes fx-orbit{from{transform:rotate(-30deg)}to{transform:rotate(330deg)}}
.ocean-spark[data-effect="star"] i{inset:20px;border-radius:0;background:linear-gradient(135deg,#fff,#f3d18b);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);animation:fx-star 4.5s ease-in-out infinite}
.ocean-spark[data-effect="star"] i:nth-child(2){inset:8px 0 auto auto;width:12px;height:12px;animation-delay:-1.7s}.ocean-spark[data-effect="star"] i:nth-child(3){display:none}@keyframes fx-star{0%,65%,100%{opacity:.35;transform:scale(.7) rotate(0)}30%{opacity:1;transform:scale(1.1) rotate(12deg)}}
@media(max-width:700px){.home-ocean .ocean-spark{width:48px;height:48px}.ocean-spark[data-effect="star"] i{inset:12px}}
@media(prefers-reduced-motion:reduce){.home-ocean .ocean-spark,.home-ocean .ocean-spark i{animation:none!important}.ocean-spark[data-effect="ripple"] i{opacity:.5}.ocean-spark[data-effect="ripple"] i:nth-child(2){transform:scale(.65)}.ocean-spark[data-effect="ripple"] i:nth-child(3){transform:scale(.3)}}
/* One continuous canvas, with the fade outside the hero's content area. */
.hero.home-ocean{--ocean-bridge:clamp(120px,10vw,170px);padding-bottom:68px;overflow:visible;margin-bottom:var(--ocean-bridge)}
.home-ocean .rc-sharks,.home-ocean .ocean-shade{height:calc(100% + var(--ocean-bridge));bottom:auto}
.hero.home-ocean:after{content:"";position:absolute;top:100%;left:0;right:0;height:calc(var(--ocean-bridge) + 1px);background:linear-gradient(180deg,rgba(237,241,247,0) 0%,rgba(237,241,247,.028) 12%,rgba(237,241,247,.10) 25%,rgba(237,241,247,.25) 40%,rgba(237,241,247,.46) 55%,rgba(237,241,247,.68) 70%,rgba(237,241,247,.86) 83%,rgba(237,241,247,.965) 94%,#edf1f7 100%);pointer-events:none;z-index:0}
.home-ocean .ocean-live{bottom:23px}.home-ocean .ocean-motion{bottom:18px}
.premium-feature{border-top:0}
@media(max-width:700px){.hero.home-ocean{--ocean-bridge:100px;padding-bottom:76px;min-height:620px}.home-ocean .ocean-live{bottom:24px}.home-ocean .ocean-motion{bottom:15px}}

/* Heartbeat and flowing colour share the established champagne / warm-orange palette. */
.home-ocean .headline-emphasis{--beat-light:#fff2bd;--beat-gold:#f5cc75;--beat-warm:#f49b64;position:relative;isolation:isolate;overflow:visible;color:var(--beat-gold);text-shadow:none}
.home-ocean .ocean-heartbeat{display:inline-block;position:relative;z-index:1;transform-origin:50% 55%;animation:ocean-heartbeat 2.6s ease-in-out infinite}
.home-ocean .ocean-gradient-text{display:inline-block;font-weight:800;color:var(--beat-gold)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
.home-ocean .ocean-gradient-text{background-image:linear-gradient(90deg,var(--beat-light),var(--beat-gold),var(--beat-warm),var(--beat-gold),var(--beat-light));background-size:200% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ocean-gradient-flow 3s linear infinite}}
.home-ocean .ocean-heart-ring{position:absolute;left:var(--ripple-x,50%);top:var(--ripple-y,53%);width:1.05em;height:1.05em;margin:-.525em 0 0 -.525em;border:1px solid var(--beat-gold);border-radius:50%;pointer-events:none;z-index:0;opacity:0;animation:ocean-heart-ring 2.6s ease-out infinite;animation-delay:var(--ring-delay)}
.home-ocean .ocean-heart-ring:nth-of-type(odd){border-color:var(--beat-warm)}
@keyframes ocean-heartbeat{0%,48%,100%{transform:scale(1)}10%{transform:scale(1.055)}20%{transform:scale(1)}32%{transform:scale(1.085)}}
@keyframes ocean-gradient-flow{from{background-position:200% 50%}to{background-position:0% 50%}}
@keyframes ocean-heart-ring{0%{opacity:0;transform:scale(.35)}5%{opacity:.48}55%,100%{opacity:0;transform:scale(4.2)}}
@media(max-width:700px){@keyframes ocean-heartbeat{0%,48%,100%{transform:scale(1)}10%{transform:scale(1.035)}20%{transform:scale(1)}32%{transform:scale(1.055)}}.home-ocean .ocean-heart-ring{width:.9em;height:.9em;margin:-.45em 0 0 -.45em}}
@media(prefers-reduced-motion:reduce){.home-ocean .ocean-heart-ring{display:none}.home-ocean .ocean-heartbeat{transform:none;animation:none}.home-ocean .ocean-gradient-text{animation:none}}
.rc-motion-off .home-ocean .ocean-heart-ring{display:none}.rc-motion-off .home-ocean .ocean-heartbeat{transform:none;animation:none}.rc-motion-off .home-ocean .ocean-gradient-text{animation:none}
html.ocean-out-of-view .home-ocean .ocean-heartbeat,html.ocean-out-of-view .home-ocean .ocean-gradient-text,html.ocean-out-of-view .home-ocean .ocean-heart-ring{animation-play-state:paused}

.home-ocean .ocean-ripple-focus{display:inline}
