:root{--ink:#071a2b;--navy:#071a2b;--blue:#123b52;--sky:#d7eaf2;--paper:#f4f6f7;--white:#fff;--line:rgba(7,26,43,.16);--accent:#f2c94c;--radius:14px;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{position:fixed;z-index:30;top:0;left:0;right:0;height:82px;padding:0 clamp(22px,4.5vw,72px);display:flex;align-items:center;gap:42px;color:var(--white);background:linear-gradient(180deg,rgba(8,23,31,.78),transparent)}.site-header.is-scrolled,.inner-page .site-header{background:rgba(12,31,41,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:42px;height:42px;border-radius:8px;object-fit:cover}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.02em}.brand small{margin-top:3px;font-size:11px;opacity:.68}.main-nav{display:flex;gap:clamp(22px,3vw,46px)}.main-nav a{font-size:14px;font-weight:700;white-space:nowrap}.main-nav a:hover,.main-nav a[aria-current="page"]{color:#cbe2ef}.header-contact{font-size:13px;font-weight:800}.header-contact span{display:block;margin-top:2px;font-size:10px;opacity:.65}.nav-toggle{display:none;border:0;background:transparent;color:white}.nav-toggle span{display:block;width:25px;height:2px;margin:6px;background:currentColor}
.home-hero{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,42%) 1fr;background:var(--navy);color:var(--white);overflow:hidden}.hero-copy{position:relative;z-index:5;padding:clamp(130px,17vh,180px) clamp(28px,5.5vw,90px) 48px;display:flex;flex-direction:column}.kicker{margin:0 0 24px;font-size:11px;font-weight:900;letter-spacing:.16em}.kicker.dark{color:var(--blue)}.hero-copy h1{margin:0;font-size:clamp(54px,6.2vw,96px);line-height:.98;letter-spacing:-.06em}.hero-copy h1 em{color:var(--sky);font-style:normal}.hero-lead{max-width:490px;margin:38px 0 0;color:rgba(255,255,255,.72);font-size:clamp(15px,1.25vw,18px);line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:8px;font-size:14px;font-weight:900;white-space:nowrap;transition:transform .25s ease,background .25s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#15252e}.button-dark{background:var(--ink);color:var(--white)}.text-link{font-size:13px;font-weight:800}.text-link span{margin-left:8px}.hero-index{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:12px}.hero-index i{width:70px;height:1px;background:rgba(255,255,255,.34)}.hero-index button{width:42px;height:42px;margin-left:4px;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:white;background:transparent;cursor:pointer}.hero-index button:first-of-type{margin-left:auto}
.project-carousel{position:relative;min-width:0;perspective:1800px;overflow:hidden;isolation:isolate;touch-action:pan-y;cursor:grab;background:radial-gradient(circle at 54% 47%,#214d66 0,#102b3b 62%)}.project-carousel.is-dragging{cursor:grabbing}.project-carousel:after{content:"";position:absolute;z-index:10;inset:0;box-shadow:inset 34px 0 44px -40px rgba(3,14,20,.9);pointer-events:none}.project-slide{position:absolute;top:50%;left:50%;width:min(76%,720px);height:min(69dvh,680px);border-radius:var(--radius);opacity:0;overflow:hidden;transform:translate3d(-50%,-50%,-900px) scale(.52);pointer-events:none;box-shadow:0 34px 70px rgba(3,16,23,.32);transition:opacity .7s ease,transform 1s cubic-bezier(.16,1,.3,1),filter .8s ease;will-change:transform,opacity}.project-slide[data-position="0"]{z-index:5;opacity:1;transform:translate3d(-50%,-50%,180px) rotateX(1deg) rotateY(-2deg) scale(1);pointer-events:auto}.project-slide[data-position="-1"]{z-index:4;opacity:.72;filter:saturate(.82);transform:translate3d(calc(-50% - 20%),calc(-50% - 38%),-150px) rotateX(3deg) rotateY(-6deg) scale(.79)}.project-slide[data-position="1"]{z-index:3;opacity:.62;filter:saturate(.78);transform:translate3d(calc(-50% + 25%),calc(-50% + 42%),-250px) rotateX(3deg) rotateY(5deg) scale(.73)}.project-slide[data-position="-2"],.project-slide[data-position="2"]{z-index:1;opacity:0;transform:translate3d(-50%,-50%,-900px) scale(.5)}.project-slide[data-position="0"]:hover{transform:translate3d(-50%,-50%,190px) rotateX(1deg) rotateY(-2deg) scale(1.015)}.project-slide img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}.project-slide[data-position="0"]:hover img{transform:scale(1.025)}.slide-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,16,22,.04) 32%,rgba(5,16,22,.86))}.project-slide>div{position:absolute;right:clamp(22px,3vw,48px);bottom:clamp(28px,5vh,54px);left:clamp(22px,3vw,48px)}.project-slide small{font-size:11px;font-weight:900;letter-spacing:.12em}.project-slide h2{margin:10px 0 18px;font-size:clamp(32px,3.3vw,54px);line-height:1.04;letter-spacing:-.04em}.project-slide div>span{display:inline-block;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.7);font-size:13px;font-weight:800}
.about-section{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(340px,42%);gap:clamp(28px,5vw,80px);padding:clamp(90px,12vw,170px) clamp(24px,6vw,96px);background:var(--paper)}.section-label{display:flex;gap:18px;align-items:flex-start}.section-label span{font-weight:900;color:var(--blue)}.section-label p{margin:0;writing-mode:vertical-rl;font-size:10px;font-weight:900;letter-spacing:.15em}.about-main h2{max-width:780px;margin:0;font-size:clamp(36px,4.1vw,64px);line-height:1.12;letter-spacing:-.045em}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:42px 0 34px}.about-copy p{margin:0;color:#52636c;font-size:14px;line-height:2}.about-figure{align-self:start}.about-figure img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.about-stats div{padding:22px 8px;border-right:1px solid var(--line)}.about-stats div:last-child{border:0}.about-stats strong,.about-stats span{display:block}.about-stats strong{font-size:22px}.about-stats span{margin-top:6px;color:#66757d;font-size:11px}.home-links{display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(24px,6vw,96px) 100px}.home-links a{position:relative;min-height:230px;padding:34px 26px;border-top:1px solid var(--line);border-right:1px solid var(--line);transition:background .25s,color .25s}.home-links a:last-child{border-right:0}.home-links a:hover{color:var(--white);background:var(--blue)}.home-links span,.home-links small,.home-links b{display:block}.home-links span{font-size:24px;font-weight:900}.home-links small{max-width:190px;margin-top:18px;color:#6d797f;line-height:1.7}.home-links a:hover small{color:rgba(255,255,255,.72)}.home-links b{position:absolute;right:24px;bottom:26px;font-size:12px}
.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:24px;padding:58px clamp(24px,6vw,96px);color:rgba(255,255,255,.7);background:#0c202b}.site-footer strong{color:white;font-size:24px}.site-footer p,.site-footer a,.site-footer small{margin:0;font-size:12px}
.inner-hero{min-height:480px;padding:170px clamp(24px,7vw,110px) 70px;color:white;background:var(--navy);display:grid;grid-template-columns:1fr 1fr;align-items:end}.inner-hero .kicker{color:var(--sky)}.inner-hero h1{margin:0;font-size:clamp(52px,7vw,100px);line-height:1;letter-spacing:-.055em}.inner-hero>p{max-width:520px;margin:0 0 10px;color:rgba(255,255,255,.68);font-size:16px;line-height:1.9}.content-section{padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px)}.content-head{max-width:820px;margin-bottom:60px}.content-head h2{margin:0;font-size:clamp(36px,4vw,60px);line-height:1.12}.content-head p{color:#607079;line-height:1.9}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.media-card{display:grid;grid-template-columns:1.2fr 1fr;min-height:390px;background:var(--white);border-radius:var(--radius);overflow:hidden}.media-card img{width:100%;height:100%;object-fit:cover}.media-card div{padding:34px}.media-card small{color:var(--blue);font-weight:900}.media-card h2,.media-card h3{margin:14px 0;font-size:28px}.media-card p{color:#607079;line-height:1.8}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.detail-list article{min-height:260px;padding:42px;background:var(--paper)}.detail-list small{color:var(--blue);font-weight:900}.detail-list h2{margin:18px 0;font-size:30px}.detail-list p{color:#607079;line-height:1.8}.process-list{counter-reset:process}.process-item{counter-increment:process;display:grid;grid-template-columns:160px 1fr 1fr;gap:30px;padding:46px 0;border-bottom:1px solid var(--line)}.process-item:before{content:"0" counter(process);color:var(--blue);font-size:34px;font-weight:900}.process-item h2{margin:0;font-size:32px}.process-item p{margin:0;color:#607079;line-height:1.9}.contact-band{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:70px clamp(24px,7vw,110px);color:white;background:var(--blue)}.contact-band h2{margin:0;font-size:clamp(30px,4vw,56px)}.contact-band a{padding:16px 24px;border-radius:8px;color:var(--ink);background:var(--white);font-weight:900}
@media(max-width:900px){.site-header{height:64px;padding:0 20px;background:rgba(12,31,41,.94)}.brand img{width:36px;height:36px}.brand small{display:none}.header-contact{display:none}.nav-toggle{display:block;padding:8px}.main-nav{position:fixed;top:64px;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:34px 24px;background:#0c202b;transform:translateX(100%);transition:transform .35s ease}.main-nav.is-open{transform:translateX(0)}.main-nav a{width:100%;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:22px}.home-hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:660px;padding:124px 20px 38px}.hero-copy h1{font-size:clamp(52px,16vw,72px)}.hero-lead{margin-top:28px;font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-index{margin-top:56px}.project-carousel{height:560px}.project-slide>div{bottom:50px}.about-section{grid-template-columns:1fr;padding:82px 20px}.section-label{display:none}.about-main h2{font-size:39px}.about-copy{grid-template-columns:1fr}.about-figure{grid-row:2}.home-links{grid-template-columns:1fr;padding:0 20px 70px}.home-links a{min-height:170px;border-right:0}.site-footer{grid-template-columns:1fr 1fr;padding:44px 20px}.inner-hero{min-height:430px;padding:140px 20px 50px;grid-template-columns:1fr;gap:32px}.inner-hero h1{font-size:56px}.content-section{padding:72px 20px}.media-grid{grid-template-columns:1fr}.media-card{grid-template-columns:1fr;min-height:0}.media-card img{height:270px}.detail-list{grid-template-columns:1fr}.process-item{grid-template-columns:60px 1fr}.process-item p{grid-column:2}.contact-band{align-items:flex-start;flex-direction:column;padding:55px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-slide,.main-nav,.button{transition:none}}
body{overflow-x:hidden}.hero-copy{min-width:0}
@media(max-width:900px){.home-hero{grid-template-columns:minmax(0,1fr)}.hero-copy{width:100%}.hero-copy h1{font-size:clamp(48px,14.2vw,62px)}.hero-lead{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:900px){.nav-toggle{position:absolute;top:10px;right:12px;z-index:2}.hero-lead{width:calc(100vw - 40px);word-break:break-all}}
.hero-lead span{display:block}
.case-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px}.case-filters button{padding:11px 17px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:transparent;font-size:13px;font-weight:800;cursor:pointer}.case-filters button.is-active,.case-filters button:hover{color:white;background:var(--blue);border-color:var(--blue)}.case-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.case-library-card{display:flex;min-width:0;flex-direction:column;background:var(--white);border-radius:var(--radius);overflow:hidden;transition:transform .3s ease}.case-library-card:hover{transform:translateY(-5px)}.case-library-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.case-library-card>div{display:flex;flex:1;flex-direction:column;padding:24px}.case-library-card small{color:var(--blue);font-weight:900}.case-library-card h2{margin:10px 0;font-size:25px}.case-library-card p{margin:0 0 22px;color:#607079;line-height:1.7}.case-library-card span{margin-top:auto;font-size:12px;font-weight:900}.case-detail-hero{position:relative;min-height:82dvh;color:white;background:var(--navy);overflow:hidden}.case-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.case-detail-hero>div{position:relative;z-index:2;display:flex;min-height:82dvh;max-width:900px;flex-direction:column;justify-content:flex-end;padding:140px clamp(24px,7vw,110px) 80px}.case-detail-hero>div>a{position:absolute;top:120px;font-size:13px;font-weight:800}.case-detail-hero h1{margin:0;font-size:clamp(52px,8vw,112px);line-height:1;letter-spacing:-.055em}.case-detail-hero div>p:last-child{max-width:620px;margin:25px 0 0;font-size:16px;line-height:1.8}.case-gallery-section{padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px)}.case-gallery-head{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;margin-bottom:48px}.case-gallery-head h2{margin:0;font-size:clamp(38px,5vw,70px)}.case-gallery-head span{font-size:12px}.case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.case-gallery figure{margin:0}.case-gallery figure:nth-child(3n){grid-column:1/-1}.case-gallery img{display:block;width:100%;max-height:800px;object-fit:cover;border-radius:var(--radius)}.case-gallery figcaption{padding-top:10px;color:#6a777e;font-size:11px}.case-not-found{min-height:70dvh;padding:180px 7vw}.case-not-found h1{font-size:50px}
@media(max-width:900px){.case-library-grid{grid-template-columns:1fr}.case-detail-hero,.case-detail-hero>div{min-height:72dvh}.case-detail-hero>div{padding:120px 20px 48px}.case-detail-hero>div>a{top:92px}.case-detail-hero h1{font-size:52px}.case-gallery-head{grid-template-columns:1fr auto}.case-gallery-head .kicker{grid-column:1/-1}.case-gallery{grid-template-columns:1fr}.case-gallery figure:nth-child(3n){grid-column:auto}}
.detail-list .service-photo-card{min-height:460px;padding:0;overflow:hidden}.service-photo-card img{display:block;width:100%;height:260px;object-fit:cover}.service-photo-card>div{padding:32px 42px 40px}.process-item{grid-template-columns:110px minmax(210px,.75fr) minmax(250px,1fr) minmax(300px,1.15fr);align-items:center}.process-item img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius)}
@media(max-width:900px){.service-photo-card>div{padding:28px 24px 34px}.process-item{grid-template-columns:48px 1fr}.process-item p,.process-item img{grid-column:2}.process-item img{height:220px}}
.product-catalog-section{padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px);background:#e9e9e5}.product-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.product-filters{display:flex;flex-wrap:wrap;gap:10px}.product-filters button{padding:11px 16px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:transparent;font-size:13px;font-weight:800;cursor:pointer}.product-filters button.is-active,.product-filters button:hover{color:white;background:var(--blue);border-color:var(--blue)}.product-search span{display:block;margin-bottom:8px;color:#66757d;font-size:11px}.product-search input{width:230px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--white);outline:none}.product-search input:focus{border-color:var(--blue)}.catalog-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.catalog-product-card{min-width:0;background:var(--white);border-radius:var(--radius);overflow:hidden;transition:transform .3s ease}.catalog-product-card:hover{transform:translateY(-5px)}.catalog-product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;padding:14px;background:#f5f5f3;overflow:hidden}.catalog-product-image img{width:100%;height:100%;object-fit:contain}.catalog-product-card>div:last-child{padding:20px}.catalog-product-card small{color:var(--blue);font-weight:900}.catalog-product-card h3{margin:8px 0 16px;font-size:24px}.catalog-product-card span{font-size:12px;font-weight:900}.product-empty{padding:30px;text-align:center}.product-detail-head{min-height:500px;padding:170px clamp(24px,7vw,110px) 80px;color:white;background:var(--navy)}.product-detail-head>a{display:inline-block;margin-bottom:70px;font-size:13px;font-weight:800}.product-detail-head .kicker{color:var(--sky)}.product-detail-head h1{margin:0;font-size:clamp(64px,9vw,126px);line-height:.95;letter-spacing:-.05em}.product-detail-head>p:last-child{max-width:700px;margin:30px 0 0;color:rgba(255,255,255,.7);line-height:1.8}.product-sheet-section{padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px)}.product-sheet-section>div:first-child{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;margin-bottom:44px}.product-sheet-section h2{margin:0;font-size:clamp(40px,5vw,70px)}.product-sheet-section span{font-size:12px}.product-sheets{display:grid;gap:34px}.product-sheets figure{margin:0;padding:22px;background:white;border-radius:var(--radius)}.product-sheets img{display:block;width:100%;height:auto}.product-sheets figcaption{padding-top:14px;color:#66757d;font-size:12px}
@media(max-width:1100px){.catalog-product-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.product-toolbar{align-items:stretch;flex-direction:column}.product-search input{width:100%}.catalog-product-grid{grid-template-columns:repeat(2,1fr);gap:12px}.catalog-product-card>div:last-child{padding:16px}.catalog-product-card h3{font-size:19px}.product-detail-head{min-height:440px;padding:130px 20px 55px}.product-detail-head>a{margin-bottom:45px}.product-detail-head h1{font-size:58px}.product-sheet-section{padding:70px 12px}.product-sheet-section>div:first-child{grid-template-columns:1fr auto}.product-sheet-section .kicker{grid-column:1/-1}.product-sheets figure{padding:7px}}
@media(max-width:900px){html,body{width:100%;max-width:100vw}.site-header{width:100vw;max-width:100vw}.nav-toggle{position:fixed;top:10px;right:12px}.inner-hero,.content-section,.product-catalog-section{width:100%;max-width:100vw}.content-head{max-width:100%;overflow:hidden}.content-head h2{font-size:clamp(32px,10vw,42px);overflow-wrap:anywhere}.media-card,.media-card>div{width:100%;min-width:0}.media-card div{padding:26px}.media-card h2{font-size:27px}.inner-hero>p{max-width:100%;overflow-wrap:anywhere}}

.visual-hero{min-height:560px;display:grid;grid-template-columns:minmax(360px,42%) minmax(0,58%);color:var(--white);background:var(--navy);overflow:hidden}.visual-hero-copy{display:flex;min-width:0;flex-direction:column;justify-content:flex-end;padding:150px clamp(28px,5.5vw,88px) 72px}.visual-hero .kicker{color:var(--sky)}.visual-hero h1{max-width:620px;margin:0;font-size:clamp(56px,6.3vw,96px);line-height:.98;letter-spacing:-.055em}.visual-hero-lead{max-width:520px;margin:30px 0 0;color:rgba(255,255,255,.7);font-size:15px;line-height:1.9}.visual-hero-media{position:relative;min-width:0;height:560px;margin:0;overflow:hidden}.visual-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,43,59,.28),transparent 28%);pointer-events:none}.visual-hero-media img{display:block;width:100%;height:100%;object-fit:cover}.product-zone-hero .visual-hero-media img{object-position:center center}
@media(max-width:900px){.visual-hero{min-height:0;grid-template-columns:1fr}.visual-hero-copy{min-height:390px;padding:124px 20px 48px}.visual-hero h1{font-size:clamp(52px,14vw,68px)}.visual-hero-lead{max-width:620px;margin-top:24px;font-size:14px}.visual-hero-media{height:300px}.visual-hero-media:after{background:linear-gradient(180deg,rgba(16,43,59,.22),transparent 30%)}.visual-hero-media img{object-position:center center}}

.home-page,.home-page main{background:var(--navy)}.home-page .about-section{color:var(--white);background:#173b50}.home-page .about-copy p{color:rgba(255,255,255,.72)}.home-page .about-main .kicker,.home-page .section-label span{color:#a9d1e8}.home-page .about-stats{border-bottom-color:rgba(255,255,255,.2)}.home-page .about-stats div{border-right-color:rgba(255,255,255,.2)}.home-page .about-stats span{color:rgba(255,255,255,.62)}.home-page .button-dark{color:var(--ink);background:var(--white)}.home-page .home-links{color:var(--white);background:#102b3b}.home-page .home-links a{border-color:rgba(255,255,255,.16)}.home-page .home-links small{color:rgba(255,255,255,.62)}.home-page .home-links a:hover{background:#2f6485}.home-page .site-footer{border-top:1px solid rgba(255,255,255,.12)}.hero-index i{position:relative;overflow:hidden}.hero-index i:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:var(--sky)}.hero-index i.is-running:after{animation:slide-progress 3.6s linear forwards}@keyframes slide-progress{to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.hero-index i.is-running:after{animation:none;transform:translateX(0)}}
@media(max-width:900px){.project-carousel{height:460px;perspective:1100px;background:#102b3b}.project-slide{width:82vw;height:350px}.project-slide[data-position="0"]{transform:translate3d(-50%,-50%,90px) scale(1)}.project-slide[data-position="0"]:hover{transform:translate3d(-50%,-50%,90px) scale(1)}.project-slide[data-position="-1"]{opacity:.42;transform:translate3d(calc(-50% - 84%),-50%,-180px) rotateY(-6deg) scale(.82)}.project-slide[data-position="1"]{opacity:.42;transform:translate3d(calc(-50% + 84%),-50%,-180px) rotateY(6deg) scale(.82)}.project-slide[data-position="-2"],.project-slide[data-position="2"]{opacity:0}.project-slide>div{right:22px;bottom:26px;left:22px}.project-slide h2{font-size:34px}.project-slide img{height:100%}}

.continuous-carousel .project-slide{opacity:var(--slide-opacity,0);filter:saturate(var(--slide-saturation,.7));transform:translate3d(calc(-50% + var(--slide-x,0%)),calc(-50% + var(--slide-y,0%)),var(--slide-z,-900px)) rotateX(var(--slide-rotate-x,1deg)) rotateY(var(--slide-rotate-y,0deg)) scale(var(--slide-scale,.5));transition:none}.continuous-carousel .project-slide.is-active{pointer-events:auto}.continuous-carousel .project-slide.is-active:hover img{transform:scale(1.025)}.hero-index i[data-slide-progress]:after{transform:scaleX(var(--slide-progress,0));transform-origin:left;animation:none}

.home-page .home-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:36px}.home-links-prompt{grid-column:1/-1;display:flex;min-height:44px;align-items:center;gap:20px;padding:0 4px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.home-links-prompt small{color:#8fbfd8;font-size:10px;font-weight:900;letter-spacing:.16em}.home-links-prompt span{color:rgba(255,255,255,.9);font-size:14px;font-weight:800}.home-page .home-links a{--pointer-x:50%;--pointer-y:50%;--glow-opacity:0;isolation:isolate;min-height:250px;padding:32px 28px;border:1px solid rgba(190,226,244,.16);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 26px 52px rgba(3,16,23,.14);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s ease,border-color .35s ease,box-shadow .35s ease}.home-page .home-links a::before{content:"";position:absolute;z-index:3;inset:-1px;padding:1px;border-radius:inherit;background:radial-gradient(210px circle at var(--pointer-x) var(--pointer-y),rgba(215,243,255,.98) 0,rgba(92,174,216,.86) 28%,transparent 72%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:var(--glow-opacity);pointer-events:none;transition:opacity .22s ease}.home-page .home-links a::after{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(260px circle at var(--pointer-x) var(--pointer-y),rgba(113,190,230,.13),transparent 66%);opacity:var(--glow-opacity);pointer-events:none;transition:opacity .3s ease}.home-page .home-links a>span,.home-page .home-links a>small,.home-page .home-links a>b{position:relative;z-index:2}.home-page .home-links a:hover{color:var(--white);border-color:rgba(163,216,243,.26);background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 30px 64px rgba(3,16,23,.24);transform:translateY(-6px)}.home-page .home-links a:active{transform:translateY(-2px) scale(.99)}.home-page .home-links a:focus-visible{outline:2px solid #a9d7ed;outline-offset:3px}.home-page .home-links a small{color:rgba(255,255,255,.6)}
@media(max-width:900px){.home-page .home-links{grid-template-columns:1fr;gap:12px;padding:26px 20px 70px}.home-links-prompt{min-height:62px;align-items:flex-start;flex-direction:column;gap:8px;padding:0 2px 18px}.home-page .home-links a{min-height:180px;padding:28px 24px}.home-page .home-links a::before,.home-page .home-links a::after{display:none}.home-page .home-links a:hover{transform:none}}
@media(prefers-reduced-transparency:reduce){.home-page .home-links a{background:#173b50;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.home-page .home-links a,.home-links-prompt span{transition:none}.home-page .home-links a:hover{transform:none}}

/* BorderGlow adapted for this framework-free site. The highlight is dormant
   until the pointer approaches an edge, matching the supplied component. */
@media(min-width:901px){
  .home-page .home-links a{
    --edge-proximity:0;
    --cursor-angle:45deg;
    --edge-sensitivity:30;
    --color-sensitivity:50;
    --cone-spread:25%;
    --glow-padding:28px;
    overflow:visible;
  }
  .home-page .home-links a::before{
    display:block;
    z-index:1;
    inset:-1px;
    padding:0;
    border:1px solid transparent;
    background:
      linear-gradient(#173b50 0 100%) padding-box,
      radial-gradient(at 80% 55%,#93ccea 0,transparent 50%) border-box,
      radial-gradient(at 18% 12%,#d8f3ff 0,transparent 48%) border-box,
      radial-gradient(at 72% 18%,#4b91b7 0,transparent 52%) border-box,
      linear-gradient(#78b7d8 0 100%) border-box;
    -webkit-mask:none;
    mask:none;
    -webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,#000 var(--cone-spread),transparent calc(var(--cone-spread) + 15%),transparent calc(85% - var(--cone-spread)),#000 calc(100% - var(--cone-spread)));
    mask-image:conic-gradient(from var(--cursor-angle) at center,#000 var(--cone-spread),transparent calc(var(--cone-spread) + 15%),transparent calc(85% - var(--cone-spread)),#000 calc(100% - var(--cone-spread)));
    -webkit-mask-composite:source-over;
    mask-composite:add;
    opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));
    transition:opacity .25s ease-out;
  }
  .home-page .home-links a::after{
    display:block;
    background:radial-gradient(260px circle at var(--pointer-x) var(--pointer-y),rgba(128,201,237,.22),transparent 64%);
    opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));
    transition:opacity .25s ease-out;
  }
  .home-page .home-links a>.edge-light{
    position:absolute;
    z-index:1;
    inset:calc(var(--glow-padding) * -1);
    border-radius:inherit;
    pointer-events:none;
    -webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,#000 2.5%,transparent 10%,transparent 90%,#000 97.5%);
    mask-image:conic-gradient(from var(--cursor-angle) at center,#000 2.5%,transparent 10%,transparent 90%,#000 97.5%);
    opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));
    mix-blend-mode:plus-lighter;
    transition:opacity .25s ease-out;
  }
  .home-page .home-links a>.edge-light::before{
    content:"";
    position:absolute;
    inset:var(--glow-padding);
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(218,245,255,.98),inset 0 0 4px rgba(150,218,250,.7),inset 0 0 12px rgba(91,177,220,.45),0 0 3px rgba(185,231,252,.85),0 0 12px rgba(106,194,236,.48),0 0 30px rgba(73,160,205,.28);
  }
  .home-page .home-links a:not(:hover):not(:focus-visible)::before,
  .home-page .home-links a:not(:hover):not(:focus-visible)::after,
  .home-page .home-links a:not(:hover):not(:focus-visible)>.edge-light{opacity:0}
  .home-page .home-links a:hover{
    border-color:rgba(181,222,243,.2);
    background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.032));
  }
}
@media(max-width:900px){.home-page .home-links a>.edge-light{display:none}}
@media(prefers-reduced-motion:reduce){.home-page .home-links a::before,.home-page .home-links a::after,.home-page .home-links a>.edge-light{transition:none}}

/* Keep the card index out of the text flow and restore a clear hierarchy. */
.home-page .home-links a>span{line-height:1.25}
.home-page .home-links a>small{max-width:calc(100% - 34px);margin-top:20px;padding-right:16px;line-height:1.75}
.home-page .home-links a>b{position:absolute;z-index:2;right:26px;bottom:24px;color:rgba(221,242,252,.78);font-size:11px;letter-spacing:.08em;line-height:1}
@media(max-width:900px){.home-page .home-links a>small{max-width:90%}.home-page .home-links a>b{right:24px;bottom:22px}}

/* Frosted-glass navigation shared by the home and inner pages. */
.site-header{
  top:12px;
  right:clamp(12px,2vw,30px);
  left:clamp(12px,2vw,30px);
  height:68px;
  padding:0 clamp(22px,3.2vw,48px);
  border:1px solid rgba(206,235,249,.2);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.035)),rgba(10,39,54,.56);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
  backdrop-filter:blur(24px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 38px rgba(3,20,29,.2);
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.site-header.is-scrolled,.inner-page .site-header{
  border-color:rgba(206,235,249,.24);
  background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.025)),rgba(9,34,47,.76);
  -webkit-backdrop-filter:blur(26px) saturate(145%);
  backdrop-filter:blur(26px) saturate(145%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 16px 42px rgba(3,20,29,.28);
}
.main-nav a{padding:10px 0;transition:color .22s ease,text-shadow .22s ease}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:#e6f6fd;text-shadow:0 0 18px rgba(142,205,236,.42)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header,.site-header.is-scrolled,.inner-page .site-header{background:#14394d}}
@media(prefers-reduced-transparency:reduce){.site-header,.site-header.is-scrolled,.inner-page .site-header{background:#14394d;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(max-width:900px){
  .site-header{top:8px;right:8px;left:8px;width:auto;max-width:none;height:56px;padding:0 14px;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025)),rgba(10,35,48,.78)}
  .nav-toggle{top:10px;right:12px}
}

/* Full-width image banners for all four primary inner pages. */
.visual-hero{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  min-height:560px;
  color:var(--white);
  background:var(--navy);
  isolation:isolate;
  overflow:hidden;
}
.visual-hero-copy{
  position:relative;
  z-index:2;
  grid-area:1/1;
  display:flex;
  width:100%;
  min-height:560px;
  max-width:820px;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(150px,18vh,190px) clamp(28px,6vw,96px) clamp(64px,10vh,104px);
}
.visual-hero .kicker{margin-bottom:22px;color:#c7e7f7;text-shadow:0 2px 18px rgba(4,22,31,.32)}
.visual-hero h1{max-width:720px;font-size:clamp(64px,8vw,118px);text-shadow:0 5px 32px rgba(3,18,26,.38)}
.visual-hero-lead{max-width:580px;margin-top:26px;color:rgba(255,255,255,.82);font-size:16px;line-height:1.85;text-shadow:0 2px 20px rgba(3,18,26,.4)}
.visual-hero-media{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  min-height:560px;
  margin:0;
  overflow:hidden;
}
.visual-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,29,41,.9) 0%,rgba(9,35,49,.68) 34%,rgba(9,35,49,.15) 68%,transparent 100%),linear-gradient(180deg,rgba(4,19,27,.38) 0%,transparent 38%,rgba(4,20,29,.62) 100%);
  pointer-events:none;
}
.visual-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
@media(max-width:900px){
  .visual-hero{min-height:520px}
  .visual-hero-copy{min-height:520px;max-width:100%;padding:110px 20px 46px}
  .visual-hero h1{font-size:clamp(54px,16vw,78px)}
  .visual-hero-lead{max-width:92%;margin-top:22px;font-size:14px;line-height:1.8}
  .visual-hero-media{height:100%;min-height:520px}
  .visual-hero-media::after{background:linear-gradient(180deg,rgba(5,24,34,.42) 0%,rgba(5,24,34,.08) 32%,rgba(5,24,34,.84) 100%),linear-gradient(90deg,rgba(8,31,44,.44),transparent 75%)}
}

/* Palette 01: deep ocean navy with a single signal-yellow accent. */
body{background:var(--paper)}
.home-page,.home-page main{background:#071a2b}
.home-page .about-section{background:#123b52}
.home-page .home-links{background:#0b2638}
.home-page .home-links a:hover{background:#123b52}
.home-page .home-links-prompt small,.hero-copy h1 em,.visual-hero .kicker{color:var(--accent)}
.button-primary{color:#071a2b;background:var(--accent)}
.button-primary:hover{background:#ffda5f}
.project-carousel{background:radial-gradient(circle at 54% 47%,#174a65 0,#071a2b 66%)}
.site-footer{background:#061521}
.product-catalog-section{background:#e9eef1}
.catalog-product-image{background:#eff3f5}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--accent);text-shadow:0 0 18px rgba(242,201,76,.24)}
.site-header{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.025)),rgba(7,26,43,.62)}
.site-header.is-scrolled,.inner-page .site-header{background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.02)),rgba(7,26,43,.82)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header,.site-header.is-scrolled,.inner-page .site-header{background:#071a2b}}
@media(prefers-reduced-transparency:reduce){.site-header,.site-header.is-scrolled,.inner-page .site-header{background:#071a2b}}
@media(min-width:901px){
  .home-page .home-links a::before{background:linear-gradient(#123b52 0 100%) padding-box,radial-gradient(at 80% 55%,#f2c94c 0,transparent 50%) border-box,radial-gradient(at 18% 12%,#fff3b5 0,transparent 48%) border-box,radial-gradient(at 72% 18%,#d9aa27 0,transparent 52%) border-box,linear-gradient(#f2c94c 0 100%) border-box}
  .home-page .home-links a::after{background:radial-gradient(260px circle at var(--pointer-x) var(--pointer-y),rgba(242,201,76,.17),transparent 64%)}
  .home-page .home-links a>.edge-light::before{box-shadow:inset 0 0 0 1px rgba(255,241,176,.98),inset 0 0 4px rgba(249,218,112,.72),inset 0 0 12px rgba(242,201,76,.42),0 0 3px rgba(255,239,166,.82),0 0 12px rgba(242,201,76,.42),0 0 30px rgba(210,164,31,.25)}
}
.visual-hero-media::after{background:linear-gradient(90deg,rgba(7,26,43,.92) 0%,rgba(7,26,43,.7) 34%,rgba(7,26,43,.16) 68%,transparent 100%),linear-gradient(180deg,rgba(5,18,29,.38) 0%,transparent 38%,rgba(5,18,29,.64) 100%)}
@media(max-width:900px){
  .site-header{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),rgba(7,26,43,.84)}
  .visual-hero-media::after{background:linear-gradient(180deg,rgba(7,26,43,.44) 0%,rgba(7,26,43,.08) 32%,rgba(7,26,43,.86) 100%),linear-gradient(90deg,rgba(7,26,43,.46),transparent 75%)}
}

/* Home-only segmented palette: navy hero, light content, warm-orange focus. */
.home-page{--ink:#0b2235;--navy:#0b2235;--blue:#1e4c65;--sky:#d9e9f0;--paper:#f3f5f4;--white:#fff;--line:rgba(11,34,53,.16);--accent:#e58b4a}
.home-page,.home-page main{background:#f3f5f4}
.home-page .about-section{color:#0b2235;background:#f3f5f4}
.home-page .about-copy p{color:#52636c}
.home-page .about-main .kicker,.home-page .section-label span{color:#1e4c65}
.home-page .about-stats{border-bottom-color:rgba(11,34,53,.18)}
.home-page .about-stats div{border-right-color:rgba(11,34,53,.18)}
.home-page .about-stats span{color:#66757d}
.home-page .button-dark{color:#fff;background:#b45b2f}
.home-page .button-dark:hover{color:#fff;background:#a95129}
.home-page .home-links{color:#0b2235;background:linear-gradient(120deg,#e7eef1 0%,#dce7eb 48%,#edf2f3 100%)}
.home-page .home-links-prompt{border-bottom-color:rgba(11,34,53,.16)}
.home-page .home-links-prompt span{color:#0b2235}
.home-page .home-links a{border-color:rgba(255,255,255,.72);background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(255,255,255,.24));box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.28),0 24px 48px rgba(11,34,53,.09);-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%)}
.home-page .home-links a small{color:#62717a}
.home-page .home-links a>b{color:#65757f}
.home-page .home-links a:hover{color:#0b2235;background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(255,255,255,.34));border-color:rgba(255,255,255,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,1),inset 0 -1px 0 rgba(255,255,255,.38),0 30px 60px rgba(11,34,53,.14)}
.home-page .home-links a:hover small{color:#52636c}
.home-page .home-links a:hover>b{color:#b9652f}
.home-page .button-primary{color:#172430;background:#e58b4a}
.home-page .button-primary:hover{background:#f09d5d}
.home-page .project-carousel{background:radial-gradient(circle at 54% 47%,#245a73 0,#0b2235 68%)}
.home-page .site-footer{background:#071a2b}
.home-page .site-header{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.025)),rgba(8,31,48,.64)}
.home-page .site-header.is-scrolled{background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.02)),rgba(7,26,43,.84)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.home-page .site-header,.home-page .site-header.is-scrolled{background:#0b2235}}
@media(prefers-reduced-transparency:reduce){.home-page .site-header,.home-page .site-header.is-scrolled{background:#0b2235}}
@media(min-width:901px){
  .home-page .home-links a::before{background:linear-gradient(rgba(247,250,251,.9) 0 100%) padding-box,radial-gradient(at 80% 55%,#e58b4a 0,transparent 50%) border-box,radial-gradient(at 18% 12%,#ffd1aa 0,transparent 48%) border-box,radial-gradient(at 72% 18%,#c76f35 0,transparent 52%) border-box,linear-gradient(#e58b4a 0 100%) border-box}
  .home-page .home-links a::after{background:radial-gradient(260px circle at var(--pointer-x) var(--pointer-y),rgba(229,139,74,.18),transparent 64%)}
  .home-page .home-links a>.edge-light::before{box-shadow:inset 0 0 0 1px rgba(255,214,179,.98),inset 0 0 4px rgba(240,167,110,.72),inset 0 0 12px rgba(229,139,74,.44),0 0 3px rgba(255,207,167,.82),0 0 12px rgba(229,139,74,.44),0 0 30px rgba(194,101,43,.26)}
}
@media(max-width:900px){.home-page .site-header{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),rgba(7,26,43,.86)}}

/* Product cards: warm copper information panel on hover. */
.catalog-product-card>div:last-child{background:#fff;transition:background .3s ease,color .3s ease}
.catalog-product-card:hover>div:last-child{color:#172430;background:#e58b4a}
.catalog-product-card:hover small{color:#3f2412}
.catalog-product-card:hover span{color:#172430}

/* Project cards use the same copper hover language as product cards. */
.case-library-card>div{background:#fff;transition:background .3s ease,color .3s ease}
.case-library-card:hover>div{color:#172430;background:#e58b4a}
.case-library-card:hover small{color:#3f2412}
.case-library-card:hover p{color:#263b47}
.case-library-card:hover span{color:#172430}

/* Overseas-market catalogue page placed below the complete company section. */
.overseas-market-section{padding:0 clamp(24px,6vw,96px) clamp(80px,9vw,130px);background:#f3f5f4}
.about-market-visual{max-width:1400px;margin:0 auto;overflow:hidden;border:1px solid rgba(11,34,53,.1);border-radius:var(--radius);background:#fff;box-shadow:0 20px 46px rgba(11,34,53,.09)}
.about-market-visual img{display:block;width:100%;height:auto}
@media(max-width:900px){.overseas-market-section{padding:0 20px 72px}}

/* Product discovery, larger touch targets and consistent keyboard focus. */
.product-results-footer{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:44px;text-align:center}
.product-results-footer[hidden]{display:none}
.product-results-footer p{margin:0;color:#607079;font-size:12px;font-weight:700}
.product-load-more{min-height:48px;padding:0 26px;border:1px solid #b45b2f;border-radius:8px;color:#172430;background:#e58b4a;font-weight:900;white-space:nowrap;cursor:pointer;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.product-load-more:hover{background:#f09d5d;box-shadow:0 12px 28px rgba(105,55,25,.16);transform:translateY(-2px)}
.product-load-more:active{transform:translateY(0) scale(.98)}
.product-detail-head>a,.case-detail-hero>div>a{display:inline-flex;min-height:44px;align-items:center;padding:0 10px;margin-left:-10px;border-radius:8px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e58b4a;outline-offset:3px}
.product-search input:focus-visible{border-color:#b45b2f;outline:3px solid #e58b4a;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.product-load-more{transition:none}.product-load-more:hover{transform:none}}
