/* ============ Inner pages + multi-page additions ============ */

/* soft page entrance (opacity only so sticky/fixed children keep working) */
main{animation:pagein .55s var(--ease) both}
@keyframes pagein{from{opacity:0}}

/* header: active page */
nav.main a[aria-current=page]{color:var(--blue)}
nav.main a[aria-current=page]::after{transform:scaleX(1)}

/* links as cards */
.pcard .ph{text-decoration:none;color:inherit}
.pcard h3 a{text-decoration:none}
.pcard h3 a:hover{color:var(--blue)}

/* ---------- home: partnership (light) ---------- */
.partner .sec-head{align-items:start;margin-bottom:0}
.partner .sec-head p{color:var(--text);font-size:19px;max-width:32em}
.partner .sec-head p b{font-weight:700;color:var(--ink)}
.partner .links{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}

/* home: categories on mist so the white tiles read as cards */
.cats-sec{background:var(--mist)}
.cats-sec .ctile{background:#fff;border:1px solid var(--line)}
.cats-sec .ctile .art{background:var(--mist)}
.cats-sec .ctile.type{border-color:var(--blue)}
.cats-sec .ctile.cta{border:1px dashed #3a4350}

/* home: featured */
.feat-foot{display:flex;justify-content:center;margin-top:34px}
.feat-foot .btn .n{font-variant-numeric:tabular-nums}

/* ---------- call-to-action band ---------- */
.ctaband{position:relative;background:var(--blue);color:#fff;overflow:hidden;padding:clamp(48px,6vw,88px) 0}
.ctaband::before{content:"";position:absolute;right:-8%;top:0;bottom:0;width:44%;background:var(--blue-deep);clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}
.ctaband .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.ctaband h2{max-width:15em}
.ctaband p{margin-top:16px;color:#D4E1F2;font-size:18px;max-width:30em}
.ctaband .eyebrow{color:var(--sky);margin-bottom:18px}
.ctaband .acts{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- page header (inner pages) ---------- */
.phead{position:relative;background:var(--blue);color:#fff;overflow:hidden;padding:clamp(34px,4.4vw,60px) 0 clamp(54px,6vw,88px)}
.phead::before{content:"";position:absolute;right:-8%;top:0;bottom:0;width:46%;background:var(--blue-deep);clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}
.phead .wrap{position:relative}
.phead .eyebrow{color:var(--sky);margin-top:26px}
.phead h1{margin-top:18px;max-width:15em;animation:fadeUp .8s var(--ease) both}
.phead .lead{margin-top:22px;font-size:clamp(17px,1.5vw,20px);max-width:36em;color:#D4E1F2;animation:fadeUp .8s .12s var(--ease) both}
.phead .hero-ruler{opacity:.35}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:#BFD3EC;align-items:center}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.5}
.crumbs [aria-current]{color:#fff}
.crumbs.dark{color:var(--muted)}
.crumbs.dark a:hover{color:var(--blue)}
.crumbs.dark [aria-current]{color:var(--ink)}

/* ---------- shop ---------- */
.shop-top{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.shop-top h2{font-size:clamp(26px,3vw,38px)}
.finder-hint{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15px;color:var(--blue);border-bottom:1.5px solid currentColor;padding-bottom:2px}
.finder-hint:hover{color:var(--ink)}
.shop-page{padding-top:clamp(40px,5vw,64px)}

/* ---------- product page ---------- */
.crumb-bar{border-bottom:1px solid var(--line);padding:14px 0;background:#fff}
.pd{padding:clamp(28px,4vw,56px) 0 clamp(56px,7vw,96px)}
.pd-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,80px);align-items:start}
.pd-media{position:sticky;top:96px;background:var(--mist);aspect-ratio:1/.92;display:grid;place-items:center;overflow:hidden}
.pd-media img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply;animation:float 8s ease-in-out infinite}
.pd-media .noimg{position:absolute;inset:0;padding:30px}
.pd-media .noimg .big{font-size:clamp(48px,7vw,96px)}
.pd-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:16px;color:var(--muted);opacity:.4;background:
  repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 10px) bottom/100% 7px no-repeat,
  repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 50px) bottom/100% 16px no-repeat;animation:ruler 12s linear infinite}
.pd-media .tag{position:absolute;left:16px;top:16px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:560;color:var(--blue);background:#fff;padding:5px 9px;border:1px solid var(--line);z-index:2}
.pd-info{display:flex;flex-direction:column;gap:20px}
.pd-info h1{font-size:clamp(36px,4.4vw,60px)}
.pd-sub{color:var(--muted);font-size:18px;margin-top:-6px}
.pd-info .specs{margin:6px 0 0}
.pd-info .specs dd{font-size:16px;font-family:var(--sans);font-weight:600}
.pd-block h4{font-size:11px;font-weight:560;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.pd-block ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.pd-block li{font-size:16px;padding-left:18px;position:relative}
.pd-block li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--blue)}
.pd-buy{border-top:1px solid var(--ink);padding-top:22px;display:grid;gap:16px}
.price.big{font-size:34px;letter-spacing:-.02em}
.pd-buy .price-note{font-size:12px}
.pd-actions{display:flex;gap:10px;flex-wrap:wrap}
.pd-note{display:flex;gap:16px;align-items:center;background:var(--mist);padding:14px 16px;font-size:14px;color:var(--muted);line-height:1.45}
.pd-note img{height:24px;width:auto;flex:none;mix-blend-mode:multiply}
.pd-note a{color:var(--blue);font-weight:600}
.pd-missing{padding:80px var(--gut);text-align:left;display:grid;gap:18px;justify-items:start}
.pd-missing p{color:var(--muted);font-size:18px}
.rel{background:var(--mist);padding-top:clamp(48px,6vw,84px)}
.rel .sec-head{margin-bottom:28px}

/* ---------- industries ---------- */
.igrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.icard{position:relative;padding:32px 28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;transition:background .3s}
.icard::before{content:"";position:absolute;left:0;top:-1px;height:3px;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.icard:hover{background:var(--blue-soft)}
.icard:hover::before{transform:scaleX(1)}
.icard .top{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:560;color:var(--muted)}
.icard .top .cnt{color:var(--blue)}
.icard h3{font-size:25px;line-height:1.12;margin-top:6px}
.icard p{color:var(--muted);font-size:16px;flex:1}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.tags a{font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;font-weight:560;border:1px solid var(--line);background:#fff;padding:6px 10px;text-decoration:none;border-radius:2px;transition:all .2s}
.tags a:hover{border-color:var(--blue);background:var(--blue);color:#fff}

/* ---------- about ---------- */
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);align-items:start}
.prose p{font-size:19px;color:var(--text);max-width:34em}
.prose p+p{margin-top:18px}
.prose p b{font-weight:700;color:var(--ink)}
.prose .links{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.about-facts{display:grid;gap:0;border-top:1px solid var(--ink)}
.about-facts div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.about-facts dt{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:560;color:var(--muted)}
.about-facts dd{margin:0;font-size:18px;font-weight:600}
.about-facts dd small{display:block;font-weight:400;font-size:15px;color:var(--muted);margin-top:2px}
.mist{background:var(--mist)}
.triple{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.triple>div{padding:28px 28px 8px 0}
.triple>div+div{padding-left:28px;border-left:1px solid var(--line)}
.triple .no{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:560;color:var(--blue)}
.triple h3{font-size:24px;margin:12px 0 10px}
.triple p{color:var(--muted);max-width:26em;font-size:16.5px}
.fam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fam{background:#fff;border:1px solid var(--line);padding:26px 24px 22px;display:flex;flex-direction:column;gap:8px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .2s}
.fam:hover{transform:translateY(-5px);box-shadow:0 24px 40px -26px rgba(12,14,17,.45);border-color:var(--blue)}
.fam .for{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:560;color:var(--blue)}
.fam h3{font-size:26px}
.fam p{color:var(--muted);font-size:16px;flex:1}
.fam .go{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;padding-top:14px;border-top:1px dashed var(--line);font-size:14.5px;font-weight:600}
.fam .go a{color:var(--blue);text-decoration:none}
.fam .go a:hover{text-decoration:underline}
.atom-feature{display:flex;gap:clamp(24px,5vw,64px);align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--ink);padding:clamp(24px,3.4vw,44px)}
.atom-feature img{height:44px;width:auto;margin-bottom:18px}
.atom-feature p{max-width:34em;font-size:18px;color:var(--muted)}
.atom-feature p b{color:var(--ink)}

/* ---------- how to order ---------- */
.how{background:#fff;color:var(--text)}
.how .eyebrow{color:var(--blue)}
.how .sec-head p{color:var(--muted)}
.step{border-top:1px solid var(--ink)}
.step+.step{border-left:1px solid var(--line)}
.step::before{background:var(--blue)}
.step .num{-webkit-text-stroke:1.5px var(--blue)}
.step p{color:var(--muted)}
.need{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(40px,5vw,64px);border:1px solid var(--line);background:var(--mist)}
.need>div{padding:22px 24px}
.need>div+div{border-left:1px solid var(--line)}
.need b{display:block;font-size:17px;margin-bottom:4px}
.need span{color:var(--muted);font-size:15px}
.need-title{margin-top:clamp(40px,5vw,64px);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:560;color:var(--muted)}
.need-title+.need{margin-top:14px}

/* ---------- contact ---------- */
.contact-page{background:var(--mist)}
.contact-page .eyebrow{color:var(--blue)}
.contact-page h2{margin:18px 0 20px}
.contact-page p.big{font-size:19px;color:var(--text);max-width:28em}
.contact-page .partner-note{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:var(--muted);max-width:30em}
.contact-page .partner-note a{color:var(--blue);font-weight:600}
.contact-page form.enq{border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(12,14,17,.35)}
.chan{display:grid;gap:10px;margin-top:26px;max-width:28em}
.chan a,.chan .pending{display:grid;gap:2px;padding:14px 18px;background:#fff;border:1px solid var(--line);text-decoration:none}
.chan a:hover{border-color:var(--blue)}
.chan .mono{color:var(--muted)}
.chan b{font-size:18px}
.chan .pending{border-style:dashed;color:var(--muted);font-size:15px}
.model-chip{display:inline-block;margin-bottom:18px;background:var(--blue-soft);border-left:3px solid var(--blue);padding:10px 14px;font-size:15px}
.model-chip a{color:var(--blue);font-weight:600}

/* ---------- footer (4 columns) ---------- */
.foot-grid{grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr))}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .igrid,.fam-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .pd-grid,.two{grid-template-columns:1fr}
  .pd-media{position:relative;top:0}
  .triple{grid-template-columns:1fr}
  .triple>div{padding:24px 0 8px!important;border-left:0!important;border-top:1px solid var(--line)}
  .triple>div:first-child{border-top:0}
  .need{grid-template-columns:1fr 1fr}
  .need>div:nth-child(3){border-left:0}
  .need>div:nth-child(n+3){border-top:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .phead::before,.ctaband::before{width:100%;right:0;clip-path:polygon(0 70%,100% 45%,100% 100%,0 100%)}
}
@media (max-width:640px){
  .igrid,.fam-grid{grid-template-columns:1fr}
  .need{grid-template-columns:1fr}
  .need>div+div{border-left:0;border-top:1px solid var(--line)}
  .about-facts div{grid-template-columns:1fr;gap:4px}
  .ctaband .acts .btn{flex:1;justify-content:center}
  .pd-actions .btn{flex:1;justify-content:center}
}

/* typographic category tiles keep their blue art area on the mist section */
.cats-sec .ctile.type .art{background:transparent}
.cats-sec .ctile.type{background:var(--blue)}
.cats-sec .ctile.cta{background:var(--ink)}

/* finder rows are links now */
.f-row{text-decoration:none;color:inherit}
.f-row b{color:var(--ink)}
.search{min-width:290px}
.phead h1{margin-top:30px}

/* spec list */
.specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);margin:0}
.specs div{padding:12px 0;border-bottom:1px solid var(--line)}
.specs dt{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:560;color:var(--muted)}
.specs dd{margin:3px 0 0;font-size:16px;font-weight:600}
@media (max-width:560px){.specs{grid-template-columns:1fr}}

[hidden]{display:none!important}
@media (max-width:560px){.hero .cta .btn{padding:14px 12px;white-space:nowrap}}

/* ---------- 3D product images ---------- */
.spin{display:grid;place-items:center;width:100%;height:100%;mix-blend-mode:multiply;will-change:transform;
  animation:swing3d 7s ease-in-out infinite;animation-delay:calc(var(--sw,0) * -1s)}
.pcard .ph img,.pd-media img{mix-blend-mode:normal;animation:none}
.pcard:hover .ph img{transform:none}
@keyframes swing3d{
  0%,100%{transform:perspective(760px) rotateY(-34deg) rotateX(3deg)}
  50%{transform:perspective(760px) rotateY(34deg) rotateX(3deg)}
}
.spin.manual{animation:none;transform:perspective(760px) rotateY(var(--ry,0deg)) rotateX(3deg);transition:transform .18s ease-out}
.pd-media .spin{position:absolute;inset:0}
.pd-media .spin img{width:78%;height:78%}
.pd-media .rep{position:absolute;right:16px;top:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:560;color:var(--muted);background:#fff;padding:5px 9px;border:1px solid var(--line);z-index:2}
@media (prefers-reduced-motion:reduce){.spin{animation:none!important;transform:none!important}}

/* ---------- footer partner block (the one place the Atom partnership is stated) ---------- */
.foot-grid{grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,2.4fr) minmax(0,3.2fr)}
.partner-col p{margin-top:14px;font-size:14.5px;color:#9EA8B5;max-width:26em}
.atom-badge{display:inline-flex;background:#fff;padding:10px 14px;border-radius:2px;transition:transform .3s var(--ease)}
.atom-badge:hover{transform:translateY(-2px);text-decoration:none}
.atom-badge img{height:26px;width:auto}
.plink{display:inline-block;margin-top:12px;font-size:14.5px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}
.plink:hover{border-color:#fff;text-decoration:none}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* 3D on the homepage: category tiles + hero disc */
.ctile .art .spin img,.slide .spin img{mix-blend-mode:normal}
.ctile .art img,.ctile:hover .art img{transform:none}
.ctile .art .spin img{width:68%;height:68%;object-fit:contain}
.slide .spin img{width:76%;height:76%}
.slide .spin{mix-blend-mode:normal}

/* ---------- v6.1 ---------- */
/* subtitles: bordered label, no leading dash */
.eyebrow{display:inline-flex;width:fit-content;max-width:100%;padding:7px 12px 6px;border:1px solid rgba(17,74,147,.35);border-radius:2px;line-height:1.2;gap:0}
.eyebrow::before{display:none!important}
.hero .eyebrow,.phead .eyebrow,.ctaband .eyebrow,.contact .eyebrow{border-color:rgba(255,255,255,.4)}
.phead .eyebrow{margin-top:0;margin-bottom:22px}
.phead{padding-top:clamp(44px,6vw,76px)}
.eyebrow+h1,.eyebrow+h2{margin-top:0}
.sec-head .eyebrow,.contact-page .eyebrow{margin-bottom:16px}

/* contact: icon list */
.chan{list-style:none;padding:0;display:grid;gap:22px;margin-top:34px;max-width:28em}
.chan li{display:flex;align-items:center;gap:18px}
.chan .ic{flex:none;width:52px;height:52px;border-radius:10px;background:var(--blue);display:grid;place-items:center}
.chan .ic svg{width:24px;height:24px;fill:#fff}
.chan b{display:block;font-size:17px;font-weight:700;color:var(--ink);line-height:1.3}
.chan a,.chan .v{display:block;font-size:17px;color:var(--blue);text-decoration:none;line-height:1.4}
.chan a:hover{text-decoration:underline}
.chan .v{color:var(--blue)}

/* footer credit */
.tx-logo{font-family:'Nexa-Black',var(--sans,sans-serif)!important;font-weight:900!important;color:#fff;text-decoration:none}
.tx-logo:hover{color:var(--sky);text-decoration:none}
.chan a{padding:0;background:none;border:0;gap:0}
.chan a:hover{border:0}
.chan li{display:flex}

/* ---------- mega menu (Shop) ---------- */
nav.main{align-items:center}
.has-mega{align-self:stretch;display:flex;align-items:center}
.shop-link{padding-right:16px!important}
.shop-link::before{content:"";position:absolute;right:1px;top:50%;width:6px;height:6px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-72%) rotate(45deg);transition:transform .25s var(--ease)}
.has-mega:hover .shop-link::before,.has-mega:focus-within .shop-link::before{transform:translateY(-30%) rotate(225deg)}
.has-mega:hover .shop-link::after,.has-mega:focus-within .shop-link::after{transform:scaleX(1)}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  box-shadow:0 40px 60px -34px rgba(12,14,17,.45);opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .22s var(--ease),transform .28s var(--ease),visibility 0s .28s}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mega-in{max-width:var(--wrap);margin:0 auto;padding:30px var(--gut) 34px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.mega-title{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:560}
.mega-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 22px}
nav.main .mega a.mc{display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:center;padding:8px 10px;border:0;border-radius:2px;transition:background .2s}
nav.main .mega a.mc:hover{background:var(--mist)}
nav.main .mega a::after{display:none}
.mc .th{width:60px;height:60px;background:var(--mist);display:grid;place-items:center;overflow:hidden;transition:background .2s}
.mc:hover .th{background:#fff}
.mc .th img{width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s var(--ease)}
.mc:hover .th img{transform:scale(1.1)}
.mc .nm{display:block;font-size:15.5px;font-weight:650;color:var(--ink);line-height:1.25}
.mc .ct{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-weight:500}
.mega-aside{background:var(--ink);color:#fff;padding:26px 26px 24px}
.mega-aside .mega-title{color:var(--sky)}
.mega-aside h3{font-size:22px;line-height:1.2;font-weight:750;letter-spacing:-.02em;margin:0 0 8px}
.mega-aside p{color:#AEB8C6;font-size:14.5px;margin:0 0 18px}
nav.main .mega-aside .btn{padding:11px 16px}
nav.main .mega-aside .mega-all{display:inline-block;margin-top:18px;padding:0;font-size:14px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}
nav.main .mega-aside .mega-all:hover{border-color:#fff}
@media (max-width:1100px){.mega-in{grid-template-columns:minmax(0,1fr) 250px;gap:32px}.mega-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .mega{display:none}
  .has-mega{display:block;align-self:auto}
  .shop-link{padding-right:0!important}.shop-link::before{display:none}
}
@media (prefers-reduced-motion:reduce){.mega{transition:none;transform:none}}
.mega-cats{margin-left:-10px}
