@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap");
/* HealthMgr public website — neo-brutalist agency system, HealthMgr colours. */
:root { --ink:#081E31; --ink-soft:#3d5366; --navy:#081E31; --brand:#147BB5; --brand-deep:#0F5A8F; --paper:#f7f6f2; --mist:#9BCCF6; --card:#fff; --line:#081E31; --gold:#f0c014; --gold-deep:#d4a00c; --sky:#9BCCF6; --radius:999px; }
body, body[data-page="faq"], .interior-page { background:#f7f6f2; color:#081E31; font-size:16px; line-height:1.65; font-family:Inter, Poppins, sans-serif; font-weight:400; }
::selection { background:#081E31; color:#f0c014; }
h1,h2,h3,h4 { font-weight:900; text-wrap:balance; letter-spacing:-.06em; }
a { text-underline-offset:4px; }
.wrap { max-width:1240px; padding-left:32px; padding-right:32px; }
::selection { background:#081E31; color:#f0c014; }
h1,h2,h3,h4 { font-weight:900; text-wrap:balance; letter-spacing:-.06em; }
a { text-underline-offset:4px; }
.wrap { max-width:1240px; padding-left:32px; padding-right:32px; }
#site-header { position:fixed; top:0; left:0; right:0; z-index:80; padding:18px 20px 0; background:transparent; border:0; pointer-events:none; }
#site-header.is-scrolled { box-shadow:none; }
#site-header .nav-shell { pointer-events:auto; max-width:1240px; margin:0 auto; display:flex; align-items:center; gap:10px; }
#site-header .nav { flex:1; min-width:0; max-width:none; background:#fff!important; border:3px solid #081E31; border-radius:999px; box-shadow:none; padding:0 8px 0 18px; }
#site-header .nav__inner { min-height:64px; max-width:none; margin:0; padding:0 6px 0 0; gap:12px; position:relative; display:flex; align-items:center; }
#site-header .nav__toggle { display:none!important; margin-left:auto; border:0; border-radius:999px; width:44px; min-height:44px; padding:0; justify-content:center; color:#fff; background:#147BB5; }
#site-header .nav__toggle-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
#site-header .nav__logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:#081E31; font-weight:900; font-size:1.05rem; letter-spacing:-.06em; flex-shrink:0; }
#site-header .nav__logo img { background:#9BCCF6; border-radius:999px; width:34px; height:34px; border:2px solid #081E31; }
#site-header .nav__links { display:flex!important; position:static!important; flex-direction:row!important; align-items:center; gap:0; margin:0 auto; padding:0; list-style:none; background:transparent!important; border:0!important; box-shadow:none!important; max-height:none!important; overflow:visible!important; }
#site-header .nav__links a { color:#081E31; font-size:.92rem; font-weight:700; letter-spacing:-.02em; border-radius:999px; padding:8px 12px; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; position:relative; background:transparent; transition:background .08s linear, color .08s linear; }
#site-header .nav__links a svg, #site-header .nav__links .nav__ico { display:none !important; }
#site-header .nav__links a::after { display:none; }
#site-header .nav__links a:hover, #site-header .nav__links a.is-active { background:#081E31; color:#f0c014; font-weight:700; }
#site-header .nav__tools { display:none; }
#site-header .nav__login { display:none; }
#site-header .nav__cta { background:#147BB5!important; color:#fff!important; border:3px solid #147BB5!important; border-radius:999px; padding:12px 20px!important; min-height:52px; font-size:.82rem; font-weight:900; letter-spacing:-.02em; line-height:1.1; text-decoration:none; display:inline-flex; align-items:center; white-space:nowrap; flex-shrink:0; transition:background .08s linear, color .08s linear; }
#site-header .nav__cta:hover { background:#0F5A8F!important; color:#fff!important; transform:none; }
#site-header .nav__signin { border:0; }
#site-header .nav__login-icon { display:inline-flex!important; width:52px; height:52px; border-radius:999px; align-items:center; justify-content:center; color:#081E31; background:#9BCCF6; border:3px solid #081E31; overflow:hidden; flex-shrink:0; padding:0; }
#site-header .nav__login-icon:hover { background:#147BB5; color:#fff; }
body { padding-top:100px; }
body[data-page="home"] { background:#f0c014; color:#081E31; padding-top:100px; }
.topbar { display:none; }
.announce { display:none; }
.btn { border-radius:999px; min-height:48px; padding:12px 22px; font-size:.95rem; font-weight:900; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; border:3px solid #081E31; transition:background .08s linear, color .08s linear; }
.btn--primary, .btn--gold { background:#fff; color:#081E31; }
.btn--gold:hover, .btn--primary:hover, .btn--ink:hover { background:#081E31; color:#f0c014; }
.btn--ink { background:#081E31!important; color:#fff!important; border-color:#081E31; }
.btn--ghost { border:3px solid #081E31; color:#081E31; background:#fff; }
.btn:hover { transform:none; }
.kicker,.eyebrow { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color:#081E31; }
.landing-gradient-text { color:#147BB5; background:none; -webkit-background-clip:unset; background-clip:unset; animation:none; }
@keyframes landing-dock-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
body[data-page="home"] .home-hero { background:#f0c014; color:#081E31; padding:48px 0 40px; text-align:left; position:relative; overflow:visible; }
body[data-page="home"] .home-hero__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; max-width:1240px; }
body[data-page="home"] .home-hero__copy { position:relative; z-index:1; max-width:none; margin:0; display:block; animation:rise-in .45s ease both; text-align:left; }
body[data-page="home"] .home-hero h1 { font-size:clamp(3rem,7vw,6.2rem); max-width:9ch; letter-spacing:-.08em; margin:0 0 20px; line-height:.92; font-weight:900; color:#081E31; }
body[data-page="home"] .home-hero h1 em { font-style:normal; color:#081E31; position:relative; }
body[data-page="home"] .home-hero h1 .wavy { position:relative; }
body[data-page="home"] .home-hero .lede { color:#081E31; font-size:1.12rem; line-height:1.55; max-width:34rem; margin:0; font-weight:400; }
body[data-page="home"] .home-hero .eyebrow { margin-bottom:14px; color:#081E31; }
body[data-page="home"] .home-hero .actions { justify-content:flex-start; margin-top:28px; display:flex; flex-wrap:wrap; gap:10px; }
body[data-page="home"] .home-hero .btn--pill-light { background:#fff!important; color:#081E31!important; border:3px solid #081E31!important; border-radius:50px!important; min-width:188px; min-height:54px; font-weight:900; box-shadow:none!important; }
body[data-page="home"] .home-hero .btn--pill-light:hover { background:#081E31!important; color:#f0c014!important; }
body[data-page="home"] .home-hero .btn--pill-ghost { background:#147BB5!important; color:#fff!important; border:3px solid #081E31!important; border-radius:50px!important; min-width:188px; min-height:54px; font-weight:900; }
body[data-page="home"] .home-hero__note { margin:18px 0 0; max-width:34rem; font-size:.95rem; font-weight:400; color:#081E31; line-height:1.5; }
body[data-page="home"] .home-hero__note strong { color:#147BB5; font-weight:900; }
.home-hero__stage { margin:0 auto; position:relative; width:min(100%,420px); height:420px; }
.blob { position:absolute; border:3px solid #081E31; border-radius:999px; pointer-events:none; }
.blob-a { width:220px; height:220px; background:#9BCCF6; top:18px; left:8px; animation:blob-move 7s ease-in-out infinite; }
.blob-b { width:140px; height:140px; background:#fff; right:8px; bottom:28px; animation:blob-move 5.5s ease-in-out infinite reverse; }
.orbit-scene { position:absolute; inset:20px; animation:spin 22s linear infinite; }
.orbit-scene__core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:118px; height:118px; border-radius:999px; background:#081E31; color:#f0c014; display:grid; place-items:center; text-align:center; font-weight:900; font-size:.95rem; line-height:1.05; letter-spacing:-.04em; border:3px solid #081E31; animation:unspin-core 22s linear infinite; }
.orbit-scene__arm { position:absolute; left:50%; top:50%; width:0; height:0; }
.orbit-scene__arm.n1 { transform:rotate(0deg); }
.orbit-scene__arm.n2 { transform:rotate(60deg); }
.orbit-scene__arm.n3 { transform:rotate(120deg); }
.orbit-scene__arm.n4 { transform:rotate(180deg); }
.orbit-scene__arm.n5 { transform:rotate(240deg); }
.orbit-scene__arm.n6 { transform:rotate(300deg); }
.orbit-scene__arm b { position:absolute; top:-150px; left:0; transform:translateX(-50%); padding:8px 14px; background:#fff; border:3px solid #081E31; border-radius:999px; font-size:.72rem; font-weight:900; letter-spacing:-.03em; white-space:nowrap; font-style:normal; animation:unspin 22s linear infinite; }
.home-hero__lottie { position:absolute; right:-6px; bottom:-6px; width:150px; height:150px; pointer-events:none; z-index:2; }
.neo-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:8px 0 48px; }
.neo-stats article { background:#fff; border:3px solid #081E31; border-radius:28px; padding:28px 24px; transition:transform .12s linear; }
.neo-stats article.is-in { animation:stat-pop .45s cubic-bezier(.2,1.4,.4,1) both; }
.neo-stats strong { display:block; font-size:clamp(2.4rem,5vw,3.6rem); font-weight:900; letter-spacing:-.08em; line-height:.9; margin-bottom:8px; }
.wavy { position:relative; display:inline-block; }
.wavy::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:10px; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'><path d='M0 8 Q15 0 30 8 T60 8 T90 8 T120 8' fill='none' stroke='%230071bc' stroke-width='4' stroke-linecap='round'/></svg>") center/100% 10px no-repeat; transform-origin:left; animation:wavy-draw 1.1s ease both; }
.neo-marquee { overflow:hidden; border-top:3px solid #081E31; background:#fff; padding:14px 0; }
.neo-marquee--rev { border-top:0; border-bottom:3px solid #081E31; background:#9BCCF6; }
.neo-marquee__track { display:flex; gap:28px; width:max-content; animation:marquee 22s linear infinite; font-weight:900; letter-spacing:-.03em; text-transform:uppercase; font-size:.92rem; }
.neo-marquee--rev .neo-marquee__track { animation-direction:reverse; animation-duration:28s; }
.neo-marquee span { color:#081E31; }
.neo-board { position:relative; min-height:360px; background:#fff; border:3px solid #081E31; border-radius:28px; padding:36px 28px; overflow:hidden; }
.neo-board__line { height:18px; border-radius:999px; background:#081E31; margin-bottom:18px; transform-origin:left; animation:line-grow 1.2s ease both infinite alternate; }
.neo-board__line.is-1 { width:88%; }
.neo-board__line.is-2 { width:64%; background:#147BB5; animation-delay:.15s; }
.neo-board__line.is-3 { width:74%; background:#9BCCF6; animation-delay:.3s; }
.neo-board__chip { position:absolute; right:24px; bottom:28px; background:#f0c014; border:3px solid #081E31; border-radius:999px; padding:10px 16px; font-weight:900; animation:chip-hop 1.8s ease-in-out infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes unspin { from { transform:translateX(-50%) rotate(0deg); } to { transform:translateX(-50%) rotate(-360deg); } }
@keyframes unspin-core { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(-360deg); } }
@keyframes blob-move { 0%,100% { transform:translate(0,0); } 50% { transform:translate(18px,-14px); } }
@keyframes wavy-draw { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes stat-pop { from { transform:translateY(16px) scale(.96); opacity:0; } to { transform:none; opacity:1; } }
@keyframes line-grow { from { transform:scaleX(.35); } to { transform:scaleX(1); } }
@keyframes chip-hop { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
body[data-page="home"] .home-hero h1 { animation:headline-in .6s cubic-bezier(.2,.8,.2,1) both; }
@keyframes headline-in { from { clip-path:inset(0 0 100% 0); transform:translateY(24px); } to { clip-path:inset(0 0 0 0); transform:none; } }
@keyframes mark-wiggle { 0%,100% { transform:rotate(-4deg); } 50% { transform:rotate(6deg); } }
.ico-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.mark { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; margin-right:8px; flex-shrink:0; color:#081E31; background:#f0c014; border:2px solid #081E31; border-radius:7px; box-shadow:2px 2px 0 #081E31; animation:mark-wiggle 2.4s ease-in-out infinite; }
.mark svg { width:16px; height:16px; display:block; }
.product-dock__tabs .mark { width:22px; height:22px; margin-right:6px; box-shadow:1px 1px 0 #081E31; }
.product-dock__tabs .mark svg { width:13px; height:13px; }
.product-dock__tabs button.is-active .mark { background:#081E31; color:#f0c014; border-color:#081E31; box-shadow:none; }
.stamp { display:block; background:#fff; padding:7px; border:2px dashed #081E31 !important; box-shadow:6px 6px 0 #f0c014; transform:rotate(-1.4deg); border-radius:0 !important; }
.stamp img { display:block; width:100%; height:100%; object-fit:cover; border-radius:0 !important; border:0 !important; box-shadow:none !important; }
.stamp.tilt-l { transform:rotate(-2.4deg); }
.stamp.tilt-r { transform:rotate(2.2deg); }
.hero-photos { display:flex; justify-content:center; align-items:flex-end; gap:14px; margin-top:40px; }
.hero-photos .stamp { padding:6px; animation:photo-float 4.5s ease-in-out infinite; }
.hero-photos .stamp img { width:84px; height:84px; }
.hero-photos .s1 { --tilt:-6deg; }
.hero-photos .s2 { --tilt:3deg; animation-delay:.3s; }
.hero-photos .s2 img { width:104px; height:104px; }
.hero-photos .s3 { --tilt:-2deg; animation-delay:.6s; }
.hero-photos .s4 { --tilt:5deg; animation-delay:.9s; }
.hero-photos .s5 { --tilt:-4deg; animation-delay:1.2s; }
.photo-strip { overflow:hidden; background:#081E31; padding:22px 0; border-top:4px solid #f0c014; border-bottom:4px solid #f0c014; }
.photo-strip__track { display:flex; gap:16px; width:max-content; animation:marquee 32s linear infinite; padding:0 20px 8px; }
.photo-strip .stamp { flex:0 0 auto; background:#f5f4f0; width:162px; height:110px; }
.photo-strip .stamp img { width:148px !important; height:96px !important; opacity:.95; }
.product-dock__tabs button { display:inline-flex; align-items:center; transition:background .25s ease, color .25s ease, transform .25s ease; }
.product-dock__tabs button:hover { transform:translateY(-1px); }
.product-dock__visual { margin:0; border-radius:0; overflow:visible; min-height:0; background:transparent; }
.product-dock__visual.stamp { padding:10px; transform:none; }
.product-dock__visual img { width:100%; height:100%; object-fit:cover; min-height:280px; transition:opacity .35s ease, transform .45s ease; }
.product-dock__visual img.is-out { opacity:0; transform:scale(1.06); }
.product-dock__visual img.is-in { opacity:1; transform:scale(1); }
.sf-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sf-cards article,.sf-cards a { background:#fff; border:1px solid #081E31; border-radius:4px; padding:28px 26px; text-decoration:none; color:#081E31; box-shadow:6px 6px 0 #f0c014; display:block; transition:transform .35s ease, box-shadow .35s ease; }
.sf-cards article:hover,.sf-cards a:hover { transform:translateY(-6px); box-shadow:10px 10px 0 #d4a00c; }
.sf-cards .stamp { margin:0 0 16px; transform:none; }
.sf-cards .stamp img { width:100%; height:196px; object-fit:cover; margin:0; border-radius:0; }
.sf-cards article:hover img,.sf-cards a:hover img { transform:none; }
.sf-cards h3 { margin:0 0 10px; font-size:1.15rem; display:flex; align-items:center; gap:0; letter-spacing:-.03em; font-weight:700; }
.sf-cards p { margin:0; color:#475569; font-weight:300; }
.sf-modules a { display:flex; align-items:center; min-height:56px; padding:14px 18px; border-radius:8px; background:rgba(255,255,255,.12); color:#fff; text-decoration:none; font-weight:600; border:1px dashed rgba(201,162,39,.7); transition:transform .25s ease, background .25s ease; }
.sf-modules a:hover { background:#f0c014; color:#081E31; transform:translateX(4px); }
.sf-split__photos { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:1fr 1fr; gap:18px; margin:0; }
.sf-split__photos .stamp { min-height:140px; overflow:visible; }
.sf-split__photos .stamp.tilt-l, .sf-split__photos .stamp.tilt-r { transform:rotate(-1.2deg); }
.sf-split__photos .stamp.tilt-r { transform:rotate(1.2deg); }
.sf-split__photos .stamp img { width:100% !important; height:100% !important; min-height:140px !important; object-fit:cover; }
.sf-split__photos .stamp:first-child { grid-row:1 / span 2; min-height:420px; }
.sf-split__photos .stamp:first-child img { min-height:420px !important; }
.sf-steps li { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid #d5e4f2; font-weight:500; transition:padding-left .25s ease; }
.sf-steps li:hover { padding-left:8px; }
@keyframes rise-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes photo-float { 0%,100% { transform:translateY(0) rotate(var(--tilt,-2deg)); } 50% { transform:translateY(-10px) rotate(var(--tilt,-2deg)); } }
@keyframes hero-glow { from { opacity:.7; } to { opacity:1; } }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.btn, .float-dock__ask, .float-dock__btn, .product-dock__link { transition:transform .25s ease, background .25s ease, opacity .25s ease; }
body[data-page="home"] .btn--pill-blue { background:#f0c014; color:#081E31; border-radius:50px; min-height:48px; padding:12px 22px; }
body[data-page="home"] .btn--pill-ghost-dark { background:transparent; color:#081E31; border:1px solid #f0c014; border-radius:50px; }
.product-dock { position:relative; z-index:2; margin-top:12px; margin-bottom:12px; }
.product-dock__card { background:#fff; border:3px solid #081E31; border-radius:36px; padding:16px; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; animation:landing-dock-in 500ms ease-out both; }
.product-dock__tabs { display:flex; gap:6px; overflow-x:auto; padding:6px; margin-bottom:12px; background:#f0c014; border:3px solid #081E31; border-radius:999px; }
.product-dock__tabs button { flex:0 0 auto; border:0; border-radius:999px; padding:10px 18px; font:inherit; font-size:.88rem; font-weight:700; background:transparent; color:#081E31; cursor:pointer; }
.product-dock__tabs button.is-active { background:#081E31; color:#f0c014; }
.product-dock__panel { background:#fff; border-radius:24px; padding:32px; border:3px solid #081E31; }
.product-dock__stage { display:grid; grid-template-columns:1fr 1.05fr; gap:18px; align-items:stretch; }
.product-dock__panel { background:#fff; border-radius:28px; padding:36px; }
.product-dock__panel .product-dock__label { color:#f0c014; font-size:.72rem; font-weight:300; letter-spacing:.18em; text-transform:uppercase; margin:0 0 10px; }
.product-dock__panel h2 { margin:0 0 14px; font-size:clamp(1.6rem,3vw,2.15rem); color:#081E31; letter-spacing:-.04em; font-weight:700; }
.product-dock__copy-text { margin:0 0 22px; color:#475569; font-weight:300; line-height:1.7; max-width:36rem; }
.product-dock__link { color:#d4a00c; font-weight:700; text-decoration:none; }
.product-dock__visual { margin:0; border-radius:0; overflow:hidden; min-height:280px; background:#dbeafe; }
.product-dock__visual img { width:100%; height:100%; object-fit:cover; min-height:280px; transition:opacity .35s ease, transform .45s ease; }
.product-dock__visual img { width:100%; height:100%; object-fit:cover; min-height:280px; transition:opacity .35s ease, transform .45s ease; }
.float-dock { top:auto; bottom:24px; transform:none; flex-direction:row; align-items:center; }
.float-dock__ask { display:inline-flex; align-items:center; gap:8px; height:48px; padding:0 20px; border-radius:999px; background:#f0c014; color:#081E31; text-decoration:none; font-weight:700; font-size:.875rem; box-shadow:0 12px 30px rgba(163,132,22,.4); }
.float-dock__ask:hover { transform:scale(1.03); }
.sf-band { padding:96px 0; }
.sf-band h2 { font-size:clamp(2rem,4vw,3.1rem); letter-spacing:-.05em; line-height:1.1; margin:0 0 16px; max-width:18ch; font-weight:700; }
.sf-lead { color:#475569; font-size:1.08rem; line-height:1.7; max-width:40rem; margin:0 0 36px; font-weight:300; }
.sf-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sf-cards p { margin:0; color:#475569; font-weight:300; }
.sf-center { text-align:center; margin:36px 0 0; }
.sf-band--cobalt { background:#081E31; color:#f0c014; }
.sf-band--cobalt .eyebrow { color:#9BCCF6; }
.sf-cta .eyebrow { color:#081E31; }
.sf-band--cobalt .sf-lead { color:#fff; }
.sf-band--mist { background:#9BCCF6; }
.sf-modules { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:0; margin:0; }
.sf-modules a { display:flex; align-items:center; min-height:52px; padding:12px 18px; border-radius:999px; background:#fff; color:#081E31; text-decoration:none; font-weight:700; border:3px solid #081E31; }
.sf-modules a:hover { background:#f0c014; color:#081E31; }
.sf-split { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.sf-split--copy { grid-template-columns:minmax(0,42rem); }
.sf-split__photos--single { display:block; }
.sf-split__photos--single img { width:100%; height:420px; object-fit:contain; background:#fff; border:3px solid #081E31; box-shadow:none; border-radius:28px; }
.sf-split img { width:100%; height:auto; object-fit:cover; border-radius:0; }
.sf-checks { list-style:none; padding:0; margin:0 0 28px; }
.sf-checks li { position:relative; padding:12px 0 12px 32px; border-bottom:1px solid #d7e3ee; font-weight:300; }
.sf-checks li::before { content:'✓'; position:absolute; left:0; color:#f0c014; font-weight:800; }
.sf-steps li { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid #d5e4f2; font-weight:300; }
.sf-steps span { font-weight:700; color:#f0c014; }
.sf-cta { background:#fff; color:#081E31; text-align:left; padding:96px 0; position:relative; overflow:hidden; border-top:3px solid #081E31; }
.sf-cta h2 { font-size:clamp(2.6rem,6vw,5rem); letter-spacing:-.07em; max-width:12ch; margin:0 0 16px; color:#081E31; font-weight:900; line-height:.95; }
.sf-cta p { max-width:36rem; margin:0; font-weight:400; line-height:1.6; color:#081E31; }
.sf-cta .actions { justify-content:flex-start; margin-top:36px; display:flex; flex-wrap:wrap; gap:14px; }
.sf-cta .btn--cta-navy { background:#081E31; color:#f0c014; border-radius:50px; min-width:188px; min-height:52px; font-weight:900; border:3px solid #081E31; }
.sf-cta .btn--cta-navy:hover { background:#fff; color:#081E31; }
.sf-cta .btn--cta-outline { background:#fff; color:#081E31; border:3px solid #081E31; border-radius:50px; min-width:188px; min-height:52px; font-weight:900; }
body[data-page="home"] .footer { background:#f0c014!important; }
.question-strip { background:#fff8d6; border-top:1px solid #f0c014; }
/* A consistent title, breadcrumb and content rhythm on every inner page. */
.interior-page .page { padding:42px 32px 88px; }
.page-heading { position:relative; background:#fff; border:2px solid #081E31; border-radius:4px; padding:44px 48px; margin:0 0 40px; overflow:hidden; box-shadow:8px 8px 0 #f0c014; }
.page-heading::after { content:'+'; position:absolute; right:24px; top:4px; color:#f0c014; font-size:160px; font-weight:600; line-height:1; pointer-events:none; z-index:0; opacity:.35; }
.page-heading > * { position:relative; z-index:1; }
.back-home { color:#456385; display:inline-block; font-size:.75rem; margin-bottom:22px; text-decoration:none; }
.back-home span { margin-left:8px; }
.page-heading .kicker,.page-heading .eyebrow { text-align:left; margin:0 0 12px; color:#f0c014; }
.page-heading h1,.page h1,.prose .page-heading h1 { font-size:clamp(2.2rem,4vw,3.5rem); text-align:left; line-height:1.12; max-width:23ch; color:#0F2437; letter-spacing:-.05em; margin:0 0 20px; }
.page-heading .lede,.page .page-heading .lede { text-align:left; max-width:680px; margin:0; color:#395979; font-size:1.03rem; }
.page-heading .meta { font-size:.78rem; margin:16px 0 0; color:#456385; }
.page > h2 { margin:40px 0 22px; }
.grid-3,.grid-2 { gap:24px; }
.card,.mod-card,.industry-card,.post-card,.know-card,body[data-page="home"] .know-card,body[data-page="home"] .industry-card,body[data-page="home"] .post-card { border:2px solid #081E31; background:white; border-radius:4px; box-shadow:8px 8px 0 #f0c014; color:#081E31; padding:24px; }
.card:hover,.mod-card:hover,.industry-card:hover,.post-card:hover,.know-card:hover { box-shadow:10px 10px 0 #d4a00c; border-color:#081E31; transform:translateY(-4px); }
.card strong,.mod-card strong { font-size:1.12rem; line-height:1.3; margin-bottom:12px; display:block; }
.card p,.mod-card p,.industry-card p,.post-card p,.know-card p { font-size:.94rem; color:#4b6380; }
body[data-page="features"] .grid-3 { counter-reset:feature; }
body[data-page="features"] .mod-card { position:relative; padding:28px; min-height:220px; counter-increment:feature; }
body[data-page="features"] .mod-card::before { content:counter(feature,decimal-leading-zero); display:grid; place-items:center; width:38px; height:38px; margin-bottom:20px; background:#f0c014; color:#081E31; font-size:.72rem; font-weight:800; border-radius:7px; }
body[data-page="features"] .mod-card:nth-child(3n + 2)::before { background:#f0c014; color:#081E31; }
body[data-page="features"] .mod-card:nth-child(3n)::before { background:#f0c014; color:#081E31; }
.industry-card img,.post-card img,.know-card img,body[data-page="home"] .know-card img { width:100%; max-width:100%; margin:0 0 20px; border-radius:0; height:205px; object-fit:cover; border:2px dashed #081E31; padding:6px; background:#fff; box-shadow:none; }
.industry-card h3,.post-card h3,.know-card h3 { font-size:1.2rem; line-height:1.35; }
.split { gap:42px; margin:40px 0; }
.split img { border-radius:0; box-shadow:6px 6px 0 #f0c014; height:380px; border:2px dashed #081E31; padding:7px; background:#fff; }
.split p + p { margin-top:18px; }
.split ul { list-style:none; padding:0; }
.split li { padding:18px 0 18px 28px; border-bottom:1px solid #d5e2ef; position:relative; }
.split li::before { content:'✓'; position:absolute; left:0; color:#f0c014; font-weight:800; }
.facility-page .split { padding:24px; border:2px solid #081E31; background:white; border-radius:4px; box-shadow:8px 8px 0 #f0c014; }
.inner-cta { margin-top:56px; padding:34px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:#f0c014; border-radius:16px; }
.inner-cta .eyebrow { margin-bottom:8px; }
.inner-cta h2 { margin:0; font-size:1.8rem; }
/* Reading pages and the article index. */
.article-page .page { max-width:1030px; }
.prose { max-width:900px; }
.prose > p,.prose > ul,.prose > ol { max-width:760px; margin:0 auto 22px; font-size:1.03rem; line-height:1.9; }
.prose > h2,.prose > h3 { max-width:760px; margin:38px auto 16px; text-align:left; scroll-margin-top:110px; }
.article-hero { margin:28px 0 36px; }
.article-hero img { width:100%; max-height:390px; object-fit:cover; border-radius:0; border:2px dashed #081E31; padding:8px; background:#fff; box-shadow:6px 6px 0 #f0c014; }
.contents { padding:24px 28px; background:white; border:2px solid #081E31; border-radius:4px; margin-bottom:32px; display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.83rem; box-shadow:6px 6px 0 #f0c014; }
.contents strong { flex-basis:100%; color:#081E31; margin-bottom:4px; }
.contents a { color:#081E31; }
.form { background:white; border:2px solid #081E31; border-radius:4px; padding:32px; box-shadow:8px 8px 0 #f0c014; }
.form h2 { font-size:1.6rem; margin:0 0 8px; }
.form > p { color:#4b6380; font-size:.88rem; margin-bottom:24px; }
.form label { font-size:.86rem; font-weight:700; margin-bottom:16px; }
.form input,.form select,.form textarea { border:1px solid #b9cce1; border-radius:8px; padding:12px; width:100%; background:#f8fbff; color:#0F2437; font:inherit; margin-top:6px; }
.form input:focus,.form select:focus,.form textarea:focus { outline:2px solid #f0c014; outline-offset:2px; }
.form .form-note { font-size:.76rem; margin:14px 0 0; }
body[data-page="contact"] .split { align-items:start; }
body[data-page="contact"] .split > div { padding:24px; background:#fff; border:2px solid #081E31; border-radius:4px; box-shadow:8px 8px 0 #f0c014; }
body[data-page="contact"] .split img { height:250px; border:2px dashed #081E31; padding:6px; background:#fff; border-radius:0; }
body[data-page="contact"] .split img { height:250px; }
body[data-page="faq"] .faq-section { padding:42px 0 84px; }
body[data-page="faq"] .faq-layout { grid-template-columns:.85fr 1.15fr; gap:36px; }
body[data-page="faq"] .faq-intro { top:115px; }
body[data-page="faq"] .page-heading { padding:30px; margin-bottom:20px; }
body[data-page="faq"] h1 { font-size:clamp(2rem,3vw,2.7rem); }
body[data-page="faq"] .faq-list details { background:white; border:2px solid #081E31; border-radius:4px; padding:23px; margin-bottom:12px; }
body[data-page="faq"] .faq-list details[open] { border-color:#081E31; background:#fff8d6; }
.site-directory { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0!important; }
.site-directory li a { display:block; padding:16px 20px; background:white; border:2px solid #081E31; border-radius:4px; line-height:1.5; font-size:.9rem; text-decoration:none; box-shadow:6px 6px 0 #f0c014; }
.footer { background:#081E31!important; padding-top:58px; color:#fff!important; }
body[data-page="home"] .footer { background:#f0c014!important; color:#081E31!important; }
body:not([data-page="home"]) .footer__brand p,
body:not([data-page="home"]) .footer__copy,
body:not([data-page="home"]) .footer__col a,
body:not([data-page="home"]) .footer a { color:#d7e8f6; }
body[data-page="home"] .footer__brand p,
body[data-page="home"] .footer__copy,
body[data-page="home"] .footer__col a,
body[data-page="home"] .footer a { color:#081E31; }

body:not([data-page="home"]) .page-heading,
body:not([data-page="home"]) .card,
body:not([data-page="home"]) .mod-card,
body:not([data-page="home"]) .industry-card,
body:not([data-page="home"]) .post-card,
body:not([data-page="home"]) .know-card,
body:not([data-page="home"]) .form,
body:not([data-page="home"]) .contents,
body:not([data-page="home"]) .facility-page .split,
body:not([data-page="home"]) .faq-list details,
body:not([data-page="home"]) .site-directory li a,
body:not([data-page="home"]) .contact .split > div,
body[data-page="contact"] .split > div { background:#fff; box-shadow:8px 8px 0 #f0c014; }
body:not([data-page="home"]) .band--mist { background:transparent; }
.footer__connect { padding-bottom:48px; border-bottom:3px solid #081E31; margin-bottom:36px; }
.footer__connect h2 { font-size:clamp(3rem,8vw,6rem); line-height:.9; margin:0 0 16px; max-width:10ch; }
.footer__lede { max-width:36rem; font-size:1.1rem; margin:0 0 28px; }
.footer__places { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.footer__places h4 { margin:0 0 8px; font-size:1.1rem; }
.footer__brand p { color:#081E31; max-width:360px; font-size:.93rem; }
.footer__copy { color:#081E31; font-size:.8rem; border-top:3px solid #081E31; padding:18px 32px 28px; }
.footer__col a { font-size:.9rem; color:#081E31; }
.footer a { color:#081E31; }
@media(max-width:640px) { #site-header .nav__cta { display:none; } }
@media(min-width:641px) { }
@media(max-width:900px) {
 .topbar p { display:none; }
 .wrap { padding-left:22px; padding-right:22px; }
 #site-header .nav__inner { min-height:64px; }
 body { padding-top:92px; }
 body[data-page="home"] { padding-top:92px; }
 body[data-page="home"] .home-hero { padding:28px 0 32px; }
 body[data-page="home"] .home-hero__grid, .neo-stats, .footer__places { grid-template-columns:1fr; }
 body[data-page="home"] .home-hero h1 { font-size:2.55rem; max-width:none; }
 .home-hero__stage { height:340px; width:min(100%,340px); }
 .orbit-scene__arm b { top:-118px; }
 .product-dock { margin-top:28px; }
 .product-dock__stage,.sf-cards,.sf-split,.sf-modules { grid-template-columns:1fr; }
 .product-dock__tabs { border-radius:20px; }
 .interior-page .page { padding:24px 22px 56px; }
 .page-heading { padding:28px; margin-bottom:28px; }
 .page-heading h1 { font-size:2.5rem; }
 .page-heading::after { font-size:120px; opacity:.6; }
 .grid-3,.grid-2,.split { grid-template-columns:1fr; }
 body[data-page="home"] .module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body[data-page="home"] .band { padding:54px 0; }
 body[data-page="faq"] .faq-layout { grid-template-columns:1fr; gap:20px; }
 body[data-page="faq"] .faq-intro { position:static; }
 .inner-cta { flex-direction:column; align-items:flex-start; }
 .site-directory { grid-template-columns:1fr; }
 .split img { height:300px; }
 .facility-page .split { padding:18px; gap:24px; }
}
@media(max-width:480px) { body[data-page="home"] .home-hero h1 { font-size:2.4rem; } .page-heading { padding:24px; } .page-heading h1 { font-size:2.15rem; } .product-dock__panel { padding:20px; } .form { padding:22px; } body[data-page="home"] .queue__panel { padding:24px; } body[data-page="home"] .trust article { padding:14px 5px; } .prose > p { font-size:.97rem; } }
@media(prefers-reduced-motion:reduce) {
  .neo-marquee__track, .orbit-scene, .orbit-scene__core, .orbit-scene__arm b, .blob, .neo-board__line, .neo-board__chip, .mark, body[data-page="home"] .home-hero h1, .wavy::after { animation:none; }
}
@media(max-width:900px) {
  #site-header .nav__toggle { display:inline-flex!important; }
  #site-header .nav__links { display:none!important; }
  #site-header .nav.is-open .nav__links { display:flex!important; position:absolute!important; top:calc(100% + 10px); left:0; right:0; background:#fff!important; border:3px solid #081E31!important; border-radius:24px; padding:12px; flex-direction:column!important; align-items:stretch; box-shadow:none; z-index:30; max-height:calc(100dvh - 90px); overflow-y:auto; }
  .hero-photos .s4, .hero-photos .s5 { display:none; }
  .sf-split__photos { grid-template-columns:1fr 1fr; }
  .sf-split__photos .stamp:first-child { grid-row:auto; min-height:220px; }
  .sf-split__photos .stamp:first-child img { min-height:220px; }
}
@media(min-width:901px) {
  #site-header .nav__toggle { display:none!important; }
  #site-header .nav__links { display:flex!important; position:static!important; flex-direction:row!important; background:transparent!important; border:0!important; box-shadow:none!important; }
}

/* Brand palette: primary actions use midnight navy; secondary actions use cobalt. */
:root { --ink:#081E31; --navy:#0F2437; --brand:#147BB5; --brand-deep:#0F5A8F; }
.btn--primary, .btn--ink, .btn--pill-blue { background:#081E31; color:#fff; border-color:#081E31; }
.btn--primary:hover, .btn--ink:hover, .btn--pill-blue:hover { background:#0F2437; color:#fff; }
