@charset "UTF-8";

:root{
  /* Primitives */
  --p-night-950:oklch(0.17 0.018 245);
  --p-night-900:oklch(0.21 0.018 245);
  --p-night-800:oklch(0.27 0.018 245);
  --p-paper-50:oklch(0.975 0.008 145);
  --p-paper-100:oklch(0.945 0.009 145);
  --p-ink-900:oklch(0.24 0.018 160);
  --p-ink-600:oklch(0.43 0.015 160);
  --p-mist-300:oklch(0.77 0.015 160);
  --p-mist-100:oklch(0.94 0.008 145);
  --p-signal-500:oklch(0.72 0.22 148);
  --p-signal-700:oklch(0.48 0.145 148);
  /* Semantics */
  --surface-dark:var(--p-night-950);
  --surface-dark-raised:var(--p-night-900);
  --surface-light:var(--p-paper-50);
  --surface-light-muted:var(--p-paper-100);
  --text-on-dark:var(--p-mist-100);
  --text-on-dark-muted:var(--p-mist-300);
  --text-on-light:var(--p-ink-900);
  --text-on-light-muted:var(--p-ink-600);
  --accent:var(--p-signal-500);
  --accent-on-light:var(--p-signal-700);
  --line-dark:oklch(0.94 0.008 145 / 16%);
  --line-light:oklch(0.24 0.018 160 / 19%);
  /* Components */
  --button-bg:var(--accent);
  --button-text:var(--p-night-950);
  --focus-ring:var(--accent);
  --header-height:76px;
  --shell:1440px;
  --font-sans:"Noto Sans CJK SC","Source Han Sans SC","PingFang SC","Microsoft YaHei","Heiti SC",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px);background:var(--surface-dark)}
