:root{
    --teal:#43BBC9;
    --teal-dark:#2f8e99;
    --ink:#2B2E33;
    --ink-soft:#5A6066;
    --bg:#FFFFFF;
    --bg-alt:#F6F7F7;
    --line:#E1E4E4;
    --radius:2px;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }

*{box-sizing:border-box;}

html{scroll-padding-top:env(safe-area-inset-top,0px);}

body{
    margin:0;
    font-family:'Archivo',sans-serif;
    color:var(--ink);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
  }

a{color:inherit;text-decoration:none;}

img{max-width:100%;display:block;}

.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

/* header */
  header{
    position:sticky;top:0;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
    z-index:20;
    padding-top:env(safe-area-inset-top,0px);
  }

.nav{display:flex;align-items:center;justify-content:space-between;height:72px;}

.logo{font-weight:800;font-size:1.3rem;letter-spacing:-0.02em;color:var(--ink);}

.logo span{color:var(--teal);}







.nav-cta{
    border:1.5px solid var(--ink);
    padding:9px 20px;
    font-weight:600;
    font-size:.9rem;
    border-radius:var(--radius);
    white-space:nowrap;
  }

.nav-cta:hover{background:var(--ink);color:#fff;}

@media(max-width:820px){  }

/* hero */
  .hero{padding:96px 0 88px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;}

.hero-texture{position:absolute;inset:0;pointer-events:none;z-index:0;}

.hero .wrap{position:relative;z-index:1;}

.hero .kicker{
    color:var(--teal-dark);
    font-weight:700;
    font-size:.95rem;
    margin-bottom:18px;
  }

.hero h1{
    font-size:clamp(2.2rem,4.4vw,3.6rem);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-0.02em;
    max-width:16ch;
    margin:0 0 26px;
  }

.hero p.lede{
    font-size:1.18rem;
    color:var(--ink-soft);
    max-width:56ch;
    margin:0 0 36px;
  }

.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

.audience{
    margin-top:44px;
    padding-top:28px;
    border-top:1px solid var(--line);
    display:flex;
    gap:40px;
    flex-wrap:wrap;
  }

.audience a{
    font-size:.92rem;
    font-weight:600;
    color:var(--ink-soft);
    display:flex;
    align-items:center;
    gap:8px;
  }

.audience a:hover{color:var(--teal-dark);}

.audience a b{color:var(--ink);font-weight:700;}

.btn-primary{
    background:var(--teal);
    color:#fff;
    padding:14px 26px;
    font-weight:700;
    font-size:.98rem;
    border-radius:var(--radius);
  }

.btn-primary:hover{background:var(--teal-dark);}

.btn-ghost{
    padding:14px 26px;
    font-weight:600;
    font-size:.98rem;
    border:1.5px solid var(--line);
    border-radius:var(--radius);
  }

.btn-ghost:hover{border-color:var(--ink);}

/* problem/solution */
  .split{
    padding:88px 0;
    border-bottom:1px solid var(--line);
  }

.split .wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
  }

@media(max-width:820px){ .split .wrap{grid-template-columns:1fr;gap:40px;} }

.split h2{
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
    color:var(--ink-soft);
    margin:0 0 16px;
  }

.split .block p{font-size:1.05rem;color:var(--ink-soft);margin:0;}

.split .block.solution h2{color:var(--teal-dark);}

.split .block.solution p{color:var(--ink);}

/* product */
  .product{padding:88px 0;background:var(--bg-alt);border-bottom:1px solid var(--line);}

.product .head{max-width:60ch;margin-bottom:48px;}

.product h2{font-size:2rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 14px;}

.product .head p{color:var(--ink-soft);font-size:1.05rem;margin:0;}

.config-note{
    display:inline-block;
    font-size:.85rem;
    font-weight:700;
    color:var(--teal-dark);
    border:1px solid var(--teal);
    padding:5px 12px;
    border-radius:var(--radius);
    margin-bottom:22px;
  }

.config-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }

.config-list div{
    background:#fff;
    padding:26px 24px;
  }

.config-list h3{margin:0 0 8px;font-size:1rem;font-weight:700;}

.config-list p{margin:0;font-size:.92rem;color:var(--ink-soft);}

/* integrations */
  .integrations{padding:88px 0;border-bottom:1px solid var(--line);}

.integrations .head{max-width:64ch;margin-bottom:40px;}

.integrations h2{font-size:2rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 14px;}

.integrations .head p{color:var(--ink-soft);font-size:1.05rem;margin:0;}

.panel-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}

.panel-chips span{
    border:1px solid var(--line);
    padding:8px 16px;
    font-size:.92rem;
    font-weight:600;
    color:var(--ink);
    border-radius:var(--radius);
  }

.panel-chips span.more{color:var(--teal-dark);border-color:var(--teal);}

.integrations .link{font-weight:700;color:var(--teal-dark);border-bottom:2px solid var(--teal);padding-bottom:2px;}

/* sectors */
  .sectors{padding:88px 0;border-bottom:1px solid var(--line);}

.sectors h2{font-size:2rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 44px;}

.sector-row{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:24px;
    padding:22px 0;
    border-top:1px solid var(--line);
    align-items:baseline;
  }

.sector-row:last-child{border-bottom:1px solid var(--line);}

.sector-row .name{font-weight:700;font-size:1.05rem;}

.sector-row .desc{color:var(--ink-soft);font-size:.98rem;max-width:62ch;}

@media(max-width:680px){ .sector-row{grid-template-columns:1fr;gap:8px;} }

/* case history teaser */
  .case{padding:88px 0;background:var(--ink);color:#fff;}

.case .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}

@media(max-width:820px){ .case .wrap{grid-template-columns:1fr;} }

.case .tag{color:var(--teal);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}

.case h2{font-size:1.9rem;font-weight:800;margin:0 0 18px;letter-spacing:-0.01em;}

.case p{color:#c7ccce;font-size:1.02rem;margin:0 0 28px;max-width:50ch;}

.case a{font-weight:700;color:#fff;border-bottom:2px solid var(--teal);padding-bottom:2px;}

.case-photo-home{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px;}

.case-stat{border-left:2px solid var(--teal);padding-left:24px;}

.case-stat b{display:block;font-size:2.2rem;font-weight:800;}

.case-stat span{color:#9aa1a4;font-size:.92rem;}

footer{padding:56px 0 40px;}

footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;}

footer .col h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 14px;}

footer .col a{display:block;font-size:.95rem;margin-bottom:8px;color:var(--ink);}

footer .col a:hover{color:var(--teal-dark);}

footer .base{
    border-top:1px solid var(--line);
    margin-top:40px;padding-top:24px;
    font-size:.85rem;color:var(--ink-soft);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  }

footer .note{font-size:.85rem;color:var(--ink-soft);border-left:2px solid var(--teal);padding-left:16px;max-width:74ch;margin-top:24px;}







.dropdown{position:relative;}

.dropdown > span{font-size:.93rem;font-weight:500;color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;gap:4px;}

.dropdown > span::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;}

