/* ConsentProof V1.7 - unified premium public design system */
:root{
  --cpu-ink:#07182f;
  --cpu-blue:#1859e6;
  --cpu-blue-2:#4382ff;
  --cpu-line:rgba(208,219,233,.92);
  --cpu-soft:#f5f8fe;
  --cpu-shadow:0 28px 72px rgba(7,24,47,.09),0 6px 18px rgba(48,94,165,.035);
  --cpu-shadow-soft:0 14px 34px rgba(7,24,47,.055),0 3px 10px rgba(48,94,165,.03);
}

/* Shared polish */
.cp-public,
.cp-access{
  background:
    radial-gradient(circle at 10% 2%,rgba(71,128,255,.07),transparent 25%),
    radial-gradient(circle at 92% 7%,rgba(177,204,255,.11),transparent 24%),
    #fff;
}
.cp-public .cp-shell{width:min(1260px,calc(100% - 48px))}
.cp-public .cp-header{background:rgba(255,255,255,.84);border-bottom:1px solid rgba(218,226,237,.78);box-shadow:0 10px 34px rgba(7,24,47,.035)}
.cp-public .cp-header-in{min-height:80px}
.cp-public .cp-brandname{font-family:Iowan Old Style,Baskerville,"Times New Roman",serif;font-size:27px;font-weight:700;letter-spacing:-.045em;line-height:1;color:#07182f}
.cp-public .cp-brand-mark{display:block;width:34px;height:34px;flex:0 0 34px;border-radius:10px;box-shadow:0 5px 14px rgba(7,24,47,.12)}
.cp-public .cp-btn{border-radius:16px;padding:13px 19px}
.cp-public .cp-btn-primary{background:linear-gradient(135deg,#4b88ff 0%,#1859e6 48%,#0d47bd 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 30px rgba(24,89,230,.23)}
.cp-public .cp-btn-ghost{border-color:var(--cpu-line);background:linear-gradient(180deg,#fff,#f8faff);box-shadow:inset 0 1px 0 #fff,0 9px 22px rgba(7,24,47,.045)}

/* Hero becomes the first premium showcase frame */
.cp-public .cp-hero{padding:46px 0 30px;background:transparent;overflow:visible}
.cp-public .cp-hero:before{right:-120px;top:-170px;opacity:.75}
.cp-public .cp-hero-grid{
  gap:56px;
  padding:48px 50px;
  border:1px solid var(--cpu-line);
  border-radius:38px;
  background:
    radial-gradient(circle at 96% 0%,rgba(85,144,255,.13),transparent 28%),
    radial-gradient(circle at 2% 100%,rgba(80,138,255,.07),transparent 31%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,250,255,.94));
  box-shadow:inset 0 1px 0 #fff,var(--cpu-shadow);
}
.cp-public .cp-hero-grid:before{
  content:"";position:absolute;left:7%;right:7%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,#fff,rgba(104,158,255,.58),#fff,transparent);
}
.cp-public .cp-hero h1{font-size:61px}
.cp-public .cp-kicker,.cp-public .cp-pill{border-radius:999px;box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(7,24,47,.04)}
.cp-public .cp-window{border-radius:30px;box-shadow:inset 0 1px 0 #fff,0 34px 82px rgba(7,24,47,.15),0 8px 24px rgba(51,105,193,.07)}
.cp-public .cp-searchbox{border-radius:18px}.cp-public .cp-phone,.cp-public .cp-searchbox button{border-radius:13px}.cp-public .cp-proofcard{border-radius:21px}.cp-public .cp-assurance{border-radius:16px}

/* Global section rhythm */
.cp-public .cp-section{padding:48px 0;border:0;background:transparent}
.cp-public .cp-section-soft{background:linear-gradient(180deg,rgba(247,250,255,.55),rgba(255,255,255,0))}
.cp-public .cp-head{margin-bottom:26px}
.cp-public .cp-head h2,.cp-public .cp-section-title{font-size:43px}
.cp-public .cp-eyebrow{letter-spacing:.14em}

/* How it works: framed deck, then individual cards */
.cp-public .cp-steps{
  gap:12px;padding:12px;overflow:visible;
  border:1px solid var(--cpu-line);border-radius:32px;
  background:linear-gradient(145deg,#fff,#f7faff);
  box-shadow:inset 0 1px 0 #fff,var(--cpu-shadow-soft);
}
.cp-public .cp-step{
  min-height:220px;padding:27px 26px;border:1px solid rgba(218,226,237,.9)!important;border-radius:23px;
  background:linear-gradient(158deg,#fff 0%,#fcfdff 66%,#f5f8ff 100%);
  box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(7,24,47,.04);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.cp-public .cp-step:hover{transform:translateY(-3px);border-color:#cad9ef!important;box-shadow:inset 0 1px 0 #fff,0 20px 40px rgba(7,24,47,.07)}
.cp-public .cp-num{width:42px;height:42px;border-radius:15px;background:linear-gradient(145deg,#fff,#eaf1ff);border:1px solid #d8e4f7;box-shadow:inset 0 1px 0 #fff,0 9px 21px rgba(24,89,230,.08)}
.cp-public .cp-step-arrow{right:-18px;top:46px;width:34px;height:34px;border-color:#dce5f1;box-shadow:0 8px 18px rgba(7,24,47,.06)}

/* Editorial + product layouts use the approved reassurance model */
.cp-public .cp-proof-architecture,
.cp-public .cp-integration,
.cp-public .cp-faq{
  gap:14px;padding:14px;border:1px solid var(--cpu-line);border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,250,255,.91));
  box-shadow:inset 0 1px 0 #fff,var(--cpu-shadow);
}
.cp-public .cp-architecture-copy,
.cp-public .cp-integration-copy,
.cp-public .cp-faq-intro{
  position:relative;overflow:hidden;padding:34px 34px;border-radius:25px;
  background:
    radial-gradient(circle at 10% 96%,rgba(79,137,255,.14),transparent 40%),
    linear-gradient(145deg,#fbfdff,#eef4ff);
  box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(218,227,241,.82);
}
.cp-public .cp-architecture-copy:before,
.cp-public .cp-integration-copy:before,
.cp-public .cp-faq-intro:before{
  content:"";position:absolute;width:320px;height:320px;left:-190px;bottom:-220px;border-radius:50%;border:1px solid rgba(82,139,255,.11);box-shadow:0 0 0 36px rgba(82,139,255,.022),0 0 0 74px rgba(82,139,255,.014);
}
.cp-public .cp-architecture-copy>* , .cp-public .cp-integration-copy>* , .cp-public .cp-faq-intro>*{position:relative;z-index:1}
.cp-public .cp-chain,
.cp-public .cp-code-grid,
.cp-public .cp-accordions{align-self:stretch}
.cp-public .cp-chain{border-radius:25px;border-color:rgba(214,224,237,.94);box-shadow:inset 0 1px 0 #fff,0 12px 32px rgba(7,24,47,.045)}
.cp-public .cp-chain-hash{border-radius:15px;background:linear-gradient(180deg,#fbfdff,#f5f8fc)}
.cp-public .cp-check{padding:12px 13px;border:1px solid rgba(217,226,238,.86);border-radius:16px;background:rgba(255,255,255,.68);box-shadow:inset 0 1px 0 #fff}
.cp-public .cp-checkmark{width:28px;height:28px;border-radius:10px;background:linear-gradient(145deg,#fff,#e9f1ff);border:1px solid #d5e2f6;box-shadow:inset 0 1px 0 #fff}

/* Feature cards: a single polished gallery */
.cp-public .cp-cards{
  gap:12px;padding:12px;border:1px solid var(--cpu-line);border-radius:32px;
  background:linear-gradient(145deg,#fff,#f7faff);box-shadow:inset 0 1px 0 #fff,var(--cpu-shadow-soft)
}
.cp-public .cp-card{min-height:220px;border-radius:23px;border-color:rgba(217,226,238,.9);background:linear-gradient(158deg,#fff 0%,#fcfdff 64%,#f5f8ff 100%);box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(7,24,47,.04)}
.cp-public .cp-card-icon{width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#fff,#eef4ff);color:var(--cpu-blue);box-shadow:inset 0 1px 0 #fff,0 11px 24px rgba(24,89,230,.08)}
.cp-public .cp-card-icon svg{width:21px;height:21px;stroke:currentColor}
.cp-public .cp-card h3{font-family:Iowan Old Style,Baskerville,"Times New Roman",serif;font-size:18px;margin-top:23px}
.cp-public .cp-card .cp-mini{border:1px solid rgba(214,223,235,.75);background:linear-gradient(180deg,#f8fafd,#eef3f9);border-radius:999px}

/* Evidence levels: preserve dark contrast but place it in a rounded jewel box */
.cp-public .cp-dark{padding:48px 0;background:transparent;overflow:visible}
.cp-public .cp-dark:before{display:none}
.cp-public .cp-dark-in{
  padding:58px 54px;border-radius:36px;
  background:
    radial-gradient(circle at 88% 4%,rgba(73,137,255,.30),transparent 29%),
    radial-gradient(circle at 8% 96%,rgba(83,138,255,.10),transparent 28%),
    linear-gradient(145deg,#06162c,#082343 58%,#0b3569);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 34px 78px rgba(7,24,47,.19);
}
.cp-public .cp-levels{gap:12px;padding:0}
.cp-public .cp-level-card{min-height:255px;border-radius:25px;border-color:rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 18px 38px rgba(0,0,0,.08)}
.cp-public .cp-level-card.featured{background:linear-gradient(145deg,rgba(75,133,255,.23),rgba(255,255,255,.07));border-color:rgba(122,164,255,.48)}
.cp-public .cp-level-letter{width:47px;height:47px;border-radius:16px}

/* Integration code lives in polished white cards */
.cp-public .cp-code-grid{gap:12px;padding:0}
.cp-public .cp-code{border-radius:24px;border-color:rgba(215,224,237,.94);box-shadow:inset 0 1px 0 #fff,0 12px 30px rgba(7,24,47,.045)}
.cp-public .cp-code-head{height:50px;background:linear-gradient(180deg,#fff,#f7faff)}
.cp-public .cp-code pre{min-height:216px;background:radial-gradient(circle at 100% 0%,rgba(65,125,255,.15),transparent 38%),linear-gradient(145deg,#07182f,#0b274a)}

/* Trust section: framed pair, not generic boxes */
.cp-public .cp-trust-layout{
  gap:12px;padding:12px;border:1px solid var(--cpu-line);border-radius:32px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:inset 0 1px 0 #fff,var(--cpu-shadow-soft)
}
.cp-public .cp-trust-panel{border-radius:24px;border-color:rgba(216,225,237,.9);box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(7,24,47,.04)}
.cp-public .cp-trust-panel.dark{border-radius:24px;background:radial-gradient(circle at 90% 0%,rgba(65,126,255,.22),transparent 34%),linear-gradient(145deg,#07182f,#0b2c54)}
.cp-public .cp-trust-icon{width:34px;height:34px;border-radius:12px}
.cp-public .cp-note{border-radius:20px;padding:17px 19px;background:linear-gradient(145deg,#fffdf9,#fff8eb);box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(98,72,28,.035)}

/* FAQ: editorial card + a real accordion card */
.cp-public .cp-faq{grid-template-columns:.68fr 1.32fr;align-items:stretch}
.cp-public .cp-faq-intro{display:flex;flex-direction:column;justify-content:center}
.cp-public .cp-accordions{padding:11px 20px;border:1px solid rgba(216,225,237,.9);border-radius:25px;background:linear-gradient(160deg,#fff,#fbfdff);box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(7,24,47,.04)}
.cp-public .cp-accordions{border-top:1px solid rgba(216,225,237,.9)}
.cp-public .cp-faq-item:last-child{border-bottom:0}
.cp-public .cp-faq-q{padding:21px 4px}.cp-public .cp-faq-q span:last-child{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:#f3f7fd;border:1px solid #e0e8f3}

/* Final CTA and footer inherit the same rounded signature */
.cp-public .cp-final{padding:48px 0 38px}
.cp-public .cp-final-card{border-radius:34px;padding:46px;background:radial-gradient(circle at 88% 0%,rgba(89,147,255,.40),transparent 34%),linear-gradient(125deg,#06162c,#08284e 64%,#0d3d79);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 32px 76px rgba(7,24,47,.2)}
.cp-public .cp-final-icon{width:62px;height:62px;border-radius:20px}
.cp-public .cp-footer{border:0;padding:0 0 30px;background:transparent}
.cp-public .cp-footer .cp-shell{padding:32px;border:1px solid var(--cpu-line);border-radius:30px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:inset 0 1px 0 #fff,var(--cpu-shadow-soft)}
.cp-public .cp-footer-bottom{margin-bottom:0}

/* Access pages - login and setup */
.cp-access{min-height:100vh;margin:0;color:#07182f;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.cp-access *{box-sizing:border-box}
.cp-access a{text-decoration:none;color:inherit}
.cp-access-shell{width:min(1180px,calc(100% - 40px));min-height:100vh;margin:auto;padding:34px 0;display:grid;place-items:center}
.cp-access-frame{position:relative;overflow:hidden;width:100%;display:grid;grid-template-columns:.92fr 1.08fr;gap:14px;padding:14px;border:1px solid var(--cpu-line);border-radius:36px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,250,255,.94));box-shadow:inset 0 1px 0 #fff,var(--cpu-shadow)}
.cp-access-frame:before{content:"";position:absolute;left:6%;right:6%;top:0;height:1px;background:linear-gradient(90deg,transparent,#fff,rgba(99,154,255,.55),#fff,transparent)}
.cp-access-intro{position:relative;overflow:hidden;min-height:600px;padding:48px 44px;border-radius:27px;background:radial-gradient(circle at 10% 92%,rgba(75,133,255,.18),transparent 39%),linear-gradient(145deg,#fbfdff,#eef4ff);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(218,227,241,.82);display:flex;flex-direction:column}
.cp-access-intro:before{content:"";position:absolute;width:440px;height:440px;left:-245px;bottom:-280px;border-radius:50%;border:1px solid rgba(82,139,255,.12);box-shadow:0 0 0 44px rgba(82,139,255,.025),0 0 0 92px rgba(82,139,255,.015)}
.cp-access-intro>*{position:relative;z-index:1}
.cp-access-brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.035em;line-height:1}
.cp-access-brand-mark{display:block;width:38px;height:38px;flex:0 0 38px;border-radius:11px;box-shadow:0 6px 16px rgba(7,24,47,.14)}
.cp-access-brand strong{font-family:Iowan Old Style,Baskerville,"Times New Roman",serif;font-size:29px;font-weight:700;letter-spacing:-.045em;color:#07182f;white-space:nowrap}
.cp-access-kicker{display:inline-flex;width:max-content;margin-top:auto;margin-bottom:14px;padding:7px 10px;border:1px solid #d7e2f2;border-radius:999px;background:rgba(255,255,255,.72);color:#5e7190;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 1px 0 #fff}
.cp-access-intro h1{max-width:500px;margin:0;font-family:Iowan Old Style,Baskerville,"Times New Roman",serif;font-size:48px;line-height:1.02;letter-spacing:-.045em;font-weight:650}
.cp-access-intro h1 em{font-style:normal;color:var(--cpu-blue)}
.cp-access-intro>p{max-width:500px;margin:18px 0 0;color:#66758b;font-size:13.5px;line-height:1.75}
.cp-access-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.cp-access-point{padding:15px;border:1px solid rgba(211,222,237,.9);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(7,24,47,.035)}
.cp-access-point b,.cp-access-point span{display:block}.cp-access-point b{font-size:10.5px}.cp-access-point span{margin-top:4px;color:#8491a4;font-size:8.8px;line-height:1.5}
.cp-access-panel{padding:42px 42px 38px;border:1px solid rgba(216,225,237,.9);border-radius:27px;background:linear-gradient(160deg,#fff,#fbfdff);box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(7,24,47,.04);display:flex;flex-direction:column;justify-content:center}
.cp-access-panel h2{margin:0;font-family:Iowan Old Style,Baskerville,"Times New Roman",serif;font-size:34px;letter-spacing:-.035em}.cp-access-panel>.cp-access-lead{margin:9px 0 24px;color:#7b889b;font-size:11.5px;line-height:1.6}
.cp-access-form{display:grid;gap:15px}.cp-access-form label{display:grid;gap:7px;color:#465871;font-size:9.5px;font-weight:800}.cp-access-form input{width:100%;height:50px;padding:0 15px;border:1px solid #dbe4ef;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfcff);outline:0;color:#172a45;box-shadow:inset 0 1px 0 #fff}.cp-access-form input:focus{border-color:#8bb0f8;box-shadow:0 0 0 4px rgba(24,89,230,.08),inset 0 1px 0 #fff}.cp-access-form small{color:#96a0af;font-weight:500}
.cp-access-btn{position:relative;overflow:hidden;width:100%;min-height:50px;border:1px solid rgba(11,69,190,.35);border-radius:16px;background:linear-gradient(135deg,#4b88ff,#1859e6 48%,#0d47bd);color:#fff;font-weight:850;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 14px 30px rgba(24,89,230,.23)}
.cp-access-btn:before{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent)}
.cp-access-btn[disabled]{opacity:.48;cursor:not-allowed;box-shadow:none}
.cp-access-back{display:inline-flex;margin-top:17px;color:#7e8ca0;font-size:9.5px;font-weight:750}
.cp-access-alert{margin-bottom:16px;padding:13px 15px;border-radius:16px;font-size:10px;line-height:1.55}.cp-access-alert.danger{border:1px solid #f2ceca;background:#fff5f4;color:#9f3b34}.cp-access-alert.ok{border:1px solid #ccebdc;background:#f1fbf6;color:#0b7254}
.cp-access-checks{display:grid;gap:8px;margin:16px 0 20px}.cp-access-check{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #e1e8f1;border-radius:15px;background:#fbfcff}.cp-access-check strong{font-size:9.5px}.cp-access-status{padding:5px 8px;border-radius:999px;font-size:7.5px;font-weight:900}.cp-access-status.ok{background:#e9f8f2;color:#0d8a64}.cp-access-status.danger{background:#fff0ee;color:#b3433c}
.cp-access-url{margin-bottom:14px;padding:12px 13px;border:1px solid #e0e7f1;border-radius:15px;background:#f8faff;color:#66758c;font-size:9px;overflow-wrap:anywhere}.cp-access-url strong{color:#2e415c}
.cp-access-secrets{display:grid;gap:9px;margin:15px 0}.cp-access-secret{padding:13px 14px;border:1px solid #dce5f0;border-radius:16px;background:linear-gradient(160deg,#fff,#f7faff)}.cp-access-secret span,.cp-access-secret code{display:block}.cp-access-secret span{color:#7f8da1;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.cp-access-secret code{margin-top:6px;color:#253a58;font-size:9px;overflow-wrap:anywhere}
.cp-access-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 17px;border-radius:15px;background:linear-gradient(135deg,#4b88ff,#1859e6 48%,#0d47bd);color:#fff;font-size:10px;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 12px 26px rgba(24,89,230,.2)}

@media(max-width:1080px){
  .cp-public .cp-hero-grid{padding:40px}.cp-public .cp-hero h1{font-size:55px}
  .cp-public .cp-proof-architecture,.cp-public .cp-integration,.cp-public .cp-faq{grid-template-columns:1fr}
  .cp-public .cp-architecture-copy,.cp-public .cp-integration-copy,.cp-public .cp-faq-intro{padding:30px}
  .cp-access-frame{grid-template-columns:1fr}.cp-access-intro{min-height:390px}.cp-access-kicker{margin-top:70px}
}
@media(max-width:760px){
  .cp-public .cp-shell{width:min(100% - 28px,1260px)}
  .cp-public .cp-hero{padding-top:20px}.cp-public .cp-hero-grid{padding:28px 20px;border-radius:28px}.cp-public .cp-hero h1{font-size:42px}.cp-public .cp-window{border-radius:24px}
  .cp-public .cp-section{padding:34px 0}.cp-public .cp-head h2,.cp-public .cp-section-title{font-size:35px}
  .cp-public .cp-steps{grid-template-columns:1fr;padding:10px;border-radius:26px}.cp-public .cp-step{min-height:auto;border-radius:20px}.cp-public .cp-step-arrow{display:none}
  .cp-public .cp-proof-architecture,.cp-public .cp-integration,.cp-public .cp-faq{padding:10px;border-radius:27px}.cp-public .cp-architecture-copy,.cp-public .cp-integration-copy,.cp-public .cp-faq-intro{padding:25px 22px;border-radius:20px}
  .cp-public .cp-cards{grid-template-columns:1fr;padding:10px;border-radius:27px}.cp-public .cp-card{min-height:auto;border-radius:20px}
  .cp-public .cp-dark{padding:34px 0}.cp-public .cp-dark-in{padding:36px 22px;border-radius:28px}.cp-public .cp-levels{grid-template-columns:1fr}.cp-public .cp-level-card{min-height:auto;border-radius:21px}
  .cp-public .cp-code-grid{grid-template-columns:1fr}.cp-public .cp-trust-layout{grid-template-columns:1fr;padding:10px;border-radius:27px}.cp-public .cp-trust-panel{border-radius:20px}
  .cp-public .cp-faq{grid-template-columns:1fr}.cp-public .cp-accordions{padding:8px 15px;border-radius:20px}
  .cp-public .cp-final{padding-top:34px}.cp-public .cp-final-card{padding:30px 24px;border-radius:27px}.cp-public .cp-footer .cp-shell{padding:24px 20px;border-radius:26px}
  .cp-access-shell{width:min(100% - 24px,1180px);padding:12px 0}.cp-access-frame{padding:10px;border-radius:28px}.cp-access-intro,.cp-access-panel{border-radius:21px}.cp-access-intro{min-height:330px;padding:28px 22px}.cp-access-intro h1{font-size:37px}.cp-access-kicker{margin-top:50px}.cp-access-points{grid-template-columns:1fr}.cp-access-panel{padding:28px 22px}.cp-access-panel h2{font-size:29px}
}


/* Password reset / access utility */
.cp-access-labelrow{display:flex;align-items:center;justify-content:space-between;gap:12px}.cp-access-labelrow>a{color:#1859e6;font-size:9px;font-weight:800}.cp-access-labelrow>a:hover{text-decoration:underline}.cp-access-mini{margin-top:13px;padding:12px 13px;border:1px solid #e0e7f1;border-radius:15px;background:#f8faff;color:#708097;font-size:9.5px;line-height:1.6}.cp-access-mini strong{color:#324760}.cp-access-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.cp-access-actions a{color:#75849a;font-size:9.5px;font-weight:750}.cp-access-actions a:hover{color:#1859e6}

/* V1.17 — page publique condensée */
.cp-public .cp-quickbar{padding:0 0 18px}.cp-public .cp-quickbar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cp-public .cp-quickbar-grid>span{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:9px;align-items:center;padding:11px 12px;border:1px solid var(--cpu-line);border-radius:15px;background:linear-gradient(180deg,#fff,#fafcff)}.cp-public .cp-quickbar-grid b{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#edf3ff;color:#315cf5;font-size:7px}.cp-public .cp-quickbar-grid strong,.cp-public .cp-quickbar-grid small{display:block}.cp-public .cp-quickbar-grid strong{font-size:9px;color:#30435f}.cp-public .cp-quickbar-grid small{color:#98a2b3;font-size:7px}.cp-public .cp-section-core{padding-top:34px}.cp-public .cp-head-compact{align-items:end;margin-bottom:18px}.cp-public .cp-head-compact h2{font-size:38px}.cp-public .cp-head-compact>p{max-width:520px;font-size:12px}.cp-public .cp-steps-compact{padding:8px}.cp-public .cp-steps-compact .cp-step{min-height:170px;padding:22px}.cp-public .cp-steps-compact .cp-step h3{font-size:18px}.cp-public .cp-steps-compact .cp-step p{font-size:11px}
.cp-public .cp-detail-hub{padding-top:38px;padding-bottom:38px}.cp-public .cp-detail-stack{display:grid;gap:8px}.cp-public .cp-deep-card{border:1px solid var(--cpu-line);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfcff);overflow:hidden}.cp-public .cp-deep-card>summary{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;gap:11px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.cp-public .cp-deep-card>summary::-webkit-details-marker{display:none}.cp-public .cp-deep-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#edf3ff;color:#315cf5;font-size:12px;font-weight:900}.cp-public .cp-deep-card summary strong,.cp-public .cp-deep-card summary small{display:block}.cp-public .cp-deep-card summary strong{font-size:11.5px;color:#273b57}.cp-public .cp-deep-card summary small{color:#8d99aa;font-size:8.5px}.cp-public .cp-deep-card>summary>b{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#f0f4fa;color:#657287}.cp-public .cp-deep-card[open]>summary{border-bottom:1px solid #e8edf3}.cp-public .cp-deep-card[open]>summary>b{font-size:0}.cp-public .cp-deep-card[open]>summary>b:after{content:'−';font-size:13px}.cp-public .cp-deep-body{padding:16px}.cp-public .cp-deep-grid{display:grid;grid-template-columns:1fr .9fr;gap:24px}.cp-public .cp-deep-list{display:grid;gap:8px}.cp-public .cp-deep-list>span{display:grid;grid-template-columns:24px 1fr;gap:8px;padding:10px;border:1px solid #e8edf3;border-radius:12px;background:#fbfcfe}.cp-public .cp-deep-list i{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:#e8f8f0;color:#087a55;font-style:normal;font-size:8px}.cp-public .cp-deep-list p{margin:0}.cp-public .cp-deep-list strong,.cp-public .cp-deep-list small{display:block}.cp-public .cp-deep-list strong{font-size:9px}.cp-public .cp-deep-list small{color:#8d98a8;font-size:7.5px}.cp-public .cp-mini-chain{display:grid;align-content:center}.cp-public .cp-mini-chain>div{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #e9edf3}.cp-public .cp-mini-chain>div:last-child{border-bottom:0}.cp-public .cp-mini-chain b{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#102746;color:#91aaff;font-size:8px}.cp-public .cp-mini-chain strong,.cp-public .cp-mini-chain small{display:block}.cp-public .cp-mini-chain strong{font-size:9px}.cp-public .cp-mini-chain small{color:#98a2b3;font-size:7.5px}.cp-public .cp-grade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cp-public .cp-grade-grid article{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #e4e9f0;border-radius:13px;background:#fbfcfe}.cp-public .cp-grade-grid article.featured{border-color:#cbd7ff;background:#f4f6ff}.cp-public .cp-grade-grid article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf2ff;color:#315cf5;font-weight:900}.cp-public .cp-grade-grid strong,.cp-public .cp-grade-grid small{display:block}.cp-public .cp-grade-grid strong{font-size:9.5px}.cp-public .cp-grade-grid small{color:#8b97a8;font-size:7.5px}.cp-public .cp-integration-compact{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.cp-public .cp-endpoints{display:flex;flex-wrap:wrap;gap:6px}.cp-public .cp-endpoints code{padding:8px 10px;border:1px solid #dfe7f2;border-radius:10px;background:#f5f8fd;color:#315cf5;font-size:8px}.cp-public .cp-boundaries{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cp-public .cp-boundaries>div{display:grid;gap:7px;padding:13px;border:1px solid #e5eaf1;border-radius:13px;background:#fbfcfe}.cp-public .cp-boundaries strong{font-size:9.5px}.cp-public .cp-boundaries span{font-size:8px;color:#7c8797}.cp-public .cp-mini-faq{display:grid;gap:6px}.cp-public .cp-mini-faq details{border:1px solid #e6ebf2;border-radius:11px;background:#fbfcfe}.cp-public .cp-mini-faq summary{padding:10px 12px;cursor:pointer;color:#344054;font-size:8.8px;font-weight:800}.cp-public .cp-mini-faq p{margin:0;padding:0 12px 11px;color:#7e8999;font-size:8px}.cp-public .cp-final{padding-top:34px}.cp-public .cp-final-card{padding:34px 38px}.cp-public .cp-final-copy h2{font-size:28px}
@media(max-width:760px){.cp-public .cp-shell{width:min(100% - 20px,1260px)}.cp-public .cp-header-in{min-height:64px}.cp-public .cp-actions .cp-btn-link{display:none}.cp-public .cp-actions .cp-btn-primary{padding:10px 12px;font-size:8.5px}.cp-public .cp-hero{padding:12px 0 14px}.cp-public .cp-hero-grid{padding:22px 16px;border-radius:23px;gap:21px}.cp-public .cp-hero h1{margin-top:12px;font-size:38px}.cp-public .cp-lead{font-size:12px;line-height:1.6}.cp-public .cp-hero-actions{gap:8px;margin-top:20px}.cp-public .cp-hero-actions .cp-btn{flex:1;padding:11px 10px;font-size:8.5px}.cp-public .cp-confidence{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:5px;scrollbar-width:none}.cp-public .cp-confidence::-webkit-scrollbar{display:none}.cp-public .cp-pill{flex:0 0 auto;font-size:7.7px;padding:7px 8px}.cp-public .cp-disclaimer{padding:8px 9px;font-size:7px}.cp-public .cp-window{border-radius:19px}.cp-public .cp-windowbar{height:31px}.cp-public .cp-app{display:block}.cp-public .cp-sidebar{display:none}.cp-public .cp-appmain{padding:14px 12px}.cp-public .cp-assurance-row,.cp-public .cp-proof-actions{display:none}.cp-public .cp-quickbar{padding-bottom:10px}.cp-public .cp-quickbar-grid{display:flex;overflow-x:auto;gap:6px;scrollbar-width:none}.cp-public .cp-quickbar-grid>span{flex:0 0 175px}.cp-public .cp-section-core{padding:24px 0}.cp-public .cp-head-compact{display:block;margin-bottom:13px}.cp-public .cp-head-compact h2{font-size:30px}.cp-public .cp-head-compact>p{margin-top:9px;font-size:10px}.cp-public .cp-steps-compact{display:flex!important;overflow-x:auto;gap:7px;padding:7px;scroll-snap-type:x mandatory;scrollbar-width:none}.cp-public .cp-steps-compact .cp-step{flex:0 0 82%;scroll-snap-align:center;min-height:145px;padding:18px}.cp-public .cp-detail-hub{padding:24px 0}.cp-public .cp-detail-stack{gap:6px}.cp-public .cp-deep-card{border-radius:14px}.cp-public .cp-deep-card>summary{grid-template-columns:33px minmax(0,1fr) 25px;padding:11px 12px;gap:8px}.cp-public .cp-deep-icon{width:32px;height:32px}.cp-public .cp-deep-card summary strong{font-size:9.5px}.cp-public .cp-deep-card summary small{font-size:7.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-public .cp-deep-body{padding:10px}.cp-public .cp-deep-grid,.cp-public .cp-integration-compact,.cp-public .cp-boundaries{grid-template-columns:1fr;gap:8px}.cp-public .cp-grade-grid{display:flex;overflow-x:auto;gap:7px;scrollbar-width:none}.cp-public .cp-grade-grid article{flex:0 0 80%}.cp-public .cp-final{padding:20px 0}.cp-public .cp-final-card{display:grid;grid-template-columns:42px 1fr;padding:20px 17px;border-radius:20px;gap:10px}.cp-public .cp-final-icon{width:40px;height:40px}.cp-public .cp-final-copy h2{font-size:20px}.cp-public .cp-final-copy p{font-size:8.5px}.cp-public .cp-final-card>.cp-btn{grid-column:1/-1;width:100%}.cp-public .cp-footer .cp-shell{padding:18px 16px}.cp-public .cp-footer-col{display:none}}


/* V1.18 — mobile integrity pass: no body overflow, no broken cards */
html,body.cp-public{max-width:100%;overflow-x:clip}
.cp-public .cp-shell,.cp-public .cp-hero-copy,.cp-public .cp-appmain,.cp-public .cp-deep-card,.cp-public .cp-final-copy{min-width:0}
@media(max-width:760px){
  .cp-public .cp-header-in{gap:8px}
  .cp-public .cp-actions{display:none}
  .cp-public .cp-burger{display:grid!important;place-items:center;margin-left:auto;flex:0 0 38px;width:38px;height:38px;padding:0;font-size:16px}
  .cp-public .cp-nav.open{left:10px!important;right:10px!important;top:58px!important;width:auto!important;max-width:none!important}
  .cp-public .cp-hero-grid{overflow:hidden}
  .cp-public .cp-confidence{max-width:100%}
  .cp-public .cp-quickbar-grid{display:grid!important;grid-template-columns:1fr 1fr;overflow:visible!important;gap:6px}
  .cp-public .cp-quickbar-grid>span{min-width:0;flex:none;padding:9px 10px}
  .cp-public .cp-quickbar-grid strong{font-size:8.5px}.cp-public .cp-quickbar-grid small{font-size:6.7px}
  .cp-public .cp-steps-compact{display:grid!important;grid-template-columns:1fr;overflow:visible!important;gap:7px;padding:7px;scroll-snap-type:none}
  .cp-public .cp-steps-compact .cp-step{min-width:0;min-height:0;flex:none;padding:15px 16px 15px 58px;position:relative}
  .cp-public .cp-steps-compact .cp-num{position:absolute;left:14px;top:15px;width:32px;height:32px}
  .cp-public .cp-steps-compact .cp-step h3{margin:1px 0 4px;font-size:14px}.cp-public .cp-steps-compact .cp-step p{font-size:8.5px;line-height:1.45}
  .cp-public .cp-step-arrow{display:none}
  .cp-public .cp-grade-grid{display:grid!important;grid-template-columns:1fr;overflow:visible!important;gap:6px}
  .cp-public .cp-grade-grid article{min-width:0;flex:none;padding:10px 11px}
  .cp-public .cp-deep-card>summary{min-width:0}.cp-public .cp-deep-card>summary>div{min-width:0}
  .cp-public .cp-deep-card summary small{max-width:100%}
  .cp-public .cp-final-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:20px 18px!important;min-height:0!important;overflow:hidden!important}
  .cp-public .cp-final-icon{display:none!important}
  .cp-public .cp-final-copy{width:100%!important;max-width:none!important;flex:none!important}
  .cp-public .cp-final-copy h2{max-width:none!important;margin:0!important;font-size:21px!important;line-height:1.04!important;letter-spacing:-.035em!important}
  .cp-public .cp-final-copy p{max-width:none!important;margin-top:7px!important;font-size:8.5px!important;line-height:1.45!important}
  .cp-public .cp-final-card>.cp-btn{width:100%!important;grid-column:auto!important}
  .cp-public .cp-footer-grid{grid-template-columns:1fr!important}.cp-public .cp-footer-brand{grid-column:auto!important;min-width:0}
}
@media(max-width:420px){
  .cp-public .cp-shell{width:min(100% - 16px,1260px)}
  .cp-public .cp-hero-grid{padding:18px 12px;border-radius:19px}
  .cp-public .cp-hero h1{font-size:34px!important;line-height:1.01}.cp-public .cp-lead{font-size:11px}
  .cp-public .cp-quickbar-grid{grid-template-columns:1fr 1fr}
  .cp-public .cp-head-compact h2{font-size:27px}
  .cp-public .cp-deep-card>summary{padding:10px}.cp-public .cp-deep-icon{width:30px;height:30px}
  .cp-public .cp-final-copy h2{font-size:19px!important}
}

/* ConsentProof v1.28 - 2FA obligatoire */
.cp-2fa-code-input{font-size:24px!important;font-weight:850!important;letter-spacing:.18em;text-align:center}
.cp-2fa-help{margin-top:16px;padding:13px 14px;border:1px solid #e1e8f2;border-radius:15px;background:#f8faff;color:#738197;font-size:9.5px;line-height:1.55}
.cp-2fa-help strong,.cp-2fa-help span{display:block}.cp-2fa-help strong{color:#344861;margin-bottom:3px}
.cp-2fa-setup{padding:16px;border:1px solid #dce5f0;border-radius:18px;background:#f8fbff}
.cp-2fa-setup>span{display:block;color:#31517d;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cp-2fa-setup p{margin:8px 0 12px;color:#74839a;font-size:10px;line-height:1.55}
.cp-2fa-secret{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #d8e2ef;border-radius:14px;background:#fff}.cp-2fa-secret code{min-width:0;flex:1;overflow-wrap:anywhere;color:#163358;font-size:12px;font-weight:800;letter-spacing:.06em}.cp-2fa-secret button{border:0;border-radius:10px;padding:8px 10px;background:#eaf1ff;color:#1859e6;font-size:9px;font-weight:850;cursor:pointer}
.cp-2fa-open-app{display:flex;justify-content:center;margin-top:10px;padding:10px 12px;border:1px solid #cfdcf0;border-radius:13px;background:#fff;color:#1859e6!important;font-size:9.5px;font-weight:850}.cp-2fa-setup small{display:block;margin-top:9px;color:#929dac;font-size:8.5px;line-height:1.5}
.cp-2fa-recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.cp-2fa-recovery-grid code{padding:10px;border:1px solid #dbe4ef;border-radius:12px;background:#f8faff;color:#17375f;font-size:10px;font-weight:850;text-align:center;letter-spacing:.04em}.cp-2fa-warning{margin:12px 0 0;color:#9a6824;font-size:9px;line-height:1.55}
@media(max-width:620px){.cp-2fa-recovery-grid{grid-template-columns:1fr}.cp-2fa-code-input{font-size:21px!important}}

/* ConsentProof v1.29 - appairage 2FA robuste */
.cp-2fa-clock-warning{margin-top:10px;padding:10px 12px;border:1px solid #f0d39d;border-radius:12px;background:#fff8ea;color:#8b5a13;font-size:9px;line-height:1.5}
.cp-2fa-rotate-form{margin-top:10px}.cp-2fa-rotate-form button{width:100%;border:1px solid #d7e1ef;border-radius:12px;padding:9px 11px;background:#fff;color:#53657f;font-size:9px;font-weight:850;cursor:pointer}.cp-2fa-rotate-form button:hover{border-color:#bfcde1;color:#18365e}


/* ConsentProof v1.36 - liens juridiques publics */
.cp-access-legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:18px auto 0;color:#8793a5;font-size:10px;font-weight:700}
.cp-access-legal a{color:#75839a;text-decoration:none}.cp-access-legal a:hover{color:#1859e6}.cp-access-legal span{color:#c0c7d1}
@media(max-width:620px){.cp-access-legal{font-size:9.5px;gap:6px}}


/* V1.43 — Mobile parity with ClaimProof + compact inline footer */
.cp-public .cp-footer-inline{
  border-top:1px solid var(--cpu-line);
  padding:26px 0 24px;
  background:#fff;
}
.cp-public .cp-footer-inline .cp-shell{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.cp-footer-mainline{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}
.cp-footer-name{font-size:14px;font-weight:900;letter-spacing:-.02em;color:var(--ink)}
.cp-footer-positioning{min-width:0;color:#7a8798;font-size:10px;line-height:1.45}
.cp-footer-open{color:var(--blue);font-size:11px;font-weight:900;white-space:nowrap}
.cp-footer-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 15px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid var(--cpu-line);
  color:#8a96a7;
  font-size:8.5px;
}
.cp-footer-links a:hover{color:var(--ink)}
.cp-footer-links span{margin-left:auto}

@media(max-width:760px){
  .cp-public .cp-header-in{min-height:68px}
  .cp-public .cp-brand-mark{width:31px;height:31px;flex-basis:31px;border-radius:9px}
  .cp-public .cp-brandname{font-size:20px}
  .cp-public .cp-actions{margin-left:auto}
  .cp-public .cp-actions .cp-btn-link{display:none}
  .cp-public .cp-actions .cp-btn-primary{
    display:inline-flex!important;
    width:auto!important;
    min-height:38px;
    padding:9px 11px;
    border-radius:11px;
    font-size:8px;
  }
  .cp-public .cp-burger{margin-left:0;width:38px;height:38px;border-radius:11px}

  .cp-public .cp-hero{padding:18px 0 16px}
  .cp-public .cp-hero-grid{gap:18px;padding:21px 16px}
  .cp-public .cp-hero h1{font-size:36px!important;line-height:1.01!important;margin:12px 0 15px}
  .cp-public .cp-lead{font-size:11.5px;line-height:1.55}
  .cp-public .cp-hero-actions{margin:17px 0 14px}
  .cp-public .cp-hero-actions .cp-btn{min-height:42px}
  .cp-public .cp-disclaimer{margin-top:12px}

  .cp-public .cp-section-core,.cp-public .cp-detail-hub{padding:22px 0}
  .cp-public .cp-head-compact h2{font-size:28px}
  .cp-public .cp-steps-compact .cp-step{flex-basis:78%;min-height:136px}
  .cp-public .cp-final{padding:18px 0}

  /* Footer remains horizontal: no stacked columns. */
  .cp-public .cp-footer-inline{padding:18px 0 20px}
  .cp-footer-mainline{grid-template-columns:auto minmax(0,1fr) auto;gap:9px}
  .cp-footer-name{font-size:12px}
  .cp-footer-positioning{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:8px;
  }
  .cp-footer-open{font-size:9px}
  .cp-footer-links{
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:13px;
    margin-top:10px;
    padding-top:10px;
    scrollbar-width:none;
    white-space:nowrap;
    font-size:8px;
  }
  .cp-footer-links::-webkit-scrollbar{display:none}
  .cp-footer-links span{margin-left:0}
}

@media(max-width:420px){
  .cp-public .cp-brandname{font-size:18px}
  .cp-public .cp-actions .cp-btn-primary{max-width:105px;overflow:hidden;text-overflow:ellipsis}
  .cp-public .cp-hero h1{font-size:33px!important}
  .cp-footer-positioning{display:none}
  .cp-footer-mainline{grid-template-columns:auto 1fr auto}
}
