@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600&family=Oswald:wght@400;500;600&display=swap');

:root{
  --ink:#0B0C0D;
  --panel:#15171A;
  --paper:#F4F2ED;
  --fog:#8B8D89;
  --fog-dim:#5C5E5A;
  --orange:#E2662E;
  --line:#2A2C2E;

  --serif:'Noto Serif TC', serif;
  --cond:'Oswald', sans-serif;
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--serif);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
a:visited{color:inherit;}
a:focus-visible{outline:2px solid var(--orange);outline-offset:6px;}

.page-frame{
  height:100vh;height:100dvh;
  display:flex;flex-direction:column;
  overflow:hidden;
  position:relative;
}

/* ---------- HOMEPAGE BACKGROUND VIDEO ---------- */
.bg-video{
  position:fixed;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;
}
.bg-overlay{
  position:fixed;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(11,12,13,.6), rgba(11,12,13,.78));
}

/* ---------- CORNER NAV (homepage top-left categories) ---------- */
.corner-nav{
  position:absolute;top:32px;left:44px;z-index:5;
  display:flex;flex-direction:column;gap:11px;
}
.corner-nav .cat-item{
  font-family:var(--serif);font-weight:500;font-size:13px;
  letter-spacing:.02em;color:var(--fog);
  transition:color .3s ease, opacity .3s ease;
}
.corner-nav .cat-item.active{color:var(--orange);}
.corner-nav.hovering .cat-item:not(.active){opacity:.4;}
@media (hover:none), (pointer:coarse){
  .corner-nav.hovering .cat-item:not(.active){opacity:1;}
}
@media (max-width:600px){
  .corner-nav{top:20px;left:20px;gap:8px;}
  .corner-nav .cat-item{font-size:11px;}
}

/* ---------- TOP BAR ---------- */
.topbar{
  flex:0 0 auto;
  position:relative;z-index:3;
  display:flex;align-items:center;justify-content:center;
  padding:26px 44px 4px;
}
.brand{
  display:flex;align-items:center;justify-content:center;
}
.brand-logo{
  height:55px;width:auto;display:block;
}
@media (max-width:600px){
  .brand-logo{height:38px;}
}
.contact-link{
  position:absolute;right:44px;top:50%;transform:translateY(-50%);
  font-family:var(--cond);font-size:13px;letter-spacing:.16em;
  color:var(--fog);text-transform:uppercase;transition:color .25s;
}
.contact-link:hover{color:var(--orange);}

@media (max-width:600px){
  .topbar{padding:18px 24px 2px;}
  .contact-link{right:24px;}
}

/* ---------- STAGE ---------- */
.stage{
  flex:1 1 auto;
  min-height:0;
  display:flex;flex-direction:column;
  padding:8px 44px;
  position:relative;
}
@media (max-width:600px){
  .stage{padding:6px 24px;}
}

.hero-top{
  flex:0.55;min-height:0;
  display:flex;align-items:center;justify-content:center;
}
.hero-bottom{
  flex:1.6;min-height:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding-bottom:clamp(10px,3vh,28px);
}

.intro{
  position:relative;z-index:2;
  max-width:480px;margin:0 auto;
  text-align:center;
}
.intro .eyebrow{
  font-family:var(--cond);font-size:11px;letter-spacing:.3em;color:var(--orange);
  text-transform:uppercase;display:block;margin-bottom:10px;
}
.intro p{
  font-family:var(--cond);font-weight:300;font-size:13.5px;line-height:1.7;
  color:var(--fog);margin:0;letter-spacing:.02em;
}

.cat-list{
  position:relative;z-index:2;
  width:100%;
  display:flex;flex-direction:column;align-items:center;
  gap:clamp(2px,1.1vh,12px);
}

.cat-item{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:clamp(1px,0.6vh,8px) 0;
  transition:opacity .35s ease;
}
.cat-list.hovering .cat-item:not(.active){opacity:.28;}