.dropdown:hover > span, .dropdown.active > span{color:var(--teal-dark);}

.dropdown-menu{
    position:absolute;top:100%;left:50%;transform:translateX(-50%);
    background:#fff;border:1px solid var(--line);min-width:200px;
    padding:8px;display:none;box-shadow:0 8px 24px rgba(0,0,0,.08);
    z-index:30;
  }

.dropdown:hover .dropdown-menu{display:block;}

.dropdown-menu a{display:block;padding:9px 12px;font-size:.88rem;font-weight:500;color:var(--ink);border-radius:var(--radius);white-space:nowrap;}

.dropdown-menu a:hover{background:var(--bg-alt);color:var(--teal-dark);}

@media(max-width:1080px){  }

.mobile-menu .grp{padding:18px 0;border-top:1px solid var(--line);}

.mobile-menu .grp:first-child{border-top:none;}

.mobile-menu .grp h5{margin:0 0 10px;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;}

.mobile-menu .grp a{display:block;padding:9px 0;font-size:1rem;font-weight:600;color:var(--ink);}

.mobile-menu .grp a:hover{color:var(--teal-dark);}

.mobile-menu .single a{font-size:1.05rem;font-weight:700;}











.mobile-menu{position:fixed;top:calc(72px + env(safe-area-inset-top,0px));left:0;right:0;bottom:0;background:#fff;z-index:30;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px 28px 40px;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .16s ease,transform .16s ease;border-top:1px solid var(--line);}

.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0);}

@media(max-width:1080px){  }

body{margin:0;font-family:'Archivo',sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55;}

header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:20;padding-top:env(safe-area-inset-top,0px);}



.nav-cta{border:1.5px solid var(--ink);padding:9px 20px;font-weight:600;font-size:.9rem;border-radius:var(--radius);white-space:nowrap;}

.pagehero{padding:64px 0 56px;border-bottom:1px solid var(--line);}

.pagehero .kicker{color:var(--teal-dark);font-weight:700;font-size:.9rem;margin-bottom:14px;}

.pagehero h1{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.12;font-weight:800;letter-spacing:-0.02em;max-width:22ch;margin:0 0 20px;}

.pagehero p{font-size:1.08rem;color:var(--ink-soft);max-width:62ch;margin:0;}

.timeline{padding:72px 0;border-bottom:1px solid var(--line);}

.timeline .head{margin-bottom:40px;}

.timeline h2{font-size:1.6rem;font-weight:800;letter-spacing:-0.01em;margin:0;}

.tl-row{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line);}

.tl-row:last-child{border-bottom:1px solid var(--line);}

.tl-row .year{font-weight:800;font-size:1.15rem;color:var(--teal-dark);}

.tl-row p{margin:0;color:var(--ink-soft);font-size:.97rem;max-width:60ch;}

@media(max-width:640px){ .tl-row{grid-template-columns:1fr;gap:6px;} }

.today{padding:72px 0;background:var(--bg-alt);border-bottom:1px solid var(--line);}

.today .grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}

@media(max-width:820px){ .today .grid{grid-template-columns:1fr;} }

.today h2{font-size:1.6rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 18px;}

.today p{color:var(--ink-soft);font-size:1rem;margin:0 0 16px;}

.today ul{margin:0;padding-left:20px;color:var(--ink-soft);font-size:.97rem;}

.today ul li{margin-bottom:10px;}

.values{padding:72px 0;border-bottom:1px solid var(--line);}

.values .head{max-width:64ch;margin-bottom:40px;}

.values h2{font-size:1.6rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 12px;}

.values .head p{color:var(--ink-soft);font-size:1.02rem;margin:0;}

.values blockquote{
    margin:0;font-size:1.25rem;font-weight:600;line-height:1.5;color:var(--ink);
    border-left:3px solid var(--teal);padding-left:28px;max-width:70ch;
  }

.future{padding:72px 0;}

.future h2{font-size:1.6rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 18px;}

.future p{color:var(--ink-soft);font-size:1rem;max-width:66ch;margin:0;}

.note{margin-top:22px;font-size:.88rem;color:var(--ink-soft);border-left:2px solid var(--teal);padding-left:16px;max-width:70ch;}

.cta{padding:72px 0;background:var(--ink);color:#fff;}

.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}

.cta h2{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-0.01em;}

.cta p{margin:6px 0 0;color:#c7ccce;font-size:.98rem;}

.btn-primary-inv{background:var(--teal);color:#fff;padding:14px 26px;font-weight:700;font-size:.98rem;border-radius:var(--radius);white-space:nowrap;}

.btn-primary-inv:hover{background:var(--teal-dark);}

footer .base{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;font-size:.85rem;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

:root{--teal:#43BBC9;--teal-dark:#2f8e99;--ink:#2B2E33;--ink-soft:#5A6066;--bg:#FFFFFF;--bg-alt:#F6F7F7;--line:#E1E4E4;--radius:2px;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}





@media(max-width:960px){  }

.pagehero{padding:56px 0 44px;border-bottom:1px solid var(--line);}

.pagehero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;font-weight:800;letter-spacing:-0.02em;max-width:24ch;margin:0 0 16px;}

.pagehero p{font-size:1.05rem;color:var(--ink-soft);max-width:62ch;margin:0;}

.acc-grid{padding:64px 0;}

.acc-card{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--line);}

.acc-card:last-child{border-bottom:1px solid var(--line);}

.acc-card h3{margin:0 0 8px;font-size:1.1rem;font-weight:700;}

.acc-card .specs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}

.acc-card .specs span{font-size:.76rem;font-weight:600;color:var(--ink-soft);border:1px solid var(--line);padding:3px 10px;border-radius:var(--radius);}

.acc-card p{margin:0;color:var(--ink-soft);font-size:.94rem;max-width:60ch;}

@media(max-width:680px){ .acc-card{grid-template-columns:1fr;gap:10px;} }

.note{margin-top:22px;font-size:.88rem;color:var(--ink-soft);border-left:2px solid var(--teal);padding-left:16px;max-width:74ch;}

footer .creed{font-size:.82rem;color:var(--ink-soft);max-width:60ch;margin-top:18px;font-style:italic;}

.pagehero h1{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.12;font-weight:800;letter-spacing:-0.02em;max-width:24ch;margin:0 0 20px;}

.pagehero .count{display:flex;gap:32px;margin-top:32px;flex-wrap:wrap;}

.pagehero .count b{display:block;font-size:1.8rem;font-weight:800;color:var(--teal-dark);}

.pagehero .count span{font-size:.82rem;color:var(--ink-soft);}

.grid-sec{padding:64px 0 72px;}

.sectiontitle{font-size:.85rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:28px;}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

@media(max-width:820px){ .cards{grid-template-columns:1fr;} }

.card{background:#fff;padding:32px 28px;}

.card .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}

.card .meta span{border:1px solid var(--line);padding:4px 11px;font-size:.76rem;font-weight:600;color:var(--ink-soft);border-radius:var(--radius);}

.card h3{margin:0 0 12px;font-size:1.15rem;font-weight:700;letter-spacing:-0.01em;}

.card .field{margin-bottom:10px;}

.card .field b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--teal-dark);font-weight:700;margin-bottom:3px;}

