/*  DPDPA Compliance for Indian Enterprises — landing page styles
    Everything is scoped under .dpc so the theme cannot break this page,
    and this page cannot break the theme.
    Palette sampled from the book cover. Blue = editorial, orange = action.  */

.dpc,.dpc *,.dpc *::before,.dpc *::after{box-sizing:border-box}
body.dpdpa-book-page{background:#080808}

.dpc{
  --ink:#080808;
  --navy:#0A1B3D;
  --navy-2:#0E2450;
  --paper:#FFFFFF;
  --signal:#F25C1B;
  --ember:#B23C08;
  --blue:#4E8CF0;
  --blue-deep:#123A87;
  --pad:clamp(20px,5.5vw,120px);
  --soft:cubic-bezier(.33,.9,.28,1);
  --settle:cubic-bezier(.22,1,.36,1);
  --tight:-.045em;

  --bg:#080808;
  --fg:#FFFFFF;
  --muted:#A8AEBC;
  --dim:#71798C;
  --rule:rgba(255,255,255,.13);
  --rule2:rgba(255,255,255,.28);
  --accent:#4E8CF0;

  font-family:'Outfit',system-ui,-apple-system,sans-serif;
  font-weight:300;font-size:17px;line-height:1.6;
  background:var(--ink);color:var(--fg);
  -webkit-font-smoothing:antialiased;
}
.dpc *,.dpc *::before,.dpc *::after{border-radius:0}
.dpc img{max-width:100%;height:auto;display:block}
.dpc ::selection{background:var(--signal);color:#080808}
.dpc p{margin:0}
.dpc a{color:inherit}

.dpc .light{
  --bg:#0C1730;--fg:#FFFFFF;--muted:#A7B2C7;--dim:#77839C;
  --rule:rgba(255,255,255,.12);--rule2:rgba(255,255,255,.26);--accent:#6BA3F5;
}
.dpc .navy{
  --bg:#0A1B3D;--fg:#FFFFFF;--muted:#AEB8CD;--dim:#7A85A0;
  --rule:rgba(255,255,255,.14);--rule2:rgba(255,255,255,.30);--accent:#7AA9F7;
}

.dpc .wrap{max-width:1240px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.dpc .section{background:var(--bg);color:var(--fg);padding:clamp(64px,9vw,118px) 0;border-top:1px solid var(--rule);overflow:hidden}

/* micro-label */
.dpc .ml{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;line-height:1.7}
.dpc .label{color:var(--dim);margin:0 0 20px}
.dpc .label span{color:var(--accent)}

.dpc h1.h1,.dpc h2.h2,.dpc h3.h3{font-weight:500;letter-spacing:var(--tight);line-height:1.02;margin:0;color:var(--fg)}
.dpc h1.h1{font-size:clamp(2.45rem,6.4vw,4.7rem)}
.dpc h1.h1 em{font-style:normal;color:var(--blue)}
.dpc h2.h2{font-size:clamp(1.9rem,4.2vw,3.15rem);line-height:1.06;margin:0 0 20px}
.dpc h2.h2 em{font-style:normal;color:var(--accent)}
.dpc .lede{font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.55;color:var(--muted);max-width:56ch;letter-spacing:-.01em}
.dpc .lede b{color:var(--fg);font-weight:400}
.dpc .head{max-width:62ch;margin:0 0 clamp(38px,5vw,62px)}
.dpc .head p{color:var(--muted);font-size:1.02rem}
.dpc .head p em{color:var(--fg);font-style:italic}

/* ---------- hero ---------- */
.dpc .hero{position:relative;background:var(--ink);padding:clamp(38px,4.4vw,60px) 0 clamp(54px,6.5vw,86px);overflow:hidden}
.dpc .hero::after{content:"";position:absolute;left:50%;top:-30%;width:120vw;height:90%;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 50%,rgba(20,60,150,.30),rgba(20,60,150,0) 62%);pointer-events:none}
.dpc .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(32px,4.2vw,64px);align-items:start}
.dpc .cover-stage{position:relative;perspective:1150px;perspective-origin:50% 42%}
.dpc .cover-stage::before{content:"";position:absolute;left:-20%;right:-20%;top:-12%;bottom:6%;background:radial-gradient(ellipse at 50% 44%,rgba(46,120,240,.52),rgba(46,120,240,0) 66%);filter:blur(36px);pointer-events:none;animation:dp-breathe 9s ease-in-out infinite}
.dpc .cover-tilt{position:relative;transform-style:preserve-3d;will-change:transform;animation:dp-float 8s ease-in-out infinite}

/* the book: a real 3D object */
.dpc .book3d{position:relative;transform-style:preserve-3d;transform-origin:14% 50%;transition:transform .6s var(--settle);will-change:transform}
.dpc .cover{display:block;position:relative;z-index:2;backface-visibility:hidden;
  filter:drop-shadow(0 46px 62px rgba(0,0,0,.82)) drop-shadow(0 0 38px rgba(46,120,240,.32))}
.dpc .cover-gloss{
  position:absolute;z-index:3;left:3.4%;right:2.2%;top:3.2%;bottom:2.4%;pointer-events:none;
  background:linear-gradient(var(--gloss-a,104deg),
    rgba(255,255,255,0) 30%,
    rgba(255,255,255,.30) 46%,
    rgba(255,255,255,.06) 55%,
    rgba(255,255,255,0) 68%);
  mix-blend-mode:screen;opacity:.85;transition:opacity .5s var(--soft)
}
/* floor shadow — grounds the book without duplicating the artwork */
.dpc .cover-floor{position:absolute;left:6%;right:2%;top:100%;height:46px;margin-top:6px;pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,.85),rgba(0,0,0,0) 72%);filter:blur(9px)}
.dpc .cover-meta{margin-top:52px;color:var(--dim)}
.dpc .cover-meta b{display:block;color:var(--muted);font-weight:500}
.dpc .hero h1.h1{margin:0 0 20px;font-size:clamp(2.05rem,4vw,3.25rem);line-height:1.06}
.dpc .hero .lede{max-width:60ch}