body{min-width:320px;min-height:100dvh;overflow-x:hidden;background:var(--surface-light);color:var(--text-on-light);font-family:var(--font-sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");mix-blend-mode:overlay}
::selection{background:var(--accent);color:var(--p-night-950)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
button,[role="button"],summary{cursor:pointer}
button{border:0;background:none}
h1,h2,h3{font-weight:700;line-height:1.12;text-wrap:balance;letter-spacing:-.035em}
p{max-width:70ch}
address{font-style:normal}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
[hidden]{display:none!important}
.shell{width:min(100%,var(--shell));margin-inline:auto;padding-inline:24px}
.skip-link{position:fixed;top:8px;left:8px;z-index:120;transform:translateY(-160%);padding:12px 18px;background:var(--accent);color:var(--p-night-950);font-weight:700;transition:transform .2s ease-out}
.skip-link:focus{transform:translateY(0)}
.scroll-progress{position:fixed;inset:0 0 auto;z-index:105;height:2px;pointer-events:none}
.scroll-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left center}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-height);color:var(--text-on-dark);border-bottom:1px solid var(--line-dark);transition:background-color .25s ease-out,backdrop-filter .25s ease-out}
.site-header.is-scrolled,.site-header.is-open{background:oklch(0.17 0.018 245 / 92%);backdrop-filter:blur(14px)}
.header-inner{width:min(100%,1600px);height:100%;margin:auto;padding-inline:24px;display:flex;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:14px;min-height:44px;flex-shrink:0}
.brand-word{font-family:Arial,var(--font-sans);font-size:24px;font-weight:800;letter-spacing:-.055em;line-height:1}
.brand-word b{color:var(--accent);font-weight:800}
.brand-divider{width:1px;height:20px;background:var(--line-dark)}
.brand-site{font-size:13px;letter-spacing:.08em;color:var(--text-on-dark-muted)}
.site-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto}
.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--text-on-dark-muted);transition:color .2s ease-out}
.site-nav a::after,.text-link::after{content:"";position:absolute;inset:auto 0 3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .25s ease-out}
.site-nav a:hover,.site-nav a[aria-current="true"]{color:var(--text-on-dark)}
.site-nav a:hover::after,.site-nav a[aria-current="true"]::after,.text-link:hover::after{transform:scaleX(1);transform-origin:left center}
.header-phone{display:flex;flex-direction:column;justify-content:center;min-height:44px;padding-left:24px;border-left:1px solid var(--line-dark);line-height:1.25;text-align:right}
.header-phone span{font-size:11px;color:var(--text-on-dark-muted);letter-spacing:.12em}
.header-phone strong{font-family:var(--font-mono);font-size:14px;letter-spacing:.03em}
.menu-toggle{display:none;width:48px;height:48px;margin-left:auto;position:relative}
.menu-toggle span{position:absolute;left:12px;width:24px;height:1px;background:currentColor;transition:transform .2s ease-out,top .2s ease-out}
.menu-toggle span:first-child{top:19px}.menu-toggle span:last-child{top:28px}
.menu-toggle[aria-expanded="true"] span:first-child{top:24px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{top:24px;transform:rotate(-45deg)}

/* Hero */
.hero{position:relative;isolation:isolate;min-height:100svh;min-height:100dvh;display:flex;align-items:stretch;overflow:hidden;background:var(--surface-dark);color:var(--text-on-dark)}
.hero-media,.hero-shade,.technical-grid{position:absolute;inset:0}
.hero-media{z-index:-4}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:saturate(.78) contrast(1.05)}
.hero-shade{z-index:-3;background:linear-gradient(90deg,oklch(0.14 0.018 245 / 96%) 0%,oklch(0.14 0.018 245 / 85%) 43%,oklch(0.14 0.018 245 / 33%) 76%,oklch(0.14 0.018 245 / 56%) 100%),linear-gradient(0deg,oklch(0.14 0.018 245 / 95%) 0%,transparent 55%)}
.technical-grid{z-index:-1;display:grid;grid-template-columns:repeat(10,1fr);pointer-events:none;overflow:hidden}
.technical-grid i{position:relative;border-left:1px solid oklch(0.94 0.008 145 / 9%);overflow:hidden}
.technical-grid i:last-child{border-right:1px solid oklch(0.94 0.008 145 / 9%)}
.technical-grid i::after{content:"";position:absolute;top:-30vh;left:-1px;width:1px;height:30vh;background:linear-gradient(transparent,var(--accent),transparent);opacity:0;animation:gridTrace calc(7s + var(--i)*.55s) linear calc(var(--i)*.8s) infinite}
@keyframes gridTrace{0%{transform:translateY(0);opacity:0}10%{opacity:.55}75%{opacity:.35}100%{transform:translateY(150vh);opacity:0}}
.hero-inner{position:relative;z-index:2;width:min(100%,1600px);margin:auto;padding:132px 5vw 112px;display:flex;flex-direction:column;justify-content:center}
.hero-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:clamp(32px,5vh,64px);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--text-on-dark-muted)}
.live-status{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.live-status i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px oklch(0.72 0.22 148 / 12%)}
.hero h1{max-width:1200px;font-size:clamp(3.4rem,10.3vw,10.2rem);font-weight:750;line-height:.94;letter-spacing:-.065em}
.hero h1 span{display:block}
.hero h1 span:last-child{color:var(--accent);margin-top:.08em}
.hero-copy{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.05fr);gap:32px 64px;align-items:start;margin-top:clamp(32px,5vh,56px)}
.hero-keywords{font-size:clamp(16px,1.45vw,21px);font-weight:600;letter-spacing:.02em}
.hero-description{color:var(--text-on-dark-muted);font-size:16px;line-height:1.75}
.hero-actions{grid-column:2;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;font-weight:650;transition:background-color .2s ease-out,color .2s ease-out,transform .2s ease-out}
.button:active{transform:scale(.98)}
.button svg{width:20px;height:20px}
.button-primary{background:var(--button-bg);color:var(--button-text)}
.button-primary:hover{background:var(--p-mist-100)}
.button-primary strong{font-family:var(--font-mono);font-size:15px}
.text-link{position:relative;display:inline-flex;align-items:center;gap:24px;min-height:44px;width:max-content;color:var(--accent-on-light);font-size:14px;font-weight:650}
.text-link::after{bottom:4px;transform:scaleX(1);opacity:.35}
.text-link:hover::after{opacity:1}
.text-link span{font-family:var(--font-mono);font-size:18px;transition:transform .2s ease-out}
.text-link:hover span{transform:translate(2px,-2px)}
.text-link-light{color:var(--text-on-dark)}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,6vh,72px);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.hero-stats>div{padding:20px 24px;border-left:1px solid var(--line-dark)}
.hero-stats>div:first-child{border-left:0;padding-left:0}
.hero-stats dt{font-size:12px;color:var(--text-on-dark-muted);margin-bottom:8px}
.hero-stats dd{font-family:var(--font-mono);font-size:clamp(20px,2vw,30px);font-weight:600;letter-spacing:-.04em}
.hero-stats small{font-size:.48em;font-weight:400;margin-left:4px;letter-spacing:0}
.scroll-cue{position:absolute;right:12px;bottom:28px;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:44px;color:var(--text-on-dark-muted);font-size:11px;letter-spacing:.1em;writing-mode:vertical-rl}
.scroll-cue i{width:1px;height:40px;background:var(--accent)}

