@font-face{font-family:"Oswald";font-weight:500;font-display:swap;src:url(/fonts/oswald-500.woff2) format("woff2");}
@font-face{font-family:"Oswald";font-weight:700;font-display:swap;src:url(/fonts/oswald-700.woff2) format("woff2");}

:root{
  --navy:#1d3a6b; --navy-d:#132a4f; --gold:#a3772a; --gold-d:#8a6322; --gold-l:#e8c77f;
  --ink:#1b2333; --body:#465068; --muted:#6b7385; --line:#e4dfd2; --line-2:#c9c1ad;
  --paper:#f6f3ec; --paper-2:#fbf8f1; --white:#ffffff;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Source Han Sans SC",system-ui,sans-serif;
  --display:"Oswald",var(--sans);
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);text-wrap:pretty;overflow-x:clip;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:var(--navy);text-decoration:none;}
a:hover{color:var(--gold);}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:.02em;margin:0;}
p{margin:0;}

.wrap{max-width:1240px;margin:0 auto;padding-left:clamp(16px,4vw,48px);padding-right:clamp(16px,4vw,48px);}
.section{padding-top:88px;padding-bottom:88px;}
.band-white{background:var(--white);}
.band-navy{background:var(--navy);color:var(--white);}
.muted{color:var(--muted);font-size:15px;line-height:1.8;}

