:root { color-scheme: light; --ink:#11212b; --muted:#4b5b65; --paper:#f4f7f6; --white:#fff; --blue:#1f5bea; --lime:#d4f671; --line:#d9e1e2; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--paper); color:var(--ink); font:400 1rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
    a { color:inherit; }
    a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; border-radius:3px; }
    .container { width:min(100% - 3rem, 1180px); margin-inline:auto; }
    .skip-link { position:absolute; top:-5rem; left:1rem; z-index:20; background:#fff; padding:.75rem 1rem; }
    .skip-link:focus { top:1rem; }
    .site-header { background:#fff; border-bottom:1px solid var(--line); }
    .header-inner { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
    .brand { display:inline-flex; align-items:center; text-decoration:none; font-size:1.55rem; font-weight:850; letter-spacing:-.08em; line-height:1; }
    .brand-mark { display:inline-block; color:var(--blue); margin-right:.14em; transform:skew(-10deg); }
    .brand small { font-size:.62rem; letter-spacing:.01em; font-weight:600; align-self:end; margin:0 0 .12em .3em; }
    .nav { display:flex; gap:clamp(1rem,3vw,2.2rem); align-items:center; }
    .nav a { text-decoration:none; font-size:.9rem; font-weight:650; }
    .nav a:not(.nav-contact):hover { color:var(--blue); }
    .nav-contact { padding:.62rem 1rem; border:1px solid var(--ink); border-radius:999px; white-space:nowrap; }
    .nav-contact:hover { background:var(--ink); color:#fff; }
    .hero { overflow:hidden; background:var(--ink); color:#fff; }
    .hero-inner { position:relative; min-height:570px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); align-items:center; gap:4rem; padding-block:5.5rem 6rem; }
    .hero-copy { position:relative; z-index:1; }
    .eyebrow { display:inline-block; margin:0 0 1.25rem; color:var(--lime); font-size:.8rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
    h1,h2,h3,p { margin-top:0; }
    h1 { max-width:750px; font-size:clamp(3.2rem,7.3vw,6.8rem); line-height:.99; letter-spacing:-.075em; font-weight:750; margin-bottom:1.6rem; }
    .hero-lede { max-width:580px; color:#d3dce0; font-size:clamp(1.05rem,1.7vw,1.25rem); line-height:1.55; margin-bottom:2rem; }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:49px; padding:.8rem 1.25rem; border-radius:5px; background:var(--lime); color:var(--ink); font-size:.92rem; font-weight:750; line-height:1.2; text-decoration:none; transition:transform .2s,background .2s; }
    .button:hover { transform:translateY(-2px); background:#e1ffa0; }
    .button svg { width:17px; height:17px; }
    .hero-art { position:relative; min-height:340px; width:100%; display:grid; place-items:center; }
    .orbit { width:min(100%,390px); aspect-ratio:1; border:1px solid rgba(212,246,113,.47); border-radius:50%; display:grid; place-items:center; position:relative; }
    .orbit::before,.orbit::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(212,246,113,.3); inset:14%; }
    .orbit::after { inset:29%; border-color:rgba(212,246,113,.8); }
    .orbit span { position:relative; z-index:1; width:16%; aspect-ratio:1; border-radius:50%; background:var(--lime); box-shadow:0 0 70px rgba(212,246,113,.3); }
    .orbit i { position:absolute; width:12px; height:12px; background:var(--lime); border-radius:50%; top:16%; right:16%; }
    .orbit b { position:absolute; width:8px; height:8px; background:#72a6ff; border-radius:50%; bottom:15%; left:18%; }
    section { scroll-margin-top:2rem; }
    .section { padding-block:5.5rem; }
    .section-heading { max-width:730px; margin-bottom:2.5rem; }
    .kicker { margin-bottom:.8rem; color:var(--blue); text-transform:uppercase; font-size:.78rem; font-weight:800; letter-spacing:.14em; }
    h2 { font-size:clamp(2.2rem,4.2vw,3.7rem); line-height:1.08; letter-spacing:-.055em; margin-bottom:1.1rem; }
    .section-heading p:last-child,.about-text { color:var(--muted); font-size:1.08rem; }
    .services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
    .service { background:#fff; border:1px solid var(--line); padding:2rem; min-height:225px; display:flex; flex-direction:column; }
    .service-number { color:var(--blue); font-size:.8rem; font-weight:800; margin-bottom:1.4rem; }
    h3 { font-size:1.25rem; line-height:1.25; letter-spacing:-.025em; margin-bottom:.65rem; }
    .service p { color:var(--muted); margin:0; font-size:.96rem; }
    .about { background:#e8efef; }
    .about-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,8vw,9rem); align-items:start; }
    .about-text p { margin-bottom:1rem; }
    .contact { background:var(--blue); color:#fff; }
    .contact-layout { display:flex; justify-content:space-between; align-items:end; gap:3rem; }
    .contact .kicker { color:var(--lime); }
    .contact h2 { max-width:680px; margin-bottom:1rem; }
    .contact p { color:#e5edff; max-width:650px; margin-bottom:0; }
    .contact .button { flex:none; }
    footer { background:#fff; padding:2.5rem 0; }
    .footer-inner { display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; align-items:start; }
    .footer-name { font-weight:800; letter-spacing:-.02em; margin:0 0 .35rem; }
    .footer-meta { color:var(--muted); font-size:.88rem; margin:0; }
    .footer-links { display:flex; gap:1rem 1.5rem; flex-wrap:wrap; }
    .footer-links a { color:var(--muted); font-size:.88rem; text-underline-offset:3px; }
    .footer-links a:hover { color:var(--blue); }
    @media (max-width:860px) { .hero-inner { grid-template-columns:1fr; gap:1rem; min-height:0; padding-block:5rem; } .hero-art { display:none; } .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .about-layout { grid-template-columns:1fr; gap:1rem; } .contact-layout { align-items:start; flex-direction:column; gap:2rem; } }
    @media (max-width:600px) { .container { width:min(100% - 2rem,1180px); } .header-inner { min-height:70px; flex-wrap:wrap; padding-block:1rem; gap:.7rem; } .nav { width:100%; justify-content:space-between; } .brand { font-size:1.4rem; } .brand small { display:none; } .nav { gap:1rem; } .nav a:not(.nav-contact) { display:inline; } .nav-contact { font-size:.85rem; padding:.55rem .8rem; } .hero-inner { padding-block:4rem; } h1 { font-size:clamp(3rem,13vw,4.8rem); } .section { padding-block:4rem; } .services-grid { grid-template-columns:1fr; } .service { min-height:0; padding:1.5rem; } .service-number { margin-bottom:1rem; } .contact .button { width:100%; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
  
    .page-hero { background:var(--ink); color:#fff; padding-block:4.6rem 4.8rem; }
    .page-hero h1 { font-size:clamp(3rem,6vw,5rem); max-width:850px; margin-bottom:1rem; }
    .page-hero p:last-child { color:#d3dce0; font-size:1.12rem; max-width:700px; margin-bottom:0; }
    .page-content { padding-block:4.5rem 6rem; }
    .content-narrow { max-width:820px; }
    .prose { font-size:1.05rem; color:var(--muted); }
    .prose p { margin-bottom:1.4rem; }
    .prose h2 { color:var(--ink); margin:2.8rem 0 1rem; font-size:clamp(1.7rem,3vw,2.4rem); }
    .prose h3 { color:var(--ink); margin:2rem 0 .65rem; font-size:1.25rem; }
    .prose ul { padding-left:1.5rem; margin:0 0 1.5rem; }
    .prose li { padding-left:.15rem; margin:.4rem 0; }
    .prose a { color:var(--blue); text-underline-offset:3px; }
    .feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
    .feature { background:#fff; border:1px solid var(--line); padding:2rem; }
    .feature h2 { font-size:1.45rem; line-height:1.2; letter-spacing:-.035em; margin-bottom:1rem; }
    .feature p { color:var(--muted); margin-bottom:1rem; }
    .feature p:last-child { margin-bottom:0; }
    .contact-card { padding:2rem; background:#fff; border:1px solid var(--line); max-width:680px; }
    .contact-card p { color:var(--muted); }
    .contact-card .button { background:var(--blue); color:#fff; overflow-wrap:anywhere; }
    .contact-card .button:hover { background:#1547bc; }
    .legal { max-width:900px; }
    .legal p,.legal li { overflow-wrap:anywhere; }
    .legal .meta { color:var(--muted); font-size:.9rem; margin-bottom:2rem; }
    .legal .document-link { display:inline-block; margin:1rem 0 1.5rem; }
    .legal table { border-collapse:collapse; width:100%; font-size:.94rem; }
    .legal th,.legal td { border:1px solid var(--line); padding:.8rem; vertical-align:top; text-align:left; }
    .legal th { background:#e8efef; color:var(--ink); }
    .table-wrap { overflow-x:auto; max-width:100%; }
    .legal-note { background:#e8efef; border-left:4px solid var(--blue); padding:1rem 1.25rem; margin:0 0 2rem; }
    .legal-note p { margin:0; }
    .top-link { display:inline-block; margin-top:2rem; font-weight:700; color:var(--blue); }
    @media(max-width:700px) { .feature-list { grid-template-columns:1fr; } .page-content { padding-block:3.5rem 4.5rem; } .legal th,.legal td { min-width:190px; } }
