/* ENT v3: graphite, illuminated systems and copper. */
:root {
  color-scheme: dark;
  --ink: oklch(95% .009 90);
  --paper: oklch(19% .009 160);
  --surface: oklch(24% .014 160);
  --green: oklch(22% .015 160);
  --muted: oklch(74% .014 145);
  --line: oklch(36% .015 150);
  --copper: oklch(72% .10 52);
  --copper-light: oklch(27% .025 52);
  --lime: var(--copper);
}
body { font-size:16px; }
::selection { background:var(--copper);color:var(--paper); }
:is(a,button,summary,input,textarea,select):focus-visible { outline:2px solid var(--copper);outline-offset:5px; }
.preview-note { background:var(--surface);color:var(--muted);font-size:11px;padding:8px 20px; }
.header { padding-block:22px;background:var(--paper); }
.header nav { font-size:13px;gap:26px; }
.header nav>a:not(.button):after { background:var(--copper); }
.button-dark,.button-lime,.contact .form-submit { background:var(--copper);color:var(--paper); }
.button-dark:hover,.button-lime:hover,.contact .form-submit:hover { background:oklch(81% .08 52);color:var(--paper); }
.button { font-size:14px;min-height:54px; }
.button span { transition:transform .3s var(--ease); }
.button:hover span { transform:translate(3px,-3px); }
.hero-studio { min-height:760px;padding:48px 5% 100px;grid-template-columns:1fr 1.12fr;gap:20px;background:var(--paper); }
.hero-studio:before { background-image:radial-gradient(oklch(60% .02 150 / .25) .6px,transparent .6px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent 35%,oklch(20% .005 150)); }
.hero-studio .hero-content { padding:10px 0 25px 2%; }
.hero-studio .hero-eyebrow { color:var(--copper);font-size:12px;letter-spacing:1px;margin-bottom:30px; }
.hero-studio h1 { font-size:clamp(54px,5.5vw,88px);letter-spacing:-.055em;line-height:1.08;font-weight:500; }
.hero-studio h1 em:after { display:none; }
.hero-studio .hero-description { color:var(--muted);font-size:17px;line-height:1.8;max-width:430px; }
.hero-support { color:var(--muted);font-size:14px;max-width:410px;line-height:1.8;margin:18px 0 28px; }
.hero-studio .hero-actions { flex-direction:row;flex-wrap:wrap;gap:24px;align-items:center; }
.hero-studio .hero-actions>.button { font-size:14px;gap:24px;padding:18px 22px; }
.hero-studio .hero-secondary { font-size:13px; }
.hero-signature { font-size:12px;line-height:1.7;margin-top:38px; }
.hero-studio .hero-bottom { font-size:10px;letter-spacing:1px; }
.hero-studio .hero-bottom>a { font-size:12px; }
.engineering-scene { margin:0;--signal:var(--copper);--signal-light:var(--copper-light); }
.scene-top { font-size:11px;padding:0 18px;margin-bottom:-10px;letter-spacing:1px; }
.scene-top>span:last-child { color:var(--copper); }
.facility-map { position:relative; }
.facility { filter:drop-shadow(0 22px 35px oklch(10% .01 150 / .4)); }
.ground { color:oklch(42% .025 150); }
.building-shadow { fill:oklch(10% .01 150 / .7); }
.wall-front { fill:oklch(29% .02 160); }
.wall-side { fill:oklch(24% .02 160); }
.roof { fill:oklch(35% .023 160); }
.roof-outline { stroke:oklch(64% .025 150); }
.building-lines { fill:oklch(72% .08 52 / .14);stroke:oklch(47% .024 150); }
.garden { fill:oklch(39% .055 150);stroke:oklch(65% .07 150); }
.garden-lines { stroke:oklch(58% .055 150); }
.solar-panels { stroke:oklch(71% .055 150); }
.duct-shadow { fill:oklch(12% .01 160 / .5); }
.duct-body { fill:oklch(49% .018 150);stroke:oklch(75% .025 150); }
.vent-fan { fill:oklch(29% .02 160);stroke:oklch(79% .02 150); }
.power-box { fill:oklch(37% .055 52);stroke:var(--copper); }
.energy-flow { stroke:var(--copper);filter:drop-shadow(0 0 4px oklch(72% .1 52 / .4)); }
.green-route { stroke:oklch(77% .1 150); }
.air-route { stroke:oklch(77% .075 230); }
.drawing-annotations { fill:var(--muted);stroke:oklch(55% .02 150); }
.drawing-annotations .drawing-scale { fill:var(--muted); }
.engineering-scene[data-mode=sustainability] { --signal:oklch(77% .1 150);--signal-light:oklch(29% .035 150); }
.engineering-scene[data-mode=mechanical] { --signal:oklch(77% .075 230);--signal-light:oklch(28% .025 230); }
.scene-hotspot { position:absolute;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:13px;box-shadow:0 0 0 6px oklch(19% .009 160 / .4);transform:translate(-50%,-50%);transition:background .3s,border-color .3s,box-shadow .3s; }
.scene-hotspot[data-scene=energy] { left:14%;top:66%; }
.scene-hotspot[data-scene=sustainability] { left:60%;top:29%; }
.scene-hotspot[data-scene=mechanical] { left:55%;top:52%; }
.scene-hotspot[aria-pressed=true] { background:var(--signal);border-color:var(--signal);color:var(--paper);box-shadow:0 0 0 7px var(--signal-light); }
.scene-hotspot:hover { border-color:var(--signal); }
.scene-callout { background:var(--surface);margin:-12px 10px 18px;padding:20px;box-shadow:none;gap:16px;align-items:flex-start; }
.scene-callout strong { font-size:16px;line-height:1.5; }
.scene-callout p { font-size:13px;line-height:1.75; }
.callout-icon { min-width:36px;color:var(--signal); }
.scene-service { display:inline-flex;gap:15px;color:var(--signal);font-size:13px;margin-top:12px;padding-block:4px; }
.scene-controls { padding:0 10px;gap:12px; }
.scene-modes { gap:6px; }
.scene-modes button { font-size:12px;padding:12px;min-height:44px; }
.scene-modes button>span { font-size:10px; }
.scene-modes button[aria-pressed=true] { color:var(--paper); }
.motion-control { min-width:44px;height:44px;font-size:16px; }
.scene-hint { color:var(--muted);font-size:11px;text-align:center;margin:18px 0 0; }
.roof-outline { stroke-dasharray:1800;stroke-dashoffset:0;animation:trace-structure 1.8s var(--ease) both; }
@keyframes trace-structure { from { stroke-dashoffset:1800;opacity:.2; } to { stroke-dashoffset:0;opacity:1; } }
.statement-film { margin:0;height:440px; }
.statement-film>div { padding:72px 7%; }
.statement-film p,.statement-film a { font-size:14px; }
.statement-film h2 { font-size:clamp(32px,4vw,60px); }
.film-note { font-size:10px; }
.solution-finder { padding-block:100px;gap:7%;grid-template-columns:.85fr 1.15fr; }
.solution-finder h2 { font-size:44px; }
.solution-finder>div>p:not(.eyebrow),.finder-result p { font-size:15px;line-height:1.85; }
.finder-interaction { grid-template-columns:1fr;gap:24px; }
.need-options { flex-direction:row;flex-wrap:wrap;gap:10px; }
.need-options button { flex:1 1 150px;font-size:13px;padding:17px;min-height:82px;align-items:flex-start; }
.need-options button[aria-pressed=true] { background:var(--copper-light); }
.finder-result { padding:24px 0 0;border-top:1px solid var(--line);background:none; }
.finder-result>span { font-size:12px; }
.finder-result h3 { font-size:28px;margin:16px 0 12px; }
.finder-result .text-link { font-size:14px; }
.expertise,.knowledge { --paper:oklch(95% .01 90);--surface:oklch(90% .015 90);--ink:oklch(25% .015 160);--muted:oklch(45% .015 160);--line:oklch(79% .015 140);--copper:oklch(49% .09 45);background:var(--paper);color:var(--ink); }
.section { padding-block:110px; }
.section-heading h2 { font-size:clamp(36px,4vw,56px); }
.section-heading>p { font-size:16px;line-height:1.8;max-width:390px; }
.eyebrow { font-size:12px;letter-spacing:.3px; }
.service { grid-template-columns:40px 1.25fr .65fr 1fr;gap:24px;padding:38px 0;scroll-margin-top:125px; }
.service-number { font-size:14px; }
.service h3 { font-size:30px;line-height:1.25; }
.service-main>p,.service-details { font-size:15px; }
.service summary { font-size:13px;min-height:44px; }
.service-tags>span { font-size:11px;white-space:normal; }
.service-image { height:235px; }
.scope-note,.placeholder-note { font-size:12px;line-height:1.8; }
.approach { background:var(--surface); }
.approach-copy { padding:80px 11%; }
.approach-copy h2 { font-size:clamp(36px,3.8vw,54px); }
.approach-copy>p:not(.eyebrow) { font-size:15px;line-height:1.9; }
.process h3 { font-size:16px; }
.process p { font-size:14px; }
.process li>span { font-size:12px; }
.process li { border-color:var(--line); }
.text-link { font-size:14px;min-height:44px; }
.project-grid { grid-template-columns:1.15fr 1fr;gap:40px; }
.project:nth-child(2) { margin-top:100px; }
.project:nth-child(3) { margin-top:0;grid-column:1/-1;max-width:65%; }
.project-photo,.project:first-child .project-photo { height:380px; }
.project:nth-child(3) .project-photo { height:340px; }
.project h3 { font-size:27px; }
.project p { font-size:15px; }
.project-meta,.project-count { font-size:12px; }
.project-label { font-size:10px; }
.filter { min-height:44px;font-size:13px; }
.filter.active { background:var(--copper);color:var(--paper);border-color:var(--copper); }
.project-grid.is-filtered { grid-template-columns:1fr; }
.project-grid.is-filtered .project { max-width:760px; }
.sector-band>p { font-size:13px; }
.sector-band>div { font-size:16px; }
.article { grid-template-columns:240px 1fr 35px;padding:32px 0; }
.article-type { font-size:13px; }
.article h3 { font-size:24px;line-height:1.5; }
.contact { background:var(--paper);color:var(--ink);gap:7%;padding-block:110px; }
.contact h2 { font-size:clamp(44px,4.8vw,70px); }
.contact h2>span,.contact .eyebrow { color:var(--copper); }
.contact-copy>p:not(.eyebrow),.contact-details { color:var(--muted);font-size:15px;line-height:1.85; }
.contact-mail { font-size:clamp(18px,1.9vw,28px);border-color:var(--line); }
.contact-form-area { background:var(--surface);border:1px solid var(--line);padding:36px; }
.contact-form-area>h3 { font-size:28px; }
.form-intro { font-size:14px;color:var(--muted); }
.contact label { font-size:13px; }
.contact input,.contact select,.contact textarea { color:var(--ink);font-size:16px;border-color:oklch(48% .02 150);background:transparent;padding:15px 0; }
.contact input::placeholder,.contact textarea::placeholder { color:var(--muted); }
.contact select option { background:var(--surface);color:var(--ink); }
.contact .form-note { font-size:12px;color:var(--muted);line-height:1.8; }
.contact .form-result { background:var(--paper);border-color:var(--line);color:var(--ink); }
.contact .form-result p { font-size:14px; }
.contact .form-submit { font-size:14px; }
footer { background:var(--surface); }
.footer-bottom,.footer-bottom button { font-size:12px; }
.back-top { font-size:13px; }
dialog { border:1px solid var(--line);padding:35px; }
#dialog-body { font-size:16px; }
#dialog-body h3 { font-size:18px; }
.dialog-top,#dialog-close { font-size:13px; }
#dialog-close { min-height:44px; }
.skip-link { color:var(--paper); }
.motion-paused .roof-outline { animation-play-state:paused; }
@media (min-width:1600px) { .hero-studio { padding-inline:max(5%,calc((100vw - 1440px)/2)); } }
@media (max-width:1100px) {
  .header nav { gap:16px;font-size:12px; }
  .hero-studio { grid-template-columns:1fr 1fr;gap:12px;min-height:700px; }
  .hero-studio h1 { font-size:clamp(48px,5.6vw,65px); }
  .scene-modes button { font-size:11px;padding:10px; }
  .scene-modes button>span { display:none; }
  .scene-callout { padding:16px; }
  .service { grid-template-columns:30px 1fr 1fr; }
  .service-tags { display:none; }
  .project h3 { font-size:24px; }
}
@media (max-width:900px) {
  .hero-studio { grid-template-columns:1fr;padding:45px 6% 90px;gap:42px; }
  .hero-studio .hero-content { padding:0;max-width:650px; }
  .hero-studio h1 { font-size:clamp(50px,8vw,74px); }
  .hero-studio .hero-description { max-width:520px; }
  .hero-support { max-width:520px; }
  .hero-signature { display:none; }
  .engineering-scene { width:100%;max-width:650px;justify-self:center; }
  .scene-top { margin-bottom:-10px; }
  .scene-modes button { font-size:13px;padding:12px; }
  .scene-modes button>span { display:inline; }
  .solution-finder { grid-template-columns:1fr;gap:32px;padding-block:70px; }
  .solution-finder>div:first-child { display:block; }
  .solution-finder>div>p:not(.eyebrow) { margin-top:20px; }
  .approach { grid-template-columns:1fr; }
  .approach-visual { min-height:400px; }
  .approach-copy { padding:64px 6%; }
  .contact { grid-template-columns:1fr;gap:44px; }
  .contact-copy { display:block; }
  .contact-details { flex-direction:row; }
  .contact-mail { max-width:430px;margin-top:25px; }
  .contact-form-area { max-width:none; }
  .article { grid-template-columns:180px 1fr 30px; }
}
@media (max-width:650px) {
  .header { padding:20px 6%; }
  .header nav { font-size:15px; }
  .menu-button { width:44px;height:44px; }
  .preview-note { font-size:10px;line-height:1.5; }
  .hero-studio h1 { font-size:clamp(43px,10.5vw,65px);letter-spacing:-.05em; }
  .hero-studio .hero-eyebrow { font-size:11px; }
  .hero-studio .hero-description { font-size:16px; }
  .hero-studio .hero-actions { gap:20px; }
  .hero-studio .hero-actions>.button { font-size:14px; }
  .hero-studio .hero-bottom>span { display:none; }
  .hero-studio .hero-bottom { justify-content:flex-end; }
  .hero-studio .hero-bottom>a { font-size:12px; }
  .scene-top { padding:0;font-size:10px; }
  .scene-callout { margin:-5px 0 16px;padding:16px; }
  .scene-callout strong { font-size:15px; }
  .scene-callout p { font-size:13px; }
  .scene-controls { padding:0;gap:8px;align-items:flex-start; }
  .scene-modes { flex:1;gap:6px; }
  .scene-modes button { font-size:11px;padding:10px 8px; }
  .scene-modes button>span { display:none; }
  .scene-hint { font-size:11px;line-height:1.7; }
  .statement-film { height:360px; }
  .statement-film>div { padding:46px 6%; }
  .statement-film h2 { font-size:32px; }
  .statement-film p { font-size:12px;max-width:none; }
  .statement-film a { font-size:13px; }
  .section,.contact { padding-block:66px; }
  .section-heading h2,.solution-finder h2 { font-size:36px; }
  .section-heading>p { font-size:15px; }
  .need-options { flex-direction:column; }
  .need-options button { flex:auto;min-height:54px;align-items:center;font-size:14px; }
  .service { grid-template-columns:24px minmax(0,1fr);gap:14px; }
  .service h3 { font-size:27px; }
  .service-image { grid-column:2;height:220px; }
  .service-main>p,.service-details { font-size:15px; }
  .service summary { font-size:13px;gap:12px; }
  .project-grid { grid-template-columns:1fr;gap:40px; }
  .project:nth-child(2),.project:nth-child(3) { margin-top:0;max-width:none;grid-column:auto; }
  .project-photo,.project:first-child .project-photo,.project:nth-child(3) .project-photo { height:300px; }
  .project h3 { font-size:25px; }
  .filter { font-size:12px; }
  .article { grid-template-columns:1fr 30px; }
  .article h3 { font-size:21px; }
  .article-type { font-size:13px; }
  .contact h2 { font-size:46px; }
  .contact-details { flex-direction:column;gap:16px; }
  .contact .form-row { grid-template-columns:1fr;gap:0; }
  .contact-form-area { padding:26px 20px;margin:0; }
  .contact input,.contact select,.contact textarea { font-size:16px; }
  .contact label { font-size:13px; }
  .footer-bottom,.footer-bottom button { font-size:11px;line-height:1.8; }
  .footer-top .brand-mark { font-size:50px; }
  dialog { padding:24px; }
}
@media (prefers-reduced-motion:reduce) { .roof-outline { animation:none;stroke-dashoffset:0; } }

