/* New homepage blocks: deep case, process, portal, pricing, FAQ, contact */
.hb{padding:84px 48px;font-family:'Geist',Inter,ui-sans-serif,sans-serif;color:#0A0A0F}
.hb-in{max-width:1120px;margin:0 auto}
.hb-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#0055FF;margin-bottom:14px}
.hb-h2{font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.06;margin:0 0 14px;max-width:760px;text-wrap:balance}
.hb-sub{font-size:17px;line-height:1.55;color:#4b5563;max-width:660px;margin:0 0 40px}
.hb-center{text-align:center}.hb-center .hb-h2,.hb-center .hb-sub{margin-left:auto;margin-right:auto}
.hb-btn{display:inline-flex;align-items:center;justify-content:center;background:#0055FF;color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:14px 28px;border-radius:12px;border:0;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s}
.hb-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,85,255,.28)}
.hb-btn.ghost{background:#fff;color:#0A0A0F;border:1px solid #dfe4ee}
.ph{outline:1.5px dashed #f5a524;outline-offset:2px;border-radius:6px}

/* deep case */
.cx{background:#fff}
.cx-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:26px}
.cx-tag{font-size:12px;font-weight:700;letter-spacing:.08em;background:#eaf1ff;color:#0055FF;padding:6px 12px;border-radius:99px}
.cx-top{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;margin-bottom:44px}
.cx-shot{background:#f1f4fa;border:1px solid #e3e8f2;border-radius:18px;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;color:#8d95a5;font-weight:600;text-align:center;padding:20px}
.cx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:48px}
.cx-stat{background:#f4f7fd;border-radius:16px;padding:22px 20px}
.cx-stat strong{display:block;font-size:clamp(28px,3.4vw,40px);font-weight:800;letter-spacing:-.03em;color:#0055FF}
.cx-stat span{font-size:14px;color:#4b5563}
.cx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:44px}
.cx-step{border:1px solid #e7ebf2;border-radius:16px;padding:24px}
.cx-step b{display:block;font-size:12px;letter-spacing:.12em;color:#0055FF;margin-bottom:8px}
.cx-step h3{font-size:19px;margin:0 0 8px;letter-spacing:-.02em}
.cx-step p{margin:0;font-size:15px;line-height:1.55;color:#4b5563}
.cx-quote{background:#0A0A0F;color:#fff;border-radius:20px;padding:34px 38px;font-size:20px;line-height:1.5}
.cx-quote small{display:block;margin-top:14px;font-size:14px;color:#9aa4b8}

/* process */
.pw{background:#F1F1F4}
.pw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pw-card{background:#fff;border-radius:18px;padding:26px 22px;position:relative}
.pw-n{width:38px;height:38px;border-radius:50%;background:#0055FF;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pw-card h3{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}
.pw-when{font-size:12px;font-weight:700;color:#0055FF;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.pw-card p{margin:0;font-size:15px;line-height:1.5;color:#4b5563}

/* portal showcase */
.pt{background:#fff}
.pt-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.pt-list{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px}
.pt-list li{padding-left:30px;position:relative;font-size:16px;line-height:1.5}
.pt-list li:before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#e4f6ec;color:#20bf74;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.pt-mock{background:linear-gradient(160deg,#eef3ff,#f7f9ff);border:1px solid #dfe7f7;border-radius:22px;padding:22px;box-shadow:0 24px 60px rgba(0,60,180,.12)}
.pt-bar{display:flex;gap:6px;margin-bottom:16px}.pt-bar i{width:10px;height:10px;border-radius:50%;background:#d4dbea}
.pt-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.pt-k{background:#fff;border-radius:14px;padding:14px}
.pt-k span{font-size:12px;color:#8d95a5}.pt-k strong{display:block;font-size:24px;letter-spacing:-.03em}
.pt-k em{font-style:normal;font-size:12px;font-weight:700;color:#20bf74}
.pt-chart{background:#fff;border-radius:14px;padding:14px}
.pt-chart svg{width:100%;height:110px;display:block}
.pt-feed{margin-top:12px;display:grid;gap:8px}
.pt-feed div{background:#fff;border-radius:12px;padding:10px 14px;font-size:14px;display:flex;justify-content:space-between;gap:10px}
.pt-feed span{color:#8d95a5}

/* pricing */
.pr{background:#F1F1F4}
.pr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pr-card{background:#fff;border-radius:18px;padding:26px 22px;display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid transparent;transition:border-color .15s,transform .15s}
.pr-card:hover{border-color:#0055FF;transform:translateY(-2px)}
.pr-card h3{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}
.pr-card .pr-p{font-size:30px;font-weight:800;letter-spacing:-.03em;margin:6px 0 2px}
.pr-card .pr-p small{font-size:14px;font-weight:600;color:#8d95a5}
.pr-card p{margin:10px 0 16px;font-size:14.5px;line-height:1.5;color:#4b5563;flex:1}
.pr-card b{color:#0055FF;font-size:14px}
.pr-note{margin-top:18px;font-size:14px;color:#6b7280}

/* faq */
.fq{background:#fff}
.fq-list{max-width:800px;margin:0 auto}
.fq-list details{border-bottom:1px solid #e7ebf2;padding:20px 0}
.fq-list summary{cursor:pointer;font-size:18px;font-weight:700;letter-spacing:-.015em;list-style:none;display:flex;justify-content:space-between;gap:16px}
.fq-list summary::-webkit-details-marker{display:none}
.fq-list summary:after{content:"+";font-size:24px;line-height:1;color:#0055FF}
.fq-list details[open] summary:after{content:"–"}
.fq-list details p{margin:12px 0 0;font-size:16px;line-height:1.6;color:#4b5563}

/* contact */
.ct{background:#0A0A0F;color:#fff}
.ct .hb-sub{color:#aab3c5}
.ct-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
.ct-info a{display:block;color:#fff;font-size:22px;font-weight:700;text-decoration:none;margin-bottom:10px}
.ct-info p{color:#aab3c5;font-size:15px;line-height:1.55;margin:18px 0 0}
.ct-form{background:#fff;color:#0A0A0F;border-radius:20px;padding:28px;display:grid;gap:14px}
.ct-form label{font-size:13px;font-weight:700;display:grid;gap:6px}
.ct-form input,.ct-form select,.ct-form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid #dfe4ee;border-radius:10px;background:#fff}
.ct-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-form small{color:#8d95a5;font-size:12px}
#ctMsg{font-size:14px;font-weight:600}

@media(max-width:900px){
  .hb{padding:52px 20px}
  .cx-top,.pt-grid,.ct-grid{grid-template-columns:1fr;gap:26px}
  .cx-stats,.pw-grid,.pr-grid{grid-template-columns:repeat(2,1fr)}
  .cx-steps{grid-template-columns:1fr}
  .cx-quote{padding:24px;font-size:17px}
}
@media(max-width:520px){
  .cx-stats,.pw-grid,.pr-grid,.ct-form .row{grid-template-columns:1fr}
  .pt-kpis{grid-template-columns:1fr 1fr 1fr}
}

.cx-shot{padding:0;overflow:hidden}
.cx-shot img{width:100%;height:100%;object-fit:cover;display:block}
.cx-table-wrap{margin-bottom:40px}
.cx-table-title{font-weight:800;font-size:20px;letter-spacing:-.02em;margin-bottom:14px}
.cx-table-title span{display:block;font-size:13px;font-weight:600;color:#8d95a5;letter-spacing:0;margin-top:2px}
.cx-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e7ebf2;border-radius:14px;overflow:hidden;font-size:15px}
.cx-table th{background:#f4f7fd;text-align:right;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;padding:12px 16px}
.cx-table td{text-align:right;padding:13px 16px;border-top:1px solid #eef1f6}
.cx-table th:first-child,.cx-table td:first-child{text-align:left}
.cx-table td:first-child{font-weight:600}
.cx-total td{background:#eaf1ff;font-weight:800;color:#0055FF}
.cx-src{font-size:12px;color:#8d95a5;margin:8px 0 0}
@media(max-width:520px){.cx-table{font-size:13px}.cx-table th,.cx-table td{padding:10px 8px}}

/* ===== sky/glass theme: no solid bands ===== */
.hb{background:transparent!important;padding:72px 48px}
.hb-h2{color:#0b1b3a}
.hb-eyebrow{display:inline-block;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(8px);padding:6px 14px;border-radius:99px;letter-spacing:.12em}
.hb-sub{color:#38507a}
.cx-stat,.cx-step,.pw-card,.pr-card,.pt-k,.pt-chart,.pt-feed div,.cx-table,.cx-shot,.fq-list,.ct-form,.cx-quote,.pt-mock,.cx-tag{
  background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:0 10px 34px rgba(30,80,170,.10)}
.cx-tag{box-shadow:none;color:#0b3fb5;padding:6px 12px}
.cx-stat,.cx-step,.pw-card,.pr-card{border-radius:22px;transition:transform .2s,box-shadow .2s}
.cx-stat:hover,.cx-step:hover,.pw-card:hover,.pr-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(30,80,170,.18)}
.cx-stat{padding:26px 22px}
.cx-stat strong{font-size:clamp(34px,4vw,52px);background:linear-gradient(135deg,#0055FF,#00b3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.cx-shot{border-radius:24px;padding:0;overflow:hidden}
.cx-quote{color:#0b1b3a;border-radius:24px;font-weight:600;position:relative}
.cx-quote:before{content:"“";position:absolute;top:-6px;left:22px;font-size:90px;line-height:1;color:#0055FF;opacity:.25}
.cx-quote small{color:#38507a}
.cx-table{background:rgba(255,255,255,.62);border-radius:20px}
.cx-table th{background:rgba(0,85,255,.07);color:#38507a}
.cx-table td{border-top:1px solid rgba(30,80,170,.08)}
.cx-total td{background:rgba(0,85,255,.12)}
.pw-n{background:linear-gradient(135deg,#0055FF,#00a2ff);box-shadow:0 6px 16px rgba(0,85,255,.35)}
.pt-mock{background:rgba(255,255,255,.4);border-radius:28px}
.pt-k,.pt-chart,.pt-feed div{background:rgba(255,255,255,.75);box-shadow:none}
.pt-list li:before{background:rgba(255,255,255,.85);box-shadow:0 2px 8px rgba(32,191,116,.25)}
.pr-card:hover{border-color:rgba(0,85,255,.5)}
.pr-card .pr-p{background:linear-gradient(135deg,#0b1b3a,#0055FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.fq-list{padding:6px 30px;border-radius:24px}
.fq-list details:last-child{border-bottom:0}
.fq-list summary{color:#0b1b3a}
.hb-btn{background:linear-gradient(135deg,#0055FF,#1a8cff);box-shadow:0 8px 22px rgba(0,85,255,.28)}
.hb-btn.ghost{background:rgba(255,255,255,.7)}
.ct{color:#0b1b3a}
.ct .hb-sub{color:#38507a}
.ct-info a{color:#0b1b3a}
.ct-info p{color:#38507a}
.ct-info .hb-eyebrow{color:#0055FF!important}
.ct-form{border-radius:26px;padding:30px;background:rgba(255,255,255,.7)}
.ct-form input,.ct-form select,.ct-form textarea{background:rgba(255,255,255,.9);border-color:rgba(30,80,170,.15)}
.ph{outline-color:rgba(245,165,36,.7)}
@media(max-width:900px){.hb{padding:44px 16px}}

/* pricing: strikethrough + small jobs */
.pr-card{position:relative}
.pr-save{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#20bf74,#12a05c);color:#fff;font-size:12px;font-weight:800;padding:5px 10px;border-radius:99px}
.pr-card h3{padding-right:78px}
.pr-old{font-size:13.5px;color:#6b7a99;margin-top:2px}
.pr-old s{text-decoration-color:#ff3d6e;text-decoration-thickness:2px;font-weight:700}
.pr-card .pr-p{font-size:clamp(26px,2.4vw,32px);margin:4px 0 2px}
.pr-small{margin-top:26px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(14px);border-radius:24px;padding:28px 30px;box-shadow:0 10px 34px rgba(30,80,170,.10)}
.pr-small h3{margin:0 0 4px;font-size:22px;letter-spacing:-.025em;color:#0b1b3a}
.pr-small p{margin:0 0 16px;color:#38507a;font-size:15px}
.pr-small ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.pr-small li{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(30,80,170,.1);font-size:15px}
.pr-small li span{font-weight:600;color:#0b1b3a}
.pr-small li em{font-style:normal;color:#6b7a99;font-size:13.5px}
.pr-small li s{text-decoration-color:#ff3d6e;text-decoration-thickness:2px}
.pr-small li strong{color:#0055FF;font-size:16px;min-width:48px;text-align:right}
@media(max-width:900px){.pr-small ul{grid-template-columns:1fr}.pr-small{padding:22px 18px}}
