/* Inspired by HortPassport's surface reveals and 1.4s image settling.
   Insurance content, light paths and paper texture belong to this site. */
:root{--surface-ease:cubic-bezier(.2,.7,.2,1);--entry-ease:cubic-bezier(.37,.34,.26,.9)}
.topline>a{white-space:nowrap}
.hero{background:radial-gradient(ellipse at 10% 18%,#9360ec44,transparent 52%),radial-gradient(ellipse at 86% 70%,#2b096f66,transparent 58%),#5d26bf}
.hero:after{opacity:.12;mix-blend-mode:soft-light}
.intro,.journey,.faq{background-image:linear-gradient(115deg,#fff8,transparent 55%),repeating-linear-gradient(0deg,#5d26bf03 0 1px,transparent 1px 5px)}
.insurance{background-image:radial-gradient(ellipse at 90% 20%,#fff8,transparent 65%)}
.intro:after,.insurance:after,.journey:after,.contact:after{opacity:.055}
.hero-scene{box-shadow:0 22px 75px #23094926}
.brand-enhanced [data-brand-media]{transition:clip-path 1.25s var(--surface-ease),opacity .9s ease-out,translate 1.25s var(--surface-ease)}
.brand-enhanced [data-brand-media]:not([data-revealed=true]){clip-path:inset(12% 0 0);opacity:0;translate:0 35px}
.brand-enhanced [data-brand-media][data-revealed=true]{clip-path:inset(0);opacity:1;translate:0 0}
.brand-enhanced [data-brand-media]>img{transition:scale 1.4s var(--surface-ease)}
.brand-enhanced [data-brand-media]:not([data-revealed=true])>img{scale:1.06}
.brand-enhanced [data-brand-media][data-revealed=true]>img{scale:1}
.motion .reveal{transform:translateY(38px);transition:opacity .9s ease-out,transform 1.05s var(--surface-ease)}
.motion .reveal.visible{transform:none}
.intro-grid>.reveal:nth-child(2),.section-heading>.reveal{transition-delay:.1s}
.ambient-wash{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;contain:paint}
.ambient-wash span{position:absolute;width:70%;height:65%;left:-28%;top:-16%;border-radius:50%;background:radial-gradient(ellipse,#d2adff30,transparent 67%);animation:atmosphere-drift 24s ease-in-out infinite alternate;animation-play-state:paused}
.ambient-wash span+span{left:auto;right:-25%;top:auto;bottom:-18%;background:radial-gradient(ellipse,#af69fa29,transparent 70%);animation-duration:31s;animation-delay:-11s;animation-direction:alternate-reverse}
.effects-visible .ambient-wash span{animation-play-state:running}
.light-base{opacity:.48;stroke-width:1.15}.light-glow{opacity:.16;stroke-width:10}.light-travel{stroke:#ead1ff;stroke-width:2;stroke-dasharray:5 95;opacity:.92;animation-duration:14s}
.hero .light-base{opacity:.56}.hero .light-glow{opacity:.2}
.hero-orbit svg{transform-origin:50% 50%;animation:ornament-drift 7.5s ease-in-out infinite alternate;animation-play-state:paused}
.effects-visible[data-orbits=rest] .hero-orbit svg{animation-play-state:running}
.orbit-two svg{animation-delay:-3.5s;animation-direction:alternate-reverse}
.hero[data-orbits=tucked] .hero-orbit svg{animation-play-state:paused}
.hero-content,.hero-scene,.hero-foot{z-index:2}
.hero-sparks{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-sparks i{position:absolute;left:var(--spark-x);top:var(--spark-y);width:clamp(20px,3vw,48px);height:1px;background:linear-gradient(90deg,transparent,#e0c5ffb3,transparent);opacity:0;rotate:-28deg;animation:light-mote 9s ease-in-out infinite;animation-delay:var(--spark-delay);animation-play-state:paused}
.effects-visible .hero-sparks i{animation-play-state:running}
.protection{position:relative;isolation:isolate;overflow:hidden;background:#25113d;color:white;border-radius:28px 28px 0 0}
.protection:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");background-size:160px}
.protection-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;position:relative;z-index:1}
.protection-copy>.eyebrow{margin-bottom:26px}.protection-copy h2{font-size:clamp(44px,5.7vw,82px)}.protection-copy h2 span{color:var(--lilac)}
.protection-copy>p:not(.eyebrow){max-width:460px;color:#d8c6e7;font-size:17px;margin-top:30px}.protection-copy>.button{margin-top:30px}
.protection-visual{position:relative;min-width:0;isolation:isolate;aspect-ratio:1;background:radial-gradient(ellipse,#77449b45,transparent 68%);border-radius:50% 50% 16px 16px}
.protection-visual>img{height:100%;width:100%;object-fit:contain;padding:10px 4px 40px;filter:drop-shadow(0 14px 28px #0d031433)}
.visual-orbit{position:absolute;inset:3% 7% 6%;border:1px solid #c59aff32;border-radius:50%;rotate:-23deg;z-index:-1}
.visual-orbit:after{content:'';position:absolute;inset:12% -10%;border:1px solid #c59aff14;border-radius:50%;rotate:36deg}
.protection-label{position:absolute;bottom:0;left:10%;right:10%;padding:16px 10px;text-align:center;font-size:10px;letter-spacing:.1em;background:#36204cbb;border:1px solid #c59aff25;border-radius:10px;backdrop-filter:blur(10px)}
.protection-label small{display:block;color:#d6bfe8;margin-top:5px;font-size:12px;letter-spacing:0}
.protection-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:70px;position:relative;z-index:1}
.protection-points>a{display:grid;grid-template-columns:1fr auto;gap:16px 8px;border-top:1px solid #c59aff48;padding-top:23px;min-height:105px}
.protection-points>a>span:first-child{grid-column:1/-1;color:#bfa5da;font-size:9px;letter-spacing:.1em}
.protection-points strong{font-size:17px;line-height:1.4;font-weight:400}.protection-points>a>span:last-child{color:var(--lilac);font-size:24px;transition:translate .4s var(--surface-ease)}.protection-points>a:hover>span:last-child{translate:3px -3px}
.people{background-image:radial-gradient(ellipse at 25% 65%,#fff9,transparent 65%)}
.people .light-base{opacity:.26}.people .light-travel{stroke:#8c48df;opacity:.75}
.person-photo{box-shadow:0 20px 65px #5d26bf0b}
.footer-ecosystem{display:inline-block;color:#bfaed0;font-size:11px;margin-top:22px;text-underline-offset:4px}.footer-ecosystem:hover{text-decoration:underline}
.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff2,transparent 75%);translate:-110% 0;transition:translate .65s var(--surface-ease);pointer-events:none}.button:hover:after{translate:110% 0}
.menu-panel:not([hidden]){animation:surface-enter .5s var(--surface-ease) both}
.inquiry[open]{animation:surface-enter .4s var(--surface-ease) both}
@keyframes atmosphere-drift{to{transform:translate3d(35%,25%,0) scale(1.15)}}
@keyframes ornament-drift{from{transform:translateY(-8px) rotate(-3deg)}to{transform:translateY(12px) rotate(4deg)}}
@keyframes light-mote{0%,100%{opacity:0;transform:translate3d(-12px,20px,0)}35%,65%{opacity:.6}85%{opacity:0;transform:translate3d(48px,-32px,0)}}
@keyframes surface-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(min-width:2200px){.protection-copy>p:not(.eyebrow){font-size:20px}.protection-points strong{font-size:22px}}
@media(max-width:1000px){.protection-copy h2{font-size:clamp(40px,5.7vw,62px)}.protection-copy>p:not(.eyebrow){font-size:15px}.protection-points{gap:20px}.protection-points strong{font-size:15px}}
@media(max-width:740px){
 .topline>span{font-size:8px}.topline>a{font-size:8px;gap:5px}.topline{gap:10px}
 .protection{border-radius:18px 18px 0 0}.protection-grid{grid-template-columns:1fr;gap:30px}.protection-copy h2{font-size:clamp(37px,9.4vw,64px)}
 .protection-copy>p:not(.eyebrow){margin-top:24px;max-width:500px}.protection-visual{max-width:460px;width:100%;justify-self:center}
 .protection-points{grid-template-columns:1fr;margin-top:35px;gap:22px}.protection-points>a{min-height:77px;gap:10px}.protection-points strong{font-size:17px}
 .hero:after{opacity:.1}.ambient-wash span{width:110%;height:55%}.light-glow{stroke-width:6}.light-travel{stroke-width:1.5}.hero-sparks i:nth-child(n+6){display:none}
 .hero-orbit svg{animation-duration:9s}.brand-enhanced [data-brand-media]{transition-duration:1s}.hero-scene{box-shadow:0 15px 45px #23094920}
}
@media(max-width:359px){.topline>span{font-size:7px;white-space:normal;line-height:1.1;max-width:155px}.topline>a{font-size:7px}.protection-points strong{font-size:15px}.protection-copy>.button{font-size:12px;gap:15px}}
html[data-motion=paused] .ambient-wash span,html[data-motion=paused] .hero-sparks i,html[data-motion=paused] .hero-orbit svg,.page-hidden .ambient-wash span,.page-hidden .hero-sparks i,.page-hidden .hero-orbit svg{animation-play-state:paused!important}
html[data-motion=paused] [data-brand-media],html[data-motion=paused] [data-brand-media]>img{transition:none!important;opacity:1!important;clip-path:none!important;translate:none!important;scale:1!important}
html[data-motion=paused] .reveal{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 .ambient-wash span,.hero-sparks i,.hero-orbit svg{animation:none!important}.hero-sparks{display:none}
 .brand-enhanced [data-brand-media]{opacity:1!important;clip-path:none!important;translate:none!important;transition:none!important}.brand-enhanced [data-brand-media]>img{scale:1!important;transition:none!important}
 .protection-points>a>span:last-child,.button:after{transition:none!important}.light-base{opacity:.22}.ambient-wash{opacity:.5}
}
