.ipm-brand.top { background:var(--ipm-paper); }
.ipm-top { margin:0; padding:0; overflow:hidden; }
.ipm-hero { position:relative; min-height:760px; height:min(900px,100svh); overflow:hidden; color:#fff; background:linear-gradient(90deg,rgba(2,6,7,.96),rgba(2,6,7,.72) 45%,rgba(2,6,7,.15)),radial-gradient(circle at 78% 45%,rgba(0,183,183,.14),transparent 35%),#020607; border-bottom:1px solid rgba(0,183,183,.22); }
.ipm-pulse,.ipm-hero-noise { position:absolute; inset:0; width:100%; height:100%; }
.ipm-hero-noise { z-index:1; pointer-events:none; opacity:.3; background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.025) 0 1px,transparent 1px 5px),linear-gradient(rgba(0,183,183,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,183,183,.025) 1px,transparent 1px); background-size:auto,80px 80px,80px 80px; }
.ipm-hero-topline { position:absolute; z-index:2; top:104px; left:clamp(20px,4vw,72px); right:clamp(20px,4vw,72px); padding-bottom:13px; display:flex; justify-content:space-between; color:rgba(255,255,255,.46); border-bottom:1px solid rgba(0,183,183,.18); font:10px ui-monospace,Menlo,monospace; letter-spacing:.16em; }
.ipm-hero-copy { position:absolute; z-index:3; left:clamp(20px,7vw,116px); top:24%; max-width:900px; }
.ipm-kicker { margin:0 0 24px; display:flex; align-items:center; gap:10px; color:var(--ipm-aqua); font:10px ui-monospace,Menlo,monospace; letter-spacing:.16em; }
.ipm-kicker::before { content:""; width:8px; height:8px; background:var(--ipm-aqua); box-shadow:0 0 16px var(--ipm-aqua); }
.ipm-heading-line { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.ipm-hero h1 { margin:0; color:#fff; font-size:clamp(74px,9vw,148px); font-weight:500; line-height:.93; letter-spacing:-.085em; text-shadow:0 0 80px #020607; }
.ipm-hero-badge { width:max-content; margin:18px 0 0; padding:7px 10px; color:var(--ipm-ink); background:var(--ipm-aqua); font:800 clamp(12px,1.2vw,17px) ui-monospace,Menlo,monospace; letter-spacing:.14em; animation:ipm-pixel-reveal .4s steps(4,end) 1s both; }
.ipm-hero-lead { margin:24px 0 0; color:rgba(255,255,255,.75); font-size:clamp(14px,1.25vw,19px); letter-spacing:.06em; }
.ipm-hero-actions { position:absolute; z-index:3; left:clamp(20px,7vw,116px); bottom:118px; display:flex; align-items:center; gap:32px; }
.ipm-primary,.ipm-outline { min-height:56px; padding:0 22px 0 26px; display:inline-flex; align-items:center; justify-content:space-between; gap:48px; color:var(--ipm-ink); background:var(--ipm-aqua); border:1px solid var(--ipm-aqua); font-size:12px; font-weight:700; text-decoration:none; transition:.18s; }
.ipm-primary:hover { color:var(--ipm-aqua); background:var(--ipm-ink); transform:translateY(-2px); }
.ipm-text-link { padding-bottom:7px; color:rgba(255,255,255,.75); border-bottom:1px solid rgba(255,255,255,.3); font-size:11px; text-decoration:none; }
.ipm-hero-index { position:absolute; z-index:3; right:clamp(20px,4vw,72px); bottom:122px; display:flex; gap:22px; color:rgba(255,255,255,.48); font:9px ui-monospace,Menlo,monospace; letter-spacing:.08em; }
.ipm-hero-index b { color:var(--ipm-aqua); font-weight:500; }
.ipm-proof { display:grid; grid-template-columns:repeat(4,1fr); color:var(--ipm-ink); background:var(--ipm-aqua); border-bottom:1px solid var(--ipm-ink); }
.ipm-proof div { min-height:150px; padding:34px clamp(20px,3vw,52px); border-right:1px solid rgba(2,6,7,.35); }
.ipm-proof strong { font:500 clamp(25px,2.2vw,39px) ui-monospace,Menlo,monospace; letter-spacing:-.06em; }
.ipm-proof p { margin:14px 0 0; color:var(--ipm-ink); font-size:10px; font-weight:700; line-height:1.55; }
.ipm-top-section { padding:clamp(92px,10vw,158px) clamp(20px,6vw,96px); }
.ipm-top-section-dark { color:#fff; background:var(--ipm-ink); }
.ipm-top-section-grid { background:linear-gradient(rgba(0,183,183,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,183,183,.035) 1px,transparent 1px),#edf1ee; background-size:40px 40px; }
.ipm-section-head { max-width:var(--ipm-max); margin:0 auto 60px; display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:end; }
.ipm-section-head h2 { margin:0; font-size:clamp(45px,6vw,92px); font-weight:500; line-height:.98; letter-spacing:-.07em; }
.ipm-section-head p { margin:0; color:var(--ipm-muted); font-size:13px; line-height:2; }
.ipm-top-section-dark .ipm-section-head p { color:rgba(255,255,255,.55); }
.ipm-product-grid,.ipm-pickup-grid,.ipm-simple-grid { max-width:var(--ipm-max); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ipm-ink); border-left:1px solid var(--ipm-ink); }
.ipm-product-card { min-height:480px; padding:clamp(24px,2.6vw,42px); display:flex; flex-direction:column; background:rgba(255,255,255,.78); border-right:1px solid var(--ipm-ink); border-bottom:1px solid var(--ipm-ink); transition:.2s; }
.ipm-product-card:hover { transform:translateY(-6px); box-shadow:0 16px 0 rgba(0,183,183,.16); }
.ipm-product-card-featured { color:#fff; background:var(--ipm-ink); }
.ipm-code { color:#087f80; font:9px ui-monospace,Menlo,monospace; letter-spacing:.13em; }
.ipm-product-visual { height:150px; margin:36px 0; display:grid; place-items:center; overflow:hidden; color:var(--ipm-aqua); background:#061011; border:1px solid rgba(0,183,183,.48); font:500 clamp(26px,3vw,44px) ui-monospace,Menlo,monospace; }
.ipm-product-card h3 { margin:0 0 18px; font-size:clamp(28px,2.5vw,40px); font-weight:500; }
.ipm-product-card p { margin:0 0 30px; color:#647272; font-size:12px; line-height:1.9; }
.ipm-product-card-featured p { color:rgba(255,255,255,.54); }
.ipm-card-link { margin-top:auto; padding-top:15px; display:flex; justify-content:space-between; color:inherit; border-top:1px solid currentColor; font:10px ui-monospace,Menlo,monospace; text-decoration:none; }
.ipm-pickup-grid { grid-template-columns:repeat(4,1fr); border-color:var(--ipm-line-light); }
.ipm-patent-card { min-width:0; display:flex; flex-direction:column; background:#fff; border-right:1px solid var(--ipm-line-light); border-bottom:1px solid var(--ipm-line-light); }
.ipm-patent-card[hidden] { display:none; }
.ipm-patent-image { aspect-ratio:16/10; overflow:hidden; background:#dfe5e2; border-bottom:1px solid var(--ipm-line-light); }
.ipm-patent-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.ipm-patent-card:hover img { transform:scale(1.035); }
.ipm-patent-body { min-height:295px; padding:25px; display:flex; flex-direction:column; }
.ipm-patent-body h3 { margin:20px 0 15px; font-size:20px; font-weight:500; line-height:1.5; }
.ipm-patent-body p { margin:0 0 18px; color:#677373; font-size:11px; line-height:1.8; }
.ipm-patent-owner { margin-top:auto!important; padding-top:14px; color:#183031!important; border-top:1px solid var(--ipm-line-light); font-size:10px!important; }
.ipm-patent-tags { margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; list-style:none; }
.ipm-patent-tags li { padding:4px 7px; color:#087f80; background:#e2f2ef; font-size:8px; }
.ipm-pickup-actions { max-width:var(--ipm-max); margin:34px auto 0; display:flex; justify-content:center; }
.ipm-pickup-actions button { min-width:260px; min-height:54px; color:var(--ipm-aqua); background:var(--ipm-ink); border:1px solid var(--ipm-aqua); font-size:11px; font-weight:700; letter-spacing:.07em; cursor:pointer; }
.ipm-pickup-actions a { color:#087f80; font:10px ui-monospace,Menlo,monospace; }
.ipm-tag-cloud { max-width:var(--ipm-max); margin:60px auto 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; list-style:none; }
.ipm-tag-cloud a { padding:8px 12px; display:block; color:var(--ipm-aqua-soft); border:1px solid rgba(0,183,183,.35); font-size:10px; text-decoration:none; }
.ipm-simple-grid { border-color:rgba(255,255,255,.2); }
.ipm-simple-grid article { min-height:260px; padding:30px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
.ipm-simple-grid h3 { margin:44px 0 18px; color:#fff; font-size:24px; font-weight:500; }
.ipm-simple-grid p { color:rgba(255,255,255,.52); font-size:11px; }
.ipm-contact { min-height:620px; padding:clamp(90px,10vw,150px) clamp(20px,7vw,116px); color:#fff; background:radial-gradient(circle at 75% 50%,rgba(0,183,183,.16),transparent 35%),var(--ipm-ink); }
.ipm-contact h2 { margin:0; font-size:clamp(58px,9vw,138px); font-weight:500; line-height:.94; letter-spacing:-.08em; }
.ipm-contact p { color:rgba(255,255,255,.6); }
.ipm-contact-actions { margin-top:50px; display:flex; flex-wrap:wrap; gap:16px; }
.ipm-outline { color:#fff; background:transparent; border-color:rgba(255,255,255,.45); }
@keyframes ipm-pixel-reveal { from{opacity:0;transform:translateX(-15px)} to{opacity:1;transform:none} }
@media (max-width:1100px) { .ipm-pickup-grid{grid-template-columns:repeat(2,1fr)} .ipm-product-grid{grid-template-columns:1fr 1fr}.ipm-product-card:last-child{grid-column:1/-1} }
@media (max-width:760px) {
  .ipm-hero{min-height:720px;height:100svh}.ipm-hero-topline{top:86px;left:18px;right:18px}.ipm-hero-topline span:last-child{display:none}
  .ipm-hero-copy{top:24%;left:20px;right:20px}.ipm-hero h1{font-size:clamp(48px,15vw,72px)}.ipm-hero-actions{left:20px;right:20px;bottom:88px;flex-direction:column;align-items:stretch;gap:16px}
  .ipm-primary{width:100%}.ipm-hero-index{display:none}.ipm-proof{grid-template-columns:1fr 1fr}.ipm-proof div{min-height:125px}
  .ipm-section-head{grid-template-columns:1fr;gap:28px}.ipm-section-head h2{font-size:clamp(32px,10vw,48px)}.ipm-product-grid,.ipm-pickup-grid,.ipm-simple-grid{grid-template-columns:1fr}
  .ipm-product-card,.ipm-product-card:last-child{min-height:450px;grid-column:auto}.ipm-product-card:hover{transform:none;box-shadow:none}.ipm-patent-body{min-height:270px}.ipm-contact{min-height:570px}.ipm-contact h2{font-size:clamp(40px,12vw,58px)}
}
