@font-face { font-family: Host; src: url('/bio-assets/fonts/host-grotesk-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: Host; src: url('/bio-assets/fonts/host-grotesk-600.ttf') format('truetype'); font-weight: 600; font-display: swap; }
@font-face { font-family: Roboto; src: url('/bio-assets/fonts/roboto-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: Roboto; src: url('/bio-assets/fonts/roboto-500.ttf') format('truetype'); font-weight: 500; font-display: swap; }

:root { --purple:#250a2b; --purple-2:#39143e; --orange:#ea6a13; --yellow:#ffe3a4; --white:#f0f0f0; --muted:#b3a8b5; --line:rgba(240,240,240,.17); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--purple); color:var(--white); font-family:Roboto,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.page { min-height:100vh; overflow:hidden; position:relative; background:radial-gradient(circle at 88% 4%,rgba(234,106,19,.2),transparent 25rem),radial-gradient(circle at 4% 37%,rgba(125,115,127,.16),transparent 25rem),var(--purple); }
.shell { width:min(100% - 40px,1120px); position:relative; z-index:1; margin:auto; }
.grid { position:absolute; inset:0; background-image:linear-gradient(rgba(240,240,240,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(240,240,240,.035) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(#000 0%,#000 48%,transparent 86%); pointer-events:none; }
.brackets { position:absolute; width:740px; right:-385px; top:116px; opacity:.4; transform:rotate(13deg); pointer-events:none; }
.star { position:absolute; width:540px; left:-386px; top:1060px; opacity:.32; pointer-events:none; }
.skip-link { position:absolute; z-index:10; left:1rem; top:-4rem; background:var(--yellow); color:var(--purple); padding:.7rem 1rem; border-radius:.5rem; }.skip-link:focus { top:1rem; }
.topbar { min-height:100px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:.65rem; font-family:Host,sans-serif; font-size:1.13rem; font-weight:600; letter-spacing:.06em; }.brand span span { color:var(--orange); }.brand-mark { display:grid; place-items:center; height:30px; width:30px; border:1px solid var(--orange); border-radius:8px; color:var(--orange); font-size:15px; }
.top-contact { font-size:.79rem; text-transform:uppercase; letter-spacing:.11em; color:var(--yellow); }.top-contact span { color:var(--orange); font-size:1.1rem; margin-left:.4rem; }
.hero { min-height:calc(100vh - 100px); display:flex; flex-direction:column; justify-content:center; padding:92px 0 72px; max-width:800px; }
.eyebrow,.section-label { margin:0; font-size:.7rem; font-weight:500; letter-spacing:.16em; color:var(--yellow); text-transform:uppercase; }.eyebrow { display:flex; align-items:center; gap:.55rem; margin-bottom:25px; }.eyebrow span { width:28px; height:1px; background:var(--orange); }
h1,h2,h3 { font-family:Host,Arial,sans-serif; font-weight:400; letter-spacing:-.045em; } h1 { font-size:clamp(3.7rem,8vw,6.8rem); line-height:.91; margin:0; } h1 em,h2 em { color:var(--orange); font-style:normal; }
.hero-copy { max-width:590px; margin:34px 0 30px; color:var(--white); font-size:clamp(1.03rem,2vw,1.27rem); line-height:1.62; }.hero-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }.primary-button,.contact-button { display:inline-flex; align-items:center; gap:2.4rem; background:var(--orange); color:var(--purple); padding:17px 18px 17px 22px; border-radius:9px; font-weight:500; box-shadow:5px 5px 0 var(--yellow); transition:transform .18s,box-shadow .18s,background .18s; }.primary-button span,.contact-button span { display:grid; place-items:center; border:1px solid rgba(37,10,43,.3); border-radius:50%; height:26px; width:26px; font-size:1.1rem; }.primary-button:hover,.contact-button:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--yellow); background:var(--yellow); }.text-button { font-size:.89rem; color:var(--muted); }.text-button span { color:var(--orange); margin-left:.4rem; }.trust-line { margin-top:43px; color:var(--muted); font-size:.78rem; display:flex; align-items:center; gap:10px; }.trust-line i { background:#65d698; width:8px; height:8px; border-radius:50%; box-shadow:0 0 0 4px rgba(101,214,152,.1); }
.statement { padding:86px 0 96px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 2fr; gap:30px; }.statement>p:last-child { max-width:740px; margin:0; font-family:Host,sans-serif; font-size:clamp(1.7rem,4vw,3.1rem); line-height:1.12; letter-spacing:-.04em; }.statement strong { color:var(--orange); font-weight:400; }
.services,.principles,.contact { border-top:1px solid var(--line); padding:100px 0; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; }.section-heading h2,.principles h2,.contact h2 { font-size:clamp(2.7rem,5.5vw,4.8rem); line-height:.96; margin:15px 0 0; }.section-heading>p { width:min(100%,330px); margin:0 0 5px; color:var(--muted); line-height:1.6; font-size:.94rem; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:48px; }.service-card { min-height:368px; position:relative; display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(135deg,rgba(240,240,240,.065),transparent 48%),rgba(54,19,61,.58); overflow:hidden; transition:transform .2s,border-color .2s; }.service-card:hover { transform:translateY(-5px); border-color:rgba(234,106,19,.7); }.service-card.featured { background:linear-gradient(145deg,rgba(234,106,19,.18),transparent 50%),rgba(58,23,64,.78); }.number { color:var(--orange); font-size:.76rem; font-weight:500; letter-spacing:.1em; }.card-symbol { color:var(--yellow); font-family:Host,sans-serif; font-size:2rem; line-height:1; margin:49px 0 auto; }.service-card h3 { font-size:1.8rem; line-height:1; margin:24px 0 12px; }.service-card p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.58; }.service-card ul { display:flex; gap:6px; flex-wrap:wrap; padding:0; margin:20px 0 0; list-style:none; }.service-card li { border:1px solid rgba(255,227,164,.2); border-radius:999px; padding:5px 8px; color:var(--yellow); font-size:.67rem; }
.principles { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; }.principles-list article { display:grid; grid-template-columns:46px 1fr; gap:12px; padding:0 0 25px; margin-bottom:25px; border-bottom:1px solid var(--line); }.principles-list article>span { color:var(--orange); font-size:.75rem; }.principles-list h3 { margin:0 0 7px; font-size:1.65rem; }.principles-list p { color:var(--muted); line-height:1.55; margin:0; font-size:.91rem; }
.contact { position:relative; padding:116px 0 75px; text-align:center; }.contact-glow { position:absolute; width:480px; height:480px; border-radius:50%; left:50%; top:30px; transform:translateX(-50%); background:radial-gradient(circle,rgba(234,106,19,.18),transparent 65%); pointer-events:none; }.contact>*:not(.contact-glow) { position:relative; }.contact h2 { margin-top:18px; }.contact-copy { max-width:490px; margin:25px auto 31px; color:var(--muted); line-height:1.6; }.contact-button { text-align:left; gap:3rem; box-shadow:5px 5px 0 var(--yellow); }.contact-links { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:62px; color:var(--muted); font-size:.78rem; }.contact-links a:hover { color:var(--yellow); }
footer { min-height:132px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); gap:26px; } footer img { width:155px; height:auto; } footer p { margin:0; color:var(--muted); font-size:.72rem; }
@media (max-width:720px) { .shell{width:min(100% - 32px,1120px)} .topbar{min-height:76px}.hero{min-height:calc(100vh - 76px);padding:75px 0 60px}.brackets{width:500px;right:-330px;top:160px}.statement,.principles{grid-template-columns:1fr;gap:32px;padding:68px 0}.services,.contact{padding:68px 0}.section-heading{align-items:start;flex-direction:column;gap:24px}.section-heading>p{width:auto}.service-grid{grid-template-columns:1fr; margin-top:34px}.service-card{min-height:290px}.card-symbol{margin-top:35px}.contact h2{font-size:clamp(2.65rem,12vw,4rem)}footer{padding:30px 0;align-items:flex-start;flex-direction:column;gap:16px}.top-contact{font-size:.68rem} }
@media (prefers-reduced-motion:no-preference){ .hero>*{animation:rise .65s both}.hero>*:nth-child(2){animation-delay:.08s}.hero>*:nth-child(3){animation-delay:.16s}.hero>*:nth-child(4){animation-delay:.24s}.hero>*:nth-child(5){animation-delay:.32s}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}} }