/* Keyword strip */
.keyword-marquee{overflow:hidden;background:var(--accent);color:var(--p-night-950);border-block:1px solid oklch(0.17 0.018 245 / 30%)}
.marquee-track{display:flex;width:max-content;animation:marquee 30s linear infinite}
.marquee-group{display:flex;align-items:center;gap:34px;padding:15px 17px;white-space:nowrap}
.marquee-group span{font-size:14px;font-weight:700;letter-spacing:.035em}
.marquee-group i{display:block;width:5px;height:5px;background:currentColor;transform:rotate(45deg)}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}

/* Shared sections */
.section{position:relative;padding-block:96px}
.section-paper{background:var(--surface-light);color:var(--text-on-light)}
.section-dark{background:var(--surface-dark);color:var(--text-on-dark)}
.section-heading{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-bottom:72px}
.section-heading>div{grid-column:1/8}
.section-heading>.section-intro{grid-column:9/13;align-self:end}
.section-label{margin-bottom:20px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--accent-on-light);text-transform:uppercase}
.section-heading h2,.specs-heading h2,.faq-heading h2{font-size:clamp(2.25rem,4.4vw,4.8rem)}
.section-intro{font-size:17px;line-height:1.8;color:var(--text-on-light-muted)}
.section-intro p+p{margin-top:18px}
.section-heading-dark .section-label{color:var(--accent)}
.section-heading-dark .section-intro{color:var(--text-on-dark-muted)}
.overview-stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line-light);margin-bottom:104px}
.overview-stats>div{padding:26px 24px;border-left:1px solid var(--line-light)}
.overview-stats>div:first-child{padding-left:0;border-left:0}
.overview-stats dt{font-size:13px;color:var(--text-on-light-muted)}
.overview-stats dd{display:flex;align-items:baseline;gap:10px;margin-top:14px}
.overview-stats strong{font-family:var(--font-mono);font-size:clamp(32px,4.2vw,60px);line-height:1;font-weight:500;letter-spacing:-.065em}
.overview-stats span{font-size:13px;color:var(--text-on-light-muted)}
.location-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:64px;align-items:center}
.location-media{position:relative;min-height:480px;overflow:hidden;background:var(--surface-light-muted)}
.location-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.location-media figcaption,.panel-media figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:16px;padding:14px 18px;background:oklch(0.17 0.018 245 / 85%);color:var(--text-on-dark);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;backdrop-filter:blur(8px)}
.location-copy h3{font-size:clamp(2rem,3.1vw,3.5rem);margin-bottom:28px}
.location-copy>p:not(.section-label):not(.data-note){color:var(--text-on-light-muted);line-height:1.85}
.location-list{list-style:none;margin-top:36px;border-top:1px solid var(--line-light)}
.location-list li{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-block:18px;border-bottom:1px solid var(--line-light)}
.location-list strong{font-family:var(--font-mono);font-size:20px;font-weight:550;white-space:nowrap}
.location-list span{font-size:13px;color:var(--text-on-light-muted);text-align:right}
.data-note{font-size:12px;line-height:1.65;color:var(--text-on-light-muted)}
.location-copy .data-note{margin-top:18px}
.reveal-media{transform-origin:top center}
.reveal-media.is-visible{animation:imageReveal .5s .1s ease-out both}
@keyframes imageReveal{from{transform:scaleY(.94);opacity:.82}to{transform:scaleY(1);opacity:1}}

