:root{
  --blue:#1675a8;
  --cyan:#69c8df;
  --deep:#072f4a;
  --deep-2:#0a496d;
  --ink:#173447;
  --muted:#607584;
  --line:#d9e6ed;
  --pale:#f3f8fb;
  --white:#fff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;color:var(--ink);background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.site-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}

/* Header */
.site-header{position:sticky;top:0;z-index:100;height:88px;background:#fff;border-bottom:1px solid rgba(10,62,94,.12);box-shadow:0 4px 16px rgba(7,47,75,.055)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand img{width:138px;height:auto}
.main-nav{display:flex;align-items:center;gap:29px}
.main-nav a{position:relative;padding:34px 0 31px;color:#2a4252;font-size:15px;font-weight:600;white-space:nowrap}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:21px;height:2px;background:var(--blue);transform:scaleX(0);transition:.2s}
.main-nav a:hover,.main-nav a.active{color:var(--blue)}
.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}

/* Shared */
.section{position:relative;padding:100px 0;overflow:hidden}
.section-head{position:relative;z-index:2;max-width:900px;margin:0 0 48px}
.section-head.compact-head{max-width:920px}
.section-index{display:flex;align-items:center;margin:0 0 17px;color:#6c91a5;font-size:14px;font-weight:700;letter-spacing:.1em}
.section-index span{display:inline-flex;width:34px;height:34px;margin-right:11px;align-items:center;justify-content:center;border:1px solid #a9cbd9;border-radius:50%;color:var(--blue);font-size:13px;letter-spacing:0}
.section-head h2,.design-copy h2{margin:0;color:var(--deep);font-size:clamp(39px,4vw,52px);font-weight:600;line-height:1.25;letter-spacing:-.035em}
.section-head>p:last-child,.design-copy>p{max-width:810px;margin:22px 0 0;color:var(--muted);font-size:17px;line-height:1.9}
.light-head .section-index{color:#91c9d8}.light-head .section-index span{border-color:rgba(151,220,237,.55);color:#b9edf7}
.light-head h2{color:#fff}.light-head>p:last-child{color:rgba(255,255,255,.72)}
.btn{display:inline-flex;min-height:49px;padding:0 25px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:3px;font-size:15px;font-weight:700;transition:.2s}
.btn-white{background:#fff;color:var(--deep)}.btn-white:hover{background:#def3f9}
.btn-outline{border-color:rgba(255,255,255,.68);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.1)}

/* Hero */
.company-hero{position:relative;min-height:830px;padding:88px 0 0;color:#fff;background:linear-gradient(122deg,#052b45 0%,#084565 56%,#0c5d80 100%);overflow:hidden}
.hero-grid{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(90deg,transparent 0%,#000 42%,#000 100%)}
.hero-lines{position:absolute;right:-130px;top:-100px;width:760px;height:760px;border:1px solid rgba(137,222,241,.16);border-radius:50%;box-shadow:0 0 0 92px rgba(104,206,230,.025),0 0 0 184px rgba(104,206,230,.015)}
.hero-lines i{position:absolute;left:90px;width:610px;height:1px;background:linear-gradient(90deg,transparent,rgba(128,220,240,.4),transparent);transform-origin:center}
.hero-lines i:nth-child(1){top:210px;transform:rotate(23deg)}.hero-lines i:nth-child(2){top:340px;transform:rotate(-13deg)}.hero-lines i:nth-child(3){top:465px;transform:rotate(11deg)}.hero-lines i:nth-child(4){top:565px;transform:rotate(-25deg)}
.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:64px}
.eyebrow{margin:0 0 18px;color:#9ddcec;font-size:14px;font-weight:700;letter-spacing:.14em}
.hero-copy h1{margin:0;color:#fff;font-size:clamp(49px,4.65vw,64px);font-weight:600;line-height:1.14;letter-spacing:-.045em}
.hero-copy h1 span{display:inline-block;margin-top:8px;color:#c9f3ff;font-size:.84em}
.hero-lead{max-width:690px;margin:25px 0 0;color:rgba(255,255,255,.86);font-size:17px;line-height:1.95}
.hero-note{max-width:690px;margin:15px 0 0;padding-left:18px;border-left:2px solid var(--cyan);color:rgba(255,255,255,.7);font-size:15px;line-height:1.8}
.hero-actions,.cta-actions{display:flex;gap:14px;margin-top:29px}
.company-system{position:relative;height:450px}
.system-axis{position:absolute;left:50%;top:19px;bottom:19px;width:1px;background:linear-gradient(transparent,rgba(138,222,240,.6) 17%,rgba(138,222,240,.6) 83%,transparent)}
.system-axis:before,.system-axis:after{content:"";position:absolute;left:50%;width:8px;height:8px;border:2px solid #73cce1;border-radius:50%;background:#0a4c6b;transform:translateX(-50%)}
.system-axis:before{top:0}.system-axis:after{bottom:0}
.system-core{position:absolute;z-index:3;left:50%;top:50%;width:172px;height:172px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(157,225,241,.43);border-radius:50%;background:rgba(7,56,82,.84);box-shadow:0 0 0 17px rgba(112,209,231,.035),0 18px 50px rgba(0,22,37,.3);transform:translate(-50%,-50%);backdrop-filter:blur(8px)}
.system-core small{color:#8ed7e9;font-size:10px;font-weight:700;letter-spacing:.16em}.system-core strong{margin-top:8px;color:#fff;font-size:24px}.system-core span{margin-top:6px;color:rgba(255,255,255,.58);font-size:12px}
.company-system article{position:absolute;z-index:2;width:178px;min-height:82px;display:flex;align-items:center;gap:11px;padding:15px 14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.075);box-shadow:0 12px 30px rgba(0,27,44,.14);backdrop-filter:blur(7px)}
.company-system article:after{content:"";position:absolute;top:50%;width:54px;height:1px;background:linear-gradient(90deg,rgba(118,209,229,.18),rgba(118,209,229,.7))}
.company-system article:nth-of-type(1){left:-4px;top:32px}.company-system article:nth-of-type(2){right:-4px;top:137px}.company-system article:nth-of-type(3){left:-4px;bottom:137px}.company-system article:nth-of-type(4){right:-4px;bottom:32px}
.company-system article:nth-of-type(odd):after{right:-55px}.company-system article:nth-of-type(even):after{left:-55px;transform:scaleX(-1)}
.company-system article>b{display:flex;flex:0 0 34px;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(151,219,235,.48);border-radius:50%;color:#a7e1ee;font-size:11px}
.company-system article strong,.company-system article span{display:block}.company-system article strong{color:#fff;font-size:17px}.company-system article span{margin-top:4px;color:rgba(255,255,255,.58);font-size:11px;white-space:nowrap}
.hero-stats{position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);margin-top:48px;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}
.hero-stats article{min-height:137px;padding:25px 22px;border-right:1px solid rgba(255,255,255,.15)}.hero-stats article:first-child{border-left:1px solid rgba(255,255,255,.15)}
.hero-stats strong{color:#fff;font-size:30px;font-weight:600;letter-spacing:-.035em}.hero-stats span{margin-left:5px;color:#9eddeb;font-size:13px;font-weight:700}.hero-stats p{margin:8px 0 0;color:rgba(255,255,255,.66);font-size:14px;line-height:1.55}

/* Story */
.company-story{background:#fff}
.story-line-art{position:absolute;right:-170px;top:20px;width:560px;height:460px;opacity:.58}
.story-line-art:before,.story-line-art:after{content:"";position:absolute;border:1px solid #d8eaf1;border-radius:50%}.story-line-art:before{right:0;top:0;width:430px;height:430px}.story-line-art:after{right:82px;top:82px;width:266px;height:266px}
.story-line-art span{position:absolute;z-index:2;right:208px;top:208px;width:14px;height:14px;border:3px solid var(--cyan);border-radius:50%;background:#fff}
.story-line-art i{position:absolute;right:215px;width:240px;height:1px;background:linear-gradient(90deg,transparent,#b8d9e4);transform-origin:right}.story-line-art i:nth-of-type(1){top:116px;transform:rotate(29deg)}.story-line-art i:nth-of-type(2){top:215px}.story-line-art i:nth-of-type(3){top:316px;transform:rotate(-29deg)}
.story-intro{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:55px;align-items:stretch}
.story-intro .section-head{margin-bottom:0}.story-intro .section-head>p:not(.section-index){margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.9}
.company-video-placeholder{position:relative;min-height:360px;border:1px solid #b9d6e2;background:linear-gradient(140deg,#062d48,#0b5f80);overflow:hidden;box-shadow:0 24px 55px rgba(5,49,76,.12)}
.company-video-placeholder:before{content:"";position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(135deg,#000,transparent 78%)}
.company-video-placeholder svg{position:absolute;inset:13% 8% 15%;width:84%;height:72%}.company-video-placeholder svg path{fill:none;stroke:rgba(175,230,242,.31);stroke-width:1.5}.company-video-placeholder svg .video-route{stroke:#76d0e4;stroke-dasharray:7 8}.company-video-placeholder svg circle{fill:#76d0e4}
.video-label{position:absolute;z-index:3;left:27px;bottom:24px}.video-label small,.video-label strong,.video-label span{display:block}.video-label small{color:#8ed9e9;font-size:11px;font-weight:700;letter-spacing:.15em}.video-label strong{margin-top:7px;color:#fff;font-size:20px}.video-label span{margin-top:4px;color:rgba(255,255,255,.64);font-size:13px}
.play-mark{position:absolute;z-index:4;right:28px;top:27px;width:58px;height:58px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(5,44,68,.32)}.play-mark i{position:absolute;left:24px;top:19px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:15px solid #fff}
.evolution-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.evolution-grid article{position:relative;min-height:245px;padding:28px 26px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);overflow:hidden}
.evolution-grid article:after{content:"";position:absolute;right:-70px;bottom:-90px;width:180px;height:180px;border:1px solid #e0edf2;border-radius:50%}
.evolution-grid article>span{color:#75a0b1;font-size:12px;font-weight:700}.evolution-grid h3{margin:25px 0 12px;color:var(--deep);font-size:20px;line-height:1.45}.evolution-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.8}

/* Capability */
.capability{color:#fff;background:linear-gradient(124deg,#062d48,#084765 58%,#0a5b7b)}
.dark-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.dark-orbit{position:absolute;right:-260px;bottom:-320px;width:750px;height:750px;border:1px solid rgba(127,216,237,.15);border-radius:50%;box-shadow:0 0 0 94px rgba(127,216,237,.025),0 0 0 188px rgba(127,216,237,.014)}
.capability-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.13)}
.capability-grid article{position:relative;min-height:330px;padding:29px 27px;background:rgba(6,49,74,.75);overflow:hidden}
.capability-grid article>span{position:absolute;right:22px;top:20px;color:rgba(159,222,236,.46);font-size:12px;font-weight:700}
.capability-icon{position:relative;width:74px;height:74px;border:1px solid rgba(143,216,233,.36);border-radius:50%;background:rgba(255,255,255,.04)}
.capability-grid h3{margin:25px 0 13px;color:#fff;font-size:21px}.capability-grid p{margin:0;color:rgba(255,255,255,.69);font-size:15px;line-height:1.85}
.capability-icon i,.capability-icon b,.capability-icon strong{position:absolute}
.icon-research i{height:1px;background:#8ed9e9;transform-origin:left}.icon-research i:nth-child(1){left:18px;top:46px;width:38px;transform:rotate(-36deg)}.icon-research i:nth-child(2){left:33px;top:24px;width:26px;transform:rotate(30deg)}.icon-research i:nth-child(3){right:14px;top:25px;width:10px;height:10px;border:2px solid #8ed9e9;border-radius:50%;background:none}
.icon-engineering i{width:33px;height:33px;border:2px solid #8ed9e9;left:19px;top:19px;transform:rotate(45deg)}.icon-engineering i:nth-child(2){width:12px;height:12px;left:29px;top:29px;background:#8ed9e9}.icon-engineering b{left:34px;top:8px;width:1px;height:58px;background:rgba(142,217,233,.5)}
.icon-clinical i:first-child{left:17px;right:17px;top:35px;height:2px;background:#8ed9e9}.icon-clinical i:nth-child(2){top:17px;bottom:17px;left:35px;width:2px;background:#8ed9e9}.icon-clinical strong{right:8px;bottom:5px;color:#8ed9e9;font-size:18px}
.icon-manufacture i{bottom:18px;width:9px;border:2px solid #8ed9e9;border-bottom:0}.icon-manufacture i:nth-child(1){left:18px;height:21px}.icon-manufacture i:nth-child(2){left:32px;height:33px}.icon-manufacture i:nth-child(3){left:46px;height:44px}

/* History */
.company-history{background:#fff}
.history-lines{position:absolute;left:-230px;top:-280px;width:620px;height:620px;border:1px solid #e1edf2;border-radius:50%;box-shadow:0 0 0 80px rgba(105,200,223,.02),0 0 0 160px rgba(105,200,223,.012)}
.history-head{max-width:1120px}.history-head h2{white-space:nowrap;font-size:clamp(38px,3.8vw,50px)}
.timeline-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:8px}
.timeline-grid:before{content:"";position:absolute;left:8.333%;right:8.333%;top:84px;height:1px;background:linear-gradient(90deg,#6abbd1,#5cb4ce 50%,#6abbd1)}
.timeline-grid article{position:relative;min-height:306px;padding:0 16px;border-left:1px solid #e0ebf0}.timeline-grid article:last-child{border-right:1px solid #e0ebf0}
.timeline-year{height:58px;color:var(--blue);font-size:22px;font-weight:600;line-height:1.35;text-align:center}.timeline-grid article>span{position:relative;z-index:2;display:block;width:13px;height:13px;margin:20px auto 31px;border:3px solid #53b6d0;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(105,200,223,.11)}
.timeline-grid h3{margin:0 0 12px;color:var(--deep);font-size:19px;text-align:center}.timeline-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}

/* Manufacturing */
.quality{background:var(--pale)}
.quality-orbit{position:absolute;right:-340px;top:-350px;width:730px;height:730px;border:1px solid #d9ebf1;border-radius:50%;box-shadow:0 0 0 86px rgba(105,200,223,.025),0 0 0 172px rgba(105,200,223,.015)}
.manufacturing-media{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.factory-image,.factory-video{position:relative;min-height:320px;margin:0;overflow:hidden;background:#0a3e5c;box-shadow:0 18px 46px rgba(6,54,83,.09)}
.factory-image img,.factory-video img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.factory-image:after,.factory-video-shade{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,30,47,.84))}
.factory-image figcaption{position:absolute;z-index:3;left:27px;bottom:24px}.factory-image figcaption small,.factory-image figcaption strong{display:block}.factory-image figcaption small{color:#8ed9e9;font-size:11px;font-weight:700;letter-spacing:.14em}.factory-image figcaption strong{margin-top:7px;color:#fff;font-size:20px}
.factory-video .play-mark{top:24px;right:24px}.factory-video .video-label{left:27px;bottom:24px}
.quality-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;border-top:1px solid #cadfe8;border-left:1px solid #cadfe8}
.quality-grid article{min-height:235px;padding:27px 25px;border-right:1px solid #cadfe8;border-bottom:1px solid #cadfe8;background:rgba(255,255,255,.82)}
.quality-grid article>span{color:#6a9aae;font-size:12px;font-weight:700}.quality-grid h3{margin:24px 0 11px;color:var(--deep);font-size:19px;line-height:1.45}.quality-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.8}

/* Design and awards */
.design-care{background:#fff}
.design-line-art{position:absolute;left:-180px;bottom:-240px;width:580px;height:580px;border:1px solid #e0edf2;border-radius:50%;box-shadow:0 0 0 72px rgba(105,200,223,.02),0 0 0 145px rgba(105,200,223,.012)}
.design-line-art i{position:absolute;right:60px;width:260px;height:1px;background:linear-gradient(90deg,transparent,#aad2df);transform-origin:right}.design-line-art i:nth-child(1){top:150px;transform:rotate(28deg)}.design-line-art i:nth-child(2){top:280px}.design-line-art i:nth-child(3){top:410px;transform:rotate(-28deg)}.design-line-art span{position:absolute;right:55px;top:274px;width:13px;height:13px;border:3px solid var(--cyan);border-radius:50%;background:#fff}
.design-layout{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;align-items:end}
.design-copy .section-index{margin-bottom:17px}.design-copy>p{font-size:16px}.design-callout{margin-top:25px;padding:21px 23px;border-left:4px solid var(--blue);background:#edf6f9;color:#345f75;font-size:16px;font-weight:600;line-height:1.8}
.design-copy,.award-grid{position:relative;z-index:2}
.award-line-art{position:absolute;z-index:1;right:0;top:8px;width:55%;height:132px;overflow:hidden;background-image:linear-gradient(rgba(122,184,204,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(122,184,204,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%)}
.award-line-art:before{content:"DESIGN · HUMAN FACTORS · CARE";position:absolute;right:0;top:5px;color:#8fb3c2;font-size:11px;font-weight:700;letter-spacing:.15em}
.award-line-art i{position:absolute;height:1px;background:linear-gradient(90deg,#b7d8e3,#65bdd4);transform-origin:left}
.award-line-art i:nth-of-type(1){left:7%;top:91px;width:22%;transform:rotate(-15deg)}.award-line-art i:nth-of-type(2){left:28%;top:58px;width:20%;transform:rotate(13deg)}.award-line-art i:nth-of-type(3){left:47%;top:83px;width:22%;transform:rotate(-21deg)}.award-line-art i:nth-of-type(4){left:68%;top:36px;width:29%;transform:rotate(17deg)}
.award-line-art span{position:absolute;width:9px;height:9px;border:2px solid #55b6cf;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(105,200,223,.1)}
.award-line-art span:nth-of-type(1){left:6%;top:86px}.award-line-art span:nth-of-type(2){left:27%;top:53px}.award-line-art span:nth-of-type(3){left:46%;top:78px}.award-line-art span:nth-of-type(4){left:67%;top:31px}
.award-grid{align-self:end;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.award-grid article{position:relative;min-height:196px;padding:20px 17px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7fafb)}
.award-grid article>div{height:112px;display:flex;align-items:center;justify-content:center;background:transparent}.award-grid img{width:70%;height:68px;object-fit:contain;transform:translateY(4px)}
.award-grid h3{margin:10px 0 0;color:#36566a;font-size:14px;font-weight:700;text-align:center;line-height:1.5}
.award-count{position:absolute;z-index:2;right:12px;top:11px;display:flex;min-width:34px;height:24px;padding:0 7px;align-items:center;justify-content:center;border-radius:12px;color:#fff;background:var(--blue);font-size:12px;font-weight:700;box-shadow:0 5px 12px rgba(22,117,168,.2)}

/* Validation */
.validation{color:#fff;background:linear-gradient(123deg,#062d48,#084765 57%,#0a5878)}
.validation-grid-art{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,#000 35%,#000)}
.validation:after{content:"";position:absolute;right:-300px;top:-390px;width:760px;height:760px;border:1px solid rgba(125,215,236,.15);border-radius:50%;box-shadow:0 0 0 95px rgba(125,215,236,.025),0 0 0 190px rgba(125,215,236,.015)}
.validation-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}
.validation-stats article{min-height:130px;padding:24px 25px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035)}
.validation-stats strong,.validation-stats span{display:block}.validation-stats strong{color:#fff;font-size:37px;font-weight:600;letter-spacing:-.035em}.validation-stats span{margin-top:7px;color:rgba(255,255,255,.67);font-size:14px;line-height:1.55}
.validation-content{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.validation-content article{min-height:245px;padding:27px 27px 25px;border:1px solid rgba(255,255,255,.15);background:rgba(4,40,61,.55)}
.validation-content article>span{color:#83d3e6;font-size:11px;font-weight:700;letter-spacing:.12em}.validation-content h3{margin:22px 0 12px;color:#fff;font-size:21px}.validation-content p{margin:0;color:rgba(255,255,255,.69);font-size:15px;line-height:1.85}

/* Principles */
.principles{background:#fff}
.principles-orbit{position:absolute;right:-270px;bottom:-360px;width:720px;height:720px;border:1px solid #dcecf2;border-radius:50%;box-shadow:0 0 0 86px rgba(105,200,223,.025),0 0 0 172px rgba(105,200,223,.014)}
.principle-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.principle-grid article{position:relative;min-height:260px;padding:31px 30px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f6fafb);box-shadow:0 16px 42px rgba(6,54,83,.045);overflow:hidden}
.principle-grid article:after{content:"";position:absolute;right:-78px;bottom:-98px;width:190px;height:190px;border:1px solid #d8eaf0;border-radius:50%;box-shadow:0 0 0 30px rgba(105,200,223,.035)}
.principle-grid article>span{display:flex;width:39px;height:39px;align-items:center;justify-content:center;border:1px solid #a9cedb;border-radius:50%;color:var(--blue);background:#f2f9fb;font-size:12px;font-weight:700}.principle-grid h3{margin:25px 0 13px;color:var(--deep);font-size:21px}.principle-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.85}

/* CTA and footer */
.company-cta{position:relative;padding:75px 0;color:#fff;background:linear-gradient(114deg,#07314e,#0b6488);overflow:hidden}
.cta-pattern{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent,#000)}
.cta-layout{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}.cta-layout h2{margin:0;color:#fff;font-size:clamp(35px,3.7vw,48px);line-height:1.25}.cta-layout>div>p:last-child{max-width:760px;margin:17px 0 0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.85}.cta-actions{margin-top:0;white-space:nowrap}
.site-footer{padding:67px 0 24px;background:#06283d;color:#fff}.footer-main{display:grid;grid-template-columns:1fr auto;gap:70px;padding-bottom:44px}.footer-brand img{width:150px;filter:brightness(0) invert(1);margin-bottom:20px}.footer-brand h2{margin:0 0 9px;color:#fff;font-size:20px}.footer-brand p{margin:0;color:rgba(255,255,255,.6);font-size:14px}.footer-nav{display:grid;grid-template-columns:repeat(3,auto);gap:17px 32px;align-content:start}.footer-nav a{color:rgba(255,255,255,.72);font-size:14px}.footer-nav a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.45);font-size:12px}.footer-bottom a{color:inherit}

@media(max-width:1100px){
  .main-nav{gap:17px}.main-nav a{font-size:13px}
  .company-hero{min-height:auto;padding-top:78px}.hero-layout{grid-template-columns:minmax(0,1fr);gap:30px}.hero-copy{max-width:850px}.company-system{width:630px;max-width:100%;margin:0 auto}.company-system article{width:215px;padding:15px 17px;gap:13px}.company-system article span{font-size:12px}.hero-stats{margin-top:34px}
  .story-intro,.design-layout{grid-template-columns:1fr;gap:35px}.company-video-placeholder{min-height:430px}.design-copy{max-width:900px}.award-line-art{display:none}.award-grid{max-width:840px}
  .evolution-grid,.capability-grid,.quality-grid{grid-template-columns:repeat(2,1fr)}.capability-grid article{min-height:285px}.quality-grid article{min-height:210px}
  .timeline-grid article{padding:0 20px}.timeline-year{font-size:22px}
  .cta-layout{grid-template-columns:1fr}.cta-actions{margin-top:0}
}

@media(max-width:820px){
  html{scroll-padding-top:132px}.site-shell{width:min(100% - 32px,680px)}
  .site-header{height:auto}.header-inner{display:block;padding:15px 0}.brand img{width:118px}.main-nav{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);gap:10px 20px;overflow:auto}.main-nav a{padding:5px 0 8px}.main-nav a:after{bottom:0}
  .company-hero{padding-top:67px}.hero-copy h1{font-size:43px}.hero-lead{font-size:16px}.hero-note{font-size:14px}.company-system{height:430px}.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-stats article:nth-child(odd){border-left:1px solid rgba(255,255,255,.15)}.hero-stats article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.15)}.hero-stats article:last-child{grid-column:1/-1}
  .section{padding:80px 0}.section-head{margin-bottom:39px}.section-head h2,.design-copy h2{font-size:36px}.section-head>p:last-child{font-size:16px}
  .company-video-placeholder{min-height:340px}.evolution-grid{grid-template-columns:1fr}.evolution-grid article{min-height:205px}
  .history-head h2{white-space:normal}.timeline-grid{grid-template-columns:1fr}.timeline-grid:before{left:25px;right:auto;top:10px;bottom:10px;width:1px;height:auto}.timeline-grid article{min-height:auto;padding:0 22px 35px 70px;border:0}.timeline-grid article:last-child{border:0;padding-bottom:0}.timeline-year{height:auto;text-align:left}.timeline-grid article>span{position:absolute;left:19px;top:17px;margin:0}.timeline-grid h3{margin-top:14px;text-align:left}
  .manufacturing-media{grid-template-columns:1fr}.factory-image,.factory-video{min-height:350px}
  .validation-stats{grid-template-columns:repeat(2,1fr)}.validation-content,.principle-grid{grid-template-columns:1fr}.validation-content article,.principle-grid article{min-height:auto}
  .footer-main{display:block}.footer-nav{margin-top:30px;grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
  .site-shell{width:calc(100% - 28px)}.main-nav{gap:10px 18px}
  .company-hero{padding-top:53px}.hero-copy h1{font-size:34px}.hero-copy h1 span{font-size:.9em}.hero-actions,.cta-actions{align-items:stretch;flex-direction:column}.btn{width:100%}
  .company-system{height:485px;margin-top:10px}.system-core{width:132px;height:132px}.system-core strong{font-size:19px}.system-axis{top:25px;bottom:25px}.company-system article{width:148px;min-height:72px;padding:12px 11px;gap:8px}.company-system article>b{display:none}.company-system article strong{font-size:14px}.company-system article span{font-size:10px;white-space:normal}.company-system article:nth-of-type(1){left:0;top:33px}.company-system article:nth-of-type(2){right:0;top:137px}.company-system article:nth-of-type(3){left:0;bottom:137px}.company-system article:nth-of-type(4){right:0;bottom:33px}.company-system article:after{width:33px}.company-system article:nth-of-type(odd):after{right:-34px}.company-system article:nth-of-type(even):after{left:-34px}
  .hero-stats{margin-top:22px}.hero-stats article{min-height:128px;padding:22px 18px}.hero-stats strong{font-size:27px}.hero-stats span{font-size:12px}.hero-stats p{font-size:12px}
  .section{padding:66px 0}.section-head h2,.design-copy h2{font-size:29px}.section-head>p:last-child,.design-copy>p{font-size:15px}.section-index{font-size:12px}.section-index span{width:31px;height:31px}
  .story-intro .section-head>p:not(.section-index){font-size:15px}.company-video-placeholder{min-height:260px}.video-label{left:20px;bottom:19px}.video-label strong{font-size:17px}.play-mark{right:18px;top:18px;width:50px;height:50px}.play-mark i{left:21px;top:16px}
  .evolution-grid,.capability-grid,.quality-grid,.award-grid{grid-template-columns:1fr}.evolution-grid article{padding:25px 23px}.capability-grid article{min-height:auto;padding:27px 24px}.quality-grid article{min-height:auto;padding:25px 23px}
  .factory-image,.factory-video{min-height:270px}.factory-image figcaption,.factory-video .video-label{left:20px;bottom:18px}.factory-image figcaption strong{font-size:17px}
  .design-callout{font-size:15px}.award-grid article{min-height:176px}.award-grid article>div{height:96px}.award-grid img{height:61px}
  .validation-stats{grid-template-columns:1fr}.validation-stats article{min-height:110px}.validation-content article{padding:25px 23px}.principle-grid article{padding:27px 24px}
  .company-cta{padding:63px 0}.cta-layout h2{font-size:30px}.footer-bottom{flex-direction:column;gap:8px}
}

/* V5.19: self-hosted videos; MP4 files delivered separately */
.company-video-placeholder.video-card,.factory-video.video-card{position:relative;min-height:0;aspect-ratio:16/9;background:#082f49;border:0;border-radius:3px;overflow:hidden}.company-video-placeholder.video-card:before{display:none}.video-card .company-player{display:block;width:100%;height:100%;object-fit:contain;background:#082f49}.video-cover-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,30,47,.08),transparent 45%,rgba(3,30,47,.78));z-index:2}.video-card .play-mark{cursor:pointer;transition:background .2s;display:block}.video-card .play-mark:hover{background:rgba(5,44,68,.7)}.video-card .play-mark:focus-visible{outline:3px solid #69c8df;outline-offset:4px}.video-card.is-playing .video-label,.video-card.is-playing .play-mark,.video-card.is-playing .video-cover-shade{display:none}.video-error{position:absolute;z-index:5;left:15px;right:15px;top:40%;margin:0;padding:12px 16px;background:rgba(3,30,47,.9);color:#fff;font-size:14px;text-align:center}.video-error[hidden]{display:none}.video-card .video-label{pointer-events:none}.video-card .video-label small{color:#b7eaf4}
@media(max-width:560px){.video-card .video-label{bottom:17px;left:18px}.video-card .video-label strong{font-size:16px}.video-card .video-label span{font-size:12px}.video-card .play-mark{top:16px;right:16px}}

/* Company film: expand to the left while keeping the shell right edge */
.story-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:44px;align-items:start}.story-intro .section-head{min-width:0}.story-intro .section-head h2{font-size:clamp(34px,3.1vw,42px);line-height:1.35}.story-intro .section-head>p:not(.section-index){line-height:1.85}.story-intro .company-video-placeholder.video-card{width:100%;max-width:600px;min-width:0;justify-self:end;align-self:start;aspect-ratio:16/9}.story-intro .company-player{min-width:0;max-width:100%}
@media(max-width:1060px){.story-intro{grid-template-columns:minmax(0,1fr);gap:35px}.story-intro .company-video-placeholder.video-card{max-width:560px;justify-self:end}}
@media(max-width:560px){.story-intro .company-video-placeholder.video-card{max-width:100%;justify-self:stretch}}

/* V5.27: align the company film and fill the production poster */
@media(min-width:1061px){.story-intro .company-video-placeholder.video-card{margin-top:10px}}
.factory-video.video-card:not(.is-playing) .company-player{object-fit:cover;object-position:center}.factory-video.video-card.is-playing .company-player{object-fit:contain}

/* Prevent single-column hero graphics from expanding the mobile text column */
.hero-layout>div{min-width:0}

/* Keep corner arc decorations behind card content. */
.evolution-grid article{isolation:isolate}
.evolution-grid article:after{z-index:-1;pointer-events:none}
.principle-grid article{isolation:isolate}
.principle-grid article:after{z-index:-1;pointer-events:none}

.award-line-art>svg{display:block;width:100%;height:100%}

.evolution-grid article:after{transform:translateY(30%)}
.principle-grid article:after{transform:translateY(30%)}
