@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#072f3d; --teal:#0b647b; --aqua:#12abc2; --red:#ed4f4e; --cream:#f7f8f5; --paper:#ffffff; --muted:#67808b; --line:rgba(7,47,61,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.bio-page { min-height:100vh; display:grid; grid-template-rows:1fr auto; background:radial-gradient(circle at 0% 0%, #dbf5f7 0, transparent 35%), radial-gradient(circle at 100% 100%, #f9d9d1 0, transparent 34%), var(--cream); }
.bio-shell { display:grid; place-items:center; position:relative; overflow:hidden; padding:40px 20px 28px; }
.ambient { position:absolute; border-radius:50%; filter:blur(1px); opacity:.72; }
.ambient-one { width:280px; height:280px; top:-140px; right:-100px; background:#9fe5ec; }
.ambient-two { width:220px; height:220px; bottom:-115px; left:-80px; background:#f3b7ae; }
.bio-card { width:min(100%, 480px); position:relative; text-align:center; background:rgba(255,255,255,.93); border:1px solid rgba(255,255,255,.9); border-radius:30px; box-shadow:0 24px 60px rgba(7,47,61,.15); padding:36px 22px 28px; backdrop-filter:blur(12px); }
.logo-frame { display:grid; place-items:center; width:114px; height:114px; margin:0 auto 20px; background:white; border-radius:50%; border:6px solid #e9f5f6; box-shadow:0 10px 25px rgba(7,47,61,.12); overflow:hidden; }
.logo-frame img { width:100%; height:100%; object-fit:cover; }
.eyebrow { margin:0 0 10px; color:var(--teal); font-family:'DM Mono',monospace; font-size:11px; font-weight:bold; letter-spacing:.14em; }
h1,h2,h3,p { margin-top:0; }
.bio-card h1 { font-size:44px; letter-spacing:-.065em; line-height:1; margin-bottom:12px; }
.intro { max-width:350px; margin:0 auto; color:#48626c; line-height:1.6; font-size:15px; }
.link-stack { display:grid; gap:11px; margin-top:28px; text-align:left; }
.link-button { min-height:64px; display:grid; grid-template-columns:30px 1fr 26px; align-items:center; gap:10px; padding:10px 17px; border:1px solid var(--line); border-radius:16px; background:#fff; font-size:14px; font-weight:700; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.link-button:hover { transform:translateY(-2px); box-shadow:0 10px 20px rgba(7,47,61,.12); }
.link-button--primary { background:var(--teal); color:white; border-color:var(--teal); }
.button-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.15); font-size:17px; }
.link-button:not(.link-button--primary) .button-icon { background:#e5f5f6; color:var(--teal); }
.arrow { text-align:right; font-size:20px; font-weight:500; }
.trust-line { display:flex; gap:10px; align-items:center; justify-content:center; margin:25px 0 8px; color:#526c75; font-family:'DM Mono',monospace; text-transform:uppercase; font-size:10px; letter-spacing:.12em; }
.trust-line span { width:32px; height:1px; background:#b8ced1; }
.service-note { margin:0; color:#718890; font-size:12px; }
.site-footer { display:flex; flex-direction:column; gap:6px; padding:0 20px 22px; color:#5d7780; text-align:center; font-size:11px; }
.site-footer a { color:var(--teal); font-weight:700; }

.full-site { background:#fff; }
.topbar,.full-footer { width:min(1180px, calc(100% - 40px)); margin:auto; display:flex; justify-content:space-between; align-items:center; padding:18px 0; }
.topbar { border-bottom:1px solid var(--line); }
.brand-lockup { display:flex; gap:10px; align-items:center; font-size:18px; font-weight:800; letter-spacing:-.05em; }
.brand-lockup img { width:43px; height:43px; border-radius:50%; object-fit:cover; border:2px solid #dcf0f2; }
.brand-lockup span { display:grid; }
.brand-lockup small { color:var(--muted); font-size:9px; letter-spacing:.03em; font-weight:600; }
.topbar-cta,.quiet-link { color:var(--teal); font-size:13px; font-weight:800; }
.topbar-cta span { margin-left:6px; font-size:17px; }
main { overflow:hidden; }
.hero { width:min(1180px, calc(100% - 40px)); min-height:570px; margin:auto; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:80px; padding:70px 0; }
.hero-copy h1 { max-width:740px; margin:0 0 22px; font-size:clamp(44px,6.3vw,83px); line-height:.98; letter-spacing:-.07em; }
.hero-copy > p:not(.eyebrow) { max-width:590px; color:#526b75; line-height:1.7; font-size:17px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:31px; }
.solid-cta,.light-cta { display:inline-flex; gap:20px; align-items:center; padding:15px 19px; border-radius:11px; background:var(--teal); color:#fff; font-size:13px; font-weight:800; }
.solid-cta span,.light-cta span { font-size:18px; }
.quiet-link { display:inline-flex; gap:8px; align-items:center; }
.experience-card { min-height:355px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; padding:34px; border-radius:26px; color:#fff; background:linear-gradient(145deg,#0b647b 0%,#063d4e 88%); box-shadow:20px 24px 0 #e7f5f4; }
.experience-card:before,.experience-card:after { content:''; position:absolute; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.experience-card:before { width:350px; height:350px; top:-200px; right:-110px; }
.experience-card:after { width:250px; height:250px; bottom:-135px; left:-130px; }
.experience-card strong { position:relative; z-index:1; font-size:112px; letter-spacing:-.1em; line-height:.8; }
.experience-card span { position:relative; z-index:1; margin-top:20px; color:#c6eff1; line-height:1.5; font-size:14px; }
.experience-card i { position:absolute; z-index:1; top:33px; left:34px; color:var(--aqua); font-size:30px; font-style:normal; }
.capabilities { padding:96px max(20px, calc((100% - 1180px)/2)); background:#f0f8f7; }
.section-heading { display:grid; grid-template-columns:.6fr 1.4fr; align-items:start; gap:50px; margin-bottom:44px; }
.section-heading h2 { max-width:740px; margin:0; font-size:clamp(30px,4vw,49px); line-height:1.06; letter-spacing:-.06em; }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.capability-grid article { min-height:250px; display:flex; flex-direction:column; padding:26px; border-radius:18px; background:#fff; }
.number { color:var(--red); font-family:'DM Mono',monospace; font-size:12px; }
.capability-grid h3 { margin:48px 0 10px; font-size:24px; letter-spacing:-.05em; }
.capability-grid p { margin:0; color:#68818a; line-height:1.65; font-size:14px; }
.contact-band { width:min(1180px, calc(100% - 40px)); margin:64px auto; padding:48px; border-radius:25px; display:flex; justify-content:space-between; align-items:center; gap:30px; background:var(--red); color:#fff; }
.contact-band .eyebrow { color:#fff2e6; }
.contact-band h2 { margin:0; font-size:clamp(30px,4vw,51px); letter-spacing:-.06em; line-height:1; }
.light-cta { flex:0 0 auto; background:#fff; color:var(--ink); }
.full-footer { padding:22px 0 34px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.full-footer > a:not(.brand-lockup) { font-weight:700; color:var(--teal); }
.full-footer .footer-credit { color:var(--teal); font-size:11px; font-weight:700; }

@media (max-width:720px) {
  .bio-shell { padding:26px 16px 20px; }
  .bio-card { padding:29px 17px 23px; border-radius:25px; }
  .logo-frame { width:101px; height:101px; }
  .bio-card h1 { font-size:39px; }
  .topbar,.full-footer { width:min(100% - 32px,1180px); }
  .topbar-cta { padding:10px 0; font-size:12px; }
  .hero { grid-template-columns:1fr; gap:38px; min-height:auto; width:min(100% - 32px,1180px); padding:58px 0 64px; }
  .hero-copy h1 { font-size:48px; }
  .hero-copy > p:not(.eyebrow) { font-size:15px; }
  .experience-card { min-height:270px; padding:26px; }
  .experience-card strong { font-size:88px; }
  .experience-card i { top:24px; left:26px; }
  .section-heading { grid-template-columns:1fr; gap:4px; }
  .capabilities { padding:64px 16px; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-grid article { min-height:190px; }
  .capability-grid h3 { margin-top:28px; }
  .contact-band { width:min(100% - 32px,1180px); margin:38px auto; padding:30px 25px; flex-direction:column; align-items:flex-start; }
  .light-cta { width:100%; justify-content:space-between; }
  .full-footer { align-items:flex-start; gap:12px; flex-direction:column; }
}
