:root { --ink:#172437; --navy:#0f1e31; --blue:#087de5; --sky:#19b5dc; --off:#f3f7f9; --muted:#667487; --line:#dbe2e7; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:#fff; font-family:"DM Sans", Arial, sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.container { width:min(1160px, calc(100% - 48px)); margin:0 auto; }
.skip-link { position:absolute; top:-4rem; left:1rem; padding:.5rem 1rem; background:var(--blue); color:#fff; z-index:100; }.skip-link:focus { top:1rem; }
.utility-bar { border-bottom:1px solid #edf0f2; color:#6b7786; font-size:.76rem; }.utility-inner { display:flex; justify-content:space-between; gap:1rem; }.utility-bar p { margin:.45rem 0; }
.site-header { position:absolute; z-index:20; width:100%; background:rgba(255,255,255,.97); }.site-header.scrolled { position:fixed; box-shadow:0 4px 24px rgba(15,30,49,.10); }.nav-wrap { min-height:84px; display:flex; align-items:center; gap:2.5rem; }.brand { display:inline-flex; align-items:center; gap:.6rem; color:var(--ink); font-family:Manrope,sans-serif; font-weight:800; font-size:1.32rem; letter-spacing:-.09em; line-height:.85; }.brand small { display:block; font-family:"DM Sans",sans-serif; font-weight:700; font-size:.42rem; letter-spacing:.15em; margin-top:.35rem; }.brand-mark { display:flex; align-items:end; gap:2px; height:25px; }.brand-mark i { display:block; width:5px; background:var(--blue); transform:skew(-20deg); }.brand-mark i:nth-child(1){height:10px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:25px}.main-nav { display:flex; align-items:center; gap:1.65rem; margin-left:auto; font-size:.87rem; font-weight:600; }.main-nav a { position:relative; padding:.5rem 0; }.main-nav a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--blue); transition:.2s; }.main-nav a:hover::after,.main-nav .active::after { width:100%; }.main-nav .active { color:var(--blue); }.button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; padding:.85rem 1.25rem; font-weight:700; font-size:.82rem; transition:transform .2s, background .2s, color .2s; }.button:hover { transform:translateY(-2px); }.button span { font-size:1.1rem; }.button-dark { background:var(--ink); color:#fff; }.button-primary { background:var(--blue); color:#fff; }.button-white { background:#fff; color:var(--ink); }.menu-toggle { display:none; border:0; background:transparent; padding:.5rem; }.menu-toggle span { display:block; width:23px; height:2px; margin:5px; background:var(--ink); }
.hero { height:min(810px, 100vh); min-height:680px; position:relative; display:flex; align-items:center; overflow:hidden; color:#fff; background:var(--navy); }.hero-photo { position:absolute; inset:0; background:url("assets/white-semi-truck-driving-highway-sunset.jpg") center/cover no-repeat; animation:slow-zoom 12s ease-out both; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,24,41,.88) 0%,rgba(9,24,41,.56) 42%,rgba(9,24,41,.04) 75%),linear-gradient(0deg,rgba(9,24,41,.35),transparent 45%); }.hero-content { position:relative; padding-top:83px; max-width:1160px; }.eyebrow { margin:0 0:1rem; color:var(--blue); font-size:.72rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }.eyebrow.light { color:#83dfff; }.hero h1,.intro h2,.section-heading h2,.process h2,.cta-card h2,.image-break h2 { font-family:Manrope,sans-serif; letter-spacing:-.055em; line-height:1.07; margin:0; }.hero h1 { max-width:710px; font-size:clamp(3rem,6.2vw,6.35rem); }.hero h1 em { display:block; color:#b4e6ff; font-style:normal; }.hero-copy { max-width:485px; font-size:1.05rem; color:#e6edf3; margin:1.7rem 0 2rem; }.hero-actions { display:flex; align-items:center; gap:2rem; }.text-link { display:inline-flex; gap:.7rem; align-items:center; color:var(--blue); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }.text-link.light { color:#fff; }.hero-stat { position:absolute; right:8%; bottom:13%; z-index:1; display:flex; align-items:center; gap:.8rem; border-left:1px solid rgba(255,255,255,.55); padding-left:1rem; }.hero-stat strong { font-family:Manrope; font-size:3.5rem; line-height:1; }.hero-stat span { font-size:.75rem; line-height:1.25; text-transform:uppercase; letter-spacing:.1em; }.scroll-cue { position:absolute; left:max(24px, calc((100% - 1160px)/2)); bottom:30px; display:flex; align-items:center; gap:.75rem; color:#fff; font-size:.65rem; letter-spacing:.17em; font-weight:700; }.scroll-cue i { display:block; height:1px; width:65px; background:#fff; }
.floating-carousel { position:relative; z-index:4; margin-top:-98px; }.carousel-shell { display:flex; align-items:flex-end; }.carousel-title-block { display:flex; align-items:center; justify-content:flex-end; flex:0 0 33.7%; min-height:98px; padding:0 2.7rem; color:#fff; background:var(--ink); }.carousel-title-block > p { margin:0; font-family:Manrope,sans-serif; font-size:1.18rem; font-weight:800; letter-spacing:-.04em; }.carousel-controls { display:flex; gap:.15rem; margin-left:1.25rem; }.carousel-button { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; color:#cdd5dc; background:transparent; font-size:1.75rem; line-height:1; cursor:pointer; transition:color .2s,transform .2s; }.carousel-button:hover { color:#fff; transform:translateX(2px); }.carousel-button:first-child:hover { transform:translateX(-2px); }.carousel-viewport { flex:1; overflow:hidden; padding:0 0 0 15px; }.carousel-track { display:flex; gap:16px; padding-right:15px; transform:translateX(0); transition:transform .55s cubic-bezier(.22,.61,.36,1); }.carousel-card { display:flex; flex:0 0 min(365px, 37vw); min-height:176px; gap:1.35rem; padding:2.25rem 2.1rem 1.8rem; background:#fff; border-top:3px solid var(--blue); box-shadow:0 8px 22px rgba(15,30,49,.08); }.carousel-icon { color:var(--blue); font-size:2rem; line-height:1; }.carousel-card h2 { margin:0 0 .55rem; font-family:Manrope,sans-serif; font-size:1.05rem; letter-spacing:-.035em; }.carousel-card p { margin:0 0 .8rem; color:#7a8794; font-size:.77rem; line-height:1.55; }.carousel-card a { color:var(--blue); font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }.carousel-card a span { padding-left:.35rem; font-size:1rem; }
.section { padding:120px 0; }.intro { background:#fff; }.intro-grid { display:grid; grid-template-columns: .85fr 1.65fr; gap:12%; }.intro-label { padding-top:.7rem; }.intro-label .line { width:58px; height:3px; background:var(--sky); margin:1.4rem 0; }.intro-label > p:last-child { max-width:180px; color:var(--muted); font-size:.9rem; line-height:1.45; }.intro-copy h2 { max-width:720px; font-size:clamp(2rem,4vw,3.6rem); }.intro-copy > p { max-width:690px; color:var(--muted); margin:1.7rem 0 1.55rem; }
.services { background:var(--off); }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; padding-bottom:3rem; }.section-heading h2 { font-size:clamp(2rem,4vw,3.5rem); }.section-heading > p { max-width:330px; margin:0 0 .5rem; color:var(--muted); font-size:.9rem; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }.service-card { min-height:360px; padding:2rem; background:#fff; display:flex; flex-direction:column; justify-content:space-between; transition:background .25s,color .25s,transform .25s; }.service-card:hover { background:var(--navy); color:#fff; transform:translateY(-8px); }.service-number { align-self:end; color:#98a4b1; font-size:.75rem; }.service-icon { color:var(--blue); font-size:2rem; line-height:1; margin-bottom:1.6rem; }.service-card h3 { font-family:Manrope; font-size:1.3rem; margin:0 0:.6rem; }.service-card p { color:var(--muted); margin:0; font-size:.91rem; }.service-card:hover p { color:#c7d2dc; }.service-card a { color:var(--blue); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }.service-card a span { padding-left:.3rem; font-size:1.1rem; }
.image-break { position:relative; min-height:470px; color:#fff; display:flex; align-items:center; overflow:hidden; }.image-break-photo { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,27,52,.82),rgba(6,27,52,.18)),url("assets/shipping-port-sunset-cargo-airplanes-trucks.jpg") center/cover no-repeat; }.image-break-content { position:relative; }.image-break h2 { max-width:750px; font-size:clamp(2.25rem,4.6vw,4.5rem); }
.process-layout { display:grid; grid-template-columns: .95fr 1.05fr; gap:10%; }.process-intro h2 { font-size:clamp(2rem,3.6vw,3.35rem); margin-bottom:1.5rem; }.process-intro > p:last-child { max-width:420px; color:var(--muted); }.steps { list-style:none; margin:0; padding:0; }.steps li { display:flex; gap:1.7rem; padding:1.25rem 0 1.6rem; border-top:1px solid var(--line); }.steps li:last-child { border-bottom:1px solid var(--line); }.steps li > span { display:grid; place-items:center; flex:0 0 45px; width:45px; height:45px; border-radius:50%; background:var(--ink); color:#fff; font-size:.75rem; font-weight:700; }.steps h3 { margin:.1rem 0 .25rem; font-family:Manrope; font-size:1.15rem; }.steps p { margin:0; color:var(--muted); font-size:.9rem; }
.cta-section { background:var(--off); padding:0 0 100px; }.cta-card { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(2rem,6vw,5rem); color:#fff; background:linear-gradient(110deg,#0865c6,#0c9dce); }.cta-card h2 { font-size:clamp(2.1rem,4vw,3.65rem); margin:.2rem 0 .8rem; }.cta-card p:last-child { max-width:460px; margin:0; color:#e3f5ff; }.cta-card .button { flex:0 0 auto; }.site-footer { background:var(--navy); color:#fff; padding:76px 0 1.4rem; }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1.4fr; gap:4rem; }.site-footer .brand { color:#fff; }.footer-brand p { max-width:250px; color:#a8b5c1; font-size:.9rem; margin:1.3rem 0 0; }.footer-grid h3 { font-family:Manrope; margin:0 0 1.15rem; font-size:.87rem; }.footer-grid a:not(.brand) { display:block; color:#a8b5c1; font-size:.86rem; margin:.48rem 0; transition:color .2s; }.footer-grid a:hover { color:#8ed9ff; }.footer-bottom { border-top:1px solid rgba(255,255,255,.14); margin-top:3.7rem; padding-top:1.3rem; display:flex; justify-content:space-between; color:#91a0af; font-size:.75rem; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease, transform .65s ease; }.reveal.visible { opacity:1; transform:none; }.service-card:nth-child(2),.steps li:nth-child(2) { transition-delay:.12s; }.service-card:nth-child(3),.steps li:nth-child(3) { transition-delay:.22s; }@keyframes slow-zoom { from { transform:scale(1); } to { transform:scale(1.07); } }
@media (max-width:800px) { .container { width:min(100% - 36px, 620px); }.utility-bar { display:none; }.site-header { position:absolute; }.nav-wrap { min-height:70px; gap:1rem; }.nav-cta { display:none; }.menu-toggle { display:block; margin-left:auto; z-index:25; }.main-nav { display:none; position:absolute; top:70px; left:0; width:100%; padding:1rem max(18px, calc((100% - 620px)/2)); background:#fff; box-shadow:0 12px 20px rgba(15,30,49,.12); }.main-nav.open { display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; }.hero { min-height:650px; }.hero-content { padding-top:85px; }.hero h1 { font-size:clamp(2.8rem,14vw,4.6rem); }.hero-stat { display:none; }.hero-actions { gap:1.2rem; flex-wrap:wrap; }.scroll-cue { left:18px; }.section { padding:76px 0; }.intro-grid,.process-layout { grid-template-columns:1fr; gap:2.5rem; }.intro-label { display:grid; grid-template-columns:auto 1fr; column-gap:1.2rem; align-items:center; }.intro-label .eyebrow,.intro-label .line { grid-column:1; }.intro-label > p:last-child { grid-column:2; grid-row:1 / 3; max-width:210px; }.section-heading { align-items:start; flex-direction:column; gap:1rem; padding-bottom:2rem; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:285px; }.image-break { min-height:390px; }.cta-section { padding-bottom:70px; }.cta-card { align-items:start; flex-direction:column; }.footer-grid { grid-template-columns:1fr 1fr; gap:2.5rem; }.footer-brand { grid-column:1 / -1; }.footer-bottom { margin-top:2.5rem; }.reveal { opacity:1; transform:none; } }
@media (max-width:450px) { .brand { font-size:1.15rem; }.hero-copy { font-size:.97rem; }.button { padding:.78rem 1rem; }.intro-label { display:block; }.intro-label > p:last-child { max-width:260px; }.footer-grid { grid-template-columns:1fr; }.footer-brand { grid-column:auto; }.footer-bottom { flex-direction:column; gap:.2rem; } }

@media (max-width:800px) { .menu-toggle { display:flex !important; position:fixed; right:18px; top:16px; flex-direction:column; align-items:center; justify-content:center; width:38px; height:38px; margin:0; z-index:25; background:var(--blue); }.menu-toggle span { margin:3px; background:#fff; }.hero h1 { font-size:2.25rem; line-height:1.12; } }

/* Inner pages */
.page-header { position:relative; }.page-hero { min-height:455px; display:flex; align-items:center; position:relative; overflow:hidden; color:#fff; background:var(--navy); }.page-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,26,47,.9),rgba(8,26,47,.46)); }.page-hero > .container { position:relative; padding:5rem 0; }.page-hero h1 { max-width:770px; margin:0; font-family:Manrope,sans-serif; font-size:clamp(2.8rem,5vw,5.2rem); line-height:1.08; letter-spacing:-.06em; }.page-hero h1 em { display:block; color:#aee3ff; font-style:normal; }.page-hero .container > p:last-child { max-width:550px; margin:1.5rem 0 0; color:#e0ebf3; }.about-hero { background:url("assets/shipping-port-sunset-cargo-airplanes-trucks.jpg") center/cover no-repeat; }.services-hero { background:url("assets/white-semi-truck-driving-highway-sunset.jpg") center/55% auto no-repeat, #172437; }.process-hero { background:url("assets/truck.jpg") center/cover no-repeat; }.contact-hero { min-height:390px; background:linear-gradient(115deg,#0758a7,#13a4cf); }.contact-hero::before { background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 33%),linear-gradient(90deg,rgba(7,41,78,.68),rgba(7,41,78,.1)); }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }.story-image { min-height:535px; background:linear-gradient(0deg,rgba(7,35,62,.3),transparent),url("assets/truck.jpg") center/cover no-repeat; }.story-copy h2,.process-side h2,.contact-intro h2 { font-family:Manrope,sans-serif; font-size:clamp(2rem,3.7vw,3.4rem); line-height:1.1; letter-spacing:-.055em; margin:0 0 1.4rem; }.story-copy p:not(.eyebrow),.process-side > p:last-of-type,.contact-intro > p:not(.eyebrow) { color:var(--muted); }.values { background:var(--off); }.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }.value-grid article { min-height:250px; padding:2.1rem; background:#fff; }.value-grid span,.service-detail > span { color:var(--blue); font-size:.75rem; font-weight:700; }.value-grid h3 { font-family:Manrope,sans-serif; margin:2.7rem 0 .5rem; font-size:1.3rem; }.value-grid p { color:var(--muted); margin:0; font-size:.9rem; }
.service-detail-section { background:var(--off); }.service-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }.service-detail { padding:2.3rem; min-height:470px; background:#fff; border:1px solid var(--line); }.service-detail .service-icon { margin-bottom:2.1rem; }.service-detail h3 { font-family:Manrope,sans-serif; font-size:1.5rem; margin:.75rem 0; }.service-detail p { color:var(--muted); font-size:.92rem; }.service-detail ul { padding:0; margin:1.5rem 0 1.7rem; list-style:none; }.service-detail li { border-top:1px solid var(--line); padding:.55rem 0; color:#526174; font-size:.85rem; }.compact-break { min-height:340px; }
.process-page { background:var(--off); }.process-page-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:10%; }.process-side .button { margin-top:1.2rem; }.large-steps { list-style:none; margin:0; padding:0; counter-reset:steps; }.large-steps li { display:grid; grid-template-columns:80px 1fr; gap:1.25rem; padding:1.8rem 0; border-top:1px solid var(--line); }.large-steps li:last-child { border-bottom:1px solid var(--line); }.large-steps span { font-family:Manrope,sans-serif; color:var(--blue); font-size:1.3rem; font-weight:800; }.large-steps h3 { font-family:Manrope,sans-serif; margin:0 0 .35rem; font-size:1.4rem; }.large-steps p { margin:0; color:var(--muted); }.process-note { padding:120px 0; background:linear-gradient(110deg,#11253b,#0875d6); color:#fff; }.process-note h2 { font-family:Manrope,sans-serif; margin:0; font-size:clamp(2.6rem,5vw,5rem); letter-spacing:-.065em; line-height:1.04; }
.contact-section { background:var(--off); }.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; align-items:start; }.contact-detail { margin-top:1.55rem; border-top:1px solid var(--line); padding-top:.8rem; }.contact-detail span { display:block; color:#77879a; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }.contact-detail a { color:var(--blue); font-weight:700; }.contact-detail p { margin:.2rem 0 0; color:var(--ink); }.contact-form { padding:2.3rem; background:#fff; box-shadow:0 12px 35px rgba(33,56,79,.08); }.contact-form label { display:block; margin-bottom:1.05rem; color:var(--ink); font-size:.82rem; font-weight:700; }.contact-form input,.contact-form textarea,.contact-form select { display:block; width:100%; margin-top:.4rem; padding:.8rem .9rem; border:1px solid var(--line); border-radius:0; color:var(--ink); background:#fff; font:inherit; font-size:.94rem; }.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { outline:2px solid rgba(8,125,229,.3); border-color:var(--blue); }.contact-form textarea { resize:vertical; }.contact-form .button { border:0; cursor:pointer; }.form-status { min-height:1.5rem; margin:.8rem 0 0; color:#087047; font-size:.88rem; font-weight:600; }
@media (max-width:800px) { .page-hero { min-height:390px; }.page-hero > .container { padding:4rem 0; }.page-hero h1 { font-size:clamp(2.5rem,10vw,3.5rem); }.story-grid,.process-page-grid,.contact-grid { grid-template-columns:1fr; gap:2.5rem; }.story-image { min-height:350px; }.value-grid,.service-detail-grid { grid-template-columns:1fr; }.value-grid article { min-height:180px; }.value-grid h3 { margin:1.4rem 0 .5rem; }.service-detail { min-height:0; }.process-note { padding:85px 0; } }

@media (min-width:801px) { .service-grid,.service-detail-grid { grid-template-columns:repeat(4,1fr); }.service-detail { padding:1.75rem; }.service-detail h3 { font-size:1.25rem; } }

/* Reference-style shared header */
@media (min-width:801px) {
  .site-header { min-height:119px; background:#fff; }
  .site-header .utility-bar { height:36px; margin-left:254px; border-top:1px solid #e8ecef; border-bottom:1px solid #e8ecef; }
  .site-header .utility-inner { width:auto; height:35px; margin:0; padding:0 26px; align-items:center; justify-content:space-between; }
  .site-header .utility-bar p { margin:0; font-size:.69rem; }
  .site-header .nav-wrap { position:static; width:auto; min-height:83px; margin:0 0 0 254px; padding:0 26px; gap:2rem; border-bottom:1px solid #e8ecef; }
  .site-header .brand { position:absolute; top:0; left:0; z-index:2; display:block; width:254px; height:119px; background:#fff; border-right:1px solid #e8ecef; }
  .site-header .brand > span { display:none; }
  .site-header .brand::before { display:none; }
  .site-header .brand::after { content:""; position:absolute; inset:4px 42px; z-index:1; background:url("assets/primelogo.png") center/contain no-repeat; }
  .site-header .main-nav { margin-left:0; gap:1.75rem; }
  .site-header .main-nav a { padding:.8rem 0; }
  .site-header .nav-cta { margin-left:auto; padding:.83rem 1.22rem; }
  .site-header.scrolled { box-shadow:0 4px 24px rgba(15,30,49,.12); }
}

@media (max-width:800px) {
  .site-header .nav-wrap { position:relative; width:min(100% - 36px, 620px); margin:0 auto; padding:0; }
  .site-header .brand { position:relative; display:block; width:126px; height:70px; background:transparent; }
  .site-header .brand > span { display:none; }
  .site-header .brand::after { content:""; position:absolute; inset:6px 0; background:url("assets/primelogo.png") left center/contain no-repeat; }
}

@media (max-width:800px) {
  .floating-carousel { margin-top:-72px; }
  .carousel-shell { display:block; }
  .carousel-title-block { justify-content:space-between; min-height:72px; padding:0 1.15rem; }
  .carousel-title-block > p { font-size:1rem; }
  .carousel-controls { margin-left:0; }
  .carousel-viewport { padding-left:18px; }
  .carousel-track { gap:12px; padding-right:18px; }
  .carousel-card { flex-basis:calc(100vw - 54px); min-height:162px; padding:1.7rem 1.45rem; }
  .carousel-icon { font-size:1.7rem; }
}

@media (min-width:801px) { .carousel-shell { align-items:flex-start; } }

.service-icon svg,.carousel-icon svg { display:block; width:1.25em; height:1.25em; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }

.site-footer .brand { position:relative; display:block; width:174px; height:154px; background:transparent; }
.site-footer .brand > span { display:none; }
.site-footer .brand::after { content:""; position:absolute; inset:0; background:url("assets/prime-footer-logo.png") center/contain no-repeat; filter:drop-shadow(0 5px 12px rgba(0,0,0,.25)); }

/* Prime brand palette - sampled from the supplied logo */
:root { --ink:#061e4e; --navy:#001d53; --blue:#0065b3; --sky:#c9a24d; --off:#f4f7fb; --muted:#5b6c85; --line:#d6e0ea; }
.hero h1 em { color:#e0bd61; }
.eyebrow.light { color:#f0ce7d; }
.cta-card { background:linear-gradient(110deg,#003b79,#0065b3); }
.contact-hero { background:linear-gradient(115deg,#003b79,#0065b3); }
.process-note { background:linear-gradient(110deg,#001d53,#003b79); }
.page-hero h1 em { color:#e0bd61; }
.service-card:hover { background:#001d53; }

/* Motion system */
.hero-content > .eyebrow,.hero-content > h1,.hero-content > .hero-copy,.hero-content > .hero-actions { opacity:0; animation:hero-rise .8s cubic-bezier(.22,.61,.36,1) forwards; }
.hero-content,.hero-stat,.scroll-cue { z-index:2; }
.hero-content > .eyebrow { animation-delay:.2s; }.hero-content > h1 { animation-delay:.34s; }.hero-content > .hero-copy { animation-delay:.48s; }.hero-content > .hero-actions { animation-delay:.62s; }
.hero::after { content:""; position:absolute; z-index:1; width:360px; height:360px; right:7%; top:17%; border:1px solid rgba(224,189,97,.28); border-radius:50%; box-shadow:0 0 0 32px rgba(224,189,97,.05),0 0 0 64px rgba(224,189,97,.035); pointer-events:none; animation:orbit-glow 8s ease-in-out infinite; }
.page-hero > .container { opacity:0; animation:hero-rise .75s .2s cubic-bezier(.22,.61,.36,1) forwards; }
.hero-stat { animation:fade-in .8s .85s ease both; }.scroll-cue { animation:cue-slide 1.6s 1.1s ease-in-out infinite alternate; }
.button { position:relative; overflow:hidden; }.button::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.24) 48%,transparent 70%); transform:translateX(-130%); transition:transform .55s ease; }.button:hover::before { transform:translateX(130%); }.button > *,.button { isolation:isolate; }.button span { position:relative; z-index:1; }.button { z-index:0; }
.text-link span,.carousel-card a span,.service-card a span { display:inline-block; transition:transform .22s ease; }.text-link:hover span,.carousel-card a:hover span,.service-card a:hover span { transform:translateX(5px); }
.carousel-card { transition:transform .3s ease,box-shadow .3s ease; }.carousel-card:hover { transform:translateY(-7px); box-shadow:0 15px 30px rgba(0,29,83,.16); }.carousel-card:hover .carousel-icon svg { transform:scale(1.12) rotate(-5deg); }
.carousel-icon svg,.service-icon svg { transition:transform .28s ease; }.service-card:hover .service-icon svg,.service-detail:hover .service-icon svg { transform:scale(1.13) rotate(-5deg); }
.service-detail { transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }.service-detail:hover { transform:translateY(-8px); border-color:var(--blue); box-shadow:0 15px 30px rgba(0,29,83,.12); }
.value-grid article { transition:transform .3s ease,box-shadow .3s ease; }.value-grid article:hover { position:relative; z-index:1; transform:translateY(-7px); box-shadow:0 15px 30px rgba(0,29,83,.12); }
.reveal.visible { animation:reveal-settle .65s cubic-bezier(.22,.61,.36,1) both; }
@keyframes hero-rise { from { opacity:0; transform:translateY(32px); } to { opacity:1; transform:translateY(0); } }
@keyframes fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes orbit-glow { 0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.55; } 50% { transform:translate3d(-18px,14px,0) scale(1.06); opacity:1; } }
@keyframes cue-slide { from { transform:translateY(0); } to { transform:translateY(7px); } }
@keyframes reveal-settle { 0% { filter:blur(2px); } 100% { filter:blur(0); } }
@media (max-width:800px) { .hero::after { width:220px; height:220px; right:-65px; top:18%; }.hero-stat { animation:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .hero-content > .eyebrow,.hero-content > h1,.hero-content > .hero-copy,.hero-content > .hero-actions,.page-hero > .container { opacity:1; } }
