:root { --navy:#061735; --blue:#0967d9; --cyan:#08b9c5; --ink:#07162d; --muted:#5d6878; --soft:#eef3f8; --line:#dbe3eb; --font-geist-sans:"Manrope",Arial,sans-serif; --font-geist-mono:"DM Mono",monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:var(--font-geist-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:88px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; background:#fff; position:relative; z-index:20; border-bottom:1px solid #e5ebf1; }
.brand img { width:120px; height:58px; object-fit:contain; object-position:left center; }
.site-header nav { display:flex; gap:38px; font-size:14px; font-weight:600; }
.site-header nav a { position:relative; }
.site-header nav a:after { content:""; width:0; height:2px; background:var(--cyan); position:absolute; left:0; bottom:-8px; transition:.3s; }
.site-header nav a:hover:after { width:100%; }
.header-cta { padding:13px 18px; background:var(--navy); color:#fff; font-size:13px; font-weight:650; display:flex; gap:18px; align-items:center; }
.header-cta span { color:var(--cyan); font-size:18px; }
.nav-toggle,.nav-button { display:none; }
.hero { min-height:calc(100vh - 88px); background:var(--navy); color:#fff; position:relative; padding:90px 5vw 68px; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; gap:4vw; }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,black,transparent 85%); }
.hero:before { content:""; position:absolute; width:500px; height:500px; border:1px solid rgba(8,185,197,.2); border-radius:50%; right:-120px; top:-200px; }
.hero-copy { position:relative; z-index:2; max-width:760px; }
.eyebrow,.section-kicker { text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:700; display:flex; gap:12px; align-items:center; }
.eyebrow { color:#93a9c3; margin-bottom:36px; }
.eyebrow span { width:28px; height:1px; background:var(--cyan); }
.hero h1 { font-size:clamp(52px,6.3vw,100px); line-height:.93; letter-spacing:-.065em; margin:0; font-weight:620; }
.hero h1 em,.cta-section h2 em { color:var(--cyan); font-weight:320; font-style:italic; }
.hero-copy>p { max-width:590px; color:#b3c1d2; font-size:18px; line-height:1.65; margin:32px 0; }
.hero-actions { display:flex; align-items:center; gap:34px; }
.button { display:inline-flex; padding:17px 22px; font-weight:650; font-size:14px; align-items:center; gap:42px; transition:.25s; }
.button.primary { background:var(--blue); color:#fff; }
.button:hover { transform:translateY(-2px); }
.text-link { font-size:14px; font-weight:650; display:inline-flex; gap:14px; align-items:center; border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:5px; }
.text-link span { color:var(--cyan); }
.hero-visual { position:relative; z-index:1; min-height:520px; align-self:center; }
.hero-photo { position:absolute; inset:0 0 25px 8%; margin:0; overflow:hidden; background:#0a2d5e; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:61% center; filter:saturate(.78) contrast(1.05); }
.hero-photo-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,23,53,.62),transparent 45%),linear-gradient(0deg,rgba(4,17,40,.55),transparent 48%); }
.hero-frame { position:absolute; inset:28px 4% 0 0; border:1px solid rgba(10,203,214,.48); pointer-events:none; }
.signal-card { position:absolute; padding:18px 20px; background:rgba(7,32,70,.8); border:1px solid rgba(255,255,255,.15); backdrop-filter:blur(12px); min-width:150px; box-shadow:0 20px 50px rgba(0,0,0,.2); }
.signal-card b { font-size:30px; display:block; }
.signal-card span { color:#9fb2c9; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.signal-card i { display:block; height:2px; background:linear-gradient(90deg,var(--cyan) 82%,#284360 82%); margin-top:13px; }
.card-one { top:42px; left:0; }
.card-two { right:-15px; bottom:0; top:auto; min-width:180px; }
.card-two b { font-size:18px; margin-top:5px; }
.hero-label { position:absolute; left:11%; bottom:52px; font:10px/1.6 var(--font-geist-mono); text-transform:uppercase; color:#d6e4f1; letter-spacing:.08em; }
.market-strip { position:absolute; z-index:2; bottom:0; left:0; right:0; min-height:54px; padding:18px 5vw; background:rgba(2,13,32,.78); display:flex; align-items:center; justify-content:center; gap:24px; color:#8fa2b9; text-transform:uppercase; font:10px var(--font-geist-mono); letter-spacing:.13em; }
.market-strip i { width:3px; height:3px; background:var(--cyan); border-radius:50%; }
.section { padding:120px 6vw; }
.section-kicker { color:#708092; align-items:flex-start; padding-top:8px; }
.about-main,.section-heading { display:grid; grid-template-columns:.42fr 1fr; gap:5vw; margin-bottom:90px; }
.about h2,.section-heading h2,.contact h2 { margin:0; font-size:clamp(48px,5.4vw,78px); line-height:1.04; letter-spacing:-.055em; font-weight:600; }
.about h2 { grid-column:1/2; white-space:nowrap; }
.about-main { grid-template-columns:1.05fr .75fr; margin-top:45px; }
.about h2 span,.section-heading h2 span { color:#9ca8b4; font-weight:300; }
.about-copy { padding-top:4px; max-width:620px; }
.about-copy .lead { font-size:21px; line-height:1.55; color:#1b2b40; margin-top:0; }
.about-copy p:not(.lead),.section-heading p { color:var(--muted); line-height:1.75; font-size:15px; }
.text-link.dark { color:var(--ink); border-color:#a8b2bd; margin-top:18px; }
.people-showcase { display:grid; grid-template-columns:1.45fr .7fr .6fr; gap:18px; margin:0 0 85px; align-items:stretch; }
.people-showcase figure { margin:0; position:relative; overflow:hidden; min-height:470px; background:#dfe7ee; }
.people-showcase img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.8) contrast(1.04); transition:transform .7s ease; }
.people-showcase figure:hover img { transform:scale(1.025); }
.people-main img { object-position:center 47%; }
.people-side img { object-position:center 48%; }
.people-showcase figcaption { position:absolute; left:0; right:0; bottom:0; padding:48px 25px 24px; color:#fff; background:linear-gradient(transparent,rgba(3,18,42,.9)); }
.people-showcase figcaption span { display:block; margin-bottom:8px; color:#92e9ed; font:9px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.14em; }
.people-showcase figcaption b { max-width:410px; display:block; font-size:21px; line-height:1.35; }
.people-side figcaption { font-size:12px; line-height:1.55; color:#dce7f3; }
.people-note { padding:34px 28px; background:var(--blue); color:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.people-note span { font:10px var(--font-geist-mono); color:#a9e7ef; text-transform:uppercase; letter-spacing:.14em; }
.people-note p { font-size:20px; line-height:1.45; letter-spacing:-.025em; margin:0; }
.values-row { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); }
.values-row article { padding:30px 28px 10px 0; border-right:1px solid var(--line); }
.values-row article+article { padding-left:28px; }
.values-row article:last-child { border:0; }
.values-row b { font:11px var(--font-geist-mono); color:var(--blue); }
.values-row h3 { font-size:17px; margin:38px 0 10px; }
.values-row p { color:var(--muted); font-size:13px; line-height:1.6; margin:0; }
.services { background:#071a37; color:#fff; }
.section-heading>div:last-child { display:grid; grid-template-columns:1fr .45fr; align-items:end; gap:5vw; }
.section-heading h2 { grid-column:1; }
.section-heading p { margin:0 0 6px; }
.section-heading.light .section-kicker { color:#8399b3; }
.section-heading.light h2 span { color:#49617e; }
.section-heading.light p { color:#91a4ba; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid rgba(255,255,255,.11); border-top:1px solid rgba(255,255,255,.11); }
.service-grid article { min-height:390px; padding:30px; border-right:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(255,255,255,.11); transition:.3s; }
.service-grid article:hover { background:#0a2348; transform:translateY(-4px); }
.service-top { display:flex; justify-content:space-between; color:#7389a3; font:11px var(--font-geist-mono); }
.service-top i { color:var(--cyan); font-size:18px; font-style:normal; }
.service-icon { width:66px; height:66px; margin:48px 0 40px; position:relative; border:1px solid #1c74d5; border-radius:50%; }
.service-icon span { position:absolute; background:var(--cyan); }
.service-icon span:nth-child(1) { width:26px; height:1px; top:32px; left:20px; }
.service-icon span:nth-child(2) { width:1px; height:26px; top:20px; left:32px; }
.service-icon span:nth-child(3) { width:8px; height:8px; border-radius:50%; top:28px; left:28px; box-shadow:0 0 12px var(--cyan); }
.service-grid h3 { font-size:22px; margin:0 0 13px; }
.service-grid p { font-size:14px; line-height:1.65; color:#91a5bd; max-width:330px; }
.tags { display:flex; gap:7px; margin-top:22px; }
.tags small { padding:5px 8px; border:1px solid #314967; color:#748ba7; font:9px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.08em; }
.sector-stories { display:grid; grid-template-columns:1fr 1fr 1fr; background:#071a37; color:#fff; }
.sector-lead { grid-column:1/-1; display:grid; grid-template-columns:1fr .55fr; gap:8vw; align-items:end; padding:105px 6vw 70px; border-top:1px solid rgba(255,255,255,.12); }
.sector-lead span,.sector-card span { color:var(--cyan); font:10px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.14em; }
.sector-lead h2 { margin:18px 0 0; font-size:clamp(48px,6vw,85px); line-height:.95; letter-spacing:-.055em; font-weight:550; }
.sector-lead p { max-width:520px; margin:0; color:#9eb0c5; font-size:16px; line-height:1.7; }
.sector-card { min-height:610px; position:relative; overflow:hidden; }
.sector-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,15,36,.96) 0%,rgba(3,15,36,.18) 72%); transition:.4s; }
.sector-card:hover:after { background:linear-gradient(0deg,rgba(3,15,36,.94) 0%,rgba(3,15,36,.05) 72%); }
.sector-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s ease; filter:saturate(.78); }
.sector-card:hover img { transform:scale(1.035); }
.sector-card>div { position:absolute; z-index:2; left:34px; right:34px; bottom:34px; }
.sector-card h3 { font-size:25px; line-height:1.25; margin:13px 0 9px; }
.sector-card p { margin:0; color:#aebed0; font-size:13px; line-height:1.65; max-width:360px; }
.sector-industry { border-left:1px solid rgba(255,255,255,.14); border-right:1px solid rgba(255,255,255,.14); }
.work { background:#f7f9fb; }
.project-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:76px 30px; }
.project-feature { display:grid; grid-template-columns:1fr; }
.project-visual { aspect-ratio:16/10; position:relative; overflow:hidden; background:#071a37; }
.project-visual:after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(7,26,55,.08); pointer-events:none; }
.project-visual img { width:100%; height:100%; object-fit:cover; transition:transform .85s cubic-bezier(.2,.7,.2,1); }
.project-feature:hover .project-visual img { transform:scale(1.02); }
.project-number { position:absolute; left:24px; top:24px; z-index:2; color:#fff; background:rgba(3,16,37,.7); backdrop-filter:blur(10px); padding:9px 11px; font:10px var(--font-geist-mono); }
.project-view { position:absolute; right:24px; top:24px; z-index:2; color:#fff; background:rgba(3,16,37,.72); backdrop-filter:blur(10px); padding:12px 15px; font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.project-view i { color:var(--cyan); font-style:normal; margin-left:18px; }
.project-detail { display:block; padding:26px 0 0; border-top:1px solid var(--line); }
.project-detail small { color:var(--blue); font:10px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.13em; }
.project-detail h3 { margin:10px 0 0; font-size:clamp(27px,3vw,40px); letter-spacing:-.04em; line-height:1.08; }
.project-detail p { margin:20px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.project-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.project-tags span { border:1px solid #c9d3dd; padding:7px 9px; font:9px var(--font-geist-mono); color:#536477; text-transform:uppercase; letter-spacing:.08em; }
.cta-section { min-height:680px; background:#0758be; color:#fff; padding:120px 6vw; text-align:center; display:flex; flex-direction:column; align-items:center; position:relative; overflow:hidden; }
.cta-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 53%; filter:saturate(.65); }
.cta-photo-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(4,61,147,.92),rgba(7,104,217,.8)); }
.cta-section .section-kicker { color:#c3e4f6; padding:0; }
.cta-section h2 { font-size:clamp(65px,8vw,120px); line-height:.9; letter-spacing:-.06em; margin:55px 0 30px; font-weight:600; position:relative; z-index:2; }
.cta-section p { max-width:570px; color:#cde3fb; font-size:17px; line-height:1.6; margin:0 0 35px; position:relative; z-index:2; }
.button.white { background:#fff; color:var(--blue); position:relative; z-index:2; }
.cta-orbit span { position:absolute; border:1px solid rgba(255,255,255,.15); border-radius:50%; width:550px; height:550px; left:50%; top:50%; transform:translate(-50%,-48%); }
.cta-orbit span:nth-child(2) { width:800px; height:800px; }
.cta-orbit span:nth-child(3) { width:1080px; height:1080px; }
.contact { background:#fff; }
.contact-grid { display:grid; grid-template-columns:.85fr 1fr; gap:11vw; margin-top:55px; align-items:start; }
.contact-intro p { color:var(--muted); line-height:1.7; max-width:420px; margin:28px 0 48px; }
.contact-photo { margin:65px 0 0; position:relative; height:310px; overflow:hidden; }
.contact-photo img { width:100%; height:100%; object-fit:cover; }
.contact-photo figcaption { position:absolute; left:0; right:0; bottom:0; padding:38px 18px 17px; color:#fff; background:linear-gradient(transparent,rgba(4,18,42,.82)); font-size:11px; }
.contact-action { padding:52px; background:var(--navy); color:#fff; min-height:520px; display:flex; flex-direction:column; justify-content:center; }
.contact-action>span { color:var(--cyan); font:10px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.14em; }
.contact-action h3 { margin:22px 0; font-size:clamp(34px,4.3vw,58px); line-height:1.05; letter-spacing:-.05em; }
.contact-action p { max-width:500px; color:#a9b9cb; font-size:14px; line-height:1.7; }
.email-button { margin-top:28px; padding:18px 20px; background:var(--blue); display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; font-size:12px; text-transform:uppercase; letter-spacing:.08em; transition:.25s; }
.email-button:hover { transform:translateY(-2px); background:#0874ed; }
.email-button strong { font-size:13px; text-transform:none; letter-spacing:0; }
.email-button i { color:var(--cyan); font-size:18px; font-style:normal; }
.contact-action small { margin-top:25px; color:#7187a1; font:9px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.1em; }
footer { background:#04132d; color:#fff; padding:70px 6vw 25px; }
.footer-top { display:grid; grid-template-columns:.75fr 1fr .65fr .85fr; gap:5vw; align-items:start; padding-bottom:70px; }
.footer-top>img { width:120px; height:100px; object-fit:contain; padding:4px; }
.footer-top>p { color:#8fa2ba; line-height:1.7; margin:0; }
.footer-links { display:flex; flex-direction:column; gap:14px; font-size:13px; }
.footer-contact { display:grid; gap:7px; font-size:13px; }
.footer-contact small { color:#69809b; font:9px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.12em; margin-top:18px; }
.footer-contact small:first-child { margin-top:0; }
.footer-contact a { color:var(--cyan); }
.footer-bottom { border-top:1px solid #1a2b46; padding-top:23px; display:flex; justify-content:space-between; color:#627590; font:10px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.06em; }
.footer-bottom a { color:#9cb0c8; }
.footer-legal { display:flex; gap:18px; }
.footer-legal a:hover { color:#fff; }

/* Legal pages */
.legal-body { background:#f7f9fb; }
.legal-header nav { display:flex; gap:28px; }
.legal-header nav a { color:var(--muted); font-size:13px; }
.legal-main { padding-top:86px; }
.legal-hero { padding:100px 6vw 85px; background:var(--navy); color:#fff; }
.legal-hero .section-kicker { padding:0; color:var(--cyan); }
.legal-hero h1 { max-width:1000px; margin:35px 0 25px; font-size:clamp(52px,7vw,94px); line-height:.95; letter-spacing:-.055em; }
.legal-hero>p { max-width:760px; margin:0 0 28px; color:#afbed0; font-size:17px; line-height:1.75; }
.legal-hero>small { color:#7288a2; font:10px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.1em; }
.legal-layout { display:grid; grid-template-columns:260px minmax(0,790px); gap:8vw; justify-content:center; padding:85px 6vw 120px; }
.legal-layout aside { position:sticky; top:115px; align-self:start; display:flex; flex-direction:column; gap:10px; max-height:calc(100vh - 145px); overflow:auto; padding-right:20px; }
.legal-layout aside span { margin-bottom:10px; color:var(--blue); font:10px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.13em; }
.legal-layout aside a { color:#657486; font-size:11px; line-height:1.45; }
.legal-layout aside a:hover { color:var(--blue); }
.legal-content>section { display:grid; grid-template-columns:42px 1fr; padding:0 0 52px; margin:0 0 52px; border-bottom:1px solid var(--line); scroll-margin-top:110px; }
.legal-content>section>span { grid-column:1; grid-row:1/4; color:var(--blue); font:10px var(--font-geist-mono); padding-top:7px; }
.legal-content h2,.legal-content p { grid-column:2; }
.legal-content h2 { margin:0 0 22px; color:var(--ink); font-size:29px; letter-spacing:-.035em; }
.legal-content p { margin:0 0 16px; color:#58697b; font-size:15px; line-height:1.8; }
.legal-content p:last-child { margin-bottom:0; }
.legal-content a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.legal-note { margin-left:42px; padding:27px 30px; background:#e9f1fa; border-left:3px solid var(--blue); }
.legal-note strong { font-size:13px; }
.legal-note p { margin:8px 0 0; font-size:13px; line-height:1.7; }
.legal-footer { padding-top:25px; }

@media (max-width:900px) {
  .site-header { height:74px; }
  .site-header nav,.header-cta { display:none; }
  .nav-button { display:flex; width:40px; height:40px; flex-direction:column; justify-content:center; gap:7px; cursor:pointer; }
  .nav-button span { height:2px; background:var(--navy); width:25px; margin-left:auto; }
  .nav-toggle:checked~nav { display:flex; position:absolute; top:74px; left:0; right:0; padding:30px 6vw; background:#fff; flex-direction:column; gap:24px; box-shadow:0 15px 25px rgba(3,20,45,.1); }
  .hero { padding-top:78px; grid-template-columns:1fr; min-height:auto; padding-bottom:110px; }
  .hero-copy { z-index:3; }
  .hero h1 { font-size:clamp(52px,12vw,80px); }
  .hero-visual { position:relative; inset:auto; opacity:1; width:auto; min-height:500px; margin-top:55px; }
  .hero-photo { inset:0 3% 22px 4%; }
  .hero-label { left:8%; }
  .market-strip { justify-content:flex-start; overflow:hidden; white-space:nowrap; }
  .about-main,.section-heading,.contact-grid { grid-template-columns:1fr; }
  .about h2 { white-space:normal; }
  .about-copy { margin-left:auto; }
  .section-heading>div:last-child { grid-template-columns:1fr; }
  .section-heading p { max-width:520px; margin-top:25px; }
  .values-row,.service-grid { grid-template-columns:repeat(2,1fr); }
  .people-showcase { grid-template-columns:1.3fr .7fr; }
  .people-note { grid-column:1/-1; min-height:220px; }
  .sector-stories { grid-template-columns:1fr 1fr; }
  .sector-lead { grid-template-columns:1fr; }
  .sector-card { min-height:540px; }
  .sector-compliance { grid-column:1/-1; }
  .project-list { grid-template-columns:1fr; gap:70px; }
  .project-visual { aspect-ratio:16/10; min-height:0; }
  .footer-top { grid-template-columns:1fr 1fr; }
}

@media (max-width:600px) {
  .section { padding:85px 6vw; }
  .brand img { width:95px; }
  .hero { padding-top:65px; }
  .hero-copy>p { font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:25px; }
  .hero-visual { min-height:400px; margin-top:45px; }
  .hero-photo { inset:0 0 18px 0; }
  .hero-frame { inset:18px 10px 0 10px; }
  .card-one { left:10px; top:20px; }
  .card-two { right:0; bottom:0; }
  .hero-label { display:none; }
  .market-strip { gap:14px; }
  .about-main { margin-bottom:65px; }
  .values-row,.service-grid { grid-template-columns:1fr; }
  .people-showcase { grid-template-columns:1fr; margin-bottom:60px; }
  .people-showcase figure { min-height:420px; }
  .people-side { display:none; }
  .people-note { min-height:240px; }
  .values-row article,.values-row article+article { padding:25px 0; border-right:0; border-bottom:1px solid var(--line); }
  .values-row h3 { margin:18px 0 8px; }
  .service-grid article { min-height:345px; }
  .section-heading { margin-bottom:55px; }
  .sector-stories { grid-template-columns:1fr; }
  .sector-lead { padding:80px 6vw 55px; }
  .sector-card,.sector-compliance { grid-column:1; min-height:500px; border:0; border-top:1px solid rgba(255,255,255,.14); }
  .project-list { gap:62px; }
  .project-visual { aspect-ratio:16/10; min-height:0; }
  .project-view { font-size:0; }
  .project-view i { font-size:16px; margin:0; }
  .cta-section { min-height:570px; padding:90px 6vw; }
  .contact-action { padding:36px 24px; min-height:460px; }
  .email-button { grid-template-columns:1fr auto; }
  .email-button strong { grid-row:2; }
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:13px; }
  .footer-legal { flex-wrap:wrap; gap:10px 16px; }
  .legal-main { padding-top:74px; }
  .legal-hero { padding:75px 6vw 65px; }
  .legal-hero>p { font-size:15px; }
  .legal-layout { grid-template-columns:1fr; padding:60px 6vw 85px; }
  .legal-layout aside { display:none; }
  .legal-content>section { grid-template-columns:30px 1fr; padding-bottom:38px; margin-bottom:40px; }
  .legal-content h2 { font-size:24px; }
  .legal-content p { font-size:14px; }
  .legal-note { margin-left:30px; padding:22px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
