/* ========================================================================
   Ubitech Limited — Company Profile Website
   Brand palette and type system match the source presentation deck.
   ======================================================================== */

:root{
  --navy:#0C4878;
  --navy-d:#0a3a63;
  --blue:#5490CC;
  --cyan:#6CC0D8;
  --ink:#1f2d3d;
  --muted:#5d6b7a;
  --line:#dce6f0;
  --bg-soft:#f3f8fc;
  --good:#1e8f5f;
  --max-w:1180px;
  --font: "Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;display:block;}
a{color:var(--blue);}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px;}

/* ---------------- bilingual toggle ---------------- */
.t-zh{display:none;}
body.lang-zh .t-en{display:none;}
body.lang-zh .t-zh{display:inline;}

/* ---------------- header / nav ---------------- */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;}
#home,#products,#water-leak,#fire-protection,#patents,#company,#contact{scroll-margin-top:68px;}
.brand-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:800;font-size:17px;letter-spacing:.3px;}
.brand-logo img{height:40px;width:auto;display:block;}
.main-nav{display:flex;align-items:center;gap:28px;}
.main-nav a{color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.main-nav a:hover{color:var(--navy);}
.main-nav a.active{color:var(--navy);border-color:var(--blue);}
.lang-toggle{
  background:var(--navy);color:#fff;border:none;border-radius:99px;padding:8px 16px;
  font-weight:700;font-size:12.5px;letter-spacing:.3px;cursor:pointer;transition:background .2s;
}
.lang-toggle:hover{background:var(--navy-d);}
.nav-toggle{display:none;background:none;border:none;font-size:24px;color:var(--navy);cursor:pointer;}

@media (max-width:860px){
  .main-nav{
    position:fixed;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 16px;
    transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
  }
  .main-nav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .main-nav a{width:100%;padding:12px 0;border-bottom:1px solid var(--line);}
  .main-nav .lang-toggle{margin:12px 0 4px;}
  .nav-toggle{display:block;}
}

/* ---------------- hero (home) ---------------- */
.hero{position:relative;color:var(--ink);overflow:hidden;min-height:620px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(56px,calc((100% - 1280px)/2 + 56px));background:#f3f8fc;}
.hero .wrap{position:relative;z-index:3;flex:1 1 auto;max-width:none;margin:0;padding:60px 0;}
.hero::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:multiply;--vl:min(calc(100% - 656px),calc(50% - 16px));-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(var(--vl) - 80px),rgba(0,0,0,.16) calc(var(--vl) + 120px),rgba(0,0,0,.16) 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(var(--vl) - 80px),rgba(0,0,0,.16) calc(var(--vl) + 120px),rgba(0,0,0,.16) 100%);background:radial-gradient(ellipse 60% 85% at 76% 48%,rgba(52,120,196,.62),rgba(52,120,196,0) 72%),radial-gradient(circle at 6% 0%,rgba(72,182,214,.55),rgba(72,182,214,0) 48%),radial-gradient(circle at 30% 105%,rgba(12,72,120,.30),rgba(12,72,120,0) 50%),linear-gradient(115deg,rgba(12,72,120,.22) 0%,rgba(12,72,120,0) 40%,rgba(52,120,196,.28) 100%);}
.hero-video{position:relative;z-index:1;flex:0 0 auto;width:656px;height:709px;margin-right:-56px;overflow:hidden;}
.hero-video video{display:block;width:656px;height:709px;object-fit:cover;object-position:center;}
.hero-video::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f3f8fc 0%,rgba(243,248,252,.88) 14%,rgba(243,248,252,0) 48%),linear-gradient(270deg,#f3f8fc 0%,rgba(243,248,252,.88) 14%,rgba(243,248,252,0) 48%);}
.hero-video::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,248,252,.25) 0%,rgba(243,248,252,0) 26%,rgba(243,248,252,0) 74%,rgba(243,248,252,.6) 100%);}
@media (max-width:1100px){.hero-video{display:none;}.hero{padding:0 24px;min-height:auto;}}
.hero .eyebrow{font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.15;margin:0 0 18px;font-weight:800;max-width:16em;color:var(--navy);}
.hero p{font-size:clamp(15px,2vw,19px);color:#3a4a5a;max-width:40em;margin:0 0 28px;}
.hero p b{color:var(--navy);font-weight:800;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:99px;font-weight:700;
  font-size:14.5px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;border:2px solid transparent;
}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,72,120,.3);}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}
.hero .btn-ghost{border-color:var(--navy);color:var(--navy);}
.hero .btn-ghost:hover{background:#fff;}
.meta-strip{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;font-size:13px;color:#3a4a5a;}
.meta-strip > span{display:flex;align-items:center;gap:8px;}
.meta-strip b{color:var(--navy);}

/* ---------------- page header (non-home pages) ---------------- */
.page-header{background:linear-gradient(135deg,var(--navy),var(--navy-d));color:#fff;padding:64px 0 46px;}
.page-header .kicker-pill{display:inline-block;background:rgba(255,255,255,.14);color:#fff;font-weight:800;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 14px;border-radius:99px;margin-bottom:16px;}
.page-header h1{font-size:clamp(26px,4vw,38px);margin:0 0 12px;font-weight:800;}
.page-header p{font-size:16px;color:#cfe0f0;max-width:48em;margin:0;}

/* ---------------- generic section ---------------- */
section.block{padding:56px 0;}
section.block.alt{background:var(--bg-soft);}
.section-title{font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--navy);margin:0 0 10px;}
.section-sub{font-size:15px;color:var(--muted);max-width:52em;margin:0 0 32px;}

/* ---------------- shared cards from deck ---------------- */
.ai-advantage{background:linear-gradient(135deg,var(--bg-soft),#eaf2fb);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:0 0 28px;font-size:14px;line-height:1.65;color:var(--ink);max-width:60em;}
.take-away{background:var(--bg-soft);border-left:4px solid var(--navy);border-radius:10px;padding:16px 20px;font-size:14px;color:var(--navy);font-weight:700;line-height:1.6;max-width:58em;margin-top:10px;}

.recap-grid,.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.recap-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.recap-card:hover,.pillar-card:hover,.patent-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(12,72,120,.14);border-color:transparent;}
.recap-card .ic{width:38px;height:38px;border-radius:10px;background:var(--bg-soft);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.recap-card .ic svg{width:20px;height:20px;}
.recap-card b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:8px;}
.recap-card p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.6;}

.pillar-card{border:1px solid var(--line);border-radius:14px;padding:20px 18px;background:#fff;display:flex;flex-direction:column;gap:10px;}
.pillar-card .n{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;}
.pillar-card b{font-size:14.5px;color:var(--navy);line-height:1.35;}
.pillar-card span{font-size:13px;color:var(--muted);line-height:1.6;}

.patent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.patent-card{border:1px solid var(--line);border-radius:14px;padding:20px 24px;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;display:block;text-decoration:none;color:inherit;}
.patent-card .pbadge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.5px;color:var(--blue);background:var(--bg-soft);border-radius:99px;padding:4px 11px;margin-bottom:9px;}
.patent-card .ptitle{font-size:13.5px;color:var(--ink);margin-top:7px;line-height:1.5;}
.patent-card .pdate{font-size:11.5px;color:var(--muted);margin-top:10px;}
.patent-card.latest{grid-column:1 / -1;display:flex;align-items:center;gap:20px;}
.patent-card.latest .pnew{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.5px;color:#fff;background:var(--good);border-radius:99px;padding:3px 10px;margin-left:8px;vertical-align:middle;}
.patent-card.latest .pleft{flex:0 0 auto;}
.patent-card.latest .pright{flex:1;}
.patent-card.latest .ptitle{margin-top:0;}
.patent-footer{margin-top:20px;font-size:12px;color:var(--muted);text-align:center;}
.patent-footer b{color:var(--navy);}

.ret-good-row{display:flex;flex-direction:column;gap:14px;margin-bottom:10px;}
.ret-good-item{display:flex;align-items:flex-start;gap:16px;background:#f4fbf7;border:1px solid #c7e6d5;border-radius:12px;padding:18px 22px;}
.ret-check{font-size:26px;color:var(--good);font-weight:800;line-height:1.2;flex:0 0 auto;}
.ret-good-item b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:6px;}
.ret-good-item span{font-size:13.5px;color:var(--muted);line-height:1.6;}

.col-label{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding-bottom:10px;margin-bottom:18px;border-bottom:2px solid var(--line);color:var(--navy);}
.col-label.problem{color:#c0392b;border-color:#f3cfc7;}
.col-label.solution{color:var(--navy);}

/* diagrams (org chart / mindmap / map / ipman) */
.diagram-box{max-width:100%;margin:0 auto;text-align:center;}
.diagram-box svg{display:block;width:100%;height:auto;max-width:760px;margin:0 auto;}
.diagram-box .cap{font-size:13px;color:var(--muted);margin-top:14px;max-width:48em;margin-left:auto;margin-right:auto;}
.map-box svg{display:block;width:100%;height:auto;}
.map-legend{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--muted);}
.map-legend .swatch{width:12px;height:12px;border-radius:3px;background:var(--blue);display:inline-block;}

/* vancouver photos */
.photo-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;}
.photo-row img{border-radius:12px;width:100%;height:260px;object-fit:cover;}
.photo-caption{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center;}

/* ---------------- product grid ---------------- */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.product-card{
  border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;text-align:center;cursor:pointer;
  transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease;
}
.product-card:hover{box-shadow:0 14px 32px rgba(12,72,120,.14);border-color:transparent;transform:translateY(-3px);}
.product-thumb{width:100%;height:255px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:16px;}
.product-thumb img{max-width:100%;max-height:184px;object-fit:contain;transition:transform .35s ease;}
.product-card:hover .product-thumb img{transform:scale(1.15);}
.product-name{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:6px;}
.product-desc{font-size:12.5px;color:var(--muted);line-height:1.55;}

@media (max-width:900px){ .product-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .product-grid{grid-template-columns:1fr;} }

/* ---------------- product detail modal ---------------- */
.product-modal{position:fixed;inset:0;background:rgba(10,30,50,.75);display:none;align-items:center;justify-content:center;z-index:200;padding:24px;}
.product-modal.open{display:flex;}
.product-modal-inner{background:#fff;border-radius:18px;max-width:540px;width:100%;padding:36px;position:relative;text-align:center;max-height:88vh;overflow-y:auto;}
.product-modal-close{
  position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:none;
  background:var(--bg-soft);color:var(--navy);font-size:20px;line-height:1;cursor:pointer;
}
.product-modal-close:hover{background:var(--line);}
.product-modal-img{width:100%;height:240px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.product-modal-img img{max-width:75%;max-height:100%;object-fit:contain;}
.product-modal-name{font-size:21px;font-weight:800;color:var(--navy);margin-bottom:12px;}
.product-modal-desc{font-size:14.5px;color:var(--muted);line-height:1.65;}

/* ---------------- quality control photos ---------------- */
.ipman-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;}
.ipman-photos figure{margin:0;}
.ipman-photos img{width:100%;height:170px;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.ipman-photos figcaption{font-size:12.5px;color:var(--muted);margin-top:8px;text-align:center;}

/* ---------------- the problem: stats ---------------- */
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.stats-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;}
.donut-row{display:flex;align-items:center;gap:20px;}
.donut-wrap{position:relative;width:64px;height:64px;flex:0 0 auto;}
.donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--navy);}
.donut-legend{flex:1;display:flex;flex-direction:column;gap:6px;font-size:12.5px;}
.dl-item{display:flex;align-items:center;gap:8px;}
.dl-item .dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.dl-item b{margin-left:auto;color:var(--navy);}
.cause-breakdown{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;}
.cb-item{display:flex;align-items:center;gap:8px;color:var(--muted);}
.cb-dot{width:7px;height:7px;border-radius:50%;background:var(--line);display:inline-block;}
.cb-item b{margin-left:auto;color:var(--ink);}
.pictogram-row{display:flex;align-items:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.pictogram-grid{display:flex;flex-wrap:wrap;gap:2.5px;max-width:220px;flex:0 0 auto;}
.pictogram-grid svg{width:11px;height:11px;color:var(--line);}
.pictogram-grid svg.on{color:var(--blue);}
.pictogram-grid svg path{fill:currentColor;}
.stat-block-txt{display:flex;flex-direction:column;}
.stat-block-txt b{font-size:19px;color:var(--navy);}
.stat-block-txt span{font-size:12px;color:var(--muted);}
.claim-line{font-size:15px;color:var(--ink);padding-top:16px;margin-top:16px;border-top:1px dashed var(--line);}
.claim-line b{color:var(--navy);display:block;font-size:19px;margin-bottom:2px;}
.stat-source{font-size:10.5px;color:#9fb0bf;margin-top:10px;}
.leak-scene img{border-radius:12px;width:100%;height:280px;object-fit:cover;}
.leak-caption{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.6;}

/* ---------------- design-driven advantages ---------------- */
.pipe-fit-row{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px;align-items:center;}
.pipe-fit-col{display:flex;flex-direction:column;gap:14px;}
.pipe-fit-col img{border-radius:10px;border:1px solid var(--line);}
.pipe-slideshow-wrap{position:relative;}
.pipe-slideshow-wrap video{border-radius:14px;width:100%;}
.pipe-slide-dots{display:flex;justify-content:center;gap:6px;margin-top:10px;}
.pipe-slide-dots .dot{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;}
.pipe-slide-dots .dot.active{background:var(--navy);}

.ac-carousel{position:relative;}
.ac-car-viewport{position:relative;overflow:hidden;border-radius:14px;}
.ac-car-page{display:none;}
.ac-car-page.active{display:block;}
.fit-proof-item img,.fit-proof-item video{width:100%;border-radius:14px;}
.ac-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:rgba(12,72,120,.85);color:#fff;font-size:18px;cursor:pointer;z-index:2;}
.ac-car-prev{left:8px;}
.ac-car-next{right:8px;}
.ac-car-dots{display:flex;justify-content:center;gap:6px;margin-top:10px;}
.ac-car-dot{width:7px;height:7px;border-radius:50%;background:var(--line);display:inline-block;}
.ac-car-dot.active{background:var(--navy);}
.pv-caption{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.6;}
.points{margin:14px 0 0;padding-left:18px;font-size:13.5px;color:var(--muted);line-height:1.65;}
.points.sol li::marker{color:var(--good);}
.process-video{margin-top:4px;}

/* ---------------- contact page ---------------- */
.contact-hero{background:linear-gradient(135deg,var(--navy),var(--navy-d));color:#fff;text-align:center;padding:80px 0;}
.contact-hero img{height:64px;margin:0 auto 24px;}
.contact-hero h1{font-size:clamp(26px,4vw,38px);margin:0 0 12px;}
.contact-hero p{color:#cfe0f0;font-size:16px;margin:0 auto 30px;max-width:34em;}
.contact-divider{width:64px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--cyan));margin:0 auto 30px;}
.contact-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;}
.cline{font-size:14.5px;display:inline-flex;align-items:center;gap:8px;color:#fff;}
.cline a{color:#fff;text-decoration:underline;}
.cicon{width:17px;height:17px;flex:0 0 auto;}

/* ---------------- footer ---------------- */
.site-footer{background:var(--navy-d);color:#cfe0f0;padding:36px 0;font-size:13px;}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;text-align:center;}
.site-footer a{color:#fff;}

@media (max-width:900px){
  .recap-grid,.pillar-grid{grid-template-columns:repeat(2,1fr);}
  .patent-grid{grid-template-columns:1fr;}
  .problem-grid{grid-template-columns:1fr;}
  .pipe-fit-row{grid-template-columns:1fr;}
  .photo-row{grid-template-columns:1fr;}
  .ipman-photos{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .recap-grid,.pillar-grid{grid-template-columns:1fr;}
}

.recap-grid.two{grid-template-columns:repeat(2,1fr);}
@media (max-width:600px){.recap-grid.two{grid-template-columns:1fr;}}

/* ---------------- turnkey solution blocks ---------------- */
.solution-block{margin-top:44px;}
.solution-block:first-of-type{margin-top:28px;}
.block-label{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid var(--line);}
.block-label .num{background:var(--navy);color:#fff;border-radius:99px;padding:4px 12px;letter-spacing:1px;}
.block-title{font-size:clamp(19px,2.4vw,24px);font-weight:800;color:var(--navy);margin:18px 0 18px;line-height:1.3;}
.block-title.sys{margin-top:40px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.stat-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:22px 20px;}
.stat-card .v{font-size:clamp(24px,3vw,32px);font-weight:800;color:var(--navy);line-height:1.1;margin-bottom:10px;}
.stat-card .l{font-size:13px;color:var(--muted);line-height:1.55;}
.stat-source{font-size:11px;color:#9fb0bf;margin:12px 0 0;}
.sys-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.sys-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.sys-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000;}
.sys-card figcaption{padding:16px 18px 20px;}
.sys-card figcaption b{display:block;font-size:15px;color:var(--navy);margin-bottom:6px;}
.sys-card figcaption span{font-size:13px;color:var(--muted);line-height:1.55;}
@media (max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr);}.sys-grid{grid-template-columns:1fr;}}
@media (max-width:520px){.stat-grid{grid-template-columns:1fr;}}

.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.stat-card .vs{font-size:.55em;font-weight:700;opacity:.75;}
.leak-banner{position:relative;border-radius:18px;overflow:hidden;min-height:460px;background:#0b1620;display:flex;align-items:flex-end;}
.leak-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.leak-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,32,.10) 0%,rgba(8,20,32,.35) 40%,rgba(8,20,32,.88) 100%);}
.leak-overlay{position:relative;z-index:2;width:100%;padding:28px;}
.leak-overlay .stat-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:14px;padding:20px 18px;}
.leak-overlay .stat-card .v{color:#fff;font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.1;margin-bottom:8px;}
.leak-overlay .stat-card .l{color:#dce9f5;font-size:13px;line-height:1.5;}
.leak-overlay .stat-source{color:#b9c8d8;margin:14px 0 0;font-size:11px;}
@media (max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr);}.leak-banner{min-height:560px;}}
@media (max-width:520px){.stat-grid{grid-template-columns:1fr;}}

.leak-banner{align-items:stretch;min-height:560px;}
.leak-banner::after{background:linear-gradient(180deg,rgba(8,20,32,.78) 0%,rgba(8,20,32,.30) 34%,rgba(8,20,32,.45) 58%,rgba(8,20,32,.90) 100%);}
.leak-overlay{display:flex;flex-direction:column;justify-content:space-between;gap:28px;}
.leak-head .solution-title{color:#fff;margin:0 0 8px;}
.leak-head p{margin:0;font-size:clamp(15px,1.8vw,18px);color:#dce9f5;font-weight:600;}
@media (max-width:1000px){.leak-banner{min-height:680px;}}

.leak-stage{position:absolute;inset:0;transform-origin:62% 38%;animation:leakZoom 22s ease-in-out infinite alternate;}
.leak-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
@keyframes leakZoom{from{transform:scale(1);}to{transform:scale(1.1);}}
@media (prefers-reduced-motion:reduce){.leak-stage{animation:none;}}

/* Leak scene: fixed-ratio picture centred on a blurred copy of itself that extends to both ends */
.leak-bg{position:absolute;left:-6%;top:-6%;width:112%;height:112%;object-fit:cover;filter:blur(26px) saturate(1.1);}
.leak-fg{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);aspect-ratio:1402/1122;height:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);}
.leak-fg img{display:block;width:100%;height:100%;}

/* Leak banner: full-bleed, flush against the hero above */
.leak-section{display:block;margin:0;padding:0;}
.leak-banner{border-radius:0;}
.leak-overlay{padding:32px max(24px,calc((100% - 1280px)/2 + 56px));}
.leak-fg{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);}
.block-title.sys{margin-top:0;}

/* Leak banner heading: larger, centred */
.leak-head{text-align:center;}
.leak-head .solution-title{font-size:clamp(40px,6vw,64px);letter-spacing:-.01em;margin:0 0 12px;}
.leak-head p{font-size:clamp(18px,2.4vw,26px);}

/* Leak banner heading: back to left-aligned, with a drop shadow for legibility */
.leak-head{text-align:left;}
.leak-head .solution-title{text-shadow:0 2px 4px rgba(0,0,0,.55),0 6px 24px rgba(0,0,0,.6);}
.leak-head p{text-shadow:0 1px 3px rgba(0,0,0,.65),0 4px 16px rgba(0,0,0,.55);}

/* Leak banner heading: ~35% tighter gap between title and subtitle */
.leak-head .solution-title{line-height:1.15;margin:0 0 14px;}
.leak-head p{line-height:1.4;}

/* BLUR 橫鋪 video band under the leak stats */
.leak-video{position:relative;overflow:hidden;background:#0b1620;height:min(440px,33vw);}
.lv-bg{position:absolute;left:-6%;top:-12%;width:112%;height:124%;object-fit:cover;filter:blur(28px) saturate(1.1);}
.lv-fg{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);height:100%;aspect-ratio:1920/800;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);}
.lv-fg video{display:block;width:100%;height:100%;object-fit:cover;}

.lv-fg{z-index:2;}

/* BLUR 橫鋪 video band: 16:9 clip */
.leak-video{height:min(540px,40vw);}
.lv-fg{aspect-ratio:1920/1080;}

.block-title.sys{font-size:clamp(26px,3.4vw,38px);margin:0 0 8px;}
.sys-sub{font-size:clamp(16px,1.8vw,20px);color:var(--muted);font-weight:600;margin:0 0 28px;}

/* Real footage: three clips side by side, equal height */
.block-title.sys{margin-top:0;}
.real-pair{display:grid;grid-template-columns:.5625fr .5625fr .75fr;gap:24px;max-width:1080px;margin:0 auto 44px;align-items:start;}
.real-pair video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:18px;background:#0b1620;box-shadow:0 10px 30px rgba(11,22,32,.18);}
@media (max-width:700px){.real-pair{grid-template-columns:1fr;max-width:320px;}}

/* Product cards — proportions after insta360.com: 3 columns, 32px gap, 3:4 soft card, name + tagline on top, large product below */
.product-grid{gap:32px;}
.product-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#f8f9fc;border:0;border-radius:24px;padding:44px 32px 30px;aspect-ratio:416/554;cursor:pointer;}
.product-card:hover{box-shadow:0 18px 40px rgba(12,72,120,.12);transform:translateY(-3px);}
.product-name{order:1;font-size:26px;font-weight:600;color:#262629;line-height:1.2;margin:0 0 6px;}
.product-desc{order:2;font-size:15px;line-height:1.45;color:#76767f;max-width:19em;margin:0;}
.product-thumb{order:3;flex:1 1 auto;width:100%;height:auto;min-height:0;margin:14px 0 10px;display:flex;align-items:center;justify-content:center;}
.product-thumb img{width:auto;max-width:78%;max-height:100%;mix-blend-mode:multiply;}
.product-more{order:4;font-size:14px;font-weight:500;color:rgba(0,0,0,.6);}
.product-card:hover .product-more{color:var(--navy);}
.product-name{font-size:clamp(20px,2.1vw,24px);}

.acc-title{margin-top:72px;}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.product-grid{grid-template-columns:minmax(0,1fr);}}
.product-card{min-width:0;}
.product-thumb{min-width:0;overflow:hidden;}

/* Hero slideshow (after insta360.com): stacked slides, tab strip with progress bars */
.hero-slider{position:relative;display:grid;background:#f3f8fc;overflow:hidden;}
.hero-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s;}
.hero-slide.active{opacity:1;visibility:visible;transition:opacity .9s ease,visibility 0s;}
.hero-slider .hero{min-height:709px;}
.hero-slider .hero .wrap{padding-bottom:110px;}
.hero-slide2{position:relative;min-height:709px;background:#f3f8fc;overflow:hidden;}
.hero-slide2 .h2-bg{position:absolute;left:-6%;top:-6%;width:112%;height:112%;object-fit:cover;filter:blur(30px) saturate(1.1);}
.hero-slide2 .h2-fg{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);height:100%;aspect-ratio:1920/1080;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);}
.hero-slide2 .h2-fg video{display:block;width:100%;height:100%;object-fit:cover;}
.hero-slide2 .h2-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,248,252,.94) 0%,rgba(243,248,252,.82) 30%,rgba(243,248,252,0) 62%);}
.hero-slide2 .h2-text{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;padding:60px 0 110px max(56px,calc((100% - 1280px)/2 + 56px));max-width:calc(max(56px,calc((100% - 1280px)/2 + 56px)) + 620px);box-sizing:border-box;}
.hero-slide2 h1{font-size:clamp(32px,5vw,54px);line-height:1.15;margin:0 0 18px;font-weight:800;color:var(--navy);}
.hero-slide2 p{font-size:clamp(15px,2vw,19px);color:#3a4a5a;margin:0 0 28px;}
.hero-slide2 p b{color:var(--navy);font-weight:800;}
.hero-slide2 .btn-ghost{border-color:var(--navy);color:var(--navy);}
.hero-slide2 .btn-ghost:hover{background:#fff;}
.hero-tabs{position:absolute;left:0;right:0;bottom:22px;z-index:6;display:flex;justify-content:center;gap:12px;padding:0 24px;}
.hero-tab{all:unset;cursor:pointer;box-sizing:border-box;width:clamp(120px,16vw,200px);display:flex;flex-direction:column;gap:9px;text-align:center;}
.hero-tab .bar{display:block;height:3px;border-radius:2px;background:rgba(11,43,77,.22);position:relative;overflow:hidden;}
.hero-tab .bar::after{content:'';position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;}
.hero-tab.active .bar::after{animation:heroBar var(--hero-dur,8s) linear forwards;}
.hero-tab .lbl{font-size:12.5px;font-weight:700;color:rgba(11,43,77,.55);}
.hero-tab.active .lbl{color:var(--navy);}
.hero-tab:focus-visible{outline:2px solid var(--blue);outline-offset:4px;}
@keyframes heroBar{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@media (prefers-reduced-motion:reduce){.hero-tab.active .bar::after{animation:none;transform:scaleX(1);}}
@media (max-width:1100px){.hero-slider .hero{min-height:560px;}.hero-slide2{min-height:560px;}.hero-slide2 .h2-text{padding-left:24px;padding-right:24px;max-width:none;}.hero-slide2 .h2-shade{background:linear-gradient(90deg,rgba(243,248,252,.95) 0%,rgba(243,248,252,.85) 55%,rgba(243,248,252,.35) 100%);}}

/* Product card images: 25% larger */
.product-thumb{overflow:visible;}
.product-thumb img{transform:scale(1.25);transform-origin:center;}
.product-card:hover .product-thumb img{transform:scale(1.44);}

/* Slideshow: identical text anchor on every slide so the title block, paragraph and buttons never jump */
@media (min-width:1101px){
  .hero-slider .hero{align-items:flex-start;}
  .hero-slider .hero .wrap{padding-top:131px;}
  .hero-slide2 .h2-text{justify-content:flex-start;padding-top:131px;}
  .hero-slider .hero h1,.hero-slide2 h1{min-height:3.45em;display:flex;flex-direction:column;justify-content:flex-end;}
  .hero-slider .hero .wrap > p,.hero-slide2 p{min-height:3.2em;}
}

/* Product cards: Ubitech palette */
.product-card{background:var(--bg-soft);}
.product-name{color:var(--navy);font-weight:700;}
.product-desc{color:var(--muted);}
.product-more{color:var(--blue);font-weight:600;}
.product-card:hover .product-more{color:var(--navy);}

/* Product cards: white, with a soft border so they read on the white section */
.product-card{background:#fff;border:1px solid var(--line);box-shadow:0 2px 10px rgba(12,72,120,.05);}
.product-card:hover{border-color:#c7dcee;box-shadow:0 18px 40px rgba(12,72,120,.12);}

/* Hero slide 3: Fire Protection, with room for two visuals */
.hero-slide3{background:linear-gradient(120deg,#f3f8fc 0%,#e6f0f8 55%,#f3f8fc 100%);}
.hero-slide3::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 80% at 82% 45%,rgba(108,192,216,.20),transparent 70%);pointer-events:none;}
.hero-slide3 .h2-text{max-width:calc(max(56px,calc((100% - 1280px)/2 + 56px)) + 540px);}
.h3-slots{position:absolute;z-index:3;top:calc(50% - 60px);transform:translateY(-50%);right:max(56px,calc((100% - 1280px)/2 + 56px));display:flex;gap:20px;}
.h3-slot{margin:0;width:clamp(170px,17vw,250px);}
.h3-img{aspect-ratio:3/4;border-radius:20px;background:linear-gradient(160deg,#ffffff,#eaf3fa);border:1px solid var(--line);box-shadow:0 10px 30px rgba(12,72,120,.10);overflow:hidden;}
.h3-img img,.h3-img video{width:100%;height:100%;object-fit:cover;display:block;}
.h3-slot figcaption{margin-top:12px;text-align:center;font-size:13px;font-weight:700;color:var(--navy);line-height:1.35;}
@media (max-width:1100px){.h3-slots{display:none;}}

/* Slide 3: FireBot test footage, BLUR 橫鋪, with the dryer-duct visual reserved on the right */
.hero-slide3{background:#f3f8fc;}
.hero-slide3::before{display:none;}
.hero-slide3 .h2-fg{aspect-ratio:892/720;}
.hero-slide3 .h2-bg{filter:blur(30px) saturate(1.05) brightness(.95);}
.hero-slide3 .h2-shade{background:linear-gradient(90deg,rgba(243,248,252,.95) 0%,rgba(243,248,252,.84) 30%,rgba(243,248,252,0) 58%);}
.h3-slot{width:clamp(170px,15vw,230px);}
.h3-img{background:rgba(255,255,255,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);}
.h3-slot figcaption{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);}

/* Slide 3 right column: FB2 rendering on top, dryer-duct slot below (both as frosted cards over the video) */
.h3-slots{flex-direction:column;gap:16px;top:calc(50% - 58px);}
.h3-slot{width:clamp(240px,23vw,340px);background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.95);border-radius:18px;padding:12px 12px 10px;box-shadow:0 12px 34px rgba(12,43,77,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.h3-img{aspect-ratio:2/1;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:10px;display:flex;align-items:center;justify-content:center;}
.h3-img img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));}
.h3-slot:nth-child(2) .h3-img{border:1.5px dashed #c7dcee;background:rgba(243,248,252,.7);}
.h3-slot figcaption{margin-top:8px;color:var(--navy);text-shadow:none;font-size:12.5px;}

/* Slide 3 slots: no card background — product renders float over the video */
.h3-slot{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;}
.h3-img img{filter:drop-shadow(0 14px 18px rgba(0,0,0,.45));}
.h3-slot:nth-child(2) .h3-img{border:1.5px dashed rgba(255,255,255,.75);background:rgba(255,255,255,.14);}
.h3-slot figcaption{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7),0 3px 14px rgba(0,0,0,.55);font-size:13.5px;margin-top:10px;}

/* Fire Protection block */
.fire-block{margin-top:72px;padding-top:56px;border-top:1px solid var(--line);}
.fire-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px;align-items:stretch;}
.fire-video{border-radius:18px;overflow:hidden;background:#0b1620;box-shadow:0 10px 30px rgba(11,22,32,.18);aspect-ratio:892/720;}
.fire-video video{display:block;width:100%;height:100%;object-fit:cover;}
.fire-side{display:grid;grid-template-rows:1fr 1fr;gap:24px;}
.fire-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 2px 10px rgba(12,72,120,.05);padding:18px 22px 16px;display:flex;flex-direction:column;min-height:0;}
.fire-img{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;}
.fire-img img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25));}
.fire-img.empty{border:1.5px dashed #c7dcee;border-radius:14px;background:var(--bg-soft);}
.fire-card figcaption{margin-top:10px;text-align:center;font-size:14px;font-weight:700;color:var(--navy);line-height:1.35;}
@media (max-width:900px){.fire-grid{grid-template-columns:1fr;}.fire-side{grid-template-columns:1fr 1fr;grid-template-rows:none;}.fire-img{min-height:150px;}}
@media (max-width:560px){.fire-side{grid-template-columns:1fr;}}

/* Hero tab strip: frosted capsule with a glowing edge so it reads over any slide */
.hero-tabs{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);bottom:20px;padding:12px 22px 10px;border-radius:999px;
  background:rgba(255,255,255,.80);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(255,255,255,.55),0 0 22px 4px rgba(255,255,255,.65),0 10px 28px rgba(8,20,32,.28);}
.hero-tab .bar{background:rgba(11,43,77,.18);}
.hero-tab .lbl{color:rgba(11,43,77,.68);}
.hero-tab.active .lbl{color:var(--navy);text-shadow:0 0 10px rgba(255,255,255,.9);}
.hero-tab:hover .lbl{color:var(--navy);}

/* Product card without a visual yet */
.thumb-empty{width:62%;aspect-ratio:1/1;border:1.5px dashed #c7dcee;border-radius:16px;background:var(--bg-soft);}
.product-card:hover .product-thumb .thumb-empty{transform:scale(1.04);transition:transform .35s ease;}

/* Hero tab strip: no backing plate — just a soft glow around the text */
.hero-tabs{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;box-shadow:none;border-radius:0;padding:0 24px;bottom:22px;}
.hero-tab .lbl{color:var(--navy);font-weight:800;text-shadow:0 0 3px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.85),0 0 16px rgba(255,255,255,.6);}
.hero-tab:not(.active) .lbl{color:rgba(11,43,77,.78);}
.hero-tab .bar{background:rgba(11,43,77,.28);box-shadow:0 0 6px 1px rgba(255,255,255,.75);}
.hero-tab.active .lbl{text-shadow:0 0 3px rgba(255,255,255,.98),0 0 9px rgba(255,255,255,.92),0 0 18px rgba(255,255,255,.7);}

/* Fire stats banner (same system as the Water Leak banner, with looping flame footage) */
.fire-section{display:block;margin:0;padding:0;}
.fire-banner .leak-stage{animation:none;}
.fire-banner .leak-bg{filter:blur(30px) saturate(1.15) brightness(.75);}
.fire-banner .leak-fg{aspect-ratio:856/720;}
.fire-banner .leak-fg video{display:block;width:100%;height:100%;object-fit:cover;}
.fire-banner::after{background:linear-gradient(180deg,rgba(14,8,6,.80) 0%,rgba(14,8,6,.34) 34%,rgba(14,8,6,.50) 58%,rgba(14,8,6,.92) 100%);}
.fire-block{margin-top:0;padding-top:0;border-top:0;}

/* How FireBot works */
.fire-how{margin-top:40px;}
.fire-how-title{margin:0 0 18px;font-size:clamp(18px,2.2vw,22px);font-weight:800;color:var(--navy);}
.fire-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.fire-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 22px 20px;box-shadow:0 2px 10px rgba(12,72,120,.05);}
.fire-step .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:14px;margin-bottom:12px;}
.fire-step b{display:block;font-size:17px;color:var(--navy);margin-bottom:6px;}
.fire-step p{margin:0;font-size:14px;line-height:1.55;color:var(--muted);}
.fire-how-note{margin:18px 0 0;font-size:14px;color:var(--muted);}
.fire-how-note b{color:var(--navy);font-weight:800;}
@media (max-width:900px){.fire-steps{grid-template-columns:1fr;}}

