/* Small extensions to the supplied design, shared by both languages. */
:root { --color-surface-header: #001a33; }
[hidden] { display: none !important; }
[id] { scroll-margin-top: calc(var(--header-height) + 24px); }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #BF133C; outline-offset: 4px; }
.header a:focus-visible, .footer a:focus-visible, .hero a:focus-visible { outline-color: #FCD600; }
.nav__link[aria-current="page"]:not(.nav__link--cta) { text-decoration: underline; text-underline-offset: 6px; }
.page-hero { min-height: auto; padding-block: var(--space-3xl) var(--space-2xl); }
.page-hero .hero__content { max-width: 950px; }
.contact-details-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:var(--space-3xl); }
.contact-details-grid h2 { margin-bottom: var(--space-l); }
.contact-details-grid address { font-style:normal; line-height:1.8; }
.contact-details-grid a, .personal-card__links a { overflow-wrap:anywhere; }
.review-note { border-left:3px solid #8b1536;background:#f4f6f8;color:#354d68!important;padding:16px 20px;font-size:.88rem!important;line-height:1.65;max-width:850px;margin:24px 0; }
.project-review { padding-block:24px; }
.project-review .review-note { margin:0;max-width:none; }
.clients-section .review-note { margin:24px auto; }
.footer-address { font-style:normal;font-size:.88rem;line-height:1.7;color:#c2cfdf;margin-top:24px; }
.footer-region-statement { margin:18px 0 0;padding-left:14px;border-left:2px solid var(--brand-crimson);color:#c2cfdf;font-size:.88rem;line-height:1.65;font-weight:400; }
.footer-imagery-note { margin:0 auto 12px;max-width:64ch;color:#c2cfdf;font-size:.875rem;line-height:1.65; }
.footer-imagery-disclosure { display:inline-block;max-width:100%;margin:0 12px 0 0;vertical-align:top;color:#c2cfdf;font-size:.875rem; }
.footer-imagery-disclosure[open] { display:block;margin:0 auto; }
.footer-imagery-disclosure summary { min-height:44px;padding:10px 4px;line-height:24px;list-style-position:inside;font-weight:400;cursor:pointer; }
.footer-imagery-disclosure summary:hover { color:#ffb7c8; }
.footer-imagery-disclosure summary:focus-visible { outline:3px solid #fcd600;outline-offset:3px; }
.first-conversation { background:#f4f6f8; }
.conversation-intro { max-width:740px;color:#354d68;font-size:1.05rem;line-height:1.75;margin-top:24px; }
.conversation-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;counter-reset:conversation;padding:0;margin:40px 0 0; }
.conversation-steps li { border-top:1px solid #b9c4d0;padding-top:22px;counter-increment:conversation; }
.conversation-steps li:before { content:'0' counter(conversation);color:#8b1536;font-size:.85rem; }
.conversation-steps h3 { color:#001a33;font-size:1.25rem;line-height:1.4;margin:16px 0 12px; }
.conversation-steps p { color:#354d68;line-height:1.7; }
@media(max-width:768px) { .conversation-steps { grid-template-columns:1fr;gap:28px; } }
.industry-detail { display:grid; grid-template-columns:1fr 1.4fr; gap:var(--space-3xl); padding-block:var(--space-2xl); border-bottom:1px solid var(--border-subtle); }
.industry-detail:first-child { padding-top:0; }
.industry-detail:last-child { border-bottom:0; padding-bottom:0; }
.industry-detail .hero__eyebrow { color:var(--brand-crimson); font-size:var(--text-sm); }
.industry-detail h2 { margin-top:var(--space-s); }
.industry-detail ul { padding-left:1.25em; margin-block:var(--space-m); }
.industry-detail li { margin-block:var(--space-xs); }
.email-draft { margin-top:var(--space-l); padding:var(--space-l); border:1px solid var(--border-subtle); border-top:3px solid var(--brand-crimson); background:var(--surface-subtle); color:var(--text-primary); }
.email-draft p, .email-draft h3 { color:var(--text-primary); }
.email-draft textarea { width:100%; background:#fff; color:#001a33; font:inherit; padding:var(--space-s); border:1px solid #a6b0bb; border-radius:var(--radius-sm); }
.email-draft__actions { display:flex; flex-wrap:wrap; gap:var(--space-s); margin-top:var(--space-m); }
.btn--outline { background:#fff; color:#001a33; border:1px solid #001a33; }
button:disabled { opacity:.65; cursor:wait; }
.form-hint { font-size:var(--text-sm); line-height:1.6; }
.form-error { font-size:var(--text-sm); }
body.nav-open { overflow:hidden; }
.card__body, .hero__sub, .content-section p { font-size:max(1rem, var(--text-base)); }
@media (max-width:1050px) {
 .hamburger { display:flex; margin-left:auto; }
 .nav__list { position:fixed; top:var(--header-height); left:0; right:0; bottom:0; overflow-y:auto; background:#001a33; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding:var(--space-m) 0; transform:translateX(100%); opacity:0; visibility:hidden; }
 .nav__list.active { transform:translateX(0); opacity:1; visibility:visible; }
 .nav__link { display:block; padding:var(--space-s) var(--space-l); font-size:1rem; }
 .nav__link::after { display:none; }
 .nav__link--cta { margin:var(--space-s) var(--space-l); text-align:center; }
 .lang-switcher { justify-content:center; }
 .nav__link--lang { padding:var(--space-s); }
}
@media (max-width:768px) {
 .contact-details-grid,.industry-detail { grid-template-columns:1fr; gap:var(--space-l); }
 .email-draft { padding:var(--space-m); }
 .hero__sub, .content-section p, .card__body { font-size:1rem !important; }
 .personal-card__links { flex-wrap:wrap; }
 .hero__heading { overflow-wrap:break-word; hyphens:auto; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}
@media print { .email-draft { display:block; } }
:root { --space-sm:var(--space-s); --space-md:var(--space-m); }
