:root{
  --ink:#f3f9fc;
  --muted:#adc2ce;
  --pink:#f23d87;
  --pink-soft:#492238;
  --cyan:#21bee8;
  --cyan-soft:#14394a;
  --paper:#081b28;
  --pale:#0b2230;
  --line:rgba(151,205,227,.25);
  --dark:#06141f;
}

html{background:#06141f}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 18% 9%,rgba(25,141,188,.15),transparent 27rem),
    radial-gradient(circle at 84% 31%,rgba(242,61,135,.08),transparent 24rem),
    #071a27;
}
body:before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(85,177,210,.035) 1px,transparent 1px) 0 0/100% 40px,
    linear-gradient(90deg,rgba(85,177,210,.028) 1px,transparent 1px) 0 0/40px 100%;
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}
.pale,.formal-section.pale{background:transparent}
main>section:not(.hero):not(.news):not(.final-actions){border-top:1px solid rgba(118,190,218,.1)}
.eyebrow{color:#51d5f4}
.section-ghost,.ghost-word{color:transparent;-webkit-text-stroke:1px rgba(125,197,221,.09)}
.section-title h2,.section-copy h2,.formal-heading h2{color:#fff}
.section-title>p:last-child,.section-copy>p:not(.eyebrow),.formal-heading>p:last-child{color:var(--muted)}

/* dark glass header */
.site-header,.site-header.is-scrolled{
  color:#fff;
  background:rgba(5,20,31,.88);
  border-color:rgba(113,193,222,.18);
  box-shadow:0 12px 35px rgba(0,0,0,.2);
  backdrop-filter:blur(18px);
}
.brand{color:#fff}
.brand span img{filter:none}
.desktop-nav a{color:#dcecf3;transition:color .2s,text-shadow .2s}
.desktop-nav a:hover{color:#fff;text-shadow:0 0 18px rgba(33,190,232,.85)}
.menu-toggle{color:#fff;background:rgba(13,43,58,.9);box-shadow:none}
.menu-toggle i{background:#fff}
.menu-sheet{color:#fff;background:linear-gradient(145deg,#071a28 0 68%,#103a4c)}
.menu-close{color:#fff;border-color:var(--line);background:#0a2636}
.menu-sheet nav a{border-color:var(--line)}

/* hero */
.hero{
  background:
    linear-gradient(90deg,rgba(5,20,31,.99) 0%,rgba(5,20,31,.88) 32%,rgba(5,20,31,.25) 69%,rgba(5,20,31,.55) 100%),
    radial-gradient(circle at 20% 26%,rgba(28,176,218,.18),transparent 35%),
    #061722;
}
.hero:after{
  content:"";
  position:absolute;
  z-index:5;
  left:0;right:0;bottom:0;
  height:180px;
  pointer-events:none;
  background:linear-gradient(transparent,#071a27);
}
.hero-visual{opacity:.95}
.hero-media-mask{background:#071c29;box-shadow:-30px 30px 90px rgba(0,0,0,.42)}
.hero-slide:after{background:linear-gradient(180deg,transparent,rgba(3,14,22,.82))}
.hero-copy{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.65)}
.hero-copy h1 span:nth-child(2){color:#fff}
.hero-copy h1 span:nth-child(3){color:#ff4d91;text-shadow:0 0 24px rgba(242,61,135,.2)}
.pill-link{box-shadow:0 10px 30px rgba(242,61,135,.28)}
.motion-toggle{color:#d8eef6;border-color:rgba(150,211,232,.5);background:rgba(4,21,32,.72)}
.news{
  color:#dfeef4;
  border-color:rgba(120,193,220,.22);
  background:#071b29;
}

/* about */
.about{
  background:
    radial-gradient(circle at 80% 50%,rgba(32,170,214,.12),transparent 25rem),
    linear-gradient(135deg,#081c29,#0b2533 58%,#081a26);
}
.about:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(118deg,transparent 0 19%,rgba(35,187,229,.5) 19.1% 19.25%,transparent 19.35% 100%);
  opacity:.45;pointer-events:none;
}
.about-body{color:#c5d7df}
.about-main{box-shadow:-22px 24px 65px rgba(0,0,0,.45),0 0 0 1px rgba(109,197,226,.18)}
.about-small,.about-sub{filter:saturate(.7) brightness(.7)}

/* section surfaces */
.operation-data,.mission-process,.mission-report{
  background:
    radial-gradient(circle at 93% 12%,rgba(242,61,135,.08),transparent 22rem),
    linear-gradient(150deg,#081d2b,#0a2432 55%,#071a27);
}
.operation-grid article,.process-list li,.report-list article{
  color:#eef8fb;
  border-color:rgba(84,185,221,.25);
  background:linear-gradient(145deg,rgba(17,53,69,.88),rgba(7,28,42,.96));
  box-shadow:0 16px 38px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);
}
.operation-grid article:nth-child(even),.report-list article:nth-child(even){border-color:rgba(242,61,135,.35)}
.operation-grid strong,.process-list li>span,.report-list small{color:#53d8f4}
.process-list p,.report-list dd,.formal-note{color:#aec5cf}
.process-filter button{color:#c7dbe3;border-color:rgba(95,181,212,.25);background:#0b2a3a}
.process-filter button[aria-pressed=true]{color:#fff;border-color:#28bce1;background:#12627b}

/* service orbit */
.service{
  background:
    radial-gradient(ellipse at 50% 46%,rgba(37,176,219,.14),transparent 31%),
    radial-gradient(circle at 91% 19%,rgba(242,61,135,.12),transparent 13rem),
    linear-gradient(155deg,#081c2a,#0a2636 60%,#071925);
}
.service-window:before{border-color:rgba(62,201,237,.28);box-shadow:0 0 50px rgba(32,178,219,.08)}
.service-window:after{border-color:rgba(242,61,135,.2)}
.service-picture{filter:saturate(.75) brightness(.8);box-shadow:0 20px 50px rgba(0,0,0,.45),0 0 0 1px rgba(120,205,232,.2)}
.service-card[data-position=center] .service-picture{filter:saturate(.82) brightness(.88)}
.service-copy{color:#fff}
.service-copy>p:not(.service-number){color:#b9ced7}
.service-detail-link{color:#e8f6fa;border-color:rgba(100,199,229,.45);background:rgba(9,36,51,.78)}
.carousel-arrow,.works-arrow,.feature-arrow{color:#fff;border-color:rgba(120,201,229,.55);background:rgba(8,34,48,.9)}

/* missions and protocol cards */
.works{
  background:
    linear-gradient(145deg,rgba(33,190,232,.08),transparent 34%),
    linear-gradient(160deg,#071b28,#0b2635 62%,#071924);
}
.work-card{
  color:#f2f8fb;
  border-color:#20bde7;
  background:linear-gradient(160deg,rgba(12,42,56,.98),rgba(6,25,38,.98));
  box-shadow:0 18px 45px rgba(0,0,0,.3);
}
.work-card:nth-child(2n){border-color:#2e9fba}.work-card:nth-child(3n){border-color:#ef4b8b}
.work-picture{filter:saturate(.72) brightness(.78)}
.work-card>span{color:#aec5cf}
.work-detail-link{color:#fff}
.feature{
  background:
    radial-gradient(circle at 14% 75%,rgba(242,61,135,.09),transparent 18rem),
    linear-gradient(145deg,#091f2d,#0b2736 55%,#071a27);
}
.feature-item{
  color:#eef8fb;
  border:1px solid rgba(80,187,223,.2);
  background:linear-gradient(160deg,#0e3142,#081e2d);
  box-shadow:0 18px 44px rgba(0,0,0,.28);
}
.feature-picture{filter:saturate(.72) brightness(.76)}
.feature-copy>p{color:#fff}.feature-copy span{color:#b4cbd4}.feature-copy small{color:rgba(116,206,235,.11)}

/* company and recruitment */
.company{
  background:
    radial-gradient(circle at 85% 18%,rgba(38,183,222,.13),transparent 20rem),
    linear-gradient(150deg,#081d2a,#0a2635 58%,#071924);
}
.company-backdrop span{-webkit-text-stroke-color:rgba(121,203,230,.1)}
.company-facts{color:#e9f5f8}.company-facts>div{border-color:rgba(119,195,220,.2)}
.company-facts dt{color:#70d9f0}.company-facts dd{color:#dbeaf0}
.company-photo{filter:saturate(.68) brightness(.68);box-shadow:0 22px 50px rgba(0,0,0,.38)}
.company-city{
  background:
    linear-gradient(180deg,rgba(5,25,37,.08),rgba(5,25,37,.54)),
    url("../img/cta-bg.jpg") center/cover no-repeat;
}
.company-city>i,.company-city>b,.company-city:after{opacity:.22}
.recruit-section{
  background:
    radial-gradient(circle at 19% 20%,rgba(242,61,135,.09),transparent 18rem),
    linear-gradient(145deg,#071b28,#0b2635 58%,#071925);
}
.recruit-copy{color:#fff}.recruit-copy>p{color:#b9ced7}.recruit-copy h3{color:#2bc2e6}
.recruit-wide-photo{
  background:
    linear-gradient(90deg,rgba(5,22,33,.78),rgba(5,22,33,.18)),
    url("../img/cta-bg.jpg") center/cover no-repeat;
  filter:saturate(.72) brightness(.72);
  box-shadow:0 25px 65px rgba(0,0,0,.42);
}

/* final calls */
.final-actions{background:linear-gradient(150deg,#081e2c,#061722)}
.action-panel{box-shadow:0 18px 48px rgba(0,0,0,.3)}
.contact-panel{background:linear-gradient(135deg,#ec3f84,#b51f62)}
.entry-panel{background:linear-gradient(135deg,#20b9dc,#087c9c)}
.site-footer{background:linear-gradient(155deg,#061722,#030d14)}

@media(max-width:767px){
  .hero{height:720px}
  .hero-visual{top:60px;width:79vw;height:250px}
  .hero-media-mask{max-width:none;width:100%;height:100%;border-radius:0 0 0 62px;clip-path:none}
  .hero-slide{max-width:none;max-height:none}
  .hero-copy{top:325px}
  .hero-copy h1{font-size:34px}
  .hero-art{display:none}
  .news{background:#081e2c}
  .section-title,.section-copy{padding-left:24px;padding-right:24px}
  .operation-grid article{min-height:160px}
  .work-card{border-width:1px}
}

@media(min-width:768px){
  .hero{min-height:900px}
  .hero-visual{top:76px;right:0;width:69vw;height:824px}
  .hero-media-mask{border-radius:0;clip-path:none}
  .hero-slide{max-width:none;max-height:none}
  .hero-copy{z-index:8;top:220px;left:7vw;width:44vw}
  .hero-copy h1{font-size:clamp(48px,5vw,72px);line-height:1.28}
  .hero-copy>p:not(.eyebrow){width:580px;max-width:100%;font-size:14px}
  .about{min-height:900px}
  .about-photos{top:116px;height:650px}
  .about-main{width:55vw;height:650px;border-radius:40px 0 0 40px}
  .about-copy{width:45%;padding-top:170px}
  .service,.company,.recruit-section{min-height:900px}
  .operation-grid article,.process-list li,.report-list article{backdrop-filter:blur(12px)}
  .feature{height:auto;min-height:0;padding-bottom:110px}
  .feature-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;padding:0 7vw;transform:none!important}
  .feature-list article.feature-item{width:auto;height:460px;min-width:0;flex-basis:auto}
  .feature-list article.feature-item{grid-column:span 2}
  .feature-list article.feature-item:nth-child(4){grid-column:2/span 2}
  .feature-list article.feature-item:nth-child(5){grid-column:4/span 2}
  .feature-picture{height:220px}
  .feature-arrow,.feature-counter{display:none}
  .final-actions{padding:70px 7vw;gap:24px}
  .action-panel{width:100%;max-width:none;height:180px}
}

@media(min-width:1200px){
  .site-header{padding-left:2vw;padding-right:1vw}
  .desktop-nav{gap:clamp(10px,1.25vw,22px)}
  .desktop-nav a{font-size:clamp(9px,.72vw,12px)}
  .header-tools{margin-left:18px}
  .feature-list{max-width:1280px;margin:0 auto}
}

/* Continuation: header spacing and protocol tablet grid. */
@media(min-width:768px) and (max-width:1199px){
  .site-header .menu-toggle{display:grid}
  .site-header .header-tools{height:50px}
}
@media(min-width:1200px){
  .desktop-nav{gap:clamp(8px,.9vw,16px)}
  .desktop-nav a{font-size:clamp(9px,.72vw,12px)}
  .header-tools{margin-left:12px}
}
@media(min-width:768px) and (max-width:1199px){
  .feature-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .feature-list article.feature-item{grid-column:span 2}
  .feature-list article.feature-item:nth-child(4){grid-column:span 2}
  .feature-list article.feature-item:nth-child(5){grid-column:2/span 2}
}

/* Header blur creates a containing block: keep the menu viewport-sized. */
.mobile-menu{width:100vw;height:100vh;height:100dvh;bottom:auto}
.menu-sheet{overflow-y:auto}