.card .field span{font-size:.9rem;color:var(--ink-soft);}

.card .equip-list{font-size:.88rem;color:var(--ink);margin:14px 0;padding:12px 14px;background:var(--bg-alt);border-radius:var(--radius);}

.card .quote{font-size:.9rem;font-style:italic;color:var(--ink-soft);border-left:2px solid var(--teal);padding-left:14px;margin-top:14px;}

.card .quote cite{display:block;font-style:normal;font-weight:700;color:var(--ink);font-size:.82rem;margin-top:6px;}

.featured{padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-alt);}

.featured .grid{display:grid;grid-template-columns:1fr 340px;gap:56px;}

@media(max-width:900px){ .featured .grid{grid-template-columns:1fr;} }

.featured .meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}

.featured .meta span{border:1px solid var(--line);padding:6px 13px;font-size:.82rem;font-weight:600;color:var(--ink-soft);border-radius:var(--radius);background:#fff;}

.featured h2{font-size:1.6rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 22px;}

.featured h3.label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);font-weight:700;margin:20px 0 8px;}

.featured h3.label:first-of-type{margin-top:0;}

.featured p.body{margin:0;color:var(--ink);font-size:.97rem;}

.featured .equip{border:1px solid var(--line);background:#fff;padding:26px 24px;align-self:start;}

.featured .equip h4{margin:0 0 16px;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700;}

.featured .equip .item{padding:14px 0;border-top:1px solid var(--line);}

.featured .equip .item:first-of-type{border-top:none;padding-top:0;}

.featured .equip .item b{display:block;font-size:.95rem;font-weight:700;}

.featured .equip .item span{font-size:.82rem;color:var(--ink-soft);}

.case-photo{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:24px;border:1px solid var(--line);}

.card-photo{width:100%;aspect-ratio:16/9;object-fit:cover;margin:-32px -28px 20px;width:calc(100% + 56px);border-bottom:1px solid var(--line);}

.pagehero{padding:64px 0 48px;}

.pagehero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;font-weight:800;letter-spacing:-0.02em;max-width:20ch;margin:0 0 16px;}

.pagehero p{font-size:1.05rem;color:var(--ink-soft);max-width:56ch;margin:0;}

.contact-sec{padding:0 0 88px;}

.contact-sec .grid{display:grid;grid-template-columns:1fr 380px;gap:56px;}

@media(max-width:900px){ .contact-sec .grid{grid-template-columns:1fr;} }

form{display:flex;flex-direction:column;gap:18px;}

.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

@media(max-width:560px){ .field-row{grid-template-columns:1fr;} }

label{font-size:.82rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;display:block;}

input, select, textarea{
    width:100%;border:1px solid var(--line);padding:12px 14px;font-family:inherit;font-size:.95rem;color:var(--ink);
    border-radius:var(--radius);background:#fff;
  }

input:focus, select:focus, textarea:focus{outline:none;border-color:var(--teal);}

textarea{resize:vertical;min-height:120px;}

.submit-btn{
    background:var(--teal);color:#fff;padding:14px 26px;font-weight:700;font-size:.98rem;border:none;
    border-radius:var(--radius);cursor:pointer;align-self:flex-start;font-family:inherit;
  }

.submit-btn:hover{background:var(--teal-dark);}

.side{border:1px solid var(--line);background:var(--bg-alt);padding:32px 28px;align-self:start;}

.side h3{margin:0 0 20px;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700;}

.side .item{padding:16px 0;border-top:1px solid var(--line);}

.side .item:first-of-type{border-top:none;padding-top:0;}

.side .item b{display:block;font-size:.95rem;font-weight:700;margin-bottom:2px;}

.side .item span, .side .item a{font-size:.92rem;color:var(--ink-soft);}

.side .item a:hover{color:var(--teal-dark);}

.note{margin-top:22px;font-size:.85rem;color:var(--ink-soft);border-left:2px solid var(--teal);padding-left:14px;}

footer{padding:56px 0 40px;border-top:1px solid var(--line);}





@media(max-width:1000px){  }