/* Source-backed project portfolio. */
.project:nth-child(3) { grid-column:auto;max-width:none; }
.project:nth-child(even) { margin-top:70px; }
.project-photo,.project:first-child .project-photo,.project:nth-child(3) .project-photo { height:300px; }
.project-description { color:var(--ink)!important;margin-bottom:8px!important; }
.contact-phones { display:flex;flex-direction:column;gap:8px;flex-shrink:0; }
.service-details ul { padding-left:20px; }
.service-details li { margin-bottom:12px; }
@media(max-width:650px) { .project:nth-child(even) { margin-top:0; } }
/* Language control stays available outside the mobile menu. */
.language-control{display:flex;align-items:center;gap:8px;margin-left:auto;order:2;font-size:11px;color:var(--muted);flex-shrink:0}
.language-control select{width:auto;max-width:130px;min-height:44px;padding:8px 24px 8px 10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;cursor:pointer}
.header nav{order:1;margin-left:auto;gap:18px}
.header{gap:22px}
.menu-button{order:3;flex-shrink:0}
html:not([lang=tr]) .hero-studio h1{font-size:clamp(44px,4.7vw,76px);overflow-wrap:normal}
html:not([lang=tr]) .hero-studio .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
html:not([lang=tr]) .scene-modes button{font-size:11px;padding:10px 8px}
@media(max-width:1150px){.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:15px;font-size:15px}.header nav.open{display:flex}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:1px solid var(--line);width:44px;height:44px;padding:10px}.menu-button>span{width:20px;height:1px;background:var(--ink);transition:transform .2s}.menu-button[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}}
@media(max-width:650px){.header{gap:10px;padding-inline:5%}.language-control{gap:0}.language-control>span{display:none}.language-control select{font-size:12px;max-width:105px;padding-left:7px}.header .brand-name{display:none}.header .brand-mark{font-size:44px}html:not([lang=tr]) .hero-studio h1{font-size:clamp(35px,8.8vw,56px);letter-spacing:-.045em}.scene-modes{flex-wrap:wrap}.scene-controls{align-items:flex-start}.contact-mail{overflow-wrap:anywhere}.contact h2{font-size:clamp(34px,9vw,46px)}.section-heading h2{font-size:clamp(30px,8vw,36px)}}