/* Fire block: three test clips side by side, tagged FB2 render, DSF slot */
.fire-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 28px;}
.fire-videos video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;background:#0b1620;box-shadow:0 10px 30px rgba(11,22,32,.18);}
.fire-lower{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;align-items:stretch;}
.fb-anatomy{padding:18px 22px 16px;}
.fb-stage{position:relative;width:100%;aspect-ratio:1000/476;}
.fb-stage > img{position:absolute;left:25%;top:22.1%;width:50%;height:auto;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25));}
.fb-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.fb-tag{position:absolute;transform:translateY(-50%);max-width:21%;font-size:clamp(10.5px,1.45vw,14px);font-weight:800;line-height:1.2;color:var(--navy);}
.fb-tag.l{text-align:right;}
.fb-tag.r{text-align:left;}
.fire-lower .fire-card .fire-img.empty{min-height:160px;}
.fire-steps.four{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1100px){.fire-steps.four{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:900px){.fire-videos{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto;}.fire-lower{grid-template-columns:1fr;}}
@media (max-width:600px){.fire-steps.four{grid-template-columns:1fr;}}
.water-how{margin-top:44px;}

/* Solutions drop-down */
.nav-item{position:relative;display:flex;align-items:center;}
.nav-item > a.nav-parent::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(-2px) rotate(45deg);opacity:.7;}
.nav-sub{position:absolute;top:100%;left:50%;min-width:250px;padding:8px;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px rgba(12,72,120,.16);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;z-index:120;}
.nav-sub::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px;}
.nav-item:hover .nav-sub,.nav-item:focus-within .nav-sub{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s ease,transform .18s ease,visibility 0s;}
.main-nav .nav-sub a{display:block;width:auto;padding:10px 14px;border:0;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap;}
.main-nav .nav-sub a:hover{background:var(--bg-soft);color:var(--navy);}
.main-nav .nav-sub a.active{color:var(--navy);background:var(--bg-soft);}
@media (max-width:860px){
  .nav-item{display:block;width:100%;}
  .nav-item > a.nav-parent::after{display:none;}
  .nav-sub{position:static;opacity:1;visibility:visible;transform:none;min-width:0;margin:0;padding:0 0 4px 14px;border:0;border-radius:0;box-shadow:none;background:none;}
  .nav-sub::before{display:none;}
  .main-nav .nav-sub a{padding:10px 0;border-bottom:1px solid var(--line);border-radius:0;font-size:13.5px;}
}

