/* Homepage-only treatment; supplied business art stays unmodified. */
.hero { display:block; min-height:0; padding:64px 5vw 72px; background:radial-gradient(ellipse at 5% 20%,#651c293d,transparent 50%),radial-gradient(ellipse at 95% 80%,#70239040,transparent 48%),#08080b; }
.hero::before { background-image:repeating-linear-gradient(125deg,transparent 0 35px,#ffffff0c 36px 37px); background-size:auto; mask-image:none; }
.hero-copy { width:100%; max-width:1500px; margin:0 auto 40px; display:grid; grid-template-columns:1.3fr 1fr; column-gap:50px; align-items:center; }
.hero-copy .eyebrow { grid-column:1/-1; }
.hero h1 { font-size:clamp(3.8rem,7.4vw,8rem); line-height:.88; grid-row:2/4; }
.hero h1 em { color:#ffb645; }
.hero-lede { margin:0 0 22px; max-width:470px; }
.hero-actions { align-self:start; }
.hero-portals { position:relative; z-index:5; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; max-width:1500px; margin:auto; }
.hero-portal { --accent:#ff638e; position:relative; display:flex; flex-direction:column; background:#0b090d; border:1px solid #ffffff30; border-top:4px solid var(--accent); box-shadow:0 16px 40px #0008; transition:transform .25s,border-color .25s,box-shadow .25s; overflow:hidden; }
.portal-eagle { --accent:#ff684b; }
.portal-medical { --accent:#84f368; }
.portal-tra { --accent:#c49aff; }
.portal-art { height:310px; background:radial-gradient(ellipse at bottom,#ffffff12,transparent 70%),#050506; overflow:hidden; }
.portal-art img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .5s; }
.portal-eagle img,.portal-tra img { object-fit:cover; object-position:center 25%; }
.portal-caption { position:relative; padding:24px 20px; flex:1; background:linear-gradient(120deg,#ffffff09,transparent); }
.portal-kicker { display:block; min-height:30px; color:var(--accent); font-size:.62rem; line-height:1.5; font-weight:800; letter-spacing:.1em; }
.portal-caption h2 { margin:5px 0 24px; font-size:clamp(1.8rem,2.6vw,3rem); line-height:.95; }
.portal-cta { display:block; padding-top:15px; border-top:1px solid #ffffff26; font-size:.76rem; font-weight:800; }
.hero-portal:hover { transform:translateY(-7px); border-color:var(--accent); box-shadow:0 18px 45px #000b,0 0 24px #ffffff0b; }
.hero-portal:hover img { transform:scale(1.045); }
a:focus-visible,button:focus-visible { outline:3px solid #ffcf74; outline-offset:5px; }
.portfolio-section { background:repeating-linear-gradient(120deg,transparent 0 80px,#ffffff03 81px 82px),linear-gradient(145deg,#221016,#0d0c12 65%); color:#fff; border-top:1px solid #c14f493b; }
.section-heading>p { color:#c6bec5; }
.business-card { border:1px solid #ffffff25; border-left:4px solid #ff638e; }
.business-card.bar { border-left-color:#ff684b; }
.business-card.joint { border-left-color:#84f368; }
.business-card.tra { border-left-color:#c49aff; }
.reach { background:radial-gradient(ellipse at left,#5b213345,transparent 60%),#100c14; }
.preference-card { background:linear-gradient(135deg,#2b192b,#131017); color:#fff; border:1px solid #a665985c; box-shadow:12px 12px 0 #77284e; }
.preference-card small { color:#d0c3d0; }
.chips span { border-color:#826879; }
.contact { background:radial-gradient(ellipse at bottom,#63242745,transparent 65%),#08080b; }
@media(max-width:1100px) { .hero-portals { grid-template-columns:repeat(2,minmax(0,1fr)); } .portal-art { height:340px; } .portal-caption h2 { font-size:2.6rem; } }
@media(max-width:680px) { .hero { padding:48px 22px 54px; } .hero-copy { display:block; margin-bottom:32px; } .hero h1 { font-size:clamp(3.3rem,11.8vw,5rem); } .hero-lede { margin:24px 0; } .hero-portals { grid-template-columns:1fr; gap:24px; } .portal-art { height:320px; } .portal-caption { padding:22px; } .portal-kicker { min-height:0; } .portal-caption h2 { margin:10px 0 20px; } .preference-card { box-shadow:7px 7px 0 #77284e; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hero-portal,.portal-art img,.business-card { transition:none; } .hero-portal:hover,.hero-portal:hover img,.business-card:hover { transform:none; } }