@keyframes dp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes dp-breathe{0%,100%{opacity:.68}50%{opacity:1}}

/* countdown strip */
.dpc .clock{display:flex;gap:clamp(22px,3.6vw,46px);flex-wrap:wrap;margin:32px 0 0;padding:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.dpc .clock-item b{display:block;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--signal);font-variant-numeric:tabular-nums}
.dpc .clock-item span{display:block;margin-top:8px;color:var(--dim);max-width:24ch}

/* ---------- quick registration strip ---------- */
.dpc .offer-quick{margin-top:26px;max-width:none;padding:clamp(20px,2.1vw,26px)}
.dpc .offer-quick h2{margin:0 0 15px}
.dpc .offer-quick .kicker .kdot{color:#5A6A88}
.dpc .offer-quick .kicker #cd-inline{font-variant-numeric:tabular-nums}
.dpc .quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:stretch}
.dpc .quick-row .fields{height:100%}
.dpc .btn-quick{width:auto;margin-top:0;padding:0 clamp(26px,3vw,40px);white-space:nowrap;position:relative;overflow:hidden}
.dpc .btn-quick span{position:relative;z-index:1}
.dpc .btn-quick::after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.42) 50%,transparent 80%)}
.dpc .btn-quick:hover::after{animation:dp-sheen .85s var(--soft)}
@keyframes dp-sheen{to{transform:translateX(120%)}}

