.page-head{position:relative;background:var(--navy-900);color:#fff;min-height:420px;display:flex;align-items:flex-end;overflow:hidden}
.page-head img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.page-head .dim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,28,43,.96) 0%,rgba(11,28,43,.7) 50%,rgba(11,28,43,.3) 100%),linear-gradient(0deg,rgba(11,28,43,.9),rgba(11,28,43,0) 60%)}
.page-head .container{position:relative;padding-top:140px;padding-bottom:56px}
.page-head h1{margin-bottom:14px}
.page-head p{color:var(--w68);max-width:600px}
.crumb{display:flex;gap:8px;font-size:17px;color:var(--w52);margin-bottom:26px}
.crumb a:hover{color:#fff}
.subnav{position:sticky;top:76px;z-index:40;background:#fff;border-bottom:1px solid var(--border)}
.subnav ul{display:flex;gap:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.subnav ul::-webkit-scrollbar{display:none;width:0;height:0}
.subnav a{display:block;padding:20px 24px;font-size:17px;font-weight:700;color:var(--t500);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.subnav a:hover,.subnav a.on{color:var(--t900);border-color:var(--blue)}
.sec-title{margin-bottom:48px}
.sec-title .eyebrow{color:var(--blue)}
.sec-title p{color:var(--t600);margin-top:14px;max-width:640px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.two img{border-radius:18px;width:100%}
.lead{font-size:26px;font-weight:700;line-height:1.5;letter-spacing:-1.17px;color:var(--blue);margin-bottom:28px}
.prose p{color:var(--t600);margin-bottom:18px;font-size:18px}
.prose p.pt{color:var(--blue);font-weight:700}
.sign{margin-top:36px;font-size:16px;color:var(--t500);font-weight:500}
.sign strong{display:block;font-size:26px;color:var(--t900);letter-spacing:-1.17px;margin-top:6px}

.timeline{position:relative;padding-left:0}
.timeline::before{content:"";position:absolute;left:140px;top:0;bottom:0;width:1px;background:var(--border)}
.tl{display:grid;grid-template-columns:140px 1fr;gap:0;padding:0 0 44px}
.tl .y{font-size:46px;font-weight:700;letter-spacing:-2.53px;line-height:1;color:var(--t900);position:relative}
.tl .y.hl{color:var(--blue)}
.tl .y::after{content:"";position:absolute;right:-5px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #fff}
.tl ul{padding-left:48px;padding-top:6px}
.tl li{font-size:18px;color:var(--t600);padding:4px 0;padding-left:14px;position:relative}
.tl li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--border)}
.tl li b{color:var(--t900);font-weight:700}
.tl li .pat{display:inline-block;font-size:16px;font-weight:700;color:var(--blue);background:var(--tint);padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle}

.site-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.site{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden}
.site img{width:100%;aspect-ratio:4/3;object-fit:cover}
.site .in{padding:22px 22px 24px}
.site .tag{font-size:16px;font-weight:800;color:var(--blue);letter-spacing:1px;text-transform:uppercase}
.site strong{display:block;font-size:21px;font-weight:700;margin:4px 0 6px}
.site span{display:block;font-size:17px;color:var(--t600)}
.site em{display:block;font-style:normal;font-size:17px;color:var(--t500);margin-top:10px}

.org{text-align:center}
.org .ceo{display:inline-block;background:var(--navy-700);color:#fff;font-weight:700;font-size:18px;padding:14px 40px;border-radius:999px}
.org .ceo small{display:block;font-size:16px;color:var(--w68);font-weight:400}
.org .line{width:1px;height:36px;background:var(--border);margin:0 auto}
.org .branch{display:flex;justify-content:center;gap:16px;margin-bottom:36px}
.org .branch div{border:1px solid var(--border);border-radius:10px;padding:12px 22px;font-size:16px;font-weight:700}
.org .branch div span{display:block;font-size:16px;font-weight:400;color:var(--t500)}
.org .teams{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;position:relative;padding-top:24px}
.org .teams::before{content:"";position:absolute;left:7%;right:7%;top:0;height:1px;background:var(--border)}
.org .teams div{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 8px;font-size:17px;font-weight:700}
.org .teams div span{display:block;font-size:16px;color:var(--t500);font-weight:400;margin-top:4px}
.hc{display:flex;gap:12px;margin-top:40px;justify-content:center}
.hc li{border:1px solid var(--border);border-radius:10px;padding:14px 22px;font-size:17px;color:var(--t600)}
.hc li b{display:block;font-size:24px;color:var(--t900)}

.cert-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.certc{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden;cursor:pointer;transition:transform .22s,box-shadow .22s}
.certc:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(16,36,58,.08)}
.certc .th{background:var(--surface-alt);padding:24px;height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.certc .th img{max-height:100%;width:auto;box-shadow:0 8px 24px rgba(16,36,58,.12)}
.certc .in{padding:22px 24px}
.certc strong{display:block;font-size:21px;margin-bottom:4px}
.certc span{display:block;font-size:17px;color:var(--t600)}
.certc em{display:block;font-style:normal;font-size:17px;color:var(--t500);margin-top:8px}

.compare{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.compare>div{border:1px solid var(--border);border-radius:18px;padding:32px;background:#fff}
.compare>div.hs{border-color:var(--blue);background:var(--tint)}
.compare h3{margin-bottom:8px}
.compare p{font-size:16px;color:var(--t600);margin-bottom:18px;font-weight:500}
.compare img{border-radius:12px;width:100%}
.steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.steps span{font-size:16px;font-weight:700;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--border)}
.hs .steps span{border-color:var(--blue);color:var(--blue)}
.tt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tt{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff}
.tt img{width:100%;aspect-ratio:16/9;object-fit:cover}
.tt .in{padding:24px}
.tt .no{font-size:16px;font-weight:800;color:var(--blue);letter-spacing:1px}
.tt strong{display:block;font-size:21px;margin:6px 0 10px}
.tt p{font-size:17px;color:var(--t600);margin-bottom:14px}
.tt ul{font-size:16px;color:var(--t600);display:grid;gap:4px;font-weight:500}
.tt ul li{padding-left:12px;position:relative}
.tt ul li::before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:var(--blue)}
.tt .app{border-top:1px solid var(--border)}
.tt .app img{aspect-ratio:3/1;object-fit:cover}
.proj-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.proj{background:#fff;border:1px solid var(--border);border-radius:15px;padding:24px}
.proj .no{font-size:16px;font-weight:800;color:var(--blue);letter-spacing:1px}
.proj strong{display:block;font-size:18px;margin:8px 0 12px;line-height:1.45}
.proj dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:16px;font-weight:500}
.proj dt{color:var(--t500)}.proj dd{color:var(--t600)}
.proj .prg{font-size:16px;color:var(--t500);border-top:1px solid var(--border);margin-top:14px;padding-top:10px}
.eq-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.eq{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.eq img{width:100%;aspect-ratio:4/3;object-fit:cover}
.eq span{display:block;font-size:16px;font-weight:700;padding:12px 12px;text-align:center}

.ptabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.ptabs a{padding:10px 18px;border-radius:999px;border:1px solid var(--border);font-size:17px;font-weight:700;color:var(--t600)}
.ptabs a.on,.ptabs a:hover{background:var(--navy-700);color:#fff;border-color:var(--navy-700)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pc{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:transform .22s,box-shadow .22s;display:block}
.pc:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(16,36,58,.08)}
.pc .th{aspect-ratio:4/3;background:var(--surface-alt);overflow:hidden}
.pc .th img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .45s}
.pc:hover .th img{transform:scale(1.035)}
.pc .in{padding:24px}
.pc .cat{font-size:16px;font-weight:800;color:var(--blue);letter-spacing:1px;text-transform:uppercase}
.pc strong{display:block;font-size:26px;letter-spacing:-1.17px;margin:6px 0 8px}
.pc p{font-size:16px;color:var(--t600);font-weight:500}
.pc .new{display:inline-block;font-size:16px;font-weight:700;background:var(--green);color:#fff;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}
.pd{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}
.gal .main{aspect-ratio:4/3;border-radius:18px;background:var(--surface-alt);overflow:hidden;margin-bottom:12px}
.gal .main img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.gal .thumbs{display:flex;gap:10px}
.gal .thumbs img{width:88px;height:66px;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer;background:var(--surface-alt);mix-blend-mode:multiply}
.gal .thumbs img.on{border-color:var(--blue)}
.pinfo .cat{font-size:17px;font-weight:800;letter-spacing:2.4px;color:var(--blue);text-transform:uppercase}
.pinfo h1{margin:12px 0 18px}
.pinfo .def{font-size:19px;color:var(--t600);margin-bottom:28px}
.spec{display:grid;grid-template-columns:120px 1fr;gap:12px 16px;font-size:16px;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-weight:500}
.spec dt{color:var(--t500);font-weight:700}.spec dd{color:var(--t900)}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{font-size:16px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--tint);color:var(--navy-700)}
.pinfo .btns{display:flex;gap:10px;margin-top:28px}
.note{font-size:16px;color:var(--t500);margin-top:16px;font-weight:500}

.axis{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:64px 0;border-bottom:1px solid var(--border)}
.axis:last-child{border:0}
.axis:nth-child(even) .pic{order:2}
.axis .pic{border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:var(--navy-950)}
.axis .pic img{width:100%;height:100%;object-fit:cover}
.axis .no{font-size:17px;font-weight:800;letter-spacing:2.4px;color:var(--green)}
.axis h3{margin:10px 0 16px}
.axis p{color:var(--t600);font-size:18px;margin-bottom:20px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:17px;font-weight:700;padding:7px 14px;border-radius:999px;border:1px solid var(--border);color:var(--t600)}
.strategy{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.strategy>div{border-radius:18px;padding:36px}
.strategy .a{background:var(--surface-alt)}
.strategy .b{background:var(--navy-700);color:#fff}
.strategy h3{margin-bottom:14px}
.strategy .a h3{color:var(--blue)}.strategy .b h3{color:var(--green)}
.strategy p,.strategy li{font-size:17px;line-height:1.7}
.strategy .a p{color:var(--t600)}.strategy .b li{color:var(--w68);padding:6px 0;border-bottom:1px solid var(--w10)}
.strategy .b li b{color:#fff}
.app-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.app{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden}
.app img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:12px}
.app .in{padding:18px 18px 20px}
.app .aec{font-size:16px;font-weight:800;color:var(--blue);letter-spacing:1px}
.app strong{display:block;font-size:16px;margin:4px 0 8px;line-height:1.35;font-weight:500}
.app span{display:block;font-size:16px;color:var(--t500);line-height:1.6}
.logo-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.logo-grid div{background:#fff;border:1px solid var(--border);border-radius:12px;height:90px;display:flex;align-items:center;justify-content:center;padding:18px}
.logo-grid img{max-height:40px;max-width:100%;width:auto;filter:grayscale(1);opacity:.6;transition:.2s}
.logo-grid div:hover img{filter:none;opacity:1}
.fa-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fa-grid .card{aspect-ratio:16/10}
.fa-grid .card.wide{grid-column:span 2;aspect-ratio:3/1}
.fa-grid .card .txt span{font-size:18px;font-weight:700;color:#fff}
.fa-grid .card .txt em{display:block;font-style:normal;font-size:16px;font-weight:800;color:var(--green);letter-spacing:1px;margin-bottom:4px}

.form-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-size:17px;font-weight:700;margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;height:50px;border:1px solid var(--border);border-radius:0;padding:0 16px;font:inherit;font-size:17px;color:var(--t900);background:#fff;outline:none;transition:border-color .2s}
.form textarea{height:160px;padding:14px 16px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue)}
.form .full{grid-column:span 2}
.form .agree{font-size:17px;color:var(--t600);display:flex;gap:8px;align-items:center}
.form .agree input{width:16px;height:16px}
.ccard{background:var(--navy-700);color:#fff;border-radius:18px;padding:36px}
.ccard h3{margin-bottom:6px}
.ccard .tel{display:block;font-size:29px;font-weight:700;margin:6px 0 16px}
.ccard li{font-size:16px;color:var(--w68);padding:6px 0;border-bottom:1px solid var(--w10);font-weight:500}
.ccard li b{color:#fff}
.map-tabs{display:flex;gap:8px;margin-bottom:24px}
.map-tabs a{padding:10px 18px;border-radius:999px;border:1px solid var(--border);font-size:17px;font-weight:700;color:var(--t600)}
.map-tabs a.on{background:var(--navy-700);color:#fff;border-color:var(--navy-700)}
.map{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.map .ph{border-radius:18px;overflow:hidden;aspect-ratio:16/10;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;color:var(--t500);font-size:17px}
.map .ph img{width:100%;height:100%;object-fit:cover}
.map .info{border:1px solid var(--border);border-radius:18px;padding:32px}
.map .info h3{margin-bottom:12px}
.map .info li{font-size:17px;color:var(--t600);padding:6px 0}
.map .info li b{color:var(--t900);display:inline-block;width:56px}

@media (max-width:1024px){
  .two,.pd,.form-grid,.map,.compare,.strategy,.axis{grid-template-columns:1fr}
  .axis:nth-child(even) .pic{order:0}
  .site-grid,.proj-grid,.app-grid{grid-template-columns:1fr 1fr}
  .tt-grid,.cert-page-grid,.pgrid{grid-template-columns:1fr 1fr}
  .eq-grid{grid-template-columns:repeat(3,1fr)}
  .logo-grid{grid-template-columns:repeat(4,1fr)}
  .org .teams{grid-template-columns:repeat(4,1fr)}
  .subnav{top:76px}
}
@media (max-width:768px){
  .page-head{min-height:320px}.page-head .container{padding-top:110px;padding-bottom:36px}
  .timeline::before{left:0}.tl{grid-template-columns:1fr}.tl .y{font-size:33px;padding-left:24px;margin-bottom:8px}.tl .y::after{right:auto;left:-4px;top:10px}.tl ul{padding-left:24px}
  .site-grid,.proj-grid,.app-grid,.tt-grid,.cert-page-grid,.pgrid,.fa-grid,.form{grid-template-columns:1fr}
  .fa-grid .card.wide{grid-column:span 1;aspect-ratio:16/10}
  .form .full{grid-column:span 1}
  .eq-grid,.logo-grid{grid-template-columns:1fr 1fr}
  .org .teams{grid-template-columns:1fr 1fr}.org .branch{flex-direction:column;align-items:center}
  .hc{flex-wrap:wrap}
  .subnav a{padding:16px 16px}
  .subnav .container{padding:0 12px}
  .subnav::after{content:"";position:absolute;right:0;top:0;bottom:1px;width:40px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 70%);pointer-events:none}
}