/* Specifications */
.section-specs{padding-block:96px;background:var(--surface-light-muted);border-top:1px solid var(--line-light)}
.specs-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:72px;align-items:start}
.specs-heading{position:sticky;top:calc(var(--header-height) + 32px)}
.specs-heading>p:not(.section-label){margin:28px 0 20px;color:var(--text-on-light-muted)}
.table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}
.spec-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.65}
.spec-table caption{text-align:left;padding-bottom:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-on-light-muted)}
.spec-table tr{border-top:1px solid var(--line-light)}
.spec-table tr:last-child{border-bottom:1px solid var(--line-light)}
.spec-table th,.spec-table td{padding:17px 16px;text-align:left;vertical-align:top}
.spec-table th{width:130px;padding-left:0;font-weight:650;white-space:nowrap}
.spec-table td{padding-right:0;color:var(--text-on-light-muted)}
.specs-note{margin-top:28px}

/* Infrastructure */
.infra-tabs{border-top:1px solid var(--line-dark)}
.tab-list{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line-dark)}
.tab-list button{position:relative;display:flex;align-items:center;gap:18px;min-height:76px;padding:16px 24px;text-align:left;color:var(--text-on-dark-muted);border-left:1px solid var(--line-dark);transition:background-color .2s ease-out,color .2s ease-out}
.tab-list button:first-child{border-left:0;padding-left:0}
.tab-list button span{font-family:var(--font-mono);font-size:11px;color:var(--accent)}
.tab-list button::after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .25s ease-out}
.tab-list button:hover{color:var(--text-on-dark);background:oklch(0.94 0.008 145 / 4%)}
.tab-list button[aria-selected="true"]{color:var(--text-on-dark)}
.tab-list button[aria-selected="true"]::after{transform:scaleX(1)}
.tab-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center;padding-top:64px;animation:panelIn .25s ease-out}
@keyframes panelIn{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.panel-overline{margin-bottom:20px;color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em}
.panel-copy h3{font-size:clamp(2rem,3.2vw,3.6rem);margin-bottom:24px}
.panel-copy>p:not(.panel-overline){color:var(--text-on-dark-muted);line-height:1.85}
.panel-specs{display:grid;grid-template-columns:1fr 1fr;list-style:none;margin-top:36px;border-top:1px solid var(--line-dark)}
.panel-specs li{padding:18px 16px 18px 0;border-bottom:1px solid var(--line-dark)}
.panel-specs li:nth-child(even){padding-left:20px;border-left:1px solid var(--line-dark)}
.panel-specs span,.panel-specs strong{display:block}
.panel-specs span{font-size:12px;color:var(--text-on-dark-muted);margin-bottom:5px}
.panel-specs strong{font-family:var(--font-mono);font-size:16px;font-weight:500}
.panel-media{position:relative;height:430px;overflow:hidden;background:var(--surface-dark-raised)}
.panel-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}
.panel-media-wide img{object-fit:cover}

