/* MotionHub Studio, new brand site (preview). Light, one typeface, one primary action (the demo
   modal). Navy and teal come from the logo. Used by PreviewLayout and every /preview/ page. */
:root {
  --navy:#0b1a40; --ink:#101b37; --ink-2:#3a4663; --muted:#66708a;
  --teal:#1f8a91; --teal-dark:#18727a; --teal-soft:#e6f4f4;
  --bg:#ffffff; --tint:#f5f7fa; --line:#e3e7ee;
  --font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:12px; --r-lg:18px;
  --shadow:0 1px 2px rgba(16,27,55,.06), 0 8px 24px rgba(16,27,55,.07);
  --shadow-lg:0 2px 4px rgba(16,27,55,.05), 0 24px 56px rgba(16,27,55,.12);
  --maxw:1200px; --gutter:clamp(20px,4vw,40px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:84px; }
html, body { overflow-x:clip; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
h1, h2, h3 { margin:0; color:var(--ink); letter-spacing:-.01em; }
h2 { font-size:clamp(26px,2.8vw,36px); line-height:1.2; font-weight:700; }
h3 { font-size:18px; line-height:1.3; font-weight:700; }
.container { max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.container.narrow { max-width:820px; }
.hl { color:inherit; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 22px; border-radius:10px; font:600 15px/1.2 var(--font); border:1px solid transparent; cursor:pointer; transition:background .15s ease, box-shadow .15s ease; white-space:nowrap; }
.btn-primary { background:var(--teal); color:#fff; }
.btn-primary:hover { background:var(--teal-dark); box-shadow:0 6px 16px rgba(31,138,145,.28); }
.btn-sm { padding:10px 16px; font-size:14px; }
.btn-lg { padding:16px 28px; font-size:16px; }
.btn-block { width:100%; }
.btn[disabled] { opacity:.6; cursor:default; }

/* Header */
.nav { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav-row { display:flex; align-items:center; gap:36px; height:68px; }
.nav-logo img { height:34px; width:auto; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:15px; font-weight:500; color:var(--ink-2); }
.nav-links a:hover, .nav-links a.on { color:var(--teal); }
.nav-dd { position:relative; }
.nav-dd > a::after { content:""; display:inline-block; width:6px; height:6px; margin-left:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:translateY(-3px) rotate(45deg); }
.nav-dd-menu { position:absolute; left:-14px; top:100%; padding:8px; min-width:230px; background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-lg); display:none; }
.nav-dd-menu a { display:block; padding:9px 12px; border-radius:8px; color:var(--ink); }
.nav-dd-menu a:hover { background:var(--tint); }
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu { display:block; }
.nav-dd::before { content:""; position:absolute; left:0; right:0; top:100%; height:12px; }
.nav-cta { display:flex; align-items:center; gap:20px; margin-left:auto; font-size:15px; font-weight:500; }
.nav-signin:hover { color:var(--teal); }
.nav-m-only { display:none; }
.nav-toggle-input { display:none; }
.nav-toggle { display:none; flex-direction:column; gap:5px; width:40px; height:40px; align-items:center; justify-content:center; cursor:pointer; }
.nav-toggle span { width:20px; height:2px; background:var(--ink); border-radius:2px; }
@media (max-width:960px) {
  .nav-toggle { display:flex; }
  .nav-signin { display:none; }
  .nav-links { display:none; position:absolute; left:0; right:0; top:68px; flex-direction:column; align-items:stretch; gap:0; padding:8px var(--gutter) 16px; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow-lg); }
  .nav-links > a, .nav-dd > a { display:block; padding:12px 0; border-bottom:1px solid var(--line); }
  .nav-dd-menu { position:static; display:block; box-shadow:none; border:0; padding:0 0 6px 12px; min-width:0; }
  .nav-dd > a::after, .nav-dd::before { display:none; }
  .nav-m-only { display:block; }
  .nav-toggle-input:checked ~ .nav-links { display:flex; }
}
@media (max-width:520px) { .nav-cta .btn { padding:9px 12px; font-size:13px; } .nav-row { gap:12px; } }

/* Hero: full width, text on top, product below */
.hero { padding:64px 0 0; background:linear-gradient(180deg,#fff 0%, var(--tint) 100%); overflow:hidden; }
.hero-copy { max-width:none; }
.hero h1 { max-width:24ch; }
.hero h1 { font-size:clamp(36px,4.8vw,60px); line-height:1.08; font-weight:800; letter-spacing:-.02em; }
.hero-sub { font-size:clamp(17px,1.5vw,20px); color:var(--ink-2); margin:20px 0 0; max-width:60ch; }
.crumb { display:inline-block; font-size:14px; font-weight:600; color:var(--teal); margin-bottom:16px; }
.crumb::before { content:"← "; }
.ticks { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:10px; }
.ticks.row { display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:28px; }
.ticks li { display:flex; align-items:flex-start; gap:10px; color:var(--ink-2); font-size:15px; }
.ticks svg { width:20px; height:20px; flex:none; margin-top:2px; padding:3px; border-radius:50%; background:var(--teal-soft); stroke:var(--teal); fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.segs { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.segs span { font-size:13px; padding:5px 11px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--ink-2); }
.hero-stage { position:relative; margin-top:48px; }
.hero-stage .shot { border-bottom-left-radius:0; border-bottom-right-radius:0; border-bottom:0; }
.hero-phone { position:absolute; right:3%; bottom:-40px; width:min(230px,22%); border-radius:30px; border:7px solid #111827; box-shadow:var(--shadow-lg); }
@media (max-width:760px) { .hero-phone { display:none; } .hero { padding-top:40px; } .hero-stage { margin-top:32px; } }
.browser { display:flex; gap:6px; padding:10px 14px; background:#f1f3f7; border-bottom:1px solid var(--line); }
.browser span { width:9px; height:9px; border-radius:50%; background:#d5dae3; }

/* Sector page: full-width visual as the hero stage */
.visual { position:relative; margin-top:48px; }
.visual-photo { border-radius:var(--r-lg) var(--r-lg) 0 0; overflow:hidden; aspect-ratio:21/8; }
.visual-photo img { width:100%; height:100%; object-fit:cover; }
.visual-shot { position:absolute; right:40px; bottom:28px; width:min(500px,46%); border-radius:14px; overflow:hidden; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-lg); }
@media (max-width:760px) { .visual-photo { aspect-ratio:4/3; } .visual-shot { right:12px; bottom:12px; width:66%; } }

/* Lead form (inside the modal) */
.lead-card { background:#fff; }
.lead-t { font-size:22px; font-weight:800; letter-spacing:-.02em; }
.lead-note { margin:6px 0 18px; color:var(--muted); font-size:14px; }
.fld { display:block; margin-bottom:14px; }
.fld span { display:block; font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:6px; }
.fld input, .fld select { width:100%; height:46px; padding:0 14px; border:1px solid #cfd6e2; border-radius:10px; font:500 15px var(--font); color:var(--ink); background:#fff; outline:none; transition:border-color .15s, box-shadow .15s; }
.fld select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2366708a' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
.fld input:focus, .fld select:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(31,138,145,.15); }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.lead-err { color:#c0392b; font-size:14px; margin:0 0 10px; }
.lead-err:empty { display:none; }
.lead-done { text-align:center; padding:12px 0; }
.lead-done-i { width:56px; height:56px; margin:0 auto 16px; border-radius:50%; background:var(--teal-soft); display:flex; align-items:center; justify-content:center; }
.lead-done-i svg { width:28px; height:28px; stroke:var(--teal); fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }

/* Modal */
.lead-modal { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px; }
.lead-modal[hidden] { display:none; }
.lead-modal-bg { position:absolute; inset:0; background:rgba(11,26,64,.5); backdrop-filter:blur(2px); }
.lead-modal-box { position:relative; width:100%; max-width:440px; max-height:calc(100vh - 40px); overflow:auto; background:#fff; border-radius:var(--r-lg); padding:32px 28px 26px; box-shadow:0 30px 80px rgba(11,26,64,.35); animation:modal-in .2s ease; }
@keyframes modal-in { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:none; } }
.lead-modal-x { position:absolute; right:12px; top:12px; width:36px; height:36px; border:0; border-radius:8px; background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.lead-modal-x:hover { background:var(--tint); }
.lead-modal-x svg { width:18px; height:18px; stroke:var(--ink-2); stroke-width:2; stroke-linecap:round; fill:none; }
body.modal-open { overflow:hidden; }

/* Sections */
.sec { padding:88px 0; }
.sec-tint { background:var(--tint); }
.sec-head { max-width:680px; margin-bottom:44px; }
.sec-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.sec-head p { color:var(--ink-2); font-size:17px; margin:12px 0 0; }
.sec-p { color:var(--ink-2); font-size:17px; margin:14px 0 0; max-width:56ch; }
.center-cta { text-align:center; margin-top:40px; }
@media (max-width:760px) { .sec { padding:56px 0; } }

/* Sector cards */
.sectors { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:980px) { .sectors { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .sectors { grid-template-columns:1fr; } }
.sector { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.sector:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); border-color:#cfd6e2; }
.sector-img { aspect-ratio:4/3; overflow:hidden; background:#e8ecf2; }
.sector-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.sector:hover .sector-img img { transform:scale(1.04); }
.sector-body { padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
.sector-body p { color:var(--muted); font-size:14px; margin:8px 0 16px; }
.more { margin-top:auto; color:var(--teal); font-weight:700; font-size:14px; }

/* Split rows */
.split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.split.rev > .split-media { order:-1; }
@media (max-width:980px) { .split { grid-template-columns:1fr; gap:36px; } .split.rev > .split-media { order:0; } }
.shot { border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-lg); }
.photo { border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/3; box-shadow:var(--shadow); }
.photo img { width:100%; height:100%; object-fit:cover; }
.pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pair figure { margin:0; position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:3/4; box-shadow:var(--shadow); }
.pair img { width:100%; height:100%; object-fit:cover; }
.pair figcaption { position:absolute; left:10px; bottom:10px; background:#fff; color:var(--ink); font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; }

/* Modules */
.mods { display:grid; grid-template-columns:1fr 1fr; gap:22px 28px; margin-top:32px; }
.mods-3 { grid-template-columns:repeat(3,1fr); margin-top:0; }
@media (max-width:980px) { .mods-3 { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .mods, .mods-3 { grid-template-columns:1fr; } }
.mod { display:flex; gap:14px; align-items:flex-start; }
.mod-i { width:40px; height:40px; flex:none; border-radius:10px; background:var(--teal-soft); display:flex; align-items:center; justify-content:center; }
.mod-i svg { width:21px; height:21px; stroke:var(--teal); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mod b { display:block; font-size:16px; font-weight:700; }
.mod span:not(.mod-i) { display:block; color:var(--muted); font-size:14px; margin-top:2px; }

/* Steps */
.steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:860px) { .steps { grid-template-columns:1fr; } }
.steps li { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:26px; }
.step-n { width:36px; height:36px; border-radius:50%; background:var(--navy); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.steps p { color:var(--muted); font-size:15px; margin:8px 0 0; }

/* Plans */
.plans { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
@media (max-width:980px) { .plans { grid-template-columns:1fr; } }
.plan { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:26px; display:flex; flex-direction:column; gap:10px; }
.plan.featured { border:2px solid var(--teal); box-shadow:var(--shadow-lg); }
.plan-n { font-size:15px; font-weight:700; color:var(--teal); }
.plan-p { font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1.1; }
.plan-per { font-size:14px; color:var(--muted); margin-left:4px; }
.plan-d { color:var(--muted); font-size:14px; }
.plan .btn { width:100%; }
.plan .btn-ghost { background:#fff; color:var(--ink); border-color:#cfd6e2; }
.plan .btn-ghost:hover { border-color:var(--teal); color:var(--teal); }
.plan ul { list-style:none; padding:14px 0 0; margin:6px 0 0; display:grid; gap:7px; font-size:14px; color:var(--ink-2); border-top:1px solid var(--line); }
.plan li { padding-left:22px; position:relative; }
.plan li::before { content:"✓"; position:absolute; left:0; color:var(--teal); font-weight:800; }
.plan li.off { color:var(--muted); } .plan li.off::before { content:"–"; color:var(--muted); }
.plan-msg { color:var(--muted); grid-column:1 / -1; text-align:center; margin:0; }

/* Demos */
.demos { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:860px) { .demos { grid-template-columns:1fr; } }
.demo { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.demo small { display:block; color:var(--muted); font-size:13px; }
.demo b { font-size:16px; }
.demo a { color:var(--teal); font-weight:700; font-size:14px; white-space:nowrap; }

/* FAQ */
.faq { display:grid; gap:10px; }
.faq details { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:0 20px; }
.faq summary { cursor:pointer; list-style:none; padding:18px 0; font-weight:700; display:flex; justify-content:space-between; gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--teal); font-size:22px; line-height:1; font-weight:500; }
.faq details[open] summary::after { content:"−"; }
.faq p { margin:0 0 18px; color:var(--ink-2); }

/* Last call */
.cta-band { background:var(--teal-soft); border-top:1px solid #cfe7e8; padding:56px 0; }
.cta-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.cta-inner p { color:var(--ink-2); margin:6px 0 0; }

/* Footer */
.foot { padding:56px 0 28px; border-top:1px solid var(--line); }
.foot-top { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; }
@media (max-width:860px) { .foot-top { grid-template-columns:1fr 1fr; } }
.foot-brand img { height:30px; width:auto; }
.foot-brand p { color:var(--muted); font-size:14px; margin:12px 0 0; }
.foot-h { font-size:14px; font-weight:700; margin-bottom:12px; }
.foot ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; font-size:14px; color:var(--ink-2); }
.foot ul a:hover, .foot-legal a:hover { color:var(--teal); }
.foot-bot { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--muted); border-top:1px solid var(--line); padding-top:20px; margin-top:40px; }
.foot-legal { display:flex; gap:18px; }

/* WhatsApp */
.wa-float { position:fixed; right:20px; bottom:20px; z-index:60; display:flex; align-items:center; gap:8px; background:#25d366; color:#fff; font-weight:700; font-size:14px; padding:12px 16px; border-radius:999px; box-shadow:0 10px 26px rgba(0,0,0,.2); }
.wa-float[hidden] { display:none; }
.wa-float svg { width:22px; height:22px; fill:#fff; }
@media (max-width:520px) { .wa-float span { display:none; } .wa-float { padding:14px; } }

.phone-wrap { display:flex; justify-content:center; }
.phone { width:min(300px,70%); border-radius:34px; border:8px solid #111827; box-shadow:var(--shadow-lg); }

/* ── Wow hero (home-wow) ── */
.wow { position:relative; overflow:hidden; background:var(--navy); color:#fff; padding:44px 0 40px; }
.wow-bg { position:absolute; inset:0; pointer-events:none; }
.wow-bg .glow { position:absolute; border-radius:50%; filter:blur(70px); opacity:.6; }
.wow-bg .g1 { width:640px; height:640px; left:-180px; top:-240px; background:radial-gradient(circle, rgba(42,146,153,.85), transparent 62%); animation:wow-drift 16s ease-in-out infinite alternate; }
.wow-bg .g2 { width:560px; height:560px; right:-160px; bottom:-220px; background:radial-gradient(circle, rgba(63,184,119,.55), transparent 62%); animation:wow-drift 20s ease-in-out infinite alternate-reverse; }
@keyframes wow-drift { from { transform:translate(0,0); } to { transform:translate(70px,50px); } }
@keyframes wow-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.wow .container { position:relative; }
.wow-head { animation:wow-rise .8s ease both; }
.wow-h1 { color:#fff; font-size:clamp(30px,3.6vw,48px); line-height:1.1; font-weight:800; letter-spacing:-.02em; }
@media (min-width:981px) { .wow-h1 { white-space:nowrap; } }
.wow-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:14px; flex-wrap:wrap; }
.wow-lead { color:rgba(255,255,255,.78); margin:0; font-size:18px; }
.wow-cta { display:flex; gap:20px; flex-wrap:wrap; align-items:center; }
.wow-link { color:#fff; font-weight:500; font-size:15px; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:2px; }
.wow-link:hover { border-color:#fff; }
.swap { display:inline-grid; color:#5fd0d5; vertical-align:top; }
.swap span { grid-area:1 / 1; opacity:0; transform:translateY(.45em); transition:opacity .55s ease, transform .55s ease; white-space:nowrap; }
.swap span.on { opacity:1; transform:none; }
.acc { display:flex; gap:12px; height:clamp(320px, calc(100vh - 330px), 500px); margin-top:28px; animation:wow-rise .9s .15s ease both; }
.acc-item { position:relative; flex:1; min-width:0; border-radius:var(--r-lg); overflow:hidden; background:#243454; color:#fff; box-shadow:0 18px 44px rgba(0,0,0,.32); transition:flex .75s cubic-bezier(.2,.8,.2,1); }
.acc-item.on { flex:3.4; }
.acc-item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 9s linear; }
.acc-item.on img { transform:scale(1.14); }
.acc-item::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,26,64,.35) 0%,rgba(11,26,64,.75) 100%); transition:opacity .5s ease; }
.acc-item.on::after { background:linear-gradient(180deg,rgba(11,26,64,.02) 25%,rgba(11,26,64,.55) 62%,rgba(11,26,64,.95) 100%); }
.acc-n { display:none; position:absolute; left:18px; top:18px; z-index:2; font-family:var(--font); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:rgba(11,26,64,.55); backdrop-filter:blur(6px); padding:7px 10px; border-radius:8px; border:1px solid rgba(255,255,255,.18); opacity:0; transition:opacity .4s ease .2s; white-space:nowrap; }
.acc-item.on .acc-n { opacity:1; }
.acc-vert { transition:opacity .3s ease .5s; position:absolute; left:50%; bottom:22px; transform:translateX(-50%) rotate(180deg); writing-mode:vertical-rl; z-index:2; font-family:var(--font); font-weight:650; font-size:18px; letter-spacing:-.01em; white-space:nowrap; color:#fff; }
.acc-item.on .acc-vert { opacity:0; transition-delay:0s; transition-duration:.12s; }
.acc-body { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:24px 26px 26px; opacity:0; transform:translateY(12px); transition:opacity .12s ease, transform .12s ease; }
.acc-item.on .acc-body { opacity:1; transform:none; transition:opacity .45s ease .4s, transform .45s ease .4s; }
.acc-body h3 { font-family:var(--font); font-weight:650; font-size:clamp(22px,2vw,30px); letter-spacing:-.02em; margin:0; line-height:1.1; }
.acc-body p { margin:10px 0 0; font-size:15px; line-height:1.45; color:rgba(255,255,255,.82); max-width:48ch; }
.acc-body .link { display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-size:14px; font-weight:600; color:#fff; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:2px; }
.acc-dots { display:flex; gap:8px; margin-top:18px; }
.acc-dot { height:3px; flex:1; background:rgba(255,255,255,.18); border-radius:2px; overflow:hidden; cursor:pointer; }
.acc-dot i { display:block; height:100%; width:0; background:#5fd0d5; }
.acc-dot.on i { animation:wow-fill 7000ms linear forwards; }
.acc-dots.paused .acc-dot.on i { animation-play-state:paused; }
@keyframes wow-fill { from { width:0; } to { width:100%; } }
@media (max-width:900px) {
  .acc { height:auto; flex-direction:column; gap:14px; }
  .acc-item, .acc-item.on { flex:none; aspect-ratio:16/10; }
  .acc-item::after { background:linear-gradient(180deg,rgba(11,26,64,.05) 25%,rgba(11,26,64,.55) 62%,rgba(11,26,64,.95) 100%); }
  .acc-vert { display:none; }
  .acc-n, .acc-body { opacity:1; transform:none; }
  .acc-dots { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .wow-bg .glow, .wow-head, .acc { animation:none; }
  .acc-item, .acc-item img, .swap span, .acc-body { transition:none; }
  .acc-dot.on i { animation:none; width:100%; }
}

.acc-body h3 { color:#fff; }
.wow-sub { color:rgba(255,255,255,.92); font-size:18px; font-weight:700; margin:36px 0 0; letter-spacing:0; }
.wow-sub + .acc { margin-top:14px; }

/* AI First section */
.ai-pill { display:inline-block; font-size:13px; font-weight:700; color:var(--teal-dark); background:var(--teal-soft); border:1px solid #cfe7e8; padding:5px 12px; border-radius:999px; margin-bottom:16px; }
.ai-list { display:grid; grid-template-columns:1fr 1fr; gap:22px 28px; margin-top:30px; }
@media (max-width:560px) { .ai-list { grid-template-columns:1fr; } }
.ai-list div { border-left:2px solid var(--teal); padding-left:14px; }
.ai-list b { display:block; font-size:16px; }
.ai-list span { display:block; color:var(--muted); font-size:14px; margin-top:4px; }
.chat { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); padding:18px; display:flex; flex-direction:column; gap:12px; max-width:520px; margin-left:auto; }
.chat-head { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; padding-bottom:12px; border-bottom:1px solid var(--line); }
.chat-dot { width:8px; height:8px; border-radius:50%; background:var(--green, #3fb877); }
.msg { font-size:14px; line-height:1.5; border-radius:14px; padding:12px 14px; max-width:92%; }
.msg.me { align-self:flex-end; background:var(--navy); color:#fff; border-bottom-right-radius:4px; }
.msg.ai-msg { align-self:flex-start; background:var(--tint); color:var(--ink); border-bottom-left-radius:4px; }
.msg p { margin:0 0 8px; } .msg p:last-of-type { margin-bottom:0; }
.msg ul { margin:0 0 8px; padding-left:18px; color:var(--ink-2); }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.chips span { font-size:13px; font-weight:600; color:var(--teal-dark); background:#fff; border:1px solid #cfe7e8; padding:6px 10px; border-radius:999px; }
.chat-in { border:1px solid var(--line); border-radius:10px; padding:11px 14px; color:var(--muted); font-size:14px; }

/* Sector hero: the business types of the sector as a photo strip */
.strip-g { display:grid; grid-template-columns:repeat(var(--n),1fr); gap:14px; margin-top:44px; }
.strip-g figure { margin:0; position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:3/4; background:#e8ecf2; box-shadow:var(--shadow); }
.strip-g img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.strip-g figure:hover img { transform:scale(1.04); }
.strip-g figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,26,64,0) 55%,rgba(11,26,64,.72) 100%); }
.strip-g figcaption { position:absolute; left:16px; right:16px; bottom:14px; z-index:1; color:#fff; font-weight:700; font-size:16px; }
@media (max-width:860px) { .strip-g { grid-template-columns:1fr 1fr; } .strip-g figure { aspect-ratio:4/3; } }

/* Product screenshots on sector pages: cropped to the content, on a soft brand panel */
.panel { border-radius:24px; padding:clamp(18px,3vw,36px); background:radial-gradient(120% 120% at 0% 0%, #dff1f1 0%, #eef1f8 55%, #f6f3fb 100%); border:1px solid #e1e9ef; }
.panel img { width:100%; height:auto; border-radius:12px; border:1px solid rgba(16,27,55,.08); box-shadow:0 2px 6px rgba(16,27,55,.06), 0 24px 48px -12px rgba(16,27,55,.22); background:#fff; }
.strip-g { margin-bottom:64px; }

/* Dentistry showcase (3D scan, video, CT), ported from the Health landing */
.dshow { --r-lg:18px; --night-muted:#9bb0c0; --ink:#0e1b3d; --accent:var(--teal); --f-display:var(--font); background:#0b1a2c; color:#eef3f8; padding:88px 0; }
.dshow-head { max-width:760px; margin-bottom:48px; }
.dshow-head h2 { color:#fff; }
.dshow-head p { color:#a9b8c8; font-size:17px; margin:12px 0 0; }
.dshow-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:center; }
.dshow-row + .dshow-row { margin-top:clamp(48px,6vw,80px); }
.dshow-row.rev > :first-child { order:2; }
.dshow-copy h3 { color:#fff; font-size:clamp(22px,2.2vw,28px); line-height:1.2; }
.dshow-copy p { color:#a9b8c8; margin:12px 0 0; }
.dshow-copy ul { list-style:none; padding:0; margin:18px 0 0; display:grid; gap:8px; color:#d5dee8; font-size:15px; }
.dshow-copy li::before { content:"✓"; color:#5fd0d5; font-weight:800; margin-right:10px; }
/* construction: the showcase band is light, its 3D, plan and daily-report cards stay dark (owner, 10-27: too many
   dark sections after the dark hero; the feature explorer below stays dark, so the page alternates) */
.dshow.cshow { background:linear-gradient(180deg, #f3f7fa 0%, #ffffff 100%); color:var(--ink); }
.cshow .dshow-head h2, .cshow .dshow-copy h3 { color:var(--ink); }
.cshow .dshow-head p, .cshow .dshow-copy p { color:#3a4663; }
.cshow .dshow-copy ul { color:#3a4663; }
.cshow .dshow-copy li::before { color:var(--teal); }
@media (max-width:900px) { .dshow-row { grid-template-columns:1fr; } .dshow-row.rev > :first-child { order:0; } }
.hh-ct-card { border-radius: var(--r-lg); padding: 14px; background: radial-gradient(120% 90% at 50% 30%, #243449 0%, #0f1a28 72%);
box-shadow: 0 30px 60px -28px rgba(12, 31, 51, 0.45); color: #e2e8f0; font-size: 12.5px; }
.hh-ct-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 2px 2px 12px; }
.hh-ct-gap { flex: 1; }
.hh-ct-chip { padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, 0.07); color: var(--night-muted); white-space: nowrap; }
.hh-ct-chip.on { background: #fff; color: var(--ink); font-weight: 600; }
.hh-ct-views { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; height: clamp(190px, 22vw, 300px); }
.hh-ct-pano { display: block; width: 100%; height: 100%; background: #0b1220; border-radius: 8px; }
.hh-ct-views { align-items: stretch; }
.hh-ct-sect { display: block; height: 100%; aspect-ratio: 150 / 330; width: auto; }
.hh-ct-num { fill: #f8fafc; font-size: 10px; font-weight: 600; font-family: var(--f-mono, ui-monospace, monospace); }
.hh-ct-side { fill: #e2e8f0; font-size: 12px; font-weight: 700; }
.hh-ct-plan { margin-top: 12px; padding: 11px 13px; border-radius: 12px; background: rgba(11, 15, 23, 0.72); border: 1px solid rgba(255, 255, 255, 0.08); }
.hh-ct-plan-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.hh-ct-plan-head i { width: 8px; height: 8px; border-radius: 50%; background: #60a5fa; }
.hh-ct-plan-head strong { color: #fff; font-size: 13.5px; }
.hh-ct-plan-head span { padding: 3px 9px; border-radius: 7px; background: #182131; border: 1px solid rgba(255, 255, 255, 0.1); }
.hh-ct-plan-facts { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 9px 0 0 20px; color: #cbd5e1; }
.hh-ct-plan-facts .ok { color: #bbf7d0; }
.hh-ct-plan-actions { display: flex; gap: 8px; margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.hh-ct-plan-actions span { flex: 1; text-align: center; padding: 7px 10px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.05); }
.hh-ct-plan-actions .primary { background: var(--accent); border-color: transparent; color: #fff; font-weight: 600; }
.hh-scan-video-el { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--r-lg); background: #0f1a28; box-shadow: 0 30px 60px -28px rgba(12, 31, 51, 0.45); }
.hh-scan-card { border-radius: var(--r-lg); padding: 14px; background: radial-gradient(120% 90% at 50% 30%, #243449 0%, #0f1a28 72%); box-shadow: 0 30px 60px -28px rgba(12, 31, 51, 0.45); }
.hh-scan-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 4px 4px 10px; }
.hh-scan-seg { display: inline-flex; padding: 3px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); }
.hh-scan-seg button { border: 0; background: transparent; color: var(--night-muted); font: inherit; font-size: 13.5px; padding: 7px 14px; border-radius: 999px; cursor: pointer; }
.hh-scan-seg button.on { background: #fff; color: var(--ink); }
.hh-scan-hint { font-size: 12.5px; color: var(--night-muted); }
.hh-scan-stage { position: relative; height: clamp(300px, 36vw, 440px); border-radius: 12px; }
.hh-scan-stage .dsv-status { color: #cbd5e1; }
@media (min-width:901px) { .dshow-row.rev { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); } }

/* Language switch */
.lang-sw { display:inline-flex; border:1px solid var(--line); border-radius:8px; padding:2px; font-size:12px; font-weight:700; }
.lang-sw a { padding:4px 8px; border-radius:6px; color:var(--muted); }
.lang-sw a.on { background:var(--navy); color:#fff; }
.lang-sw a:not(.on):hover { color:var(--ink); }
@media (max-width:960px) { .lang-sw { display:none; } }

/* Construction showcase: 3D building, issues on the plan, daily report */
.bim-legend { display:flex; flex-wrap:wrap; gap:6px; }
.bim-l { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:#cbd5e1; background:rgba(255,255,255,.07); padding:5px 10px; border-radius:999px; }
.bim-l i { width:9px; height:9px; border-radius:3px; display:inline-block; }
.bim-done i { background:#e8eef5; } .bim-doing i { background:#f59e0b; } .bim-todo i { background:#5fd0d5; }
.bim-stage { position:relative; height:clamp(320px,38vw,460px); border-radius:12px; overflow:hidden; cursor:grab; }
.bim-stage canvas { display:block; width:100% !important; height:100% !important; }
.bim-hud { position:absolute; left:14px; top:14px; z-index:2; background:rgba(11,26,44,.78); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:10px 14px; color:#e2e8f0; font-size:12.5px; min-width:180px; backdrop-filter:blur(4px); }
.bim-hud b { display:block; color:#fff; font-size:13.5px; margin-bottom:6px; }
.bim-bar { height:6px; background:rgba(255,255,255,.12); border-radius:4px; margin:6px 0 4px; overflow:hidden; }
.bim-bar i { display:block; height:100%; background:linear-gradient(90deg,#5fd0d5,#3fb877); border-radius:4px; }
.bim-hud strong { color:#fff; font-size:18px; }
.iss-card, .rdo-card { border-radius:var(--r-lg); padding:14px; background:radial-gradient(120% 90% at 50% 30%, #243449 0%, #0f1a28 72%); box-shadow:0 30px 60px -28px rgba(12,31,51,.45); color:#e2e8f0; }
.iss-top { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; font-size:13px; padding:4px 4px 12px; color:#cbd5e1; }
.iss-count { display:flex; gap:8px; } .iss-count b { font-size:12px; padding:4px 10px; border-radius:999px; }
.iss-count .o { background:rgba(245,158,11,.18); color:#fbbf24; } .iss-count .c { background:rgba(63,184,119,.18); color:#86efac; }
.iss-plan { position:relative; border-radius:10px; overflow:hidden; }
.iss-plan svg { display:block; width:100%; height:auto; }
/* punch pins: upright teardrops whose tip sits on the spot (left/top), the number upright inside */
.pin { position:absolute; width:0; height:0; }
.pin i { position:absolute; left:-15px; top:-38px; width:30px; height:30px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#f59e0b; border:2px solid #fff; box-shadow:0 4px 10px rgba(15,23,42,.35); box-sizing:border-box; }
.pin b { position:absolute; left:-15px; top:-38px; width:30px; height:30px; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; color:#1f2937; line-height:1; }
.pin.ok i { background:#16a34a; } .pin.ok b { color:#fff; }
.pin.on i { box-shadow:0 0 0 6px rgba(245,158,11,.35), 0 4px 10px rgba(15,23,42,.35); }
.iss-num { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; margin-right:7px; border-radius:50%; background:#f59e0b; color:#1f2937; font-size:11px; font-weight:800; vertical-align:2px; }
.iss-pop { display:flex; align-items:center; gap:12px; margin-top:12px; background:#fff; color:var(--ink); border-radius:12px; padding:10px; box-shadow:0 12px 28px rgba(0,0,0,.35); }
.iss-pop img { width:72px; height:72px; object-fit:cover; border-radius:8px; flex:none; }
.iss-pop b { display:block; font-size:14px; line-height:1.3; } .iss-pop small { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.iss-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; } .iss-tags span { font-size:11.5px; padding:3px 8px; border-radius:999px; background:var(--tint); color:var(--ink-2); } .iss-tags .st { background:#fef3c7; color:#92400e; }
.rdo-head { display:flex; justify-content:space-between; gap:10px; padding:4px 4px 12px; font-size:13px; color:#cbd5e1; } .rdo-head b { color:#fff; }
.rdo-photos { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.rdo-photos img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:8px; }
.rdo-text { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:12px 14px; margin:12px 0 0; font-size:14px; line-height:1.55; color:#e2e8f0; }
.rdo-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:12px; flex-wrap:wrap; }
.rdo-ai { font-size:12.5px; color:#5fd0d5; } .rdo-btn { font-size:13px; font-weight:700; background:var(--teal); color:#fff; padding:8px 14px; border-radius:8px; }

.nav-links a, .nav-cta a { white-space:nowrap; }
@media (min-width:961px) and (max-width:1240px) { .nav-links { gap:18px; } .nav-row { gap:24px; } }

/* Info pages: partners, support, legal */
.info-hero { padding:64px 0 56px; background:linear-gradient(180deg,#fff 0%, var(--tint) 100%); border-bottom:1px solid var(--line); }
.info-hero h1 { font-size:clamp(34px,4.4vw,54px); line-height:1.08; font-weight:800; letter-spacing:-.02em; max-width:20ch; }
.info-hero .hero-sub a { color:var(--teal); font-weight:600; }
.info-cta { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:30px; }
.info-cta span { color:var(--muted); font-size:14px; }
.sup-form { margin-top:32px; max-width:560px; }
.sup-form textarea { width:100%; padding:12px 14px; border:1px solid #cfd6e2; border-radius:10px; font:500 15px var(--font); color:var(--ink); resize:vertical; outline:none; }
.sup-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(31,138,145,.15); }
.sup-actions { display:flex; align-items:center; gap:14px; margin-top:6px; }
.sup-status { color:var(--muted); font-size:14px; }
.sup-note { color:var(--muted); font-size:13px; margin:14px 0 0; }
.sup-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:760px) { .sup-cards { grid-template-columns:1fr; } }
.sup-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; }
.sup-card p { color:var(--muted); margin:8px 0 12px; font-size:15px; }
.legal-wrap { padding:56px 0 88px; }
.legal-container { max-width:820px; }
.legal h1 { font-size:clamp(30px,3.6vw,44px); line-height:1.1; font-weight:800; letter-spacing:-.02em; }
.legal .legal-effective { color:var(--muted); font-size:14px; margin:10px 0 28px; }
.legal h2 { font-size:22px; margin:36px 0 10px; }
.legal h3 { font-size:17px; margin:22px 0 8px; }
.legal p, .legal li { color:var(--ink-2); font-size:16px; line-height:1.7; }
.legal ul, .legal ol { padding-left:22px; }
.legal a { color:var(--teal); text-decoration:underline; }
.legal table { width:100%; border-collapse:collapse; margin:12px 0; font-size:14px; }
.legal th, .legal td { border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top; }
.legal-draft { background:#fff7e6; border:1px solid #f5d38a; color:#7a4b00; border-radius:var(--r); padding:14px 16px; margin-bottom:28px; font-size:14px; }
.legal-draft a { color:#7a4b00; font-weight:700; text-decoration:underline; }
mark.legal-note { background:#fff1b8; color:#5c4300; padding:1px 4px; border-radius:4px; }

/* Home: integrations and security */
.int-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:980px) { .int-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .int-grid { grid-template-columns:1fr; } }
.int-group { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; }
.int-group h3 { font-size:15px; color:var(--muted); font-weight:700; margin-bottom:14px; }
.int-pills { display:flex; flex-wrap:wrap; gap:8px; }
.int-pills span { font-size:14px; font-weight:600; color:var(--ink); background:var(--tint); border:1px solid var(--line); padding:7px 12px; border-radius:10px; }
.sec-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:980px) { .sec-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .sec-grid { grid-template-columns:1fr; } }
.sec-item { border-top:2px solid var(--teal); padding-top:18px; }
.sec-item b { display:block; font-size:16px; margin:12px 0 6px; }
.sec-item p { margin:0; color:var(--muted); font-size:14.5px; }

/* ── Home redesign 10-25: fewer, bigger elements ── */
.btn-white { background:#fff; color:var(--navy); }
.btn-white:hover { box-shadow:0 8px 22px rgba(0,0,0,.25); }
h2 { font-size:clamp(30px,3.4vw,46px); line-height:1.12; letter-spacing:-.02em; }
.sec { padding:112px 0; }
@media (max-width:760px) { .sec { padding:64px 0; } }
.sec-head { max-width:780px; margin-bottom:56px; }
.sec-head p { font-size:19px; color:var(--muted); }

/* Showcase: tabs + product screen */
.sc-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); gap:40px; align-items:stretch; }
@media (max-width:980px) { .sc-grid { grid-template-columns:1fr; } }
.sc-tabs { display:flex; flex-direction:column; gap:6px; }
.sc-tab { text-align:left; background:transparent; border:0; border-left:3px solid var(--line); padding:16px 20px; cursor:pointer; font:inherit; color:var(--ink); transition:background .2s, border-color .2s; border-radius:0 12px 12px 0; }
.sc-tab b { display:block; font-size:18px; font-weight:700; }
.sc-tab span { display:block; color:var(--muted); font-size:15px; margin-top:4px; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s, opacity .3s; }
.sc-tab.on { border-left-color:var(--teal); background:var(--tint); }
.sc-tab.on span { max-height:60px; opacity:1; }
.sc-tab:hover:not(.on) { background:#fafbfc; }
@media (max-width:980px) { .sc-tabs { flex-direction:row; overflow-x:auto; gap:8px; } .sc-tab { border-left:0; border-bottom:3px solid var(--line); border-radius:10px 10px 0 0; white-space:nowrap; } .sc-tab.on { border-bottom-color:var(--teal); } .sc-tab span { display:none; } }
.sc-stage { position:relative; min-height:460px; border-radius:24px; padding:clamp(20px,3.4vw,44px); background:radial-gradient(120% 120% at 0% 0%, #dff1f1 0%, #eef1f8 55%, #f6f3fb 100%); border:1px solid #e1e9ef; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.sc-pane { display:none; width:100%; }
.sc-pane.on { display:block; animation:sc-in .35s ease; }
@keyframes sc-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.ui-card { background:#fff; border-radius:16px; border:1px solid rgba(16,27,55,.08); box-shadow:0 2px 6px rgba(16,27,55,.06), 0 30px 60px -18px rgba(16,27,55,.25); padding:22px; font-size:14px; color:var(--ink); max-width:620px; margin:0 auto; }
.ui-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.ui-pill { font-size:12px; background:var(--tint); border:1px solid var(--line); padding:4px 10px; border-radius:999px; color:var(--muted); }
.cal-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; min-height:270px; }
.cal-col { background:#f8fafc; border-radius:10px; padding:8px; position:relative; }
.cal-d { font-size:12px; font-weight:700; color:var(--muted); text-align:center; }
.cal-ev { font-size:11.5px; line-height:1.3; border-radius:8px; padding:7px 8px; border-left:3px solid; }
.cal-ev b { display:block; font-size:11px; opacity:.8; }
.cal-ev.e0 { background:#e6f4f4; border-color:#1f8a91; } .cal-ev.e1 { background:#fff4e0; border-color:#e59a1b; } .cal-ev.e2 { background:#ecebfd; border-color:#6d5bd0; } .cal-ev.e3 { background:#e7f6ec; border-color:#2f9e5b; } .cal-ev.e4 { background:#fde8ec; border-color:#d0475f; }
.cl-top { display:flex; gap:14px; align-items:center; }
.cl-av { width:52px; height:52px; border-radius:14px; background:var(--navy); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; }
.cl-top b { font-size:18px; display:block; } .cl-top small { color:var(--muted); }
.cl-tags { display:flex; gap:8px; margin:16px 0 18px; } .cl-tags span { font-size:12px; font-weight:600; background:#e7f6ec; color:#1f7a45; padding:5px 10px; border-radius:999px; }
.cl-tl { list-style:none; margin:0; padding:0; display:grid; gap:14px; border-top:1px solid var(--line); padding-top:16px; }
.cl-tl li { display:flex; gap:12px; } .cl-tl i { width:10px; height:10px; border-radius:50%; background:var(--teal); margin-top:5px; flex:none; box-shadow:0 0 0 4px var(--teal-soft); }
.cl-tl small { display:block; color:var(--muted); font-size:12.5px; }
.inv-row { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:10px; padding:13px 6px; border-bottom:1px solid var(--line); align-items:center; }
.inv-row:last-child { border-bottom:0; } .inv-h { font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; padding-top:0; }
.inv-row em { font-style:normal; font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; }
.st-ok { background:#e7f6ec; color:#1f7a45; } .st-open { background:#eef1f8; color:#3a4663; } .st-late { background:#fde8ec; color:#b4233c; }
.fin-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.fin-kpis div { background:#f8fafc; border-radius:12px; padding:14px; } .fin-kpis small { color:var(--muted); display:block; font-size:12px; } .fin-kpis b { display:block; font-size:21px; margin-top:4px; } .fin-kpis em { font-style:normal; font-size:12px; color:#1f7a45; font-weight:700; }
.fin-bars { display:flex; align-items:flex-end; gap:16px; height:200px; margin-top:20px; padding:0 6px; }
.fin-bar { flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:8px; }
.fin-bar i { display:block; width:100%; border-radius:8px 8px 4px 4px; background:#d6e7ea; }
.fin-bar i.on { background:linear-gradient(180deg,#2aa5ad,#1f8a91); }
.fin-bar small { color:var(--muted); font-size:12px; }
.ui-msg { display:flex; flex-direction:column; gap:12px; background:#f3efe9; }
.bub { max-width:78%; padding:11px 14px; border-radius:14px; font-size:14px; line-height:1.45; box-shadow:0 1px 1px rgba(0,0,0,.06); }
.bub.in { background:#fff; align-self:flex-start; border-top-left-radius:4px; } .bub.out { background:#d9fdd3; align-self:flex-end; border-top-right-radius:4px; }
.ui-doc { display:grid; grid-template-columns:1.4fr 1fr; gap:18px; align-items:end; }
.doc-paper { background:#fff; border:1px solid var(--line); border-radius:10px; padding:20px; display:flex; flex-direction:column; gap:9px; }
.doc-paper b { font-size:15px; margin-bottom:6px; } .doc-paper i { height:8px; border-radius:4px; background:#edf0f5; } .doc-paper i.s { width:70%; }
.doc-sign { margin-top:18px; border-top:1px solid var(--line); padding-top:12px; display:flex; justify-content:space-between; align-items:center; }
.sig { font-family:"Segoe Script","Brush Script MT",cursive; font-size:22px; color:var(--navy); }
.doc-sign em { font-style:normal; font-size:12px; font-weight:800; color:#1f7a45; border:2px solid #1f7a45; padding:3px 9px; border-radius:6px; transform:rotate(-6deg); }
.doc-ev { display:flex; flex-direction:column; gap:6px; } .doc-ev b { font-size:14px; } .doc-ev small { color:var(--muted); font-size:12.5px; background:#f8fafc; border-radius:8px; padding:7px 10px; }
@media (max-width:560px) { .ui-doc { grid-template-columns:1fr; } .cal-grid { grid-template-columns:repeat(3,1fr); } .cal-col:nth-child(n+4) { display:none; } }

/* AI band */
.ai-band { background:radial-gradient(90% 120% at 100% 0%, #16365e 0%, #0b1a40 55%); color:#fff; padding:112px 0; }
.ai-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:980px) { .ai-grid { grid-template-columns:1fr; } }
.ai-band h2 { color:#fff; margin-top:6px; }
.ai-band .ai-pill { background:rgba(95,208,213,.14); color:#8fe3e6; border-color:rgba(95,208,213,.3); }
.ai-p { color:rgba(255,255,255,.75); font-size:19px; margin:18px 0 0; max-width:54ch; }
.ai-items { display:grid; grid-template-columns:1fr 1fr; gap:26px 32px; margin-top:40px; }
@media (max-width:560px) { .ai-items { grid-template-columns:1fr; } }
.ai-items b { display:block; font-size:17px; } .ai-items > div > span:not(.ai-ico) { display:block; color:rgba(255,255,255,.65); font-size:15px; margin-top:4px; }
.ai-ico { display:inline-flex; width:40px; height:40px; border-radius:12px; align-items:center; justify-content:center; margin-bottom:12px; background:linear-gradient(135deg, rgba(53,196,192,.22), rgba(42,91,184,.22)); border:1px solid rgba(95,224,200,.28); box-shadow:0 0 22px -6px rgba(53,196,192,.7); }
.ai-ico svg { width:20px; height:20px; fill:none; stroke:#9ff3e3; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ai-band { position:relative; overflow:hidden; }
.ai-band::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size:26px 26px; -webkit-mask:radial-gradient(70% 80% at 75% 50%, #000 0%, transparent 75%); mask:radial-gradient(70% 80% at 75% 50%, #000 0%, transparent 75%); pointer-events:none; }
.ai-band > .container { position:relative; }
/* light band, the dark glass chat as the one dark object (owner, 10-26: hero, industries and AI were three dark
   bands in a row; a designer keeps the photo cards on dark and makes this band light) */
.ai-band { background:radial-gradient(60% 70% at 78% 45%, rgba(53,196,192,.16) 0%, rgba(53,196,192,0) 70%), linear-gradient(180deg, #f3f9fa 0%, #ffffff 100%); color:var(--ink); }
.ai-band::before { background-image:radial-gradient(rgba(14,27,61,.09) 1px, transparent 1px); }
.ai-band h2 { color:var(--ink); }
.ai-band .ai-pill { background:var(--teal-soft); color:var(--teal-dark); border-color:#cfe7e8; }
.ai-p { color:var(--ink-2); }
.ai-items > div > span:not(.ai-ico) { color:var(--muted); }
.ai-ico { background:linear-gradient(135deg, #e2f4f2, #e6eefb); border-color:#cfe7e8; box-shadow:0 8px 20px -10px rgba(31,143,153,.55); }
.ai-ico svg { stroke:var(--teal-dark); }
.ai-band .aix-glow i { opacity:.32; filter:blur(70px); }
.chat-lg { max-width:none; padding:24px; border:0; box-shadow:0 40px 80px rgba(0,0,0,.45); }
.chat-lg .msg { font-size:15px; }

/* Timeline */
.tl { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; position:relative; }
.tl::before { content:""; position:absolute; left:24px; right:24px; top:24px; height:2px; background:linear-gradient(90deg,var(--teal),var(--teal-soft)); }
.tl li { position:relative; }
.tl-n { position:relative; z-index:1; width:48px; height:48px; border-radius:50%; background:#fff; border:2px solid var(--teal); color:var(--teal); font-weight:800; font-size:18px; display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.tl h3 { font-size:22px; } .tl p { color:var(--muted); font-size:16px; margin:8px 0 0; max-width:34ch; }
.tl-cta { margin-top:48px; }
@media (max-width:860px) { .tl { grid-template-columns:1fr; } .tl::before { left:23px; right:auto; top:24px; bottom:24px; width:2px; height:auto; } .tl li { padding-left:72px; } .tl-n { position:absolute; left:0; top:0; } }

/* Large sector cards */
.xl-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:980px) { .xl-cards { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .xl-cards { grid-template-columns:1fr; } }
.xl-card { position:relative; display:block; aspect-ratio:3/4.2; border-radius:22px; overflow:hidden; background:#243454; }
.xl-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.xl-card:hover img { transform:scale(1.05); }
.xl-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,26,64,0) 35%,rgba(11,26,64,.88) 100%); }
.xl-body { position:absolute; left:0; right:0; bottom:0; z-index:1; padding:24px; color:#fff; }
.xl-body h3 { color:#fff; font-size:23px; } .xl-body p { color:rgba(255,255,255,.8); font-size:14px; margin:8px 0 14px; }
.xl-body span { font-weight:700; font-size:14px; border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:2px; }

/* Logo wall */
.logo-wall { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
@media (max-width:860px) { .logo-wall { grid-template-columns:repeat(3,1fr); } }
.lw-item { display:flex; align-items:center; justify-content:center; gap:12px; height:96px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:#5b6782; filter:grayscale(1); transition:background .2s; }
.lw-item:hover { background:var(--tint); }
.lw-item img { width:28px; height:28px; }
.lw-item em { font-style:normal; font-weight:700; font-size:16px; color:#5b6782; }
.lw-text em { font-size:18px; letter-spacing:-.01em; }

/* Security split */
.split-sec { display:grid; grid-template-columns:1fr 1.2fr; gap:72px; align-items:start; }
@media (max-width:980px) { .split-sec { grid-template-columns:1fr; gap:36px; } }
.sec-ic { display:inline-flex; width:56px; height:56px; border-radius:16px; background:var(--navy); align-items:center; justify-content:center; margin-bottom:22px; }
.sec-ic svg { width:28px; height:28px; stroke:#8fe3e6; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sec-list { display:grid; grid-template-columns:1fr 1fr; gap:36px 40px; }
@media (max-width:560px) { .sec-list { grid-template-columns:1fr; } }
.sec-list b { display:block; font-size:18px; padding-top:16px; border-top:2px solid var(--teal); } .sec-list p { color:var(--muted); margin:8px 0 0; font-size:15.5px; }

/* Company statement */
.about-h { font-size:clamp(34px,4.4vw,60px); max-width:18ch; line-height:1.08; }
.about-p { font-size:20px; color:var(--ink-2); max-width:60ch; margin:24px 0 0; }

/* Final call */
.cta-xl { background:linear-gradient(120deg,#0b1a40 0%,#13396a 55%,#1f8a91 100%); color:#fff; padding:120px 0; text-align:center; }
.cta-xl h2 { color:#fff; font-size:clamp(34px,4.6vw,62px); max-width:20ch; margin:0 auto; line-height:1.08; }
.cta-xl p { color:rgba(255,255,255,.8); font-size:19px; margin:20px 0 36px; }
.chat-lg { color:var(--ink); }

/* ── Section rhythm (10-25: "too white") ── */
.sec-grad { background:linear-gradient(180deg,#eef4f8 0%,#f7f9fb 60%,#ffffff 100%); }
.sec-soft { background:#f3f6f9; }
.sec-dark { background:#0b1a40; color:#fff; }
.sec-dark h2 { color:#fff; } .sec-dark .sec-head p { color:rgba(255,255,255,.7); }
.sec-blue { background:linear-gradient(135deg,#e7f1f8 0%,#eef6f4 100%); }
.sec-photo { position:relative; color:#fff; background:#0b1a40 url('https://images.pexels.com/photos/1181406/pexels-photo-1181406.jpeg?auto=compress&cs=tinysrgb&w=2000') center/cover no-repeat; padding:150px 0; }
.sec-photo::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,26,64,.94) 0%,rgba(11,26,64,.78) 50%,rgba(11,26,64,.45) 100%); }
.sec-photo .container { position:relative; }
.sec-photo .about-h { color:#fff; } .sec-photo .about-p { color:rgba(255,255,255,.82); }
.showcase .sc-tab.on { background:#fff; box-shadow:0 6px 18px rgba(16,27,55,.06); }
.showcase .sc-stage { background:radial-gradient(120% 120% at 0% 0%, #0f5e66 0%, #0b1a40 70%); border:0; }

/* App section */
.app-band { padding:120px 0; background:linear-gradient(135deg,#1f8a91 0%,#16616d 45%,#0b1a40 100%); color:#fff; overflow:hidden; }
.app-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media (max-width:980px) { .app-grid { grid-template-columns:1fr; } }
.app-band h2 { color:#fff; } .app-band .sec-p { color:rgba(255,255,255,.8); font-size:19px; }
.app-list { display:grid; gap:20px; margin-top:34px; }
.app-list div { border-left:2px solid rgba(255,255,255,.35); padding-left:16px; }
.app-list b { display:block; font-size:17px; } .app-list span { color:rgba(255,255,255,.72); font-size:15px; }
.stores { display:flex; gap:10px; margin-top:32px; } .stores span { border:1px solid rgba(255,255,255,.4); border-radius:10px; padding:10px 16px; font-weight:700; font-size:14px; }
.phones { position:relative; height:560px; }
.phone-f { position:absolute; width:260px; height:530px; border-radius:40px; background:#0a0f1c; padding:11px; box-shadow:0 40px 80px rgba(0,0,0,.45), inset 0 0 0 2px #2a3242; }
.p-client { left:4%; top:0; transform:rotate(-4deg); }
.p-team { right:4%; top:30px; transform:rotate(4deg); }
.ph-notch { position:absolute; left:50%; top:16px; width:84px; height:22px; margin-left:-42px; background:#0a0f1c; border-radius:12px; z-index:2; }
.ph-scr { height:100%; border-radius:30px; background:#f4f6f9; padding:48px 14px 14px; color:var(--ink); display:flex; flex-direction:column; gap:10px; font-size:12.5px; overflow:hidden; }
.ph-brand { display:flex; align-items:center; gap:8px; } .ph-brand i { width:26px; height:26px; border-radius:8px; background:linear-gradient(135deg,#1f8a91,#0b1a40); } .ph-brand b { font-size:15px; }
.ph-card { background:#fff; border-radius:14px; padding:12px; box-shadow:0 1px 2px rgba(16,27,55,.06); }
.ph-card small { display:block; color:var(--muted); font-size:11px; } .ph-card b { display:block; font-size:14px; margin-top:2px; }
.ph-next { background:linear-gradient(135deg,#0b1a40,#16616d); color:#fff; } .ph-next small { color:rgba(255,255,255,.7); } .ph-next span { font-size:12px; color:#8fe3e6; }
.ph-row { display:flex; justify-content:space-between; align-items:center; }
.ph-row em { font-style:normal; font-weight:700; font-size:12px; background:var(--teal); color:#fff; padding:6px 12px; border-radius:999px; } .ph-row em.alt { background:var(--navy); }
.ph-toast { margin-top:auto; background:#0b1a40; color:#fff; border-radius:12px; padding:10px 12px; font-size:11.5px; }
.ph-slot { display:flex; gap:10px; align-items:center; background:#fff; border-radius:12px; padding:11px 12px; border-left:4px solid #cfd6e2; }
.ph-slot b { font-size:12px; color:var(--muted); width:38px; } .ph-slot span { font-weight:700; font-size:13px; }
.ph-slot.ok { border-left-color:#2f9e5b; } .ph-slot.now { border-left-color:var(--teal); background:#e6f4f4; }
.ph-tasks { background:#fff; border-radius:14px; padding:12px; display:grid; gap:8px; } .ph-tasks small { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.ph-tasks div { display:flex; gap:8px; align-items:center; font-size:12.5px; } .ph-tasks i { width:14px; height:14px; border-radius:4px; border:2px solid #cfd6e2; } .ph-tasks .done { color:var(--muted); text-decoration:line-through; } .ph-tasks .done i { background:var(--teal); border-color:var(--teal); }
@media (max-width:560px) { .phones { height:470px; } .phone-f { width:210px; height:440px; } .p-client { left:0; } .p-team { right:0; } }

.phones { display:flex; justify-content:center; align-items:flex-start; gap:28px; height:auto; }
.phone-f { position:relative; left:auto; right:auto; top:auto; flex:none; }
.p-client { transform:rotate(-3deg); } .p-team { transform:rotate(3deg) translateY(40px); }
@media (max-width:640px) { .phones { gap:12px; } .phone-f { width:46%; height:auto; aspect-ratio:260/530; } .p-team { transform:rotate(3deg) translateY(24px); } }

/* Company home: routing first */
#setores-lista .sec-head h2 { font-size:clamp(34px,4vw,54px); }
#setores-lista .xl-card { aspect-ratio:3/4; }
#setores-lista .xl-body h3 { font-size:26px; }
.cta-sectors { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:8px; }
.cta-sales { display:inline-block; margin-top:26px; color:#fff; font-weight:700; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:2px; }
@media (max-width:520px) { #setores-lista .xl-cards { grid-template-columns:1fr 1fr; gap:12px; } #setores-lista .xl-card { aspect-ratio:3/4; border-radius:16px; } #setores-lista .xl-body { padding:14px; } #setores-lista .xl-body h3 { font-size:17px; } #setores-lista .xl-body p { display:none; } }

/* Company hero with animated network */
.ch { position:relative; overflow:hidden; background:radial-gradient(80% 90% at 75% 45%, #11406a 0%, #0b1a40 55%, #070f26 100%); color:#fff; padding:clamp(110px,16vh,180px) 0 clamp(100px,14vh,160px); min-height:min(78vh,760px); display:flex; align-items:center; }
.ch-net { position:absolute; inset:0; width:100%; height:100%; }
.ch-glow { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,15,38,.85) 0%,rgba(7,15,38,.35) 55%,rgba(7,15,38,0) 100%); pointer-events:none; }
.ch-in { position:relative; z-index:1; }
.ch h1 { color:#fff; font-size:clamp(42px,6.2vw,88px); line-height:1.02; font-weight:800; letter-spacing:-.035em; max-width:13ch; }
.ch p { color:rgba(255,255,255,.78); font-size:clamp(18px,1.6vw,22px); max-width:46ch; margin:26px 0 0; }
.ch-cta { display:flex; gap:14px; flex-wrap:wrap; margin-top:40px; }
.btn-outline-w { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); }
.btn-outline-w:hover { background:rgba(255,255,255,.08); }
/* sector panels as the second section */
.wow { padding:96px 0 72px; }
.wow-h1 { white-space:normal !important; font-size:clamp(30px,3.4vw,46px); }
/* final call with the sector cards */
.cta-cards { margin-top:44px; text-align:left; }
.cta-xl .cta-sales { margin-top:36px; }
.ch-in { width:100%; }
.cta-cards .xl-body p { display:none; }
.cta-cards .xl-card { aspect-ratio:4/5; }

/* Company hero v2: globe, aurora, industry chips */
.ch { min-height:min(88vh,820px); background:#060d22; }
.ch-aurora { position:absolute; inset:-20%; pointer-events:none; filter:blur(80px); opacity:.75; }
.ch-aurora i { position:absolute; border-radius:50%; }
.ch-aurora .a1 { width:46vw; height:46vw; left:48%; top:4%; background:radial-gradient(circle,#1f8a91 0%,transparent 65%); animation:aur1 18s ease-in-out infinite alternate; }
.ch-aurora .a2 { width:38vw; height:38vw; left:62%; top:42%; background:radial-gradient(circle,#2f9e5b 0%,transparent 65%); opacity:.55; animation:aur2 22s ease-in-out infinite alternate; }
.ch-aurora .a3 { width:50vw; height:50vw; left:-10%; top:30%; background:radial-gradient(circle,#13396a 0%,transparent 65%); animation:aur1 26s ease-in-out infinite alternate-reverse; }
@keyframes aur1 { to { transform:translate(-6vw,4vh) scale(1.12); } }
@keyframes aur2 { to { transform:translate(4vw,-6vh) scale(.9); } }
.ch-glow { background:linear-gradient(90deg,rgba(6,13,34,.92) 0%,rgba(6,13,34,.55) 42%,rgba(6,13,34,0) 70%); }
.ch-in { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:24px; }
.ch h1 { font-size:clamp(44px,6.4vw,92px); background:linear-gradient(180deg,#ffffff 30%,#c9e9ee 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ch-chips { position:relative; height:min(62vh,560px); }
.ch-chip { position:absolute; display:flex; align-items:center; gap:10px; padding:12px 18px 12px 12px; border-radius:16px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); color:#fff; font-weight:700; font-size:15px; box-shadow:0 20px 40px rgba(0,0,0,.35); transition:background .2s, transform .2s; animation:chipf 7s ease-in-out infinite; }
.ch-chip:hover { background:rgba(255,255,255,.16); }
.ch-ic { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#1f8a91,#2f9e5b); display:flex; align-items:center; justify-content:center; }
.ch-ic svg { width:18px; height:18px; stroke:#fff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ch-chip.c0 { left:2%; top:10%; } .ch-chip.c1 { right:0; top:24%; animation-delay:-2s; } .ch-chip.c2 { left:8%; bottom:16%; animation-delay:-4s; } .ch-chip.c3 { right:6%; bottom:4%; animation-delay:-5.5s; }
@keyframes chipf { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@media (max-width:900px) { .ch-in { grid-template-columns:1fr; } .ch-chips { height:auto; display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:36px; } .ch-chip { position:static; animation:none; font-size:14px; } .ch-glow { background:linear-gradient(180deg,rgba(6,13,34,.9) 0%,rgba(6,13,34,.5) 60%,rgba(6,13,34,.85) 100%); } }
@media (prefers-reduced-motion: reduce) { .ch-aurora i, .ch-chip { animation:none; } }
.ch h1 { font-size:clamp(42px,5.4vw,78px); max-width:12.5ch; }
.ch-in { grid-template-columns:1.15fr .85fr; }

.ch-in { grid-template-columns:1fr; }
.ch p { max-width:38ch; }

/* Animated MotionHub mark in the hero */
.lg-wrap { position:absolute; right:max(4vw, calc((100vw - 1200px) / 2 - 20px)); top:50%; width:min(560px,44vw); aspect-ratio:1; transform:translateY(-50%); pointer-events:none; }
.lg { width:100%; height:100%; overflow:visible; }
.lg-ring { fill:none; stroke:url(#lgG); stroke-width:22; stroke-dasharray:1; stroke-dashoffset:1; animation:lgDraw 1.4s .1s cubic-bezier(.6,.1,.2,1) forwards; }
.lg-spoke { fill:none; stroke-width:16; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; animation:lgDraw .7s var(--d) ease-out forwards; }
.lg-node, .lg-hub { transform:scale(0); animation:lgPop .5s var(--d,.8s) cubic-bezier(.3,1.6,.5,1) forwards; }
.lg-hub { --d:.8s; animation:lgPop .6s .8s cubic-bezier(.3,1.6,.5,1) forwards, lgBeat 2.4s 2.4s ease-in-out infinite; }
.lg-halo { transform-origin:256px 256px; opacity:0; animation:lgHalo 4s 2s ease-in-out infinite; }
.lg-pulse { opacity:0; }
@keyframes lgDraw { to { stroke-dashoffset:0; } }
@keyframes lgPop { to { transform:scale(1); } }
@keyframes lgBeat { 0%,100% { transform:scale(1); } 50% { transform:scale(1.08); } }
@keyframes lgHalo { 0%,100% { opacity:.35; transform:scale(.9); } 50% { opacity:.8; transform:scale(1.15); } }
@media (max-width:900px) { .lg-wrap { right:-18vw; top:auto; bottom:-14vw; transform:none; width:78vw; opacity:.35; } }
@media (prefers-reduced-motion: reduce) {
  .lg-ring, .lg-spoke { animation:none; stroke-dashoffset:0; }
  .lg-node, .lg-hub, .lg-halo { animation:none; transform:none; opacity:1; }
  .lg-pulse { display:none; }
}

/* Premium mark v2 */
.lg-wrap { perspective:1100px; }
.lg-tilt { width:100%; height:100%; transition:transform .5s cubic-bezier(.2,.8,.2,1); transform-style:preserve-3d; animation:lgFloat 9s ease-in-out infinite; }
@keyframes lgFloat { 0%,100% { translate:0 0; } 50% { translate:0 -10px; } }
.lg-ring { stroke-width:5; }
.lg-ring-glow { stroke-dasharray:1; animation:none; }
.b-base { fill:none; stroke:url(#gBeam); stroke-width:2.2; stroke-linecap:round; opacity:.55; stroke-dasharray:1; stroke-dashoffset:1; animation:lgDraw .8s var(--d) ease-out forwards; }
.b-flow { fill:none; stroke:#bff8ff; stroke-width:2.4; stroke-linecap:round; stroke-dasharray:4 14; opacity:0; animation:bIn .8s var(--d) forwards, bFlow 1.8s linear infinite; }
@keyframes bIn { to { opacity:.75; } }
@keyframes bFlow { to { stroke-dashoffset:-36; } }
.nd { transform:scale(0); animation:lgPop .6s var(--d) cubic-bezier(.3,1.6,.5,1) forwards; }
.nd-ripple { fill:none; stroke:rgba(150,250,230,.7); stroke-width:1.5; transform-box:fill-box; transform-origin:center; opacity:0; animation:ripple 3.2s ease-out infinite; }
@keyframes ripple { 0% { transform:scale(1); opacity:.8; } 100% { transform:scale(3.2); opacity:0; } }
.hub { transform:scale(0); animation:lgPop .7s .6s cubic-bezier(.3,1.6,.5,1) forwards; }
.hub-halo { transform-box:fill-box; transform-origin:center; animation:lgHalo 3s 2s ease-in-out infinite; }
.orb { transform-origin:256px 256px; }
.o1 { animation:spin 40s linear infinite; } .o2 { animation:spin 60s linear infinite reverse; } .o3 { animation:spin 18s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.lg-core { animation:lgHalo 6s ease-in-out infinite; transform-origin:256px 256px; }
.pt { fill:#bff3f4; animation:twinkle 7s ease-in-out infinite; }
@keyframes twinkle { 0%,100% { opacity:.15; } 50% { opacity:.8; } }
.ps { opacity:0; }
@media (prefers-reduced-motion: reduce) { .lg-tilt, .orb, .b-flow, .nd-ripple, .hub-halo, .lg-core, .pt { animation:none !important; } .b-base { stroke-dashoffset:0; animation:none; } .b-flow { opacity:.6; } .nd, .hub { transform:none; animation:none; } }

/* Mark v3: balanced (owner 10-26: v2 too thin, too much going on) */
.lg-ring { stroke-width:14; }
.lg-ring-glow { stroke-width:20; opacity:.35; }
.b-base { stroke:url(#lgG); stroke-width:9; opacity:1; }
.lg-tilt { animation:none; }

/* BIM viewer chrome */
.bim-stage { height:clamp(380px,42vw,520px); }
.bim-tree { position:absolute; left:14px; bottom:14px; z-index:2; background:rgba(11,26,44,.82); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:10px 12px; min-width:170px; font-size:12px; color:#cbd5e1; backdrop-filter:blur(4px); }
.bim-tree small { display:block; font-weight:700; color:#fff; font-size:12px; margin-bottom:6px; }
.bt-row { display:flex; align-items:center; gap:8px; padding:3px 0; } .bt-row i { width:10px; height:10px; border-radius:3px; } .bt-row em { margin-left:auto; font-style:normal; color:#94a3b8; }
.bt-row.t0 i { background:#64748b; } .bt-row.t1 i { background:#9aa7b8; } .bt-row.t2 i { background:#d7dee8; } .bt-row.t3 i { background:#e7c9a6; } .bt-row.t4 i { background:#6fc3e6; } .bt-row.t5 i { background:#5c6b80; }
.bim-tools { position:absolute; top:14px; right:14px; z-index:2; display:flex; gap:6px; } .bim-tools span { font-size:12px; font-weight:700; color:#e2e8f0; background:rgba(11,26,44,.82); border:1px solid rgba(255,255,255,.12); padding:6px 10px; border-radius:8px; } .bim-tools span.on { background:#0f766e; border-color:#2dd4bf; }
.bim-props { position:absolute; right:14px; bottom:14px; z-index:2; background:#fff; color:#0e1b3d; border-radius:12px; padding:10px 12px; min-width:190px; font-size:12px; box-shadow:0 14px 30px rgba(0,0,0,.4); border-top:3px solid #2dd4bf; }
.bim-props b { display:block; font-size:12.5px; margin-bottom:6px; } .bim-props div { display:flex; justify-content:space-between; gap:12px; padding:2px 0; } .bim-props span { color:#64748b; } .bim-props em { font-style:normal; font-weight:600; }
.bim-cut { position:absolute; left:50%; top:14px; transform:translateX(-50%); z-index:2; font-size:12px; font-weight:700; color:#5eead4; background:rgba(15,118,110,.25); border:1px solid rgba(94,234,212,.4); padding:5px 10px; border-radius:999px; }
@media (max-width:640px) { .bim-tree, .bim-cut { display:none; } .bim-props { min-width:0; } }

/* Mark: softer (owner 10-26) */
.lg-ring-glow { opacity:.18; }
.lg { filter:saturate(.85) brightness(.88); }
.ch-aurora { opacity:.45; }
@keyframes lgHalo { 0%,100% { opacity:.2; transform:scale(.92); } 50% { opacity:.45; transform:scale(1.08); } }
.lg-ring { stroke-linecap:round; animation:lgRing 1.4s .1s cubic-bezier(.6,.1,.2,1) forwards; }
@keyframes lgRing { 99% { stroke-dashoffset:0; stroke-dasharray:1; } 100% { stroke-dashoffset:0; stroke-dasharray:none; } }
