:root { color-scheme: light; --ink:#102a2d; --muted:#607173; --cream:#f5f2e9; --paper:#fbfaf6; --mint:#a7d7bd; --line:rgba(16,42,45,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.company-site { margin:0; color:var(--ink); background:var(--paper); font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif; }
.company-site a { color:inherit; }
.company-header { height:88px; padding:0 clamp(24px,6vw,96px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.company-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font:600 1.25rem "Avenir Next","Helvetica Neue",Arial,sans-serif; letter-spacing:-.03em; }
.company-brand small { margin-left:5px; color:var(--muted); font-size:.62rem; letter-spacing:.12em; }
.company-mark,.product-mark { display:grid; place-items:center; width:40px; height:40px; color:var(--paper); background:var(--ink); border-radius:12px; font:700 1.1rem "Avenir Next","Helvetica Neue",Arial,sans-serif; }
.company-header nav,.company-footer nav { display:flex; gap:30px; }
.company-header nav a,.company-footer nav a { color:var(--muted); text-decoration:none; font-size:.88rem; }
.company-header nav a:hover,.company-footer nav a:hover { color:var(--ink); }
.company-hero { min-height:650px; padding:100px clamp(24px,8vw,130px); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); align-items:center; gap:8vw; background:var(--cream); overflow:hidden; }
.company-kicker { display:block; margin-bottom:20px; color:#527a68; font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.company-hero h1 { max-width:760px; margin:0; font:600 clamp(3rem,6vw,6.2rem)/.98 "Avenir Next","Helvetica Neue",Arial,sans-serif; letter-spacing:-.065em; }
.company-hero p { max-width:620px; margin:34px 0; color:var(--muted); font-size:clamp(1.05rem,1.6vw,1.32rem); line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.company-button { padding:15px 22px; color:white!important; background:var(--ink); border-radius:99px; text-decoration:none; font-weight:600; }
.text-link { text-decoration:none; font-weight:600; }
.hero-art { position:relative; min-height:390px; display:grid; place-items:center; }
.hero-art span { position:absolute; border:1px solid rgba(16,42,45,.22); border-radius:50%; }
.hero-art span:nth-child(1) { width:370px;height:370px; }
.hero-art span:nth-child(2) { width:265px;height:265px;background:rgba(167,215,189,.25); }
.hero-art span:nth-child(3) { width:160px;height:160px;background:var(--mint);border:none; }
.hero-art strong { z-index:1; font:600 5rem "Avenir Next","Helvetica Neue",Arial,sans-serif; }
.company-intro,.contact-section { padding:120px clamp(24px,8vw,130px); display:grid; grid-template-columns:1fr 1fr; gap:9vw; border-bottom:1px solid var(--line); }
.section-number { display:block; margin-bottom:28px; color:#729384; font-size:.75rem; letter-spacing:.16em; }
.company-intro h2,.products-section h2,.contact-section h2,.legal-page h1 { margin:0; font:600 clamp(2.2rem,4vw,4rem)/1.08 "Avenir Next","Helvetica Neue",Arial,sans-serif; letter-spacing:-.05em; }
.company-intro p { margin:0 0 22px; color:var(--muted); font-size:1.12rem; line-height:1.75; }
.products-section { padding:120px clamp(24px,8vw,130px); background:var(--ink); color:var(--paper); }
.section-heading { display:flex; gap:60px; margin-bottom:60px; }
.products-section .company-kicker { color:var(--mint); }
.product-card { padding:clamp(28px,5vw,64px); display:grid; grid-template-columns:.8fr 1.2fr .8fr; align-items:center; gap:7vw; border:1px solid rgba(255,255,255,.17); border-radius:28px; background:rgba(255,255,255,.04); }
.product-identity { display:flex; align-items:center; gap:18px; }
.product-mark { width:58px;height:58px;color:var(--ink);background:var(--mint);font-size:1.5rem; }
.product-identity h3 { margin:0 0 4px; font:600 1.5rem "Avenir Next","Helvetica Neue",Arial,sans-serif; }
.product-identity span,.product-card p,.product-card li { color:#bdc9c9; }
.product-card p { font-size:1.08rem;line-height:1.7; }
.product-card ul { margin:0;padding:0;list-style:none;line-height:2; }
.product-card li::before { content:"—";margin-right:10px;color:var(--mint); }
.product-status { grid-column:1/-1;padding-top:30px;border-top:1px solid rgba(255,255,255,.12);color:#bdc9c9;font-size:.82rem; }
.product-status span { display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(167,215,189,.12); }
.contact-section { align-items:end; }
.contact-section p { color:var(--muted);font-size:1.1rem;line-height:1.6; }
.email-link { display:flex;justify-content:space-between;gap:24px;padding-bottom:12px;border-bottom:1px solid var(--ink);font:500 clamp(1.15rem,2.4vw,2rem) "Avenir Next","Helvetica Neue",Arial,sans-serif;text-decoration:none; }
.company-footer { padding:55px clamp(24px,6vw,96px); display:grid; grid-template-columns:1fr auto; align-items:start; gap:30px; background:var(--cream); }
.company-footer div { display:flex;flex-direction:column;gap:7px; }
.company-footer span,.company-footer small { color:var(--muted); }
.company-footer small { grid-column:1/-1;padding-top:28px;border-top:1px solid var(--line); }
.legal-page { max-width:820px;margin:0 auto;padding:110px 24px 140px; }
.legal-page h1 { margin-bottom:14px; }
.legal-updated { margin-bottom:70px!important;color:var(--muted); }
.legal-page h2 { margin:40px 0 10px;font:600 1.2rem "Avenir Next","Helvetica Neue",Arial,sans-serif; }
.legal-page p { color:var(--muted);font-size:1.05rem;line-height:1.75; }
@media (max-width:800px) {
  .company-header { height:74px; }
  .company-header nav { display:none; }
  .company-hero { min-height:auto;padding-top:75px;grid-template-columns:1fr; }
  .hero-art { min-height:300px;transform:scale(.78); }
  .company-intro,.contact-section { padding-top:80px;padding-bottom:80px;grid-template-columns:1fr; }
  .products-section { padding-top:80px;padding-bottom:80px; }
  .product-card { grid-template-columns:1fr;gap:28px; }
  .product-status { grid-column:auto; }
  .company-footer { grid-template-columns:1fr; }
  .company-footer small { grid-column:auto; }
}