/* Fire block: DSF sits below the tagged FB2, not beside it */
.fire-lower{grid-template-columns:1fr;max-width:880px;margin:0 auto;gap:24px;}
.fire-lower .fire-card .fire-img.empty{min-height:0;aspect-ratio:3/1;}

/* Development section: pipeline graphic + card icons */
.dev-flow{display:flex;align-items:flex-start;margin:6px 0 34px;padding:26px 22px 22px;border-radius:24px;background:linear-gradient(135deg,#f3f8fc 0%,#eaf3fa 100%);border:1px solid var(--line);}
.dev-node{flex:0 0 auto;width:118px;text-align:center;}
.dev-node .ico{width:58px;height:58px;margin:0 auto 10px;border-radius:50%;background:#fff;border:1.5px solid #c7dcee;color:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(12,72,120,.10);transition:transform .25s ease,box-shadow .25s ease;}
.dev-node .ico svg{width:27px;height:27px;}
.dev-node:hover .ico{transform:translateY(-3px);box-shadow:0 12px 24px rgba(12,72,120,.18);}
.dev-node.start .ico{border-style:dashed;}
.dev-node.end .ico{background:var(--navy);color:#fff;border-color:var(--navy);}
.dev-node .lbl{font-size:13px;font-weight:800;color:var(--navy);line-height:1.25;}
.dev-link{flex:1 1 auto;min-width:18px;height:2px;margin-top:28px;position:relative;background:repeating-linear-gradient(90deg,#8db6dd 0 7px,transparent 7px 13px);}
.dev-link::after{content:'';position:absolute;right:-1px;top:-4px;border-left:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}
#development .recap-card{display:grid;grid-template-columns:56px 1fr;column-gap:16px;align-items:start;padding:24px;}
#development .recap-card .ic{grid-row:1 / span 2;width:56px;height:56px;border-radius:16px;margin:0;background:linear-gradient(135deg,#e3f0fa,#d3e8f6);color:var(--navy);}
#development .recap-card .ic svg{width:28px;height:28px;}
#development .recap-card b{font-size:16px;margin:2px 0 6px;}
#development .recap-card:hover .ic{background:var(--navy);color:#fff;}
@media (max-width:760px){
  .dev-flow{flex-wrap:wrap;justify-content:center;gap:18px 10px;padding:22px 12px;}
  .dev-link{display:none;}
  .dev-node{width:30%;min-width:96px;}
}

.dev-node{width:104px;}
.dev-node .lbl{font-size:12.5px;}
@media (max-width:760px){.dev-node{width:30%;min-width:92px;}}

/* Fire banner: drifting smoke */
.smoke{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}
.smoke::before{content:'';position:absolute;left:-30%;right:-30%;bottom:-10%;height:70%;
  background:radial-gradient(60% 60% at 30% 70%,rgba(190,190,200,.22),transparent 70%),radial-gradient(50% 55% at 72% 60%,rgba(170,170,182,.18),transparent 70%);
  filter:blur(26px);animation:smokeHaze 26s ease-in-out infinite alternate;}
.smoke i{position:absolute;bottom:-28%;left:var(--x);width:var(--s);height:var(--s);margin-left:calc(var(--s) / -2);border-radius:50%;
  background:radial-gradient(circle at 50% 45%,rgba(214,214,222,.50) 0%,rgba(168,168,180,.28) 42%,rgba(120,120,132,0) 72%);
  filter:blur(24px);opacity:0;will-change:transform,opacity;
  animation:smokeRise var(--d) linear infinite;animation-delay:var(--dl);}
@keyframes smokeRise{
  0%{transform:translate3d(0,0,0) scale(.55);opacity:0;}
  14%{opacity:.75;}
  55%{opacity:.5;}
  100%{transform:translate3d(var(--dx),-145%,0) scale(1.75);opacity:0;}
}
@keyframes smokeHaze{from{transform:translateX(-4%) scale(1);}to{transform:translateX(5%) scale(1.08);}}
@media (prefers-reduced-motion:reduce){.smoke i,.smoke::before{animation:none;}.smoke i{opacity:.18;}}
@media (max-width:700px){.smoke i:nth-child(n+7){display:none;}}
.smoke i{background:radial-gradient(circle at 50% 45%,rgba(226,226,234,.66) 0%,rgba(178,178,190,.38) 42%,rgba(120,120,132,0) 72%);}
@keyframes smokeRise{
  0%{transform:translate3d(0,0,0) scale(.55);opacity:0;}
  14%{opacity:.9;}
  55%{opacity:.62;}
  100%{transform:translate3d(var(--dx),-185%,0) scale(1.9);opacity:0;}
}

/* "How the system works" now sits directly under the 3D video band */
.how-section{padding:56px 0 8px;}
.how-section .water-how{margin-top:0;}

/* How the system works: vertical rows, text left / animation right */
.how-rows{display:flex;flex-direction:column;gap:28px;position:relative;}
.how-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px;align-items:center;}
.how-text{position:relative;padding-left:0;}
.how-text .n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:16px;margin-bottom:14px;box-shadow:0 0 0 6px rgba(12,72,120,.10);}
.how-text h5{margin:0 0 8px;font-size:clamp(22px,2.6vw,30px);font-weight:800;color:var(--navy);line-height:1.2;}
.how-text p{margin:0;font-size:clamp(15px,1.5vw,17px);line-height:1.6;color:var(--muted);max-width:30em;}
.how-media{border-radius:22px;overflow:hidden;background:#f6f9fc;border:1px solid var(--line);box-shadow:0 10px 30px rgba(12,72,120,.10);aspect-ratio:16/9;}
.how-media video{display:block;width:100%;height:100%;object-fit:cover;}
@media (max-width:820px){.how-row{grid-template-columns:1fr;gap:16px;}.how-rows{gap:36px;}}

/* How the system works: badge and title on one line */
.how-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.how-head .n{margin:0;flex:0 0 auto;}
.how-head h5{margin:0;white-space:nowrap;}
.how-notes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;max-width:32em;}
.how-notes li{font-size:clamp(14px,1.35vw,15.5px);line-height:1.55;color:var(--muted);padding-left:16px;position:relative;}
.how-notes li::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--blue);}
.how-notes b{display:block;color:var(--navy);font-weight:800;font-size:.95em;margin-bottom:1px;}

/* nine steps in the flow, seven cards in the grid */
.dev-node{width:98px;}
.dev-node .lbl{font-size:12px;}
#development .recap-grid.two > .recap-card:last-child:nth-child(odd){grid-column:1 / -1;}

/* How the system works: everything as bullet points */
.how-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;max-width:34em;}
.how-list li{position:relative;padding-left:20px;font-size:clamp(14.5px,1.45vw,16.5px);line-height:1.55;color:var(--muted);}
.how-list li::before{content:'';position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--blue);}
.how-list li b{color:var(--navy);font-weight:800;}
.how-after{margin-top:26px;max-width:none;grid-auto-flow:row;}