/* Services */
.service-list{border-top:1px solid var(--line-light)}
.service-item{display:grid;grid-template-columns:54px minmax(210px,.85fr) minmax(300px,1.25fr) 150px;gap:32px;align-items:start;padding-block:38px;border-bottom:1px solid var(--line-light)}
.service-number{font-family:var(--font-mono);font-size:12px;color:var(--accent-on-light);padding-top:7px}
.service-title h3{font-size:clamp(1.5rem,2vw,2.15rem);letter-spacing:-.025em}
.service-title p{margin-top:9px;font-size:12px;color:var(--text-on-light-muted)}
.service-item>p{color:var(--text-on-light-muted);font-size:15px;line-height:1.8}
.service-item .text-link{justify-self:end}
.operations-band{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:72px;margin-top:104px;padding:56px;background:var(--surface-dark);color:var(--text-on-dark)}
.operations-value{display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line-dark)}
.operations-value strong{font-family:var(--font-mono);font-size:clamp(4rem,7vw,7rem);font-weight:450;line-height:1;letter-spacing:-.08em;color:var(--accent)}
.operations-value span{margin-top:18px;color:var(--text-on-dark-muted)}
.operations-copy h3{font-size:clamp(1.8rem,2.7vw,3rem);margin-bottom:20px}
.operations-copy>p{color:var(--text-on-dark-muted)}
.operations-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;list-style:none;margin-top:28px}
.operations-copy li{position:relative;padding-left:16px;font-size:13px;color:var(--text-on-dark-muted)}
.operations-copy li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;background:var(--accent)}

/* Gallery */
.gallery-section{padding-bottom:112px}
.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:300px 300px;gap:16px}
.gallery-item{position:relative;overflow:hidden;text-align:left;background:var(--surface-dark-raised);min-width:0}
.gallery-item-large{grid-row:1/3}
.gallery-item:last-child{grid-column:2/4}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,oklch(0.14 0.018 245 / 90%),transparent 50%);pointer-events:none}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease-out,filter .28s ease-out;filter:saturate(.8)}
.gallery-item:hover img{transform:scale(1.025);filter:saturate(1)}
.gallery-item>span{position:absolute;z-index:2;inset:auto 20px 18px;display:flex;align-items:end;justify-content:space-between;gap:16px;color:var(--text-on-dark)}
.gallery-item b{font-size:17px}
.gallery-item small{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted);letter-spacing:.08em}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:88px;align-items:start}
.faq-heading{position:sticky;top:calc(var(--header-height) + 32px)}
.faq-heading>p:not(.section-label){margin:26px 0 20px;color:var(--text-on-light-muted)}
.faq-list{border-top:1px solid var(--line-light)}
.faq-list details{border-bottom:1px solid var(--line-light)}
.faq-list summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:20px 0;font-size:18px;font-weight:650;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{position:relative;width:20px;height:20px;flex:0 0 20px}
.faq-list summary span::before,.faq-list summary span::after{content:"";position:absolute;left:2px;right:2px;top:9px;height:1px;background:currentColor;transition:transform .2s ease-out}
.faq-list summary span::after{transform:rotate(90deg)}
.faq-list details[open] summary span::after{transform:rotate(0)}
.faq-list details p{padding:0 48px 26px 0;color:var(--text-on-light-muted);line-height:1.85}