.flag{padding:22px 0;background:#FFF6E9;border-bottom:1px solid var(--line);}

.flag .wrap{display:flex;gap:14px;align-items:flex-start;}

.flag .icon{font-size:1.1rem;}

.flag p{margin:0;font-size:.93rem;color:var(--ink);max-width:80ch;}

.flag b{color:#a8641a;}

.caps{padding:64px 0;}

.caps h2{font-size:1.4rem;font-weight:800;margin:0 0 28px;}

.cap-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

@media(max-width:680px){ .cap-list{grid-template-columns:1fr;} }

.cap-list .cell{background:#fff;padding:22px 20px;}

.cap-list .cell h3{margin:0 0 6px;font-size:.96rem;font-weight:700;}

.cap-list .cell p{margin:0;font-size:.88rem;color:var(--ink-soft);}

@media(max-width:900px){  }

.pagehero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;font-weight:800;letter-spacing:-0.02em;max-width:22ch;margin:0 0 20px;}

.gap-flag{padding:20px 0;background:#FFF6E9;border-bottom:1px solid var(--line);}

.gap-flag .wrap{display:flex;gap:14px;align-items:flex-start;}

.gap-flag .icon{font-size:1.1rem;}

.gap-flag p{margin:0;font-size:.92rem;color:var(--ink);max-width:80ch;}

.gap-flag b{color:#a8641a;}

.categories{padding:64px 0;}

.cat{padding:32px 0;border-top:1px solid var(--line);}

.cat:last-child{border-bottom:1px solid var(--line);}

.cat .cat-head{margin-bottom:18px;}

.cat h2{margin:0 0 4px;font-size:1.15rem;font-weight:700;}

.cat .cat-head span{font-size:.88rem;color:var(--ink-soft);}

.doc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

@media(max-width:680px){ .doc-list{grid-template-columns:1fr;} }

.doc-list a{background:#fff;padding:14px 16px;font-size:.9rem;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:baseline;}

.doc-list a:hover{color:var(--teal-dark);}

.doc-list a .d{color:var(--ink-soft);font-weight:400;font-size:.8rem;white-space:nowrap;}

.doc-list .empty{background:var(--bg-alt);padding:14px 16px;font-size:.88rem;color:var(--ink-soft);font-style:italic;}

.doc-list.old a{opacity:.75;}

.pagehero{padding:56px 0 40px;border-bottom:1px solid var(--line);}

.pagehero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;font-weight:800;letter-spacing:-0.02em;max-width:24ch;margin:0 0 20px;}

/* component tabs (visual only, all shown stacked for simplicity) */
  .track{padding:56px 0;border-bottom:1px solid var(--line);}

.track:nth-child(even){background:var(--bg-alt);}

.track .track-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:8px;}

.track h2{margin:0;font-size:1.3rem;font-weight:800;}

.track .latest{font-size:.85rem;color:var(--ink-soft);}

.version{background:#fff;border:1px solid var(--line);padding:26px 24px;margin-top:20px;}

.version .vhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px;}

.version .vnum{font-size:1.2rem;font-weight:800;color:var(--teal-dark);}

.version .vbadge{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:var(--radius);}

.version .vbadge.stable{background:#E5F7EF;color:#1a7a4c;}

.version .vbadge.testing{background:#FFF3D6;color:#a8641a;}

.version .vbadge.nodownload{background:#FDE8E8;color:#b23434;}

.reqs{background:var(--bg-alt);border-radius:var(--radius);padding:14px 16px;font-size:.88rem;color:var(--ink-soft);margin-bottom:18px;}

.reqs b{color:var(--ink);}

.reqs ul{margin:8px 0 0;padding-left:18px;}

.vcols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}

@media(max-width:680px){ .vcols{grid-template-columns:1fr;} }

.vcols h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--teal-dark);font-weight:700;margin:0 0 8px;}

.vcols ul{margin:0;padding-left:18px;color:var(--ink-soft);font-size:.9rem;}

.vcols ul li{margin-bottom:6px;}

.vcols .none{color:var(--ink-soft);font-style:italic;font-size:.88rem;}

.dl-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}

.dl-row a{border:1px solid var(--line);padding:8px 16px;font-size:.85rem;font-weight:600;border-radius:var(--radius);}

.dl-row a:hover{border-color:var(--teal);color:var(--teal-dark);}

.dl-row .nolink{border:1px solid var(--line);padding:8px 16px;font-size:.85rem;color:var(--ink-soft);border-radius:var(--radius);font-style:italic;}

.note{margin-top:20px;font-size:.86rem;color:var(--ink-soft);border-left:2px solid var(--teal);padding-left:14px;max-width:74ch;}

header{
    position:sticky;top:0;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
    z-index:20;
    padding-top:env(safe-area-inset-top,0px);
  }

/* page hero */
  .pagehero{padding:64px 0 56px;border-bottom:1px solid var(--line);}

.pagehero p{font-size:1.08rem;color:var(--ink-soft);max-width:60ch;margin:0;}

/* how it works strip */
  .howitworks{padding:56px 0;border-bottom:1px solid var(--line);background:var(--bg-alt);}

.howitworks .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

.howitworks .step{background:#fff;padding:28px 26px;}

.howitworks .step .n{font-weight:800;color:var(--teal);font-size:.85rem;margin-bottom:10px;}

.howitworks .step h3{margin:0 0 8px;font-size:1.02rem;font-weight:700;}

.howitworks .step p{margin:0;font-size:.92rem;color:var(--ink-soft);}

@media(max-width:820px){ .howitworks .wrap{grid-template-columns:1fr;} }

/* table section */
  .tablesec{padding:72px 0;}

.tablesec .head{max-width:70ch;margin-bottom:36px;}

.tablesec h2{font-size:1.7rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 12px;}

.tablesec .head p{color:var(--ink-soft);font-size:1rem;margin:0;}

table.integrations-table{width:100%;border-collapse:collapse;font-size:.94rem;}

table.integrations-table th{
    text-align:left;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--ink-soft);
    font-weight:700;
    padding:12px 16px;
    border-bottom:2px solid var(--ink);
  }

table.integrations-table td{
    padding:16px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
  }

table.integrations-table td.brand{font-weight:700;}

table.integrations-table td{font-size:.86rem;}

table.integrations-table td.brand .models{display:block;font-weight:400;color:var(--ink-soft);font-size:.82rem;margin-top:4px;}

.tablesec .head p + p{margin-top:10px;font-size:.9rem;}

.table-scroll{overflow-x:auto;border:1px solid var(--line);}

.table-scroll table{min-width:760px;}

/* Integrations table on narrow screens: one card per panel, labels from data-label, no horizontal scrolling */
@media(max-width:900px){
  .table-scroll{overflow:visible;border:none;}
  .table-scroll table{min-width:0;}
  table.integrations-table thead{display:none;}
  table.integrations-table, table.integrations-table tbody, table.integrations-table tr, table.integrations-table td{display:block;width:auto;}
  table.integrations-table tr{border:1px solid var(--line);margin-bottom:16px;}
  table.integrations-table td{padding:10px 14px;overflow-wrap:anywhere;}
  table.integrations-table tr td:last-child{border-bottom:none;}
  table.integrations-table td::before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700;margin-bottom:3px;}
  table.integrations-table td.brand{background:var(--bg-alt);font-size:1rem;}
  table.integrations-table td.brand::before{content:none;}
}

/* Integrations table on wide screens: headers on one baseline, "My panel" on one line,
   narrow Yes/No columns (Clear alarm memory, Name import) and a wider Notes column */
@media(min-width:901px){
  table.integrations-table th{vertical-align:bottom;}
  table.integrations-table td.brand .kit-check{white-space:nowrap;}
  table.integrations-table th:nth-child(1){width:13%;}
  table.integrations-table th:nth-child(2){width:13%;}
  table.integrations-table th:nth-child(3){width:13%;}
  table.integrations-table th:nth-child(4){width:11%;}
  table.integrations-table th:nth-child(5){width:7%;}
  table.integrations-table th:nth-child(6){width:9%;}
  table.integrations-table th:nth-child(7){width:12%;}
  table.integrations-table th:nth-child(8){width:22%;}
}

.note{
    margin-top:22px;
    font-size:.88rem;
    color:var(--ink-soft);
    border-left:2px solid var(--teal);
    padding-left:16px;
  }

/* fire panels */
  .fire{padding:0 0 72px;}

.fire .box{background:var(--bg-alt);border:1px solid var(--line);padding:32px 28px;}

.fire h3{margin:0 0 10px;font-size:1.1rem;font-weight:700;}

.fire p{margin:0;color:var(--ink-soft);font-size:.98rem;max-width:70ch;}

/* CTA */
  .cta{padding:72px 0;background:var(--ink);color:#fff;}

.btn-primary-inv{
    background:var(--teal);color:#fff;padding:14px 26px;font-weight:700;font-size:.98rem;border-radius:var(--radius);white-space:nowrap;
  }

.lic-sec{padding:72px 0;border-bottom:1px solid var(--line);}

.lic-sec:nth-child(even){background:var(--bg-alt);}

.lic-card{display:grid;grid-template-columns:260px 1fr;gap:32px;padding:28px 0;border-top:1px solid var(--line);}

.lic-card:last-child{border-bottom:1px solid var(--line);}

.lic-card h3{margin:0 0 6px;font-size:1.1rem;font-weight:700;}

.lic-card .tag{display:inline-block;font-size:.75rem;font-weight:700;color:var(--teal-dark);border:1px solid var(--teal);padding:3px 10px;border-radius:var(--radius);margin-bottom:8px;}

.lic-card p{margin:0;color:var(--ink-soft);font-size:.95rem;max-width:60ch;}

@media(max-width:680px){ .lic-card{grid-template-columns:1fr;gap:10px;} }

.bundles{padding:0;}

.bundles h2{font-size:1.5rem;font-weight:800;margin:0 0 32px;}

.bundle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

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

.bundle-grid .cell{background:#fff;padding:24px 20px;text-align:center;}

.bundle-grid .cell b{display:block;font-size:1.6rem;font-weight:800;color:var(--teal-dark);}

.bundle-grid .cell span{font-size:.85rem;color:var(--ink-soft);}

.flag{padding:20px 0;background:#FFF6E9;border-bottom:1px solid var(--line);}

.flag p{margin:0;font-size:.92rem;color:var(--ink);max-width:80ch;}

.posts{padding:64px 0;}

.post{display:grid;grid-template-columns:1fr;gap:8px;padding:28px 0;border-top:1px solid var(--line);}

.post:last-child{border-bottom:1px solid var(--line);}

.post h2{margin:0 0 8px;font-size:1.1rem;font-weight:700;}

.post p{margin:0;color:var(--ink-soft);font-size:.94rem;max-width:70ch;}

.post a.readmore{font-size:.86rem;font-weight:700;color:var(--teal-dark);margin-top:4px;display:inline-block;}

.pagehero p{font-size:1.08rem;color:var(--ink-soft);max-width:62ch;margin:0 0 28px;}

.product-hero .wrap{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:center;}

@media(max-width:860px){ .product-hero .wrap{grid-template-columns:1fr;} }

.hero-photo{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--bg-alt);padding:24px;}

.pagehero .actions{display:flex;gap:16px;flex-wrap:wrap;}

.btn-primary{background:var(--teal);color:#fff;padding:14px 26px;font-weight:700;font-size:.98rem;border-radius:var(--radius);}

.btn-ghost{padding:14px 26px;font-weight:600;font-size:.98rem;border:1.5px solid var(--line);border-radius:var(--radius);}

/* range strip */
  .rangestrip{padding:0;border-bottom:1px solid var(--line);}

.rangestrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);}

.rangestrip .cell{background:#fff;padding:26px 24px;}

.rangestrip .cell b{display:block;font-size:1.6rem;font-weight:800;color:var(--ink);}

.rangestrip .cell span{font-size:.85rem;color:var(--ink-soft);}

@media(max-width:820px){ .rangestrip .wrap{grid-template-columns:repeat(2,1fr);} }

/* config dimensions */
  .config{padding:80px 0;border-bottom:1px solid var(--line);}

.config .head{max-width:64ch;margin-bottom:44px;}

.config h2{font-size:1.9rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 12px;}

.config .head p{color:var(--ink-soft);font-size:1.03rem;margin:0;}

.dim{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:28px 0;border-top:1px solid var(--line);}

.dim:last-child{border-bottom:1px solid var(--line);}

.dim h3{margin:0;font-size:1.05rem;font-weight:700;}

.dim .options{display:flex;flex-wrap:wrap;gap:8px;}

.dim .options span{border:1px solid var(--line);padding:7px 14px;font-size:.88rem;font-weight:600;color:var(--ink-soft);border-radius:var(--radius);}

.dim p.d{margin:8px 0 0;color:var(--ink-soft);font-size:.93rem;max-width:60ch;}

@media(max-width:680px){ .dim{grid-template-columns:1fr;gap:10px;} }

/* also included */
  .included{padding:64px 0;border-bottom:1px solid var(--line);}

.included h2{font-size:1.5rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 32px;}

.included .row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

.included .cell{background:#fff;padding:26px 24px;}

.included .cell h3{margin:0 0 8px;font-size:1rem;font-weight:700;}

.included .cell p{margin:0;font-size:.9rem;color:var(--ink-soft);}

@media(max-width:820px){ .included .row{grid-template-columns:1fr;} }

/* how config works */
  .process{padding:80px 0;background:var(--bg-alt);border-bottom:1px solid var(--line);}

.process h2{font-size:1.7rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 40px;}

.process .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

.process .step{background:#fff;padding:28px 26px;}

.process .step .n{font-weight:800;color:var(--teal);font-size:.85rem;margin-bottom:10px;}

.process .step h3{margin:0 0 8px;font-size:1rem;font-weight:700;}

.process .step p{margin:0;font-size:.92rem;color:var(--ink-soft);}

@media(max-width:820px){ .process .steps{grid-template-columns:1fr;} }





.sector{padding:64px 0;border-bottom:1px solid var(--line);}

.sector:nth-child(even){background:var(--bg-alt);}

.sector .grid{display:grid;grid-template-columns:180px 1fr;gap:40px;}

@media(max-width:760px){ .sector .grid{grid-template-columns:1fr;gap:14px;} }

.sector .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);font-weight:700;}

.sector h2{margin:0 0 16px;font-size:1.35rem;font-weight:800;letter-spacing:-0.01em;}

.sector p{margin:0 0 14px;color:var(--ink-soft);font-size:.97rem;max-width:66ch;}

.sector .caselink{font-size:.9rem;font-weight:700;color:var(--teal-dark);}

.sector .caselink:hover{border-bottom:2px solid var(--teal);}

.svc{padding:56px 0;border-bottom:1px solid var(--line);}

.svc h2{font-size:1.4rem;font-weight:800;margin:0 0 24px;}

.tier-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:1px;}

@media(max-width:680px){ .tier-row{grid-template-columns:1fr;} }

.tier-row .cell{background:#fff;padding:24px 22px;}

.tier-row .cell h3{margin:0 0 8px;font-size:1rem;font-weight:700;}

.tier-row .cell p{margin:0;font-size:.9rem;color:var(--ink-soft);}

.tier-row .cell .price{display:block;font-size:.82rem;color:var(--teal-dark);font-weight:700;margin-top:8px;}

.svc-single{background:var(--bg-alt);border:1px solid var(--line);padding:24px 22px;margin-top:20px;}

.svc-single h3{margin:0 0 8px;font-size:1rem;font-weight:700;}

.svc-single p{margin:0;font-size:.92rem;color:var(--ink-soft);}

.mod{padding:56px 0;border-bottom:1px solid var(--line);}

.mod:nth-child(even){background:var(--bg-alt);}

.mod .grid{display:grid;grid-template-columns:180px 1fr;gap:32px;}

@media(max-width:720px){ .mod .grid{grid-template-columns:1fr;gap:10px;} }

.mod .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);font-weight:700;}

.mod h2{margin:0 0 12px;font-size:1.2rem;font-weight:800;}

.mod p{margin:0;color:var(--ink-soft);font-size:.96rem;max-width:64ch;}

.hierarchy{padding:64px 0;border-bottom:1px solid var(--line);}

.hierarchy h2{font-size:1.5rem;font-weight:800;margin:0 0 12px;}

.hierarchy > .wrap > p{color:var(--ink-soft);font-size:1rem;max-width:62ch;margin:0 0 40px;}

.tier{border:1px solid var(--line);padding:28px;margin-bottom:1px;}

.tier.academy{background:var(--bg-alt);}

.tier.ebi{background:#fff;margin-left:40px;border-color:var(--teal);}

@media(max-width:640px){ .tier.ebi{margin-left:16px;} }

.tier .tag{display:inline-block;font-size:.75rem;font-weight:700;color:var(--teal-dark);border:1px solid var(--teal);padding:3px 10px;border-radius:var(--radius);margin-bottom:10px;}

.tier h3{margin:0 0 10px;font-size:1.15rem;font-weight:700;}

.tier p{margin:0;color:var(--ink-soft);font-size:.95rem;max-width:60ch;}

.formats{padding:64px 0;border-bottom:1px solid var(--line);}

.formats h2{font-size:1.5rem;font-weight:800;margin:0 0 32px;}

.formats .row{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}

@media(max-width:820px){ .formats .row{grid-template-columns:1fr;} }

.formats .cell{background:#fff;padding:28px 26px;}

.formats .cell h3{margin:0 0 8px;font-size:1.02rem;font-weight:700;}

.formats .cell p{margin:0;font-size:.92rem;color:var(--ink-soft);}

/* ===== Eight lines (Home) ===== */
.eight{padding:80px 0;border-bottom:1px solid var(--line);}
.eight h2{font-size:1.9rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 36px;}
.eight-list{list-style:none;margin:0;padding:0;}
.eight-list li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line);align-items:baseline;}
.eight-list li:last-child{border-bottom:1px solid var(--line);}
.eight-list .n{font-weight:800;color:var(--teal);font-size:.85rem;}
.eight-list p{margin:0;font-size:1.08rem;color:var(--ink);max-width:70ch;}

/* ===== Speak to aylook (Home) ===== */
.speak{padding:80px 0;background:var(--bg-alt);border-bottom:1px solid var(--line);}
.speak .wrap{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start;}
@media(max-width:860px){ .speak .wrap{grid-template-columns:1fr;gap:32px;} }
.speak h2{font-size:1.9rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 16px;}
.speak p{margin:0 0 24px;color:var(--ink-soft);font-size:1.05rem;max-width:56ch;}
.speak-options{background:#fff;border:1px solid var(--line);padding:24px 22px;}
.speak-options h3{margin:0 0 14px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;}

/* ===== Small teasers (Home) ===== */
.teaser{padding:56px 0;border-bottom:1px solid var(--line);}
.teaser h2{font-size:1.5rem;font-weight:800;letter-spacing:-0.01em;margin:10px 0 10px;}
.teaser p{margin:0 0 16px;color:var(--ink-soft);font-size:1.02rem;max-width:60ch;}
.teaser .link{font-weight:700;color:var(--teal-dark);border-bottom:2px solid var(--teal);padding-bottom:2px;}
.panel-chips a.chip{border:1px solid var(--line);padding:8px 16px;font-size:.92rem;font-weight:600;color:var(--ink);border-radius:var(--radius);}
.panel-chips a.chip:hover{border-color:var(--teal);color:var(--teal-dark);}

/* ===== Kit: checkboxes, bar, summary ===== */
.kit-check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;margin-top:12px;line-height:1.35;}
.kit-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--teal);flex-shrink:0;cursor:pointer;}
.kit-check:hover{color:var(--teal-dark);}