/* The opening moves the real facility, so the last frame becomes the explorer. */
.opening-backdrop{position:fixed;inset:0;z-index:100;overflow:hidden;background:oklch(15% .014 160);color:oklch(94% .009 90);pointer-events:none;animation:opening-curtain 6s both}
.opening-grid{position:absolute;inset:-20%;background-image:linear-gradient(oklch(70% .04 150 / .07) 1px,transparent 1px),linear-gradient(90deg,oklch(70% .04 150 / .07) 1px,transparent 1px);background-size:64px 64px;transform:perspective(800px) rotateX(58deg) scale(1.3);mask-image:radial-gradient(ellipse,oklch(20% .01 150),transparent 65%);animation:opening-grid-in 6s both}
.opening-brand{position:absolute;left:5%;top:30px;font-size:52px;font-weight:800;letter-spacing:-5px;line-height:1;animation:opening-brand-in 1.6s both}.opening-brand>span{color:var(--copper)}
.opening-caption{position:absolute;bottom:13%;left:7%;right:7%;height:1.5em;text-align:center;font-size:clamp(21px,3vw,38px);letter-spacing:-.04em;font-weight:500}
.opening-line{position:absolute;inset:0;animation:opening-line-one 6s both}.opening-line-two{animation-name:opening-line-two}
.opening-trace{position:absolute;left:15%;right:15%;top:50%;height:1px;background:oklch(70% .1 52 / .12);animation:opening-trace-fade 6s both}.opening-trace>span{position:absolute;left:0;top:-1px;width:18%;height:3px;background:var(--copper);box-shadow:0 0 20px 4px oklch(72% .10 52 / .5);animation:opening-pulse 2.4s cubic-bezier(.22,.61,.36,1) both}
.opening-coordinate{position:absolute;bottom:35px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:oklch(68% .02 150)}
.opening-stage.engineering-scene{position:fixed;z-index:101;margin:0;max-width:none;pointer-events:none;transform-origin:center;will-change:transform,opacity;--paper:oklch(19% .009 160)}
.opening-stage .facility{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 25px oklch(72% .10 52 / .10))}
.opening-stage .energy-system,.opening-stage .mechanical-system,.opening-stage .sustainability-system{opacity:1;transition:none}
.opening-stage .roof-outline{animation:none}
.opening-skip{position:fixed;right:5%;top:35px;z-index:102;padding:10px 15px;border:1px solid oklch(50% .02 150);background:oklch(19% .009 160);color:oklch(90% .009 90);font-size:12px;cursor:pointer}
.intro-pending .header,.intro-pending .hero-content,.intro-pending .hero-bottom,.intro-pending .scene-top,.intro-pending .scene-callout,.intro-pending .scene-controls,.intro-pending .scene-hint,.intro-pending .scene-hotspot{opacity:0;transition:opacity .65s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.intro-pending .hero-content{transform:translateY(24px)}
.intro-reveal .header,.intro-reveal .hero-content,.intro-reveal .hero-bottom,.intro-reveal .scene-top,.intro-reveal .scene-callout,.intro-reveal .scene-controls,.intro-reveal .scene-hint,.intro-reveal .scene-hotspot{opacity:1}
.intro-reveal .hero-content{transform:translateY(0)}
.intro-reveal .hero-content>*{animation:opening-content .65s cubic-bezier(.16,1,.3,1) both}
.intro-reveal .hero-content h1{animation-delay:.07s}.intro-reveal .hero-description{animation-delay:.14s}.intro-reveal .hero-support{animation-delay:.21s}.intro-reveal .hero-actions{animation-delay:.28s}
.intro-return .hero-content,.intro-return .engineering-scene{animation:opening-content 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes opening-curtain{0%,72%{opacity:1}100%{opacity:0}}
@keyframes opening-content{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes opening-brand-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes opening-grid-in{0%{opacity:0}35%,65%{opacity:1}100%{opacity:0}}
@keyframes opening-line-one{0%,10%{opacity:0;transform:translateY(10px)}18%,35%{opacity:1;transform:translateY(0)}43%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes opening-line-two{0%,44%{opacity:0;transform:translateY(10px)}53%,72%{opacity:1;transform:translateY(0)}87%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes opening-pulse{from{transform:translateX(-100%);opacity:0}12%{opacity:1}to{transform:translateX(560%);opacity:0}}
@keyframes opening-trace-fade{0%,20%{opacity:1}45%,100%{opacity:0}}
@media(max-width:650px){.opening-brand{font-size:44px;top:25px}.opening-skip{top:25px}.opening-caption{bottom:19%;font-size:24px}.opening-grid{background-size:40px 40px}.opening-coordinate{bottom:25px}.opening-trace{top:40%}}
@media(prefers-reduced-motion:reduce){.opening-backdrop,.opening-stage,.opening-skip{display:none!important}.intro-pending .header,.intro-pending .hero-content,.intro-pending .hero-bottom,.intro-pending .scene-top,.intro-pending .scene-callout,.intro-pending .scene-controls,.intro-pending .scene-hint,.intro-pending .scene-hotspot{opacity:1;transform:none;transition:none}.intro-return .hero-content,.intro-return .engineering-scene,.intro-reveal .hero-content>*{animation:none}}

.opening-replay{padding:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:10px}.opening-replay:hover{color:var(--copper)}.opening-replay>span{font-size:16px}@media(max-width:650px){.hero-bottom>span{display:none}.hero-bottom{gap:16px}.opening-replay{font-size:10px}}

.intro-pending .facility-map>.facility{opacity:0}

/* Restrained, single-colour treatment of the original ENT logo. */
.brand { flex-shrink:0; color:var(--ink); }
.brand-logo { display:block;width:116px;height:auto;overflow:visible; }
.header .brand { opacity:.92;transition:opacity .25s; }
.header .brand:hover { opacity:1; }
.footer-brand .brand-logo { width:142px; }
.opening-brand { letter-spacing:normal;color:var(--ink); }
.opening-brand .brand-logo { width:116px; }
.approach-stamp { border-left:1px solid var(--copper);padding-left:20px; }
@media(max-width:650px) {
  .header .brand-logo,.opening-brand .brand-logo { width:96px; }
  .header { padding-block:18px; }
  .footer-brand .brand-logo { width:128px; }
}

/* Keep long translated text inside mobile dialogs. */
dialog h2,#dialog-body,.dialog-cta{overflow-wrap:anywhere;hyphens:auto}
#dialog-close{flex-shrink:0}.dialog-top>span{min-width:0;overflow-wrap:anywhere}
#navigation{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:650px){.language-control select{font-size:16px}.menu-button,.filter,summary{min-height:44px}}


/* Crisp original identity integrated with the dark header. */
.header .brand{opacity:1;flex-shrink:0}.header .brand-logo{width:140px;height:auto;display:block}.footer-brand .brand-logo{width:160px}
@media(max-width:650px){.header .brand-logo{width:124px}.header{gap:10px}}
@media(max-width:350px){.header .brand-logo{width:108px}.language-control select{max-width:98px}.header{gap:8px}}


/* Compact mobile hero, with more room for the engineering illustration. */
@media(max-width:650px){.hero-studio h1{font-size:clamp(36px,9.2vw,52px);line-height:1.08;margin-bottom:20px}.hero-studio .hero-eyebrow{margin-bottom:22px}.hero-studio .hero-description{font-size:15px;line-height:1.6}.hero-studio .hero-support{font-size:13px;line-height:1.65;margin:12px 0 20px}.hero-studio .hero-actions{gap:14px}.hero-studio .hero-content{padding-bottom:0}}


/* 2030: legible routes, slow motion and metering / heat recovery cues. */
 .energy-flow{animation-duration:7s;stroke-width:3.5}.green-route{animation-duration:9s;stroke-width:3.5}.air-route{animation-duration:8s;stroke-width:3.5}
 .drawing-annotations text{font-size:10px;letter-spacing:.65px;fill:#bac8bb}.drawing-annotations .drawing-scale{font-size:9px}
 .efficiency-meter rect{fill:#17221b;stroke:#d29768;stroke-width:1.5}.efficiency-meter path{fill:none;stroke:#d29768;stroke-width:2}.efficiency-meter circle{fill:#d29768;animation:meter-pulse 5s ease-in-out infinite}
 .recovery-loop{fill:none;stroke:#91c8dd;stroke-width:2;stroke-linecap:round;animation:recovery-pulse 6s ease-in-out infinite}
 .roadmap-note{font-size:11px;line-height:1.7;color:var(--muted);margin:16px 18px 0}
 @keyframes meter-pulse{0%,100%{opacity:.5}50%{opacity:1}}@keyframes recovery-pulse{0%,100%{opacity:.55}50%{opacity:1}}
 .motion-paused .efficiency-meter circle,.motion-paused .recovery-loop,.scene-offscreen .efficiency-meter circle,.scene-offscreen .recovery-loop{animation-play-state:paused}
 @media(prefers-reduced-motion:reduce){.efficiency-meter circle,.recovery-loop{animation:none}}
 
/* Solar, CHP and separated heat-recovery air streams. */
 .solar-generation{fill:none;stroke:#e4bd77;stroke-width:2}.solar-power-flow{stroke-dasharray:7 7;animation:system-flow 8s linear infinite}
 .solar-panels{stroke:#92c8b0;stroke-width:1.5}.chp-top{fill:#5a4231}.chp-front{fill:#332b22}.chp-side{fill:#242c24}.cogeneration-unit{stroke:#d69b68;stroke-width:1.5}.chp-detail{fill:none;stroke:#dbb997}
 .chp-electric-flow,.chp-heat-flow,.recovery-supply,.recovery-exhaust{fill:none;stroke-width:3;stroke-dasharray:9 10;animation:system-flow 8s linear infinite}
 .chp-electric-flow{stroke:#dca16d}.chp-heat-flow{stroke:#e1846d}.recovery-case{fill:#203733;stroke:#8fb9bb;stroke-width:1.5}.recovery-core{fill:#bd9670;stroke:#ded0af;stroke-width:1.2}.recovery-supply{stroke:#8fcbe3}.recovery-exhaust{stroke:#e49d78;animation-direction:reverse}
 .equipment-labels{fill:#c2cbbd;stroke:#708570;stroke-width:.7}.equipment-labels path{fill:none}.equipment-labels text{stroke:none;font:9px Manrope,Arial,sans-serif;letter-spacing:.3px}.equipment-labels .equipment-detail{font-size:8px}
 .engineering-scene[data-mode=sustainability] .solar-generation,.engineering-scene[data-mode=sustainability] .solar-panels{filter:drop-shadow(0 0 5px #82c29f)}
 .engineering-scene[data-mode=mechanical] .heat-recovery-cell{filter:drop-shadow(0 0 4px #78bdd5)}
 .motion-paused .solar-power-flow,.motion-paused .chp-electric-flow,.motion-paused .chp-heat-flow,.motion-paused .recovery-supply,.motion-paused .recovery-exhaust,.scene-offscreen .solar-power-flow,.scene-offscreen .chp-electric-flow,.scene-offscreen .chp-heat-flow,.scene-offscreen .recovery-supply,.scene-offscreen .recovery-exhaust{animation-play-state:paused}
 @media(prefers-reduced-motion:reduce){.solar-power-flow,.chp-electric-flow,.chp-heat-flow,.recovery-supply,.recovery-exhaust{animation:none;stroke-dasharray:none}}
 
/* Separated air streams and closed refrigerant circuit: heating mode. */
.thermal-principles{padding:48px clamp(24px,5vw,80px);background:#141d1b;border-top:1px solid #34443e;color:#e6eee9}.thermal-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:25px}.thermal-heading h2{font-size:24px;margin:0}.thermal-heading>p{font-size:13px;color:#a7b9ae}.thermal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.thermal-grid article{padding:24px;border:1px solid #3c4d45;border-radius:12px;background:#192520;min-width:0}.thermal-grid h3{font-size:18px;margin:0 0 15px}.thermal-grid svg{width:100%;height:auto;display:block;overflow:visible}.thermal-grid text{fill:#dce9e2;font:14px Manrope,sans-serif}.thermal-grid .circuit-caption{font-size:12px;fill:#aebfb5}.thermal-grid article>p{color:#b7c9bf;font-size:14px;line-height:1.7;margin:20px 0 0}.thermal-case{fill:#20342d;stroke:#739d89;stroke-width:1.5}.plate{fill:none;stroke:#b6cabc;stroke-width:3}.thermal-flow{fill:none;stroke-width:4;stroke-dasharray:10 9;animation:thermal-travel 3s linear infinite}.thermal-flow.cool{stroke:#87cde0}.thermal-flow.warm,.refrigerant{stroke:#eeab7a}.heat-transfer,.electric-input{fill:none;stroke:#eeab7a;stroke-width:2;stroke-dasharray:5 5;animation:thermal-travel 4s linear infinite}.thermal-leader{stroke:#83998c;fill:none}.direction-arrow{fill:none;stroke:#f4cf9f;stroke-width:2}.motion-paused .thermal-flow,.motion-paused .heat-transfer,.motion-paused .electric-input{animation-play-state:paused}@keyframes thermal-travel{to{stroke-dashoffset:-76}}@media(prefers-reduced-motion:reduce){.thermal-flow,.heat-transfer,.electric-input{animation:none;stroke-dasharray:none}}@media(max-width:850px){.thermal-grid{grid-template-columns:1fr}.thermal-heading{display:block}.thermal-grid article{padding:18px}.thermal-grid text{font-size:15px}}
.heat-pump-unit{fill:#263f37;stroke:#91baa7;stroke-width:1.5}.heat-pump-unit .hp-fan{fill:none;stroke:#a5c9b8}.heat-pump-unit .hp-heat{fill:none;stroke:#eeab7a;stroke-width:3;stroke-dasharray:7 7;animation:thermal-travel 4s linear infinite}.motion-paused .hp-heat{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.heat-pump-unit .hp-heat{animation:none}}