/* Why choose us — B2B / property management */
.why-section{position:relative;overflow:hidden;color:#fff;padding:72px 0 76px;background:linear-gradient(135deg,#0a3a63 0%,#0C4878 55%,#0f5a93 100%);}
.why-section::before{content:'';position:absolute;inset:0;background:radial-gradient(50% 70% at 88% 10%,rgba(108,192,216,.30),transparent 70%),radial-gradient(40% 60% at 6% 100%,rgba(84,144,204,.28),transparent 70%);pointer-events:none;}
.why-section .wrap{position:relative;}
.why-eyebrow{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);}
.why-title{margin:0 0 32px;font-size:clamp(32px,4.6vw,52px);font-weight:800;line-height:1.1;color:#fff;}
.why-grid{display:grid;gap:20px;}
.why-card{display:grid;grid-template-columns:auto minmax(0,1.25fr) minmax(0,1fr);gap:30px;align-items:center;padding:34px 38px;border-radius:26px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 44px rgba(3,18,36,.30);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.why-num{font-size:clamp(46px,6vw,76px);font-weight:800;line-height:1;color:var(--cyan);opacity:.95;letter-spacing:-.02em;}
.why-main h3{margin:0 0 12px;font-size:clamp(22px,2.7vw,32px);font-weight:800;line-height:1.2;color:#fff;}
.why-names{margin:0;font-size:clamp(17px,1.9vw,21px);color:#d6e6f5;}
.why-names b{color:#fff;font-weight:800;}
.why-points{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.why-points li{position:relative;padding-left:22px;font-size:clamp(15px,1.5vw,17px);line-height:1.55;color:#e4eef8;}
.why-points li::before{content:'';position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--cyan);}
.why-points b{color:#fff;font-weight:800;}
.why-cta{margin-top:30px;}
.why-section .btn-primary{background:#fff;color:var(--navy);}
.why-section .btn-primary:hover{background:#eaf3fa;}
@media (max-width:900px){.why-card{grid-template-columns:1fr;gap:18px;padding:28px 24px;}.why-section{padding:56px 0 60px;}}

/* nine-step flow: let the nodes shrink instead of overflowing on mid-width screens */
.dev-node{flex:1 1 0;min-width:0;width:auto;max-width:104px;}
.dev-link{flex:1 1 12px;min-width:8px;}
.dev-node .lbl{overflow-wrap:anywhere;}
@media (max-width:760px){
  .dev-node{flex:0 0 auto;width:30%;min-width:92px;max-width:none;}
}

/* Why choose us: photo header + reason 02 */
.why-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:end;margin-bottom:30px;}
.why-head .why-title{margin-bottom:0;}
.why-photo{margin:0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.28);box-shadow:0 0 0 1px rgba(255,255,255,.10),0 0 34px rgba(108,192,216,.28),0 18px 40px rgba(3,18,36,.35);aspect-ratio:700/234;background:#0b1620;}
.why-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.why-card.has-img{grid-template-columns:auto minmax(0,1.2fr) minmax(0,1fr);}
.why-card.has-img .why-main h3{margin-bottom:18px;}
.why-img{margin:0;border-radius:18px;overflow:hidden;background:#f2f6fa;box-shadow:0 12px 30px rgba(3,18,36,.35);}
.why-img img{display:block;width:100%;height:auto;}
@media (max-width:900px){
  .why-head{grid-template-columns:1fr;gap:20px;}
  .why-card.has-img{grid-template-columns:1fr;}
}

/* Why choose us: BLUR 橫鋪 hero */
.why-section{padding-top:0;}
.why-hero{position:relative;overflow:hidden;height:clamp(240px,26vw,340px);margin-bottom:36px;background:#0a3a63;}
.why-hero-stage{position:absolute;inset:0;}
.why-hero-bg{position:absolute;left:-6%;top:-10%;width:112%;height:120%;object-fit:cover;filter:blur(26px) saturate(1.1) brightness(.85);}
.why-hero-fg{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);height:100%;aspect-ratio:700/234;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);}
.why-hero-fg img{display:block;width:100%;height:100%;object-fit:cover;}
.why-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,50,.86) 0%,rgba(7,28,50,.55) 34%,rgba(7,28,50,.10) 64%,rgba(7,28,50,.35) 100%),linear-gradient(180deg,rgba(7,28,50,0) 55%,#0a3a63 100%);}
.why-hero-text{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 max(24px,calc((100% - 1180px)/2 + 24px)) 26px;}
.why-hero-text .why-title{margin:0;text-shadow:0 2px 6px rgba(0,0,0,.45),0 6px 26px rgba(0,0,0,.45);}
@media (max-width:900px){.why-hero-fg{aspect-ratio:auto;width:100%;}}

.why-hero-text .why-sub{margin:8px 0 0;font-size:clamp(15px,1.7vw,19px);font-weight:600;color:#dbe9f6;text-shadow:0 1px 4px rgba(0,0,0,.5);}

/* Why choose us hero: HD artwork (4000x1335, transparent sky on the right) */
.why-hero{height:clamp(260px,29vw,400px);}
.why-hero-fg{aspect-ratio:4000/1335;}
.why-hero-bg{filter:blur(28px) saturate(1.1) brightness(.9);}

/* Why choose us: reason 02 showcase + reason 03 fine print */
.why-card.why-wide{grid-template-columns:auto minmax(0,1fr);align-items:start;row-gap:26px;}
.why-wide .why-main h3{margin-bottom:16px;}
.why-showcase{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:stretch;}
.why-shot{background:#f2f6fa;border-radius:22px;padding:18px 20px 16px;color:var(--navy);box-shadow:0 14px 34px rgba(3,18,36,.32);display:flex;flex-direction:column;}
.why-shot-label{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);}
.why-shot-cap{margin:12px 0 0;font-size:13px;font-weight:700;color:var(--navy);text-align:center;}
.why-shot figure{margin:0;}
.why-shot img{display:block;width:100%;height:auto;}
.why-shot-stage{position:relative;padding-bottom:6%;flex:1 1 auto;}
.pm-dash{border-radius:12px;overflow:hidden;border:1px solid #dce6f0;box-shadow:0 6px 18px rgba(12,72,120,.12);}
.pm-phone{position:absolute;bottom:0;width:21%;border-radius:14px;overflow:hidden;border:3px solid #0b1b2b;box-shadow:0 12px 26px rgba(3,18,36,.45);background:#fff;}
.pm-phone.p1{right:24.5%;}
.pm-phone.p2{right:1.5%;}
.why-phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;flex:1 1 auto;}
.why-phones figure{display:flex;flex-direction:column;gap:8px;}
.why-phones img{border-radius:14px;border:3px solid #0b1b2b;box-shadow:0 10px 22px rgba(3,18,36,.30);background:#fff;}
.why-phones figcaption{font-size:12px;font-weight:700;line-height:1.3;color:var(--navy);text-align:center;}
.why-fine{margin:18px 4px 0;max-width:62em;font-size:12.5px;line-height:1.55;color:#b6cde3;}
@media (max-width:1000px){.why-showcase{grid-template-columns:1fr;}}
@media (max-width:900px){.why-card.why-wide{grid-template-columns:1fr;}}

/* reason 03: copy on the left, Custos insurance picture on the right */
.why-ins.has-img{grid-template-columns:auto minmax(0,1.15fr) minmax(0,1fr);}
.why-ins .why-body{display:grid;gap:20px;}
.why-ins .why-main h3{margin-bottom:12px;}
.why-photo-r3{border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(3,18,36,.38);border:1px solid rgba(255,255,255,.25);background:#0b1b2b;}
.why-photo-r3 img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1006/640;}
@media (max-width:900px){.why-ins.has-img{grid-template-columns:1fr;}}

/* partner logos on white tiles (they are dark artwork, the section is dark) */
.why-logos{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;}
.why-logo{display:flex;align-items:center;justify-content:center;height:62px;padding:0 22px;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(3,18,36,.28);}
.why-logo img{display:block;height:34px;width:auto;max-width:170px;}
.why-logo:first-child img{height:44px;}

.why-logo:first-child img{height:34px;}
.why-logo.hsb img{height:30px;max-width:170px;}
.why-logo.jci img{height:44px;}

/* logos get their own row under the copy of reason 01 */
.why-card > .why-logos{grid-column:2 / -1;margin-top:4px;}
@media (max-width:900px){.why-card > .why-logos{grid-column:1 / -1;}}

/* ---- dev-flow snake: labels never break inside a word; when one row is too long the flow U-turns into two rows ---- */
.dev-node .lbl{overflow-wrap:normal;word-break:normal;hyphens:none;}
@media (min-width:1101px){
  .dev-node{min-width:92px;}
}
@media (min-width:761px) and (max-width:1100px){
  .dev-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));row-gap:36px;align-items:start;}
  .dev-flow > .dev-link{display:none;}
  .dev-node{flex:none;width:auto;max-width:none;min-width:0;min-height:100px;position:relative;}
  /* row 1, left to right */
  .dev-flow > :nth-child(1){grid-column:1;grid-row:1;}
  .dev-flow > :nth-child(3){grid-column:2;grid-row:1;}
  .dev-flow > :nth-child(5){grid-column:3;grid-row:1;}
  .dev-flow > :nth-child(7){grid-column:4;grid-row:1;}
  .dev-flow > :nth-child(9){grid-column:5;grid-row:1;}
  /* row 2, right to left (after the U-turn) */
  .dev-flow > :nth-child(11){grid-column:5;grid-row:2;}
  .dev-flow > :nth-child(13){grid-column:4;grid-row:2;}
  .dev-flow > :nth-child(15){grid-column:3;grid-row:2;}
  .dev-flow > :nth-child(17){grid-column:2;grid-row:2;}
  /* connectors drawn from the nodes themselves */
  .dev-flow > :nth-child(1)::after,.dev-flow > :nth-child(3)::after,.dev-flow > :nth-child(5)::after,.dev-flow > :nth-child(7)::after{
    content:'';position:absolute;top:28px;left:calc(50% + 36px);width:calc(100% - 72px);border-top:2px dashed #8db6dd;}
  .dev-flow > :nth-child(1)::before,.dev-flow > :nth-child(3)::before,.dev-flow > :nth-child(5)::before,.dev-flow > :nth-child(7)::before{
    content:'';position:absolute;top:23px;left:calc(150% - 43px);border-left:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}
  .dev-flow > :nth-child(11)::after,.dev-flow > :nth-child(13)::after,.dev-flow > :nth-child(15)::after{
    content:'';position:absolute;top:28px;left:calc(-50% + 36px);width:calc(100% - 72px);border-top:2px dashed #8db6dd;}
  .dev-flow > :nth-child(11)::before,.dev-flow > :nth-child(13)::before,.dev-flow > :nth-child(15)::before{
    content:'';position:absolute;top:23px;left:calc(-50% + 36px);border-right:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}
  /* the U-turn: out of node 5, round the right-hand side, back into node 6 */
  .dev-flow > :nth-child(9)::after{
    content:'';position:absolute;top:28px;left:calc(50% + 36px);width:30px;height:136px;border:2px dashed #8db6dd;border-left:0;border-radius:0 24px 24px 0;}
  .dev-flow > :nth-child(9)::before{
    content:'';position:absolute;top:159px;left:calc(50% + 31px);border-right:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}
}
@media (max-width:760px){
  .dev-node{min-width:92px;}
}
/* HSB artwork was cropped to the mark itself (the file had a lot of empty canvas) */
.why-logo.hsb img{height:46px;max-width:none;}

/* ---- dev-flow snake (phones): 3 columns, 3 rows — left to right, U-turn, right to left, U-turn, left to right ---- */
@media (max-width:760px){
  .dev-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:0;row-gap:34px;align-items:start;justify-content:stretch;padding:24px 22px 22px;}
  .dev-flow > .dev-link{display:none;}
  .dev-node{flex:none;width:auto;min-width:0;max-width:none;min-height:92px;position:relative;}
  .dev-node .ico{width:52px;height:52px;}
  .dev-node .ico svg{width:24px;height:24px;}
  .dev-node .lbl{font-size:12px;}
  /* placement: nodes are the odd children (links are the even ones) */
  .dev-flow > :nth-child(1){grid-column:1;grid-row:1;}
  .dev-flow > :nth-child(3){grid-column:2;grid-row:1;}
  .dev-flow > :nth-child(5){grid-column:3;grid-row:1;}
  .dev-flow > :nth-child(7){grid-column:3;grid-row:2;}
  .dev-flow > :nth-child(9){grid-column:2;grid-row:2;}
  .dev-flow > :nth-child(11){grid-column:1;grid-row:2;}
  .dev-flow > :nth-child(13){grid-column:1;grid-row:3;}
  .dev-flow > :nth-child(15){grid-column:2;grid-row:3;}
  .dev-flow > :nth-child(17){grid-column:3;grid-row:3;}

  /* arrows pointing right: 1→2, 2→3, 7→8, 8→9 */
  .dev-flow > :nth-child(1)::after,.dev-flow > :nth-child(3)::after,.dev-flow > :nth-child(13)::after,.dev-flow > :nth-child(15)::after{
    content:'';position:absolute;top:25px;left:calc(50% + 32px);width:calc(100% - 64px);border-top:2px dashed #8db6dd;}
  .dev-flow > :nth-child(1)::before,.dev-flow > :nth-child(3)::before,.dev-flow > :nth-child(13)::before,.dev-flow > :nth-child(15)::before{
    content:'';position:absolute;top:20px;left:calc(150% - 39px);border-left:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}

  /* arrows pointing left: 4→5, 5→6 */
  .dev-flow > :nth-child(7)::after,.dev-flow > :nth-child(9)::after{
    content:'';position:absolute;top:25px;left:calc(-50% + 32px);width:calc(100% - 64px);border-top:2px dashed #8db6dd;}
  .dev-flow > :nth-child(7)::before,.dev-flow > :nth-child(9)::before{
    content:'';position:absolute;top:20px;left:calc(-50% + 32px);border-right:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}

  /* U-turn on the right: 3 → 4 */
  .dev-flow > :nth-child(5)::after{
    content:'';position:absolute;top:25px;left:calc(50% + 32px);width:22px;height:126px;border:2px dashed #8db6dd;border-left:0;border-radius:0 20px 20px 0;}
  .dev-flow > :nth-child(5)::before{
    content:'';position:absolute;top:146px;left:calc(50% + 27px);border-right:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}

  /* U-turn on the left: 6 → 7 */
  .dev-flow > :nth-child(11)::after{
    content:'';position:absolute;top:25px;right:calc(50% + 32px);width:22px;height:126px;border:2px dashed #8db6dd;border-right:0;border-radius:20px 0 0 20px;}
  .dev-flow > :nth-child(11)::before{
    content:'';position:absolute;top:146px;right:calc(50% + 27px);border-left:7px solid #8db6dd;border-top:5px solid transparent;border-bottom:5px solid transparent;}
}

/* Become a Reseller — call-to-action in the menu */
.main-nav a.nav-cta{display:inline-flex;align-items:center;white-space:nowrap;margin-left:4px;padding:9px 18px;border:0;border-radius:99px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;letter-spacing:.2px;box-shadow:0 4px 12px rgba(12,72,120,.22);transition:background .2s,transform .2s,box-shadow .2s;}
.main-nav a.nav-cta:hover{background:var(--navy-d);color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(12,72,120,.30);}
@media (max-width:860px){
  .main-nav a.nav-cta{width:auto;margin:14px 0 4px;padding:12px 22px;border-bottom:0;}
}

/* product cards are links now */
a.product-card{display:flex;color:inherit;text-decoration:none;}

/* Products page */
.prod-index{position:sticky;top:68px;z-index:40;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.prod-index .wrap{display:flex;flex-wrap:wrap;gap:6px 30px;padding-top:12px;padding-bottom:12px;}
.prod-index-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;}
.prod-index-group b{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);}
.prod-index-group a{font-size:13.5px;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;}
.prod-index-group a:hover{border-color:var(--navy);}
.prod{scroll-margin-top:128px;padding:64px 0;background:#fff;}
.prod.alt{background:var(--bg-soft);}
.prod-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;}
.prod.alt .prod-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}
.prod.alt .prod-media{order:2;}
.prod-media{margin:0;display:flex;align-items:center;justify-content:center;min-height:340px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(12,72,120,.08);padding:28px;}
.prod.alt .prod-media{background:#fff;}
.prod-media img{display:block;max-width:100%;max-height:420px;width:auto;height:auto;mix-blend-mode:multiply;}
.prod-media.anatomy{display:block;padding:20px 24px;}
.prod-media.anatomy .fb-stage{width:100%;}
.prod-media.anatomy .fb-stage img{mix-blend-mode:normal;max-height:none;}
.prod-empty{width:72%;aspect-ratio:4/3;border:1.5px dashed #c7dcee;border-radius:18px;background:var(--bg-soft);}
.prod-kicker{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);}
.prod-kicker.alt{opacity:.75;}
.prod-body h2{margin:0 0 8px;font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.15;color:var(--navy);}
.prod-tag{margin:0 0 20px;font-size:clamp(16px,1.7vw,19px);font-weight:600;color:var(--muted);}
.prod-points{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;}
.prod-points li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.55;color:var(--ink);}
.prod-points li::before{content:'';position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--blue);}
.prod-specs{margin:0 0 24px;display:grid;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;}
.prod-specs > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:11px 16px;border-top:1px solid var(--line);}
.prod-specs > div:first-child{border-top:0;}
.prod-specs dt{font-size:13px;font-weight:800;color:var(--navy);}
.prod-specs dd{margin:0;font-size:14px;line-height:1.5;color:var(--muted);}
.prod-cta{display:inline-block;font-weight:700;font-size:14.5px;color:var(--blue);text-decoration:none;}
.prod-cta:hover{color:var(--navy);}
.prod-end{text-align:left;}
@media (max-width:900px){
  .prod{padding:48px 0;scroll-margin-top:68px;}
  .prod-grid,.prod.alt .prod-grid{grid-template-columns:1fr;gap:26px;}
  .prod.alt .prod-media{order:0;}
  .prod-media{min-height:240px;}
  .prod-index{position:static;}
  .prod-specs > div{grid-template-columns:1fr;gap:2px;}
}
/* FB2 tagged render on the products page: keep the stage geometry (the generic .prod-media img rule must not resize it) */
.prod-media.anatomy .fb-stage > img{position:absolute;left:25%;top:22.1%;width:50%;max-width:none;max-height:none;height:auto;}
.prod-media.anatomy .fb-tag{font-size:clamp(9px,1.05vw,13px);max-width:25%;line-height:1.15;}
@media (max-width:900px){.prod-media.anatomy .fb-tag{font-size:clamp(9.5px,2.3vw,13px);}}

/* BVS advantages */
.bvs-adv{padding:72px 0 64px;}
.adv-eyebrow{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--blue);}
.bvs-adv .section-sub{max-width:44em;}
.adv-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:36px;align-items:center;margin:34px 0 22px;padding:36px 40px;border-radius:28px;background:linear-gradient(135deg,#eaf3fa 0%,#f6fafd 100%);border:1px solid var(--line);box-shadow:0 12px 34px rgba(12,72,120,.08);}
.adv-feature h3{margin:14px 0 8px;font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.1;color:var(--navy);}
.adv-lead{margin:0 0 18px;font-size:clamp(16px,1.7vw,19px);font-weight:600;color:var(--muted);}
.adv-list{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.adv-list li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.55;color:var(--ink);}
.adv-list li::before{content:'';position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--blue);}
.adv-list b{color:var(--navy);font-weight:800;}
.adv-feature-img{margin:0;display:flex;align-items:center;justify-content:center;border-radius:22px;background:#fff;border:1px solid var(--line);padding:22px;min-height:260px;}
.adv-feature-img img{display:block;max-width:100%;max-height:300px;width:auto;height:auto;mix-blend-mode:multiply;}
.adv-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#e3f0fa,#d3e8f6);color:var(--navy);}
.adv-ic svg{width:25px;height:25px;}
.adv-ic.big{width:60px;height:60px;border-radius:18px;background:var(--navy);color:#fff;}
.adv-ic.big svg{width:30px;height:30px;}
.adv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.adv-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 24px 22px;box-shadow:0 2px 10px rgba(12,72,120,.05);transition:transform .25s ease,box-shadow .25s ease;}
.adv-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(12,72,120,.12);}
.adv-card h4{margin:14px 0 6px;font-size:18px;font-weight:800;color:var(--navy);line-height:1.25;}
.adv-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--muted);}
@media (max-width:1000px){.adv-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:900px){.adv-feature{grid-template-columns:1fr;padding:28px 24px;gap:22px;}.bvs-adv{padding:52px 0 48px;}}
@media (max-width:600px){.adv-grid{grid-template-columns:1fr;}}

/* BVS pitch blocks */
.adv-top{display:flex;align-items:center;gap:14px;}
.adv-n{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:16px;box-shadow:0 0 0 6px rgba(12,72,120,.10);}
.adv-n.big{width:48px;height:48px;font-size:20px;}
.adv-block{margin:22px 0 0;padding:34px 38px 32px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 16px rgba(12,72,120,.06);}
.adv-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;}
.adv-head h3{margin:0;font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.15;color:var(--navy);}
.adv-head .adv-lead{margin:6px 0 0;}
.adv-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px;}
.adv-vid{position:relative;margin:0;}
.adv-vid video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;background:#f2f6fa;border:1px solid var(--line);}
.adv-vid figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted);}
.adv-vid-label{position:absolute;z-index:2;top:12px;left:12px;padding:5px 12px;border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.6px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);}
.adv-vid-label.bad{background:#b3412f;}
.adv-vid-label.good{background:#1e8f5f;}
.adv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 16px;}
.adv-stats > div{padding:16px 18px;border-radius:16px;background:var(--bg-soft);border:1px solid var(--line);}
.adv-stats b{display:block;font-size:clamp(24px,2.8vw,32px);font-weight:800;line-height:1.1;color:var(--navy);}
.adv-stats span{display:block;margin-top:4px;font-size:13.5px;color:var(--muted);}
.adv-note{margin:0;font-size:13px;color:var(--muted);}
.adv-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px;}
.adv-photos figure{margin:0;}
.adv-photos img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;border:1px solid var(--line);}
.adv-photos figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted);}
.adv-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px;align-items:center;}
.adv-split-img{margin:0;}
.adv-split-img img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--line);}
.adv-split .adv-head{margin-bottom:18px;}
.adv-anatomy .fb-stage{max-width:760px;margin:0 auto;}
.bvs-stage{aspect-ratio:1000/560;}
.bvs-stage > img{position:absolute;left:27%;top:16.25%;width:46%;height:auto;}
.adv-list + .adv-note,.adv-videos + .adv-list{margin-top:4px;}
@media (max-width:900px){
  .adv-block{padding:26px 22px 24px;}
  .adv-videos,.adv-photos{grid-template-columns:1fr;}
  .adv-stats{grid-template-columns:1fr;}
  .adv-split{grid-template-columns:1fr;gap:22px;}
  .bvs-stage .fb-tag{font-size:clamp(9px,2.4vw,13px);max-width:25%;}
}