#kit-bar{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);z-index:40;background:var(--ink);color:#fff;
  display:flex;gap:18px;align-items:center;padding:12px 14px 12px 22px;border-radius:var(--radius);box-shadow:0 8px 28px rgba(0,0,0,.22);
  opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;max-width:calc(100vw - 32px);}
#kit-bar.show{opacity:1;visibility:visible;transform:translate(-50%,0);}
#kit-bar span{font-size:.92rem;font-weight:600;white-space:nowrap;}
#kit-bar a{background:var(--teal);color:#fff;padding:9px 16px;font-size:.88rem;font-weight:700;border-radius:var(--radius);white-space:nowrap;}
#kit-bar a:hover{background:var(--teal-dark);}

.kit-summary{border:1px solid var(--line);background:var(--bg-alt);padding:26px 24px;margin-bottom:28px;}
.kit-summary h3{margin:0 0 6px;font-size:1.05rem;font-weight:800;}
.kit-summary .hint{margin:0 0 16px;font-size:.88rem;color:var(--ink-soft);}
.kit-group{margin-top:14px;}
.kit-group h4{margin:0 0 6px;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);font-weight:700;}
.kit-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:.92rem;font-weight:600;}
.kit-item button{background:none;border:none;color:var(--ink-soft);font-size:1.2rem;cursor:pointer;line-height:1;padding:2px 6px;}
.kit-item button:hover{color:#b23434;}
.kit-empty{font-size:.92rem;color:var(--ink-soft);margin:0;}
.kit-empty a{color:var(--teal-dark);font-weight:700;border-bottom:1px solid var(--teal);}
.kit-extra{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);}