.cat-cn{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(8.5px,1.5vw,17px);
  line-height:1.05;letter-spacing:.02em;
  transition:color .3s ease;
}
.cat-item.active .cat-cn{color:var(--orange);}
.cat-en{
  font-family:var(--cond);font-size:11px;letter-spacing:.22em;
  color:var(--fog-dim);text-transform:uppercase;
  display:none;
}
@media (min-width:640px){
  .cat-en{display:inline;}
}

/* ---------- HOVER PREVIEW ---------- */
.preview{
  position:fixed;inset:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .5s ease;
  z-index:1;
  overflow:hidden;
}
.preview.show{opacity:1;}
.preview img,
.preview video{
  width:100%;height:100%;object-fit:cover;
}
.preview video{display:none;}
.preview::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,12,13,.55), rgba(11,12,13,.8));
}
@media (hover:none), (pointer:coarse){
  .preview{display:none;}
  .cat-list.hovering .cat-item:not(.active){opacity:1;}
}

footer.site{
  position:relative;z-index:2;
  padding:26px 44px 24px;border-top:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.site-links{
  display:flex;align-items:center;justify-content:center;
  gap:16px;flex-wrap:wrap;
}
.site-links a{
  font-family:var(--cond);font-weight:300;font-size:12px;letter-spacing:.08em;
  color:var(--fog);text-transform:uppercase;transition:color .25s;
}
.site-links a:hover{color:var(--orange);}
.site-bottom{
  width:100%;max-width:1240px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
footer.site span{font-family:var(--cond);font-size:11px;letter-spacing:.1em;color:var(--fog-dim);}

/* ---------- HOMEPAGE CONTACT BAR ---------- */
.contact-bar{
  flex:0 0 auto;
  position:relative;z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:clamp(10px,2.4vh,22px) 44px clamp(14px,3vh,26px);
  border-top:1px solid var(--line);
}
.contact-row{
  display:flex;align-items:center;justify-content:center;
  gap:16px;flex-wrap:wrap;
  max-width:640px;
}
.contact-row > a{
  font-family:var(--cond);font-weight:300;
  font-size:12px;letter-spacing:.08em;
  color:var(--fog);text-transform:uppercase;
  transition:color .25s;
}
.contact-row > a:hover{color:var(--orange);}
.contact-label{
  font-family:var(--cond);font-weight:300;
  font-size:12px;letter-spacing:.02em;
  color:var(--fog);
}
.contact-divider{
  font-family:var(--cond);font-size:13px;color:var(--fog-dim);
}
.social-row{
  display:flex;align-items:center;gap:16px;
}
.social-row a{
  color:var(--fog);transition:color .25s;
  display:flex;align-items:center;justify-content:center;
}
.social-row a:hover{color:var(--orange);}
.social-row svg{height:17px;width:auto;}
.contact-bar .copyright{
  font-family:var(--cond);font-size:10.5px;letter-spacing:.1em;color:var(--fog-dim);
}
@media (max-width:600px){
  .contact-bar{padding:10px 24px 18px;}
  .contact-row{gap:12px;}
}

/* ---------- TAB NAV ---------- */
.tab-row{
  padding:30px 44px 0;
}
.tabs{
  display:flex;flex-wrap:wrap;align-items:baseline;
  gap:clamp(18px,3vw,40px);
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
}
.tab{
  background:none;border:none;padding:0;margin:0;cursor:pointer;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(13px,1.6vw,18px);
  letter-spacing:.02em;
  color:var(--fog);
  transition:color .25s;
}
.tab:hover{color:var(--paper);}
.tab.active{color:var(--orange);}

.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel .poster-grid{padding-top:28px;}

/* ---------- STACKED CATEGORY SECTIONS ---------- */
.cat-sections{padding:30px 0 0;}
.cat-section-head{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;
  padding:0 44px 18px;
  border-bottom:1px solid var(--line);
}
.cat-section-head .cn{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(13px,1.6vw,18px);
  letter-spacing:.02em;color:var(--orange);
}
.cat-section-head .en{
  font-family:var(--cond);font-size:11px;letter-spacing:.16em;
  color:var(--fog-dim);text-transform:uppercase;
}
.cat-section .poster-grid,
.cat-section .video-grid{padding-top:28px;}
.cat-section + .cat-section{margin-top:10px;}
@media (max-width:600px){
  .cat-sections{padding:22px 0 0;}
  .cat-section-head{padding:0 24px 16px;}
}

.empty-note{
  padding:60px 44px 90px;text-align:center;
  font-family:var(--cond);font-size:12.5px;letter-spacing:.16em;color:var(--fog-dim);
  text-transform:uppercase;
}
@media (max-width:600px){
  .tab-row{padding:22px 24px 0;}
}

/* ---------- CATEGORY PAGE HEAD ---------- */
.page-head{
  padding:34px 44px 50px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.page-cn{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(17px,2.6vw,28px);
  line-height:1.1;letter-spacing:.02em;
}
.page-en{
  font-family:var(--cond);font-size:12px;letter-spacing:.22em;
  color:var(--fog-dim);text-transform:uppercase;
}
.back-link{
  position:fixed;top:34px;left:44px;z-index:41;
  font-family:var(--cond);font-size:12px;letter-spacing:.14em;
  color:var(--fog);text-transform:uppercase;transition:color .25s;
}
.back-link:hover{color:var(--orange);}
@media (max-width:600px){
  .page-head{padding:24px 24px 34px;}
  .back-link{left:24px;top:22px;}
}

/* ---------- POSTER GRID ---------- */
.poster-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:22px;
  max-width:1280px;margin:0 auto;
  padding:0 44px 90px;
}
.poster-cell{
  width:calc((100% - 5*22px)/6);
  aspect-ratio:2/3;overflow:hidden;position:relative;
  background:var(--panel);
}
.poster-cell img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.poster-cell:hover img{
  transform:scale(1.06);
}
@media (max-width:1000px){
  .poster-grid{gap:18px;padding:0 32px 70px;}
  .poster-cell{width:calc((100% - 2*18px)/3);}
}
@media (max-width:640px){
  .poster-grid{gap:14px;padding:0 20px 50px;}
  .poster-cell{width:calc((100% - 14px)/2);}
}

/* ---------- VIDEO GRID ---------- */
.video-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:28px;
  max-width:1280px;margin:0 auto;
  padding:0 44px 90px;
}
.video-card{
  width:calc((100% - 3*28px)/4);
  display:block;
}
.video-thumb{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  background:var(--panel);cursor:pointer;
}

/* ---------- VIDEO LIGHTBOX MODAL ---------- */
.video-modal{
  position:fixed;inset:0;z-index:60;
  display:none;align-items:center;justify-content:center;
  background:rgba(11,12,13,.9);
  padding:24px;
}
.video-modal.show{display:flex;}
.video-modal-inner{
  position:relative;
  width:50vw;max-width:900px;min-width:300px;
  aspect-ratio:16/9;
  background:#000;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.video-modal-inner.auto-size{
  aspect-ratio:auto;width:auto;height:auto;
  max-width:50vw;max-height:82vh;
  background:transparent;box-shadow:none;
}
.video-modal-inner iframe{width:100%;height:100%;border:0;display:block;}
.video-modal-close{
  position:absolute;top:-40px;right:0;
  background:none;border:none;cursor:pointer;padding:4px 0;
  color:var(--paper);font-family:var(--cond);font-size:12.5px;letter-spacing:.1em;
  display:flex;align-items:center;gap:8px;
  text-transform:uppercase;transition:color .25s;
}
.video-modal-close:hover{color:var(--orange);}
@media (max-width:760px){
  .video-modal-inner{width:88vw;}
  .video-modal-inner.auto-size{max-width:88vw;}
  .video-modal-close{top:-36px;}
}
.video-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.video-thumb iframe{width:100%;height:100%;border:0;display:block;}
.play-btn{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(11,12,13,.28);transition:background .25s;
}
.play-btn svg{width:48px;height:48px;}
.video-thumb:hover .play-btn{background:rgba(11,12,13,.44);}
.video-meta{padding:12px 1px 0;}
.video-channel{
  font-family:var(--cond);font-size:10.5px;letter-spacing:.1em;
  color:var(--fog-dim);text-transform:uppercase;
}
.video-title{
  font-family:var(--serif);font-weight:500;font-size:14px;line-height:1.4;
  color:var(--paper);margin-top:4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.ext-thumb{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, var(--panel), #1c1e22);
  position:relative;overflow:hidden;
}
.ext-thumb.embed-instagram{
  background:
    radial-gradient(circle at 15% 15%, rgba(255,214,90,.9), transparent 42%),
    radial-gradient(circle at 55% 50%, rgba(253,76,89,.85), transparent 58%),
    radial-gradient(circle at 90% 90%, rgba(131,58,180,.95), transparent 62%),
    linear-gradient(135deg, #5a3a9c, #833ab4 35%, #c13584 60%, #e1306c 80%, #fd1d1d);
}
.ext-thumb.embed-facebook{
  background:
    radial-gradient(circle at 20% 20%, rgba(90,168,255,.9), transparent 55%),
    linear-gradient(135deg, #1877F2, #0a4fb0);
}
.ext-thumb .platform-icon{
  position:absolute;top:14px;left:14px;z-index:2;
  width:26px;height:26px;color:#fff;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));
}
.ext-thumb .platform-icon svg{width:100%;height:100%;display:block;}
.ext-thumb .platform-label{
  position:absolute;top:18px;left:48px;z-index:2;
  font-family:var(--cond);font-size:10px;letter-spacing:.14em;
  color:rgba(255,255,255,.9);text-transform:uppercase;
  text-shadow:0 1px 3px rgba(0,0,0,.35);
}
.ext-thumb .play-btn svg{width:44px;height:44px;}
.ext-thumb .play-btn svg circle{fill:rgba(11,12,13,.32);}
.ext-thumb .play-btn{background:transparent;}
.ext-thumb:hover .play-btn svg circle{fill:rgba(11,12,13,.5);}
@media (max-width:1000px){
  .video-grid{gap:20px;padding:0 32px 70px;}
  .video-card{width:calc((100% - 20px)/2);}
}
@media (max-width:640px){
  .video-grid{gap:22px;padding:0 20px 50px;}
  .video-card{width:100%;}
}


.video-watch-link{
  display:inline-block;margin-top:6px;
  font-family:var(--cond);font-size:10.5px;letter-spacing:.08em;
  color:var(--fog-dim);text-decoration:none;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s;
}
.video-watch-link:hover{color:var(--orange);border-color:var(--orange);}

/* ---------- CONTACT PAGE ---------- */
.contact-page-grid{
  display:flex;flex-wrap:wrap;gap:36px;
  max-width:920px;margin:0 auto;padding:0 44px 90px;
}
.contact-info-col{flex:1 1 220px;min-width:220px;}
.contact-form-col{flex:1.4 1 320px;min-width:280px;}

.contact-info-item{margin-bottom:16px;}
.contact-info-label{
  font-family:var(--cond);font-size:11px;letter-spacing:.18em;color:var(--fog-dim);
  text-transform:uppercase;margin-bottom:8px;display:block;
}
.contact-info-value{
  font-family:var(--serif);font-size:15px;color:var(--paper);
}
a.contact-info-value{transition:color .25s;}
a.contact-info-value:hover{color:var(--orange);}
.contact-badge{
  display:inline-flex;align-items:center;gap:16px;
  color:var(--paper);text-decoration:none;
}
.badge-circle{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:#242527;
  display:flex;align-items:center;justify-content:center;
  color:var(--paper);
  transition:background .25s;
}
.badge-circle svg{width:23px;height:23px;}
.contact-badge:hover .badge-circle{background:var(--orange);color:var(--ink);}
.badge-label{
  font-family:var(--serif);font-size:16px;letter-spacing:.02em;
  transition:color .25s;
}
.contact-badge:hover .badge-label{color:var(--orange);}

.contact-form .field{margin-bottom:22px;}
.contact-form label{
  display:block;font-family:var(--cond);font-size:10.5px;letter-spacing:.14em;
  color:var(--fog-dim);text-transform:uppercase;margin-bottom:8px;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--paper);font-family:var(--cond);font-size:14px;font-weight:300;
  padding:8px 2px;outline:none;transition:border-color .25s;
  -webkit-appearance:none;appearance:none;border-radius:0;
}
.contact-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B8D89' stroke-width='1.5'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 2px center;background-size:14px;
}
.contact-form select option{background:var(--panel);color:var(--paper);}
.contact-form textarea{resize:vertical;min-height:110px;line-height:1.7;}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{border-color:var(--orange);}
.contact-form .field-row{display:flex;gap:20px;flex-wrap:wrap;}
.contact-form .field-row .field{flex:1;min-width:160px;}

.form-submit{
  background:var(--orange);color:var(--ink);border:none;cursor:pointer;
  font-family:var(--cond);font-weight:600;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;padding:13px 34px;transition:background .25s;
}
.form-submit:hover{background:#F08654;}
.form-note{
  font-family:var(--cond);font-size:11px;color:var(--fog-dim);margin-top:14px;
  line-height:1.7;
}

/* ---------- QUOTE TYPE SELECTOR ---------- */
.quote-type-grid{
  display:flex;flex-wrap:wrap;gap:12px;
  margin:0 0 26px;
}
.quote-type-btn{
  flex:1 1 calc(50% - 6px);min-width:150px;
  border:1px solid var(--line);background:transparent;
  padding:14px 16px;cursor:pointer;text-align:left;transition:all .25s;
}
.quote-type-btn:hover{border-color:var(--orange);}
.quote-type-btn.active{border-color:var(--orange);background:rgba(226,102,46,.08);}
.quote-type-btn .qt-cn{
  display:block;font-family:var(--serif);font-weight:500;font-size:15px;color:var(--paper);
}
.quote-type-btn.active .qt-cn{color:var(--orange);}
.quote-type-btn .qt-en{
  display:block;font-family:var(--cond);font-size:10px;letter-spacing:.12em;
  color:var(--fog-dim);text-transform:uppercase;margin-top:5px;
}

.quote-subfields{display:none;}
.quote-subfields.active{display:block;}

.airspace-box{
  border:1px solid var(--line);padding:22px 24px;margin:6px 0 0;
  display:flex;flex-direction:column;gap:12px;
}
.airspace-box .aw-title{
  font-family:var(--cond);font-size:11px;letter-spacing:.16em;color:var(--orange);
  text-transform:uppercase;
}
.airspace-box p{font-family:var(--cond);font-size:12.5px;line-height:1.85;color:var(--fog);margin:0;}
.airspace-box .btn-outline{
  align-self:flex-start;
  font-family:var(--cond);font-size:12px;letter-spacing:.08em;color:var(--paper);
  border:1px solid var(--fog-dim);padding:9px 18px;text-transform:uppercase;
  transition:all .25s;text-decoration:none;
}
.airspace-box .btn-outline:hover{border-color:var(--orange);color:var(--orange);}
@media (max-width:480px){
  .quote-type-btn{flex:1 1 100%;}
}
.content-body{
  max-width:900px;margin:0 auto;padding:0 44px 30px;
}
.content-body p{
  font-family:var(--cond);font-weight:300;font-size:14.5px;line-height:1.9;
  color:var(--fog);margin:0 0 18px;letter-spacing:.02em;
}
.content-body p:last-child{margin-bottom:0;}
.section-divider{
  max-width:900px;margin:36px auto;padding:0 44px;
}
.section-divider hr{border:none;border-top:1px solid var(--line);margin:0;}
.section-label{
  max-width:900px;margin:0 auto 20px;padding:0 44px;
  font-family:var(--cond);font-size:11px;letter-spacing:.28em;color:var(--orange);
  text-transform:uppercase;
}

/* ---------- PHOTO GRID (about us crew photos) ---------- */
.photo-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:16px;
  max-width:1100px;margin:0 auto;padding:0 44px 60px;
}
.photo-grid .photo-cell{
  width:calc((100% - 3*16px)/4);
  aspect-ratio:1/1;overflow:hidden;background:var(--panel);
}
.photo-grid .photo-cell img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:800px){
  .photo-grid .photo-cell{width:calc((100% - 16px)/2);}
}

/* ---------- CLIENT WALL ---------- */
.client-wall{
  display:flex;flex-wrap:wrap;gap:12px 26px;
  max-width:900px;margin:0 auto;padding:0 44px 70px;
}
.client-wall span{
  font-family:var(--cond);font-size:13.5px;letter-spacing:.04em;color:var(--fog);
}

/* ---------- SERVICE LIST ---------- */
.service-list{
  max-width:700px;margin:0 auto;padding:0 44px 40px;
  display:flex;flex-direction:column;
}
.service-item{
  display:flex;align-items:baseline;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--line);
}
.service-item:first-child{border-top:1px solid var(--line);}
.service-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  transform:translateY(-2px);
}
.service-cn{
  font-family:var(--serif);font-weight:500;font-size:16px;letter-spacing:.02em;color:var(--paper);
}
.service-en{
  font-family:var(--cond);font-size:11px;letter-spacing:.14em;color:var(--fog-dim);
  text-transform:uppercase;margin-left:auto;padding-left:16px;text-align:right;
}
.extra-service-list{
  max-width:700px;margin:0 auto;padding:0 44px 70px;
  display:flex;flex-direction:column;gap:10px;
}
.extra-service-list div{
  font-family:var(--cond);font-size:13px;color:var(--fog);letter-spacing:.02em;
  padding-left:18px;position:relative;
}
.extra-service-list div::before{content:'—';position:absolute;left:0;color:var(--orange);}