/* Contact and footer */
.contact-section{position:relative;isolation:isolate;overflow:hidden;padding-block:112px;background:var(--surface-dark);color:var(--text-on-dark);border-top:1px solid var(--line-dark)}
.contact-grid{z-index:-1;opacity:.8}
.contact-inner{position:relative;z-index:2}
.contact-inner .section-label{color:var(--accent)}
.contact-inner h2{font-size:clamp(2.8rem,6.7vw,7.5rem);max-width:1100px}
.contact-inner>p:not(.section-label){margin-top:28px;color:var(--text-on-dark-muted)}
.contact-phone{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-top:32px;padding-block:22px;border-block:1px solid var(--line-dark);font-family:var(--font-mono);font-size:clamp(2.1rem,6.2vw,6.8rem);font-weight:450;letter-spacing:-.065em;line-height:1.1;color:var(--accent);transition:color .2s ease-out,padding .2s ease-out}
.contact-phone:hover{color:var(--text-on-dark);padding-inline:12px}
.contact-phone span{font-size:.45em;font-weight:400}
.contact-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;color:var(--text-on-dark-muted);font-size:13px}
.copy-button{min-height:44px;padding:10px 18px;border:1px solid var(--line-dark);color:var(--text-on-dark);transition:background-color .2s ease-out,color .2s ease-out}
.copy-button:hover{background:var(--accent);color:var(--p-night-950)}
.site-footer{background:var(--surface-dark);color:var(--text-on-dark);border-top:1px solid var(--line-dark)}
.footer-main{display:flex;align-items:end;justify-content:space-between;gap:48px;padding-block:48px}
.footer-brand{margin-bottom:14px}
.footer-main p{font-size:13px;color:var(--text-on-dark-muted)}
.footer-contact{text-align:right}
.footer-contact a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-family:var(--font-mono);font-size:14px;color:var(--text-on-dark)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px;border-top:1px solid var(--line-dark);font-size:12px;color:var(--text-on-dark-muted)}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;transition:color .2s ease-out}
.footer-bottom a:hover{color:var(--accent)}

/* Lightbox and feedback */
.lightbox{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:24px;border:0;background:oklch(0.12 0.018 245 / 94%);color:var(--text-on-dark);overflow:auto}
.lightbox::backdrop{background:oklch(0.12 0.018 245 / 88%);backdrop-filter:blur(8px)}
.lightbox[open]{display:grid;place-items:center;animation:lightboxIn .2s ease-out}
@keyframes lightboxIn{from{opacity:0}to{opacity:1}}
.lightbox-frame{width:min(1100px,100%);margin:auto}
.lightbox-close{display:flex;align-items:center;gap:10px;min-height:44px;margin-left:auto;margin-bottom:16px;color:var(--text-on-dark)}
.lightbox-close svg{width:20px;height:20px}
.lightbox-frame>img{width:100%;max-height:72vh;object-fit:contain;background:var(--surface-dark-raised)}
.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:18px}
.lightbox-bottom p{font-size:14px;color:var(--text-on-dark-muted)}
.lightbox-bottom>div{display:flex;gap:12px}
.lightbox-bottom button{min-height:44px;padding:10px 14px;border:1px solid var(--line-dark);font-size:13px;transition:background-color .2s ease-out,color .2s ease-out}
.lightbox-bottom button:hover{background:var(--accent);color:var(--p-night-950)}
.toast{position:fixed;left:50%;bottom:28px;z-index:130;transform:translate(-50%,18px);padding:12px 20px;background:var(--accent);color:var(--p-night-950);font-size:14px;font-weight:650;opacity:0;pointer-events:none;transition:transform .2s ease-out,opacity .2s ease-out;white-space:nowrap}
.toast.is-visible{transform:translate(-50%,0);opacity:1}

