:root { --ink:#101010; --paper:#f1f0eb; --muted:#9b9b95; --line:rgba(16,16,16,.18); --accent:#b9f8ed; --pad:clamp(22px,3.5vw,58px); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#fff; font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif; cursor:none; overflow-x:hidden; }
a,button,input,textarea { color:inherit; font:inherit; }
a,button { cursor:none; }
a { text-decoration:none; }
button { border:0; }
img { display:block; max-width:100%; }
.cursor { position:fixed; z-index:9999; left:0; top:0; width:12px; height:12px; border-radius:50%; background:#fff; pointer-events:none; mix-blend-mode:difference; transform:translate(-50%,-50%); transition:width .25s,height .25s,opacity .25s; }
.cursor.active { width:54px; height:54px; }
.page-loader { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; background:#0c0c0c; transition:transform .85s cubic-bezier(.77,0,.18,1) .15s; }
.page-loader.loaded { transform:translateY(-100%); }
.loader-mark { font:600 42px/1 Arial; letter-spacing:-.08em; }
.loader-line { position:absolute; left:10vw; right:10vw; bottom:14vh; height:1px; background:#343434; }
.loader-line i { display:block; height:100%; width:0; background:#fff; animation:load 1.1s ease forwards; }
@keyframes load { to { width:100%; } }
.site-header { position:fixed; top:0; left:0; right:0; z-index:100; height:92px; padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; transition:background .35s,height .35s; }
.site-header.scrolled { height:74px; background:rgba(10,10,10,.78); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { font:700 28px/1 Arial; letter-spacing:-.08em; }
.brand-copy { font-size:8px; line-height:1.08; letter-spacing:.1em; color:#aaa; }
.brand-logo { display:block; width:clamp(155px,15vw,212px); height:auto; }
.desktop-nav { display:flex; gap:clamp(18px,2.35vw,42px); margin-left:auto; margin-right:3vw; }
.desktop-nav a,.admin-entry { position:relative; font-size:11px; letter-spacing:.08em; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:currentColor; transition:right .3s; }
.desktop-nav a:hover::after { right:0; }
.admin-entry { color:#999; border:1px solid #555; border-radius:999px; padding:8px 12px; }
.header-actions { display:flex; align-items:center; gap:18px; }
.menu-button { width:38px; display:none; background:transparent; padding:8px; }
.menu-button span { display:block; height:1px; margin:7px 0; background:currentColor; transition:.3s; }
.menu-button.open span:first-child { transform:translateY(4px) rotate(45deg); }
.menu-button.open span:last-child { transform:translateY(-4px) rotate(-45deg); }
.mobile-menu { position:fixed; inset:0; z-index:90; background:#101010; display:grid; place-items:center; transform:translateY(-100%); transition:transform .65s cubic-bezier(.77,0,.18,1); }
.mobile-menu.open { transform:translateY(0); }
.mobile-menu nav { width:80%; }
.mobile-menu a { display:block; font-size:clamp(32px,9vw,64px); padding:10px 0; border-bottom:1px solid #333; }
.mobile-menu small { font-size:10px; margin-right:15px; color:#888; }
.hero { position:relative; min-height:100svh; overflow:hidden; background:#050607; }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.06); animation:heroIn 2s ease .7s forwards; }
@keyframes heroIn { to { transform:scale(1); } }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.72),transparent 63%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 50%); }
.hero-glow { position:absolute; width:38vw; aspect-ratio:1; right:-12vw; top:12vh; border-radius:50%; background:#83ffe020; filter:blur(60px); }
.hero-copy { position:absolute; left:var(--pad); top:50%; transform:translateY(-43%); max-width:92vw; }
.eyebrow,.section-label { font-size:10px; letter-spacing:.2em; text-transform:uppercase; }
.hero h1 { margin:27px 0; font:300 clamp(66px,11.4vw,184px)/.76 Arial,sans-serif; letter-spacing:-.085em; }
.hero h1 span { font-style:normal; }
.hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(255,255,255,.75); }
.hero-summary { max-width:590px; margin:0 0 0 4px; color:#ddd; font-size:clamp(13px,1.1vw,17px); line-height:1.7; font-weight:300; }
.hero-meta { position:absolute; left:var(--pad); right:var(--pad); bottom:78px; display:flex; justify-content:space-between; font-size:9px; letter-spacing:.14em; }
.hero-meta b { margin-left:14px; font-size:14px; }
.hero-index { position:absolute; right:var(--pad); top:50%; font-size:9px; letter-spacing:.12em; writing-mode:vertical-rl; }
.hero-index i { display:inline-block; width:1px; height:70px; margin:12px 0; background:rgba(255,255,255,.45); }
.index-strip { position:absolute; z-index:3; left:0; right:0; bottom:0; padding:15px 0; overflow:hidden; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.1); background:rgba(8,8,8,.86); backdrop-filter:blur(10px); }
.marquee { display:flex; overflow:hidden; user-select:none; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.marquee-track { display:flex; flex:0 0 auto; min-width:100%; align-items:center; gap:36px; padding-right:36px; animation:capabilityMarquee 46s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.marquee-track span { white-space:nowrap; color:#aaa; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; }
.marquee-track i { color:var(--accent); font-size:8px; font-style:normal; opacity:.78; }
@keyframes capabilityMarquee { to { transform:translateX(-100%); } }
.light-section { background:var(--paper); color:var(--ink); }
.intro { padding:110px 0 0; color:#fff; background:#101010; }
.section-label { display:flex; gap:20px; align-items:center; }
.section-label span { color:#777; }
.about h2,.rental-heading h2 { margin:0; font:300 clamp(48px,7.6vw,120px)/.93 Arial,sans-serif; letter-spacing:-.065em; }
.about h2 em,.rental-heading h2 em { font-style:normal; color:#a8aaa7; }
.business-heading { display:flex; align-items:end; justify-content:space-between; gap:60px; padding:0 var(--pad) 58px; }
.business-heading h2 { margin:34px 0 0; font:300 clamp(48px,7vw,106px)/1 Arial,sans-serif; letter-spacing:-.06em; }
.business-heading p { max-width:390px; margin:0 0 8px; color:#a8a8a8; font-size:13px; line-height:1.8; }
.business-grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1.12fr); grid-template-rows:repeat(2,clamp(220px,22vw,320px)); gap:6px; padding:6px; background:#070707; }
.business-feature,.business-card { position:relative; min-width:0; overflow:hidden; background:#18202b; }
.business-feature { grid-row:1/3; }
.business-feature img,.business-card img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(1.08) contrast(1.04); }
.business-card img { transition:transform .6s ease; }
.business-card:hover img { transform:scale(1.035); }
.business-card::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.16)); }
.business-copy { position:absolute; z-index:1; top:50%; left:20px; right:20px; transform:translateY(-50%); text-align:center; text-shadow:0 2px 12px #000; }
.business-copy h3 { margin:0 0 6px; font-size:clamp(15px,1.6vw,24px); font-weight:500; line-height:1.3; }
.business-copy h3 span { display:inline-block; margin-right:8px; color:#fff000; font-size:.85em; font-weight:700; }
.business-copy p { max-width:90%; margin:0 auto; font-size:clamp(13px,1.5vw,21px); line-height:1.35; }
.business-card:nth-child(n+6) { min-height:260px; }
.work,.news { padding:140px var(--pad); background:#101010; }
.section-head { display:grid; grid-template-columns:.55fr 1.5fr .7fr; gap:40px; align-items:end; margin-bottom:95px; }
.section-head h2 { margin:0; font:300 clamp(54px,8.6vw,138px)/.82 Arial,sans-serif; letter-spacing:-.075em; }
.section-head p { margin:0 0 5px; color:#888; font-size:12px; line-height:1.8; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:90px 3.4vw; align-items:start; }
.project-card { min-width:0; }
.project-card:nth-child(even) { margin-top:150px; }
.project-visual { position:relative; overflow:hidden; aspect-ratio:1.15/1; background:radial-gradient(circle at 30% 20%,#536b73,#15181b 60%); }
.project-card:nth-child(4n+2) .project-visual { aspect-ratio:.9/1; }
.project-card:nth-child(4n+3) { width:78%; margin-left:auto; }
.project-card:nth-child(4n+3) .project-visual { aspect-ratio:1.35/1; }
.project-visual img { width:100%; height:100%; object-fit:cover; filter:saturate(.86); transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s; }
.project-card:hover img { transform:scale(1.045); filter:saturate(1.05); }
.project-visual::after { content:"VIEW"; position:absolute; left:50%; top:50%; width:76px; height:76px; border-radius:50%; display:grid; place-items:center; background:#fff; color:#111; font-size:9px; letter-spacing:.15em; opacity:0; transform:translate(-50%,-40%) scale(.7); transition:.35s; }
.project-card:hover .project-visual::after { opacity:1; transform:translate(-50%,-50%) scale(1); }
.image-fallback { background:radial-gradient(circle at 35% 32%,#b9f8ed 0 4%,#43626c 18%,#25243b 45%,#101010 75%); }
.project-info { display:flex; justify-content:space-between; align-items:end; gap:25px; padding-top:17px; }
.project-info h3,.project-info h2 { margin:0; max-width:65%; font-size:15px; font-weight:400; line-height:1.4; }
.project-info p { margin:0; color:#777; font-size:9px; text-align:right; letter-spacing:.1em; }
.section-action { display:grid; place-items:center; padding-top:100px; }
.outline-button { min-width:220px; padding:17px 22px; border:1px solid #555; border-radius:999px; color:#fff; background:transparent; font-size:11px; letter-spacing:.12em; transition:.3s; }
.outline-button:hover { color:#111; background:#fff; border-color:#fff; }
.outline-button span { float:right; }
.project-carousel { position:relative; min-height:clamp(300px,54vw,740px); background:#1b1d20; overflow:hidden; }
.project-carousel-slide[hidden],.project-carousel-controls[hidden] { display:none; }
.project-carousel-slide { position:relative; min-height:clamp(300px,54vw,740px); animation:projectImageIn .55s ease both; }
.project-carousel-slide>img,.project-carousel-slide>video { display:block; width:100%; height:clamp(300px,54vw,740px); }
.project-carousel-slide>img { object-fit:cover; }
.project-carousel-slide>video { object-fit:contain; background:#050505; cursor:auto; }
@keyframes projectImageIn { from { opacity:.2; transform:scale(1.015); } to { opacity:1; transform:none; } }
.project-carousel-caption { position:absolute; left:28px; right:28px; top:28px; padding:18px 20px; background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.16)); pointer-events:none; }
.project-carousel-caption span,.project-carousel-empty span { font-size:10px; letter-spacing:.18em; color:#b9f8ed; }
.project-carousel-caption h3 { margin:9px 0 0; max-width:760px; font-size:clamp(21px,3vw,44px); line-height:1.15; font-weight:400; }
.project-carousel-controls { display:flex; align-items:center; justify-content:flex-end; gap:20px; padding-top:20px; font-size:11px; letter-spacing:.15em; }
.project-carousel-controls button { width:44px; height:44px; border:1px solid #555; border-radius:50%; background:transparent; color:#fff; font-size:20px; }
.project-carousel-controls button:hover { background:#fff; color:#111; }
.project-carousel-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:clamp(300px,54vw,740px); background:radial-gradient(circle at 50% 45%,#283b46,#101010 65%); }
.project-carousel-empty p { font-size:clamp(22px,4vw,48px); font-weight:300; }
.video-carousel { position:relative; min-height:clamp(300px,54vw,740px); background:#1b1d20; overflow:hidden; }
.video-slide[hidden],.video-controls[hidden] { display:none; }
.video-slide { position:relative; }
.video-slide video { display:block; width:100%; aspect-ratio:16/9; max-height:740px; object-fit:contain; background:#08090a; }
.video-caption { position:absolute; left:28px; bottom:28px; padding:14px 18px; background:rgba(0,0,0,.65); pointer-events:none; }
.video-caption span,.video-empty span { font-size:10px; letter-spacing:.18em; color:#b9f8ed; }
.video-caption h3 { margin:8px 0 0; font-size:clamp(18px,2.5vw,34px); font-weight:400; }
.video-controls { display:flex; align-items:center; justify-content:flex-end; gap:20px; padding-top:20px; font-size:11px; letter-spacing:.15em; }
.video-controls button { width:44px; height:44px; border:1px solid #555; border-radius:50%; background:transparent; color:#fff; font-size:20px; }
.video-controls button:hover { background:#fff; color:#111; }
.video-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:clamp(300px,54vw,740px); background:radial-gradient(circle at 50% 45%,#283b46,#101010 65%); }
.video-empty p { font-size:clamp(22px,4vw,48px); font-weight:300; }
.partners { padding:140px var(--pad); }
.partners-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin:70px 0 45px; }
.partners-heading h2 { margin:0; font-size:clamp(36px,6vw,88px); font-weight:300; letter-spacing:-.06em; }
.partners-heading h2 span { font-size:11px; font-weight:400; letter-spacing:.15em; color:#777; }
.partners-heading p { max-width:380px; margin:0; color:#666; font-size:13px; line-height:1.8; }
.partners-media { display:grid; place-items:center; width:100%; min-height:280px; background:#e2e2dc; }
.partners-media img { display:block; width:100%; height:auto; }
.partners-media p { color:#888; font-size:14px; letter-spacing:.12em; }
.projects-page { padding:170px var(--pad) 140px; min-height:100svh; }
.projects-page .section-head { margin-bottom:85px; }
.projects-page .section-head h1 { margin:0; font:300 clamp(54px,8.6vw,138px)/.82 Arial,sans-serif; letter-spacing:-.075em; }
.back-home { font-size:11px; letter-spacing:.08em; }
.projects-page .project-card:nth-child(even) { margin-top:0; }
.projects-page .project-card:nth-child(4n+3) { width:100%; margin-left:0; }
.projects-page .project-visual { aspect-ratio:1.45/1; }
.projects-page .project-card:nth-child(4n+2) .project-visual,.projects-page .project-card:nth-child(4n+3) .project-visual { aspect-ratio:1.45/1; }
.projects-page .project-visual::after { display:none; }
.projects-document,.projects-document a,.projects-document button { cursor:auto; }
.projects-page .project-gallery { display:grid; gap:5px; height:clamp(280px,42vw,620px); overflow:hidden; background:#17191c; }
.projects-page .project-gallery img,.projects-page .project-gallery video { width:100%; height:100%; min-width:0; min-height:0; background:#08090a; }
.projects-page .project-gallery img { object-fit:cover; transition:transform .65s ease,filter .4s; }
.projects-page .project-gallery video { object-fit:contain; }
.projects-page .project-card:hover .project-gallery img { transform:scale(1.018); filter:saturate(1.06); }
.projects-page .project-gallery.count-1 { grid-template-columns:1fr; }
.projects-page .project-gallery.count-2 { grid-template-columns:repeat(2,1fr); }
.projects-page .project-gallery.count-3 { grid-template-columns:1.35fr 1fr; grid-template-rows:repeat(2,1fr); }
.projects-page .project-gallery.count-3>:first-child { grid-row:1/3; }
.projects-page .project-gallery.count-4 { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); }
.project-summary { margin:14px 0 0; color:#aaa; font-size:12px; line-height:1.8; }
.about { padding:140px var(--pad) 90px; }
.about-layout { display:grid; grid-template-columns:1.45fr .75fr; gap:8vw; align-items:end; padding:90px 0 125px; }
.about-copy { max-width:540px; }
.about-copy p { color:#666; font-size:13px; line-height:1.9; }
.about-copy .kicker { color:#111; font-size:11px; letter-spacing:.08em; }
.about-copy .lead { color:#111; font-size:19px; line-height:1.55; margin:25px 0 34px; }
.text-link { display:inline-flex; gap:25px; margin-top:25px; padding-bottom:8px; border-bottom:1px solid #111; font-size:12px; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.stats>div { display:flex; align-items:flex-end; gap:22px; padding:44px 0; border-right:1px solid var(--line); }
.stats>div:not(:first-child) { padding-left:42px; }
.stats>div:last-child { border-right:0; }
.stats strong { font:300 clamp(50px,5.6vw,88px)/.8 Arial,sans-serif; letter-spacing:-.06em; }
.stats sup { font-size:.3em; vertical-align:top; }
.stats span { color:#777; font-size:9px; line-height:1.5; letter-spacing:.1em; }
.stats .count-number { color:inherit; font:inherit; letter-spacing:inherit; }
.about-subpage { border-top:1px solid #282828; }
.credentials-section { padding:140px var(--pad); overflow:hidden; border-top:1px solid #282828; background:#0b0c0e; color:#fff; }
.credentials-head { display:grid; grid-template-columns:.55fr 1fr .72fr; gap:40px; align-items:end; }
.credentials-head h2 { margin:0; font-size:clamp(48px,7vw,108px); line-height:.94; font-weight:300; letter-spacing:-.065em; }
.credentials-lead { margin:0 0 5px; color:#999; font-size:13px; line-height:1.95; }
.credential-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:70px 0 0; padding:0; border-top:1px solid #303236; list-style:none; }
.credential-stats li { display:grid; gap:7px; padding:28px 0 25px; }
.credential-stats li+li { padding-left:28px; border-left:1px solid #303236; }
.credential-stats b { font-size:clamp(34px,4vw,58px); line-height:1; font-weight:300; letter-spacing:-.04em; }
.credential-stats b i { margin-left:3px; color:var(--accent); font-size:.5em; font-style:normal; }
.credential-stats span { color:#929398; font-size:11px; letter-spacing:.05em; }
.cert-wall { display:grid; gap:14px; margin:52px calc(var(--pad) * -1) 0; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.wall-row { display:flex; }
.wall-track { display:flex; gap:14px; padding-right:14px; animation:certificateDrift 68s linear infinite; will-change:transform; }
.wall-row.is-rev .wall-track { animation-direction:reverse; animation-duration:84s; }
.cert-wall:hover .wall-track { animation-play-state:paused; }
@keyframes certificateDrift { to { transform:translateX(-50%); } }
.mini-certificate { position:relative; flex:0 0 auto; width:clamp(158px,13.5vw,196px); height:clamp(98px,9vw,124px); display:flex; flex-direction:column; justify-content:space-between; padding:12px 14px; border:1px solid #2d3034; background:linear-gradient(160deg,rgba(255,255,255,.05),transparent 62%),#141619; box-shadow:inset 0 0 0 1px #08090a,inset 0 0 0 2px rgba(255,255,255,.04); transition:.3s; }
.mini-certificate:hover { border-color:rgba(185,248,237,.35); transform:translateY(-2px); }
.mini-certificate-top,.mini-certificate-org { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.mini-certificate-tag { padding:2px 7px 2px 9px; border:1px solid rgba(185,248,237,.28); color:rgba(185,248,237,.85); font-size:9px; letter-spacing:.22em; }
.mini-certificate-dot { position:relative; width:7px; height:7px; border:1px solid rgba(185,248,237,.52); border-radius:50%; }
.mini-certificate-dot::after { content:""; position:absolute; inset:2px; border-radius:50%; background:rgba(185,248,237,.5); }
.mini-certificate-title { display:-webkit-box; overflow:hidden; color:#eee; font-size:11px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.mini-certificate-org { padding-top:7px; overflow:hidden; border-top:1px solid rgba(255,255,255,.1); color:#85868b; font-size:9px; letter-spacing:.04em; }
.mini-certificate-org span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mini-certificate-org b { flex:0 0 auto; color:rgba(185,248,237,.75); font-weight:400; }
.credentials-body { display:grid; grid-template-columns:minmax(180px,.28fr) minmax(0,1fr); gap:clamp(34px,5vw,78px); margin-top:70px; }
.credential-tabs { display:grid; align-content:start; }
.credential-tab { position:relative; display:grid; gap:4px; padding:17px 0 17px 22px; border-top:1px solid #303236; color:#888; background:transparent; text-align:left; }
.credential-tab:last-child { border-bottom:1px solid #303236; }
.credential-tab::before { content:""; position:absolute; left:0; top:50%; width:10px; height:1px; background:currentColor; opacity:.4; transform:translateY(-50%); transition:.3s; }
.credential-tab span { font-size:15px; font-weight:500; transition:.3s; }
.credential-tab small { font-size:9px; letter-spacing:.16em; text-transform:uppercase; opacity:.65; }
.credential-tab:hover,.credential-tab.is-active { color:#fff; }
.credential-tab.is-active small { color:var(--accent); opacity:1; }
.credential-tab.is-active::before { width:15px; background:var(--accent); opacity:1; }
.credential-panel[hidden] { display:none; }
.certificate-grid,.direction-grid { margin:0; padding:0; list-style:none; }
.certificate-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.certificate-card { position:relative; display:flex; min-height:310px; flex-direction:column; gap:8px; padding:clamp(24px,2.8vw,38px); overflow:hidden; border:1px solid #303236; background:linear-gradient(165deg,rgba(255,255,255,.04),transparent 48%),#141619; transition:.45s; }
.certificate-card::before,.certificate-card::after { content:""; position:absolute; width:14px; height:14px; opacity:.5; }
.certificate-card::before { left:8px; top:8px; border-top:1px solid var(--accent); border-left:1px solid var(--accent); }
.certificate-card::after { right:8px; bottom:8px; border-right:1px solid var(--accent); border-bottom:1px solid var(--accent); }
.certificate-card:hover { transform:translateY(-5px); border-color:rgba(185,248,237,.3); }
.certificate-top { display:flex; justify-content:space-between; gap:16px; margin-bottom:18px; }
.certificate-seal { display:grid; width:44px; height:44px; place-items:center; border:1px solid rgba(185,248,237,.5); border-radius:50%; box-shadow:0 0 0 4px rgba(185,248,237,.06); color:var(--accent); font-size:15px; }
.certificate-seal.is-iso { color:#ddd; font-size:12px; }
.certificate-count { color:transparent; font-size:clamp(44px,4.6vw,66px); line-height:.82; font-weight:300; letter-spacing:-.04em; -webkit-text-stroke:1px rgba(185,248,237,.42); }
.certificate-count i { font-size:.5em; font-style:normal; }
.certificate-card>b { font-size:16px; font-weight:600; }
.certificate-en { color:#8d8e93; font-size:9px; font-style:normal; letter-spacing:.13em; text-transform:uppercase; }
.certificate-card p { margin:5px 0 0; color:#929398; font-size:12px; line-height:1.85; }
.certificate-org { margin-top:auto; padding-top:18px; border-top:1px solid #303236; color:#929398; font-size:11px; }
.credential-note { margin:20px 0 0; color:#777; font-size:10px; letter-spacing:.08em; }
.direction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.direction-card { position:relative; display:grid; min-height:300px; align-content:start; gap:10px; padding:clamp(24px,3vw,40px); border:1px solid #303236; background:linear-gradient(200deg,rgba(255,255,255,.04),transparent 42%),#141619; transition:.45s; }
.direction-card:hover { transform:translateY(-4px); border-color:rgba(185,248,237,.3); }
.direction-card::after { content:""; position:absolute; left:40px; right:40px; top:0; height:1px; background:linear-gradient(90deg,var(--accent),transparent 72%); opacity:0; transition:.4s; }
.direction-card:hover::after { opacity:.8; }
.direction-top { display:flex; align-items:center; justify-content:space-between; }
.direction-top span { color:var(--accent); font-size:15px; letter-spacing:.1em; }
.direction-top b { color:var(--accent); font-size:23px; font-weight:400; opacity:.75; }
.direction-card h4 { display:grid; gap:6px; margin:18px 0 0; font-size:17px; font-weight:600; }
.direction-card h4 small { color:#8d8e93; font-size:9px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.direction-card p { margin:4px 0 0; color:#929398; font-size:12.5px; line-height:1.95; }
.news { background:#171717; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#3a3a3a; border:1px solid #3a3a3a; }
.news-card { display:flex; flex-direction:column; min-width:0; padding:0; text-align:left; background:#171717; }
.news-media { display:block; aspect-ratio:1.45/1; overflow:hidden; background:linear-gradient(135deg,#242c35,#675d86); }
.news-media img { width:100%; height:100%; object-fit:cover; filter:grayscale(.25); transition:transform .6s,filter .4s; }
.news-card:hover img { transform:scale(1.045); filter:grayscale(0); }
.news-copy { display:flex; flex-direction:column; min-height:280px; padding:27px; }
.news-copy small { color:#777; font-size:8px; letter-spacing:.14em; }
.news-copy strong { margin:24px 0 18px; font-size:18px; line-height:1.45; font-weight:400; }
.news-copy>span { color:#888; font-size:12px; line-height:1.7; }
.news-copy b { margin-top:auto; padding-top:30px; color:#aaa; font-size:8px; letter-spacing:.14em; }
.rental { padding:140px var(--pad) 100px; }
.rental-heading { display:grid; grid-template-columns:.6fr 1.4fr .55fr; gap:40px; align-items:end; padding-bottom:95px; }
.rental-heading h2 { font-size:clamp(52px,7vw,110px); }
.rental-heading p { margin:0; color:#666; font-size:12px; line-height:1.8; }
.equipment-list { border-top:1px solid var(--line); }
.equipment-card { display:grid; grid-template-columns:.72fr 1.28fr; min-height:350px; border-bottom:1px solid var(--line); }
.equipment-media { overflow:hidden; background:#deded8; }
.equipment-media img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; transition:transform .6s; }
.equipment-card:hover img { transform:scale(1.04); }
.equipment-copy { display:grid; grid-template-columns:45px 1fr .65fr .55fr 120px; gap:25px; align-items:center; padding:40px 0 40px 45px; }
.equipment-copy>span { color:#999; font-size:10px; }
.equipment-copy h3 { margin:0; font-size:clamp(22px,2.2vw,35px); font-weight:400; }
.equipment-copy p { margin:0; color:#666; font-size:11px; line-height:1.7; }
.equipment-copy strong { font-size:13px; font-weight:500; }
.equipment-copy a { justify-self:end; padding-bottom:5px; border-bottom:1px solid #111; font-size:11px; }
.contact { padding:130px var(--pad) 75px; background:#101010; }
.contact-top { display:flex; justify-content:space-between; align-items:start; }
.contact-top p { margin:0; width:29%; color:#888; font-size:12px; line-height:1.7; }
.contact-title { display:block; margin:95px 0 115px; font:300 clamp(64px,11.5vw,180px)/.8 Arial,sans-serif; letter-spacing:-.085em; }
.contact-title span { display:inline-block; font-size:.35em; vertical-align:top; margin:12px 0 0 25px; transition:.3s; }
.contact-title:hover span { transform:translate(15px,-15px); }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; padding-top:45px; border-top:1px solid #383838; }
.contact-details { display:grid; gap:40px; align-content:start; }
.contact-details small { display:block; margin-bottom:14px; color:#666; font-size:8px; letter-spacing:.18em; }
.contact-details a,.contact-details p { display:block; margin:0 0 6px; font-size:12px; line-height:1.7; }
.inquiry-form { padding:38px; background:#191919; }
.form-heading { display:flex; justify-content:space-between; margin-bottom:45px; }
.form-heading span { color:#777; font-size:9px; letter-spacing:.16em; }
.form-heading p { margin:0; font-size:15px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.inquiry-form label { display:block; margin-bottom:26px; }
.inquiry-form label>span { display:block; margin-bottom:10px; color:#777; font-size:9px; letter-spacing:.08em; }
.inquiry-form input,.inquiry-form textarea { width:100%; border:0; border-bottom:1px solid #3c3c3c; outline:0; padding:11px 0; color:#fff; background:transparent; resize:vertical; }
.inquiry-form input:focus,.inquiry-form textarea:focus { border-color:var(--accent); }
.form-submit { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.form-submit p { margin:0; color:var(--accent); font-size:11px; }
.form-submit button { flex:0 0 auto; min-width:145px; padding:14px 17px; border-radius:999px; color:#111; background:var(--accent); }
.form-submit button:disabled { opacity:.55; }
.form-submit button span { float:right; }
footer { display:grid; grid-template-columns:1fr 1fr auto; gap:30px; align-items:center; padding:23px var(--pad); border-top:1px solid #252525; background:#101010; color:#666; font-size:8px; letter-spacing:.1em; }
footer>div { display:flex; gap:18px; }
footer p { margin:0; text-align:center; line-height:1.5; }
.icp { color:#666; }
.story-dialog { width:min(760px,calc(100vw - 30px)); max-height:88vh; overflow:auto; padding:0; border:0; color:#111; background:var(--paper); box-shadow:0 30px 100px #000a; }
.story-dialog::backdrop { background:#000c; backdrop-filter:blur(8px); }
.story-dialog>img { width:100%; max-height:390px; object-fit:cover; }
.story-dialog>div { padding:clamp(28px,5vw,60px); }
.story-dialog #dialog-date { color:#888; font-size:10px; letter-spacing:.1em; }
.story-dialog h2 { margin:18px 0 28px; font-size:clamp(28px,4vw,48px); line-height:1.2; font-weight:400; letter-spacing:-.04em; }
.story-dialog #dialog-content { color:#555; font-size:14px; line-height:1.95; white-space:pre-line; }
.dialog-close { position:sticky; float:right; top:14px; right:14px; z-index:2; width:40px; height:40px; margin:14px; border-radius:50%; color:#111; background:#fff; font-size:24px; }
.reveal { opacity:0; transform:translateY(48px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:none; }
@media (max-width:1050px) {
  .desktop-nav { gap:17px; }
  .equipment-copy { grid-template-columns:35px 1fr .8fr; }
  .equipment-copy strong,.equipment-copy a { grid-column:2; justify-self:start; }
}
@media (max-width:900px) {
  body,a,button { cursor:auto; } .cursor { display:none; } .site-header { height:76px; }
  .desktop-nav { display:none; } .menu-button { display:block; } .hero-copy { top:45%; }
  .projects-page .desktop-nav { display:none; }
  .hero h1 { font-size:clamp(62px,16vw,116px); } .hero-index { display:none; }
  .intro,.work,.about,.news,.rental,.contact,.partners { padding-top:95px; }
  .about-layout { grid-template-columns:1fr; gap:55px; padding:75px 0 90px; }
  .business-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
  .business-feature { grid-column:1/-1; grid-row:auto; height:320px; }
  .business-card { min-height:250px; }
  .section-head,.rental-heading { grid-template-columns:1fr; gap:35px; }
  .section-head p,.rental-heading p { max-width:420px; }
  .partners-heading { display:block; }
  .partners-heading p { margin-top:18px; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .stats>div { display:block; } .stats span { display:block; margin-top:15px; }
  .equipment-card { grid-template-columns:.8fr 1.2fr; } .equipment-copy { padding-left:30px; }
  .credentials-section { padding-top:95px; }
  .credentials-head { grid-template-columns:1fr; }
  .credentials-lead { max-width:650px; }
  .credential-stats { grid-template-columns:repeat(2,1fr); }
  .credential-stats li:nth-child(odd) { padding-left:0; border-left:0; }
  .credential-stats li:nth-child(n+3) { border-top:1px solid #303236; }
  .credentials-body { grid-template-columns:1fr; }
  .credential-tabs { grid-template-columns:repeat(3,1fr); }
  .credential-tab { border-top:0; border-bottom:1px solid #303236; padding-right:12px; }
  .certificate-grid { grid-template-columns:1fr; }
  .certificate-card { min-height:0; }
  .contact-layout { grid-template-columns:1fr; } .contact-title { margin:80px 0; }
  footer { grid-template-columns:1fr auto; } footer p { display:none; }
}
@media (max-width:620px) {
  .brand-copy,.admin-entry { display:none; } .hero-media { object-position:58% center; }
  .brand-logo { width:155px; }
  .video-caption,.project-carousel-caption { left:12px; right:12px; top:12px; bottom:auto; padding:10px 12px; }
  .video-caption h3,.project-carousel-caption h3 { font-size:16px; }
  .video-caption span,.project-carousel-caption span { font-size:8px; }
  .projects-page { padding-top:125px; }
  .hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.7),transparent 90%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 65%); }
  .hero-copy { top:43%; } .hero h1 { line-height:.86; margin-top:20px; }
  .hero-summary { max-width:88%; margin-top:35px; } .hero-meta span { display:none; } .hero-meta { justify-content:flex-end; }
  .hero-meta { bottom:68px; }
  .index-strip { padding:12px 0; }
  .marquee-track { gap:25px; padding-right:25px; }
  .about h2,.rental-heading h2 { font-size:14vw; }
  .business-heading { display:block; padding-bottom:38px; }
  .business-heading p { margin-top:20px; }
  .business-grid { grid-template-columns:1fr; }
  .business-feature { grid-column:auto; height:280px; }
  .business-card { min-height:250px; }
  .credentials-head h2 { font-size:14vw; }
  .credential-stats { margin-top:45px; }
  .credential-stats li,.credential-stats li+li { padding:22px 12px; }
  .credential-stats li:nth-child(odd) { padding-left:0; }
  .credential-stats span { font-size:9px; }
  .credential-tabs { grid-template-columns:1fr; }
  .credential-tab { border-top:1px solid #303236; border-bottom:0; }
  .credential-tab:last-child { border-bottom:1px solid #303236; }
  .direction-grid { grid-template-columns:1fr; }
  .direction-card { min-height:0; }
  .projects-page .project-gallery { height:auto; min-height:260px; }
  .projects-page .project-gallery.count-2,.projects-page .project-gallery.count-3,.projects-page .project-gallery.count-4 { height:520px; }
  .project-grid { grid-template-columns:1fr; gap:65px; }
  .project-card:nth-child(even),.project-card:nth-child(4n+3) { width:100%; margin:0; }
  .project-info { display:block; } .project-info h3,.project-info h2 { max-width:100%; } .project-info p { margin-top:8px; text-align:left; }
  .news-grid { grid-template-columns:1fr; } .stats { grid-template-columns:1fr; }
  .stats>div,.stats>div:not(:first-child) { padding:30px 0; border-right:0; border-bottom:1px solid var(--line); }
  .equipment-card { grid-template-columns:1fr; } .equipment-media { aspect-ratio:1.25/1; }
  .equipment-copy { grid-template-columns:28px 1fr; padding:28px 0; }
  .equipment-copy p,.equipment-copy strong,.equipment-copy a { grid-column:2; }
  .contact-top { display:block; } .contact-top p { width:100%; margin-top:40px; }
  .contact-title { font-size:17vw; line-height:.88; } .inquiry-form { padding:25px 18px; }
  .field-row { grid-template-columns:1fr; gap:0; } .form-submit { display:block; }
  .form-submit p { margin-bottom:18px; } .form-submit button { width:100%; }
  footer { display:block; line-height:2; } footer>div { display:block; }
  footer .icp,footer>a { display:block; margin-top:8px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } .marquee-track,.wall-track { animation:none!important; } }
