:root {
  --ink: #10212b;
  --ink-soft: #48606a;
  --navy: #07141d;
  --navy-2: #0c202a;
  --paper: #f5f7f6;
  --white: #ffffff;
  --line: #dce5e3;
  --accent: #9ac9b8;
  --accent-strong: #2f735e;
  --accent-pale: #e6f1ed;
  --max: 1180px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; }
.container { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.skip-link { position: absolute; left: -9999px; top: 12px; z-index: 99; background: var(--accent); padding: 10px 14px; }
.skip-link:focus { left: 12px; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(7,20,29,.94); color: white; border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(14px); }
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 700; letter-spacing: -.02em; }
.brand-mark { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--accent); color: var(--accent); font-size: 11px; letter-spacing: -.12em; }
.nav-links { display: flex; align-items: center; gap: 28px; font-size: .9rem; color: #cbd8d8; }
.nav-links a { text-decoration: none; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--accent); }
.nav-cta { color: var(--navy) !important; background: var(--accent); padding: 10px 15px; font-weight: 650; }
.menu-button { display:none; color:white; background:none; border:0; padding:10px; font:inherit; }
.hero { background: var(--navy); color: white; min-height: 690px; display: flex; align-items: center; position: relative; overflow: hidden; }
.hero::after { content:''; position:absolute; inset:0; opacity:.42; background: radial-gradient(circle at 76% 40%, rgba(154,201,184,.2), transparent 34%), linear-gradient(135deg, rgba(154,201,184,.12), transparent 56%); mask-image: radial-gradient(circle at 70% 45%, black, transparent 68%); }
.hero-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items:center; position:relative; z-index:1; padding: 106px 0 120px; }
.eyebrow { color: var(--accent-strong); text-transform: none; font-size: .78rem; letter-spacing: .08em; font-weight: 700; }
.hero .eyebrow, .page-hero .eyebrow, .section-dark .eyebrow { color: var(--accent); }
h1,h2,h3,p { margin-top:0; }
h1 { font-size: clamp(3.6rem, 7vw, 6.7rem); line-height: .98; letter-spacing: -.06em; max-width: 790px; margin: 20px 0 28px; font-weight: 600; }
h2 { font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.04em; font-weight: 600; }
h3 { font-size: 1.25rem; letter-spacing: -.025em; line-height: 1.2; }
.lede { font-size: clamp(1.08rem, 1.6vw, 1.34rem); color: #c4d0d0; max-width: 610px; }
.actions { display:flex; flex-wrap:wrap; gap: 12px; margin-top: 36px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height: 48px; padding: 12px 18px; text-decoration:none; font-weight: 650; border: 1px solid transparent; }
.button-primary { color: var(--navy); background: var(--accent); }
.button-primary:hover { background: #b3dfcf; }
.button-ghost { color: white; border-color: rgba(255,255,255,.34); }
.button-ghost:hover { border-color: var(--accent); color: var(--accent); }
.signal { min-height: 390px; border: 1px solid rgba(154,201,184,.5); padding: 26px; display:flex; align-items:flex-end; position:relative; background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,0)); }
.signal::before, .signal::after { content:''; position:absolute; border:1px solid rgba(154,201,184,.28); }
.signal::before { inset: 52px 44px 74px; }
.signal::after { inset: 112px 92px 130px; }
.signal-label { position:relative; z-index:1; max-width:220px; color:#eef7f4; font-size:.92rem; }
.signal-lines { position:absolute; inset:0; opacity:.35; background: linear-gradient(120deg, transparent 49.8%, var(--accent) 50%, transparent 50.2%), linear-gradient(30deg, transparent 49.8%, rgba(154,201,184,.45) 50%, transparent 50.2%); background-size: 100% 100%; }
.section { padding: 118px 0; }
.section-dark { background: var(--navy-2); color: white; }
.section-dark .principles p { color:#b4c5c5; }
.section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom: 46px; }
.section-head h2 { max-width: 620px; margin-bottom:0; }
.section-head p { max-width: 420px; color: var(--ink-soft); margin-bottom:5px; }
.section-dark .section-head p { color:#b4c5c5; }
.service-grid { display:grid; grid-template-columns: repeat(5,1fr); gap:1px; background: var(--line); border:1px solid var(--line); }
.service-card { background:var(--paper); padding: 27px 23px 30px; min-height: 250px; display:flex; flex-direction:column; }
.service-card:hover { background: var(--white); }
.service-number { color: var(--accent-strong); font: .8rem ui-monospace, SFMono-Regular, Menlo, monospace; margin-bottom: 55px; }
.service-card p { color:var(--ink-soft); font-size:.92rem; margin-bottom:0; }
.service-card a { text-decoration:none; }
.text-link { color: var(--ink); font-weight:700; text-decoration: underline; text-decoration-color: var(--accent-strong); text-underline-offset: 4px; }
.split { display:grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items:start; }
.split h2 { margin: 15px 0 0; }
.intro-copy { font-size:1.18rem; color: var(--ink-soft); max-width:590px; }
.principles { display:grid; grid-template-columns: repeat(2,1fr); gap: 36px 50px; border-top:1px solid var(--line); padding-top:32px; }
.principles div { border-bottom:1px solid var(--line); padding-bottom:24px; }
.principles h3 { margin-bottom: 8px; }
.principles p { color: var(--ink-soft); margin-bottom:0; font-size:.95rem; }
.founder { background: var(--accent-pale); }
.founder-card { display:grid; grid-template-columns: .7fr 1.3fr; gap: 75px; align-items:start; }
.founder-portrait { border:1px solid #b5d5ca; min-height: 300px; background: var(--navy); color: var(--accent); display:flex; align-items:flex-end; padding:25px; font: 4.2rem var(--serif); }
.founder-copy h2 { margin: 14px 0 16px; }
.founder-copy p { color: var(--ink-soft); max-width: 650px; font-size:1.08rem; }
.quote { border-left:1px solid var(--accent-strong); padding: 8px 0 8px 24px; margin: 29px 0; color:var(--ink); font-family:var(--serif); font-size:1.5rem; line-height:1.32; }
.cta-band { background: var(--accent); padding: 76px 0; }
.cta-band .container { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.cta-band h2 { max-width:670px; margin-bottom:0; }
.cta-band .button { background:var(--navy); color:white; }
.site-footer { background:var(--navy); color:#c2cecd; padding: 54px 0 28px; }
.footer-grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 50px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.15); }
.footer-grid p { color:#8fa3a4; font-size:.9rem; max-width:290px; }
.footer-heading { color:white; text-transform:uppercase; font-size:.68rem; letter-spacing:.15em; font-weight:700; margin-bottom:16px; }
.footer-links { display:grid; gap:9px; font-size:.88rem; }
.footer-links a { color:#bcccca; text-decoration:none; }
.footer-links a:hover { color:var(--accent); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:24px; color:#81999b; font-size:.78rem; }
.page-hero { background:var(--navy); color:white; padding: 100px 0 95px; }
.page-hero h1 { max-width:820px; margin-bottom:20px; }
.page-hero .lede { max-width:680px; }
.service-detail { border-top:1px solid var(--line); padding: 66px 0; display:grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.service-detail:first-child { border-top:0; }
.service-detail h2 { font-size:2.1rem; margin: 10px 0 0; }
.detail-content { display:grid; grid-template-columns: repeat(3,1fr); gap:28px; }
.detail-content h3 { font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:var(--accent-strong); margin-bottom:11px; }
.detail-content p, .detail-content li { color:var(--ink-soft); font-size:.94rem; }
.detail-content ul { padding-left:20px; margin:0; }
.about-layout { display:grid; grid-template-columns: 1fr 1fr; gap:70px; }
.about-layout .large-copy { font-size:1.35rem; line-height:1.45; color:var(--ink); }
.form-shell { display:grid; grid-template-columns: .7fr 1.3fr; gap:100px; }
.form-shell h2 { font-size:2.6rem; margin-top:12px; }
.contact-details { color:var(--ink-soft); }
.contact-details strong { color:var(--ink); display:block; margin-top:26px; }
.contact-details a { text-decoration-color:var(--accent-strong); text-underline-offset:3px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1 / -1; }
label { font-size:.78rem; font-weight:700; letter-spacing:.03em; }
input, textarea, select { width:100%; border:1px solid #c6d4d1; background:white; color:var(--ink); padding:13px 14px; font:inherit; border-radius:0; }
textarea { min-height:150px; resize:vertical; }
input:focus, textarea:focus, select:focus, button:focus, a:focus { outline:3px solid rgba(103,180,151,.45); outline-offset:3px; }
.form-note { font-size:.8rem; color:var(--ink-soft); margin:15px 0 0; }
.legal { max-width:850px; }
.legal h2 { font-size:2rem; margin-top:52px; }
.legal p, .legal li { color:var(--ink-soft); }
@media (max-width: 980px) { .hero-grid,.split,.founder-card,.form-shell { grid-template-columns:1fr; gap:44px; } .service-grid { grid-template-columns:repeat(2,1fr); } .signal { min-height:260px; } .detail-content { grid-template-columns:1fr; } .footer-grid { grid-template-columns:1fr 1fr; } .footer-grid > :first-child { grid-column:1 / -1; } }
@media (max-width: 680px) { .container { width:min(calc(100% - 32px), var(--max)); } .nav { min-height:68px; } .menu-button { display:block; } .nav-links { display:none; position:absolute; top:68px; left:0; right:0; padding:16px; background:var(--navy); flex-direction:column; align-items:stretch; gap:0; border-bottom:1px solid rgba(255,255,255,.16); } .nav-links.open { display:flex; } .nav-links a { padding:13px 10px; } .nav-cta { text-align:center; margin-top:8px; } .hero { min-height:650px; } .hero-grid { padding:82px 0 92px; } h1 { font-size:clamp(3.15rem, 16vw, 5rem); } .section { padding:82px 0; } .section-head,.cta-band .container,.footer-bottom { align-items:flex-start; flex-direction:column; } .service-grid,.principles,.about-layout,.form-grid { grid-template-columns:1fr; } .service-card { min-height:210px; } .service-number { margin-bottom:35px; } .service-detail { gap:28px; padding:48px 0; } .page-hero { padding:78px 0 70px; } .footer-grid { grid-template-columns:1fr; gap:30px; } .footer-grid > :first-child { grid-column:auto; } .field.full { grid-column:auto; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; animation:none !important; } }
.engagement-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.engagement-grid .service-card { min-height:260px; }
.supplier-callout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.supplier-callout h2 { margin:14px 0 0; }
.supplier-callout .large-copy { margin:0; font-size:1.25rem; color:var(--ink-soft); }
.consent label { display:flex; align-items:flex-start; gap:8px; font-weight:400; letter-spacing:0; font-size:.88rem; color:var(--ink-soft); }
.consent input { width:auto; margin-top:5px; flex:0 0 auto; }
.consent a { color:var(--ink); text-underline-offset:3px; text-decoration-color:var(--accent-strong); }
.form-success { color:#236b4e; font-weight:650; }
.modal-open { overflow:hidden; }
.success-modal { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:24px; background:rgba(7,20,29,.72); }
.success-modal[hidden] { display:none; }
.success-modal-card { position:relative; width:min(100%,560px); padding:48px; color:var(--ink); background:var(--paper); border:1px solid var(--line); box-shadow:0 24px 80px rgba(7,20,29,.28); }
.success-modal-card h2 { max-width:430px; margin:14px 0 16px; font-size:clamp(2rem,4vw,3.2rem); }
.success-modal-card p { max-width:430px; color:var(--ink-soft); }
.success-modal-card .button { margin-top:20px; }
.success-modal-close { position:absolute; top:14px; right:16px; width:38px; height:38px; border:1px solid var(--line); color:var(--ink); background:transparent; font-size:1.7rem; line-height:1; cursor:pointer; }
.success-modal-close:hover { border-color:var(--accent-strong); color:var(--accent-strong); }
.cta-band p { max-width:680px; margin:12px 0 0; color:var(--navy); }
@media (max-width:980px) { .engagement-grid { grid-template-columns:repeat(2,1fr); } .supplier-callout { grid-template-columns:1fr; gap:24px; } }
@media (max-width:680px) { .engagement-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { .success-modal-card { padding:38px 24px 28px; } }
