/* /planir — page-specific styles. Planir brand hues: data #4FDBDB, model #69A3FF, AI #B169FE. */
.pl{--pl-data:#4FDBDB;--pl-model:#69A3FF;--pl-ai:#B169FE;--pl-ink:#fff;--pl-body:#E3E8F7;--pl-muted:#AEB9DE;--pl-line:rgba(189,200,242,.18);--pl-navy:#000b33}
:where(.pl) p{margin:0}
.pl strong{color:var(--pl-ink)}

/* Hero: darken the bright gradient so body copy holds contrast */
.pl-hero{overflow:hidden}
.pl-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,11,51,.25) 0%,rgba(0,11,51,.55) 45%,rgba(0,11,51,.92) 100%)}
.pl-hero .navbar{z-index:20}
.pl-hero-inner{position:relative;z-index:1;max-width:980px;margin:0 auto;text-align:center;padding-top:24px}
.pl-logo{display:block;height:48px;width:auto;margin:0 auto 20px}
.pl-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid rgba(255,255,255,.28);border-radius:999px;
  background:rgba(255,255,255,.08);font:600 12px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.pl-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pl-data)}
.pl-h1{margin:22px 0 0;font:600 clamp(34px,5.2vw,60px)/1.08 Inter,sans-serif;letter-spacing:-.02em;color:#fff}
.pl-h1 .pl-grad{background:linear-gradient(90deg,var(--pl-data),var(--pl-model) 50%,var(--pl-ai));-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-lead{max-width:760px;margin:22px auto 0;font:400 clamp(17px,1.6vw,20px)/1.6 Inter,sans-serif;color:var(--pl-body)}
.pl-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:34px}
.pl-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:8px;font:600 16px/1 Inter,sans-serif;text-decoration:none;transition:transform .15s,background-color .15s,border-color .15s}
.pl-btn:hover{transform:translateY(-1px)}
.pl-btn.is-primary{background:#fff;color:#000b33}
.pl-btn.is-primary:hover{background:#E6ECFF}
.pl-btn.is-ghost{border:1px solid rgba(255,255,255,.45);color:#fff}
.pl-btn.is-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.pl-btn:focus-visible,.pl-hex:focus-visible{outline:2px solid var(--pl-data);outline-offset:3px}
.pl-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:30px 0 0;padding:0;list-style:none;font:500 14px/1.3 Inter,sans-serif;color:var(--pl-body)}
.pl-proof li{display:flex;align-items:center;gap:8px}
.pl-proof li::before{content:"✓";color:var(--pl-data);font-weight:700}

/* Layer stack (hero) */
.pl-stack{position:relative;z-index:1;max-width:1040px;margin:56px auto 0;display:grid;gap:10px;text-align:left}
.pl-out{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:6px}
.pl-out span{padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);font:600 13px/1 Inter,sans-serif;color:#fff;letter-spacing:.02em}
.pl-slab{--c:var(--pl-data);display:grid;grid-template-columns:240px 1fr;align-items:center;gap:20px;padding:18px 22px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--c) 55%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 22%,rgba(0,11,51,.85)),rgba(0,11,51,.78));
  box-shadow:0 10px 30px rgba(0,0,0,.25)}