/* topbar */
.topbar{background:var(--navy-d);color:#d9e0ec;font-size:13px;}
.topbar-in{padding-top:8px;padding-bottom:8px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topbar-r{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.topbar a{color:#d9e0ec;}
.topbar a.gold,.topbar a:hover{color:var(--gold-l);}
.lang{display:flex;border:1px solid rgba(232,199,127,.6);border-radius:999px;overflow:hidden;}
.lang button{border:0;padding:3px 12px;font:inherit;font-size:12px;cursor:pointer;background:transparent;color:#d9e0ec;}
.lang button[aria-pressed="true"]{background:var(--gold-l);color:var(--navy-d);}

/* header */
.header{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--line);}
.header-in{padding-top:14px;padding-bottom:14px;display:flex;align-items:center;gap:28px;}
.brand img{height:48px;width:auto;}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15px;font-weight:500;}
.nav a{color:var(--ink);padding-bottom:4px;border-bottom:2px solid transparent;}
.nav a:hover{color:var(--gold);}
.nav a.active{color:var(--navy);border-bottom-color:var(--gold);}
.header-cta{display:flex;gap:10px;}
.menu-btn{display:none;margin-left:auto;background:none;border:0;padding:6px;color:var(--navy);cursor:pointer;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:4px;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.2;transition:background .15s,color .15s,border-color .15s;}
.btn-sm{padding:10px 18px;font-size:14px;}
.btn-gold{background:var(--gold);color:var(--white);}
.btn-gold:hover{background:var(--gold-d);color:var(--white);}
.btn-navy{background:var(--navy);color:var(--white);}
.btn-navy:hover{background:var(--navy-d);color:var(--white);}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent;font-weight:500;}
.btn-outline:hover{background:var(--navy);color:var(--white);}
.btn-ghost-light{border-color:rgba(255,255,255,.6);color:var(--white);font-weight:500;}
.btn-ghost-light:hover{background:rgba(255,255,255,.12);color:var(--white);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* hero */
.hero{position:relative;min-height:580px;display:flex;align-items:flex-end;background:var(--navy);overflow:hidden;}
.hero-slides{position:absolute;inset:0;overflow:hidden;}
.hero-track{height:100%;transition:transform 1.2s cubic-bezier(.77,0,.18,1);will-change:transform;}
.hero-track.no-anim{transition:none;}
.hero-slide{height:100%;overflow:hidden;}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;transform:scale(1.08);transition:transform 7s ease-out;}
.hero-slide.is-active img{transform:scale(1);}
.hero-dots{position:absolute;right:clamp(16px,3vw,40px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:3;}
.hero-dot{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;background:none;border:0;padding:4px 0;cursor:pointer;color:rgba(255,255,255,.7);font:inherit;}
.hero-dot::after{content:"";width:3px;height:22px;border-radius:2px;background:rgba(255,255,255,.45);transition:height .3s,width .3s,background .3s;}
.hero-dot.is-active::after{height:44px;background:var(--gold-l);}
.hero-dot-label{font-size:13px;letter-spacing:.08em;opacity:0;transform:translateX(6px);transition:opacity .3s,transform .3s;white-space:nowrap;}
.hero-dot.is-active .hero-dot-label,.hero-dot:hover .hero-dot-label,.hero-dot:focus-visible .hero-dot-label{opacity:1;transform:none;color:#fff;}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,42,79,.94) 0%,rgba(19,42,79,.74) 45%,rgba(19,42,79,.15) 100%);}
.hero-in{position:relative;width:100%;padding-top:96px;padding-bottom:96px;}
.hero-copy{max-width:660px;display:flex;flex-direction:column;gap:24px;color:var(--white);}
.hero h1{font-weight:700;font-size:clamp(34px,4.6vw,58px);line-height:1.3;}
.hero h1 span{display:block;}
.hero p{font-size:17px;line-height:1.9;color:#d9e0ec;}
.kicker{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.2em;color:var(--gold);}
.kicker-light{color:var(--gold-l);}
.kicker-bar{width:32px;height:2px;background:currentColor;}

/* stats */
.stats-wrap{margin-top:-48px;position:relative;z-index:2;}
.stats{background:var(--white);border-radius:6px;box-shadow:0 12px 32px rgba(19,42,79,.10);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.stat{padding:28px 32px;border-right:1px solid #ece7db;display:flex;flex-direction:column;gap:6px;}
.stat:last-child{border-right:0;}
.stat-n{font-family:"Oswald",sans-serif;font-weight:700;font-size:44px;line-height:1;color:var(--navy);}
.stat-n em{font-style:normal;color:var(--gold);}
.stat-l{font-size:14px;color:var(--muted);}

/* section heads */
.sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:44px;}
.sec-head-split{flex-direction:row;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;}
.sec-head-split > div{display:flex;flex-direction:column;gap:12px;}
.sec-head-split .muted{max-width:28em;}
.eyebrow{font-family:"Oswald",sans-serif;font-weight:700;font-size:18px;letter-spacing:.2em;color:var(--gold);}
.eyebrow-light{color:var(--gold-l);}
h2{font-size:clamp(28px,3vw,38px);color:var(--navy);}

/* solutions */
.sol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.sol{background:var(--white);padding:36px 30px;display:flex;flex-direction:column;gap:16px;transition:background .15s;}
.sol:hover{background:var(--paper-2);}
.sol-no{font-family:"Oswald",sans-serif;font-weight:700;font-size:40px;line-height:1;color:var(--gold-l);}
.sol h3{font-size:22px;color:var(--navy);}
.sol p{font-size:15px;line-height:1.85;color:var(--body);}
.arrow-link{margin-top:auto;padding-top:8px;font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:6px;}

/* products */
.product{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center;padding:24px 0 56px;}
.product + .product{border-top:1px solid var(--line);padding-top:56px;}
.product-rev .product-shot{order:2;}
.product-shot{display:block;background:#eef0f4;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:16px 16px 0 var(--gold-l);transition:transform .2s;}
.product-shot:hover{transform:translateY(-3px);}
.product-rev .product-shot{box-shadow:-16px 16px 0 var(--gold-l);}
.browser-dots{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#f3f1ec;border-bottom:1px solid var(--line);}
.browser-dots i{width:9px;height:9px;border-radius:50%;background:#d6d0c2;}
.browser-dots b{margin-left:10px;font-weight:500;font-size:12px;color:var(--muted);font-family:ui-monospace,Menlo,monospace;}
.product-shot img{width:100%;height:auto;}
.product-copy{display:flex;flex-direction:column;gap:18px;}
.tag{align-self:flex-start;font-family:"Oswald",sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-l);padding:4px 12px;border-radius:999px;}
.product h3{font-size:clamp(24px,2.4vw,30px);color:var(--navy);}
.product-copy > p{font-size:15px;line-height:1.9;color:var(--body);}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.checks li{position:relative;padding-left:28px;font-size:15px;line-height:1.6;color:var(--ink);}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c77f' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat;}

.ticket-strip{margin-top:24px;display:flex;align-items:center;gap:22px;padding:24px 28px;background:var(--navy);color:var(--white);border-radius:6px;border-left:4px solid var(--gold-l);}
.ticket-strip:hover{background:var(--navy-d);color:var(--white);}
.ticket-ico{flex:none;width:52px;height:52px;border-radius:50%;background:rgba(232,199,127,.15);color:var(--gold-l);display:grid;place-items:center;}
.ticket-txt{display:flex;flex-direction:column;gap:4px;}
.ticket-txt strong{font-size:17px;}
.ticket-txt span{font-size:14px;color:#c4cede;}
.ticket-go{margin-left:auto;flex:none;background:var(--gold);padding:11px 22px;border-radius:4px;font-weight:700;font-size:14px;}
.ticket-strip:hover .ticket-go{background:var(--gold-d);}

/* scenes */
.scene-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;}
.scene{margin:0;display:flex;flex-direction:column;gap:14px;}
.scene-img{aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:#dcd6c8;}
.scene-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.scene:hover .scene-img img{transform:scale(1.04);}
.scene figcaption{display:flex;flex-direction:column;gap:4px;}
.scene strong{font-size:19px;color:var(--navy);}
.scene figcaption span{font-size:14px;color:var(--muted);}

/* cases */
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:56px;}
.cases-l{display:flex;flex-direction:column;gap:16px;}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.chips span{border:1px solid var(--line-2);padding:6px 14px;border-radius:999px;font-size:14px;color:var(--navy);}
.case-list{list-style:none;margin:0;padding:0;}
.case-list li{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.case-y{font-family:var(--display);font-weight:700;font-size:20px;color:var(--gold);}
.case-list div{display:flex;flex-direction:column;gap:4px;}
.case-c{font-size:13px;color:var(--muted);}
.case-list strong{font-size:18px;color:var(--ink);}

/* about */
.about{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:56px;align-items:center;}
.about-copy{display:flex;flex-direction:column;gap:20px;}
.about blockquote{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,32px);line-height:1.6;letter-spacing:.02em;}
.about p{font-size:15px;line-height:1.9;color:#c4cede;}
.about-imgs{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.about-imgs > div{aspect-ratio:1;border-radius:6px;overflow:hidden;}
.about-imgs img{width:100%;height:100%;object-fit:cover;}
.about-imgs .offset{margin-top:40px;}

/* team */
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;}
.member{flex:0 0 calc((100% - 72px) / 4);}
.member{margin:0;background:var(--white);border-radius:6px;overflow:hidden;box-shadow:0 8px 24px rgba(19,42,79,.06);border-bottom:3px solid transparent;transition:border-color .2s,transform .2s;}
.member:hover{border-bottom-color:var(--gold);transform:translateY(-3px);}
.member-img{aspect-ratio:4/5;overflow:hidden;background:#dcd6c8;}
.member-img img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.member figcaption{padding:18px 20px 20px;display:flex;flex-direction:column;gap:4px;}
.member strong{font-family:var(--display);font-size:20px;color:var(--navy);letter-spacing:.04em;}
.member-role{font-size:14px;color:var(--gold);font-weight:700;}

/* contact */
.contact{background:var(--white);border-top:4px solid var(--gold);border-radius:6px;padding:clamp(24px,4vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:40px;align-items:center;box-shadow:0 12px 32px rgba(19,42,79,.08);}
.contact-l{display:flex;flex-direction:column;gap:16px;}
.contact h2{font-size:clamp(24px,2.6vw,32px);}
.lead-form{display:flex;gap:10px;flex-wrap:wrap;}
.lead-form input{flex:1;min-width:160px;padding:12px 14px;border:1px solid var(--line-2);border-radius:4px;font:inherit;font-size:15px;background:var(--paper-2);color:var(--ink);}
.lead-form input:focus{outline:2px solid var(--gold);outline-offset:0;border-color:transparent;}
.lead-form .btn{padding:12px 26px;}
.lead-form .btn[disabled]{opacity:.6;cursor:wait;}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
.form-msg{flex-basis:100%;font-size:14px;min-height:1.4em;}
.form-msg.ok{color:#2f7a4b;}
.form-msg.err{color:#b23b2b;}
.contact-r{margin:0;display:grid;grid-template-columns:auto 1fr;gap:14px 24px;font-size:15px;line-height:1.7;}
.contact-r dt{color:var(--gold);font-weight:700;}
.contact-r dd{margin:0;}

/* footer */
.footer{background:var(--navy-d);color:#9fabc0;font-size:13px;}
.footer-in{padding-top:32px;padding-bottom:32px;display:flex;flex-direction:column;gap:14px;}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer a{color:#c4cede;}
.footer a:hover{color:var(--gold-l);}
.footer-meta{display:flex;gap:10px 24px;flex-wrap:wrap;justify-content:space-between;}

/* responsive */
@media (max-width:1100px){
  .header-in{flex-wrap:wrap;gap:12px 20px;}
  .menu-btn{display:block;}
  .header-cta{order:2;}
  .nav{order:3;flex-basis:100%;display:none;flex-direction:column;gap:0;margin:0;}
  .nav.open{display:flex;}
  .nav a{padding:12px 0;border-bottom:1px solid var(--line);}
  .nav a.active{border-bottom-color:var(--line);}
}
@media (max-width:960px){
  .team-grid{gap:16px;}
  .member{flex-basis:calc((100% - 16px) / 2);}
}
@media (max-width:860px){
  .product{grid-template-columns:1fr;gap:32px;}
  .product-rev .product-shot{order:0;}
  .product-shot,.product-rev .product-shot{box-shadow:10px 10px 0 var(--gold-l);}
  .ticket-strip{flex-wrap:wrap;}
  .ticket-go{margin-left:0;}
}
@media (max-width:640px){
  .section{padding-top:64px;padding-bottom:64px;}
  .header-cta{display:none;}
  .brand img{height:40px;}
  .hero{min-height:520px;}
  .hero-in{padding-top:72px;padding-bottom:88px;}
  .hero-shade{background:linear-gradient(180deg,rgba(19,42,79,.55) 0%,rgba(19,42,79,.92) 60%);}
  .hero-dots{top:auto;bottom:72px;transform:none;flex-direction:row;gap:8px;}
  .hero-dot::after{width:22px;height:3px;}
  .hero-dot.is-active::after{width:40px;height:3px;}
  .hero-dot-label{display:none;}
  .stat{border-right:0;border-bottom:1px solid #ece7db;padding:20px 24px;}
  .stat-n{font-size:36px;}
  .topbar-in > span:first-child{display:none;}
  .topbar-in{justify-content:flex-end;}
  .case-list li{grid-template-columns:56px 1fr;gap:14px;}
}
@media (prefers-reduced-motion:reduce){
  .hero-slide img{transform:none;}
  html{scroll-behavior:auto;}
  *{transition:none!important;}
}
#team{padding-bottom:0;}
