/* Corporate landing: shared brand, College-style clarity and generous space. */
.corporate-landing { --corporate-gutter: clamp(22px, 4vw, 64px); }
.corporate-landing main { background: var(--surface); }
.corporate-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; min-height: 580px; height: min(760px, calc(100svh - 78px)); background: #111; color: #fffdf8; }
.corporate-hero-poster { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; transform: scale(1.3); object-fit: cover; border-radius: 0; }
.corporate-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #000b, #0003), linear-gradient(0deg, #000b, transparent); }
.corporate-hero-copy { padding: 64px var(--corporate-gutter); max-width: 1100px; }
.corporate-hero .eyebrow, .corporate-contact .eyebrow, .corporate-proof .eyebrow { color: #fffdf8; }
.corporate-hero h1 { margin: 0; font-size: clamp(2.25rem, 5vw, 4.75rem); line-height: 1.08; font-weight: 400; letter-spacing: -.035em; max-width: 1000px; }
.corporate-hero-copy > p:not(.eyebrow) { max-width: 640px; margin: 24px 0 30px; color: #fffdf8; font-size: 1rem; line-height: 1.7; }
.corporate-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.corporate-actions .button { display: inline-flex; gap: 24px; background: #fffdf8; color: #181713; }
.corporate-actions .button:hover { background: #eee8de; }
.corporate-hero-link { font-size: .875rem; text-decoration: underline; text-underline-offset: 5px; }
.corporate-section { padding: 72px var(--corporate-gutter); }
.corporate-section h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.75rem); font-weight: 400; line-height: 1.15; letter-spacing: -.025em; }
.corporate-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 32px; }
.corporate-section-heading > p { margin: 0; max-width: 320px; font-size: .875rem; color: var(--muted); }
.corporate-proof { background: #000; color: #fffdf8; }
.corporate-proof .corporate-section-heading > p { color: #c9c9c5; }
.corporate-proof-grid { display: grid; grid-template-columns: 1.65fr 1fr; gap: 32px; align-items: start; }
.corporate-proof figure { margin: 0; min-width: 0; }
.corporate-proof video { width: 100%; aspect-ratio: 16/9; object-fit: contain; background: #111; border-radius: 0; }
.corporate-proof figcaption { display: grid; gap: 6px; padding-top: 18px; font-size: .8125rem; }
.corporate-proof figcaption span, .corporate-film-link > span:last-child { color: #c9c9c5; font-size: .75rem; }
.corporate-film-link { display: grid; gap: 8px; min-width: 0; text-decoration: none; }
.corporate-film-link img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 0; }
.corporate-watch { color: #fffdf8; font-size: .75rem; margin-top: 10px; text-decoration: underline; text-underline-offset: 4px; }
.corporate-film-link strong { font-size: .875rem; font-weight: 600; }
.corporate-offer { background: var(--surface-soft); }
.corporate-service-list { margin: 0; }
.corporate-service-list > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: 32px; padding: 24px 0; border-top: 1px solid var(--line); }
.corporate-service-list > div:last-child { border-bottom: 1px solid var(--line); }
.corporate-service-list dt { font-size: 1.25rem; }
.corporate-service-list dd { margin: 0; max-width: 620px; font-size: .9375rem; color: var(--muted); line-height: 1.7; }
.corporate-process ol { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px; padding: 0; margin: 40px 0 0; list-style: none; }
.corporate-process li { border-top: 1px solid var(--line); padding-top: 22px; }
.corporate-process li > span { font-size: .75rem; color: var(--brand-accent); }
.corporate-process h3 { font-size: 1.5rem; font-weight: 400; margin: 16px 0 12px; }
.corporate-process li p { max-width: 340px; color: var(--muted); font-size: .9375rem; }
.corporate-faq { background: var(--paper); }
.corporate-faq h2 { margin-bottom: 32px; }
.corporate-faq details { border-top: 1px solid var(--line); }
.corporate-faq details:last-child { border-bottom: 1px solid var(--line); }
.corporate-faq summary { padding: 22px 40px 22px 0; cursor: pointer; position: relative; list-style: none; font-size: .9375rem; }
.corporate-faq summary::-webkit-details-marker { display: none; }
.corporate-faq summary::after { content: '+'; position: absolute; right: 4px; color: var(--brand-accent); }
.corporate-faq details[open] summary::after { content: '−'; }
.corporate-faq details p { max-width: 800px; margin: 0 0 24px; color: var(--muted); font-size: .875rem; line-height: 1.75; }
.corporate-contact { background: var(--charcoal); color: #fffdf8; }
.corporate-contact > p:not(.eyebrow) { max-width: 620px; color: #d3d3ce; margin: 24px 0; font-size: .9375rem; line-height: 1.7; }
.corporate-contact .corporate-actions > a:not(.button) { font-size: .875rem; text-decoration: underline; text-underline-offset: 5px; }
.corporate-contact .corporate-reassurance { font-size: .75rem !important; margin-bottom: 0 !important; }
@media (max-width: 760px) {
    .corporate-hero { min-height: 580px; height: auto; }
    .corporate-hero-copy { padding: 150px var(--corporate-gutter) 40px; }
    .corporate-hero-poster { object-position: 60% center; }
    .corporate-hero h1 { font-size: clamp(2.125rem, 9vw, 3rem); }
    .corporate-hero-copy > p:not(.eyebrow) { font-size: .875rem; }
    .corporate-section { padding-block: 44px; }
    .corporate-section-heading { display: grid; gap: 18px; }
    .corporate-proof-grid, .corporate-process ol { grid-template-columns: 1fr; gap: 32px; }
    .corporate-service-list > div { grid-template-columns: 1fr; gap: 8px; padding-block: 20px; }
    .corporate-service-list dt { font-size: 1.125rem; }
    .corporate-service-list dd { font-size: .875rem; }
    .corporate-actions { gap: 20px; }
    .corporate-actions .button { font-size: .8125rem; }
}

/* Campaign chrome is independent from the public service navigation. */
.campaign-header { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#000; padding:16px var(--corporate-gutter); }
.campaign-header .brand { width:165px; flex:none; }
.campaign-header .brand img { display:block; width:100%; height:auto; border-radius:0; }
.campaign-header .header-cta { background:var(--brand-accent); color:#fff; padding:12px 18px; font-size:.8125rem; }
.campaign-header .header-cta:hover { background:var(--brand-accent-hover); }
.campaign-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; padding:28px var(--corporate-gutter); background:#000; color:#c9c9c5; font-size:.75rem; }
.campaign-footer p { margin:0; }
.campaign-footer nav { display:flex; gap:24px; }
.campaign-enquiry { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; background:var(--surface-soft); }
.campaign-enquiry > div > p:not(.eyebrow) { max-width:480px; color:var(--muted); font-size:.9375rem; margin-top:24px; }
.campaign-enquiry .corporate-reassurance { font-size:.8125rem!important; }
.campaign-form { margin:0; box-shadow:none; padding:28px; background:var(--surface); }
.campaign-form .contact-form-title { font-size:1.5rem; }
.campaign-form .button { width:100%; }
.campaign-form .form-note { font-size:.75rem; }
#corporate-work, #enquire { scroll-margin-top:24px; }
@media(max-width:760px) { .campaign-header .brand { width:130px; } .campaign-header .header-cta { font-size:.75rem; padding:10px 12px; } .campaign-enquiry { grid-template-columns:1fr; gap:28px; } .campaign-form { padding:20px; } }
