:root {
  --navy: #071c32;
  --navy-2: #0b2947;
  --ink: #0a2035;
  --gold: #d5b06b;
  --gold-2: #edcf92;
  --sky: #a9d6ee;
  --paper: #f6f8f8;
  --white: #fff;
  --muted: #617181;
  --line: rgba(7, 28, 50, .13);
  --radius: 18px;
  --shadow: 0 25px 70px rgba(4, 21, 38, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "DM Sans", sans-serif; color: var(--ink); background: var(--white); font-size: 16px; line-height: 1.65; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.section { padding: 112px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 200; padding: 10px 16px; background: var(--gold); color: var(--navy); border-radius: 8px; }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; transition: .3s ease; }
.site-header.scrolled { background: rgba(7,28,50,.94); backdrop-filter: blur(14px); box-shadow: 0 10px 40px rgba(0,0,0,.12); }
.nav-shell { width: min(1260px, calc(100% - 40px)); height: 84px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--white); }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; background: var(--gold); color: var(--navy); font-family: Manrope, sans-serif; font-size: 1.35rem; font-weight: 800; border-radius: 4px 13px 4px 13px; }
.brand-copy { display: grid; line-height: 1; gap: 4px; }
.brand-copy strong { font-family: Manrope, sans-serif; letter-spacing: .12em; font-size: 1.3rem; }
.brand-copy small { font-size: .64rem; letter-spacing: .22em; color: var(--sky); }
.primary-nav { display: flex; align-items: center; gap: 30px; color: rgba(255,255,255,.82); font-size: .9rem; font-weight: 600; }
.primary-nav a { transition: color .2s; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--gold-2); }
.primary-nav .nav-cta { padding: 11px 18px; border: 1px solid rgba(213,176,107,.7); border-radius: 999px; color: var(--gold-2); }
.menu-toggle { display: none; border: 0; background: none; padding: 8px; }
.menu-toggle > span:not(.sr-only) { display: block; width: 25px; height: 2px; margin: 5px; background: white; }