/* ---------- EQUIPMENT GRID ---------- */
.equip-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:68px;
  max-width:1100px;margin:0 auto;padding:0 44px 70px;
}
.equip-card{
  width:calc((100% - 68px)/2);
}
.equip-photo{
  width:90%;margin:0 auto 16px;
  aspect-ratio:16/10;overflow:hidden;background:var(--panel);
}
.equip-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.equip-name{
  width:90%;margin:0 auto 8px;
  font-family:var(--cond);font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--paper);
}
.equip-specs{
  width:90%;margin:0 auto;
  font-family:'SF Mono','Consolas','Menlo',monospace;font-size:12.5px;line-height:1.9;color:var(--fog);
}
@media (max-width:760px){
  .equip-card{width:100%;}
}

/* ---------- BIO / PILOT PROFILE ---------- */
.bio-block{
  max-width:900px;margin:0 auto;padding:0 44px 26px;
}
.bio-name{
  font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:.03em;color:var(--paper);
  margin-bottom:6px;
}
.bio-title{
  font-family:var(--cond);font-size:11px;letter-spacing:.18em;color:var(--fog-dim);
  text-transform:uppercase;margin-bottom:20px;display:block;
}
.award-groups{
  max-width:900px;margin:0 auto;padding:0 44px 70px;
  display:flex;flex-direction:column;gap:24px;
}
.award-year{
  font-family:var(--cond);font-size:12px;letter-spacing:.16em;color:var(--orange);
  text-transform:uppercase;margin-bottom:10px;
}
.award-list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:7px;
}
.award-list li{
  font-family:var(--cond);font-size:13px;color:var(--fog);letter-spacing:.01em;
  padding-left:16px;position:relative;line-height:1.6;
}
.award-list li::before{content:'—';position:absolute;left:0;color:var(--fog-dim);}


/* ---------- SUB-CATEGORY LIST ---------- */
.sub-list{
  width:100%;max-width:640px;margin:0 auto;
  display:flex;flex-direction:column;align-items:flex-start;
  gap:clamp(6px,1.8vh,18px);
}
.sub-item{
  display:flex;align-items:baseline;gap:18px;
  padding:clamp(4px,1vh,10px) 0;
  transition:opacity .35s ease, color .3s ease;
}
.sub-list.hovering .sub-item:not(.active){opacity:.28;}
.sub-item.active .sub-cn{color:var(--orange);}
.sub-cn{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(8.5px,1.5vw,17px);
  line-height:1.05;letter-spacing:.02em;
}
.sub-en{
  font-family:var(--cond);font-size:11px;letter-spacing:.22em;
  color:var(--fog-dim);text-transform:uppercase;
}