/* ---------- form panel ---------- */
.dpc .offer{
  position:relative;margin-top:36px;padding:clamp(26px,3.2vw,36px);max-width:660px;
  color:#FFFFFF;
  background:linear-gradient(168deg,#14275A 0%,#0B1934 58%,#091428 100%);
  border:1px solid rgba(110,160,250,.24);
  box-shadow:0 34px 70px -18px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.5),inset 0 1px 0 rgba(150,190,255,.20);
}
.dpc .offer::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:4px;background:linear-gradient(90deg,var(--signal),#FF8A4C 55%,var(--signal))}
.dpc .offer::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 12% 0%,rgba(90,150,255,.16),rgba(90,150,255,0) 58%)}
.dpc .offer > *{position:relative;z-index:1}
.dpc .kicker{color:#FF8A4C;margin:0 0 12px}
.dpc .offer h2{font-family:inherit;font-size:clamp(1.4rem,2.3vw,1.85rem);font-weight:500;letter-spacing:-.035em;margin:0 0 18px;color:#FFFFFF;line-height:1.14}
.dpc .offer .sub{color:#A7B2C7;font-size:1rem;margin:0 0 24px;max-width:52ch}
.dpc .offer em{font-style:italic;color:#FFFFFF}
.dpc .fields{display:grid;grid-template-columns:1fr 1.4fr;gap:0}
.dpc .field{
  position:relative;background:rgba(6,14,30,.62);
  border:1px solid rgba(140,175,235,.24);
  transition:border-color .35s var(--soft),background .35s var(--soft),box-shadow .35s var(--soft);
}
.dpc .field + .field{border-left:0}
.dpc .field label{display:block;color:#8896B2;padding:13px 16px 0;margin:0;transition:color .35s var(--soft)}
.dpc .field input{width:100%;padding:5px 16px 15px;font-family:inherit;font-weight:300;font-size:16px;color:#FFFFFF;background:transparent;border:0;box-shadow:none;line-height:1.45;height:auto;margin:0}
.dpc .field input::placeholder{color:#6C7A96;opacity:1}
.dpc .field input:focus{outline:none;box-shadow:none;border:0;background:transparent}
.dpc .field:focus-within{background:rgba(10,22,46,.9);border-color:rgba(120,170,255,.72);box-shadow:0 0 0 3px rgba(78,140,240,.16),inset 0 -3px 0 var(--signal);z-index:2}
.dpc .field:focus-within label{color:#8FB6F8}
.dpc .field input:-webkit-autofill{-webkit-text-fill-color:#FFF;box-shadow:0 0 0 60px #0B1934 inset;transition:background-color 9999s}
.dpc .hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0}

.dpc .btn{display:block;width:100%;margin-top:18px;padding:20px 24px;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500;font-size:13px;line-height:1.2;letter-spacing:1.5px;text-transform:uppercase;text-align:center;text-decoration:none;color:#080808;background:var(--signal);border:0;cursor:pointer;transition:background .3s var(--soft),transform .12s var(--soft)}
.dpc .btn:hover,.dpc .btn:focus{background:#FF7038;color:#080808}
.dpc .btn:active{transform:translateY(1px)}
.dpc .btn[disabled]{opacity:.55;cursor:default}
.dpc .btn-ink{color:#FFFFFF;background:#0A1B3D}
.dpc .btn-ink:hover,.dpc .btn-ink:focus{background:#12295B;color:#FFFFFF}
.dpc .btn-inline{display:inline-block;width:auto;margin-top:0;padding:16px 30px}
.dpc .micro{color:#7C89A4;font-size:.87rem;margin-top:14px;line-height:1.6;max-width:52ch}
.dpc .thanks{display:none}
.dpc .thanks.is-shown{display:block}
.dpc .thanks h2{color:#FF8A4C;margin:0 0 12px}
.dpc .thanks p{color:#A7B2C7;font-size:.98rem;margin:0 0 12px;max-width:52ch}
.dpc .err{display:none;color:#FF9166;font-size:.9rem;margin-top:14px;font-weight:400}
.dpc .err.is-shown{display:block}

/* ---------- EDCL diagram ---------- */
.dpc .edcl-grid{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(0,1fr);gap:clamp(30px,4vw,60px);align-items:center;margin:0 0 clamp(44px,5.5vw,68px)}
.dpc .dial-wrap{position:relative}
.dpc .dial-wrap::before{content:"";position:absolute;inset:6%;background:radial-gradient(circle at 50% 50%,rgba(30,90,200,.30),rgba(30,90,200,0) 66%);filter:blur(26px);pointer-events:none}
.dpc .dial{position:relative;width:100%;max-width:760px;height:auto;overflow:visible;display:block;margin:0 auto}
.dpc .dp-seg-p{fill:var(--pf);stroke:var(--pc);stroke-width:1.5}
.dpc .dp-seg-t{stroke:var(--pc);stroke-width:2;opacity:.7}
.dpc .dp-seg-n{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:21px;font-weight:500;letter-spacing:.5px;fill:#FFFFFF;text-anchor:middle;dominant-baseline:central}
.dpc .dp-seg-l{font-family:'Outfit',sans-serif;font-size:20px;font-weight:500;letter-spacing:.055em;fill:var(--fg);dominant-baseline:central}
.dpc .dp-seg{transition:opacity .5s var(--soft)}
.dpc .dp-seg .dp-seg-p{transition:stroke-width .45s var(--soft),filter .45s var(--soft)}
.dpc .dp-seg .dp-seg-l{transition:fill .45s var(--soft)}
.dpc .dial .dp-seg:hover .dp-seg-p,.dpc .dial .dp-seg.is-on .dp-seg-p{stroke-width:3.5;filter:drop-shadow(0 0 14px var(--pc))}
.dpc .dial .dp-seg:hover .dp-seg-l,.dpc .dial .dp-seg.is-on .dp-seg-l{fill:var(--pcl)}
.dpc .dial-core{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12.5px;font-weight:500;letter-spacing:2.4px;fill:var(--dim);text-anchor:middle}
.dpc .dial-core-b{font-family:'Outfit',sans-serif;font-size:46px;font-weight:500;letter-spacing:-.045em;fill:var(--fg);text-anchor:middle}
.dpc .dial-ring{fill:none;stroke:var(--rule);stroke-width:1}
.dpc .dial-hub{fill:none;stroke:rgba(78,140,240,.36);stroke-width:1}
.dpc .dial-sweep{fill:none;stroke:var(--signal);stroke-width:2;stroke-linecap:round;stroke-dasharray:30 1010;opacity:.95;animation:dp-sweep 9s linear infinite}
@keyframes dp-sweep{from{stroke-dashoffset:0}to{stroke-dashoffset:-1040}}
@media (prefers-reduced-motion:reduce){.dpc .dial-sweep{animation:none;opacity:0}}
.dpc .legend{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px;margin-top:28px;padding-top:22px;border-top:1px solid var(--rule)}
.dpc .legend span{display:inline-flex;align-items:center;gap:9px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase}
.dpc .legend i{width:11px;height:11px;background:currentColor;display:block;flex:0 0 auto}
.dpc .legend em{font-style:normal;color:var(--muted)}

/* ---------- phase cards ---------- */
.dpc .phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 clamp(28px,4vw,62px)}
.dpc .phase{padding:25px 0 29px;border-top:3px solid var(--pc,var(--rule));transition:box-shadow .4s var(--soft)}
.dpc .phase:hover{box-shadow:0 -3px 22px -6px var(--pc)}
.dpc .phase .idx{color:var(--pcl,var(--accent));display:block;margin-bottom:11px;font-size:12.5px}
.dpc .phase h3{font-size:1.16rem;font-weight:500;letter-spacing:-.028em;margin:0 0 9px;color:var(--fg);line-height:1.2}
.dpc .phase p{font-size:.95rem;color:var(--muted);line-height:1.6}
.dpc .phase .verb{display:block;margin-top:11px;color:var(--dim);font-size:.9rem;font-style:italic}
.dpc .phase em{color:var(--fg);font-style:normal;font-weight:400}
.dpc .after{margin-top:clamp(36px,5vw,54px);padding-top:28px;border-top:1px solid var(--rule2);max-width:78ch;color:var(--muted);font-size:1.02rem}
.dpc .after em{color:var(--fg);font-style:italic}
.dpc .after strong{display:block;margin-top:14px;color:var(--fg);font-weight:400;font-size:clamp(1.12rem,2.1vw,1.5rem);letter-spacing:-.032em;line-height:1.3}

/* ---------- band ---------- */
.dpc .band{background:var(--navy);padding:clamp(40px,5vw,58px) 0;border-top:0;border-bottom:3px solid var(--signal)}
.dpc .band-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.dpc .band-head{color:#FFFFFF;font-weight:500;letter-spacing:-.032em;line-height:1.15;font-size:clamp(1.32rem,2.8vw,2rem);max-width:24ch}
.dpc .band-sub{margin-top:8px;color:#AEB8CD;font-size:.95rem;font-weight:400}

/* ---------- quote ---------- */
.dpc .quote{background:var(--navy-2)}
.dpc .quote blockquote{margin:0;padding:0;border:0;font-style:normal;font-weight:300;letter-spacing:var(--tight);line-height:1.14;font-size:clamp(1.7rem,4.4vw,3.35rem);max-width:22ch;color:#FFFFFF}
.dpc .quote cite{display:block;margin-top:32px;color:var(--dim);font-style:normal}
.dpc .quote cite span{color:var(--blue)}

/* ---------- who it is for ---------- */
.dpc .forlist{margin:0;padding:0;list-style:none;max-width:82ch}
.dpc .forlist li{padding:25px 0;margin:0;border-top:1px solid var(--rule);list-style:none;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.5;color:var(--muted);letter-spacing:-.012em}
.dpc .forlist li:last-child{border-bottom:1px solid var(--rule)}
.dpc .forlist em{color:var(--fg);font-style:italic}
.dpc .forlist b{color:var(--fg);font-weight:400}

/* ---------- parts ---------- */
.dpc .parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 clamp(28px,4vw,58px)}
.dpc .part{padding:26px 0 30px;border-top:1px solid var(--rule)}
.dpc .part .idx{color:var(--accent);display:block;margin-bottom:11px}
.dpc .part h3{font-size:1.2rem;font-weight:500;letter-spacing:-.03em;margin:0 0 4px;color:var(--fg);line-height:1.2}
.dpc .part .ch{display:block;color:var(--dim);margin:0 0 12px}
.dpc .part p{font-size:.95rem;color:var(--muted);line-height:1.6}
.dpc .appx{margin-top:clamp(34px,4.5vw,52px);padding-top:26px;border-top:1px solid var(--rule2)}
.dpc .appx h3{font-size:1.05rem;font-weight:500;letter-spacing:-.03em;margin:0 0 18px;color:var(--fg)}
.dpc .appx ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 clamp(24px,3.4vw,48px)}
.dpc .appx li{list-style:none;margin:0;padding:12px 0;border-top:1px solid var(--rule);color:var(--muted);font-size:.93rem;line-height:1.5}
.dpc .appx li b{color:var(--accent);font-weight:500;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:1.2px;display:block;margin-bottom:4px}

/* ---------- timeline ---------- */
.dpc .rail{position:relative;margin:0 0 clamp(40px,5vw,60px);padding-top:6px}
.dpc .rail-line{height:1px;background:var(--rule2);width:100%;margin-bottom:0}
.dpc .rail-items{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.dpc .rail-item{padding:24px 0 0;position:relative}
.dpc .rail-item::before{content:"";position:absolute;top:-1px;left:0;width:9px;height:9px;background:var(--accent);transform:translateY(-4px)}
.dpc .rail-item.is-past::before{background:var(--dim)}
.dpc .rail-item .d{color:var(--fg);font-weight:400;font-size:1.02rem;letter-spacing:-.02em}
.dpc .rail-item .k{color:var(--dim);margin:0 0 9px}
.dpc .rail-item p{color:var(--muted);font-size:.93rem;line-height:1.55;margin-top:8px}
.dpc .rail-item .cd{display:inline-block;margin-top:11px;color:#FF8A4C;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;border-bottom:1px solid var(--rule2);padding-bottom:5px}

/* ---------- penalties ---------- */
.dpc .pen{width:100%;border-collapse:collapse;margin-top:8px}
.dpc .pen caption{text-align:left;color:var(--dim);padding-bottom:14px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase}
.dpc .pen th,.dpc .pen td{text-align:left;padding:15px 0;border-top:1px solid var(--rule);vertical-align:top;font-weight:300;font-size:.97rem;line-height:1.45;color:var(--muted)}
.dpc .pen th{color:var(--dim);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;padding-bottom:12px}
.dpc .pen td:last-child{text-align:right;white-space:nowrap;color:var(--fg);font-weight:400;padding-left:22px;width:250px}
.dpc .pen td:last-child b{font-weight:500;position:relative;z-index:1}
.dpc .pen tr:first-child td{color:var(--fg)}
.dpc .pen tr:first-child td:last-child{color:#FF8A4C;font-weight:500}
.dpc .pen-note{margin-top:20px;color:var(--dim);font-size:.9rem;line-height:1.6;max-width:76ch}

/* ---------- about ---------- */
.dpc .about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,330px);gap:clamp(34px,5vw,76px);align-items:start}
.dpc .about p{margin:0 0 17px;color:var(--muted);max-width:62ch}
.dpc .about p em{color:var(--fg);font-style:italic}
.dpc .about p strong{color:var(--fg);font-weight:400}
.dpc .stats{display:flex;gap:clamp(24px,4vw,54px);flex-wrap:wrap;margin:26px 0 30px;padding:24px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.dpc .stat b{display:block;font-size:clamp(1.65rem,3.2vw,2.4rem);font-weight:500;letter-spacing:-.04em;color:var(--fg);line-height:1}
.dpc .stat span{display:block;margin-top:7px;color:var(--dim)}
.dpc .facts{border-top:1px solid var(--rule2);padding-top:22px}
.dpc .facts h3{color:var(--dim);margin:0 0 4px;font-weight:500;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase}
.dpc .facts dl{margin:0}
.dpc .facts dt{color:var(--dim);margin-top:17px}
.dpc .facts dd{margin:5px 0 0;color:var(--fg);font-size:.95rem;line-height:1.5}
.dpc .textlink{display:inline-block;margin-top:13px;color:var(--fg);text-decoration:none;padding-bottom:8px;border-bottom:1px solid var(--rule2)}
.dpc .textlink:hover{border-bottom-color:var(--blue);color:var(--blue)}

/* ---------- closing ---------- */
.dpc .closing .big{font-weight:300;letter-spacing:var(--tight);line-height:1.14;font-size:clamp(1.6rem,4vw,2.7rem);max-width:26ch;margin:0 0 38px;color:var(--fg)}
.dpc .closing .offer{margin-top:0}

/* ---------- sticky ---------- */
.dpc-sticky{position:fixed;left:0;right:0;bottom:0;z-index:9990;font-family:'Outfit',system-ui,-apple-system,sans-serif;background:linear-gradient(180deg,#12224A,#0A1526);border-top:3px solid #F25C1B;box-shadow:0 -18px 46px rgba(0,0,0,.62);transform:translateY(110%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.dpc-sticky.is-shown{transform:translateY(0)}
.dpc-sticky .in{max-width:1240px;margin:0 auto;padding:14px clamp(20px,5.5vw,120px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dpc-sticky p{margin:0;color:#FFFFFF;font-size:1rem;font-weight:400;letter-spacing:-.015em}
.dpc-sticky p span{display:block;color:#94A1BC;font-size:.85rem;font-weight:300}
.dpc-sticky .btn{margin-top:0;width:auto;padding:14px 28px;display:inline-block;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#080808;background:#F25C1B;text-decoration:none;border:0;cursor:pointer}
.dpc-sticky .btn:hover{background:#FF7038;color:#080808}

/* ---------- motion ---------- */
.dpc.js .rv{opacity:0;transform:translateY(18px);transition:opacity 1.1s var(--settle),transform 1.1s var(--settle)}
.dpc .rv.is-in{opacity:1;transform:none}

/* hero entrance */
.dpc .hero-in{opacity:0;transform:translateY(22px);animation:dp-rise 1.15s var(--settle) forwards;animation-delay:var(--d,0ms)}
@keyframes dp-rise{to{opacity:1;transform:none}}
.dpc .cover-stage .cover-tilt{opacity:0;animation:dp-cover 1.9s var(--settle) .12s forwards,dp-float 8s ease-in-out 2.1s infinite}
@keyframes dp-cover{from{opacity:0;transform:translateY(34px) scale(.95)}to{opacity:1;transform:none}}
.dpc .book3d{animation:dp-book 2.1s var(--settle) .18s both}
@keyframes dp-book{from{transform:rotateY(-24deg) rotateX(5deg)}to{transform:rotateY(0) rotateX(0)}}

/* dial segments draw in */
.dpc.js .dial .dp-seg{opacity:0;transform:scale(.9);transform-origin:300px 300px;transition:opacity .5s var(--soft)}
.dpc .dial.is-in .dp-seg{animation:dp-spoke .85s var(--settle) forwards;animation-delay:var(--d,0ms)}
@keyframes dp-spoke{to{opacity:1;transform:none}}
.dpc .dial:hover.is-in .dp-seg{opacity:.28}
.dpc .dial.is-in .dp-seg:hover,.dpc .dial.is-in .dp-seg.is-on{opacity:1}

/* phase card rules wipe in */
.dpc .phase{position:relative;border-top-color:transparent}
.dpc .phase::before{content:"";position:absolute;top:-3px;left:0;right:0;height:3px;background:var(--pc,var(--rule));transform-origin:0 50%;transition:transform 1s var(--settle)}
.dpc.js .phase::before{transform:scaleX(0)}
.dpc .phase.is-in::before{transform:scaleX(1)}

/* timeline */
.dpc.js .rail-line{transform:scaleX(0);transform-origin:0 50%;transition:transform 1.4s var(--settle)}
.dpc .rail.is-in .rail-line{transform:scaleX(1)}
.dpc.js .rail-item::before{transform:translateY(-4px) scale(0);transition:transform .6s var(--settle);transition-delay:var(--d,0ms)}
.dpc .rail.is-in .rail-item::before{transform:translateY(-4px) scale(1)}

/* table rows */

/* legend chips */
.dpc.js .legend span{opacity:0;transform:translateY(8px);transition:opacity .7s var(--settle),transform .7s var(--settle);transition-delay:var(--d,0ms)}
.dpc .legend.is-in span{opacity:1;transform:none}

/* link + button micro-motion */
.dpc .textlink{transition:color .3s var(--soft),border-bottom-color .3s var(--soft)}
.dpc .forlist li{transition:color .4s var(--soft),padding-left .5s var(--settle)}
.dpc .forlist li:hover{color:var(--fg);padding-left:12px}

@media (prefers-reduced-motion:reduce){
  .dpc .rv,.dpc .hero-in,.dpc .cover-stage .cover-tilt{opacity:1;transform:none;transition:none;animation:none}
  .dpc .dial .dp-seg{opacity:1;transform:none;animation:none}
  .dpc .phase::before,.dpc .rail-line{transform:none;transition:none}
  .dpc .rail-item::before{transform:translateY(-4px);transition:none}
  .dpc .pen tbody tr,.dpc .legend span{opacity:1;transform:none;transition:none}
  .dpc .cover-stage::before{animation:none}
  .dpc .book3d{animation:none;transform:none}
  .dpc .cover-gloss{opacity:.3}
  .dpc .forlist li:hover{padding-left:0}
}

@media (max-width:980px){
  .dpc .edcl-grid{grid-template-columns:1fr;gap:36px}
  .dpc .rail-items{grid-template-columns:1fr;gap:0}
  .dpc .rail-item{padding:24px 0 26px;border-bottom:1px solid var(--rule)}
}
/* ================= extended motion ================= */

/* scroll progress */
.dpc-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:9995;background:rgba(255,255,255,.06);pointer-events:none}
.dpc-progress i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,#0B4BC5,#4E8CF0 42%,var(--signal));will-change:transform}

/* hero ambience — drifting orbs + a slow grid */
.dpc .hero-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.dpc .hero-fx::before{content:"";position:absolute;inset:-40% -10%;opacity:.16;
  background-image:linear-gradient(rgba(120,170,255,.30) 1px,transparent 1px),linear-gradient(90deg,rgba(120,170,255,.30) 1px,transparent 1px);
  background-size:86px 86px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 38%,#000 6%,transparent 62%);
  mask-image:radial-gradient(ellipse at 50% 38%,#000 6%,transparent 62%);
  animation:dp-grid 34s linear infinite}
@keyframes dp-grid{to{transform:translate3d(-86px,-86px,0)}}
.dpc .hero-fx span{position:absolute;display:block;border-radius:50%;filter:blur(62px);opacity:.30}
.dpc .hero-fx span:nth-child(1){width:340px;height:340px;left:-4%;top:8%;background:#1E56C8;animation:dp-orb1 22s ease-in-out infinite}
.dpc .hero-fx span:nth-child(2){width:280px;height:280px;right:6%;top:-6%;background:#5227C4;animation:dp-orb2 27s ease-in-out infinite}
.dpc .hero-fx span:nth-child(3){width:230px;height:230px;right:22%;bottom:-12%;background:#B23C08;opacity:.17;animation:dp-orb3 31s ease-in-out infinite}
@keyframes dp-orb1{0%,100%{transform:translate(0,0)}50%{transform:translate(70px,52px)}}
@keyframes dp-orb2{0%,100%{transform:translate(0,0)}50%{transform:translate(-64px,60px)}}
@keyframes dp-orb3{0%,100%{transform:translate(0,0)}50%{transform:translate(46px,-56px)}}

/* word-by-word headline reveal */
.dpc .split{perspective:700px}
.dpc.js .split .w{display:inline-block;opacity:0;transform:translateY(.5em) rotateX(-52deg);transform-origin:50% 100%;
  transition:opacity .72s var(--settle) var(--wd,0ms),transform .85s var(--settle) var(--wd,0ms)}
.dpc.js .split.words-in .w{opacity:1;transform:none}

/* animated band shimmer */
.dpc .band{position:relative;overflow:hidden}
.dpc .band::after{content:"";position:absolute;top:0;bottom:0;width:46%;left:-50%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(120,170,255,.16) 46%,transparent);
  animation:dp-band 7.5s var(--soft) infinite}
@keyframes dp-band{0%{left:-55%}62%,100%{left:115%}}

/* dial extras */
.dpc .dial-orbit{transform-origin:300px 300px;animation:dp-orbit 15s linear infinite}
.dpc .dial-orbit-dot{fill:var(--signal);filter:drop-shadow(0 0 8px rgba(242,92,27,.9))}
@keyframes dp-orbit{to{transform:rotate(360deg)}}
.dpc .dial-hub{animation:dp-hub 5.5s ease-in-out infinite}
@keyframes dp-hub{0%,100%{opacity:.5;r:100}50%{opacity:1;r:106}}
.dpc .dial-core-b{animation:dp-coreglow 5.5s ease-in-out infinite}
@keyframes dp-coreglow{0%,100%{filter:none}50%{filter:drop-shadow(0 0 14px rgba(110,165,255,.55))}}

/* rail travelling pulse */
.dpc .rail-line{position:relative;overflow:visible}
.dpc .rail-line i{position:absolute;top:-2px;left:0;width:54px;height:5px;
  background:linear-gradient(90deg,transparent,var(--signal),transparent);opacity:0}
.dpc .rail.is-in .rail-line i{animation:dp-railpulse 4.6s var(--soft) 1.2s infinite}
@keyframes dp-railpulse{0%{left:0;opacity:0}12%{opacity:1}86%{opacity:1}100%{left:100%;opacity:0}}
.dpc .rail-item:last-child::before{box-shadow:0 0 0 0 rgba(242,92,27,.55);animation:dp-ping 2.8s ease-out 1.6s infinite}
@keyframes dp-ping{0%{box-shadow:0 0 0 0 rgba(242,92,27,.55)}70%,100%{box-shadow:0 0 0 13px rgba(242,92,27,0)}}

/* penalty magnitude bars */
.dpc .pen td:last-child{position:relative;isolation:isolate}
.dpc .pen-bar{position:absolute;right:0;top:50%;height:28px;margin-top:-14px;width:var(--p,0);
  background:linear-gradient(90deg,rgba(242,92,27,0),rgba(242,92,27,.30));z-index:0;
  transform:scaleX(0);transform-origin:100% 50%;transition:transform 1.15s var(--settle) var(--d,0ms)}
.dpc .pen.is-in .pen-bar{transform:scaleX(1)}
.dpc .pen tbody tr{transition:background .35s var(--soft)}
.dpc .pen tbody tr:hover{background:rgba(255,255,255,.035)}

/* hover lifts */
.dpc .phase,.dpc .part,.dpc .appx li{transition:transform .5s var(--settle),box-shadow .45s var(--soft),border-color .45s var(--soft)}
.dpc .phase:hover,.dpc .part:hover{transform:translateY(-4px)}
.dpc .appx li:hover{transform:translateX(5px);color:var(--fg)}
.dpc .stat b{transition:transform .5s var(--settle)}
.dpc .stat:hover b{transform:translateY(-3px)}
.dpc .clock-item b{transition:text-shadow .5s var(--soft)}
.dpc .clock-item:hover b{text-shadow:0 0 22px rgba(242,92,27,.6)}

/* textlink underline sweep */
.dpc .textlink{position:relative;border-bottom-color:transparent}
.dpc .textlink::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--rule2);
  transform:scaleX(1);transform-origin:0 50%;transition:transform .5s var(--settle),background .4s var(--soft)}
.dpc .textlink:hover::after{background:var(--blue);animation:dp-underline .62s var(--settle)}
@keyframes dp-underline{0%{transform:scaleX(0);transform-origin:0 50%}100%{transform:scaleX(1);transform-origin:0 50%}}

/* form field entrance */
.dpc.js .offer .field,.dpc.js .offer .btn{opacity:0;transform:translateY(10px);
  transition:opacity .7s var(--settle) var(--d,0ms),transform .7s var(--settle) var(--d,0ms),
             border-color .35s var(--soft),background .35s var(--soft),box-shadow .35s var(--soft)}
.dpc.js .offer.fields-in .field,.dpc.js .offer.fields-in .btn{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .dpc-progress{display:none}
  .dpc .hero-fx{display:none}
  .dpc.js .split .w{opacity:1;transform:none;transition:none}
  .dpc .band::after,.dpc .dial-orbit,.dpc .dial-hub,.dpc .dial-core-b{animation:none}
  .dpc .rail-line i,.dpc .rail-item:last-child::before{animation:none}
  .dpc .rail-line i{display:none}
  .dpc .pen-bar{transform:scaleX(1);transition:none}
  .dpc .phase:hover,.dpc .part:hover{transform:none}
  .dpc.js .offer .field,.dpc.js .offer .btn{opacity:1;transform:none}
}

@media (max-width:1080px){
  .dpc .quick-row{grid-template-columns:1fr}
  .dpc .btn-quick{width:100%;padding:20px 24px}
}
@media (max-width:880px){
  .dpc .hero-grid{grid-template-columns:1fr;gap:26px}
  .dpc .cover-stage{max-width:212px}
  .dpc .cover-meta{margin-top:18px}
  .dpc .about-grid{grid-template-columns:1fr;gap:32px}
  .dpc .fields{grid-template-columns:1fr}
  .dpc .legend{grid-template-columns:1fr 1fr}
  .dpc .band-inner{flex-direction:column;align-items:flex-start}
  .dpc-sticky .btn{width:100%;text-align:center}
  .dpc .closing{padding-bottom:160px}
  .dpc .pen td:last-child{padding-left:14px}
  .dpc .offer-quick{margin-top:26px}
}
@media (max-width:520px){
  .dpc .clock{gap:20px}
  .dpc .clock-item{flex:1 1 100%}
  .dpc .legend{grid-template-columns:1fr}
}
