:root { --ink:#172a33; --ink-2:#0e1d25; --paper:#f7f8f5; --white:#ffffff; --orange:#e85b32; --orange-deep:#bf3f1e; --line:#cfd8d3; --muted:#586970; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.page-width { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.site-header { position:sticky; z-index:10; top:0; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; flex:none; gap:11px; align-items:center; font-size:15px; font-weight:800; letter-spacing:1px; }
.brand-dot { color:var(--orange); }
.brand-mark { width:29px; height:29px; display:grid; grid-template-columns:repeat(3, 1fr); gap:3px; padding:5px; background:var(--ink); }
.brand-mark i { display:block; background:var(--orange); }
nav { display:flex; align-items:center; gap:23px; margin-left:auto; font-size:13px; font-weight:700; color:#4c5d63; }
nav a:hover,.header-email:hover { color:var(--orange); }
.header-actions { display:flex; align-items:center; gap:16px; flex:none; font-size:13px; font-weight:700; }
.header-email { color:#4c5d63; }
.header-cta { display:inline-flex; align-items:center; gap:11px; min-height:38px; padding:0 13px; color:#fff; background:var(--ink); }
.header-cta:hover { background:var(--orange); }
.header-cta span,.button span { font-size:18px; }
.hero { position:relative; min-height:670px; overflow:hidden; color:#fff; background:var(--ink-2); }
.hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-scrim { position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,24,31,.94) 0%, rgba(10,24,31,.79) 37%, rgba(10,24,31,.18) 75%); }
.hero-content { position:relative; z-index:1; padding:124px 0 182px; }
.eyebrow { margin:0 0 15px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:1.4px; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:790px; margin-bottom:23px; font-size:clamp(44px, 6vw, 78px); line-height:1.02; letter-spacing:0; }
h2 { margin-bottom:0; font-size:clamp(32px, 4.1vw, 54px); line-height:1.08; letter-spacing:0; }
.hero-copy { max-width:570px; margin-bottom:31px; color:#eaf0ee; font-size:18px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:19px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:49px; padding:0 19px; font-size:13px; font-weight:800; }
.button-primary { color:#fff; background:var(--orange); }
.button-primary:hover { background:var(--orange-deep); }
.hero-email { color:#fff; font-size:14px; font-weight:700; text-decoration:underline; text-decoration-color:rgba(255,255,255,.45); text-underline-offset:5px; }
.hero-rail { position:absolute; z-index:1; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid rgba(255,255,255,.28); }
.hero-rail div { display:flex; gap:12px; align-items:center; min-height:74px; padding-right:24px; border-right:1px solid rgba(255,255,255,.28); color:#f3f6f4; font-size:13px; }
.hero-rail div + div { padding-left:24px; }
.hero-rail div:last-child { border-right:0; }
.hero-rail span { color:var(--orange); font-size:11px; font-weight:800; }
.section { padding:112px 0; }
.split-heading { display:grid; grid-template-columns:minmax(0, 1fr) minmax(300px, .7fr); gap:70px; align-items:end; padding-bottom:46px; }
.split-heading > p { margin:0 0 5px; color:var(--muted); font-size:16px; }
.path-grid { display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.path-card { min-height:355px; padding:29px; background:var(--white); border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.path-card:hover { background:#f0f4f1; }
.path-index { display:block; color:var(--orange); font-size:12px; font-weight:800; }
.path-card h3 { max-width:245px; margin:34px 0 13px; font-size:25px; line-height:1.14; letter-spacing:0; }
.path-card p { min-height:85px; margin:0; color:var(--muted); font-size:14px; }
.path-card ul { margin:18px 0 0; padding:16px 0 0; list-style:none; border-top:1px solid var(--line); color:#354951; font-size:13px; }
.path-card li { position:relative; padding:3px 0 3px 14px; }
.path-card li::before { position:absolute; top:10px; left:0; width:5px; height:5px; content:""; background:var(--orange); }
.system-band { color:#f1f4f2; background:var(--ink); }
.system-layout { display:grid; grid-template-columns:1.12fr .88fr; min-height:600px; }
.system-image { position:relative; min-height:500px; margin:0; overflow:hidden; }
.system-image img { width:100%; height:100%; object-fit:cover; }
.system-image::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg, transparent 55%, var(--ink) 100%); }
.system-image figcaption { position:absolute; z-index:1; right:20px; bottom:18px; left:20px; color:rgba(255,255,255,.72); font-size:11px; }
.system-copy { align-self:center; padding:90px 0 90px 68px; }
.system-copy .eyebrow { color:#f6a98e; }
.system-copy h2 { color:#fff; }
.system-copy > p:not(.eyebrow) { max-width:470px; margin:25px 0 35px; color:#b9c6c2; font-size:16px; }
.interface-list { border-top:1px solid #4d6064; }
.interface-list div { display:flex; justify-content:space-between; gap:25px; padding:14px 0; border-bottom:1px solid #4d6064; }
.interface-list span { color:#f6a98e; font-size:10px; font-weight:800; letter-spacing:1px; }
.interface-list strong { color:#eef4f1; font-size:14px; }
.brief-section { display:grid; grid-template-columns:.78fr 1.22fr; gap:82px; align-items:start; }
.brief-intro > p:not(.eyebrow) { max-width:405px; margin:23px 0 0; color:var(--muted); font-size:16px; }
.brief-grid { display:grid; grid-template-columns:repeat(2, 1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.brief-grid article { min-height:190px; padding:25px; background:var(--white); border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.brief-grid span { color:var(--orange); font-size:11px; font-weight:800; }
.brief-grid h3 { margin:26px 0 8px; font-size:20px; }
.brief-grid p { margin:0; color:var(--muted); font-size:14px; }
.approach-section { padding:112px 0; color:#eef3f1; background:#263942; }
.compact-heading { max-width:760px; margin-bottom:47px; }
.compact-heading .eyebrow { color:#ffb095; }
.compact-heading h2 { color:#fff; }
.approach-list { display:grid; grid-template-columns:repeat(4, 1fr); gap:0; margin:0; padding:0; list-style:none; border-top:1px solid #61747a; border-left:1px solid #61747a; }
.approach-list li { min-height:260px; padding:25px; border-right:1px solid #61747a; border-bottom:1px solid #61747a; }
.approach-list > li > span { display:block; margin-bottom:44px; color:#ffb095; font-size:11px; font-weight:800; }
.approach-list strong { display:block; margin-bottom:10px; color:#fff; font-size:20px; line-height:1.18; }
.approach-list p { margin:0; color:#c3d0cc; font-size:14px; }
.clarity { display:grid; grid-template-columns:.9fr 1.1fr; gap:82px; align-items:start; }
.clarity-grid { border-top:1px solid var(--line); }
.clarity-grid > div { display:grid; grid-template-columns:130px 1fr; gap:30px; padding:25px 0; border-bottom:1px solid var(--line); }
.clarity-grid span { color:var(--orange); font-size:11px; font-weight:800; letter-spacing:1px; }
.clarity-grid p { margin:0; color:var(--muted); font-size:16px; }
.contact-band { padding:96px 0; color:#fff; background:var(--orange); }
.contact-layout { display:grid; grid-template-columns:1fr .75fr; gap:80px; align-items:end; }
.contact-band .eyebrow { color:#ffe0d7; }
.contact-band h2 { max-width:660px; }
.contact-actions { align-self:end; }
.contact-actions .button-primary { color:var(--ink); background:#fff; }
.contact-actions .button-primary:hover { color:#fff; background:var(--ink); }
.contact-email { display:block; width:max-content; max-width:100%; margin-top:16px; color:#fff; font-size:15px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.contact-actions p { max-width:400px; margin:19px 0 0; color:#ffe8e0; font-size:13px; }
footer { padding:31px 0; color:#b9c7c3; background:#0f1e25; }
.footer-top { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:25px; align-items:center; font-size:12px; }
.footer-brand { color:#fff; font-size:13px; font-weight:800; letter-spacing:1px; }
footer a { color:#fff; }
footer a:hover { color:#ffb095; }
.footer-legal { display:inline-block; margin-top:4px; color:#b9c7c3; font-size:11px; }
.legal-main { padding:94px 0 112px; background:var(--white); }
.legal-heading { display:grid; grid-template-columns:minmax(0, 1fr) minmax(260px, .5fr); gap:72px; padding-bottom:56px; border-bottom:1px solid var(--line); }
.legal-heading h1 { max-width:800px; margin:0; color:var(--ink); font-size:clamp(42px, 5.5vw, 70px); }
.legal-heading p:not(.eyebrow) { align-self:end; margin:0; color:var(--muted); font-size:16px; }
.legal-layout { display:grid; grid-template-columns:205px minmax(0, 1fr); gap:70px; padding-top:54px; }
.legal-nav { display:block; align-self:start; position:sticky; top:104px; border-top:1px solid var(--line); }
.legal-nav a { display:block; padding:11px 0; border-bottom:1px solid var(--line); color:#53676f; font-size:13px; font-weight:700; }
.legal-nav a:hover { color:var(--orange); }
.legal-content { max-width:780px; }
.legal-section { padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid var(--line); scroll-margin-top:106px; }
.legal-section:last-child { margin-bottom:0; }
.legal-section h2 { margin:0 0 17px; color:var(--ink); font-size:30px; }
.legal-section h3 { margin:23px 0 8px; color:#31464e; font-size:18px; }
.legal-section p,.legal-section li { color:var(--muted); font-size:15px; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul { padding-left:21px; margin:14px 0; }
.legal-section a { color:var(--orange-deep); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.legal-date { color:#667880; font-size:13px; font-weight:700; }
@media (max-width:980px) { nav { display:none; } .header-inner { gap:18px; } .system-layout,.brief-section,.clarity,.contact-layout,.legal-heading,.legal-layout { grid-template-columns:1fr; gap:48px; } .system-copy { padding:72px 0; } .system-image { min-height:430px; } .system-image::after { background:linear-gradient(180deg, transparent 60%, var(--ink) 100%); } .approach-list { grid-template-columns:repeat(2, 1fr); } .contact-actions { align-self:start; } .legal-nav { position:static; display:grid; grid-template-columns:repeat(2, 1fr); } }
@media (max-width:760px) { .page-width { width:min(100% - 32px, 1180px); } .header-inner { min-height:65px; } .header-email { display:none; } .header-cta { min-height:36px; padding:0 11px; font-size:12px; } .brand { font-size:13px; } .brand-mark { width:26px; height:26px; } .hero { min-height:670px; } .hero-scrim { background:linear-gradient(90deg, rgba(10,24,31,.92), rgba(10,24,31,.4)); } .hero-content { padding:90px 0 160px; } h1 { font-size:43px; } h2 { font-size:34px; } .hero-copy { font-size:16px; } .hero-rail { grid-template-columns:1fr; bottom:18px; border-top:0; } .hero-rail div { min-height:auto; padding:5px 0; border-right:0; } .hero-rail div + div { padding-left:0; } .section,.approach-section,.legal-main { padding:76px 0; } .split-heading { grid-template-columns:1fr; gap:21px; padding-bottom:32px; } .path-grid,.brief-grid,.approach-list { grid-template-columns:1fr; } .path-card { min-height:0; padding:24px; } .path-card h3 { margin-top:25px; } .path-card p { min-height:0; } .system-layout { width:100%; } .system-image { min-height:365px; } .system-copy { width:min(100% - 32px, 1180px); margin:0 auto; padding:66px 0; } .brief-section,.clarity,.contact-layout,.legal-heading,.legal-layout { gap:35px; } .brief-grid article { min-height:0; } .clarity-grid > div { grid-template-columns:1fr; gap:8px; } .approach-list li { min-height:0; } .approach-list > li > span { margin-bottom:25px; } .contact-band { padding:76px 0; } .footer-top { grid-template-columns:1fr; gap:9px; } .legal-heading { padding-bottom:35px; } .legal-nav { grid-template-columns:1fr; } .legal-section h2 { font-size:27px; } }