@media (min-width:1600px){
  .hero-inner{padding-inline:64px}
}
@media (max-width:1180px){
  .site-nav{gap:18px}.site-nav a{font-size:13px}.brand-site{display:none}.brand-divider{display:none}
  .hero-inner{padding-inline:40px}
  .section-heading>div{grid-column:1/8}.section-heading>.section-intro{grid-column:8/13}
  .location-feature{gap:40px}.location-media{min-height:420px}
  .service-item{grid-template-columns:40px minmax(190px,.8fr) minmax(280px,1.2fr);gap:24px}.service-item .text-link{grid-column:2;justify-self:start}
  .gallery-grid{grid-template-rows:260px 260px}
}
@media (max-width:960px){
  :root{--header-height:68px}
  .header-inner{padding-inline:20px}
  .menu-toggle{display:block}
  .header-phone{margin-left:0;padding-left:0;border-left:0}.header-phone span{display:none}.header-phone strong{font-size:13px}
  .site-nav{position:absolute;inset:var(--header-height) 0 auto;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px 20px 22px;background:oklch(0.17 0.018 245 / 98%);border-bottom:1px solid var(--line-dark)}
  .site-nav.is-open{display:flex}
  .site-nav a{min-height:50px;border-bottom:1px solid var(--line-dark);font-size:15px}
  .site-nav a::after{display:none}
  .hero-inner{padding:116px 28px 100px}
  .hero h1{font-size:clamp(4.2rem,13vw,7.6rem)}
  .hero-copy{grid-template-columns:1fr 1fr;gap:24px 36px}
  .hero-actions{grid-column:1/3}
  .hero-stats>div{padding-inline:16px}
  .scroll-cue{display:none}
  .section{padding-block:80px}.section-heading{margin-bottom:56px}
  .section-heading>div{grid-column:1/13}.section-heading>.section-intro{grid-column:3/13;margin-top:12px}
  .overview-stats{grid-template-columns:1fr 1fr;margin-bottom:72px}
  .overview-stats>div:nth-child(3){border-left:0;padding-left:0}.overview-stats>div:nth-child(n+3){border-top:1px solid var(--line-light)}
  .location-feature{grid-template-columns:1fr;gap:40px}.location-media{min-height:460px}
  .specs-layout,.faq-layout{grid-template-columns:1fr;gap:48px}.specs-heading,.faq-heading{position:static}
  .tab-panel{grid-template-columns:1fr;gap:40px}.panel-media{height:400px;grid-row:1}.panel-copy{grid-row:2}
  .tab-list button{padding-inline:14px;gap:10px}.tab-list button:first-child{padding-left:0}
  .operations-band{grid-template-columns:1fr;gap:40px;padding:40px}.operations-value{padding-bottom:32px;border-right:0;border-bottom:1px solid var(--line-dark)}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 260px 260px}.gallery-item-large{grid-column:1/3;grid-row:auto}.gallery-item:last-child{grid-column:1/3}
  .contact-section{padding-block:88px}
}
@media (max-width:640px){
  .shell{padding-inline:20px}
  .header-inner{padding-inline:16px;gap:8px}.brand-word{font-size:22px}.header-phone strong{font-size:12px}.menu-toggle{width:44px}
  .hero-inner{padding:104px 20px 72px;justify-content:flex-end}
  .hero-media img{object-position:64% center}
  .hero-shade{background:linear-gradient(90deg,oklch(0.14 0.018 245 / 92%),oklch(0.14 0.018 245 / 58%)),linear-gradient(0deg,oklch(0.14 0.018 245 / 98%) 0%,oklch(0.14 0.018 245 / 72%) 50%,oklch(0.14 0.018 245 / 28%) 100%)}
  .technical-grid{grid-template-columns:repeat(5,1fr)}.technical-grid i:nth-child(n+6){display:none}
  .hero-meta{margin-bottom:36px;font-size:10px;gap:12px}.hero-meta>span:first-child{max-width:170px}.live-status{gap:7px}.live-status i{width:6px;height:6px}
  .hero h1{font-size:clamp(3.65rem,18vw,5.6rem);line-height:.96}
  .hero-copy{grid-template-columns:1fr;margin-top:28px;gap:18px}.hero-keywords{font-size:15px;line-height:1.7}.hero-description{font-size:15px;line-height:1.75}
  .hero-actions{grid-column:1;gap:16px;margin-top:8px}.button-primary{width:100%;padding-inline:16px;gap:10px}.button-primary strong{font-size:14px}
  .hero-stats{grid-template-columns:1fr 1fr;margin-top:34px}.hero-stats>div{padding:15px 12px}.hero-stats>div:nth-child(odd){border-left:0;padding-left:0}.hero-stats>div:nth-child(n+3){border-top:1px solid var(--line-dark)}
  .hero-stats dt{font-size:11px}.hero-stats dd{font-size:21px}
  .marquee-group{gap:24px;padding-block:12px}.marquee-group span{font-size:12px}
  .section{padding-block:64px}.section-heading{display:block;margin-bottom:40px}.section-heading>.section-intro{margin-top:24px}.section-heading h2,.specs-heading h2,.faq-heading h2{font-size:clamp(2.1rem,10vw,3.2rem)}
  .section-label{margin-bottom:16px;font-size:10px}.section-intro{font-size:16px}
  .overview-stats{margin-bottom:64px}.overview-stats>div{padding:20px 12px}.overview-stats strong{font-size:34px}.overview-stats dd{gap:6px}.overview-stats dt{font-size:12px}.overview-stats span{font-size:11px}
  .location-media{min-height:320px}.location-copy h3{font-size:2rem}.location-list li{align-items:flex-start;flex-direction:column;gap:5px}.location-list span{text-align:left}
  .location-media figcaption,.panel-media figcaption{font-size:9px;padding:12px}
  .section-specs{padding-block:64px}.specs-layout{gap:36px}.spec-table{font-size:13px;table-layout:fixed}.spec-table th{width:100px;white-space:normal}.spec-table th,.spec-table td{padding:14px 8px;overflow-wrap:anywhere}.spec-table th{padding-left:0}.spec-table td{padding-right:0}.specs-note{margin-top:20px}
  .tab-list{grid-template-columns:1fr 1fr}.tab-list button{min-height:62px;padding:12px;border-bottom:1px solid var(--line-dark);font-size:13px}.tab-list button:nth-child(odd){border-left:0;padding-left:0}.tab-list button:nth-child(3){padding-left:0}.tab-list button::after{bottom:0}
  .tab-panel{padding-top:36px;gap:28px}.panel-media{height:280px}.panel-copy h3{font-size:2rem}.panel-copy>p:not(.panel-overline){font-size:15px}.panel-specs{margin-top:28px}.panel-specs strong{font-size:14px}
  .service-item{grid-template-columns:32px 1fr;gap:16px;padding-block:30px}.service-item>p{grid-column:2;font-size:14px}.service-item .text-link{grid-column:2}.service-title h3{font-size:1.6rem}
  .operations-band{margin-top:64px;padding:28px 22px;gap:30px}.operations-value strong{font-size:4.6rem}.operations-copy ul{grid-template-columns:1fr;gap:10px}.operations-copy h3{font-size:1.8rem}
  .gallery-section{padding-bottom:72px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:280px repeat(3,240px);gap:12px}.gallery-item-large,.gallery-item:last-child{grid-column:auto}.gallery-item>span{inset:auto 16px 14px}
  .faq-layout{gap:36px}.faq-list summary{font-size:16px;min-height:68px}.faq-list details p{padding-right:0;font-size:14px}
  .contact-section{padding-block:72px}.contact-inner h2{font-size:2.8rem}.contact-phone{font-size:clamp(2rem,10vw,3.3rem);padding-block:20px}.contact-meta{align-items:flex-start;flex-direction:column;gap:16px}
  .footer-main{align-items:flex-start;flex-direction:column;gap:28px;padding-block:36px}.footer-contact{text-align:left}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
  .lightbox{padding:16px}.lightbox-bottom{align-items:flex-start;flex-direction:column}.lightbox-bottom>div{width:100%}.lightbox-bottom button{flex:1}.lightbox-frame>img{max-height:64vh}
  .toast{bottom:calc(20px + env(safe-area-inset-bottom));font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .marquee-track{transform:none}.marquee-group[aria-hidden="true"]{display:none}
  .technical-grid i::after{display:none}
}
