/* /about, /contact, /app and the legal pages (Part 3 redesign).
   Loaded only on those pages, after /company.css (buttons, eyebrow,
   number tiles). Markup: api/info_pages.php. */
.ip-main .tt-crumbs{margin-bottom:6px}
.ip{--ip-card:radial-gradient(120% 140% at 0% 0%,#22282F 0%,#14181D 45%,#0D1014 100%);--ip-card-sh:inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 0 1px rgba(255,255,255,.05),0 50px 80px -40px rgba(0,0,0,.9)}
[data-theme=light] .ip{--ip-card:radial-gradient(130% 150% at 0% 0%,#FFFFFF 0%,#F4F2ED 50%,#E9E5DC 100%);--ip-card-sh:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(23,24,26,.08),0 44px 60px -40px rgba(60,48,30,.45)}
.ip-h1{font:600 58px/1.04 var(--fd);letter-spacing:-.01em;margin:18px 0;color:var(--text);text-wrap:balance}
.ip-h1--doc{font-size:48px;margin:14px 0 8px}
.ip-h2{font:600 38px/1.08 var(--fd);margin:12px 0 26px;color:var(--text);text-wrap:balance}
.ip-hero{grid-template-columns:minmax(0,1fr) 500px;gap:48px;padding:30px 0 40px}
.ip a:not(.cpg-btn):not(.ip-ch):not(.ip-nc):not(.ip-more):not(.ip-wr){color:var(--rb)}
.ip-prose a,.ip-sec a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ---------- about: logo plate with the six products ---------- */
.ip-globe{position:relative;height:440px;perspective:1300px}
.ip-plate{position:absolute;inset:40px 30px;border-radius:30px;transform:rotateY(-18deg) rotateX(12deg);background:var(--ip-card);box-shadow:var(--ip-card-sh);overflow:hidden}
.ip-plate:before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px);background-size:34px 34px}
.ip-core{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:40px;display:grid;place-items:center;background:linear-gradient(155deg,#E2353B,#7A1216);box-shadow:0 30px 60px -20px rgba(217,40,46,.8),inset 0 1px 0 rgba(255,255,255,.35);transform:rotateY(-18deg) rotateX(12deg);animation:ipFloat 7s ease-in-out infinite}
@keyframes ipFloat{50%{transform:rotateY(-12deg) rotateX(9deg) translateY(-8px)}}
.ip-orb{position:absolute;display:flex;align-items:center;gap:9px;height:46px;padding:0 14px 0 6px;border-radius:13px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border),0 18px 30px -14px rgba(0,0,0,.75);white-space:nowrap}
[data-theme=light] .ip-orb{background:#fff;box-shadow:inset 0 0 0 1px var(--border),0 16px 26px -14px rgba(60,48,30,.45)}
.ip-orb .ip-pico{width:34px;height:34px;border-radius:9px;flex:none}
.ip-orb b{font:600 14px var(--fu);color:var(--text)}
.ip-orb small{font:500 11px var(--fm);color:var(--faint)}
.ip-orb--0{left:0;top:96px}.ip-orb--1{right:0;top:44px}.ip-orb--2{left:16px;bottom:74px}
.ip-orb--3{right:4px;bottom:120px}.ip-orb--4{left:38%;bottom:12px}.ip-orb--5{left:34%;top:6px}

/* ---------- about: pillars, story, network, band ---------- */
.ip-pill3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;perspective:1200px}
.ip-p3{position:relative;padding:28px 26px;border-radius:16px;background:linear-gradient(160deg,var(--surface),var(--bg2));box-shadow:inset 0 0 0 1px var(--border),0 30px 50px -36px rgba(0,0,0,.9);transform:rotateX(6deg);transform-origin:50% 100%;transition:transform .4s var(--ease)}
.ip-p3:hover{transform:rotateX(0) translateY(-4px)}
.ip-p3 em{font:italic 700 46px/1 var(--fd);color:transparent;-webkit-text-stroke:1.2px var(--faint)}
.ip-p3 h3{font:700 22px var(--fd);margin:14px 0 8px;color:var(--text)}
.ip-p3 p{color:var(--dim);font-size:14.5px;line-height:1.6}
.ip-p3-ic{position:absolute;right:22px;top:24px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(155deg,#E2353B,#7A1216);box-shadow:0 14px 24px -10px rgba(217,40,46,.7),inset 0 1px 0 rgba(255,255,255,.3)}
.ip-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.ip-prose p{font-size:16.5px;line-height:1.75;color:var(--dim);margin:0 0 16px}
.ip-prose h3{font:700 21px var(--fd);color:var(--text);margin:26px 0 10px}
.ip-sh{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.ip-sh .ip-h2{margin-bottom:26px}
.ip-more{display:inline-flex;align-items:center;gap:8px;margin-bottom:30px;font:600 14px var(--fu);color:var(--text)}
.ip-more:hover{color:var(--rb)}
.ip-net{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ip-nc{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border);color:var(--text);transition:box-shadow .2s,transform .2s}
.ip-nc:hover{box-shadow:inset 0 0 0 1px var(--faint);transform:translateY(-2px)}
.ip-nc .ip-pico{width:44px;height:44px;border-radius:11px}
.ip-nc b{display:block;font:600 15px var(--fu)}.ip-nc small{font:500 12px var(--fm);color:var(--faint)}
.ip-nc>svg:last-child{color:var(--faint)}
.ip-nc[aria-current]{box-shadow:inset 0 0 0 1.5px var(--rb)}
.ip-band{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:36px 40px;border-radius:20px;background:radial-gradient(80% 140% at 100% 0%,rgba(217,40,46,.28),transparent 60%),linear-gradient(160deg,#161A20,#0D1014);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);color:#fff}
.ip-band h2{font:600 32px/1.1 var(--fd);color:#fff}.ip-band p{color:rgba(255,255,255,.7);margin-top:8px}
.ip-band .cpg-ctas{margin-top:0}

/* ---------- contact ---------- */
.ip-ct{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:48px;align-items:start;padding:30px 0 20px}
.ip-chs{display:grid;gap:12px;margin-top:30px}
.ip-ch{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border-radius:14px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border);color:var(--text);transition:box-shadow .2s,transform .2s}
.ip-ch:hover{box-shadow:inset 0 0 0 1px var(--faint);transform:translateX(3px)}
.ip-ch-ic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--s2);box-shadow:inset 0 0 0 1px var(--border);color:var(--rb)}
.ip-ch b{display:block;font:600 15px var(--fu)}.ip-ch small{display:block;font:500 12.5px var(--fm);color:var(--faint);overflow:hidden;text-overflow:ellipsis}
.ip-ch em{display:inline-flex;align-items:center;gap:6px;font:600 12.5px var(--fu);font-style:normal;color:var(--dim)}
.ip-form{padding:30px;border-radius:20px;background:radial-gradient(80% 100% at 100% 0%,rgba(217,40,46,.14),transparent 60%),var(--bg2);box-shadow:inset 0 0 0 1px var(--border),0 40px 70px -40px rgba(0,0,0,.9)}
.ip-form h2{font:600 26px var(--fd);color:var(--text)}.ip-form>p{color:var(--faint);font-size:13.5px;margin:6px 0 18px}
.ip-topics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;border:0}
.ip-topic{position:relative;cursor:pointer}
.ip-topic input{position:absolute;opacity:0;pointer-events:none}
.ip-topic span{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;font:500 13px var(--fu);color:var(--dim);box-shadow:inset 0 0 0 1px var(--border);transition:background .2s,color .2s}
.ip-topic input:checked+span{color:#fff;background:#B81F24;box-shadow:none}
.ip-topic input:focus-visible+span{outline:2px solid var(--rb);outline-offset:2px}
.ip-g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ip-f{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}
.ip-f label{font:500 12.5px var(--fu);color:var(--dim)}.ip-f label span{color:var(--faint)}
.ip-f input,.ip-f textarea{width:100%;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:500 15px var(--fu);padding:0 14px;height:48px;outline:none;transition:border-color .2s,box-shadow .2s}
.ip-f textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical;line-height:1.55}
.ip-f input:focus,.ip-f textarea:focus{border-color:var(--rb);box-shadow:0 0 0 3px color-mix(in srgb,var(--rb) 22%,transparent)}
.ip-form .cpg-btn{width:100%;margin-top:4px}
.ip-status{min-height:20px;margin-top:12px;font:500 13px/1.5 var(--fu);color:var(--dim)}
.ip-status:empty{min-height:0;margin:0}
.ip-status.is-ok{color:var(--gb)}.ip-status.is-err{color:var(--rb)}

/* ---------- app ---------- */
.ip-ben{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ip-ben li{display:flex;gap:10px;align-items:center;padding:14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--border-soft);font-size:14px;color:var(--dim)}
.ip-ben svg{color:var(--gb);flex:none}
.ip-phone{position:relative;height:480px;perspective:1400px}
.ip-ph{position:absolute;left:50%;top:10px;width:232px;height:462px;margin-left:-116px;border-radius:40px;padding:12px;background:linear-gradient(160deg,#2A3038,#0C0F13);box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 60px 90px -40px rgba(0,0,0,.95);transform:rotateY(-22deg) rotateX(10deg) rotateZ(-3deg);animation:ipPh 7s ease-in-out infinite}
@keyframes ipPh{50%{transform:rotateY(-16deg) rotateX(8deg) rotateZ(-2deg) translateY(-8px)}}
.ip-ph-s{height:100%;border-radius:30px;background:radial-gradient(120% 80% at 50% 0%,#20262E,#0B0F12);overflow:hidden;padding:46px 16px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 12px;align-content:start}
.ip-ph-s i{position:relative;aspect-ratio:1;border-radius:12px;background:rgba(255,255,255,.07)}
.ip-ph-s i.tt{display:grid;place-items:center;background:linear-gradient(155deg,#E2353B,#7A1216);box-shadow:0 0 0 2px #fff,0 12px 22px -6px rgba(217,40,46,.9);transform:scale(1.12)}
.ip-ph-s i.tt small{position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);font:600 8.5px var(--fu);color:#fff;white-space:nowrap}
.ip-badge{position:absolute;right:6px;top:84px;display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border),0 22px 40px -16px rgba(0,0,0,.9);font:600 13px var(--fu);color:var(--text)}
[data-theme=light] .ip-badge{background:#fff}
.ip-badge i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--gb);color:#fff}
.ip-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border);margin:0 0 18px}
.ip-seg button{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:0;border-radius:9px;background:none;font:600 13.5px var(--fu);color:var(--dim);cursor:pointer}
.ip-seg button[aria-selected=true]{background:var(--s2);color:var(--text);box-shadow:0 0 0 1px var(--border)}
.ip-seg button:focus-visible{outline:2px solid var(--rb);outline-offset:1px}
.ip-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:none}
.ip-steps[hidden]{display:none}
.ip-st{padding:20px;border-radius:14px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border)}
.ip-st em{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--s2);font:700 13px var(--fm);font-style:normal;color:var(--rb);box-shadow:inset 0 0 0 1px var(--border)}
.ip-st b{display:block;margin:14px 0 6px;font:600 15px var(--fu);color:var(--text)}.ip-st p{font-size:13.5px;color:var(--dim);line-height:1.55}

/* ---------- legal ---------- */
.ip-lg{display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;align-items:start;padding:24px 0 10px}
.ip-toc{position:sticky;top:96px;padding:18px;border-radius:14px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border)}
.ip-toc summary{display:block;list-style:none;font:600 10.5px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;pointer-events:none}
.ip-toc summary::-webkit-details-marker{display:none}
.ip-toc ol{list-style:none;margin:0;padding:0}
.ip-toc a{display:flex;gap:10px;padding:8px 10px;border-radius:8px;font:500 13.5px/1.35 var(--fu);color:var(--dim)!important;text-decoration:none!important}
.ip-toc a:hover{color:var(--text)!important}
.ip-toc a em{font:500 11px/1.6 var(--fm);font-style:normal;color:var(--faint);width:18px;flex:none}
.ip-toc a.on{background:var(--s2);color:var(--text)!important;box-shadow:inset 2px 0 0 #D9282E}
.ip-doc{min-width:0;max-width:820px}
.ip-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}
.ip-tabs a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;font:600 13px var(--fu);color:var(--dim)!important;text-decoration:none!important;box-shadow:inset 0 0 0 1px var(--border)}
.ip-tabs a:hover{color:var(--text)!important;box-shadow:inset 0 0 0 1px var(--faint)}
.ip-tabs a[aria-current]{background:var(--text);color:var(--bg)!important;box-shadow:none}
.ip-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 12px var(--fm);color:var(--faint);margin:0 0 26px}
.ip-tldr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:30px}
.ip-tldr div{padding:18px;border-radius:14px;background:linear-gradient(160deg,var(--surface),var(--bg2));box-shadow:inset 0 0 0 1px var(--border)}
.ip-tldr svg{color:var(--gb)}
.ip-tldr b{display:block;font:600 14.5px var(--fu);margin:10px 0 4px;color:var(--text)}.ip-tldr p{font-size:13px;color:var(--dim);line-height:1.5}
.ip-sec{padding:24px 0 6px;border-top:1px solid var(--border-soft);scroll-margin-top:96px}
.ip-sec h2{display:flex;gap:12px;align-items:baseline;font:600 23px/1.25 var(--fd);margin:0 0 12px;color:var(--text)}
.ip-sec h2 em{font:600 12px var(--fm);font-style:normal;color:var(--rb);flex:none}
.ip-sec p,.ip-sec li{color:var(--dim);line-height:1.75;font-size:15.5px}
.ip-sec p{margin:0 0 14px}
.ip-sec ul{margin:0 0 14px;padding-left:20px;list-style:disc}
.ip-sec li::marker{color:var(--rb)}
.ip-sec li{margin-bottom:6px}
.ip-sec strong{color:var(--text)}

/* ---------- team ---------- */
.ip-th{text-align:center;padding:26px 0 34px}
.ip-th .cpg-lead{margin:0 auto}
.ip-tsec{padding:0 0 40px}
.ip-h3{font:600 26px var(--fd);color:var(--text);margin:0 0 18px}
.ip-team .nx-tg{perspective:1400px}
.ip-team .nx-tm{transition:transform .45s var(--ease)}
@media (hover:hover){.ip-team .nx-tm:hover{transform:rotateY(-6deg) rotateX(5deg) translateY(-6px)}}
.ip-wrs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ip-wr{display:flex;gap:16px;align-items:flex-start;padding:18px;border-radius:16px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border);color:var(--text);transition:box-shadow .2s,transform .2s}
.ip-wr:hover{box-shadow:inset 0 0 0 1px var(--faint);transform:translateY(-2px)}
.ip-wr>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.ip-wr b{font:600 19px var(--fd)}
.ip-wr em{font:600 11px var(--fm);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--rb)}
.ip-wr small{font-size:14px;line-height:1.55;color:var(--dim)}
.ip-wr i{font:600 12.5px var(--fm);font-style:normal;color:var(--dim);margin-top:4px}
.ip-band p strong{color:#fff}
@media (max-width:640px){
  .ip-team .nx-tg{display:grid;grid-template-columns:minmax(0,1fr);margin-right:0;padding-right:0;overflow:visible}
  .ip-team .nx-tg>.nx-tm{flex:none}
  .ip-wrs{grid-template-columns:minmax(0,1fr)}
}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .ip-hero{grid-template-columns:minmax(0,1fr) 400px;gap:32px}
  .ip-ct{grid-template-columns:minmax(0,1fr) 440px;gap:32px}
  .ip-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-net{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-orb small{display:none}
}
@media (max-width:900px){
  .ip-hero,.ip-ct,.ip-split,.ip-lg{grid-template-columns:minmax(0,1fr)}
  .ip-hero{gap:6px;padding-top:10px}
  .ip-globe,.ip-phone{order:-1}
  .ip-globe{height:330px;max-width:520px;width:100%;margin:0 auto}
  .ip-plate{inset:30px 10px}
  .ip-core{width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:32px}.ip-core svg{width:62px;height:auto}
  .ip-phone{height:380px}.ip-ph{scale:.8;top:-30px}
  .ip-badge{right:0;top:60px}
  .ip-h1{font-size:40px}.ip-h1--doc{font-size:36px}.ip-h2{font-size:30px}
  .ip-toc{position:static;padding:0}
  .ip-toc summary{pointer-events:auto;cursor:pointer;margin:0;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}
  .ip-toc summary:after{content:"";width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .2s}
  .ip-toc[open] summary:after{transform:rotate(-135deg)}
  .ip-toc ol{padding:0 8px 10px}
  .ip-split{gap:0}
  .ip-lg{gap:18px;padding-top:12px}
  .ip-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-20px;padding-right:20px}
  .ip-tabs::-webkit-scrollbar{display:none}
  .ip-tabs a{flex:none}
  .ip-ct{gap:28px}
}
@media (max-width:640px){
  .ip-orb{height:40px;padding:0 10px 0 5px;gap:7px}.ip-orb .ip-pico{width:28px;height:28px}.ip-orb b{font-size:13px}
  .ip-orb--0{top:70px}.ip-orb--1{top:30px}.ip-orb--2{bottom:60px}.ip-orb--3{bottom:96px}.ip-orb--4{left:30%;bottom:6px}.ip-orb--5{left:26%;top:0}
  .ip-pill3,.ip-net,.ip-ben,.ip-tldr,.ip-steps,.ip-g2{grid-template-columns:minmax(0,1fr)}
  .ip-p3{transform:none}
  .ip-sh{flex-direction:column;align-items:flex-start;gap:0}.ip-more{margin:-10px 0 20px}
  .ip-band{padding:26px 22px}.ip-band h2{font-size:26px}
  .ip-form{padding:22px 18px}
  .ip-ch{padding:14px;grid-template-columns:44px minmax(0,1fr)}.ip-ch-ic{width:44px;height:44px}.ip-ch em{display:none}
  .ip-seg{display:flex}.ip-seg button{flex:1;justify-content:center;padding:0 8px;font-size:12.5px}
  .cpg-kp{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.ip-core,.ip-ph{animation:none}}
