/* Corporate & AV: a quiet, professional production language within Top Notch. */
.corp-page { --corp-ink:#192026; --corp-paper:#f7f1e8; --corp-cream:#fff9ef; --corp-brass:#d0b38c; --corp-wine:#681a2c; --corp-muted:#66594c; --corp-rule:#c9b8a3; color:var(--corp-ink); font-family:var(--tn-sans,system-ui,sans-serif); }
.corp-page :is(h1,h2,h3) { font-family:var(--tn-display,Georgia,serif); font-weight:400; letter-spacing:-.035em; text-transform:none; text-wrap:balance; }
.corp-page h2 { margin:0; font-size:clamp(2.2rem,4.4vw,4.3rem); line-height:1.08; }
.corp-page h2 em { color:var(--corp-wine); font-weight:inherit; }
.corp-label { margin:0 0 1rem; color:var(--corp-wine); font-size:.7rem; font-weight:650; line-height:1.6; letter-spacing:.115em; text-transform:uppercase; }
.corp-button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.8rem; width:fit-content; max-width:100%; min-height:50px; padding:.9rem 1.2rem; border:1px solid #bda380; background:var(--corp-ink); color:var(--corp-cream); font-size:.85rem; font-weight:600; line-height:1.5; text-decoration:none; }
.corp-button:hover { background:#39434c; }
.corp-button .tn-icon, .corp-text-link .tn-icon { width:1.1em; height:1.1em; flex:none; }
.corp-text-link { display:inline-flex; gap:.6rem; align-items:center; min-height:44px; margin-top:.8rem; color:var(--corp-wine); font-size:.86rem; font-weight:600; text-decoration:underline; text-underline-offset:.22em; }
.corp-hero { position:relative; isolation:isolate; min-height:clamp(610px,58vw,850px); display:flex; align-items:center; color:var(--corp-cream); background:#192026; overflow:hidden; }
.corp-hero::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#111b25f0 0,#17232dd9 30%,#17232d65 62%,#17232d10 100%); }
.corp-hero-image { position:absolute; inset:0; z-index:-2; margin:0; }
.corp-hero-image picture { display:block; width:100%; height:100%; }
.corp-hero-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:68% center; }
.corp-hero-image figcaption { position:absolute; right:clamp(22px,3vw,46px); bottom:22px; max-width:45%; padding:.35rem .55rem; color:#fff8ed; background:#111b25d9; font-size:.66rem; line-height:1.5; }
.corp-hero-copy { max-width:690px; padding:clamp(40px,6vw,90px) 24px clamp(50px,7vw,100px) clamp(24px,5vw,76px); }
.corp-hero .corp-label { color:#e3c6a1; font-size:.66rem; }
.corp-hero h1 { margin:0; font-size:clamp(3.2rem,5.9vw,6rem); line-height:1.02; }
.corp-hero h1 em { color:#e7d0ae; font-weight:inherit; }
.corp-hero-copy > p:not(.corp-label) { max-width:40ch; margin:1.5rem 0; color:#eee7dc; font-size:1rem; line-height:1.75; }
.corp-hero .corp-button { color:#192026; background:#fff7e9; border-color:#fff7e9; }
.corp-hero .corp-button:hover { background:#e4c9a6; }
.corp-hero-copy .corp-hero-note { margin:1.1rem 0 0; color:#d8c8b3; font-size:.72rem; }
.corp-occasions, .corp-av-experience { padding-block:clamp(48px,7vw,100px); background:#faf5ed; }
.corp-section-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:.5rem clamp(26px,6vw,90px); align-items:end; }
.corp-section-heading .corp-label { grid-column:1/-1; }
.corp-section-heading > p:last-child { margin:0; max-width:48ch; color:var(--corp-muted); font-size:.96rem; line-height:1.75; }
.corp-occasion-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,44px); margin-top:clamp(30px,5vw,65px); }
.corp-occasion-grid article { position:relative; padding:clamp(22px,2.5vw,36px); min-width:0; background:#fffdf8; border:1px solid #d1c1ac; box-shadow:0 14px 28px -24px #15222f88; }
.corp-occasion-grid svg { display:block; width:64px; height:64px; margin:0 0 2rem; fill:none; stroke:#7b573b; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.corp-card-index { margin:0 0 .8rem; color:#79563e; font-size:.66rem; font-weight:650; letter-spacing:.075em; line-height:1.5; text-transform:uppercase; }
.corp-occasion-grid h3 { margin:0 0 .9rem; font-size:clamp(1.55rem,2.4vw,2.35rem); line-height:1.16; }
.corp-occasion-grid article > p:last-child { margin:0; color:var(--corp-muted); font-size:.92rem; line-height:1.75; }
.corp-production { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,7vw,110px); align-items:center; padding-block:clamp(50px,8vw,110px); background:#1b252e; color:var(--corp-cream); }
.corp-production .corp-label { color:#d7b995; }
.corp-production h2 em { color:#d8b98f; }
.corp-production-copy > p:not(.corp-label) { max-width:43ch; margin:1.5rem 0 0; color:#e1d6c8; font-size:.97rem; line-height:1.75; }
.corp-production .corp-text-link { color:#eed0a7; }
.corp-cue-board { position:relative; isolation:isolate; padding:clamp(20px,3vw,38px); border:1px solid #a9957e; background:#f4ecdf; color:#192026; box-shadow:.65rem .65rem 0 #0e1720,0 22px 50px -25px #060b1099; transform:perspective(1200px) rotateY(-2deg); }
.corp-cue-board-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-bottom:1.1rem; border-bottom:1px solid #c6b59e; color:#65513c; font-size:.68rem; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.corp-status-dot { flex:none; width:7px; height:7px; border-radius:50%; background:#7d5138; box-shadow:0 0 0 4px #e4d5bf; }
.corp-cue-board ol { list-style:none; margin:0; padding:0; }
.corp-cue-board li { display:grid; grid-template-columns:1.8rem minmax(0,1fr) 1rem; gap:.9rem; padding:1.3rem 0; border-bottom:1px solid #c6b59e; }
.corp-cue-number { color:#77553a; font:italic 400 1.3rem/1.35 var(--tn-display,Georgia,serif); }
.corp-cue-board h3 { margin:0; font-size:1.5rem; line-height:1.25; }
.corp-cue-board li p { margin:.45rem 0 0; color:#67584a; font-size:.88rem; line-height:1.6; }
.corp-cue-mark { align-self:center; color:#7b573b; }
.corp-cue-foot { margin:1rem 0 0; color:#67584a; font-size:.73rem; line-height:1.6; }
.corp-scope { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,7vw,110px); padding-block:clamp(48px,7vw,95px); background:#eee5d8; }
.corp-faq details { border-top:1px solid #b9a58c; padding-block:.7rem; }
.corp-faq details:last-child { border-bottom:1px solid #b9a58c; }
.corp-faq summary { min-height:44px; align-content:center; cursor:pointer; color:#372d24; font-size:.91rem; font-weight:600; line-height:1.5; }
.corp-faq p { margin:.7rem 0 .4rem; color:#65564a; font-size:.92rem; line-height:1.75; }
.corp-cta { padding-block:clamp(50px,7vw,100px); text-align:center; background:#f9f3e9; }
.corp-cta h2 { margin:0 auto; max-width:20ch; }
.corp-cta .corp-button { margin-top:2rem; }
.corp-signal-path { display:grid; grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr) 2rem minmax(0,1fr); align-items:center; gap:clamp(10px,2vw,25px); margin-top:clamp(32px,5vw,65px); }
.corp-signal-path > div { min-width:0; min-height:260px; padding:clamp(20px,2.5vw,35px); color:#fdf7ee; background:#22303c; border-top:2px solid #c6a984; box-shadow:.3rem .3rem 0 #d6c2a8; }
.corp-signal-path svg { display:block; width:54px; height:54px; margin-bottom:1.7rem; fill:none; stroke:#e3c7a2; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.corp-signal-path h3 { margin:0; font-size:clamp(1.45rem,2.1vw,2rem); line-height:1.2; }
.corp-signal-path p { margin:.8rem 0 0; color:#e4d6c3; font-size:.89rem; line-height:1.7; }
.corp-signal-link { text-align:center; color:#72543a; font:400 1.8rem/1 var(--tn-display,Georgia,serif); }
.corp-equipment-feature { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(30px,7vw,110px); align-items:center; padding-block:clamp(50px,8vw,110px); background:#eee4d6; }
.corp-equipment-print { margin:0; padding:9px; background:#fffaf1; border:1px solid #d4c0a5; box-shadow:0 22px 35px -25px #2b231b88; transform:rotate(-.8deg); }
.corp-equipment-print img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.corp-equipment-print figcaption { padding:.7rem .2rem .1rem; color:#6e5946; font-size:.68rem; line-height:1.5; }
.corp-equipment-copy dl { margin:1.6rem 0 0; padding:0; }
.corp-equipment-copy dl > div { padding:1rem 0; border-top:1px solid #c0ac91; }
.corp-equipment-copy dt { color:#603d2e; font-size:.85rem; font-weight:650; }
.corp-equipment-copy dd { margin:.4rem 0 0; color:#65564a; font-size:.92rem; line-height:1.7; }
@media(max-width:1000px) { .corp-hero h1 { font-size:clamp(3rem,6vw,5rem); } .corp-hero-copy { max-width:610px; } .corp-occasion-grid { gap:18px; } .corp-occasion-grid article { padding:22px; } .corp-signal-path { grid-template-columns:minmax(0,1fr) 1rem minmax(0,1fr) 1rem minmax(0,1fr); gap:10px; } .corp-signal-path > div { padding:20px; } }
@media(max-width:720px) {
 .corp-hero { display:block; min-height:0; }
 .corp-hero::after { display:none; }
 .corp-hero-image { position:relative; z-index:auto; aspect-ratio:1.4; }
 .corp-hero-image img { object-position:70% center; }
 .corp-hero-image figcaption { right:20px; bottom:16px; max-width:85%; }
 .corp-hero-copy { max-width:none; padding:2.2rem var(--edge,22px) 2.8rem; }
 .corp-hero h1 { font-size:clamp(2.7rem,10vw,4.5rem); }
 .corp-hero-copy > p:not(.corp-label) { font-size:.95rem; margin:1.2rem 0; }
 .corp-hero-copy .corp-hero-note { font-size:.7rem; margin-bottom:0; }
 .corp-section-heading, .corp-occasion-grid, .corp-production, .corp-scope, .corp-equipment-feature { grid-template-columns:1fr; }
 .corp-section-heading { gap:.7rem; }
 .corp-section-heading > p:last-child { max-width:60ch; }
 .corp-occasion-grid { gap:1.2rem; }
 .corp-occasion-grid article { display:grid; grid-template-columns:3.2rem minmax(0,1fr); gap:.5rem 1rem; padding:22px; }
 .corp-occasion-grid svg { width:46px; height:46px; grid-row:1/4; margin:0; }
 .corp-card-index { margin:0; }
 .corp-occasion-grid h3, .corp-occasion-grid article > p:last-child { grid-column:2; }
 .corp-occasion-grid h3 { margin:0 0 .2rem; }
 .corp-cue-board { margin-right:9px; transform:none; }
 .corp-production, .corp-scope, .corp-equipment-feature { gap:2rem; }
 .corp-signal-path { grid-template-columns:1fr; gap:1rem; }
 .corp-signal-path > div { min-height:0; display:grid; grid-template-columns:3rem minmax(0,1fr); gap:.4rem 1rem; }
 .corp-signal-path svg { grid-row:1/3; width:42px; height:42px; margin:0; }
 .corp-signal-path p { grid-column:2; margin:.3rem 0 0; }
 .corp-signal-link { display:none; }
 .corp-equipment-print { transform:none; }
}
@media(max-width:360px) { .corp-occasion-grid article { padding:18px; grid-template-columns:2.4rem minmax(0,1fr); gap:.5rem .8rem; } .corp-occasion-grid svg { width:36px; height:36px; } .corp-cue-board { padding:18px; } .corp-cue-board li { grid-template-columns:1.5rem minmax(0,1fr); gap:.75rem; } .corp-cue-mark { display:none; } }
@media(prefers-reduced-motion:reduce) { .corp-cue-board, .corp-equipment-print { transform:none; } }
@media print { .corp-hero { display:block; min-height:0; color:#192026; background:#fff; } .corp-hero::after { display:none; } .corp-hero-image { position:relative; height:280px; z-index:auto; } .corp-hero-copy { max-width:none; padding:25px; } .corp-hero h1 em, .corp-hero .corp-label, .corp-hero-copy > p:not(.corp-label) { color:#192026; } .corp-production, .corp-signal-path > div { color:#192026; background:#fff; } .corp-production .corp-label, .corp-production h2 em, .corp-production-copy > p:not(.corp-label), .corp-signal-path p { color:#192026; } .corp-cue-board, .corp-equipment-print, .corp-signal-path > div { box-shadow:none; transform:none; } }
