/* Jurion Static Portal v1.1. Local assets and system fonts only. */
:root { --navy-950:#030d1c; --navy-900:#061426; --ink:#142237; --muted:#526174; --gold:#d69a3d; --gold-light:#f0bd65; --line:#dfe4ea; --white:#fff; --surface:#f4f6f8; --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; font-family:var(--font); font-size:1rem; line-height:1.7; color:var(--ink); background:var(--white); overflow-wrap:break-word; }
img { max-width:100%; height:auto; }
h1,h2,h3 { margin:0 0 1rem; line-height:1.25; }
h1,h2 { text-wrap:balance; }
.keep-together { white-space:nowrap; }
h1 { font-size:clamp(2.25rem,1.5rem + 3vw,4rem); font-weight:500; letter-spacing:-.035em; }
h2 { font-size:clamp(1.75rem,1.3rem + 1.5vw,2.625rem); font-weight:500; letter-spacing:-.025em; color:var(--navy-900); }
h3 { font-size:1.25rem; font-weight:550; letter-spacing:-.015em; }
p { margin:0 0 1.25rem; }
ul,ol { padding:0; margin:0; list-style:none; }
a { color:inherit; text-underline-offset:.25em; }
:focus-visible { outline:3px solid var(--gold-light); outline-offset:3px; box-shadow:0 0 0 6px var(--navy-950); }
main:focus { outline:none; box-shadow:none; }
.container { width:100%; max-width:76rem; margin-inline:auto; padding-inline:clamp(1.25rem,3vw,3rem); }
[id] { scroll-margin-top:1.5rem; }
.skip-link { position:absolute; top:-10rem; left:1.25rem; z-index:10; padding:.75rem 1rem; background:var(--white); color:var(--navy-950); font-weight:650; }
.skip-link:focus { top:1rem; }
.site-header { background:var(--navy-950); color:var(--white); border-bottom:1px solid #34404e; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.25rem 2rem; padding-block:1.125rem; }
.brand { width:220px; flex:0 0 220px; display:flex; flex-direction:column; align-items:center; gap:.25rem; text-decoration:none; }
.brand-logo { display:block; width:220px; }
.brand-descriptor { width:100%; text-align:center; color:var(--gold-light); font-size:.6875rem; letter-spacing:.115em; text-transform:uppercase; white-space:nowrap; }
.site-nav { margin-left:auto; }
.nav-list { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.25rem 1rem; }
.nav-list a { display:block; padding:.625rem 0; min-height:44px; text-decoration:none; font-size:.9375rem; font-weight:550; }
.nav-list a:hover,.language-switch a:hover { color:var(--gold-light); text-decoration:underline; }
.language-switch { display:flex; align-items:center; gap:.5rem; flex-shrink:0; font-size:.875rem; }
.language-switch a { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; text-decoration:none; }
.language-switch a[aria-current] { color:var(--gold-light); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; }
.hero { color:var(--white); background:var(--navy-900); padding-block:clamp(3.75rem,6vw,6.25rem); border-bottom:1px solid var(--gold); }
.hero-inner { position:relative; }
.eyebrow { color:var(--gold-light); font-size:.8125rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.75rem; }
.hero h1 { max-width:22ch; }
.hero-lead { color:#e1e7ee; font-size:clamp(1.125rem,1rem + .35vw,1.25rem); max-width:66ch; margin-bottom:0; }
.cta-group { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.cta-group li { display:flex; min-width:0; }
.cta { display:inline-flex; justify-content:center; align-items:center; gap:.75rem; padding:.875rem 1.375rem; min-height:52px; border:1px solid var(--gold); background:var(--gold); color:var(--navy-950); text-decoration:none; font-weight:650; line-height:1.5; text-align:center; border-radius:2px; }
.cta:hover { background:var(--gold-light); border-color:var(--gold-light); }
.cta-outline { background:transparent; color:var(--white); border-color:#85909e; }
.cta-outline:hover { background:#162b43; color:var(--gold-light); border-color:var(--gold-light); }
.section { padding-block:clamp(3.5rem,6vw,5.5rem); }
.section-intro { max-width:48rem; margin-bottom:2.5rem; }
.section-intro p:last-child { color:var(--muted); font-size:1.0625rem; margin-bottom:0; }
.section-marker { color:#79521b; font-size:.8125rem; font-weight:650; letter-spacing:.08em; margin-bottom:1rem; }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 3rem; }
.service-card { display:grid; grid-template-columns:2rem 1fr; gap:1rem; padding:2rem 0; border-top:1px solid #b18a51; background:var(--white); }
.card-number { display:block; color:#79521b; font-size:.8125rem; font-weight:600; padding-top:.25rem; }
.service-card h3 { margin-bottom:.875rem; }
.service-card p { color:var(--muted); font-size:.9375rem; margin:0; }
.section-link { margin:2rem 0 0; }
.text-link { display:inline-block; font-weight:650; padding-block:.5rem; }
.text-link:hover { text-decoration-thickness:2px; }
.support-strip { margin-top:1.75rem; border-left:3px solid var(--gold); padding:1.75rem 2rem; background:var(--surface); display:grid; grid-template-columns:1fr 1.6fr; gap:2rem; align-items:center; }
.support-strip h3,.support-strip p { margin:0; }
.support-strip p { color:var(--muted); }
.section-alt { background:var(--surface); border-block:1px solid var(--line); }
.client-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.client-card { display:flex; flex-direction:column; padding:2rem; background:var(--white); border-top:1px solid #b18a51; }
.client-card h3 { font-size:1.5rem; }
.client-card p { color:var(--muted); }
.client-card .text-link { margin-top:auto; }
.client-domain { display:block; font-size:.8125rem; color:var(--muted); margin-top:.25rem; }
.about-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:4rem; }
.about-copy p { color:var(--muted); }
.final-cta { background:var(--navy-900); color:#e1e7ee; border-top:1px solid #34404e; }
.final-cta h2 { color:var(--white); max-width:25ch; }
.final-cta p { margin-bottom:0; }
.site-footer { background:var(--navy-950); color:#c4cdd9; font-size:.9375rem; padding-block:3.5rem 1.75rem; }
.footer-grid { display:grid; grid-template-columns:1.35fr 1.2fr 1fr .55fr; gap:2rem; }
.footer-name { color:var(--white); font-weight:650; letter-spacing:.07em; font-size:1rem; }
.footer-brand p { margin-bottom:.375rem; }
.footer-heading { color:var(--gold-light); font-size:.9375rem; font-weight:600; letter-spacing:.02em; margin-bottom:.75rem; }
.footer-links { display:grid; gap:.125rem; }
.footer-links a { display:inline-block; min-height:44px; padding-block:.5rem; text-decoration:none; }
.footer-links a:hover { color:var(--gold-light); text-decoration:underline; }
.language-switch-footer { justify-content:flex-start; width:max-content; margin-top:0; }
.footer-copy { margin:2.5rem 0 0; padding-top:1.5rem; border-top:1px solid #34404e; font-size:.8125rem; }
.notfound { padding-block:5rem; }
.notfound p { max-width:55ch; }
@media (max-width:64rem) { .header-inner { flex-wrap:wrap; } .site-nav { order:3; width:100%; margin-left:0; } .nav-list { justify-content:flex-start; gap:.25rem 1.75rem; } .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .about-grid { gap:2rem; } .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; } }
@media (max-width:42rem) { .header-inner { gap:.875rem .25rem; } .brand { width:clamp(168px,calc(100vw - 150px),184px); flex-basis:clamp(168px,calc(100vw - 150px),184px); } .brand-logo { width:100%; } .brand-descriptor { font-size:.625rem; letter-spacing:.075em; } .language-switch { gap:0; font-size:.8125rem; } .language-switch a { min-width:40px; } .nav-list { gap:0 1.25rem; } .nav-list a { font-size:.875rem; } .hero h1 { max-width:100%; } .service-grid,.client-grid,.about-grid,.support-strip,.footer-grid { grid-template-columns:1fr; } .service-card { padding:1.5rem 0; grid-template-columns:1.5rem 1fr; gap:.75rem; }  .client-card { padding:1.5rem; } .support-strip { padding:1.5rem; gap:1rem; } .about-grid { gap:1rem; } .footer-grid { grid-template-columns:1fr; gap:2rem; } .cta-group li { flex:1 1 100%; } .cta { width:100%; padding-inline:1rem; font-size:.9375rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