.hero { min-height: 100svh; padding-top: 84px; background: var(--navy); color: white; position: relative; display: grid; align-items: center; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: 1; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to right, black, transparent 66%); }
.hero-glow { position: absolute; z-index: 1; width: 700px; height: 700px; left: -320px; bottom: -350px; background: radial-gradient(circle, rgba(76,157,200,.25), transparent 67%); }
.hero-photo { position: absolute; inset: 0 0 0 31%; background: url("assets/utfl-hero.png") center right / cover no-repeat; }
.hero-photo-wash { position: absolute; inset: 0; background: linear-gradient(90deg, #071c32 0%, #071c32 32%, rgba(7,28,50,.93) 46%, rgba(7,28,50,.42) 72%, rgba(7,28,50,.18) 100%), linear-gradient(0deg, rgba(7,28,50,.58) 0%, transparent 38%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 680px) 1fr; gap: 70px; align-items: end; padding: 102px 0 130px; position: relative; z-index: 2; }
.eyebrow, .section-label { font-size: .74rem; font-weight: 700; letter-spacing: .18em; margin: 0 0 22px; color: var(--gold); }
.eyebrow { display: flex; align-items: center; gap: 12px; }
.eyebrow span { width: 42px; height: 1px; background: var(--gold); }
h1, h2, h3 { font-family: Manrope, sans-serif; margin-top: 0; line-height: 1.12; }
h1 { font-size: clamp(3.35rem, 6.2vw, 6.1rem); letter-spacing: -.065em; margin-bottom: 30px; text-wrap: balance; }
h1 em { color: var(--gold-2); font: 500 italic 1.08em/1 Newsreader, serif; letter-spacing: -.035em; }
h2 { font-size: clamp(2.3rem, 4vw, 4.1rem); letter-spacing: -.045em; margin-bottom: 28px; }
h2 span { color: #327ca5; }
.hero-lead { max-width: 610px; color: rgba(255,255,255,.76); font-size: 1.12rem; line-height: 1.8; text-shadow: 0 2px 18px rgba(0,0,0,.22); }
.hero-actions { display: flex; align-items: center; gap: 30px; margin: 38px 0 52px; }
.button { min-height: 54px; display: inline-flex; justify-content: center; align-items: center; gap: 28px; padding: 14px 22px; border: 0; border-radius: 6px; font-weight: 700; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-gold { color: var(--navy); background: var(--gold); box-shadow: 0 12px 30px rgba(213,176,107,.18); }
.button-gold:hover { background: var(--gold-2); box-shadow: 0 16px 34px rgba(213,176,107,.27); }
.button-dark { color: white; background: var(--navy); }
.text-link { color: white; font-weight: 600; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.text-link span { color: var(--gold); margin-left: 8px; }
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.22); padding-top: 24px; gap: 18px; }
.hero-proof div { display: grid; gap: 3px; }
.hero-proof strong { font-size: .9rem; }
.hero-proof span { color: rgba(255,255,255,.5); font-size: .77rem; }
.hero-signature { justify-self: end; margin-bottom: 34px; min-width: 210px; padding: 22px 24px; background: rgba(6,24,42,.54); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(14px); box-shadow: 0 22px 60px rgba(0,0,0,.2); }
.hero-signature .signature-line { display: block; width: 44px; height: 2px; margin-bottom: 16px; background: var(--gold); }
.hero-signature p { margin: 0; font: 600 1.05rem Manrope, sans-serif; }
.hero-signature p strong { color: var(--gold-2); }
.hero-signature small { display: block; margin-top: 6px; color: rgba(255,255,255,.6); font-size: .72rem; letter-spacing: .04em; }
.hero-strip { position: absolute; bottom: 0; left: 0; right: 0; height: 52px; display: flex; align-items: center; overflow: hidden; background: var(--gold); color: var(--navy); font-size: .72rem; font-weight: 800; letter-spacing: .18em; }
.hero-strip div { white-space: nowrap; animation: ticker 22s linear infinite; }
.hero-strip span { margin: 0 25px; }

.split-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 90px; align-items: end; margin-bottom: 62px; }
.split-heading h2 { margin-bottom: 0; }
.intro-copy p { color: var(--muted); margin: 0 0 14px; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { min-height: 410px; display: flex; flex-direction: column; position: relative; padding: 38px; border: 1px solid var(--line); border-radius: 5px 36px 5px 5px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.service-card.dark { background: var(--navy); color: white; border-color: var(--navy); }
.service-number { position: absolute; top: 30px; right: 30px; color: #9aa7b3; font-size: .75rem; font-weight: 700; }
.icon-box { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 52px; border-radius: 50%; background: #e9f4f9; color: #317da6; }
.dark .icon-box { background: rgba(213,176,107,.15); color: var(--gold); }
.service-card h3 { font-size: 1.35rem; margin-bottom: 14px; }
.service-card p { color: var(--muted); margin: 0 0 28px; }
.service-card.dark p { color: rgba(255,255,255,.62); }
.service-card a { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); font-weight: 700; font-size: .86rem; }
.service-card.dark a { border-color: rgba(255,255,255,.12); color: var(--gold-2); }
.service-card a span { float: right; }

.process { background: linear-gradient(135deg, #071c32 0%, #0a2744 100%); color: white; position: relative; overflow: hidden; }
.process::after { content: ""; position: absolute; width: 500px; height: 500px; border: 1px solid rgba(213,176,107,.12); border-radius: 50%; right: -250px; bottom: -250px; }
.section-label.light { color: var(--gold-2); }
.process h2 span { color: var(--sky); }
.process-head { display: grid; grid-template-columns: 1fr .5fr; gap: 120px; align-items: end; }
.process-head > p { color: rgba(255,255,255,.57); padding-bottom: 26px; }
.steps { list-style: none; margin: 40px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.14); }
.steps li { display: grid; grid-template-columns: 90px 1fr; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.14); transition: background .2s, padding .2s; }
.steps li:hover { padding-left: 14px; background: rgba(255,255,255,.025); }
.step-no { color: var(--gold); font-size: .75rem; font-weight: 700; }
.steps li div { display: grid; grid-template-columns: .75fr 1fr; gap: 60px; }
.steps h3 { font-size: 1.25rem; margin: 0; }
.steps p { color: rgba(255,255,255,.55); margin: 0; }

.difference { background: var(--paper); }
.difference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.difference-copy > p:not(.section-label) { color: var(--muted); font-size: 1.05rem; margin-bottom: 34px; }
.comparison { background: white; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.comparison-head { padding: 24px 28px; color: white; background: var(--navy); display: flex; justify-content: space-between; font-weight: 700; }
.comparison-head strong { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: var(--navy); }
.comparison ul { list-style: none; margin: 0; padding: 5px 28px; }
.comparison li { display: flex; justify-content: space-between; gap: 20px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.comparison li:last-child { border-bottom: 0; }
.comparison li span { font-weight: 600; }
.comparison li strong { color: #9aa8b4; font-size: .7rem; }

.support-head { text-align: center; max-width: 760px; margin: 0 auto 48px; }
.support-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.support-list span { padding: 13px 20px; border: 1px solid var(--line); border-radius: 999px; font-weight: 600; color: #35536c; transition: .2s; }
.support-list span:hover { color: var(--navy); border-color: var(--gold); background: #fffaf0; }

.candidate { background: linear-gradient(110deg, #0b2947, #071c32); color: white; }
.candidate-grid { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 560px; align-items: center; gap: 100px; }
.candidate-art { height: 480px; border-radius: 50% 50% 12px 12px; display: flex; flex-direction: column; justify-content: flex-end; padding: 42px; background: radial-gradient(circle at 50% 20%, rgba(169,214,238,.27), transparent 30%), linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.01)); border: 1px solid rgba(255,255,255,.12); position: relative; overflow: hidden; }
.candidate-art::before, .candidate-art::after { content: ""; position: absolute; border: 1px solid rgba(213,176,107,.3); border-radius: 50%; }
.candidate-art::before { width: 260px; height: 260px; top: 60px; left: 50%; transform: translateX(-50%); }
.candidate-art::after { width: 160px; height: 160px; top: 110px; left: 50%; transform: translateX(-50%); background: rgba(213,176,107,.06); }
.candidate-quote { position: absolute; top: 40px; left: 42px; color: var(--gold); font: 700 6rem Georgia; opacity: .8; }
.candidate-art p { font-size: 1.18rem; margin: 0; position: relative; z-index: 2; }
.candidate-art strong { color: var(--gold-2); }
.candidate-copy > p:not(.section-label) { color: rgba(255,255,255,.65); font-size: 1.05rem; }
.check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 25px; list-style: none; padding: 0; margin: 28px 0 36px; }
.check-list li { position: relative; padding-left: 24px; font-size: .9rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--gold); }

.about-title { max-width: 800px; margin-bottom: 48px; }
.about-title h2 { margin-bottom: 0; }
.founder-feature { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(340px, .68fr); align-items: center; }
.founder-photo { position: relative; margin: 0; min-height: 650px; overflow: hidden; border-radius: 5px 42px 5px 5px; box-shadow: var(--shadow); background: var(--paper); }
.founder-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(7,28,50,.08); border-radius: inherit; }
.founder-photo img { width: 100%; height: 100%; min-height: 650px; display: block; object-fit: cover; object-position: center; }
.founder-photo figcaption { position: absolute; left: 24px; bottom: 24px; display: grid; padding: 16px 20px; color: white; background: rgba(7,28,50,.9); border-left: 3px solid var(--gold); backdrop-filter: blur(10px); }
.founder-photo figcaption span { color: var(--gold-2); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.founder-photo figcaption strong { font-size: .9rem; }
.about-copy { position: relative; z-index: 2; margin-left: -52px; padding: 45px; background: white; border-top: 4px solid var(--gold); box-shadow: 0 24px 70px rgba(7,28,50,.16); }
.about-copy .lead { font: 600 clamp(1.35rem,2.2vw,2rem)/1.45 Manrope; color: var(--navy); }
.about-copy > p:not(.lead) { color: var(--muted); }
.signature { display: flex; align-items: center; gap: 16px; margin-top: 35px; padding-top: 28px; border-top: 1px solid var(--line); }
.signature-mark { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold); font: 800 .9rem Manrope; }
.signature div:last-child { display: grid; }
.signature span { color: var(--muted); font-size: .85rem; }

.contact { background: var(--navy); color: white; position: relative; }
.contact-shell { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.contact-copy > p:not(.section-label) { color: rgba(255,255,255,.62); max-width: 500px; }
.contact-details { margin-top: 45px; display: grid; gap: 4px; }
.contact-details p { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .88rem; }
.contact-details span { color: rgba(255,255,255,.44); }
.contact-details strong { color: white; }
.contact-form { background: white; color: var(--navy); padding: 36px; border-radius: var(--radius); box-shadow: 0 30px 80px rgba(0,0,0,.18); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-form label { display: grid; gap: 8px; margin-bottom: 18px; font-size: .78rem; font-weight: 700; letter-spacing: .03em; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; border: 1px solid #d9e0e5; border-radius: 7px; background: #fbfcfc; color: var(--navy); padding: 13px 14px; font-size: .93rem; outline: none; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #6aa9cb; box-shadow: 0 0 0 3px rgba(106,169,203,.15); }
.contact-form textarea { resize: vertical; }
.contact-form .button { width: 100%; margin-top: 2px; }
.form-note { margin: 12px 0 0; text-align: center; color: #788794; font-size: .72rem; }
.form-note.success-note { padding: 11px 13px; color: #144d39; background: #edf8f3; border-radius: 6px; font-size: .82rem; font-weight: 700; }
.honey-field { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.contact-form .privacy-consent { display:flex; align-items:flex-start; gap:12px; margin:17px 0 8px; font-size:.83rem; font-weight:500; line-height:1.5; letter-spacing:0; cursor:pointer; }
.contact-form .privacy-consent input { flex:0 0 auto; width:18px; height:18px; margin:2px 0 0; padding:0; accent-color:#2779a6; cursor:pointer; }
.privacy-explanation { color:#526577; font-size:.75rem; line-height:1.55; margin:0 0 20px; }
.privacy-explanation a { color:#155d88; text-decoration:underline; }

footer { background: #041322; color: white; padding: 36px 0; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; align-items: center; gap: 28px; }
.footer-grid > p { color: rgba(255,255,255,.46); font-size: .82rem; }
.footer-links { display: flex; justify-content: flex-end; gap: 22px; color: rgba(255,255,255,.65); font-size: .82rem; }
.footer-social { display:flex; justify-content:flex-end; align-items:center; gap:12px; }
.footer-social a { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; transition:background .2s,border-color .2s; }
.footer-social a:hover,.footer-social a:focus-visible { background:#24749b; border-color:#8bc8df; }
.footer-social svg { width:20px; height:20px; fill:currentColor; }
.terms-layout section { margin:2.2rem 0; }
.terms-layout section h2 { font-size:clamp(1.35rem,2.2vw,1.75rem); letter-spacing:-.025em; margin-bottom:.7rem; }
.terms-layout section p { line-height:1.75; }
.terms-layout section ul { padding-left:1.4rem; line-height:1.75; }
.copyright { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); margin-bottom: 0; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .12s; }
.delay-2 { transition-delay: .22s; }
@keyframes pulse { 50% { transform: scale(1.05); opacity: .65; } }
@keyframes ticker { to { transform: translateX(-50%); } }

@media (max-width: 980px) {
  .primary-nav { display: none; position: absolute; top: 74px; left: 20px; right: 20px; flex-direction: column; align-items: stretch; gap: 0; padding: 16px; background: #0b2947; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; box-shadow: var(--shadow); }
  .primary-nav.open { display: flex; }
  .primary-nav a { padding: 13px 12px; }
  .primary-nav .nav-cta { margin-top: 6px; text-align: center; }
  .menu-toggle { display: block; }
  .hero-photo { inset: 0 0 0 18%; background-position: 63% center; opacity: .7; }
  .hero-photo-wash { background: linear-gradient(90deg, #071c32 0%, rgba(7,28,50,.96) 42%, rgba(7,28,50,.53) 100%), linear-gradient(0deg, #071c32 0%, transparent 45%); }
  .hero-grid { grid-template-columns: 1fr; gap: 36px; padding-top: 64px; }
  .hero-signature { justify-self: start; }
  .split-heading, .process-head, .difference-grid, .candidate-grid, .contact-shell { grid-template-columns: 1fr; gap: 48px; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .service-card:last-child { grid-column: 1 / -1; min-height: 330px; }
  .process-head > p { padding-bottom: 0; }
  .founder-feature { grid-template-columns: 1fr; }
  .about-copy { margin: -70px 34px 0; }
}

@media (max-width: 650px) {
  .wrap { width: min(100% - 32px, 1180px); }
  .section { padding: 78px 0; }
  .nav-shell { width: calc(100% - 28px); height: 72px; }
  .brand-mark { width: 38px; height: 38px; }
  .hero { padding-top: 72px; }
  .hero-grid { padding: 55px 0 100px; }
  h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .text-link { text-align: center; }
  .hero-proof { grid-template-columns: 1fr; gap: 13px; }
  .hero-proof div { grid-template-columns: 120px 1fr; }
  .hero-photo { inset: 0; background-position: 65% center; opacity: .5; }
  .hero-photo-wash { background: linear-gradient(90deg, rgba(7,28,50,.99), rgba(7,28,50,.74)), linear-gradient(0deg, #071c32 0%, transparent 55%); }
  .hero-signature { margin-bottom: 16px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card:last-child { grid-column: auto; }
  .steps li { grid-template-columns: 50px 1fr; }
  .steps li div { grid-template-columns: 1fr; gap: 9px; }
  .candidate-grid { gap: 45px; }
  .candidate-art { height: 390px; }
  .founder-photo, .founder-photo img { min-height: 440px; }
  .founder-photo img { object-position: 55% center; }
  .about-copy { margin: -36px 14px 0; padding: 27px 22px; }
  .founder-photo figcaption { left: 15px; right: 15px; bottom: 15px; }
  .check-list, .form-row { grid-template-columns: 1fr; }
  .contact-form { padding: 25px 20px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; }
  .footer-social { justify-content:flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* UTFL editorial direction */
:root { --navy:#09233b; --navy-2:#12334e; --ink:#112c42; --gold:#c29b55; --gold-2:#ead2a5; --paper:#f4f1e9; --muted:#526678; --line:rgba(9,35,59,.18); --shadow:none; }
body { background:var(--paper); }
.wrap { width:min(1320px,calc(100% - 96px)); }
.section { padding:clamp(82px,9vw,150px) 0; }
.site-header { position:absolute; background:var(--paper); border-bottom:1px solid var(--line); }
.site-header.scrolled { position:fixed; background:rgba(244,241,233,.96); box-shadow:0 10px 30px rgba(9,35,59,.06); }
.nav-shell { height:90px; width:min(1320px,calc(100% - 96px)); }
.brand { color:var(--navy); gap:14px; }
.brand-mark { background:transparent; color:var(--navy); width:auto; height:auto; border-radius:0; font:500 2.65rem/.8 Newsreader,serif; border-right:2px solid var(--gold); padding-right:14px; }
.brand-copy strong { font-size:1.12rem; letter-spacing:.18em; }
.brand-copy small { color:var(--muted); font-size:.59rem; }
.primary-nav { color:var(--ink); gap:26px; font-size:.87rem; }
.primary-nav a:hover,.primary-nav a:focus-visible { color:#956f33; }
.primary-nav .nav-cta { border-radius:0; background:var(--navy); color:white; padding:13px 19px; border-color:var(--navy); }
.primary-nav .nav-cta:hover { color:var(--gold-2); }
.hero { padding-top:90px; min-height:min(850px,100svh); background:var(--paper); color:var(--navy); display:block; }
.hero::before,.hero-glow,.hero-photo-wash { display:none; }
.hero-photo { inset:90px 0 50px 50.5%; background-image:url('assets/margaux-gesprek-met-kat.png'); background-size:cover; background-position:19% center; border-left:10px solid var(--paper); }
.hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:calc(min(850px,100svh) - 140px); padding:clamp(80px,9vw,136px) 0 80px; align-items:center; }
.hero-copy { max-width:600px; padding-right:34px; }
.eyebrow,.section-label { color:#986f33; font-size:.76rem; letter-spacing:.16em; }
.eyebrow span { width:28px; background:#986f33; }
h1,h2 { font-family:Newsreader,Georgia,serif; font-weight:400; letter-spacing:-.037em; line-height:1.02; }
h1 { font-size:clamp(4.5rem,7.2vw,8.3rem); margin-bottom:26px; }
h1 em { font-weight:400; color:#31688b; font-size:1em; }
h2 { font-size:clamp(3rem,5vw,5.65rem); }
h2 span { color:#377398; }
h3 { letter-spacing:-.03em; }
.hero-lead { color:var(--muted); text-shadow:none; font-size:1.06rem; line-height:1.7; max-width:510px; }
.hero-actions { margin:36px 0 52px; gap:25px; }
.button { border-radius:0; min-height:56px; padding:15px 23px; box-shadow:none; gap:32px; }
.button-gold { background:var(--navy); color:#fff; box-shadow:none; }
.button-gold:hover { background:#164262; box-shadow:none; }
.text-link { color:var(--navy); border-bottom-color:var(--navy); }
.text-link span { color:#986f33; }
.hero-proof { border-top:1px solid var(--line); padding-top:20px; gap:13px; }
.hero-proof div { display:flex; gap:7px; flex-wrap:wrap; align-content:start; }
.hero-proof strong { color:#986f33; font-size:.81rem; }
.hero-proof span { color:var(--navy); font-size:.82rem; }
.hero-signature { position:absolute; right:0; bottom:75px; margin:0; min-width:0; padding:22px 27px; color:white; background:var(--navy); border:0; backdrop-filter:none; box-shadow:none; }
.hero-signature span { color:var(--gold-2); font-size:.72rem; letter-spacing:.13em; }
.hero-signature p { font:400 1.4rem/1.14 Newsreader,serif; margin:8px 0 0; }
.hero-strip { height:50px; background:var(--navy); color:var(--gold-2); font-weight:600; letter-spacing:.14em; font-size:.73rem; }
.hero-strip div { animation:none; }
.hero-strip span { margin:0 28px; }
.intro { background:#fff; }
.split-heading { align-items:start; gap:10%; }
.split-heading h2 { max-width:800px; }
.intro-copy { border-left:2px solid var(--gold); padding-left:24px; margin-top:30px; }
.service-grid { grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-card,.service-card.dark { min-height:360px; padding:35px 32px 30px; border:0; border-right:1px solid var(--line); border-radius:0; color:var(--navy); background:transparent; }
.service-card:first-child { padding-left:0; }
.service-card:last-child { border-right:0; padding-right:0; }
.service-card:hover { transform:none; box-shadow:none; background:#f8f7f3; }
.service-card.dark:hover { background:#f8f7f3; }
.service-number { position:static; font:400 2.2rem Newsreader,serif; color:#9e7b45; }
.icon-box { display:none; }
.service-card h3 { margin-top:72px; font-size:1.5rem; }
.service-card p,.service-card.dark p { color:var(--muted); }
.service-card a,.service-card.dark a { color:var(--navy); border-color:var(--line); }
.process { background:var(--navy); }
.process::after { display:none; }
.process-head { grid-template-columns:1.2fr .6fr; gap:10%; }
.process h2 span { color:var(--gold-2); }
.steps { margin-top:75px; }
.steps li { grid-template-columns:140px 1fr; padding:27px 0; }
.step-no { font:400 2.45rem Newsreader,serif; color:var(--gold-2); }
.steps li div { grid-template-columns:1fr 1fr; align-items:center; }
.steps h3 { font-size:1.38rem; }
.difference { background:var(--paper); }
.difference-grid { gap:12%; }
.comparison { border:1px solid var(--line); border-radius:0; box-shadow:none; }
.comparison-head { padding:26px 30px; }
.comparison-head strong { border-radius:0; }
.support { background:#fff; }
.support-head { text-align:left; max-width:100%; margin-bottom:45px; }
.support-list { justify-content:flex-start; border-top:1px solid var(--line); gap:0; }
.support-list span { width:33.333%; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:18px 15px 18px 0; color:var(--navy); }
.support-list span:hover { background:transparent; color:#986f33; }
.candidate { background:#c9a96c; color:var(--navy); }
.candidate-grid { grid-template-columns:1fr 1fr; gap:12%; }
.candidate-art { height:390px; border:0; border-radius:0; background:var(--navy); color:#fff; padding:45px; }
.candidate-art::before,.candidate-art::after { display:none; }
.candidate-quote { color:var(--gold-2); }
.candidate-art p { font:400 clamp(1.7rem,3.2vw,3rem)/1.18 Newsreader,serif; }
.candidate-copy .section-label.light,.candidate-art strong { color:var(--gold-2); }
.candidate-copy .section-label.light { color:var(--navy); }
.candidate-copy > p:not(.section-label) { color:#17364d; }
.candidate-copy .button-gold { background:var(--navy); color:white; }
.check-list li::before { color:var(--navy); }
.about { background:var(--paper); }
.founder-feature { grid-template-columns:1.15fr .85fr; gap:7%; align-items:center; }
.founder-photo { min-height:580px; border-radius:0; box-shadow:none; }
.founder-photo img { min-height:580px; object-position:18% center; }
.founder-photo figcaption { left:0; bottom:0; border-left:0; background:var(--navy); }
.about-copy { margin:0; padding:0; background:transparent; border:0; box-shadow:none; }
.about-copy .lead { font:400 clamp(1.8rem,3vw,3rem)/1.18 Newsreader,serif; }
.signature-mark { border-radius:0; background:var(--navy); color:var(--gold-2); }
.contact { background:var(--navy); }
.contact-shell { gap:12%; }
.contact-form { border-radius:0; box-shadow:none; padding:40px; }
.contact-form input,.contact-form select,.contact-form textarea { border-radius:0; background:#fff; }
footer { background:#06182a; }
footer .brand,.footer-brand { color:white; }
footer .brand-mark { color:var(--gold-2); }
footer .brand-copy small { color:#9db8c7; }
@media(max-width:1050px){
 .wrap,.nav-shell { width:min(100% - 48px,1320px); }
 .menu-toggle > span:not(.sr-only) { background:var(--navy); }
 .primary-nav { background:var(--paper); border-radius:0; border-color:var(--line); color:var(--navy); }
 .hero { min-height:790px; }
 .hero-grid { min-height:650px; gap:0; }
 .hero-photo { left:49%; }
 .hero-signature { right:0; }
 .service-card:last-child { grid-column:auto; min-height:360px; }
}
@media(max-width:700px){
 .wrap,.nav-shell { width:calc(100% - 36px); }
 .nav-shell { height:72px; }
 .brand-mark { font-size:2.2rem; }
 .site-header { position:absolute; }
 .hero { padding-top:72px; min-height:0; }
 .hero-grid { display:block; min-height:0; padding:50px 0 440px; }
 .hero-copy { padding:0; }
 h1 { font-size:clamp(4.2rem,13vw,6.3rem); }
 h2 { font-size:clamp(3rem,11vw,4.4rem); }
 .hero-lead { font-size:1rem; }
 .hero-actions { flex-direction:row; align-items:center; flex-wrap:wrap; margin:28px 0 30px; }
 .text-link { text-align:left; }
 .hero-proof { grid-template-columns:repeat(3,1fr); gap:8px; }
 .hero-proof div { display:block; }
 .hero-proof strong,.hero-proof span { display:block; font-size:.76rem; }
 .hero-photo { inset:auto 18px 50px 18px; height:370px; border:0; background-position:16% center; opacity:1; }
 .hero-signature { right:0; bottom:71px; padding:14px 18px; }
 .hero-signature p { font-size:1.14rem; }
 .hero-strip { font-size:.6rem; }
 .hero-strip span { margin:0 9px; }
 .split-heading,.process-head,.difference-grid,.candidate-grid,.contact-shell { gap:34px; }
 .intro-copy { margin:0; }
 .service-grid { display:block; }
 .service-card,.service-card.dark,.service-card:first-child,.service-card:last-child { min-height:0; border:0; border-bottom:1px solid var(--line); padding:23px 0; }
 .service-card h3 { margin:20px 0 10px; }
 .service-number { font-size:1.8rem; }
 .service-card a { padding-top:12px; }
 .steps { margin-top:36px; }
 .steps li { grid-template-columns:60px 1fr; gap:8px; }
 .steps li div { display:block; }
 .steps h3 { margin-bottom:8px; }
 .support-list span { width:50%; padding:14px 8px 14px 0; font-size:.9rem; }
 .candidate-art { height:270px; padding:25px; }
 .candidate-art p { font-size:2rem; }
 .founder-feature { display:block; }
 .founder-photo,.founder-photo img { min-height:400px; }
 .about-copy { padding-top:30px; }
 .contact-form { padding:25px 20px; }
}

/* UTFL — luminous blue identity */
:root {
  --navy:#102d49; --navy-2:#183d5e; --ink:#102d49;
  --sky:#c7e9f8; --gold:#b9975b; --gold-2:#e7d0a4;
  --paper:#eaf6fb; --muted:#425d70; --line:rgba(16,45,73,.17);
}
body { background:#f7fbfd; }
.site-header,.site-header.scrolled { background:rgba(247,251,253,.97); border-bottom:1px solid rgba(16,45,73,.12); }
.site-header.scrolled { box-shadow:0 8px 24px rgba(16,45,73,.06); }
.brand-mark { font-size:2.8rem; border-right-color:var(--gold); }
.brand-copy strong { font-family:Newsreader,Georgia,serif; font-weight:500; font-size:1.55rem; letter-spacing:.12em; }
.brand-copy small { color:#3b708e; }
.primary-nav .nav-cta { background:var(--navy); border-color:var(--navy); }
.hero { background:#d9eff9; min-height:760px; overflow:hidden; }
.hero::before { display:block; inset:auto -5vw -18vw auto; width:68vw; height:68vw; z-index:0; opacity:1; border:1px solid rgba(16,45,73,.13); border-radius:50%; background:none; mask-image:none; }
.hero::after { content:""; position:absolute; left:0; right:0; top:90px; height:1px; background:rgba(16,45,73,.1); }
.hero-grid { min-height:710px; grid-template-columns:minmax(0,1fr) minmax(340px,.83fr); gap:7%; padding:100px 0 116px; }
.hero-copy { max-width:790px; padding:0; }
.eyebrow { margin-bottom:28px; color:#386886; }
.eyebrow span { background:var(--gold); width:48px; }
h1 { max-width:790px; font-size:clamp(4.7rem,7.65vw,9.1rem); line-height:.92; letter-spacing:-.053em; margin-bottom:33px; }
h1 em { display:inline-block; color:#347da1; font-style:italic; }
.hero-lead { font-size:1.17rem; line-height:1.65; color:#31516a; max-width:610px; }
.hero-actions { margin:38px 0 58px; }
.button-gold { background:var(--navy); color:#fff; }
.button-gold:hover { background:#245779; }
.hero-proof { max-width:650px; border-top:1px solid rgba(16,45,73,.22); }
.hero-proof strong { color:#96784c; }
.hero-proof span { color:var(--navy); font-size:.84rem; }
.hero-signature { position:relative; bottom:auto; right:auto; justify-self:stretch; align-self:center; padding:54px 46px 52px; min-height:445px; background:var(--navy); color:white; display:flex; flex-direction:column; justify-content:space-between; box-shadow:20px 20px 0 #a7d7ec; }
.hero-signature::before { content:"SELECTIEKANTOOR"; display:block; width:max-content; padding-bottom:11px; border-bottom:1px solid rgba(231,208,164,.65); font-size:.78rem; font-weight:700; letter-spacing:.24em; color:var(--gold-2); }
.hero-signature span { display:block; font:400 clamp(6rem,9vw,10rem)/.75 Newsreader,Georgia,serif; letter-spacing:-.075em; color:#d8f0fb; margin-left:-.06em; }
.hero-signature p { font:400 clamp(1.7rem,2.5vw,2.6rem)/1.12 Newsreader,Georgia,serif; color:#fff; margin:0; }
.hero-signature i { position:absolute; right:42px; bottom:48px; width:48px; height:3px; background:var(--gold); }
.hero-strip { background:var(--navy); color:#d7ecf6; height:54px; }
.hero-strip span { color:var(--gold-2); }
.intro { background:#fff; }
.section-label { color:#37799a; }
h2 span { color:#397da0; }
.intro-copy { border-left-color:var(--gold); }
.service-grid { margin-bottom:98px; }
.service-card:hover,.service-card.dark:hover { background:#f2f9fc; }
.service-number { color:#3d84a5; }
.profiles { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; padding:54px 0 0; border-top:2px solid var(--navy); }
.profiles-intro h2 { font-size:clamp(2.8rem,4.3vw,5rem); }
.profiles-intro > p:last-child { max-width:430px; color:var(--muted); font-size:1.05rem; }
.profiles-list { border-top:1px solid var(--line); }
.profiles-list > div { display:grid; grid-template-columns:42px minmax(0,1fr); gap:2px 18px; align-items:baseline; padding:20px 0; border-bottom:1px solid var(--line); }
.profiles-list span { grid-row:1 / 3; color:#4687a8; font:500 1rem Newsreader,serif; }
.profiles-list strong { font:500 1.4rem/1.2 Newsreader,serif; color:var(--navy); }
.profiles-list small { font-size:.86rem; color:var(--muted); }
.process { background:#123752; }
.process .section-label.light,.step-no { color:#a9def4; }
.process h2 span { color:#a9def4; }
.difference { background:#eaf6fb; }
.comparison-head { background:var(--navy); }
.comparison-head strong { background:#b6dff0; }
.support { background:#fff; }
.support-list span:hover { color:#347da1; }
.candidate { background:#c9e9f6; color:var(--navy); }
.candidate-art { background:#123752; }
.candidate-copy > p:not(.section-label) { color:#31516a; }
.candidate-copy .section-label.light { color:#367a9b; }
.about { background:#f5fbfe; }
.founder-photo { border:10px solid #fff; }
.founder-photo figcaption { background:var(--navy); }
.contact { background:#123752; }
footer { background:#0a253b; }
@media(max-width:1050px) {
  .hero-grid { grid-template-columns:1fr .72fr; gap:5%; min-height:680px; }
  .hero-signature { min-height:390px; padding:42px 32px; }
  .hero-signature span { font-size:clamp(5.5rem,8vw,8rem); }
  .profiles { gap:5%; }
}
@media(max-width:700px) {
  .hero { min-height:0; }
  .hero::after { top:72px; }
  .hero-grid { display:grid; grid-template-columns:1fr; gap:38px; padding:55px 0 100px; min-height:0; }
  h1 { font-size:clamp(4.25rem,14vw,6.8rem); }
  .hero-signature { min-height:260px; margin:0 15px 0 0; padding:30px; box-shadow:15px 15px 0 #a7d7ec; }
  .hero-signature span { font-size:clamp(5.5rem,20vw,8rem); }
  .hero-signature p { font-size:1.4rem; }
  .hero-signature i { right:30px; bottom:32px; width:29px; }
  .hero-proof { gap:12px; }
  .profiles { grid-template-columns:1fr; gap:25px; padding-top:38px; }
  .service-grid { margin-bottom:55px; }
  .profiles-list strong { font-size:1.25rem; }
  .founder-photo { border-width:5px; }
}

/* UTFL editorial refresh */
body { background:#f8fbfc; }
.site-header,.site-header.scrolled { background:#f8fbfc; }
.nav-shell { height:84px; }
.primary-nav { gap:30px; font-size:.84rem; }
.primary-nav .nav-cta { padding:13px 22px; }
.hero { background:#e9f6fb; min-height:0; }
.hero::before,.hero::after { display:none; }
.hero-grid { min-height:0; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); gap:6.5%; padding:88px 0 92px; align-items:center; }
.hero-copy { max-width:730px; }
.eyebrow { margin-bottom:34px; }
h1,h2 { font-family:Manrope,'DM Sans',sans-serif; font-weight:500; letter-spacing:-.057em; }
h1 { font-size:clamp(3.8rem,5.1vw,6.5rem); line-height:1.105; max-width:720px; margin:0 0 30px; }
h1 em { display:inline; font-family:Newsreader,Georgia,serif; font-weight:400; font-style:italic; letter-spacing:-.04em; color:#24749b; }
h2 { font-size:clamp(2.7rem,4.15vw,5.25rem); line-height:1.14; }
h2 span { color:#3480a3; }
.hero-lead { font-size:1.08rem; line-height:1.76; max-width:560px; }
.hero-actions { margin:34px 0 50px; }
.hero-proof { display:flex; justify-content:space-between; max-width:590px; padding-top:22px; }
.hero-proof div { display:block; }
.hero-proof strong { display:block; margin-bottom:5px; }
.hero-portrait { position:relative; margin:0; height:min(630px,48vw); min-height:510px; overflow:hidden; border-radius:180px 180px 6px 6px; box-shadow:16px 16px 0 #bedfed; background:#dcc7aa; }
.hero-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:left center; transform:scale(1.16); transform-origin:left center; }
.hero-portrait figcaption { position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; gap:5px; padding:24px 30px; color:#fff; background:linear-gradient(transparent,rgba(7,28,50,.93)); font-size:.82rem; }
.hero-portrait figcaption strong { font:500 1.3rem Manrope,sans-serif; }
.editorial-photo { position:relative; margin-top:70px; margin-bottom:0; height:390px; overflow:hidden; border-radius:6px; }
.editorial-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.editorial-photo figcaption { position:absolute; right:25px; bottom:22px; padding:11px 15px; background:rgba(16,45,73,.91); color:#fff; font:400 1.3rem Newsreader,Georgia,serif; }
.hero-strip { height:51px; }
.section { padding-top:110px; padding-bottom:110px; }
.split-heading { grid-template-columns:1.18fr .82fr; gap:9%; }
.split-heading h2 { max-width:740px; }
.intro-copy { border:0; padding:0; margin-top:58px; font-size:1.04rem; line-height:1.75; }
.service-grid { margin-top:84px; margin-bottom:90px; }
.service-card,.service-card.dark { min-height:325px; padding-top:28px; }
.service-card h3 { font-size:1.42rem; margin-top:50px; }
.profiles { border-top:1px solid var(--line); padding-top:80px; }
.profiles-list strong { font-family:Manrope,sans-serif; font-size:1.14rem; font-weight:600; letter-spacing:-.035em; }
.steps { margin-top:62px; }
.difference { background:#eaf5f9; }
.candidate { background:#d3edf7; }
.candidate-image { position:relative; margin:0; height:530px; overflow:hidden; border-radius:160px 160px 6px 6px; }
.candidate-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.candidate-image figcaption { position:absolute; left:0; right:0; bottom:0; padding:32px; color:#fff; background:linear-gradient(transparent,rgba(7,28,50,.86)); font:400 1.7rem Newsreader,Georgia,serif; }
.faq { background:#fff; }
.faq-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); padding:22px 0; }
.faq-list summary { cursor:pointer; font:600 1.08rem Manrope,sans-serif; color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:20px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; color:#3480a3; font-size:1.5rem; line-height:1; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list p { color:var(--muted); line-height:1.7; max-width:660px; margin:18px 0 2px; }
.legal-identity { grid-column:1 / -1; font-size:.75rem; color:#a8c2cf; margin:0; }
.privacy-page { background:#f7fbfc; min-height:100vh; }
.privacy-layout { max-width:850px; padding:90px 0 120px; }
.privacy-layout h1 { font-size:clamp(3rem,6vw,5rem); margin:0 0 24px; }
.privacy-layout h2 { font-size:1.55rem; letter-spacing:-.03em; margin:40px 0 12px; }
.privacy-layout p,.privacy-layout li { color:var(--muted); font-size:1rem; line-height:1.75; }
.privacy-layout a { color:#1f6d94; text-decoration:underline; }
.service-page { background:#fff; }
.service-detail-hero { background:#e9f6fb; padding:165px 0 105px; }
.service-detail-hero h1 { max-width:950px; font-size:clamp(3.7rem,6vw,7rem); }
.service-detail-hero p:not(.section-label) { max-width:700px; color:var(--muted); font-size:1.15rem; line-height:1.7; margin:0 0 32px; }
.service-detail-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; }
.service-detail-grid h2 { max-width:590px; }
.service-detail-grid p { color:var(--muted); line-height:1.75; font-size:1.04rem; }
.service-detail-grid h3 { margin:28px 0 10px; font-size:1.3rem; }
.service-detail-process { background:#f4f9fb; }
.service-detail-process ol { list-style:none; margin:0 0 30px; padding:0; border-top:1px solid var(--line); }
.service-detail-process li { display:flex; gap:25px; padding:15px 0; border-bottom:1px solid var(--line); }
.service-detail-process li span { color:#3480a3; font-family:Newsreader,serif; font-size:1.4rem; }
.service-detail-process li p { margin:0; }
.about { background:#f7fbfc; }
.founder-photo { border:0; border-radius:6px; }
.contact-form { border-radius:6px; }
@media(max-width:1050px) {
  .hero-grid { grid-template-columns:1fr .85fr; gap:5%; padding:70px 0 80px; }
  h1 { font-size:clamp(3.4rem,5.5vw,5.7rem); }
  .hero-portrait { min-height:470px; height:52vw; border-radius:140px 140px 6px 6px; }
}
@media(max-width:700px) {
  .nav-shell { height:72px; }
  .hero-grid { display:grid; grid-template-columns:1fr; gap:48px; padding:52px 0 75px; }
  h1 { font-size:clamp(3.25rem,11vw,5rem); }
  h2 { font-size:clamp(2.55rem,9vw,4.3rem); }
  .hero-lead { font-size:1rem; }
  .hero-actions { margin:29px 0 36px; }
  .hero-proof { gap:12px; }
  .hero-proof div { flex:1; }
  .hero-portrait { width:min(100% - 16px,500px); height:480px; min-height:0; margin:0 16px 0 0; border-radius:125px 125px 6px 6px; box-shadow:12px 12px 0 #bedfed; }
  .editorial-photo { height:255px; margin-top:42px; }
  .editorial-photo figcaption { font-size:1rem; right:12px; bottom:12px; }
  .candidate-image { height:420px; border-radius:120px 120px 6px 6px; }
  .faq-grid { display:block; }
  .faq-list { margin-top:32px; }
  .privacy-layout { padding:60px 0 90px; }
  .service-detail-hero { padding:125px 0 75px; }
  .service-detail-hero h1 { font-size:clamp(3.1rem,11vw,5rem); }
  .service-detail-grid { display:block; }
  .section { padding-top:75px; padding-bottom:75px; }
  .split-heading { display:block; }
  .intro-copy { margin-top:28px; }
  .service-grid { margin-top:50px; margin-bottom:55px; }
  .profiles { padding-top:50px; }
}
@font-face { font-family:'DM Sans'; src:url('assets/fonts/dm-sans-latin.woff2') format('woff2'); font-style:normal; font-weight:400 700; font-display:swap; }
@font-face { font-family:Manrope; src:url('assets/fonts/manrope-latin.woff2') format('woff2'); font-style:normal; font-weight:500 800; font-display:swap; }
@font-face { font-family:Newsreader; src:url('assets/fonts/newsreader-latin.woff2') format('woff2'); font-style:normal; font-weight:400 500; font-display:swap; }
@font-face { font-family:Newsreader; src:url('assets/fonts/newsreader-italic-latin.woff2') format('woff2'); font-style:italic; font-weight:400 500; font-display:swap; }

/* Keep every piece of content readable within a narrow phone viewport. */
@media (max-width:700px) {
  .hero-grid, .hero-copy, .split-heading, .contact-shell, .contact-form,
  .service-detail-grid, .profiles, .faq-grid { min-width:0; }
  .hero-strip { position:relative; height:auto; min-height:51px; padding:11px 0; }
  .hero-strip .wrap { white-space:normal; line-height:1.5; letter-spacing:.09em; }
  .hero-strip span { margin:0 7px; }
  .hero-proof { display:grid; grid-template-columns:1fr; gap:11px; }
  .hero-proof div { min-width:0; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:14px; }
  .hero-actions .button { justify-content:space-between; }
  .hero-actions .text-link { align-self:flex-start; }
  .footer-links { flex-wrap:wrap; justify-content:flex-start; gap:10px 18px; }
  .footer-grid { min-width:0; }
  .footer-grid > *, .privacy-layout, .terms-layout { min-width:0; overflow-wrap:break-word; }
}
@media (max-width:380px) {
  .hero-grid { gap:36px; }
  h1 { font-size:clamp(2.65rem,10vw,3.25rem); }
  .hero-portrait { height:390px; }
  .contact-form { padding:23px 16px; }
  .footer-links { gap:8px 14px; }
}
