/* Signature refinements: intentional image selection and a memorable invitation. */
.cinematic-media .cinematic-image { position:absolute; inset:0; }
.cinematic-hero::before { background:linear-gradient(90deg,#102731ec 0%,#102731a1 29%,#10273124 58%,transparent 80%),linear-gradient(0deg,#0b1b27f5 0%,#0b1b276b 21%,transparent 49%); }
.cinematic-footer { min-height:150px; align-items:center; gap:32px; padding-top:21px; padding-bottom:22px; }
.hero-project-link { flex:1; min-width:0; }
.hero-project-link small { line-height:1.7; }
.hero-scene-switcher { position:relative; width:440px; flex-shrink:0; }
.hero-scene-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:12px; font-size:9px; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:#d4dbd7; }
#hero-scene-count { color:var(--champagne); }
.hero-scene-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.hero-scene-options button { position:relative; display:grid; grid-template-columns:54px 1fr; align-items:center; gap:10px; min-height:58px; padding:8px; background:#112630a3; color:#cdd8db; border:1px solid #c1c9c74d; text-align:left; transition:border-color .2s,background .2s; }
.hero-scene-options button img { width:54px; height:38px; object-fit:cover; opacity:.7; transition:opacity .2s; }
.hero-scene-options button>span { font-size:11px; line-height:1.3; }
.hero-scene-options button .scene-choice-arrow { position:absolute; top:5px; right:6px; font-size:10px; color:var(--champagne); opacity:0; }
.hero-scene-options button[aria-pressed=true] { border-color:var(--champagne); color:var(--champagne); background:#192a35d9; }
.hero-scene-options button[aria-pressed=true] img,.hero-scene-options button:hover img { opacity:1; }
.hero-scene-options button[aria-pressed=true] .scene-choice-arrow { opacity:1; }
.hero-scene-options button:hover { border-color:#e3d1b2; background:#192a35e8; }
.hero-scene-options button.is-pending { border-style:dashed; }
.hero-scene-options button:focus-visible { outline:2px solid var(--champagne); outline-offset:4px; }
.hero-scene-feedback { position:absolute; bottom:calc(100% + 10px); right:0; max-width:440px; display:flex; gap:16px; align-items:center; padding:10px 13px; background:#102631f2; border:1px solid #b5bfb53d; color:#f8f7f3; }
.hero-scene-feedback:has(#hero-scene-status:empty) { display:none; }
#hero-scene-status { font-size:11px; line-height:1.5; }
#hero-scene-retry { min-height:44px; min-width:70px; padding:8px 10px; background:var(--champagne); color:#192a35; font-size:11px; }
.hero-scroll { flex-shrink:0; }
.hero-scroll .scroll-arrow { border-radius:50%; width:48px; height:48px; }
.cinematic-footer .hero-scroll>.scroll-arrow { display:grid; }
.introduction { padding-block:84px; }
.intro-label .intro-rule { width:130px; }
.intro-main h2 { font-size:clamp(44px,4.5vw,70px); }
.work .project-card:nth-child(3) .project-image img { object-position:60% center; }
.signature-contact { padding:0; border-top:0; background:#192a35; }
.signature-invitation { display:grid; grid-template-columns:1.1fr .9fr; min-height:680px; }
.invitation-image { position:relative; margin:0; min-width:0; overflow:hidden; background:#132630; }
.invitation-image>img { width:100%; height:100%; min-height:680px; object-fit:cover; object-position:15% center; }
.invitation-image::after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,#0e202ce8); pointer-events:none; }
.invitation-image figcaption { position:absolute; left:5vw; right:30px; bottom:35px; z-index:1; display:flex; flex-direction:column; gap:8px; color:#f8f7f3; }
.invitation-image figcaption>span:first-child { font-size:19px; }
.invitation-image figcaption>span:last-child { font-size:10px; line-height:1.6; color:#d7dcd5; }
.invitation-copy { align-self:center; padding:70px 6vw; color:var(--paper); }
.invitation-copy>.eyebrow { color:var(--champagne); font-size:9px; letter-spacing:.15em; display:block; margin-bottom:30px; }
.signature-contact .invitation-copy h2 { font-size:clamp(52px,4.8vw,78px); line-height:1.03; letter-spacing:-.045em; margin:0; }
.invitation-copy>p { font-size:14px; line-height:1.85; color:#c3d0d2; max-width:390px; margin-top:25px; }
.invitation-copy .contact-cta { display:flex; justify-content:space-between; align-items:center; gap:28px; width:100%; max-width:390px; min-height:58px; margin-top:30px; padding:17px 22px; font-size:13px; background:var(--champagne); color:#192a35; }
.invitation-copy .contact-cta:hover { background:#e2cdaa; }
.invitation-copy .contact-cta>span { font-size:21px; transition:transform .2s; }
.invitation-copy .contact-cta:hover>span { transform:translate(2px,-2px); }
.invitation-prompt { border-top:1px solid #a2b2ba4d; padding-top:25px; margin-top:32px; max-width:390px; }
.invitation-prompt .eyebrow { font-size:9px; color:var(--champagne); }
.invitation-prompt p { margin-top:12px; font-size:12px; color:#c3d0d2; line-height:1.8; }
.signature-footer .contact-bottom { margin-top:0; padding-top:42px; border-top:0; }
@media(max-width:1100px) and (min-width:761px) {
 .hero-scene-switcher { width:390px; }.hero-scene-options button { grid-template-columns:44px 1fr; gap:7px; padding:7px; }.hero-scene-options button img { width:44px; height:34px; }.hero-scene-options button>span { font-size:10px; }.cinematic-footer { gap:20px; }.hero-project-link small { max-width:270px; font-size:9px; }
 .signature-invitation { grid-template-columns:1fr 1fr; min-height:630px; }.invitation-image>img { min-height:630px; }.invitation-copy { padding:55px 5vw; }.signature-contact .invitation-copy h2 { font-size:59px; }
}
@media(max-width:760px) {
 .cinematic-hero { min-height:800px; }
 .cinematic-hero::before { background:linear-gradient(90deg,#102731bd 0%,#10273140 75%,#10273120),linear-gradient(0deg,#0b1b27fa 0%,#0b1b2796 35%,#10273110 72%,#10232e35); }
 .cinematic-copy { bottom:243px; }.cinematic-copy>.eyebrow { margin-bottom:20px; }.cinematic-description { margin-top:18px; }.cinematic-actions { margin-top:22px; }
 .cinematic-footer { display:grid; grid-template-columns:minmax(0,1fr) 40px; gap:18px 14px; min-height:0; padding-top:19px; padding-bottom:20px; }
 .hero-scene-switcher { grid-column:1/-1; grid-row:1; width:100%; }.hero-scene-heading { font-size:8px; margin-bottom:9px; }.hero-scene-options { gap:8px; }.hero-scene-options button { grid-template-columns:1fr; gap:6px; min-height:54px; padding:9px 8px; }.hero-scene-options button img { position:absolute; inset:0; width:100%; height:100%; opacity:.2; }.hero-scene-options button[aria-pressed=true] img,.hero-scene-options button:hover img { opacity:.3; }.hero-scene-options button>span { position:relative; font-size:11px; z-index:1; }.hero-scene-options button .scene-choice-arrow { top:7px; right:8px; font-size:10px; }.hero-project-link { grid-column:1; grid-row:2; gap:5px; }.hero-project-index { font-size:7px; }.hero-project-link>span:nth-child(2) { font-size:13px; }.hero-project-link small { font-size:8px; max-width:260px; }.hero-scroll { grid-column:2; grid-row:2; }.hero-scroll .scroll-arrow { width:36px; height:44px; }
 .hero-scene-feedback { max-width:100%; left:0; right:0; bottom:calc(100% + 8px); padding:8px 10px; }.hero-scene-feedback #hero-scene-status { font-size:10px; }
 .introduction { padding-block:60px; }.intro-main h2 { font-size:43px; }.intro-label .intro-rule { width:60px; }
 .signature-invitation { display:flex; flex-direction:column; min-height:0; }.invitation-image { height:360px; }.invitation-image>img { height:100%; min-height:0; object-position:15% center; }.invitation-image figcaption { left:25px; right:25px; bottom:25px; }.invitation-image figcaption>span:first-child { font-size:18px; }.invitation-image figcaption>span:last-child { font-size:9px; }
 .invitation-copy { padding:45px 25px 52px; width:100%; }.invitation-copy>.eyebrow { font-size:9px; margin-bottom:25px; }.signature-contact .invitation-copy h2 { font-size:62px; }.invitation-copy>p { margin-top:23px; font-size:14px; }.invitation-copy .contact-cta { margin-top:25px; font-size:13px; }.invitation-prompt { margin-top:26px; padding-top:22px; }.invitation-prompt p { font-size:12px; }.signature-footer .contact-bottom { padding-top:32px; }
}
@media(max-width:360px) { .cinematic-copy { bottom:244px; }.cinematic-copy h1 { font-size:41px; }.hero-project-link small { max-width:216px; font-size:8px; }.hero-scene-options { gap:6px; }.hero-scene-options button { padding-inline:7px; }.hero-scene-options button>span { font-size:10px; }.intro-main h2 { font-size:38px; }.signature-contact .invitation-copy h2 { font-size:53px; }.invitation-image { height:300px; } }
@media(prefers-reduced-motion:reduce) { .hero-scene-options button,.hero-scene-options button img,.invitation-copy .contact-cta>span { transition:none; } }
