/* Single animated-title hero. Scoped to header; existing sections untouched. */
.hero-3d.hero-v3.hero-title{box-sizing:border-box;display:flex;position:relative;align-items:center;justify-content:center;text-align:center;min-height:690px;padding:150px 26px 85px;overflow:hidden;background:radial-gradient(ellipse 56% 55% at 50% 28%,rgba(32,74,138,.14),transparent 78%),linear-gradient(180deg,#080e1b,#0a1425 76%,#080e1b)}
.hero-title-inner{width:100%;max-width:1050px;margin:auto;position:relative;z-index:1}
.hero-3d.hero-v3.hero-title h1.hero-title-heading{margin:0 auto 23px;max-width:1020px;color:#f4f8ff;font:800 clamp(44px,7.2vw,104px)/1.09 system-ui,-apple-system,sans-serif;letter-spacing:-.064em;text-wrap:balance}
.hero-title-line{display:block;overflow:hidden;padding:.08em 0;margin:-.08em 0}
.hero-title-animate{display:inline-block;animation:heroTitleEnter 1s cubic-bezier(.16,1,.3,1) both}
.hero-title-line:nth-child(2) .hero-title-animate{animation-delay:.15s}
.hero-title-accent{background:linear-gradient(95deg,#d4eaff 5%,#8bc1ff 46%,#4e91f0 96%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
@keyframes heroTitleEnter{from{opacity:0;transform:translate3d(0,115%,0);filter:blur(8px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
.hero-3d.hero-v3.hero-title p.hero-title-description{color:#9fb5d1;font:400 clamp(15px,1.55vw,19px)/1.7 system-ui,sans-serif;max-width:650px;margin:0 auto 29px;opacity:1;animation:heroContentEnter .85s .4s both}
.hero-title-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:13px;animation:heroContentEnter .85s .52s both}
.hero-title-button{min-height:52px;padding:16px 23px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:5px;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.1em;text-decoration:none;transition:transform .2s,background .2s}
.hero-title-button:hover{transform:translateY(-2px)}
.hero-title-button-primary{background:#2563eb;color:#fff;box-shadow:0 8px 30px rgba(37,99,235,.19)}
.hero-title-button-primary:hover{background:#3979f4}
.hero-title-button-secondary{background:rgba(18,34,57,.55);border:1px solid rgba(134,174,228,.32);color:#e1edff}
.hero-title-button-secondary:hover{background:rgba(40,68,106,.6)}
.hero-3d.hero-v3.hero-title .hero-title-stats{margin:55px auto 0;padding:26px 0 0;max-width:720px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:none;border:0;border-top:1px solid rgba(115,152,204,.19);border-radius:0;animation:heroContentEnter .85s .65s both}
.hero-3d.hero-v3.hero-title .hero-title-stats .stat-card{background:none;border:0;border-radius:0;padding:4px 12px;text-align:center;box-shadow:none}
.hero-3d.hero-v3.hero-title .hero-title-stats .stat-card+ .stat-card{border-left:1px solid rgba(115,152,204,.17)}
.hero-3d.hero-v3.hero-title .hero-title-stats .stat-card h3{font:750 clamp(24px,3vw,34px)/1.2 system-ui,sans-serif;color:#e9f3ff;margin:0 0 5px}
.hero-3d.hero-v3.hero-title .hero-title-stats .stat-card p{font:500 11px/1.4 system-ui,sans-serif;color:#8da7c9;margin:0;opacity:1}
@keyframes heroContentEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.hero-3d.hero-v3.hero-title{padding:135px 18px 70px;min-height:620px}.hero-3d.hero-v3.hero-title h1.hero-title-heading{font-size:clamp(37px,9.5vw,65px);letter-spacing:-.055em}.hero-title-button{padding:14px 15px;gap:12px;font-size:10px}.hero-3d.hero-v3.hero-title .hero-title-stats{margin-top:42px;padding-top:22px}.hero-3d.hero-v3.hero-title .hero-title-stats .stat-card{padding:4px 6px}.hero-3d.hero-v3.hero-title .hero-title-stats .stat-card p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-title-animate,.hero-3d.hero-v3.hero-title p.hero-title-description,.hero-title-actions,.hero-3d.hero-v3.hero-title .hero-title-stats{animation:none}.hero-title-button{transition:none}}

/* Longer approved professional headline: responsive without disturbing other sections. */
.hero-3d.hero-v3.hero-title h1.hero-title-heading{font-size:clamp(30px,4.35vw,64px);max-width:1150px;letter-spacing:-.045em}
@media(max-width:650px){.hero-3d.hero-v3.hero-title h1.hero-title-heading{font-size:clamp(27px,6.7vw,43px);letter-spacing:-.035em}.hero-title-line{overflow:visible}}

/* One-line desktop title with refined post-loader animation. */
.hero-3d.hero-v3.hero-title .hero-title-inner{max-width:1500px}
.hero-3d.hero-v3.hero-title h1.hero-title-heading{max-width:none;font-size:clamp(20px,3.1vw,53px);letter-spacing:-.045em;white-space:nowrap}
.hero-title-line{overflow:visible}
.hero-title-animate{animation:none;opacity:0;transform:translateY(22px);filter:blur(7px)}
body.portfolio-ready .hero-title-animate{animation:heroTitleEnterRefined 1.1s cubic-bezier(.18,1,.25,1) both}
@keyframes heroTitleEnterRefined{0%{opacity:0;transform:translateY(25px);filter:blur(9px);letter-spacing:-.065em}100%{opacity:1;transform:translateY(0);filter:blur(0);letter-spacing:inherit}}
.hero-3d.hero-v3.hero-title p.hero-title-description,.hero-title-actions,.hero-3d.hero-v3.hero-title .hero-title-stats{animation:none;opacity:0}
body.portfolio-ready .hero-3d.hero-v3.hero-title p.hero-title-description{animation:heroContentEnter .75s .32s both}
body.portfolio-ready .hero-title-actions{animation:heroContentEnter .75s .45s both}
body.portfolio-ready .hero-3d.hero-v3.hero-title .hero-title-stats{animation:heroContentEnter .75s .55s both}
@media(max-width:760px){.hero-3d.hero-v3.hero-title h1.hero-title-heading{white-space:normal;font-size:clamp(30px,6.4vw,46px);line-height:1.18}.hero-title-animate{display:inline}}
@media(prefers-reduced-motion:reduce){.hero-title-animate,.hero-3d.hero-v3.hero-title p.hero-title-description,.hero-title-actions,.hero-3d.hero-v3.hero-title .hero-title-stats{opacity:1;transform:none;filter:none!important;animation:none!important}}
