.navbar {
    position: absolute;
    inset: 0 0 auto 0;
    width: 100%;
    padding: 28px 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 20;
}
.brand { font-size: 18px; font-weight: 500; text-decoration: none; }
.nav-links { display: flex; gap: 28px; align-items: center; }
.nav-links a { font-size: 14px; text-decoration: none; }
.nav-links a:hover, .nav-links a[aria-current="page"] { opacity: .55; }
.navbar-over-photo { color: var(--white); text-shadow: 0 1px 12px rgba(0,0,0,.3); }

/* Mobile navigation trigger */
.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
.menu-toggle span {
    display: block;
    width: 24px;
    height: 1px;
    margin: 7px auto;
    background: currentColor;
    transform-origin: center;
    transition: transform .28s ease, opacity .28s ease;
}


.section { padding: 120px 60px; }
.section-label { margin: 0 0 60px; font-size: 13px; line-height: 1.2; text-transform: uppercase; letter-spacing: 2px; }
.section-content { width: 100%; max-width: none; }
.section h2, .section-content h2 { width: 100%; max-width: none; margin-bottom: 0; font-size: clamp(38px, 3.6vw, 56px); line-height: 1.08; }

.split-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.split-layout > h2 { max-width: 650px; }
.body-copy { max-width: 680px; }
.body-copy p { margin-bottom: 28px; }

.photo-hero {
    position: relative;
    min-height: 84vh;
    padding: 180px 60px 90px;
    display: flex;
    align-items: flex-end;
    background-size: cover;
    background-position: center;
    color: var(--white);
}
.photo-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.56)); }
.photo-hero-content { position: relative; z-index: 2; width: 100%; max-width: none; }
.photo-hero-content .section-label { margin-bottom: 42px; }
.photo-hero h1 { width: 100%; max-width: none; margin: 0; font-size: clamp(48px, 4.4vw, 72px); line-height: 1; }
.hero-support { width: 100%; max-width: none; margin: 42px 0 0; font-size: clamp(18px, 1.55vw, 22px); }

.plain-page-hero { min-height: 68vh; padding: 180px 60px 100px; display: flex; flex-direction: column; justify-content: flex-end; }
.plain-page-hero h1 { width: 100%; max-width: none; margin: 0; font-size: clamp(46px, 4vw, 66px); line-height: 1.03; }

.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px; }
.process-grid article { border-top: 1px solid currentColor; padding-top: 18px; }
.process-grid span { font-size: 13px; }
.process-grid h3 { margin: 60px 0 22px; font-size: 25px; line-height: 1.15; }
.process-grid p { margin-bottom: 0; font-size: 16px; }

.contact { min-height: 66vh; background: var(--ink); color: var(--paper); }
.contact-link { display: inline-block; margin-top: 64px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 28px; text-decoration: none; }
.contact-link:hover { opacity: .55; }
.text-link { display: inline-block; margin-top: 60px; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 18px; text-decoration: none; }



/* Compact review summary used at the end of core pages */
.mini-reviews { padding: 52px 60px 46px; background: var(--muted); border-top: 1px solid rgba(24,24,24,.12); }
.mini-reviews-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; align-items: end; }
.mini-reviews-heading .section-label { margin: 0; }
.mini-reviews-heading h2 { margin: 0; font-size: clamp(28px, 2.4vw, 38px); line-height: 1.08; }
.mini-reviews-sources { margin-top: 36px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.mini-review-source { padding-top: 18px; border-top: 1px solid rgba(24,24,24,.35); display: grid; gap: 7px; color: inherit; text-decoration: none; }
.mini-review-source:hover { opacity: .62; }
.mini-review-platform { font-size: 13px; text-transform: uppercase; letter-spacing: 1.5px; opacity: .62; }
.mini-review-source strong { font-size: 18px; font-weight: 500; }
.mini-review-source > span:last-child { font-size: 14px; opacity: .68; }
.mini-reviews-link { display: inline-block; margin-top: 32px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 15px; text-decoration: none; }

/* Site footer */
.site-footer { padding: 42px 60px; background: var(--ink); color: var(--paper); border-top: 1px solid #555; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; }
.site-footer p { margin: 0; }
.footer-name { margin-bottom: 8px !important; font-size: 16px; font-weight: 500; }
.footer-role { font-size: 13px; line-height: 1.5; opacity: .68; }
.footer-meta { text-align: right; font-size: 12px; line-height: 1.5; opacity: .78; }
.footer-links { margin-top: 10px; display: flex; justify-content: flex-end; gap: 18px; }
.footer-links a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.32); }
.footer-links a:hover { opacity: .6; }

/* Legal pages */
.legal-page { min-height: 70vh; padding: 170px 60px 100px; }
.legal-page h1 { margin: 0 0 55px; font-size: clamp(46px, 4vw, 66px); line-height: 1.02; }
.legal-copy { max-width: 900px; }
.legal-copy h2 { margin: 44px 0 14px; font-size: 24px; }
.legal-copy p { margin: 0 0 18px; }
.legal-note { padding: 18px 20px; background: var(--muted); border-left: 3px solid var(--ink); }

/* Language switcher */
.language-switcher {
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    letter-spacing: .08em;
}
.language-switcher a {
    font-size: 12px;
    text-decoration: none;
    opacity: .58;
}
.language-switcher a[aria-current="true"] {
    opacity: 1;
    font-weight: 500;
}
.language-switcher span { opacity: .38; }
