:root {
  --navy:#0b2533; --navy-2:#123b4d; --cream:#f5f1e8; --paper:#fbfaf6;
  --red:#c9332f; --gold:#c99a28; --ink:#102b37; --muted:#65757c; --line:#d9d4c8;
  --serif:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.65; }
body.dialog-open { overflow:hidden; }
img, video { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button, select { font:inherit; }
.shell { width:min(1160px,calc(100% - 48px)); margin:auto; }
.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid rgba(11,37,51,.12); background:rgba(251,250,246,.96); backdrop-filter:blur(12px); }
.nav-wrap { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; min-width:170px; }
.brand img { width:116px; height:72px; object-fit:contain; }
.nav-links { display:flex; align-items:center; gap:24px; }
.nav-links a { position:relative; padding:30px 0 26px; font-size:.86rem; font-weight:700; }
.nav-links a::after { content:""; position:absolute; left:0; right:0; bottom:18px; height:2px; background:var(--red); transform:scaleX(0); transition:.2s; }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { transform:scaleX(1); }
.language { min-height:42px; padding:0 34px 0 13px; border:1px solid var(--line); color:var(--ink); background:white; font-weight:700; }
.hero { min-height:640px; display:grid; align-items:center; color:white; background:linear-gradient(135deg,#071a23,var(--navy-2)); }
.hero-copy { max-width:800px; padding:100px 0; }
.eyebrow { margin:0 0 18px; color:#f1d789; font-size:.76rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { overflow-wrap:anywhere; }
.display { margin:0; font-family:var(--serif); font-size:clamp(3rem,7vw,6.2rem); font-weight:400; line-height:.98; letter-spacing:-.035em; }
.hero p:not(.eyebrow) { max-width:680px; margin:26px 0 0; color:rgba(255,255,255,.86); font-size:1.08rem; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:0 23px; border:1px solid transparent; background:var(--red); color:white; font-size:.83rem; font-weight:800; }
.button.secondary { border-color:rgba(255,255,255,.58); background:transparent; }
.page-hero { padding:94px 0 72px; color:white; background:linear-gradient(135deg,var(--navy),var(--navy-2)); }
.page-hero .display { max-width:900px; font-size:clamp(3rem,6vw,5.2rem); }
.page-hero p:last-child { max-width:720px; margin:23px 0 0; color:rgba(255,255,255,.78); font-size:1.05rem; }
.section { padding:96px 0; }
.section.cream { background:var(--cream); }
.section-head { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); gap:50px; align-items:end; margin-bottom:46px; }
.section-head h2 { margin:0; font-family:var(--serif); font-size:clamp(2.55rem,5vw,4.8rem); font-weight:400; line-height:1.02; letter-spacing:-.025em; }
.section-head p { margin:0; color:var(--muted); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:62px; align-items:center; }
.feature-photo { min-height:480px; object-fit:cover; width:100%; }
.copy h2 { margin:0 0 22px; font-family:var(--serif); font-size:clamp(2.5rem,5vw,4.6rem); font-weight:400; line-height:1.03; }
.copy p { color:var(--muted); }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.metric { min-height:190px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:white; }
.metric b { display:block; margin-bottom:16px; color:var(--red); font-family:var(--serif); font-size:2.2rem; font-weight:400; }
.metric strong { display:block; font-family:var(--serif); font-size:1.4rem; font-weight:400; }
.metric span { color:var(--muted); font-size:.88rem; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.category-card { position:relative; min-height:330px; display:flex; align-items:end; overflow:hidden; padding:0; border:0; color:white; background:var(--navy); text-align:left; cursor:pointer; }
.category-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.category-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,26,35,.03),rgba(7,26,35,.9)); }
.category-card:hover img,.category-card:focus-visible img { transform:scale(1.045); }
.category-card:focus-visible,.product-card:focus-visible,.dialog-close:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.category-copy { position:relative; z-index:1; padding:28px; }
.category-copy small { display:block; margin-bottom:7px; color:#f2d482; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.category-copy strong { display:block; font-family:var(--serif); font-size:2rem; font-weight:400; line-height:1.1; }
.category-copy span { display:block; margin-top:8px; color:rgba(255,255,255,.82); font-size:.9rem; }
[hidden] { display:none!important; }
.catalog-detail { margin-top:44px; }
.catalog-toolbar { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; padding-bottom:17px; border-bottom:2px solid var(--navy); }
.catalog-toolbar h2 { margin:0; font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.5rem); font-weight:400; }
.catalog-summary { margin:5px 0 0; color:var(--muted); }
.catalog-back { min-height:44px; padding:0 18px; border:1px solid var(--navy); color:var(--navy); background:transparent; font-size:.8rem; font-weight:800; cursor:pointer; }
.catalog-back:hover { color:white; background:var(--navy); }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.product-card { min-height:440px; display:flex; flex-direction:column; padding:0; overflow:hidden; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:white; color:var(--ink); text-align:left; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.product-card:hover { z-index:1; transform:translateY(-3px); box-shadow:0 18px 42px rgba(11,37,51,.12); }
.product-photo { width:100%; height:220px; object-fit:cover; border-bottom:1px solid var(--line); }
.product-content { flex:1; display:flex; flex-direction:column; padding:24px 26px 27px; }
.product-meta { display:flex; justify-content:space-between; gap:15px; margin-bottom:15px; color:var(--red); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.product-content h3 { margin:0 0 10px; font-family:var(--serif); font-size:1.55rem; font-weight:400; line-height:1.15; }
.product-content p { margin:0; color:var(--muted); font-size:.91rem; }
.product-action { margin-top:auto; padding-top:18px; color:var(--red); font-size:.77rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-dialog { width:min(940px,calc(100% - 34px)); max-height:88vh; padding:0; border:0; color:var(--ink); background:white; box-shadow:0 28px 90px rgba(0,0,0,.28); }
.product-dialog::backdrop { background:rgba(5,22,30,.76); backdrop-filter:blur(4px); }
.dialog-layout { position:relative; display:grid; grid-template-columns:1fr 1fr; }
.dialog-image { width:100%; height:100%; min-height:530px; object-fit:cover; }
.dialog-copy { position:relative; padding:54px 48px 44px; }
.dialog-close-form { position:absolute; z-index:10; top:18px; right:18px; margin:0; }
.dialog-close { position:static; width:42px; height:42px; border:1px solid var(--line); background:white; color:var(--ink); font-size:1.4rem; cursor:pointer; pointer-events:auto; }
.dialog-kicker { margin:0 0 12px; color:var(--red); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dialog-copy h2 { margin:0 0 20px; padding-right:20px; font-family:var(--serif); font-size:clamp(2rem,4vw,3.2rem); font-weight:400; line-height:1.05; }
.dialog-description { color:var(--muted); }
.dialog-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:28px; background:var(--line); border:1px solid var(--line); }
.dialog-fact { padding:15px; background:var(--paper); }
.dialog-fact small { display:block; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.dialog-fact strong { display:block; margin-top:3px; font-size:.92rem; }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.video-card { overflow:hidden; background:var(--navy); color:white; }
.video-card video { width:100%; aspect-ratio:16/10; object-fit:cover; background:#071a23; }
.video-copy { padding:25px; }
.video-copy small { color:#f2d482; font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.video-copy h3 { margin:8px 0 8px; font-family:var(--serif); font-size:1.65rem; font-weight:400; }
.video-copy p { margin:0; color:rgba(255,255,255,.72); font-size:.9rem; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.process { padding:34px; background:white; }
.process b { color:var(--red); font-family:var(--serif); font-size:2rem; font-weight:400; }
.process h3 { margin:15px 0 7px; font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.process p { margin:0; color:var(--muted); font-size:.92rem; }
.notice { margin:0 0 34px; padding:16px 19px; border-left:3px solid var(--gold); color:var(--muted); background:#fff; }
.ticker { overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ticker-track { width:max-content; display:flex; animation:ticker 48s linear infinite; }
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track { animation-play-state:paused; }
.review-card { width:360px; min-height:285px; display:flex; flex-direction:column; padding:30px; border-right:1px solid var(--line); background:white; }
.review-top { display:flex; align-items:center; gap:14px; }
.avatar-empty { flex:0 0 auto; width:48px; height:48px; border-radius:50%; border:1px solid #c8c7c1; background:#e9e7e1; }
.review-name strong { display:block; font-family:var(--serif); font-size:1.1rem; font-weight:400; }
.review-name span { color:var(--muted); font-size:.78rem; }
.review-card blockquote { margin:24px 0 0; color:var(--muted); font-size:.95rem; }
.review-card .stars { margin-top:auto; padding-top:24px; color:var(--gold); letter-spacing:.12em; }
@keyframes ticker { to { transform:translateX(-50%); } }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.contact-card { padding:30px; border:1px solid var(--line); background:white; }
.contact-card + .contact-card { margin-top:14px; }
.contact-card small { display:block; color:var(--red); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact-card strong,.contact-card a { display:block; margin-top:8px; font-family:var(--serif); font-size:1.4rem; font-weight:400; line-height:1.35; }
.site-footer { padding:30px 0; color:rgba(255,255,255,.72); background:#071a23; font-size:.82rem; }
.footer-row { display:flex; justify-content:space-between; gap:25px; }
.footer-row strong { color:white; font-family:var(--serif); font-weight:400; }
/* Multi-page component aliases */
.hero-grid { min-height:640px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:50px; align-items:center; }
.hero-grid h1,.page-hero h1 { margin:0; font-family:var(--serif); font-size:clamp(3rem,7vw,6.2rem); font-weight:400; line-height:.98; letter-spacing:-.035em; }
.hero-grid .lede,.page-hero .lede { max-width:680px; margin:26px 0 0; }
.hero-image { width:100%; height:470px; object-fit:cover; box-shadow:22px 22px 0 rgba(201,154,40,.26); }
.button-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.feature-image { min-height:480px; object-fit:cover; width:100%; }
.split h2,.metrics-section h2,.section> .shell>h2 { margin:0 0 22px; font-family:var(--serif); font-size:clamp(2.5rem,5vw,4.6rem); font-weight:400; line-height:1.03; }
.section-copy { color:var(--muted); max-width:720px; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.metrics article { min-height:165px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:white; }
.metrics strong { display:block; margin-bottom:10px; color:var(--red); font-family:var(--serif); font-size:1.65rem; font-weight:400; }
.metrics span { color:var(--muted); font-size:.88rem; }
.category-card-copy { position:relative; z-index:1; padding:28px; }
.category-card-copy small { display:block; margin-bottom:7px; color:#f2d482; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.category-card-copy strong { display:block; font-family:var(--serif); font-size:2rem; font-weight:400; line-height:1.1; }
.category-card-copy span { display:block; margin-top:8px; color:rgba(255,255,255,.82); font-size:.9rem; }
.back-button { min-height:44px; margin-bottom:24px; padding:0 18px; border:1px solid var(--navy); color:var(--navy); background:transparent; font-size:.8rem; font-weight:800; cursor:pointer; }
.catalog-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; padding-bottom:17px; border-bottom:2px solid var(--navy); }
.catalog-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.5rem); font-weight:400; }
.catalog-heading p { margin:0; color:var(--muted); }
.product-cta { margin-top:auto; padding-top:18px; display:flex; justify-content:space-between; color:var(--red); font-size:.77rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
[data-dialog-image] { width:100%; height:100%; min-height:530px; object-fit:cover; }
.dialog-copy>.eyebrow { color:var(--red); padding-right:90px; }
.dialog-close { width:auto; min-width:42px; padding:0 12px; font-size:.86rem; font-weight:800; }
.product-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:28px 0 0; padding:0; background:var(--line); border:1px solid var(--line); }
.product-facts div { padding:15px; background:var(--paper); }
.product-facts dt { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-facts dd { margin:3px 0 0; font-weight:700; }
.photo-credit { margin:22px 0 0; color:var(--muted); font-size:.78rem; }
.photo-credit a { color:var(--red); text-decoration:underline; text-underline-offset:3px; }
.video-card>div { padding:25px; }
.video-card h3 { margin:0 0 8px; font-family:var(--serif); font-size:1.65rem; font-weight:400; }
.video-card p { margin:0; color:rgba(255,255,255,.72); font-size:.9rem; }
.process-section { background:var(--cream); }
.process-grid article { padding:34px; background:white; }
.process-grid article>span { color:var(--red); font-family:var(--serif); font-size:2rem; }
.process-grid h3 { margin:15px 0 7px; font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.process-grid p { margin:0; color:var(--muted); }
.demo-notice { margin:0 0 34px; padding:16px 19px; border-left:3px solid var(--gold); color:var(--muted); background:#fff; }
.contact-grid article { padding:30px; border:1px solid var(--line); background:white; }
.contact-grid article>span { display:block; color:var(--red); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact-grid a,.contact-grid address { display:block; margin-top:8px; font-family:var(--serif); font-size:1.35rem; font-style:normal; line-height:1.4; }
.contact-grid button { margin-top:18px; min-height:40px; padding:0 15px; border:1px solid var(--navy); background:transparent; cursor:pointer; }
.leadership-intro { background:linear-gradient(135deg,var(--navy),#123f50); }
.ceo-dossier { display:grid; grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr); min-height:650px; border:1px solid var(--line); background:#fff; box-shadow:18px 18px 0 rgba(201,154,40,.16); }
.portrait-placeholder { position:relative; min-height:520px; display:grid; place-items:center; overflow:hidden; color:rgba(255,255,255,.82); background:linear-gradient(145deg,#0b2533,#174b5e); }
.portrait-placeholder::before { content:""; position:absolute; width:68%; aspect-ratio:1; border:1px solid rgba(241,215,137,.45); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.018); }
.portrait-placeholder::after { content:""; position:absolute; inset:20px; border:1px solid rgba(255,255,255,.14); }
.portrait-placeholder span { position:relative; z-index:1; padding:11px 15px; border:1px solid rgba(255,255,255,.32); background:rgba(7,26,35,.5); font-size:.73rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.profile-portrait { width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center top; background:var(--navy); }
.dossier-copy { position:relative; padding:64px 66px; }
.profile-index { position:absolute; top:28px; right:34px; color:rgba(11,37,51,.1); font-family:var(--serif); font-size:5rem; line-height:1; }
.profile-role { color:var(--red); font-size:.76rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.profile-name { max-width:650px; margin:15px 0 28px; font-family:var(--serif); font-size:clamp(2.6rem,5vw,4.5rem); font-weight:400; line-height:1; }
.profile-copy { max-width:720px; color:var(--muted); }
.profile-copy p { margin:0 0 17px; }
.shareholder-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.shareholder-card { display:flex; flex-direction:column; min-height:520px; border:1px solid var(--line); background:#fff; }
.shareholder-card:nth-child(2) { transform:translateY(28px); }
.shareholder-card .portrait-placeholder { min-height:235px; }
.shareholder-content { position:relative; flex:1; padding:30px; }
.shareholder-number { color:var(--red); font-family:var(--serif); font-size:1.6rem; }
.shareholder-content h3 { margin:14px 0 12px; font-family:var(--serif); font-size:1.7rem; font-weight:400; line-height:1.12; }
.shareholder-content p { margin:0; color:var(--muted); font-size:.92rem; }
.shareholder-feature { width:min(900px,100%); display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); margin:auto; border:1px solid var(--line); background:#fff; box-shadow:14px 14px 0 rgba(201,154,40,.14); }
.shareholder-feature .profile-portrait { min-height:460px; }
.shareholder-feature .shareholder-content { display:flex; flex-direction:column; justify-content:center; padding:52px; }
.shareholder-feature .shareholder-content h3 { margin:17px 0 8px; font-size:clamp(2.3rem,4.5vw,3.8rem); }
.shareholder-role { margin:0 0 22px!important; color:var(--red)!important; font-size:.78rem!important; font-weight:800; letter-spacing:.1em; line-height:1.45!important; text-transform:uppercase; }
.shareholder-feature .shareholder-content>p:last-child { font-size:1rem; line-height:1.75; }
.vision-band { margin-top:78px; display:grid; grid-template-columns:.72fr 1.28fr; gap:45px; padding:48px; color:#fff; background:var(--navy); }
.vision-band h2 { margin:0; font-family:var(--serif); font-size:2.4rem; font-weight:400; }
.vision-band p { margin:0; color:rgba(255,255,255,.75); }
footer { padding:32px 0; color:rgba(255,255,255,.72); background:#071a23; font-size:.82rem; }
.footer-wrap { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; }
.footer-wrap img { width:64px; height:44px; object-fit:contain; filter:brightness(1.18); }
.footer-wrap p { margin:0; }
@media(max-width:950px){.nav-wrap{align-items:flex-start;padding:10px 0;flex-wrap:wrap}.nav-links{order:3;width:100%;overflow-x:auto}.nav-links a{padding:10px 0 14px;white-space:nowrap}.nav-links a::after{bottom:5px}.section-head,.split,.contact-grid,.hero-grid,.ceo-dossier,.shareholder-feature,.vision-band{grid-template-columns:1fr}.metric-grid,.metrics{grid-template-columns:repeat(2,1fr)}.category-grid,.product-grid,.video-grid{grid-template-columns:repeat(2,1fr)}.shareholder-grid{grid-template-columns:1fr 1fr}.shareholder-card:nth-child(2){transform:none}.process-grid{grid-template-columns:1fr}.dialog-layout{grid-template-columns:1fr}.dialog-image,[data-dialog-image]{min-height:300px;height:320px}.dialog-copy{padding:42px 30px 34px}.hero-grid{padding:70px 0}.profile-portrait,.shareholder-feature .profile-portrait{height:540px;min-height:0}.footer-wrap{grid-template-columns:auto 1fr}.footer-wrap small{grid-column:2}}
@media(max-width:620px){.shell{width:min(100% - 28px,1160px)}.brand img{width:96px;height:58px}.language{min-height:38px}.hero{min-height:560px}.hero-copy{padding:72px 0}.section,.page-hero{padding:72px 0}.category-grid,.product-grid,.video-grid,.metric-grid,.metrics,.shareholder-grid{grid-template-columns:1fr}.catalog-toolbar,.catalog-heading{align-items:flex-start;flex-direction:column-reverse}.review-card{width:310px}.footer-row{display:grid;gap:6px}.dialog-facts,.product-facts{grid-template-columns:1fr}.hero-image{height:340px}.dossier-copy{padding:42px 26px}.profile-index{top:18px;right:20px;font-size:3.5rem}.portrait-placeholder{min-height:380px}.profile-portrait,.shareholder-feature .profile-portrait{height:430px}.shareholder-feature .shareholder-content{padding:34px 26px}.vision-band{padding:34px 26px}.footer-wrap{display:grid;grid-template-columns:1fr}.footer-wrap small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker{overflow-x:auto}.ticker-track{animation:none}.category-card img,.product-card{transition:none}}