/* labels inside the kit must not inherit the form-label look */
.kit-check{text-transform:none;letter-spacing:0;margin-bottom:0;}

.contact-sec{padding-top:48px;}

/* grey side blocks: grids drawn directly on .wrap must not have the wrap's own side padding */
.rangestrip .wrap, .howitworks .wrap{padding:0;max-width:1064px;}

.mod .grid{align-items:start;}
.mod-photo{display:block;width:100%;max-width:560px;border:1px solid var(--line);margin-top:20px;}

/* ===== Footer (white, matches page background) ===== */
footer{background:#fff;color:var(--ink);border-top:1px solid var(--line);padding:56px 0 0;margin-top:0;}
footer .flogo-row{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;padding-bottom:40px;}
footer .flogo-block .flogo-svg{height:30px;width:auto;margin-bottom:10px;}
footer .flogo-block .ftag{font-size:.68rem;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase;}
footer .flogo-block .ftag b{color:var(--teal-dark);}
footer .fcompany{font-size:.9rem;color:var(--ink-soft);line-height:1.6;margin-top:16px;}
footer .fcompany b{color:var(--ink);}
footer .fcontact{display:flex;flex-direction:column;gap:12px;}
footer .fcontact a{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:.95rem;font-weight:600;}
footer .fcontact a:hover{color:var(--teal-dark);}
footer .fcontact svg{width:17px;height:17px;flex-shrink:0;}
footer .fsocial{display:flex;gap:14px;margin-top:4px;}
footer .fsocial a{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);}
footer .fsocial a:hover{border-color:var(--teal);color:var(--teal-dark);}
footer .fsocial svg{width:15px;height:15px;}
footer .fantek{text-align:right;}
footer .fantek .antek-svg{height:40px;width:auto;margin-bottom:8px;}
footer .fantek p{font-size:.82rem;color:var(--ink-soft);margin:2px 0;}
footer .fantek b{color:var(--ink);}
@media(max-width:820px){ footer .fantek{text-align:left;} }

