:root { --paper:#f3f0e8; --ink:#172e31; --muted:#506566; --line:#c7cfca; --signal:#b24b2d; --dark:#123034; --light:#e7efe8; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--paper); font:17px/1.55 'Trebuchet MS', 'Gill Sans', sans-serif; }
    a { color:inherit; text-underline-offset:4px; }
    a:focus-visible, button:focus-visible { outline:3px solid var(--signal); outline-offset:4px; }
    .shell { max-width:1240px; margin:auto; padding-inline:clamp(22px,5vw,76px); }
    header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:26px; border-bottom:1px solid var(--line); }
    .brand { display:inline-flex; align-items:center; gap:12px; flex:0 1 auto; min-width:0; text-decoration:none; font-weight:800; letter-spacing:-.04em; font-size:23px; line-height:1; }
    .brand img { display:block; flex:none; width:64px; height:64px; }
    .brand span { white-space:nowrap; }
    nav { display:flex; align-items:center; gap:clamp(16px,3vw,40px); font-size:14px; font-weight:700; }
    nav a { text-decoration:none; }
    nav a:hover, footer a:hover { color:var(--signal); }
    .hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(265px,.65fr); min-height:610px; align-items:center; gap:5vw; padding-block:70px 95px; position:relative; }
    .eyebrow { color:var(--signal); text-transform:uppercase; font-size:12px; letter-spacing:.18em; font-weight:800; }
    h1, h2, h3 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; letter-spacing:-.045em; line-height:1.08; }
    h1 { font-size:clamp(52px,7.5vw,101px); margin:24px 0 28px; max-width:850px; }
    h1 em { color:var(--signal); font-weight:400; }
    .hero p { max-width:610px; font-size:clamp(18px,2vw,22px); color:var(--muted); margin:0 0 34px; line-height:1.5; }
    .action { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:18px; background:var(--ink); color:white; padding:11px 20px; text-decoration:none; font-weight:700; font-size:15px; border:0; }
    .action:hover { background:var(--signal); }
    .action[aria-disabled="true"] { background:#506566; cursor:not-allowed; opacity:.78; }
    .status { font-size:13px !important; color:var(--muted); margin-top:10px !important; }
    .diagram { aspect-ratio:1; max-width:370px; width:100%; border:1px solid var(--line); border-radius:50%; margin:auto; display:grid; place-items:center; position:relative; background:radial-gradient(circle at center, transparent 18%, #e2e8df 19%, transparent 20%, transparent 42%, #d7ded5 43%, transparent 44%); }
    .diagram::before,.diagram::after { content:""; position:absolute; border:1px solid var(--line); border-radius:50%; inset:14%; }
    .diagram::after { inset:32%; border-color:var(--signal); }
    .diagram span { z-index:1; text-transform:uppercase; font:700 11px/1.2 'Trebuchet MS',sans-serif; letter-spacing:.15em; background:var(--paper); padding:12px; text-align:center; }
    .diagram small { position:absolute; font:700 11px/1.2 'Trebuchet MS',sans-serif; letter-spacing:.08em; text-transform:uppercase; background:var(--paper); padding:5px; }
    .diagram small:nth-of-type(1) { top:9%; left:0; } .diagram small:nth-of-type(2) { right:-6%; top:32%; } .diagram small:nth-of-type(3) { bottom:13%; left:1%; }
    section { padding-block:90px; border-top:1px solid var(--line); }
    h2 { font-size:clamp(40px,5vw,64px); margin:10px 0 22px; max-width:850px; }
    .intro { max-width:710px; color:var(--muted); font-size:19px; margin-bottom:50px; }
    .offer { background:var(--dark); color:var(--paper); padding:clamp(28px,5vw,65px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,80px); }
    .offer h3 { font-size:clamp(32px,4vw,50px); margin:12px 0 22px; }
    .offer p { color:#c5d6d1; max-width:500px; }
    .offer .eyebrow { color:#f1a589; }
    .deliverables { list-style:none; margin:0; padding:0; }
    .deliverables li { padding:15px 0; border-bottom:1px solid #476164; display:flex; gap:20px; }
    .deliverables li::before { content:'0' counter(item); counter-increment:item; color:#f1a589; font:13px/2 monospace; }
    .deliverables { counter-reset:item; }
    .aside { font-size:13px; opacity:.8; margin-top:30px; }
    .capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:46px; }
    .capabilities article { border-top:2px solid var(--ink); padding-top:22px; }
    .capabilities h3 { font-size:29px; margin:0 0 15px; }
    .capabilities p { color:var(--muted); margin:0; }
    .process { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
    .process ol { margin:14px 0 0; padding:0; list-style:none; counter-reset:step; }
    .process li { counter-increment:step; border-bottom:1px solid var(--line); padding:20px 0; display:grid; grid-template-columns:45px 1fr; gap:15px; }
    .process li::before { content:'0' counter(step); color:var(--signal); font:700 14px/1.8 monospace; }
    .contact { background:var(--light); padding:clamp(40px,6vw,80px); }
    .contact-main { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(32px,6vw,90px); align-items:center; }
    .contact h2 { margin-bottom:0; }
    .contact-details p:first-child { margin:0 0 28px; font-size:19px; line-height:1.55; }
    .contact-action { min-height:56px; }
    .contact-address { margin:14px 0 0; color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
    .contact-note { border-top:1px solid var(--line); margin:clamp(38px,5vw,68px) 0 0; padding-top:18px; color:var(--muted); font-size:13px; }
    footer { padding-block:35px; display:flex; justify-content:space-between; gap:25px; color:var(--muted); font-size:13px; }
    @media(max-width:800px) { nav a:not(:last-child) { display:none; } .hero { grid-template-columns:1fr; min-height:0; padding-block:60px; } .diagram { max-width:260px; } .offer,.process,.contact-main { grid-template-columns:1fr; } .capabilities { grid-template-columns:1fr; } section { padding-block:65px; } }
    @media(max-width:480px) { .brand { gap:8px; font-size:18px; } .brand img { width:44px; height:44px; } nav { font-size:13px; } .hero { gap:35px; } .diagram { display:none; } footer { flex-direction:column; } }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