/* first selling point: video instead of a product still */
.adv-feature-video{padding:0;overflow:hidden;min-height:0;}
.adv-feature-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;}
.adv-feature + .adv-feature{margin-top:22px;}

/* Product detail pop-up (wide, with manuals) */
.product-card[data-product]{cursor:pointer;}
.product-card[data-product]:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
.product-modal{align-items:flex-start;overflow-y:auto;padding:5vh 24px;}
.product-modal-inner.pd-wide{max-width:1020px;width:100%;margin:0 auto;padding:40px 44px 36px;text-align:left;max-height:none;overflow:visible;border-radius:26px;}
.pd-wide .product-modal-close{top:16px;right:16px;}
.pd{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start;}
.pd-media{display:flex;align-items:center;justify-content:center;min-height:300px;border-radius:22px;background:var(--bg-soft);border:1px solid var(--line);padding:24px;position:sticky;top:0;}
.pd-media img{display:block;max-width:100%;max-height:340px;width:auto;height:auto;mix-blend-mode:multiply;}
.pd-media.anatomy{display:block;padding:18px 20px;background:#fff;}
.pd-media.anatomy .fb-stage{width:100%;}
.pd-media.anatomy .fb-stage > img{position:absolute;left:25%;top:22.1%;width:50%;max-width:none;max-height:none;height:auto;mix-blend-mode:normal;}
.pd-media.anatomy .fb-tag{font-size:clamp(9px,1vw,12px);max-width:25%;line-height:1.15;}
.pd-empty{width:70%;aspect-ratio:4/3;border:1.5px dashed #c7dcee;border-radius:18px;background:#fff;}
.pd-body h2{margin:0 0 8px;font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.15;color:var(--navy);}
.pd-body .prod-points{margin-bottom:20px;}
.pd-manuals{margin:0 0 22px;}
.pd-manuals h4{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);}
.pd-manuals a{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);text-decoration:none;font-weight:700;font-size:14.5px;transition:border-color .2s,box-shadow .2s,transform .2s;}
.pd-manuals a:hover{border-color:#c7dcee;box-shadow:0 8px 20px rgba(12,72,120,.10);transform:translateY(-1px);}
.pd-manuals svg{flex:0 0 auto;width:22px;height:22px;color:var(--blue);}
.pd-manuals span{flex:1 1 auto;}
.pd-manuals em{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:800;letter-spacing:1px;color:#b3412f;border:1px solid #e8c3bb;border-radius:6px;padding:2px 6px;}
@media (max-width:900px){
  .product-modal{padding:3vh 14px;}
  .product-modal-inner.pd-wide{padding:56px 22px 26px;}
  .pd{grid-template-columns:1fr;gap:22px;}
  .pd-media{position:static;min-height:220px;}
}

.adv-photos video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:#f2f6fa;}
/* waterproof block: square media so the product stays in frame */
.adv-photos img,.adv-photos video{aspect-ratio:1/1;}
.adv-photos img{object-position:72% 50%;}
.adv-photos video{object-position:50% 50%;}

/* square tiles: the whole picture stays visible, a blurred copy fills the rest */
.adv-photos .sq{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#e9eff5;}
.adv-photos .sq-bg{position:absolute;left:-8%;top:-8%;width:116%;height:116%;aspect-ratio:auto;object-fit:cover;object-position:center;border:0;border-radius:0;filter:blur(20px) saturate(1.1) brightness(.95);}
.adv-photos .sq-fg{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;border:0;border-radius:0;background:transparent;}

/* waterproof tiles: true 1:1 media */
.adv-photos .sq-fg{position:absolute;inset:0;transform:none;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;}
.adv-photos img.sq-fg{object-position:68% 50%;}

/* waterproof: portrait video (as shot) beside a landscape photo of the same height */
.adv-photos{grid-template-columns:auto minmax(0,1fr);align-items:start;}
.adv-photos .sq{aspect-ratio:auto;height:clamp(420px,46vw,620px);}
.adv-photos figure:first-child .sq{aspect-ratio:9/16;width:auto;}
.adv-photos .sq-fg{object-fit:cover;}
.adv-photos figure:first-child .sq-fg{object-fit:cover;}
@media (max-width:900px){
  .adv-photos{grid-template-columns:1fr;}
  .adv-photos .sq{height:auto;}
  .adv-photos figure:first-child .sq{width:min(100%,360px);margin:0 auto;}
  .adv-photos figure:last-child .sq{aspect-ratio:4/3;}
}

/* waterproof + sun: two portrait clips side by side, as shot (9:16) */
.adv-photos{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:28px;}
.adv-photos figure{width:min(100%,360px);}
.adv-photos .sq,.adv-photos figure:first-child .sq,.adv-photos figure:last-child .sq{height:auto;width:100%;aspect-ratio:9/16;}
@media (max-width:900px){.adv-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.adv-photos figure:last-child .sq{aspect-ratio:9/16;}}
@media (max-width:520px){.adv-photos{grid-template-columns:1fr;}}

/* contact: small message box */
.contact-form{max-width:520px;margin:34px auto 0;text-align:left;padding:22px 24px 20px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.contact-form h2{margin:0 0 14px;font-size:17px;font-weight:800;color:#fff;}
.contact-form label{display:block;margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.4px;color:#cfe0f0;}
.contact-form label span{display:block;margin-bottom:5px;}
.contact-form input,.contact-form textarea{width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:rgba(255,255,255,.94);color:var(--ink);font:inherit;font-size:14.5px;}
.contact-form textarea{resize:vertical;min-height:96px;}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--cyan);outline-offset:1px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cf-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px;}
.contact-form .btn-primary{background:#fff;color:var(--navy);}
.contact-form .btn-primary:hover{background:#eaf3fa;}
.cf-note{margin:0;font-size:12.5px;color:#cfe0f0;}
.cf-note.err{color:#ffc9bf;}
@media (max-width:560px){.cf-row{grid-template-columns:1fr;}}

/* contact page */
.contact-page{min-height:calc(100vh - 68px - 90px);display:flex;align-items:center;}
.contact-page .wrap{width:100%;}
.contact-more{margin:26px 0 0;}
.contact-hero .contact-more .btn-primary{background:#fff;color:var(--navy);}
.contact-hero .contact-more .btn-primary:hover{background:#eaf3fa;}

/* contact page: info on the left, message box on the right */
.contact-page{text-align:left;}
.contact-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:64px;align-items:center;}
.contact-info img{margin:0 0 24px;}
.contact-page .contact-info p{margin:0 0 26px;max-width:26em;}
.contact-page .contact-divider{margin:0 0 28px;}
.contact-page .contact-bar{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;}
.contact-page .cline{font-size:15.5px;}
.contact-page .contact-form{margin:0;max-width:none;width:100%;}
@media (max-width:900px){.contact-cols{grid-template-columns:1fr;gap:36px;}.contact-page{text-align:center;}.contact-page .contact-info img,.contact-page .contact-divider{margin-left:auto;margin-right:auto;}.contact-page .contact-info p{margin-left:auto;margin-right:auto;}.contact-page .contact-bar{align-items:center;}}
/* contact page balance: both columns share the same top and bottom edge */
.contact-cols{align-items:stretch;}
.contact-page .contact-info{display:flex;flex-direction:column;justify-content:space-between;padding:6px 0;}
.contact-page .contact-form{display:flex;flex-direction:column;padding:30px 30px 26px;}
.contact-page .contact-form label:has(textarea){flex:1 1 auto;display:flex;flex-direction:column;}
.contact-page .contact-form textarea{flex:1 1 auto;min-height:130px;}
.contact-page .cf-foot{margin-top:6px;}
.contact-page .contact-info img{margin-bottom:0;}
.contact-page .contact-info h1{margin:0 0 10px;}
.contact-page .contact-info p{margin:0;}
.contact-page .contact-divider{margin:0;}
@media (max-width:900px){.contact-page .contact-info{gap:22px;}}
.contact-page .contact-info img{align-self:flex-start;width:auto;height:64px;margin:0;}
.contact-page .contact-info{gap:26px;}

/* Page headers: layered gradients instead of a flat block */
.page-header{position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(60% 120% at 88% -10%,rgba(108,192,216,.55) 0%,rgba(108,192,216,0) 62%),
    radial-gradient(50% 110% at 62% 130%,rgba(84,144,204,.60) 0%,rgba(84,144,204,0) 66%),
    radial-gradient(45% 90% at 4% 110%,rgba(46,120,190,.45) 0%,rgba(46,120,190,0) 70%),
    linear-gradient(115deg,#06284a 0%,#0C4878 42%,#1a6aa8 78%,#3a93c4 100%);}
.page-header::before{content:'';position:absolute;z-index:-1;inset:-40% -10% auto auto;width:70%;height:180%;
  background:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.10) 50%,rgba(255,255,255,0) 70%);
  transform:rotate(12deg);animation:phSweep 14s ease-in-out infinite alternate;pointer-events:none;}
.page-header::after{content:'';position:absolute;z-index:-1;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(140,210,235,.7),rgba(255,255,255,0));}
@keyframes phSweep{from{transform:translateX(-18%) rotate(12deg);}to{transform:translateX(12%) rotate(12deg);}}
@media (prefers-reduced-motion:reduce){.page-header::before{animation:none;}}

/* Contact page band: same family of gradients */
.contact-hero{background:
    radial-gradient(55% 90% at 92% 0%,rgba(108,192,216,.45) 0%,rgba(108,192,216,0) 62%),
    radial-gradient(50% 90% at 8% 105%,rgba(84,144,204,.50) 0%,rgba(84,144,204,0) 68%),
    linear-gradient(120deg,#06284a 0%,#0C4878 50%,#1a6aa8 100%);}

/* AI section graphic */
.ai-section{background:linear-gradient(180deg,#f3f8fc 0%,#eaf3fa 100%);}
.ai-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;margin-bottom:26px;}
.ai-copy .ai-advantage{margin:0 0 16px;}
.ai-copy .ai-advantage:last-child{margin-bottom:0;}
.ai-stack{margin:0;}
.ai-stack svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto;font-family:var(--font);}
.ai-links path{stroke-dasharray:6 7;animation:aiFlow 2.2s linear infinite;}
@keyframes aiFlow{to{stroke-dashoffset:-26;}}
.ai-core circle:first-child{filter:drop-shadow(0 8px 18px rgba(12,72,120,.35));}
.ai-card{position:relative;padding-top:30px;overflow:visible;}
.ai-card::before{content:'';position:absolute;left:50%;top:-26px;width:2px;height:26px;background:repeating-linear-gradient(180deg,#8db6dd 0 5px,transparent 5px 10px);}
.ai-ic{position:absolute;left:24px;top:-20px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#0C4878,#2f7fc0);color:#fff;box-shadow:0 6px 16px rgba(12,72,120,.28);}
.ai-ic svg{width:21px;height:21px;}
.ai-section .recap-grid{margin-top:34px;position:relative;}
.ai-section .recap-grid::before{content:'';position:absolute;left:16%;right:16%;top:-26px;height:2px;background:repeating-linear-gradient(90deg,#8db6dd 0 6px,transparent 6px 12px);}
@media (prefers-reduced-motion:reduce){.ai-links path{animation:none;}}
@media (max-width:900px){.ai-top{grid-template-columns:1fr;gap:24px;}.ai-section .recap-grid::before,.ai-card::before{display:none;}.ai-section .recap-grid{margin-top:26px;}}
