:root { --ink:#1f2937; --muted:#607082; --paper:#f7f9fb; --line:#dfe6ed; --cyan:#06b6d4; --violet:#8b5cf6; --pink:#ec4899; font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; }
img { max-width:100%; }
a { color:inherit; }
.shell { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.skip-link { position:absolute; z-index:30; top:-80px; left:20px; padding:12px 16px; color:white; background:var(--ink); }
.skip-link:focus { top:12px; }
.site-header { position:relative; z-index:10; background:rgba(247,249,251,.96); border-bottom:1px solid #e5ebf0; }
.header-inner { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { flex:0 0 auto; display:block; width:190px; line-height:0; }
.brand img { display:block; width:100%; }
.desktop-nav { display:flex; align-items:center; gap:31px; margin-left:auto; }
.desktop-nav a { text-decoration:none; font-size:14px; font-weight:700; color:#465669; transition:color .2s; }
.desktop-nav a:hover { color:#087f98; }
.header-action { display:inline-flex; align-items:center; gap:15px; padding:13px 18px; border:1px solid var(--ink); border-radius:999px; text-decoration:none; font-size:13px; font-weight:800; white-space:nowrap; }
.header-action:hover { background:var(--ink); color:white; }
.language-switch { flex:0 0 auto; display:inline-flex; align-items:center; gap:2px; padding:3px; border:1px solid #d3dce5; border-radius:999px; background:white; }
.language-switch a { min-width:35px; padding:7px 8px; border-radius:999px; color:#526273; font-size:12px; font-weight:850; text-align:center; text-decoration:none; }
.language-switch a:hover,.language-switch a[aria-current="true"] { background:var(--ink); color:white; }
.language-switch a:focus-visible { outline:3px solid var(--cyan); outline-offset:2px; }
.mobile-menu { display:none; }
.hero { display:grid; grid-template-columns:1.05fr .95fr; gap:42px; min-height:720px; padding-block:76px 88px; align-items:center; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 23px; color:#536477; font-size:11px; font-weight:850; letter-spacing:.17em; }
.eyebrow-line { width:30px; height:2px; background:var(--cyan); }
h1,h2,h3,p { margin-top:0; }
.hero h1 { max-width:690px; margin:0; font-size:clamp(52px,6vw,84px); line-height:1.04; letter-spacing:-.072em; font-weight:800; }
.hero h1 em { font-style:normal; color:#0b9bb8; }
.hero-lead { max-width:575px; margin:27px 0 0; color:#5a6b7d; font-size:18px; line-height:1.68; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:27px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:29px; min-height:54px; padding:14px 23px; border-radius:999px; text-decoration:none; font-size:14px; font-weight:800; }
.button-dark { background:var(--ink); color:white; box-shadow:0 12px 23px #1f293722; }
.button-dark:hover { background:#344457; }
.text-link { display:inline-flex; align-items:center; gap:11px; font-size:14px; font-weight:800; text-decoration:none; }
.text-link:hover { color:#087f98; }
.hero-note { display:flex; align-items:center; gap:9px; margin-top:49px; color:#728092; font-size:13px; font-weight:700; }
.note-star { color:var(--pink); font-size:20px; }
.hero-art { position:relative; overflow:hidden; min-height:575px; display:flex; flex-direction:column; justify-content:space-between; padding:25px; border-radius:29px; background:radial-gradient(circle at 63% 42%,#324151 0,#253240 35%,#17222d 100%); box-shadow:0 32px 55px #15233023; }
.hero-art::before,.hero-art::after { content:""; position:absolute; width:350px; height:350px; border:1px solid #ffffff14; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; }
.hero-art::after { width:490px; height:490px; }
.hero-art-top,.hero-art-bottom { position:relative; z-index:2; display:flex; justify-content:space-between; gap:10px; color:#c5d1dc; font-size:10px; font-weight:800; letter-spacing:.12em; }
.hero-art-bottom { color:#c2cad6; }
.hero-symbol-wrap { position:relative; z-index:1; width:min(82%,420px); margin:auto; filter:drop-shadow(0 14px 24px #0b132050); }
.hero-symbol-wrap img { display:block; width:100%; }
.value-strip { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:27px; min-height:90px; padding:20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#59697c; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.strip-star { color:var(--violet); font-size:13px; }
.section { padding-block:115px; scroll-margin-top:30px; }
.section-label { display:flex; align-items:center; gap:9px; margin-bottom:20px; color:#667789; font-size:11px; font-weight:850; letter-spacing:.17em; }
.small-star { font-size:20px; line-height:1; }
.cyan { color:var(--cyan); } .violet { color:var(--violet); } .pink { color:var(--pink); }
.section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:end; gap:70px; margin-bottom:42px; }
.section-heading h2 { max-width:680px; margin:0; font-size:clamp(38px,4.5vw,58px); line-height:1.1; letter-spacing:-.06em; }
.section-heading p { max-width:455px; margin:0 0 5px; color:var(--muted); font-size:17px; line-height:1.6; }
.focus-diagram { display:grid; grid-template-columns:1fr 70px 1fr 70px 1fr; align-items:center; gap:16px; padding:35px; border:1px solid #e2e8ef; border-radius:25px; background:white; box-shadow:0 18px 35px #22304108; }
.focus-diagram > div { min-height:135px; }
.focus-diagram span { display:block; margin-bottom:17px; color:#0a9bb9; font-size:12px; font-weight:800; letter-spacing:.11em; }
.focus-diagram strong { display:block; font-size:21px; letter-spacing:-.035em; }
.focus-diagram p { margin:8px 0 0; color:var(--muted); font-size:14px; }
.focus-diagram i { height:1px; background:linear-gradient(90deg,var(--cyan),var(--violet)); }
.solutions-section { background:#edf2f6; }
.solution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.solution-card { min-height:350px; display:flex; flex-direction:column; padding:29px; border-radius:22px; background:white; box-shadow:0 13px 24px #1f293708; }
.card-top { display:flex; align-items:start; justify-content:space-between; min-height:97px; color:#708094; font-size:11px; font-weight:850; letter-spacing:.15em; }
.card-mark { font-size:33px; line-height:1; }
.solution-card h3 { margin:0 0 14px; font-size:clamp(26px,3vw,34px); line-height:1.15; letter-spacing:-.05em; }
.solution-card p { margin:0; color:#607082; font-size:15px; line-height:1.62; }
.card-foot { margin-top:auto; padding-top:30px; color:#657589; font-size:11px; font-weight:800; letter-spacing:.04em; }
.products-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; }
.product-card { overflow:hidden; border:1px solid #e3e8ee; border-radius:22px; background:white; }
.product-image { height:300px; display:flex; align-items:center; justify-content:center; }
.product-image.agro { background:#ecf2e4; } .product-image.empaque { background:#f5ecdf; }
.product-image img { display:block; width:170px; height:170px; object-fit:contain; border-radius:20px; box-shadow:0 13px 35px #1f29371d; }
.product-text { padding:26px 30px 32px; }
.product-text span { color:#69798a; font-size:11px; font-weight:850; letter-spacing:.16em; }
.product-text h3 { margin:11px 0 9px; font-size:30px; letter-spacing:-.045em; }
.product-text p { margin:0; color:var(--muted); font-size:15px; }
.product-text h3 a { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.product-text h3 a:hover { color:#087f98; }
.product-text h3 a span { color:#0a9bb9; font-size:19px; letter-spacing:0; }
.product-overview-link { display:inline-flex; align-items:center; gap:12px; margin-top:27px; color:#087f98; font-size:14px; font-weight:800; text-decoration:none; }
.product-overview-link:hover { color:var(--ink); }
.about-section { overflow:hidden; background:#1f2937; color:white; scroll-margin-top:30px; }
.about-inner { min-height:560px; display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:center; padding-block:90px; }
.about-symbol { max-width:350px; margin:auto; }
.about-symbol img { display:block; width:100%; }
.about-copy .section-label { color:#c7d0dc; }
.about-copy h2 { margin:0 0 24px; font-size:clamp(42px,5vw,64px); line-height:1.08; letter-spacing:-.062em; }
.about-copy p { max-width:610px; color:#cbd5df; font-size:18px; line-height:1.64; }
.about-copy a { display:inline-flex; align-items:center; gap:13px; margin-top:14px; color:#76dcee; font-size:14px; font-weight:800; text-decoration:none; }
.about-copy a:hover { color:white; }
.site-footer { background:white; }
.footer-inner { display:flex; justify-content:space-between; gap:30px; padding-block:63px 51px; }
.footer-inner img { display:block; width:190px; }
.footer-inner p { margin:13px 0 0; color:var(--muted); font-size:14px; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px 25px; align-items:start; }
.footer-links a { color:#526273; font-size:14px; font-weight:700; text-decoration:none; }
.footer-links a:hover { color:#087f98; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-block:20px 31px; border-top:1px solid var(--line); color:#708092; font-size:12px; }
.case-preview { padding-top:105px; }
.case-preview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.case-preview-grid a { position:relative; min-height:210px; display:flex; flex-direction:column; gap:26px; padding:25px; border:1px solid #e1e8ef; border-radius:20px; background:white; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.case-preview-grid a:hover { transform:translateY(-4px); box-shadow:0 16px 28px #1f293714; }
.case-preview-grid a > span:first-child { color:#687a8d; font-size:10px; font-weight:850; letter-spacing:.13em; }
.case-preview-grid strong { max-width:220px; font-size:21px; line-height:1.2; letter-spacing:-.04em; }
.preview-arrow { position:absolute; right:23px; bottom:21px; color:#0a9bb9; font-size:24px; }
.case-preview-link { display:inline-flex; align-items:center; gap:12px; margin-top:28px; color:#087f98; font-size:14px; font-weight:800; text-decoration:none; }
.case-preview-link:hover { color:var(--ink); }
.desktop-nav a[aria-current="page"] { color:#087f98; }
.cases-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:55px; align-items:center; padding-block:86px 75px; }
.cases-hero h1 { max-width:750px; margin:0; font-size:clamp(52px,6vw,76px); line-height:1.05; letter-spacing:-.07em; }
.cases-hero h1 em { color:#0b9bb8; font-style:normal; }
.cases-hero p { max-width:680px; margin:28px 0 0; color:var(--muted); font-size:19px; line-height:1.65; }
.cases-hero-aside { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; overflow:hidden; border-radius:28px; background:radial-gradient(circle at 58% 40%,#344252,#1f2937 70%); color:#c7d2de; font-size:10px; font-weight:800; letter-spacing:.13em; }
.cases-hero-aside img { width:min(55%,250px); }
.cases-intro { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-block:30px; border-block:1px solid var(--line); }
.cases-intro p { max-width:760px; margin:0; color:#5a6b7d; font-size:15px; line-height:1.6; }
.cases-intro strong { color:var(--ink); }
.cases-intro a { display:inline-flex; align-items:center; gap:12px; flex:0 0 auto; color:#087f98; font-size:13px; font-weight:800; text-decoration:none; }
.cases-section { scroll-margin-top:15px; }
.cases-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.case-card { display:flex; flex-direction:column; min-height:465px; padding:30px; border:1px solid #e1e8ef; border-radius:23px; background:white; box-shadow:0 15px 28px #1f293709; scroll-margin-top:30px; }
.case-card-top { display:flex; align-items:start; justify-content:space-between; min-height:75px; color:#687a8d; font-size:11px; font-weight:850; letter-spacing:.13em; }
.case-card h3 { max-width:440px; margin:0 0 16px; font-size:clamp(29px,3.2vw,39px); line-height:1.12; letter-spacing:-.055em; }
.case-summary { max-width:500px; margin:0 0 24px; color:#526477; font-size:16px; line-height:1.57; }
.case-detail { padding:20px 0; border-top:1px solid #e5ebf0; }
.case-detail strong { display:block; margin-bottom:8px; color:#0a8ca8; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.case-detail p { margin:0; color:#607082; font-size:15px; line-height:1.58; }
.case-metric { margin-top:auto; padding-top:18px; border-top:1px solid #e5ebf0; color:#63758a; font-size:13px; font-weight:750; }
.cases-outro { background:var(--ink); color:white; }
.cases-outro-inner { min-height:350px; display:flex; align-items:center; justify-content:space-between; gap:60px; padding-block:70px; }
.cases-outro .section-label { color:#c7d0dc; }
.cases-outro h2 { max-width:700px; margin:0 0 20px; font-size:clamp(40px,4.7vw,60px); line-height:1.1; letter-spacing:-.06em; }
.cases-outro p { max-width:710px; margin:0; color:#cbd5df; font-size:17px; line-height:1.6; }
.button-light { flex:0 0 auto; border:1px solid #d3dde7; color:white; }
.button-light:hover { background:white; color:var(--ink); }
.products-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:55px; align-items:center; padding-block:92px 105px; }
.products-hero h1 { margin:0; font-size:clamp(56px,7.5vw,96px); line-height:1.04; letter-spacing:-.075em; }
.products-hero h1 em { color:#0b9bb8; font-style:normal; }
.products-hero p { max-width:625px; margin:30px 0 0; color:var(--muted); font-size:19px; line-height:1.65; }
.products-hero-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.products-hero-links a { display:inline-flex; align-items:center; gap:15px; padding:11px 16px; border:1px solid #d8e2ea; border-radius:999px; background:white; font-size:13px; font-weight:800; text-decoration:none; }
.products-hero-links a:hover { border-color:#0b9bb8; color:#087f98; }
.products-hero-art { position:relative; min-height:400px; display:flex; justify-content:center; align-items:center; gap:25px; overflow:hidden; padding:40px 32px; border-radius:29px; background:radial-gradient(circle at 50% 40%,#344354,#1f2937 75%); }
.products-hero-art::before { content:""; position:absolute; width:440px; height:440px; border:1px solid #ffffff15; border-radius:50%; }
.product-orb { position:relative; z-index:1; width:195px; height:195px; display:flex; align-items:center; justify-content:center; padding:25px; border-radius:31px; background:#ffffff16; transform:rotate(-7deg); }
.product-orb-empaque { transform:rotate(7deg) translateY(26px); }
.product-orb img { width:100%; height:100%; border-radius:24px; object-fit:contain; box-shadow:0 18px 30px #0f172644; }
.products-hero-art > span { position:absolute; z-index:2; bottom:26px; color:#ccd5de; font-size:10px; font-weight:800; letter-spacing:.13em; }
.product-detail-section { scroll-margin-top:20px; }
.agro-detail { background:#f0f5ec; }
.packing-detail { background:#fbf3e9; }
.product-detail-inner { padding-block:105px 115px; }
.product-detail-heading { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:center; gap:45px; margin-bottom:43px; }
.product-detail-icon { width:190px; height:190px; display:flex; align-items:center; justify-content:center; border-radius:27px; }
.product-detail-icon.agro { background:#e1ecd8; }
.product-detail-icon.empaque { background:#f1e1cd; }
.product-detail-icon img { width:145px; height:145px; object-fit:contain; border-radius:24px; box-shadow:0 14px 28px #1f293720; }
.product-detail-heading .section-label { margin-bottom:13px; }
.product-detail-heading h2 { margin:0 0 13px; font-size:clamp(45px,5vw,66px); line-height:1.05; letter-spacing:-.065em; }
.product-detail-heading p { max-width:770px; margin:0; color:#526477; font-size:18px; line-height:1.62; }
.product-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.product-capability-grid article { min-height:235px; padding:28px; border:1px solid #e3e9ec; border-radius:21px; background:white; }
.capability-number { display:block; margin-bottom:34px; color:#0b9bb8; font-size:12px; font-weight:850; letter-spacing:.13em; }
.packing-detail .capability-number { color:#b77b35; }
.product-capability-grid h3 { margin:0 0 12px; font-size:27px; letter-spacing:-.045em; }
.product-capability-grid p { margin:0; color:var(--muted); font-size:15px; line-height:1.58; }
.product-detail-note { max-width:950px; margin:25px 0 0; color:#617182; font-size:14px; line-height:1.65; }
.product-outro { background:var(--ink); color:white; }
.product-outro-inner { padding-block:98px; }
.product-outro .section-label { color:#c7d0dc; }
.product-outro h2 { max-width:790px; margin:0 0 23px; font-size:clamp(42px,5vw,66px); line-height:1.08; letter-spacing:-.065em; }
.product-outro p { max-width:650px; margin:0; color:#cbd5df; font-size:18px; line-height:1.62; }
.product-outro a { display:inline-flex; align-items:center; gap:13px; margin-top:28px; color:#76dcee; font-size:14px; font-weight:800; text-decoration:none; }
.product-outro a:hover { color:white; }
.inquiry-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:75px; align-items:start; padding-block:95px 115px; }
.inquiry-intro { position:sticky; top:40px; padding-top:26px; }
.inquiry-intro h1 { max-width:610px; margin:0; font-size:clamp(48px,5.5vw,72px); line-height:1.07; letter-spacing:-.067em; }
.inquiry-intro h1 em { color:#0b9bb8; font-style:normal; }
.inquiry-intro > p { max-width:570px; margin:25px 0 31px; color:var(--muted); font-size:18px; line-height:1.65; }
.inquiry-steps { border-block:1px solid var(--line); margin-bottom:33px; }
.inquiry-steps > div { display:flex; align-items:center; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); }
.inquiry-steps > div:last-child { border-bottom:0; }
.inquiry-steps span { color:#0b9bb8; font-size:11px; font-weight:850; letter-spacing:.12em; }
.inquiry-steps strong { font-size:16px; }
.inquiry-panel { padding:39px; border:1px solid #e1e8ef; border-radius:27px; background:#fff; box-shadow:0 25px 55px #1f293710; }
.form-kicker { color:#0b9bb8; font-size:11px; font-weight:850; letter-spacing:.16em; }
.inquiry-panel h2 { margin:14px 0 9px; font-size:39px; letter-spacing:-.06em; }
.form-lead { margin-bottom:28px; color:var(--muted); font-size:14px; }
.form-row { display:flex; flex-direction:column; gap:9px; margin-bottom:20px; }
.form-row label { color:#374a5d; font-size:13px; font-weight:800; }
.form-row input,.form-row select,.form-row textarea { width:100%; padding:14px 15px; border:1px solid #d5e0e9; border-radius:11px; background:#fbfdfe; color:var(--ink); font:inherit; font-size:15px; }
.form-row textarea { resize:vertical; min-height:130px; line-height:1.5; }
.form-row input:focus-visible,.form-row select:focus-visible,.form-row textarea:focus-visible,.privacy-check input:focus-visible { outline:3px solid #06b6d455; outline-offset:2px; border-color:#089bb8; }
.form-row input::placeholder,.form-row textarea::placeholder { color:#8c9baa; }
.inquiry-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.privacy-check { display:flex; align-items:flex-start; gap:11px; margin:6px 0 23px; color:#607082; font-size:13px; line-height:1.5; }
.privacy-check input { flex:0 0 auto; width:17px; height:17px; margin:2px 0 0; accent-color:#0b9bb8; }
.privacy-check a,.captcha-note a { color:#087f98; }
.inquiry-submit { width:100%; border:0; cursor:pointer; font-family:inherit; }
.inquiry-submit:disabled { opacity:.62; cursor:wait; }
.inquiry-status { margin:21px 0 0; padding:16px 18px; border-radius:11px; font-size:14px; line-height:1.55; }
.inquiry-status.success { background:#e6f8f1; color:#135c3f; }
.inquiry-status.error { background:#fff0f0; color:#9d3434; }
.inquiry-whatsapp { display:inline-flex; gap:12px; align-items:center; margin-top:18px; padding:13px 18px; border:1px solid #b8dfc6; border-radius:999px; color:#177642; font-size:14px; font-weight:800; text-decoration:none; }
.inquiry-whatsapp[hidden] { display:none; }
.inquiry-whatsapp:hover { background:#e6f8f1; }
.captcha-note { margin:19px 0 0; color:#748496; font-size:11px; line-height:1.5; }
.privacy-content { max-width:850px; padding-block:90px 110px; }
.privacy-content h1 { margin:0 0 20px; font-size:clamp(48px,6vw,72px); letter-spacing:-.065em; }
.privacy-content h2 { margin:40px 0 10px; font-size:24px; letter-spacing:-.04em; }
.privacy-content p { color:#526477; font-size:16px; line-height:1.75; }
.privacy-content .privacy-intro { font-size:18px; }
.privacy-content a { color:#087f98; }
.form-data-link { margin:3px 0 0; color:#607082; font-size:13px; line-height:1.5; }
.form-data-link a { color:#087f98; }
.chat-guide { position:fixed; z-index:40; right:22px; bottom:20px; font-family:inherit; }
.chat-launcher { position:relative; z-index:1; display:inline-flex; align-items:center; gap:10px; padding:14px 19px; border:1px solid #304353; border-radius:999px; background:#1f2937; color:white; box-shadow:0 13px 30px #1f293748; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.chat-launcher:hover { background:#344457; }
.chat-launcher-star { color:#66d6e9; font-size:19px; line-height:1; }
.chat-panel { position:absolute; z-index:2; right:0; bottom:68px; width:min(390px,calc(100vw - 32px)); max-height:min(650px,calc(100dvh - 110px)); display:flex; flex-direction:column; overflow:auto; border:1px solid #d7e1e9; border-radius:22px; background:white; box-shadow:0 25px 65px #1727343d; }
.chat-panel[hidden] { display:none; }
.chat-header { display:flex; justify-content:space-between; gap:15px; padding:22px 22px 18px; background:#1f2937; color:white; }
.chat-kicker { color:#78dbe9; font-size:10px; font-weight:900; letter-spacing:.16em; }
.chat-header h2 { margin:7px 0 6px; font-size:20px; line-height:1.2; letter-spacing:-.04em; }
.chat-header p { margin:0; color:#c5d3dd; font-size:12px; line-height:1.45; }
.chat-close { align-self:start; flex:0 0 auto; width:29px; height:29px; padding:0; border:1px solid #768796; border-radius:50%; background:transparent; color:white; font:inherit; font-size:22px; line-height:1; cursor:pointer; }
.chat-close:hover { background:#344457; }
.chat-messages { flex:1 1 auto; min-height:60px; overflow-y:auto; display:flex; flex-direction:column; gap:12px; padding:20px; background:#f7f9fb; }
.chat-message { max-width:92%; margin:0; padding:12px 14px; border-radius:14px; font-size:13px; line-height:1.5; }
.chat-message-quantus { align-self:flex-start; background:white; border:1px solid #e2e9ee; color:#425367; }
.chat-message-visitor { align-self:flex-end; background:#def5fa; color:#135768; }
.chat-options { flex:0 0 auto; display:grid; gap:8px; padding:15px 20px 9px; background:white; }
.chat-options a,.chat-options button { width:100%; padding:10px 12px; border:1px solid #dce5ec; border-radius:11px; background:white; color:#1f4551; font:inherit; font-size:13px; font-weight:750; text-align:left; text-decoration:none; cursor:pointer; }
.chat-options a { border-color:#a6dfe9; background:#effbfe; color:#087f98; }
.chat-options a:hover,.chat-options button:hover { border-color:#06b6d4; background:#f1fbfd; }
.chat-note { flex:0 0 auto; margin:0; padding:4px 20px 17px; color:#718092; font-size:11px; line-height:1.4; }
.chat-guide button:focus-visible,.chat-guide a:focus-visible { outline:3px solid #06b6d4; outline-offset:2px; }
@media (max-width:520px) { .chat-guide { right:14px; bottom:14px; } .chat-panel { position:fixed; right:0; bottom:0; width:100%; max-height:min(640px,100dvh); border-radius:22px 22px 0 0; } .chat-launcher { padding:13px 16px; } }
@media (max-width:950px) { .inquiry-layout { grid-template-columns:1fr; gap:45px; padding-block:70px 85px; } .inquiry-intro { position:static; padding-top:0; } }
@media (max-width:520px) { .inquiry-layout { padding-block:52px 72px; } .inquiry-intro h1 { font-size:47px; } .inquiry-intro > p { font-size:16px; } .inquiry-panel { padding:25px 20px; border-radius:20px; } .inquiry-panel h2 { font-size:34px; } .privacy-content { padding-block:60px 80px; } }
@media (max-width:1100px) { .case-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:950px) { .products-hero { grid-template-columns:1fr; gap:38px; padding-block:65px 75px; } .products-hero-art { min-height:335px; } }
@media (max-width:1180px) { .desktop-nav { gap:18px; } .header-action { display:none; } .hero { gap:25px; } .hero h1 { font-size:clamp(48px,5.8vw,70px); } .hero-art { min-height:520px; } .section-heading { gap:35px; } }
@media (min-width:781px) and (max-width:1050px) { .desktop-nav { display:none; } .mobile-menu { position:relative; display:block; margin-left:auto; } .mobile-menu summary { display:flex; width:43px; height:43px; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid #d3dce5; border-radius:12px; cursor:pointer; list-style:none; } .mobile-menu summary::-webkit-details-marker { display:none; } .mobile-menu summary span { display:block; width:18px; height:2px; background:var(--ink); } .mobile-menu nav { position:absolute; right:0; top:53px; width:230px; display:flex; flex-direction:column; padding:10px; border:1px solid #e1e7ed; border-radius:16px; background:white; box-shadow:0 20px 36px #1f29371a; } .mobile-menu nav a { padding:12px; text-decoration:none; font-size:14px; font-weight:750; } }
@media (max-width:780px) { .cases-hero { grid-template-columns:1fr; gap:35px; padding-block:65px; } .cases-hero-aside { min-height:300px; } .cases-intro { flex-direction:column; align-items:start; gap:14px; } .cases-grid { grid-template-columns:1fr; } .case-card { min-height:unset; } .cases-outro-inner { flex-direction:column; align-items:start; gap:35px; } }
@media (max-width:780px) { .products-hero { grid-template-columns:1fr; gap:38px; padding-block:65px 75px; } .products-hero-art { min-height:335px; } .product-detail-heading { grid-template-columns:125px minmax(0,1fr); gap:28px; } .product-detail-icon { width:125px; height:125px; } .product-detail-icon img { width:100px; height:100px; } .product-capability-grid { grid-template-columns:1fr; } .product-capability-grid article { min-height:unset; } .capability-number { margin-bottom:22px; } }
@media (max-width:780px) { .shell { width:min(100% - 36px,620px); } .header-inner { min-height:76px; } .brand { width:155px; } .desktop-nav { display:none; } .mobile-menu { position:relative; display:block; margin-left:auto; } .mobile-menu summary { display:flex; width:43px; height:43px; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid #d3dce5; border-radius:12px; cursor:pointer; list-style:none; } .mobile-menu summary::-webkit-details-marker { display:none; } .mobile-menu summary span { display:block; width:18px; height:2px; background:var(--ink); } .mobile-menu nav { position:absolute; right:0; top:53px; width:220px; display:flex; flex-direction:column; padding:10px; border:1px solid #e1e7ed; border-radius:16px; background:white; box-shadow:0 20px 36px #1f29371a; } .mobile-menu nav a { padding:12px; text-decoration:none; font-size:14px; font-weight:750; } .hero { grid-template-columns:1fr; gap:43px; min-height:unset; padding-block:70px 73px; } .hero h1 { max-width:650px; font-size:clamp(49px,8.5vw,76px); } .hero-art { min-height:500px; } .hero-note { margin-top:30px; } .section { padding-block:80px; } .section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:32px; } .section-heading p { max-width:600px; } .focus-diagram { grid-template-columns:1fr; gap:12px; padding:26px; } .focus-diagram > div { min-height:unset; } .focus-diagram i { width:1px; height:20px; margin-left:8px; } .solution-grid { grid-template-columns:1fr; } .solution-card { min-height:290px; } .card-top { min-height:65px; } .products-grid { grid-template-columns:1fr; } .about-inner { grid-template-columns:1fr; gap:35px; padding-block:70px; } .about-symbol { width:215px; margin:0; } }
@media (max-width:520px) { .case-preview-grid { grid-template-columns:1fr; } .case-preview-grid a { min-height:160px; } .cases-hero h1 { font-size:clamp(44px,11vw,60px); } .cases-hero p { font-size:16px; } .cases-hero-aside { min-height:250px; } .case-card { padding:24px; } .cases-outro h2 { font-size:40px; } }
@media (max-width:520px) { .products-hero h1 { font-size:clamp(52px,13vw,70px); } .products-hero p { font-size:16px; } .products-hero-art { min-height:260px; gap:10px; } .product-orb { width:130px; height:130px; padding:15px; border-radius:20px; } .product-orb img { border-radius:14px; } .products-hero-art > span { bottom:17px; font-size:8px; } .product-detail-inner { padding-block:70px 78px; } .product-detail-heading { grid-template-columns:1fr; gap:23px; } .product-detail-heading h2 { font-size:48px; } .product-detail-heading p { font-size:16px; } .product-capability-grid article { padding:24px; } .product-outro-inner { padding-block:78px; } .product-outro h2 { font-size:42px; } }
@media (max-width:520px) { .shell { width:calc(100% - 32px); } .hero { padding-block:56px 61px; } .hero h1 { font-size:clamp(44px,11vw,62px); } .hero-lead { font-size:16px; } .hero-actions { gap:18px; } .button { width:100%; } .hero-art { min-height:390px; border-radius:22px; } .hero-art-top,.hero-art-bottom { font-size:8px; } .hero-symbol-wrap { width:78%; } .value-strip { gap:12px 17px; font-size:11px; } .section-heading h2 { font-size:clamp(38px,10vw,52px); } .product-image { height:235px; } .product-image img { width:140px; height:140px; } .footer-inner,.footer-bottom { flex-direction:column; } .footer-links { flex-direction:column; gap:13px; } }
@media (max-width:400px) { .header-inner { gap:10px; } .brand { width:135px; } .language-switch a { min-width:31px; padding:7px 5px; } }
@media (max-width:1050px) { .language-switch { margin-left:auto; } .mobile-menu { margin-left:0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