.pl-slab.is-ai{--c:var(--pl-ai)}
.pl-slab.is-model{--c:var(--pl-model);margin:0 18px}
.pl-slab.is-data{--c:var(--pl-data);margin:0 36px}
.pl-slab-name{display:flex;align-items:center;gap:12px}
.pl-slab-num{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--c);color:#000b33;font:700 13px/1 Inter,sans-serif}
.pl-slab-title{font:600 17px/1.2 Inter,sans-serif;color:#fff}
.pl-slab-sub{font:400 13px/1.3 Inter,sans-serif;color:var(--pl-body);margin-top:3px}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px}
.pl-chips span{padding:7px 11px;border-radius:6px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font:500 13px/1.1 Inter,sans-serif;color:#fff}

/* Generic section furniture */
.pl-sec{position:relative;padding:96px 0;background:var(--pl-navy)}
.pl-sec.is-alt{background:linear-gradient(180deg,#000b33 0%,#04134a 100%)}
.pl-eyebrow{font:600 13px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--pl-data);margin-bottom:14px}
.pl-h2{text-wrap:balance;margin:0;font:600 clamp(28px,3.4vw,42px)/1.15 Inter,sans-serif;letter-spacing:-.015em;color:#fff}
.pl-intro{max-width:760px}
.pl-intro.is-center{margin:0 auto;text-align:center}
.pl-intro p{margin-top:18px;font:400 18px/1.65 Inter,sans-serif;color:var(--pl-body)}

/* EPM + BI convergence */
.pl-conv{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.pl-col{padding:32px;border-radius:16px;border:1px solid var(--pl-line);background:rgba(255,255,255,.03)}
.pl-col.is-new{border-color:rgba(105,163,255,.55);background:linear-gradient(160deg,rgba(105,163,255,.16),rgba(177,105,254,.10));box-shadow:0 20px 50px rgba(0,0,0,.3)}
.pl-col-tag{display:inline-block;margin-bottom:10px;font:600 12px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--pl-muted)}
.pl-col.is-new .pl-col-tag{color:var(--pl-data)}
.pl-col h3{margin:0 0 18px;font:600 22px/1.3 Inter,sans-serif;color:#fff}
.pl-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.pl-list li{position:relative;padding-left:30px;font:400 16px/1.55 Inter,sans-serif;color:var(--pl-body)}
.pl-list li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;
  background:rgba(174,185,222,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M6 6l6 6M12 6l-6 6' stroke='%23AEB9DE' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat}
.pl-col.is-new .pl-list li::before{background:var(--pl-data) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%23000b33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.pl-pedigree{display:flex;gap:20px;align-items:center;margin-top:40px;padding:24px 28px;border-radius:14px;border:1px solid var(--pl-line);background:rgba(255,255,255,.03)}
.pl-pedigree img{flex:none;height:34px;width:auto}
.pl-pedigree p{font:400 16px/1.6 Inter,sans-serif;color:var(--pl-body)}
.pl-pedigree a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Three layers detail */
.pl-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.pl-layer{--c:var(--pl-data);position:relative;display:flex;flex-direction:column;padding:32px 28px;border-radius:16px;
  border:1px solid var(--pl-line);background:rgba(255,255,255,.035);overflow:hidden}
.pl-layer::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--c)}
.pl-layer.is-model{--c:var(--pl-model)}
.pl-layer.is-ai{--c:var(--pl-ai)}
.pl-layer-num{font:700 13px/1 Inter,sans-serif;letter-spacing:.12em;color:var(--c);text-transform:uppercase}
.pl-layer h3{margin:12px 0 8px;font:600 24px/1.2 Inter,sans-serif;color:#fff}
.pl-layer-tag{font:500 16px/1.5 Inter,sans-serif;color:var(--pl-body);margin-bottom:22px}
.pl-layer .pl-list li{font-size:15px}
.pl-layer .pl-list li::before{background:color-mix(in srgb,var(--c) 22%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.pl-layer-foot{margin-top:auto;padding-top:24px}
.pl-layer-foot a{font:600 15px/1 Inter,sans-serif;color:#fff;text-decoration:none;border-bottom:1px solid var(--c);padding-bottom:3px}

/* Honeycomb of user groups */
.pl-hive{--w:150px;display:grid;grid-template-columns:repeat(10,calc(var(--w)/2));justify-content:center;margin:64px auto 0}
.pl-hex{--c:var(--pl-data);position:relative;grid-column-end:span 2;justify-self:center;width:calc(var(--w) - 6px);aspect-ratio:1/1.1547;margin-bottom:calc(var(--w)*-0.2887 + 4px);
  display:grid;place-items:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:color-mix(in srgb,var(--c) 70%,transparent);transition:transform .2s ease;text-decoration:none}
.pl-hex::before{content:"";position:absolute;inset:2px;clip-path:inherit;background:linear-gradient(170deg,color-mix(in srgb,var(--c) 26%,#081a5a),#04103f)}
.pl-hex:hover{transform:scale(1.06);z-index:2}
.pl-hex.is-fin{--c:var(--pl-model)}
.pl-hex.is-ops{--c:var(--pl-data)}
.pl-hex.is-ai{--c:var(--pl-ai)}
.pl-hex-ai{display:inline-block;margin-bottom:6px;padding:3px 7px;border-radius:999px;background:rgba(177,105,254,.25);border:1px solid rgba(177,105,254,.6);font:700 10px/1 Inter,sans-serif;letter-spacing:.08em;color:#E6D2FF}
.pl-hex-body{position:relative;padding:0 18px;text-align:center}
.pl-hex-role{display:block;font:600 14px/1.2 Inter,sans-serif;color:#fff;text-wrap:balance}
.pl-hex-line{display:block;margin-top:6px;font:400 12px/1.3 Inter,sans-serif;color:var(--pl-body)}
.pl-hex.is-core{background:linear-gradient(135deg,var(--pl-data),var(--pl-model),var(--pl-ai))}
.pl-hex.is-core::before{background:#000b33;inset:3px}
.pl-hex.is-core img{position:relative;width:74%;height:auto}
.pl-hex.is-core:hover{transform:none}
/* desktop rows 4 / 5 / 4 */
.pl-hive>:nth-child(1),.pl-hive>:nth-child(10){grid-column-start:2}
.pl-hive>:nth-child(5){grid-column-start:1}
.pl-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:88px 0 0;padding:0;list-style:none;font:500 14px/1 Inter,sans-serif;color:var(--pl-body)}
.pl-legend li{display:flex;align-items:center;gap:8px}
.pl-legend i{width:12px;height:12px;border-radius:3px;background:var(--c)}

/* Proof */
.pl-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--pl-line);border-bottom:1px solid var(--pl-line)}
.pl-stat{padding:32px 24px;text-align:center}
.pl-stat+.pl-stat{border-left:1px solid var(--pl-line)}
.pl-stat .why-stat-value{font:600 clamp(36px,4vw,52px)/1 Inter,sans-serif;color:#fff;letter-spacing:-.02em}
.pl-stat-label{margin-top:10px;font:400 15px/1.4 Inter,sans-serif;color:var(--pl-body)}
.pl-proof-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin-top:40px}
.pl-quote{margin:0;padding:36px;border-radius:16px;background:linear-gradient(150deg,rgba(79,219,219,.14),rgba(105,163,255,.10));border:1px solid rgba(79,219,219,.35)}
.pl-quote{display:flex;flex-direction:column;text-align:left}
.pl-quote-big{font:600 clamp(36px,4vw,52px)/1 Inter,sans-serif;letter-spacing:-.02em;color:#fff}
.pl-quote-big span{color:var(--pl-data)}
.pl-quote-metric{margin-top:10px;font:600 13px/1.4 Inter,sans-serif;color:var(--pl-data);letter-spacing:.1em;text-transform:uppercase}
.pl-quote blockquote{margin:28px 0 22px;padding:0;border:0;font:500 clamp(20px,2vw,24px)/1.45 Inter,sans-serif;color:#fff}
.pl-quote figcaption{margin-top:auto;text-align:left;font:400 15px/1.5 Inter,sans-serif;color:var(--pl-body)}
.pl-quote figcaption strong{display:block}
.pl-sec-list{display:grid;gap:18px;padding:32px;border-radius:16px;border:1px solid var(--pl-line);background:rgba(255,255,255,.03)}
.pl-sec-item{font:400 15px/1.6 Inter,sans-serif;color:var(--pl-body)}
.pl-sec-item strong{display:block;margin-bottom:2px;font-size:16px}

/* Steps */
.pl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;counter-reset:step}
.pl-step{position:relative;padding:28px 24px;border-radius:14px;border:1px solid var(--pl-line);background:rgba(255,255,255,.03)}
.pl-step-num{font:700 14px/1 Inter,sans-serif;color:var(--pl-model);letter-spacing:.08em}
.pl-step h3{margin:14px 0 10px;font:600 19px/1.3 Inter,sans-serif;color:#fff}
.pl-step p{font:400 15px/1.6 Inter,sans-serif;color:var(--pl-body)}

/* FAQ + related tweaks on this page */
.pl .faq-answer{color:var(--pl-body)}
.pl .faq-answer a{color:#9CC2FF}
.planir-page .related-card .related-kicker{opacity:.8}
.planir-page .related-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}

/* Responsive */
@media (max-width:991px){
  .pl-sec{padding:80px 0}
  .pl-layers{grid-template-columns:1fr}
  .pl-steps{grid-template-columns:1fr 1fr}
  .pl-proof-grid{grid-template-columns:1fr}
  .pl-hive{--w:128px}
  .pl-hex-line{font-size:11px}
}
@media (max-width:767px){
  .pl-sec{padding:64px 0}
  .pl-ctas{flex-direction:column;align-items:center}
  .pl-btn{width:100%;max-width:340px;justify-content:center}
  .pl-conv{grid-template-columns:1fr}
  .pl-col{padding:24px}
  .pl-slab{grid-template-columns:1fr;gap:12px;padding:16px}
  .pl-slab.is-model,.pl-slab.is-data{margin:0}
  .pl-stats{grid-template-columns:1fr}
  .pl-stat+.pl-stat{border-left:0;border-top:1px solid var(--pl-line)}
  .pl-steps{grid-template-columns:1fr}
  .pl-pedigree{flex-direction:column;align-items:flex-start}
  .pl-quote,.pl-sec-list{padding:24px}
  /* honeycomb reflows to rows of 3 / 2 / 3 / 2 / 3 */
  .pl-hive{--w:min(118px,calc((100vw - 40px)/3));grid-template-columns:repeat(6,calc(var(--w)/2))}
  .pl-hive>*{grid-column-start:auto}
  .pl-hive>:nth-child(1),.pl-hive>:nth-child(6),.pl-hive>:nth-child(11){grid-column-start:1}
  .pl-hive>:nth-child(4),.pl-hive>:nth-child(9){grid-column-start:2}
  .pl-hive>:nth-child(5),.pl-hive>:nth-child(10){grid-column-start:4}
  .pl-hex-body{padding:0 10px}
  .pl-hex-role{font-size:12px}
  .pl-hex-line{display:none}
  .pl-hex-ai{margin-bottom:4px;padding:2px 5px;font-size:9px}
}
@media (prefers-reduced-motion:reduce){
  .pl-btn,.pl-hex{transition:none}
  .pl-btn:hover,.pl-hex:hover{transform:none}
}
