:root{
  --navy:#082f3e;
  --navy-2:#0b3b4b;
  --teal:#0a6775;
  --teal-dark:#075563;
  --ink:#173845;
  --muted:#5e7680;
  --line:#cfdee2;
  --pale:#edf4f5;
  --pale-2:#f6f9f9;
  --accent:#d9efaa;
  --white:#fff;
  --shadow:0 14px 34px rgba(9,46,61,.08);
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #c79a32;outline-offset:4px}
img,svg{max-width:100%;display:block}
p{margin:0 0 1.15em}
h1,h2,h3{margin:0;color:var(--ink)}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.08}
h1{font-size:clamp(42px,5.2vw,72px);max-width:940px}
h2{font-size:clamp(31px,3.4vw,48px);max-width:840px}
h3{font-size:24px;line-height:1.25;font-weight:650;letter-spacing:-.018em}
.wrap{width:min(88%,1260px);margin:0 auto}
.skip{position:absolute;left:10px;top:-120px;background:#fff;padding:10px 14px;z-index:1000}.skip:focus{top:8px}

/* top strip + header */
.topbar{background:var(--navy);color:#cce0e5;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.topbar .wrap{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.top-actions{display:flex;align-items:center;gap:20px;letter-spacing:.02em;text-transform:none}
.top-actions a{transition:color .18s ease}.top-actions a:hover{color:#fff}
.top-brochure{color:#fff;font-weight:700}
.header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.head{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0 15px}
.brand{display:block;flex:0 1 390px;min-width:0}.brand img{width:390px;height:auto;object-fit:contain}
.head-meta{text-align:right;font-size:13px;line-height:1.7;color:var(--muted)}
.head-meta strong{display:block;color:var(--teal);letter-spacing:.09em;font-size:12px}
.navrow{border-top:1px solid #e8eff1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav{display:flex;gap:30px;align-items:stretch;flex-wrap:wrap}
.nav a{font-size:14px;font-weight:600;padding:14px 0 12px;border-bottom:3px solid transparent;transition:color .18s,border-color .18s}
.nav a:hover,.nav a[aria-current=page],.nav a.section-active{color:var(--teal);border-color:var(--teal)}
.language{font-size:13px;border:1px solid var(--line);padding:4px 11px;color:var(--teal);font-weight:700;white-space:nowrap}

/* hero */
.hero{background:var(--navy);color:#fff;padding:70px 0 63px}
.hero h1,.hero h2{color:#fff}.hero h1 em{font-style:normal;color:var(--accent)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);margin:0 0 16px;font-weight:800}
.hero .eyebrow{color:#a9d0d8}
.lead{font-size:18px;line-height:1.72;color:var(--muted);max-width:790px;margin:22px 0 0}
.hero .lead{color:#c8dce2}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:11px 20px;background:var(--teal);color:#fff;border:1px solid var(--teal);font-size:14px;font-weight:750;letter-spacing:.01em;transition:background .18s,color .18s,border-color .18s,transform .18s}
.btn:hover{background:var(--teal-dark);border-color:var(--teal-dark);transform:translateY(-1px)}
.btn.outline{background:transparent;color:var(--teal)}
.hero .btn{background:#fff;color:var(--navy);border-color:#fff}.hero .btn:hover{background:#eaf2f3;border-color:#eaf2f3}
.hero .btn.outline{background:transparent;color:#fff;border-color:#658591}.hero .btn.outline:hover{background:#134556;border-color:#7896a0}
/* Home hero: stronger image-led composition. The visual takes the larger share of the page so it reads as a primary brand image rather than a side thumbnail. */
.hero.home{padding:58px 0 42px;overflow:hidden}
.hero.home .wrap{width:min(94%,1400px);display:grid;grid-template-columns:minmax(400px,.82fr) minmax(0,1.18fr);column-gap:52px;row-gap:0;align-items:center}
.hero.home .eyebrow,.hero.home h1,.hero.home .lead,.hero.home .actions{grid-column:1}
.hero.home .eyebrow{margin-bottom:20px}
.hero.home h1{font-size:clamp(46px,4.1vw,60px);line-height:1.035;letter-spacing:-.03em;max-width:560px}
.hero.home h1 .hero-title-line{display:block}
.hero.home h1 em{display:block;margin-top:9px;font-size:.9em;white-space:normal;max-width:560px}
.hero.home .lead{font-size:17px;line-height:1.66;max-width:545px;margin-top:28px}
.hero.home .actions{margin-top:32px}
.hero-visual{grid-column:2;grid-row:1 / span 4;margin:0;align-self:stretch;min-height:545px;overflow:hidden;background:#123f50;box-shadow:0 28px 70px rgba(0,0,0,.22);position:relative}
.hero-visual:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--teal);z-index:2}
.hero-visual img{width:100%;height:100%;min-height:545px;object-fit:cover;object-position:center 52%}
.hero-index{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border-top:1px solid #456774}
.hero-index a{padding:21px 28px 0 0;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:baseline}
.hero-index a+a{padding-left:30px;border-left:1px solid #456774}
.hero-index span{font-size:12px;color:#abcbd3}.hero-index b{font-family:var(--serif);font-size:22px;font-weight:400;color:#fff}.hero-index small{grid-column:2;font-size:13px;color:#aac7cf;margin-top:4px}

/* content */
.crumbs{font-size:13px;padding:17px 0;color:var(--muted)}.crumbs a{text-decoration:underline;text-underline-offset:4px}
.section{padding:70px 0}.section.pale,.pale{background:var(--pale-2)}
.section-head{display:flex;gap:36px;align-items:flex-end;justify-content:space-between;margin-bottom:30px}
.section-head>div{min-width:0}.section-head>p{max-width:430px;margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{min-width:0;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#bad0d5}
.card>.art{align-self:stretch;margin:0 0 24px;background:var(--pale);overflow:hidden}
.card>.art img{width:100%;height:230px;object-fit:cover;transition:transform .35s ease}.card:hover>.art img{transform:scale(1.018)}
.card>.num,.card>h3,.card>p,.card>.tags,.card>.link{margin-left:28px;margin-right:28px}
.card>.num{font-size:12px;color:var(--teal);margin-bottom:13px;letter-spacing:.12em;font-weight:800}
.card h3{margin-bottom:13px}.card p{color:var(--muted);font-size:15px;line-height:1.65}
.card .link{margin-top:auto;padding:9px 0 28px;color:var(--teal);font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px;margin-bottom:18px}.tags span{font-size:12px;background:var(--pale);padding:4px 8px;color:var(--teal);font-weight:650}
.product-grid .card>.art img{height:220px}
.feature-art{margin:32px auto 0}.feature-art .art{margin:0;overflow:hidden;border:1px solid var(--line);background:var(--pale)}
.feature-art .art img{width:100%;height:clamp(310px,42vw,560px);object-fit:cover}
.intro-text{max-width:850px}.intro-text p,.split p{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start}.split>*{min-width:0}
.line-list{list-style:none;padding:0;margin:22px 0 0}.line-list li{padding:13px 0;border-bottom:1px solid var(--line)}.line-list li:first-child{border-top:1px solid var(--line)}
.numbered{counter-reset:steps;list-style:none;padding:0;margin:0}.numbered li{counter-increment:steps;display:grid;grid-template-columns:42px 1fr;gap:10px;padding:20px 0;border-top:1px solid var(--line)}.numbered li:before{content:'0' counter(steps);color:var(--teal);font-size:12px;font-weight:800;padding-top:6px}.numbered h3{font-size:21px;margin-bottom:7px}.numbered p{margin:0;color:var(--muted)}
.company-address{margin:28px 0 36px;max-width:900px}.company-address h3{font-size:22px;margin-bottom:13px}.company-address address{font-style:normal;line-height:1.8;color:var(--muted)}
.note{font-size:13px;color:var(--muted);margin-top:20px}

/* tables/contact */
.table-wrap{overflow-x:auto;margin-top:28px;border-top:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:15px;text-align:left}th,td{padding:15px 17px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--pale);font-weight:750}td:first-child{width:31%;color:var(--teal);font-weight:700}
.email{color:var(--teal);font-family:var(--serif);font-size:clamp(24px,3vw,40px);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:7px}
.contact-panel{border:1px solid var(--line);padding:30px;background:#fff}

/* CTA */
.band{background:var(--teal);color:#fff;padding:48px 0}.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:34px}.band h2{color:#fff;font-size:34px}.band p{margin:10px 0 0;color:#d6eaed}.band .btn{background:#fff;color:var(--teal);border-color:#fff;flex-shrink:0}.band .btn:hover{background:#edf4f5;border-color:#edf4f5}

/* footer */
.footer{background:#062633;color:#c7dce1;padding:43px 0 24px}.footer-grid{display:grid;grid-template-columns:1.15fr .85fr .8fr 1.4fr;gap:30px}.footer h3{font-family:var(--sans);font-size:16px;color:#fff;margin-bottom:14px;font-weight:750;letter-spacing:.02em}.footer p,.footer a,.footer address{font-size:13px}.footer a{display:block;margin:7px 0}.footer a:hover{text-decoration:underline}.footer-company p{line-height:1.75}.footer-contact address{font-style:normal;line-height:1.7;margin:13px 0 0;overflow-wrap:anywhere}.footer-email{color:#fff;font-weight:700;overflow-wrap:anywhere}.footer-site{color:#b9d4da}.footer-brochure,.footer-contact-link{color:#fff;text-decoration:underline;text-underline-offset:4px;margin-top:12px!important}.footer-bottom{border-top:1px solid #365460;margin-top:28px;padding-top:18px;font-size:12px;color:#9fbac1}

@media(max-width:1050px){
  .hero.home .wrap{width:min(94%,1220px);grid-template-columns:minmax(390px,.9fr) minmax(520px,1.1fr);column-gap:38px}.hero.home h1{font-size:clamp(42px,4.8vw,54px)}.hero.home h1 em{white-space:normal}.hero-visual{min-height:500px}.hero-visual img{min-height:500px}
  .cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .wrap{width:90%}.head-meta{display:none}.brand{flex-basis:350px}.brand img{width:350px}.nav{gap:20px}
  .hero.home .wrap{display:block;width:90%}.hero.home h1{max-width:700px}.hero.home h1 em{white-space:normal}.hero-visual{margin-top:36px;min-height:0;height:470px;border-left:0;border-top:3px solid var(--teal)}.hero-visual:before{display:none}.hero-visual img{min-height:0;height:100%}.hero-index{margin-top:28px}
  .section-head{display:block}.section-head>p{margin-top:18px;max-width:680px}.split{gap:36px}.cards.three{grid-template-columns:1fr}
}
@media(max-width:620px){
  body{font-size:15px}.topbar .wrap{min-height:34px;font-size:10px;letter-spacing:.06em}.top-actions{gap:10px}.top-email{display:none}.top-brochure{font-size:11px}
  .head{padding:13px 0}.brand{flex:0 1 285px}.brand img{width:285px}.navrow{align-items:flex-start;gap:10px;padding:10px 0}.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 13px;flex:1}.nav a{font-size:12px;padding:5px 0}.language{font-size:12px;margin-top:3px;padding:3px 7px}
  h1{font-size:39px}h2{font-size:31px}.hero,.hero.home{padding:42px 0 35px}.lead{font-size:17px}.hero-visual{height:335px}.hero-index{grid-template-columns:1fr}.hero-index a+a{padding-left:0;border-left:0;padding-top:20px}
  .section{padding:45px 0}.cards,.split,.footer-grid{grid-template-columns:1fr}.card>.art img,.product-grid .card>.art img{height:200px}.card>.num,.card>h3,.card>p,.card>.tags,.card>.link{margin-left:22px;margin-right:22px}.feature-art{margin-top:20px}.feature-art .art img{height:285px}.band .wrap{display:block}.band .btn{margin-top:22px}.band h2{font-size:29px}.contact-panel{padding:21px}.footer-grid{gap:23px}th,td{padding:12px 10px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.card>.art img,.btn{transition:none}.card:hover{transform:none}.card:hover>.art img{transform:none}}

/* v12: bounded responsive/accessibility repairs; preserve v11 visual design. */
.hero.home .wrap>*{min-width:0}
.footer-grid>div,.topbar .wrap>span{min-width:0}
.footer-site{overflow-wrap:anywhere}
.company-address address+address{margin-top:12px}
[tabindex="-1"]:focus{outline:none}
@media(min-width:821px) and (max-width:1100px){
 .hero.home .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:30px}
 .hero.home h1{font-size:clamp(38px,4.4vw,48px);overflow-wrap:break-word}
 .hero-visual,.hero-visual img{min-height:460px}
}
@media(max-width:620px){
 body{font-size:16px}
 .hero.home h1{font-size:clamp(34px,8.5vw,44px);line-height:1.09}
 .topbar .wrap{gap:10px;padding:5px 0}
 .top-actions{flex-shrink:0}
 .topbar .wrap>span{line-height:1.5}
 .top-brochure{display:inline-flex;align-items:center;min-height:34px}
 .nav a{font-size:14px;min-height:44px;display:flex;align-items:center;line-height:1.35}
 .language{min-height:44px;min-width:48px;display:flex;align-items:center;justify-content:center}
 .footer a{min-height:36px;display:flex;align-items:center}
 .footer .footer-email,.footer .footer-site{display:block;padding:7px 0}
}
@media(hover:none){.card:hover,.btn:hover,.card:hover>.art img{transform:none}}
@media(prefers-reduced-motion:reduce){a,.top-actions a,.nav a{transition:none}}
