/* Shared type, spacing and components for the complete corporate site. */
:root{--navy:#102237;--deep:#0b1a2b;--red:#ba2534;--ink:#182d40;--muted:#5f7485;--line:#d6dfe6;--paper:#fff;--section-space:clamp(56px,6vw,96px);--heading-size:clamp(38px,4.7vw,76px);--subheading-size:clamp(30px,3.2vw,52px)}
body{font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7;background:var(--paper)}
.shell,.wrap{width:88%;max-width:1440px;margin-left:auto;margin-right:auto}
h1,h2,h3{overflow-wrap:break-word}p{color:#526575}
.inner .page-heading{padding-top:var(--section-space);padding-bottom:clamp(38px,4vw,64px)}
.inner .page-heading h1,.quality-grid h1,.sustain-copy h1{font-size:var(--heading-size);font-weight:400;line-height:1.12;letter-spacing:-.045em}
.inner .page-heading h1{margin-bottom:24px;max-width:1100px}.page-heading .muted{color:var(--muted)}
.page-heading .lead,.detail-body p.lead{font-size:clamp(18px,1.6vw,23px);line-height:1.65;max-width:760px}
.story-content>h2,.section-heading h2,.career-call h2,.intro h2,.values h2,.mission-grid h2,.sector-detail article h2,.quality-band h2,.sustain-intro h2,.sustain-closing h2,.career-culture h2,.career-application h2{font-size:var(--subheading-size);font-weight:400;line-height:1.18;letter-spacing:-.035em}
.label,.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.14em;font-weight:600}.meta,.breadcrumb{font-size:13px;line-height:1.65}
.section-coordinate,.sustain-foot{font-size:12px;line-height:1.6;letter-spacing:.08em}.quality-seal>span{font-size:12px;line-height:1.6}
.company-story,.expertise,.career-call{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.works{padding-top:var(--section-space);padding-bottom:40px}.section-heading{margin-bottom:36px}
.intro,.detail-body{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.quality-matrix,.career-culture,.sustain-intro,.sustain-closing{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.quality-principles h2{font-size:clamp(28px,2.4vw,38px);line-height:1.2;font-weight:400}
.quality-principles p,.career-values p,.sector-detail article p,.career-culture p:not(.eyebrow),.career-application p{font-size:16px;line-height:1.8;color:#526575}
.quality-principles article,.career-values article{background:#f2f5f7;border-top:2px solid #cdd8e1;padding:clamp(26px,3vw,42px)}
.career-values h3{font-size:27px;line-height:1.25}.sustain-principles{background:var(--navy)}
.sustain-principles h2{font-size:var(--subheading-size)}.sustain-principles article>span{font-size:12px;line-height:1.6}
.sustain-copy>p:not(.eyebrow),.sustain-intro p:not(.eyebrow),.sustain-closing p{color:#526575;line-height:1.8}
.quality-intro,.sustain-principles p,.career-hero-bottom p{color:#c6d3dd;line-height:1.75}.quality-seal{gap:24px}
.line-link,.text-link{font-size:14px;line-height:1.6;font-weight:600;text-underline-offset:5px}.line-link{padding:12px 0;border-bottom:1px solid currentColor}
.button,.solid-button,.pill-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border-radius:0;font-size:14px;font-weight:600;line-height:1.5;text-align:center;white-space:normal;transition:background .2s,color .2s}
.solid-button,.button{background:var(--navy);color:#fff;border:1px solid transparent}.solid-button:hover,.button:hover{background:var(--red);color:white}
.pill-link{border-color:#ffffff70;color:white}.pill-link:hover{background:white;color:var(--navy)}
.project-visual{aspect-ratio:3/2}.project-badge,.view-label,.scope,.project-status{font-size:14px}.project-caption h3{font-size:clamp(23px,2vw,29px);line-height:1.25;letter-spacing:-.025em}
.project-caption .meta{font-size:13px;color:#5f7485}.portfolio-grid{gap:48px 36px}.project-caption{padding-top:20px}.project-status{margin-top:14px;padding:6px 12px}
.project-visual .view-label{opacity:1;transform:none;background:#102237eb}.project-note,.portfolio-note,.detail-body .portfolio-note,.image-method-note{font-size:13px;line-height:1.8;color:#5c7080}
.detail-visual{width:88%;max-width:1440px;margin:0 auto;background:#eef2f5}.detail-visual img{width:100%;height:auto;max-height:720px;object-fit:contain}
.detail-visual figcaption{padding:16px 20px;color:#526575;background:#f2f5f7;font-size:13px;line-height:1.8}.enhancement-caption,.original-image-link{font-size:13px}
.detail-body h2{font-size:var(--subheading-size);line-height:1.2;color:var(--ink);font-weight:400}.detail-body dl>div{font-size:15px;grid-template-columns:minmax(105px,30%) 1fr;gap:18px;padding:18px 0}
.sector-detail article img{height:auto;aspect-ratio:3/2;object-fit:cover}.sector-detail article{padding-top:48px;padding-bottom:48px}
.filters button{min-height:44px;font-size:14px;padding:10px 20px}.status-filters{gap:0;border-bottom:1px solid var(--line);margin-bottom:24px}
.status-filters button{border:0;border-bottom:3px solid transparent;background:transparent;padding:18px 22px;font-size:16px}.status-filters button[aria-pressed="true"]{background:transparent;color:var(--navy);border-bottom-color:var(--red)}
.status-filters button span{margin-left:12px}.contact-link{font-size:clamp(22px,2.5vw,36px);overflow-wrap:anywhere}.document{padding:clamp(26px,3vw,44px);background:#f2f5f7;border-top:3px solid var(--red)}.document h2{font-size:var(--subheading-size)}
.cinema-title{top:20%}.cinema-title .hero-positioning{font-size:clamp(17px,1.5vw,22px);font-weight:400;line-height:1.6;letter-spacing:0;color:#fff;max-width:580px;margin:26px auto 0;text-shadow:0 2px 18px #081526}
.cinema-top{font-size:12px;letter-spacing:.12em}.scene-controls button{font-size:13px;min-height:44px}.scene-location>span,.scene-location small{font-size:12px}.cinema-cta{font-size:14px}
.project-switcher small{font-size:11px}.project-switcher b{font-size:14px;line-height:1.4}.number-band span{font-size:14px;line-height:1.55}
.home-project-nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:36px}
.home-project-nav a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;border-right:1px solid var(--line);transition:background .2s;color:var(--navy);font-size:16px;font-weight:500}
.home-project-nav a:first-child{padding-left:0}.home-project-nav a:last-child{border:0;padding-right:0}.home-project-nav strong{font-size:36px;font-weight:400;line-height:1;color:var(--red)}.home-project-nav a:hover{background:#f1f5f7}
.panel-status{display:inline-block;margin:5px 0 0;font-size:12px;padding:4px 10px;border:1px solid #ffffff70;color:white}.project-panel .panel-link{display:block;font-size:14px;margin-top:22px}.project-panel small,.panel-top{font-size:12px}.project-panel p{font-size:16px}
.corporate-footer{padding:48px 6% 26px;background:var(--deep);color:white}.footer-identity{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff25;padding-bottom:32px;margin-bottom:46px}
.footer-brand{display:flex;align-items:center;gap:14px;color:white}.footer-brand img{width:64px;height:64px;object-fit:contain;background:white;padding:6px}.footer-brand>span{font-size:24px;font-weight:700;letter-spacing:.01em}.footer-brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.17em}.footer-identity>p{font-size:14px;color:#bbcbd8;margin:0;text-align:right}
.corporate-footer .footer-upper{grid-template-columns:1.25fr 1fr;gap:40px}.corporate-footer .footer-upper h2{font-size:clamp(35px,4.4vw,66px);font-weight:400;line-height:1.15;margin:18px 0 0;letter-spacing:-.035em}
.corporate-footer .label{font-size:12px;color:#c9d5df;margin:0}.corporate-footer .footer-contact>a{font-size:clamp(18px,2vw,27px);font-weight:400;overflow-wrap:anywhere}.corporate-footer .footer-contact .text-link{font-size:14px;color:#d7e0e8;border-bottom:1px solid #91a7ba;padding-bottom:8px;margin-top:14px}
.corporate-footer .footer-links{font-size:14px;gap:18px 28px;flex-wrap:wrap;margin-top:46px;padding:25px 0;color:#d0dce5}.corporate-footer .footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.corporate-footer .footer-bottom{font-size:12px;line-height:1.6;margin:0;padding-top:20px;color:#aebfce;flex-wrap:wrap}
@media(max-width:940px){.home-project-nav a{padding:20px 16px;font-size:14px}.home-project-nav strong{font-size:30px}.cinema-title{top:18%}.cinema-title h1{font-size:clamp(46px,8vw,85px)}.project-switcher b{font-size:12px}.corporate-footer .footer-upper{grid-template-columns:1fr}.corporate-footer .footer-contact{justify-self:start}}
@media(max-width:640px){.shell,.wrap,.detail-visual{width:90%}.label,.eyebrow,.section-coordinate,.sustain-foot{font-size:12px;letter-spacing:.08em}.cinema{min-height:730px}.cinema-title{top:15%}.cinema-title h1{font-size:clamp(38px,10vw,62px);line-height:1.13}.cinema-title .hero-positioning{font-size:17px;margin-top:22px}.cinema-top{font-size:10px;gap:20px}.scene-location h2{font-size:23px}.scene-location small{font-size:11px}.cinema-cta{font-size:13px}.scene-controls button{font-size:12px}.project-switcher small{font-size:10px}.project-switcher b{font-size:12px}.switch-index small{font-size:10px}.number-band span{font-size:13px}.story-label .label,.chapter{font-size:11px}.home-project-nav{grid-template-columns:1fr;margin-bottom:25px}.home-project-nav a,.home-project-nav a:first-child,.home-project-nav a:last-child{border:0;border-bottom:1px solid var(--line);padding:17px 4px;font-size:16px}.home-project-nav a:last-child{border-bottom:0}.home-project-nav strong{font-size:28px}.status-filters{flex-direction:row}.status-filters button{font-size:14px;padding:14px 10px;flex:1;display:block}.status-filters button span{display:block;margin:6px 0 0}.portfolio-grid{gap:36px}.filters{gap:8px}.filters button{padding:9px 14px}.project-badge,.scope,.project-caption .meta{font-size:13px}.quality-seal{flex-wrap:wrap}.quality-seal>span{font-size:11px;max-width:90px}.sustain-hero figcaption{font-size:12px}.sustain-copy h1{font-size:var(--heading-size)}.career-title h1{font-size:clamp(54px,16vw,90px)}.application-panel label,.application-panel p,.application-panel>span{font-size:14px}.footer-identity{align-items:start}.footer-brand>span{font-size:20px}.footer-brand small{font-size:8px}.footer-brand img{width:50px;height:50px}.footer-identity>p{font-size:12px}.corporate-footer .footer-upper{gap:32px}.corporate-footer .footer-links{gap:16px 24px}.corporate-footer .footer-bottom{font-size:11px}.detail-body dl>div{font-size:14px;gap:12px}.project-note,.portfolio-note,.image-method-note{font-size:13px}.future-copy .label{font-size:12px}.future-copy>p:not(.label){font-size:16px}.future-note{font-size:11px;max-width:90%}}
@media(max-width:380px){.footer-identity{flex-direction:column;gap:20px}.footer-identity>p{text-align:left}.status-filters button{font-size:13px}.cinema-top{font-size:9px}.cinema-title .hero-positioning{font-size:16px}}
/* Comfortable reading width for expanded editorial copy. */
.page-heading>p:not(.eyebrow){max-width:760px}.project-description{font-size:16px;line-height:1.85;max-width:720px}.story-copy>div p{line-height:1.8}.quality-principles p+p,.sustain-principles p+p{margin-top:18px}.detail-body .project-description{margin-bottom:28px}

/* Emblem leads the brand hierarchy at every viewport. */
.footer-brand{gap:20px}.footer-brand img{width:100px;height:100px;border-radius:50%;padding:0;background:transparent;flex-shrink:0}.footer-brand>span{font-size:20px;font-weight:500}.footer-brand small{font-size:9px;letter-spacing:.12em}
@media(max-width:640px){.footer-brand{gap:16px}.footer-brand img{width:84px;height:84px}.footer-brand>span{font-size:18px}.footer-brand small{font-size:8px}}

/* RTUK: preserve the complete vertical facade, clear of the headline. */
.scene-rtuk{background:#101c33}
.scene-rtuk>img{position:absolute;right:0;top:3%;width:67%;height:77%;object-fit:contain;object-position:center;transform:none}
.cinema:has(.scene-rtuk.active) .cinema-tint{background:linear-gradient(90deg,#101c33 0%,#101c33ed 28%,#101c3300 62%),linear-gradient(0deg,#101c33 0%,#101c3300 28%)}
.cinema:has(.scene-rtuk.active) .cinema-title{left:4%;right:auto;top:22%;width:43%;padding:0;text-align:left}
.cinema:has(.scene-rtuk.active) .cinema-title h1{font-size:clamp(44px,5.1vw,82px);line-height:1.12;letter-spacing:-.045em}
.cinema:has(.scene-rtuk.active) .hero-positioning{margin:24px 0 0;max-width:420px;font-size:clamp(16px,1.35vw,20px)}
@media(max-width:760px){
 .scene-rtuk>img{top:29%;right:0;width:100%;height:43%;object-position:center}
 .cinema:has(.scene-rtuk.active) .cinema-title{top:8%;left:5%;width:90%;text-align:center}
 .cinema:has(.scene-rtuk.active) .cinema-title>p{margin-bottom:12px}
 .cinema:has(.scene-rtuk.active) .cinema-title h1{font-size:clamp(32px,8vw,48px);line-height:1.08}
 .cinema:has(.scene-rtuk.active) .hero-positioning{font-size:14px;line-height:1.4;margin:12px auto 0;max-width:340px}
 .cinema:has(.scene-rtuk.active) .cinema-tint{background:linear-gradient(0deg,#101c33 0%,#101c3300 34%,#101c3300 70%,#101c33 100%)}
}

/* Project-specific editorial headlines, with a consistent brand rhythm. */
.cinema-title h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(48px,6.1vw,94px);line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.cinema-title h1 #hero-line{display:block;font-weight:600;color:#fff}
.cinema-title h1 #hero-accent{display:block;font-weight:300;color:#fff}
.cinema-title .hero-positioning{max-width:640px;line-height:1.65;text-wrap:balance;font-size:clamp(17px,1.45vw,21px)}
.cinema[data-active-scene="2"] .cinema-title h1{font-size:clamp(42px,5.1vw,78px)}
.cinema:not(:has(.scene-rtuk.active)) .cinema-title{top:21%;padding:0 5%}
.cinema-title>p:first-child{font-weight:600;letter-spacing:.24em}
@media(max-width:760px){
 .cinema-title h1{font-size:clamp(32px,7.5vw,52px);line-height:1.16;letter-spacing:-.035em}
 .cinema[data-active-scene="2"] .cinema-title h1{font-size:clamp(27px,6.5vw,44px)}
 .cinema-title .hero-positioning{font-size:16px;line-height:1.6;max-width:34ch;margin-top:22px}
 .cinema:not(:has(.scene-rtuk.active)) .cinema-title{top:18%}
 .cinema:has(.scene-rtuk.active) .cinema-title h1{font-size:clamp(30px,7.6vw,46px)}
 .cinema:has(.scene-rtuk.active) .hero-positioning{font-size:14px;line-height:1.4;max-width:340px;margin-top:12px}
}

/* Supporting copy: closer to the heading, larger type, broad soft contrast. */
.cinema .cinema-title #hero-description{position:relative;isolation:isolate;max-width:52ch;width:fit-content;margin:22px auto 0;padding:0;font-size:clamp(22px,1.75vw,26px);font-weight:500;line-height:1.5;letter-spacing:0;text-wrap:pretty;color:#fff;text-shadow:0 1px 3px #07132466}
.cinema .cinema-title #hero-description>span{display:block}
.cinema .cinema-title #hero-description:before{content:none}
.cinema:not(:has(.scene-rtuk.active)) .cinema-title #hero-description:after{content:"";position:absolute;inset:-32px -90px -38px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,#071426e0 0%,#071426b8 42%,#07142655 65%,transparent 85%);filter:blur(16px)}
.cinema:has(.scene-rtuk.active) .cinema-title #hero-description{margin:20px 0 0;max-width:100%;font-size:clamp(20px,1.6vw,24px);text-shadow:none}
@media(max-width:760px){
 .cinema .cinema-title #hero-description{font-size:18px;line-height:1.5;max-width:34ch;margin-top:18px;padding:0}
 .cinema .cinema-title #hero-description>span{display:inline}
 .cinema:not(:has(.scene-rtuk.active)) .cinema-title #hero-description:after{inset:-28px -25px -30px;filter:blur(12px)}
 .cinema:has(.scene-rtuk.active) .cinema-title #hero-description{font-size:17px;line-height:1.45;max-width:32ch;margin:14px auto 0;padding:0}
 .cinema .scene-rtuk>img{top:35%;height:37%}
}