footer .fnav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:0 0 36px;border-top:1px solid var(--line);padding-top:36px;}
footer .fnav .col h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 12px;font-weight:700;}
footer .fnav .col a{display:block;font-size:.9rem;margin-bottom:8px;color:var(--ink);}
footer .fnav .col a:hover{color:var(--teal-dark);}

footer .flegal{border-top:1px solid var(--line);margin-top:0;padding:20px 0 28px;font-size:.8rem;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;}
footer .flegal .flinks a{color:var(--ink-soft);margin-right:12px;}
footer .flegal .flinks a:hover{color:var(--teal-dark);}

/* ===== Cookie/creed toast (auto-dismisses) ===== */
#creed-toast{position:fixed;left:24px;bottom:24px;z-index:50;max-width:340px;background:var(--ink);color:#eef0f0;
  padding:14px 18px;font-size:.82rem;line-height:1.45;font-style:italic;border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.22);
  opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;}
#creed-toast.show{opacity:1;transform:translateY(0);}

/* keep visited-link color consistent with unvisited across the whole site */
a:visited{color:inherit;}
footer .fnav .col a:visited{color:var(--ink);}
footer .flegal .flinks a:visited{color:var(--ink-soft);}

.dropdown-menu a:visited{color:var(--ink);}

/* multi-photo gallery at the top of a compact case card */
.card-gallery{display:grid;gap:2px;margin:-32px -28px 20px;width:calc(100% + 56px);border-bottom:1px solid var(--line);}
.card-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.card-gallery.g2{grid-template-columns:1fr 1fr;}
.card-gallery.g3{grid-template-columns:1fr 1fr 1fr;}


/* ===== Canonical nav + hamburger (single breakpoint, consistent everywhere) ===== */
nav.links{display:flex;gap:28px;align-items:center;}
nav.links > a, nav.links a{font-size:.93rem;font-weight:500;color:var(--ink-soft);}
nav.links > a:hover, nav.links > a.active, nav.links a:hover, nav.links a.active{color:var(--teal-dark);}
nav.links a:visited{color:var(--ink-soft);}

.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:22px;cursor:pointer;background:none;border:none;padding:0;}
.hamburger span{display:block;width:100%;height:2px;background:var(--ink);transition:transform .2s,opacity .2s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:1080px){
  nav.links{display:none;}
  .hamburger{display:flex;}
}

/* simplified single-row footer nav (replaces old 3-column mirror menu) */
footer .fnav{display:flex;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;padding:28px 28px;border-top:1px solid var(--line);border-bottom:none;margin:0 auto;}
footer .fnav a{font-size:.92rem;font-weight:600;color:var(--ink);}
footer .fnav a:hover{color:var(--teal-dark);}

/* ===== Polish pass ===== */
/* header Contact button: hidden once the hamburger takes over (Contact is already in the mobile menu) */
@media(max-width:1080px){ .nav-cta{display:none;} }

/* footer: keep columns aligned to the page grid and stack cleanly on small screens */
footer .flegal{align-items:center;}
footer .flegal .flinks{display:flex;flex-wrap:wrap;gap:6px 20px;}
footer .flegal .flinks a{margin-right:0;}
@media(max-width:820px){
  footer .flogo-row{flex-direction:column;gap:32px;}
  footer .fnav{justify-content:flex-start;gap:14px 28px;}
  footer .flegal{flex-direction:column;align-items:flex-start;}
}

/* case cards: photo/gallery sits inside its card, full-bleed on top */
.cards .card{display:flex;flex-direction:column;}
.cards .card .quote{margin-top:auto;}
.cards .card .equip-list{margin-bottom:14px;}
.card-photo{margin:-32px -28px 24px;}
.card-gallery{margin:-32px -28px 24px;}
.card-gallery.g2 img,.card-gallery.g3 img{aspect-ratio:4/3;}
.card-gallery.g3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;}
.card-gallery.g3 img:first-child{grid-row:1 / span 2;aspect-ratio:auto;height:100%;}
.card-gallery.g3 img:not(:first-child){aspect-ratio:16/10;}
/* odd number of cards: let the last one span the row instead of leaving a grey hole */
@media(min-width:821px){
  .cards > .card:last-child:nth-child(odd){grid-column:1 / -1;}
  .cards > .card:last-child:nth-child(odd) .card-photo{aspect-ratio:21/9;}
}
.card-photo,.card-gallery{max-width:none;}
footer .flegal{padding:20px 28px 28px;}
/* galleries match the 16:9 height of single card photos */
.card-gallery{aspect-ratio:16/9;grid-template-rows:100%;}
.card-gallery.g3{grid-template-rows:1fr 1fr;}
.card-gallery img,.card-gallery.g2 img,.card-gallery.g3 img,.card-gallery.g3 img:not(:first-child){aspect-ratio:auto;height:100%;min-height:0;}
.card-gallery{overflow:hidden;}.card-gallery.g3{grid-template-rows:minmax(0,1fr) minmax(0,1fr);}

