@font-face{
  font-family:"Bricolage Grotesque";
  src:url("../assets/brico-latin.woff2") format("woff2");
  font-display:swap;
}
:root{
  --ink:#0e1b2c;
  --muted:#667181;
  --green:#14553f;
  --green-2:#1b6a4e;
  --paper:#f3f6fa;
  --soft:#e9eef2;
  --line:#d6dde4;
  --white:#fff;
  --shadow:0 22px 60px rgba(14,27,44,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Bricolage Grotesque",system-ui,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(243,246,250,.86);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(214,221,228,.75);
}
.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:700;letter-spacing:-.03em}
.brand-muted{opacity:.48}
.brand-mark{width:27px;height:27px;border-radius:50%;background:var(--ink);display:grid;place-items:center;position:relative}
.brand-mark:before{content:"";width:19px;height:19px;border:1px solid var(--paper);border-radius:50%}
.brand-mark span{position:absolute;width:11px;height:11px;background:var(--green);border-radius:50%}
.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}
.main-nav>a:not(.nav-cta){opacity:.72}
.main-nav>a:hover{opacity:1}
.nav-cta{background:var(--ink);color:white;padding:11px 16px;border-radius:999px}
.nav-cta span{margin-left:8px}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}

.hero{padding:92px 0 78px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:74px;align-items:center}
.eyebrow{
  margin:0 0 20px;
  color:var(--green);
  font-size:11px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
}
.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:1px;box-shadow:0 0 0 5px rgba(20,85,63,.09)}
.hero h1,.section h2{
  margin:0;
  font-weight:650;
  letter-spacing:-.065em;
  line-height:.96;
}
.hero h1{font-size:clamp(60px,7.3vw,102px);max-width:760px}
.hero h1 em,.section h2 em{font-style:normal;color:var(--green)}
.hero-lead{font-size:19px;line-height:1.55;color:#475261;max-width:620px;margin:28px 0 28px}
.hero-actions{display:flex;align-items:center;gap:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 20px;border-radius:999px;border:1px solid transparent;
  font-size:14px;font-weight:750;transition:transform .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:#fff}
.btn-dark{background:var(--ink);color:#fff;width:100%;margin-top:25px}
.btn-light{background:#fff;color:var(--ink)}
.text-link{font-size:14px;font-weight:750;border-bottom:1px solid rgba(14,27,44,.25);padding-bottom:3px}
.text-link span{margin-left:6px}
.text-link.dark{border-color:rgba(20,85,63,.3);color:var(--green)}
.hero-note{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;color:#7b8591;font-size:12px}
.hero-note span+span{border-left:1px solid var(--line);padding-left:16px}

.hero-system{
  background:#fff;border:1px solid #dce2e8;border-radius:24px;padding:22px;
  box-shadow:var(--shadow);transform:rotate(1.2deg);
}
.system-top,.system-foot{display:flex;align-items:center;justify-content:space-between}
.mini-label{display:block;font-size:9px;letter-spacing:.14em;font-weight:800;color:#8993a0;margin-bottom:3px}
.system-top strong{font-size:16px}
.status{font-size:11px;font-weight:700;color:var(--green);background:#e9f3ef;padding:7px 10px;border-radius:999px}
.status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}
.flow{padding:25px 0 20px}
.flow-node{
  display:flex;align-items:center;gap:13px;padding:15px 16px;border:1px solid #e1e6eb;border-radius:14px;background:#fbfcfd
}
.flow-node.result{background:#f2f8f5;border-color:#d8e9e1}
.node-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--ink);color:#fff;font-size:14px}
.flow-node.result .node-icon{background:var(--green)}
.flow-node b{display:block;font-size:13px}
.flow-node small{display:block;color:#8993a0;font-size:11px;margin-top:2px}
.flow-line{height:23px;border-left:1px dashed #aab4bf;margin-left:31px;position:relative}
.flow-line span{position:absolute;left:-3px;bottom:0;width:5px;height:5px;border-radius:50%;background:#aab4bf}
.system-foot{border-top:1px solid #e5e9ed;padding-top:15px;color:#8b95a1;font-size:10px}
.system-foot b{color:var(--ink)}

.proof-strip{border-block:1px solid var(--line);background:#edf1f4}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid>div{display:flex;gap:13px;align-items:center;padding:20px 0;font-size:12px;font-weight:650}
.proof-grid>div+div{border-left:1px solid var(--line);padding-left:24px}
.proof-number{font-size:10px;color:var(--green);font-weight:800}

.section{padding:118px 0}
.section-soft{background:#eaf0f2}
.section-dark{background:var(--ink);color:#fff}
.section-head{margin-bottom:52px}
.section-head.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}
.section-head.centered{text-align:center}
.section h2{font-size:clamp(45px,5.4vw,72px)}
.section-intro{margin:0;max-width:530px;color:#5c6674;font-size:17px;line-height:1.6}
.section-dark .section-intro,.section-dark .eyebrow-light{color:#aeb8c4}
.eyebrow-light{color:#9ac8b3}

.product-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}
.product-card{background:#fff;border:1px solid #dfe5ea;border-radius:var(--radius);padding:29px;min-height:330px;display:flex;flex-direction:column}
.product-card.featured{background:var(--green);color:#fff;border-color:var(--green)}
.card-index{font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.55}
.product-card h3{font-size:24px;letter-spacing:-.04em;margin:62px 0 10px}
.product-card p{color:#65707e;font-size:14px;line-height:1.55;margin:0}
.product-card.featured p{color:#d3e2dc}
.card-example{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:11px;border-top:1px solid rgba(255,255,255,.2);padding-top:18px}
.card-example b{opacity:.55}
.card-list{margin-top:auto;display:grid;gap:7px;font-size:12px;color:#4e5967}
.card-list span:first-letter{color:var(--green)}

.steps{border-top:1px solid rgba(255,255,255,.14)}
.step{display:grid;grid-template-columns:100px 1fr;gap:35px;padding:29px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.step-no{font-size:11px;color:#85b49f;font-weight:800;letter-spacing:.1em}
.step h3{margin:0 0 7px;font-size:22px;letter-spacing:-.03em}
.step p{margin:0;color:#aeb8c4;max-width:650px;font-size:14px}

.security-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:start}
.security-stack{border-top:1px solid var(--line)}
.security-item{display:grid;grid-template-columns:45px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}
.security-icon{font-size:10px;color:var(--green);font-weight:800}
.security-item b{font-size:16px}
.security-item p{margin:5px 0 0;color:#6a7480;font-size:13px;line-height:1.55}

.use-cases{border-top:1px solid #cfd7de}
.use-case{width:100%;display:grid;grid-template-columns:55px 1fr 30px;gap:20px;align-items:center;text-align:left;background:none;border:0;border-bottom:1px solid #cfd7de;padding:23px 5px;color:var(--ink)}
.use-case:hover,.use-case.active{background:rgba(255,255,255,.45)}
.use-case-no{font-size:10px;color:var(--green);font-weight:800}
.use-case b{display:block;font-size:18px}
.use-case small{display:block;color:#707b88;margin-top:3px;font-size:12px}
.use-case i{font-style:normal;font-size:18px;opacity:.35}

.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.offer-card{background:#fff;border:1px solid #dce2e8;border-radius:var(--radius);padding:12px 25px 25px;box-shadow:0 15px 40px rgba(14,27,44,.05)}
.offer-row{display:grid;grid-template-columns:35px 1fr 1.2fr;gap:15px;padding:18px 0;border-bottom:1px solid #e3e8ec;font-size:12px;align-items:center}
.offer-row span:first-child{color:var(--green);font-size:10px;font-weight:800}
.offer-row span:last-child{color:#79838f}
.offer-row b{font-size:14px}

.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}
.faq{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:0}
summary{list-style:none;cursor:pointer;padding:22px 0;font-size:16px;font-weight:700;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font-weight:400;color:#85909c}
details[open] summary:after{content:"−"}
details p{margin:-5px 40px 22px 0;color:#66717e;font-size:14px;line-height:1.6}

.contact-section{padding:85px 0}
.contact-box{background:var(--ink);color:#fff;border-radius:30px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:90px}
.contact-box h2{font-size:clamp(43px,5vw,64px)}
.contact-box>div>p:last-child{color:#aeb8c4;max-width:480px;font-size:15px;margin-top:25px}
.contact-form{display:grid;gap:15px}
.contact-form label{font-size:11px;color:#c4ccd5;font-weight:700}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #354253;background:#172538;color:#fff;border-radius:10px;padding:12px 13px;outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:#85b49f}
.contact-form textarea{resize:vertical}
.form-message{font-size:12px;color:#9ac8b3;min-height:16px;margin:0}

.site-footer{background:#0a1522;color:#fff;padding:48px 0 24px}
.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:45px}
.brand-footer{color:#fff}
.footer-top p{color:#8895a4;font-size:12px;line-height:1.6;margin:15px 0 0}
.footer-top nav{display:flex;gap:22px;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end}
.footer-top nav a{font-size:12px;color:#c6ced7}
.footer-bottom{border-top:1px solid #233142;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#718092;font-size:10px}


/* Navigation tools */
.nav-tools{display:flex;align-items:center;gap:15px;margin-left:22px}
.language-switcher{position:relative}
.language-button{
  border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:800;
  letter-spacing:.08em;padding:8px 4px;display:flex;align-items:center;gap:5px
}
.chevron{font-size:14px;line-height:1;opacity:.55}
.language-menu{
  position:absolute;right:0;top:39px;display:none;min-width:120px;padding:6px;
  background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)
}
.language-menu.open{display:grid}
.language-menu button{
  border:0;background:none;text-align:left;padding:9px;border-radius:8px;font-size:12px;color:var(--ink)
}
.language-menu button:hover{background:var(--soft)}
.theme-toggle{border:0;background:transparent;display:flex;align-items:center;gap:5px;padding:5px;color:var(--ink)}
.theme-icon{font-size:15px;line-height:1;opacity:.55}
.theme-track{width:34px;height:19px;border-radius:999px;background:#d8dfe5;padding:2px;transition:background .25s ease}
.theme-knob{display:block;width:15px;height:15px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .25s ease}
.dark-mode .theme-track{background:#3b4c60}
.dark-mode .theme-knob{transform:translateX(15px)}

/* Dark theme */
.dark-mode{
  --ink:#edf3f7;
  --muted:#aeb9c5;
  --paper:#0d1723;
  --soft:#142231;
  --line:#293746;
  --white:#152231;
  --shadow:0 22px 60px rgba(0,0,0,.28);
}
.dark-mode body{background:var(--paper);color:var(--ink)}
.dark-mode .site-header{background:rgba(13,23,35,.88);border-color:#253442}
.dark-mode .brand-mark{background:#eef4f7}
.dark-mode .brand-mark:before{border-color:#0d1723}
.dark-mode .main-nav>a:not(.nav-cta){color:#d8e0e6}
.dark-mode .nav-cta{background:#eef4f7;color:#0d1723}
.dark-mode .hero-lead,.dark-mode .section-intro{color:#b5c0ca}
.dark-mode .hero-note{color:#8e9baa}
.dark-mode .hero-note span+span{border-color:#344252}
.dark-mode .hero-system,.dark-mode .product-card,.dark-mode .offer-card,.dark-mode .language-menu{background:#152231;border-color:#2a3948}
.dark-mode .flow-node{background:#111d2b;border-color:#2a3948}
.dark-mode .flow-node.result{background:#14372b;border-color:#285a47}
.dark-mode .flow-node small,.dark-mode .system-foot{color:#83909e}
.dark-mode .system-foot{border-color:#2a3948}
.dark-mode .proof-strip,.dark-mode .section-soft{background:#111e2b}
.dark-mode .proof-grid>div+div,.dark-mode .proof-grid>div{border-color:#293746}
.dark-mode .product-card:not(.featured) p,.dark-mode .card-list{color:#aeb9c5}
.dark-mode .offer-row{border-color:#2a3948}
.dark-mode .offer-row span:last-child{color:#9ba7b3}
.dark-mode .faq details,.dark-mode .faq{border-color:#293746}
.dark-mode details p{color:#aeb9c5}
.dark-mode .use-cases{border-color:#293746}
.dark-mode .use-case{color:#edf3f7;border-color:#293746}
.dark-mode .use-case:hover,.dark-mode .use-case.active{background:rgba(255,255,255,.035)}
.dark-mode .use-case small{color:#9ba7b3}
.dark-mode .language-button{color:#edf3f7}
.dark-mode .language-menu button{color:#edf3f7}
.dark-mode .language-menu button:hover{background:#1c2b3a}
.dark-mode .theme-track{background:#3b4c60}
.dark-mode .text-link{border-color:#536172}
.dark-mode .btn-primary{background:#5fa486;color:#08120f}
.dark-mode .contact-form input,.dark-mode .contact-form textarea{background:#101d2b;border-color:#354758}


/* Dark mode contrast fixes */
.dark-mode .section-dark{background:#050c14;color:#f4f7f9}
.dark-mode .section-dark .eyebrow-light{color:#9ac8b3}
.dark-mode .section-dark .step h3{color:#f4f7f9}
.dark-mode .section-dark .step p{color:#c1cbd4}
.dark-mode .section-dark .step{border-color:#263544}
.dark-mode .section-dark .step-no{color:#8fc1aa}
.dark-mode .contact-section{background:#0d1723}
.dark-mode .contact-box{background:#f0f4f6;color:#0e1b2c}
.dark-mode .contact-box .eyebrow-light{color:#14553f}
.dark-mode .contact-box>div>p:last-child{color:#5e6874}
.dark-mode .contact-form label{color:#4e5966}
.dark-mode .contact-form input,
.dark-mode .contact-form textarea{background:#fff;color:#0e1b2c;border-color:#ccd5dd}
.dark-mode .contact-form input::placeholder,
.dark-mode .contact-form textarea::placeholder{color:#8a949f}
.dark-mode .contact-form input:focus,
.dark-mode .contact-form textarea:focus{border-color:#14553f}
.dark-mode .contact-form .btn-light{background:#0e1b2c;color:#fff}
.dark-mode .offer-card .btn-dark{background:#eef3f6;color:#0e1b2c}
.dark-mode .form-message{color:#14553f}

/* Keep workflow icons readable in dark mode. */
.dark-mode .node-icon{background:#edf3f6;color:#0e1b2c}
.dark-mode .flow-node.result .node-icon{background:#72b294;color:#07120d}
.dark-mode .status{background:#183c2f;color:#9fd0b8}
