/* Homepage hero: headline on a sky-to-royal ombre, the five page heroes as a picture stage you can choose from. No arrows, no heavy navy. */
.hm-hero{background:linear-gradient(180deg,#0b3f9a 0%,#0877ff 62%,#5aa9ff 100%);color:#fff;padding:clamp(40px,5vw,84px) 0 clamp(28px,4vw,64px);overflow:hidden}
.hm-top{display:grid;justify-items:center;text-align:center}
.hm-eyebrow{margin:0 0 14px;font:700 .8rem/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#cfe8ff}
.hm-h1{margin:0;font:800 clamp(2.6rem,6.6vw,6.4rem)/1 Inter,sans-serif;letter-spacing:-.05em}
.hm-h1 span{color:#fff}
.hm-h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px #fff}
.hm-lead{margin:18px 0 26px;max-width:52ch;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.5;color:#e4f1ff}
.hm-actions .button.primary{background:#fff;color:#0a3f9a;box-shadow:0 14px 34px rgba(5,30,90,.35)}
.hm-stage-wrap{margin-top:clamp(28px,4vw,56px)}
.hm-stage{position:relative;aspect-ratio:1934/813;border-radius:clamp(16px,2vw,30px);overflow:hidden;box-shadow:0 40px 90px rgba(5,30,90,.5);background:#06152e}
.hm-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.hm-slide.is-on{opacity:1;z-index:1}
.hm-slide img{display:block;width:100%;height:100%;object-fit:cover}
.hm-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.hm-tab{position:relative;text-align:left;padding:14px 16px 20px;border-radius:16px;border:1.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;font-family:Inter,sans-serif;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.hm-tab b{display:block;font-size:1rem;letter-spacing:-.02em}
.hm-tab span{display:block;margin-top:5px;font-size:.78rem;line-height:1.35;opacity:.85}
.hm-tab:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.hm-tab.is-on{background:#fff;color:#0a2a66;border-color:#fff}
.hm-tab.is-on::after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:3px;border-radius:2px;background:#0877ff;transform-origin:0 50%;animation:hm-bar 5.5s linear forwards}
@keyframes hm-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hm-tab:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:900px){.hm-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-tab span{display:none}.hm-stage{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.hm-slide{transition:none}.hm-tab.is-on::after{animation:none;transform:none}}

/* services: one row of six flip cards, buttons pinned to the same baseline */
#services .services-grid.service-flip-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;width:min(1480px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
#services .service-card.flip-card,#services .service-card.flip-card .service-card-inner{min-height:540px}
#services .service-card-face{padding:26px 14px 18px}
#services .service-card-front h3{font-size:1.02rem;line-height:1.2}
#services .service-card-front p{font-size:.84rem;line-height:1.45}
#services .service-card-front ul{font-size:.8rem}
#services .service-card-front ul li{text-align:left;padding-left:2px}
#services .service-card-front .service-card-button{margin-top:auto;align-self:stretch;width:100%;padding-left:8px;padding-right:8px;text-align:center}
#services .service-card-back h3{font-size:1.02rem}
@media(max-width:1200px){#services .services-grid.service-flip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#services .service-card.flip-card,#services .service-card.flip-card .service-card-inner{min-height:500px}}
@media(max-width:700px){#services .services-grid.service-flip-grid{grid-template-columns:1fr;width:calc(100vw - 32px)}}
#services .service-card-front ul li{padding-left:20px}
.hm-h1 em{color:#bfe3ff;-webkit-text-stroke:0}
.hm-hero{padding-top:clamp(28px,3vw,52px)}
.hm-h1{font-size:clamp(2.4rem,5.4vw,5.2rem)}
.hm-lead{margin:14px 0 20px}
.hm-stage-wrap{margin-top:clamp(20px,2.6vw,40px)}


/* newsletter: wider form box */
.biy-newsletter-shell{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)!important}
.biy-newsletter-form{width:100%;max-width:none}
.biy-newsletter-row input{min-width:0}

/* phone fixes: wide-screen overrides must not beat the mobile rules */
@media(max-width:820px){.biy-newsletter-shell{grid-template-columns:1fr!important;gap:28px}.biy-newsletter-copy h2{font-size:clamp(2.2rem,10vw,3rem)}}
.biy-newsletter-row input{height:52px;box-sizing:border-box}