/* documentation list: PDF tag, tidy title/date columns, no grey gap on odd counts */
.doc-list a{align-items:center;transition:background .15s,color .15s;}
.doc-list a[href$=".pdf"]::before{content:"PDF";flex:none;font-size:.62rem;font-weight:700;letter-spacing:.06em;color:var(--teal-dark);border:1px solid var(--teal);padding:2px 6px;border-radius:var(--radius);}
.doc-list a[href$=".pdf"]{justify-content:flex-start;}
.doc-list a .d{margin-left:auto;text-align:right;white-space:normal;}
.doc-list a[href$=".pdf"]:hover{background:var(--bg-alt);}
.doc-list > a:last-child:nth-child(odd){grid-column:1 / -1;}
@media(max-width:680px){ .doc-list a{flex-wrap:wrap;} .doc-list a .d{margin-left:0;text-align:left;flex-basis:100%;padding-left:42px;} }

/* breadcrumb */
.breadcrumb{border-bottom:1px solid var(--line);background:var(--bg-alt);}
.breadcrumb ol{list-style:none;margin:0;padding:11px 0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:.82rem;color:var(--ink-soft);}
.breadcrumb li{display:flex;align-items:center;min-width:0;}
.breadcrumb li + li::before{content:"›";margin:0 10px;color:var(--ink-soft);opacity:.6;}
.breadcrumb a{color:var(--ink-soft);}
.breadcrumb a:hover{color:var(--teal-dark);text-decoration:underline;}
.breadcrumb li[aria-current]{color:var(--ink);font-weight:600;}
@media(max-width:680px){ .breadcrumb ol{font-size:.78rem;padding:9px 0;} }

/* Photos keep their CSS proportions (the width/height attributes are only there to reserve space while loading) */
.case-photo-home,.case-photo,.card-photo,.mod-photo,.hero-photo{height:auto;}
.case-photo-home{aspect-ratio:16/9;object-position:center 40%;max-height:260px;}
.case-photo{aspect-ratio:16/10;object-position:center 40%;}
.card-photo{aspect-ratio:16/9;object-position:center 40%;}

/* footer without the nav row: the contact block gets its own divider above the legal row */
footer .flogo-row{padding-bottom:36px;}

/* Page-type styles (moved from per-page <style> blocks) */
.cls-1{fill:#43BBC9;stroke-width:0px;}
.cls-1,.cls-2{stroke-width:0px;}
.cls-2{fill:#2B2E33;}
.article-body{padding:56px 0 80px;}
.article-body .kicker{color:var(--teal-dark);font-weight:700;font-size:.9rem;margin-bottom:16px;}
.article-body h1{font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.2;font-weight:800;letter-spacing:-0.01em;max-width:32ch;margin:0 0 24px;}
.article-body .lede{font-size:1.1rem;color:var(--ink);max-width:66ch;margin:0 0 28px;font-weight:600;}
.pending-box{background:#FFF6E9;border:1px solid var(--line);padding:24px 26px;max-width:66ch;}
.pending-box p{margin:0;font-size:.95rem;color:var(--ink);}
.pending-box b{color:#a8641a;}
.back-link{display:inline-block;margin-top:32px;font-size:.92rem;font-weight:700;color:var(--teal-dark);}
.legal-body{padding:56px 0 80px;}
.legal-body .wrap > *{max-width:74ch;}
.legal-body h2{font-size:1.15rem;font-weight:700;margin:32px 0 10px;}
.legal-body p{margin:0 0 14px;color:var(--ink-soft);font-size:.96rem;}
.pending-box{background:#FFF6E9;border:1px solid var(--line);padding:24px 26px;margin-top:24px;}
.pending-box p{margin:0;font-size:.92rem;color:var(--ink);}
.legal-body h3{font-size:1rem;font-weight:700;margin:22px 0 8px;}
.legal-body ul{margin:0 0 14px;padding-left:20px;color:var(--ink-soft);font-size:.96rem;}
.legal-body li{margin-bottom:8px;}
.legal-body a{color:var(--teal-dark);text-decoration:underline;}
.legal-body code{font-size:.88em;background:var(--bg-alt);padding:1px 5px;}
.legal-body .legal-lead{color:var(--ink);font-size:1.02rem;}
.legal-body .legal-contact{margin-top:32px;color:var(--ink);}

/* "At a glance" specs table on Product page */
.specs{padding:80px 0;background:var(--bg-alt);border-bottom:1px solid var(--line);}
.specs .head{max-width:64ch;margin-bottom:36px;}
.specs h2{font-size:1.7rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 12px;}
.specs .head p{color:var(--ink-soft);font-size:1.03rem;margin:0;}
.specs-table{width:100%;border-collapse:collapse;margin-top:8px;background:#fff;border:1px solid var(--line);}
.specs-table tr{border-bottom:1px solid var(--line);}
.specs-table tr:last-child{border-bottom:none;}
.specs-table th{text-align:left;padding:16px 20px;width:280px;font-size:.92rem;font-weight:700;color:var(--ink);vertical-align:top;background:#fafbfb;}
.specs-table td{padding:16px 20px;font-size:.92rem;color:var(--ink-soft);vertical-align:top;}
@media(max-width:720px){
  .specs-table, .specs-table tbody, .specs-table tr, .specs-table th, .specs-table td{display:block;width:auto;}
  .specs-table tr{padding:14px 16px;}
  .specs-table th{padding:0 0 6px;background:none;}
  .specs-table td{padding:0;}
}

/* contact form honeypot: hidden from people, left for bots to fill */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}

/* "under construction" bar: first child of the sticky header (switch: src/data/site.json), so the mobile menu,
   which opens at header.offsetHeight, still starts right below the header */
.uc-bar{background:var(--ink);color:#fff;text-align:center;font-size:.8rem;font-weight:600;line-height:1.35;padding:6px 16px;}
