html,body{margin:0;min-height:100%;background:#061026}
*{box-sizing:border-box}
body{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;color:#fff}

.page{min-height:100vh;position:relative;overflow:hidden;background:
radial-gradient(circle at 62% 24%,rgba(42,87,185,.21),transparent 28%),
radial-gradient(circle at 88% 72%,rgba(31,77,255,.25),transparent 27%),
linear-gradient(120deg,#020814 0%,#071126 48%,#0a1836 100%)}

.shell{position:relative;z-index:3;max-width:1536px;margin:0 auto;padding:42px 54px 28px}
.header{margin-bottom:56px}
.brand{display:flex;align-items:center;gap:22px}
.brand-monogram{font-family:Georgia,serif;font-size:52px;line-height:.8;letter-spacing:-.16em}
.brand-line{width:1px;height:54px;background:rgba(255,255,255,.24)}
.brand-text{letter-spacing:.34em;font-size:17px;font-weight:500}
.brand-text strong{font-weight:800}

.layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(560px,1.06fr);gap:24px;align-items:center}
.left{padding:28px 0 0;z-index:5}
.eyebrow{color:#5f83ff;font-size:15px;letter-spacing:.40em;font-weight:700;margin-bottom:16px}

h1{margin:0;max-width:730px;font-size:clamp(3.55rem,4.8vw,5.9rem);line-height:.96;letter-spacing:-.052em;font-weight:800}
h1 .blue{color:#5271ff}

.lead{margin:32px 0 38px;max-width:680px;font-size:20px;line-height:1.5;color:#b6bfd6}

.count-panel{width:min(100%,700px);padding:26px 26px 32px;border:1px solid rgba(119,151,255,.70);border-radius:31px;background:linear-gradient(180deg,rgba(16,33,77,.62),rgba(6,14,35,.86));box-shadow:inset 0 0 30px rgba(66,102,255,.08),0 0 28px rgba(48,86,255,.11);backdrop-filter:blur(14px)}
.caption{display:flex;justify-content:center;align-items:center;gap:17px;margin-bottom:24px;color:#bdc8e7;font-size:11px;letter-spacing:.28em}
.caption i{display:block;width:22px;height:1px;background:#8796bc}

.countdown{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:nowrap}
.unit{display:flex;align-items:center;gap:15px;max-width:178px;opacity:1;transform:scale(1);transition:.42s ease}
.unit.hidden{opacity:0;transform:scale(.75);max-width:0;gap:0;overflow:hidden}

.cell{width:128px;padding:19px 10px 16px;text-align:center;border-radius:16px;border:1px solid rgba(136,164,255,.8);background:linear-gradient(180deg,rgba(11,27,66,.95),rgba(7,18,47,.98));box-shadow:inset 0 0 18px rgba(73,110,255,.08),0 0 17px rgba(57,91,230,.13)}
.cell b{display:block;font-size:58px;line-height:1;font-weight:800;letter-spacing:-.05em}
.cell small{display:block;margin-top:12px;color:#607cff;font-size:12px;font-weight:800;letter-spacing:.08em}
.unit em{font-style:normal;font-size:35px}

.stay{width:min(100%,590px);margin-top:31px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:12px 20px;border:1px solid rgba(114,145,255,.53);border-radius:999px;background:rgba(2,9,27,.55)}
.lock{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#3246cc,#1a276e)}
.stay strong{display:block;font-size:13px}
.stay small{display:block;margin-top:3px;color:#8d98b4;font-size:11px}
.arrow{font-size:24px;color:#6384ff}

.footer-mark{display:flex;align-items:center;gap:19px;margin-top:42px;color:#99a6c5;font-size:10px;letter-spacing:.34em}
.footer-mark i{width:95px;height:1px;background:#48577d}

/* GIFT AREA */
.right{position:relative;min-height:790px;display:flex;align-items:center;justify-content:center;overflow:visible}
.platform{position:absolute;bottom:48px;width:530px;height:82px;border-radius:50%;background:linear-gradient(180deg,#26366c,#101a3c);border:2px solid rgba(185,199,255,.28);box-shadow:0 0 44px rgba(73,107,255,.55),inset 0 0 24px rgba(255,255,255,.06)}
.gift-halo{position:absolute;width:650px;height:480px;bottom:25px;border-radius:50%;background:radial-gradient(ellipse,rgba(65,109,255,.44),rgba(65,109,255,0) 70%);filter:blur(20px);animation:haloPulse 2.2s ease-in-out infinite}

.gift-animation{position:relative;width:640px;height:650px;z-index:4}
.gift-frame{position:absolute;left:50%;top:50%;max-width:100%;max-height:100%;transform:translate(-50%,-50%) scale(.98);opacity:0;filter:drop-shadow(0 28px 45px rgba(0,0,0,.45));transition:opacity .24s ease,transform .34s cubic-bezier(.2,.8,.2,1)}
.gift-frame.active{opacity:1}
.frame-closed.active{animation:closedBreath 2.8s ease-in-out infinite,closedShake 4.6s ease-in-out infinite}
.frame-opening.active{transform:translate(-50%,-50%) scale(1.02)}
.frame-open.active{transform:translate(-50%,-50%) scale(1.05)}

.energy-burst{position:absolute;z-index:3;left:50%;top:47%;width:370px;height:180px;transform:translate(-50%,-50%) scale(.6);opacity:0;border-radius:50%;background:radial-gradient(ellipse,rgba(255,231,156,.98),rgba(107,148,255,.52) 37%,transparent 74%);filter:blur(15px);transition:.5s ease}
.right.opening .energy-burst,
.right.opened .energy-burst{opacity:1;transform:translate(-50%,-50%) scale(1.15)}

.spark{position:absolute;z-index:8;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff,0 0 20px #6797ff;animation:spark 2.2s ease-in-out infinite}
.s1{left:17%;top:20%}.s2{right:10%;top:16%;animation-delay:.4s}.s3{left:26%;bottom:20%;animation-delay:.9s}.s4{right:20%;bottom:26%;animation-delay:1.3s}.s5{right:2%;top:39%;animation-delay:1.7s}

.movement-copy{position:absolute;z-index:9;color:rgba(255,255,255,.85);font-size:13px;line-height:1.35;opacity:.78;transition:.3s ease}
.copy-a{right:2%;top:23%}
.copy-b{right:2%;top:55%}
.right.opened .movement-copy{opacity:0}

.reward-card{position:absolute;z-index:12;left:50%;bottom:15%;width:310px;padding:23px 24px;border-radius:22px;text-align:center;color:#111935;background:linear-gradient(180deg,#fff,#e1e8ff);box-shadow:0 28px 80px rgba(0,0,0,.48),0 0 38px rgba(87,125,255,.40);opacity:0;transform:translate(-50%,42px) scale(.86);transition:.8s cubic-bezier(.2,.8,.2,1)}
.reward-card small{display:block;font-size:10px;letter-spacing:.17em;color:#68759c}
.reward-card strong{display:block;margin-top:7px;font-size:24px}
.reward-card a{display:inline-block;margin-top:14px;color:#3158e8;text-decoration:none;font-weight:800}
.right.opened .reward-card{opacity:1;transform:translate(-50%,-40px) scale(1)}

.beam{position:absolute;z-index:1;width:100px;height:600px;background:linear-gradient(180deg,rgba(100,146,255,.30),rgba(100,146,255,0));filter:blur(18px);transform:rotate(17deg);top:-180px}
.beam-a{right:4%}.beam-b{right:19%;opacity:.3}

.stars{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.5px);background-size:90px 90px;opacity:.11}
.error-page{min-height:100vh;display:grid;place-items:center;text-align:center;background:#061026}

@keyframes closedBreath{
0%,100%{transform:translate(-50%,-50%) scale(.98)}
50%{transform:translate(-50%,-52%) scale(.995)}
}
@keyframes closedShake{
0%,78%,100%{margin-left:0;rotate:0deg}
82%{margin-left:-4px;rotate:-.5deg}
86%{margin-left:5px;rotate:.65deg}
90%{margin-left:-3px;rotate:-.45deg}
94%{margin-left:2px;rotate:.3deg}
}
@keyframes haloPulse{
0%,100%{opacity:.55;transform:scale(.96)}
50%{opacity:1;transform:scale(1.04)}
}
@keyframes spark{
0%,100%{opacity:.1;transform:translateY(0) scale(.5)}
50%{opacity:1;transform:translateY(-16px) scale(1.4)}
}

@media(max-width:1180px){
.shell{padding:32px 28px}
.layout{grid-template-columns:1fr}
.right{min-height:580px}
.gift-animation{width:560px;height:540px}
.platform{width:450px}
.count-panel{width:100%;max-width:760px}
.stay{max-width:760px}
}

@media(max-width:720px){
.shell{padding:22px 16px}
.header{margin-bottom:34px}
.brand-monogram{font-size:38px}
.brand-line{height:40px}
.brand-text{font-size:11px;letter-spacing:.25em}
.eyebrow{font-size:10px;letter-spacing:.28em}
h1{font-size:clamp(2.8rem,12vw,4.25rem)}
.lead{font-size:16px}
.count-panel{padding:18px 12px;border-radius:23px}
.countdown{gap:6px}
.unit{gap:6px}
.cell{width:82px;padding:14px 7px}
.cell b{font-size:38px}
.cell small{font-size:8px}
.unit em{font-size:24px}
.stay{border-radius:22px}
.right{min-height:430px}
.gift-animation{width:390px;height:390px}
.platform{width:320px;height:54px;bottom:32px}
.movement-copy{display:none}
.footer-mark i{width:45px}
.footer-mark{gap:9px;letter-spacing:.22em}
}

@media(prefers-reduced-motion:reduce){
.frame-closed.active,.spark,.gift-halo{animation:none!important}
}


/* v7 - maggiore enfasi dei testi */
.eyebrow{
    text-shadow:0 0 18px rgba(78,116,255,.42);
}
h1{
    text-shadow:0 10px 38px rgba(0,0,0,.35);
}
h1 .blue{
    background:linear-gradient(90deg,#8399ff 0%,#5a76ff 45%,#3558ff 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    filter:drop-shadow(0 0 20px rgba(68,99,255,.22));
}
.lead{
    color:#d9e0f5;
    font-size:21px;
}
.lead-strong{
    color:#fff;
    font-weight:700;
    text-shadow:0 3px 18px rgba(0,0,0,.3);
}
.lead-soft{
    color:#b9c6e4;
    font-weight:500;
}
.cell b{
    text-shadow:0 0 20px rgba(101,132,255,.18);
}
.cell small{
    color:#7891ff;
    text-shadow:0 0 12px rgba(70,99,255,.30);
}
.caption{
    color:#d6def5;
}
.reward-card strong{
    font-size:26px;
}
.reward-card a{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(90deg,#3454df,#5a79ff);
    box-shadow:0 10px 28px rgba(64,92,229,.28);
}


/* v9 - logo reale Capital Pursuit solo sulla landing */
.brand-logo-only{
    display:flex;
    align-items:center;
}
.capital-pursuit-logo{
    display:block;
    width:200px;
    max-width:42vw;
    height:auto;
    object-fit:contain;
}
@media(max-width:720px){
    .capital-pursuit-logo{
        width:155px;
        max-width:55vw;
    }
}

/* Promo management additions: intentionally limited to new content only. */
.promo-icon{display:block;width:74px;height:74px;object-fit:contain;margin:18px 0 14px;filter:drop-shadow(0 12px 26px rgba(70,99,255,.28))}
.marketing-copy{max-width:680px;margin:18px 0 24px;padding:16px 18px;border-left:3px solid rgba(104,132,255,.72);background:rgba(31,53,116,.16);border-radius:0 14px 14px 0;color:#b9c6e4;line-height:1.65;font-size:14px}
.promo-live{margin-top:26px}
@media(max-width:720px){.promo-icon{width:60px;height:60px}.marketing-copy{font-size:13px}}


/* 2026-09-14 - compact countdown product thumbnail + restored waiting gift motion */
.countdown-product-thumb{
    position:absolute;
    z-index:11;
    left:7%;
    bottom:13%;
    width:132px;
    padding:7px;
    border:1px solid rgba(132,159,255,.46);
    border-radius:15px;
    background:rgba(5,15,39,.86);
    box-shadow:0 14px 38px rgba(0,0,0,.32),0 0 24px rgba(73,107,255,.18);
    backdrop-filter:blur(10px);
}
.countdown-product-thumb img{
    display:block;
    width:100%;
    height:88px;
    object-fit:contain;
    border-radius:10px;
    background:rgba(4,11,29,.7);
}
.countdown-product-thumb span{
    display:block;
    overflow:hidden;
    margin-top:6px;
    color:#d7e0ff;
    font-size:9px;
    font-weight:700;
    line-height:1.25;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.right.opened .countdown-product-thumb{display:none}

.right.waiting .gift-animation{
    animation:giftWaitingFloat 3.4s ease-in-out infinite;
    transform-origin:50% 64%;
}
.right.waiting.gift-nudge .gift-animation{
    animation:giftWaitingNudge .72s cubic-bezier(.36,.07,.19,.97) both;
}
@keyframes giftWaitingFloat{
    0%,100%{transform:translateY(0) rotate(0deg)}
    50%{transform:translateY(-10px) rotate(.25deg)}
}
@keyframes giftWaitingNudge{
    0%,100%{transform:translateX(0) translateY(0) rotate(0deg)}
    18%{transform:translateX(-8px) translateY(-4px) rotate(-1.1deg)}
    36%{transform:translateX(9px) translateY(-7px) rotate(1.25deg)}
    54%{transform:translateX(-6px) translateY(-4px) rotate(-.85deg)}
    72%{transform:translateX(5px) translateY(-2px) rotate(.65deg)}
}
@media(max-width:1180px){
    .countdown-product-thumb{left:10%;bottom:10%;width:124px}
    .countdown-product-thumb img{height:80px}
}
@media(max-width:720px){
    .countdown-product-thumb{left:18px;bottom:14px;width:104px;padding:6px}
    .countdown-product-thumb img{height:66px}
    .countdown-product-thumb span{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
    .right.waiting .gift-animation,.right.waiting.gift-nudge .gift-animation{animation:none!important}
}


/* 2026-09-14 - countdown layout: product over title, promo icon over gift */
.left h1{
    font-size:clamp(3.15rem,4.25vw,5.15rem);
}
.countdown-product-preview{
    width:156px;
    height:112px;
    margin:4px 0 16px;
    padding:7px;
    border:1px solid rgba(132,159,255,.42);
    border-radius:16px;
    background:rgba(5,15,39,.76);
    box-shadow:0 14px 34px rgba(0,0,0,.26),0 0 22px rgba(73,107,255,.15);
    backdrop-filter:blur(8px);
}
.countdown-product-preview img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:10px;
}
.promo-icon-gift{
    position:absolute;
    z-index:10;
    top:7%;
    left:50%;
    width:86px;
    height:86px;
    margin:0;
    transform:translateX(-50%);
    object-fit:contain;
    filter:drop-shadow(0 12px 28px rgba(70,99,255,.34));
}
@media(max-width:1180px){
    .promo-icon-gift{top:3%;width:78px;height:78px}
    .countdown-product-preview{width:146px;height:104px}
}
@media(max-width:720px){
    .left h1{font-size:clamp(2.55rem,10.5vw,3.75rem)}
    .countdown-product-preview{width:124px;height:92px;margin-bottom:12px}
    .promo-icon-gift{top:2%;width:66px;height:66px}
}

/* 2026-09-14 - countdown refinement: product on right, promo icon reserved for checkout */
.left > .eyebrow{
    width:min(100%,700px);
    text-align:center;
}
.countdown-product-preview{
    margin:0;
}
.countdown-product-preview-right{
    position:absolute;
    z-index:10;
    top:1.5%;
    left:50%;
    width:190px;
    height:136px;
    transform:translateX(-50%);
    padding:8px;
    border:1px solid rgba(132,159,255,.46);
    border-radius:17px;
    background:rgba(5,15,39,.80);
    box-shadow:0 16px 40px rgba(0,0,0,.28),0 0 26px rgba(73,107,255,.18);
    backdrop-filter:blur(8px);
}
.countdown-product-preview-right img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:11px;
}
/* The promo icon is intentionally not rendered on the countdown page.
   icon_path remains stored and can be reused by checkout/payment. */
@media(max-width:1180px){
    .countdown-product-preview-right{top:0;width:176px;height:126px}
}
@media(max-width:720px){
    .left > .eyebrow{width:100%;text-align:center}
    .countdown-product-preview-right{top:0;width:140px;height:102px;padding:6px}
}
