/* Alina Chopra — Signature Editorial */
.ace-signature {
    --ace-pink:#f05ac8;
    --ace-cyan:#67f2df;
    --ace-bg:#100b1d;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(ellipse at 8% 45%,rgba(108,31,103,.16),transparent 47%),
        radial-gradient(ellipse at 94% 85%,rgba(19,124,126,.11),transparent 39%),
        var(--ace-bg);
    color:#f9f4fa;
    padding:clamp(90px,10vw,150px) 24px 75px;
}
.ace-signature *{box-sizing:border-box}
.ace-shell{position:relative;z-index:2;max-width:1250px;margin:auto}
.ace-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(90px);opacity:.13}
.ace-orb-one{width:480px;height:480px;top:-230px;left:-210px;background:var(--ace-pink)}
.ace-orb-two{width:430px;height:430px;bottom:-240px;right:-150px;background:var(--ace-cyan)}
.ace-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(45px,7vw,110px)}
.ace-copy{position:relative;min-width:0}
.ace-kicker{display:flex;align-items:center;gap:15px;color:var(--ace-cyan);font:700 10px/1.5 inherit;letter-spacing:.26em;text-transform:uppercase;margin-bottom:52px}
.ace-kicker-line{display:block;width:38px;height:1px;background:var(--ace-cyan);box-shadow:0 0 13px var(--ace-cyan)}
.ace-small-index{color:#a88ca9;font-size:10px;letter-spacing:.25em;margin-bottom:18px}
.ace-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(43px,5.1vw,78px);font-weight:400;line-height:1.07;letter-spacing:-.055em;color:#fff7fd;margin:0;max-width:710px;text-wrap:balance}
.ace-title-rule{display:flex;align-items:center;gap:14px;margin:29px 0 28px;color:var(--ace-pink)}
.ace-title-rule span{width:82px;height:1px;background:linear-gradient(90deg,var(--ace-pink),transparent)}
.ace-title-rule i{font-size:14px;font-style:normal}
.ace-subtitle{font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2.2vw,32px);font-weight:400;line-height:1.3;color:var(--ace-pink);margin:0 0 24px;max-width:570px}
.ace-prose{max-width:620px}
.ace-prose p{font-size:15px;line-height:1.95;color:#c9c0d1;margin:0 0 19px}
.ace-cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:33px}
.ace-btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:55px;padding:14px 23px;border:1px solid transparent;border-radius:5px;text-decoration:none!important;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;transition:transform .25s,box-shadow .25s,background .25s}
.ace-btn:hover{transform:translateY(-3px)}
.ace-btn:focus-visible{outline:3px solid #fff;outline-offset:4px}
.ace-btn-primary{background:var(--ace-pink);color:#180d20!important;box-shadow:0 9px 36px rgba(240,90,200,.18)}
.ace-btn-primary:hover{box-shadow:0 12px 42px rgba(240,90,200,.35)}
.ace-btn-outline{color:var(--ace-cyan)!important;border-color:rgba(103,242,223,.7);background:rgba(103,242,223,.045)}
.ace-btn-outline:hover{background:rgba(103,242,223,.12)}
.ace-btn-arrow{font-size:17px;font-weight:400}
.ace-btn-symbol{font-size:15px}
.ace-copy-footer{display:flex;align-items:center;gap:13px;margin-top:46px;color:#a78fae;font-size:9px;letter-spacing:.23em}
.ace-footer-diamond{font-size:23px;color:var(--ace-cyan)}
.ace-footer-line{height:1px;flex:1;max-width:80px;background:rgba(255,255,255,.16)}
.ace-visual{position:relative;min-width:0;padding:19px 25px 27px 0}
.ace-image-frame{position:relative;width:100%;height:clamp(470px,48vw,660px);overflow:hidden;border-radius:240px 240px 12px 12px;background:linear-gradient(140deg,#2c1a35,#120d20 60%,#123c3f);border:1px solid rgba(240,90,200,.27);box-shadow:0 25px 95px rgba(0,0,0,.4),0 0 55px rgba(240,90,200,.08)}
.ace-portrait{width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.ace-image-frame:hover .ace-portrait{transform:scale(1.045)}
.ace-image-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(9,5,20,.1) 60%,rgba(9,5,20,.83) 100%);pointer-events:none}
.ace-image-caption{position:absolute;bottom:31px;left:30px;right:20px;display:flex;align-items:center;gap:13px;color:#f2e7f4;font-size:9px;letter-spacing:.19em;line-height:1.6}
.ace-caption-line{width:25px;min-width:25px;height:1px;background:var(--ace-pink)}
.ace-image-side-label{position:absolute;right:0;top:50%;transform:translate(45%,-50%) rotate(90deg);white-space:nowrap;font-size:9px;letter-spacing:.25em;color:#b09ab5}
.ace-floating-seal{position:absolute;right:-11px;bottom:67px;width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#161021;border:1px solid rgba(103,242,223,.7);box-shadow:0 0 0 8px rgba(12,9,23,.75),0 0 35px rgba(103,242,223,.17);color:var(--ace-cyan);transform:rotate(12deg)}
.ace-floating-seal span{font-size:9px;letter-spacing:.22em}
.ace-floating-seal strong{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.15}
.ace-frame-corner{position:absolute;z-index:2;width:55px;height:55px;pointer-events:none}
.ace-corner-tl{top:27px;left:27px;border-top:1px solid var(--ace-cyan);border-left:1px solid var(--ace-cyan);border-radius:30px 0 0 0}
.ace-corner-br{bottom:20px;right:20px;border-bottom:1px solid var(--ace-pink);border-right:1px solid var(--ace-pink)}
.ace-portrait-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;background:radial-gradient(circle at 50% 35%,rgba(240,90,200,.19),transparent 55%),linear-gradient(140deg,#27172f,#100c1d)}
.ace-placeholder-mark{font-family:Georgia,serif;font-size:clamp(85px,12vw,160px);letter-spacing:-.1em;color:rgba(255,255,255,.18)}
.ace-placeholder-mark span{font-size:.3em;vertical-align:middle;color:var(--ace-pink)}
.ace-placeholder-text{letter-spacing:.45em;font-size:11px;color:#a68aa8}
.ace-stat-divider{display:flex;align-items:center;gap:23px;margin-top:90px;color:#ad98b3;font-size:10px;letter-spacing:.25em;white-space:nowrap}
.ace-divider-line{height:1px;flex:1;background:linear-gradient(90deg,rgba(240,90,200,.5),rgba(103,242,223,.4))}
.ace-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.ace-stat-item{padding:28px 32px 30px;position:relative}
.ace-stat-item:first-child{padding-left:0}
.ace-stat-item:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:rgba(255,255,255,.12)}
.ace-stat-value{font-family:Georgia,serif;font-size:clamp(38px,4.5vw,62px);line-height:1.1;letter-spacing:-.04em;color:var(--ace-pink);font-variant-numeric:tabular-nums}
.ace-stat-item:nth-child(2) .ace-stat-value{color:var(--ace-cyan)}
.ace-stat-name{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#b8a9c0;margin-top:10px;line-height:1.6}
@media(min-width:901px){
    .ace-copy,.ace-visual{animation:ace-arrive .85s ease-out both}
    .ace-visual{animation-delay:.16s}
    @keyframes ace-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:900px){
    .ace-signature{padding:80px 22px 65px}
    .ace-grid{grid-template-columns:1fr;gap:55px}
    .ace-copy{max-width:720px}
    .ace-visual{width:min(100%,560px);margin:auto;padding-right:23px}
    .ace-image-frame{height:clamp(450px,110vw,650px)}
    .ace-image-side-label{right:0}
    .ace-stat-divider{margin-top:65px}
}
@media(max-width:580px){
    .ace-signature{padding:68px 20px 55px}
    .ace-kicker{margin-bottom:34px;font-size:9px;letter-spacing:.18em}
    .ace-title{font-size:clamp(41px,11vw,57px)}
    .ace-prose p{font-size:14px;line-height:1.85}
    .ace-cta{flex-direction:column}
    .ace-btn{width:100%}
    .ace-visual{padding:0 14px 18px 0}
    .ace-image-frame{height:490px}
    .ace-floating-seal{width:79px;height:79px;right:-4px;bottom:45px}
    .ace-floating-seal strong{font-size:27px}
    .ace-image-side-label{display:none}
    .ace-stat-divider{gap:10px;font-size:8px;letter-spacing:.14em}
    .ace-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ace-stat-item{padding:23px 8px}
    .ace-stat-item:first-child{padding-left:0}
    .ace-stat-value{font-size:clamp(27px,8vw,43px)}
    .ace-stat-name{font-size:8px;letter-spacing:.06em}
}
@media(prefers-reduced-motion:reduce){
    .ace-signature *{animation:none!important;transition:none!important}
}


/* Signature editorial: decorative geometry and motion */
.ace-signature {
    background:
        radial-gradient(ellipse at 10% 22%,rgba(182,39,139,.16),transparent 48%),
        radial-gradient(ellipse at 88% 75%,rgba(20,158,159,.12),transparent 44%),
        linear-gradient(125deg,#180b23 0%,#100b1d 51%,#081b25 100%);
}

.ace-pattern {
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.35;
    background-image:
        repeating-linear-gradient(45deg,
            transparent 0,
            transparent 74px,
            rgba(240,90,200,.085) 75px,
            transparent 76px,
            transparent 150px),
        repeating-linear-gradient(-45deg,
            transparent 0,
            transparent 74px,
            rgba(103,242,223,.065) 75px,
            transparent 76px,
            transparent 150px);
    -webkit-mask-image:linear-gradient(
        90deg,rgba(0,0,0,.9),rgba(0,0,0,.28) 53%,rgba(0,0,0,.85));
    mask-image:linear-gradient(
        90deg,rgba(0,0,0,.9),rgba(0,0,0,.28) 53%,rgba(0,0,0,.85));
    animation:ace-pattern-drift 30s ease-in-out infinite alternate;
}

.ace-signature::before {
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    left:-225px;
    top:14%;
    border:1px solid rgba(240,90,200,.15);
    border-radius:50%;
    box-shadow:
        0 0 0 55px rgba(240,90,200,.025),
        0 0 0 110px rgba(240,90,200,.018);
    pointer-events:none;
}

.ace-signature::after {
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    right:-185px;
    bottom:8%;
    transform:rotate(45deg);
    border:1px solid rgba(103,242,223,.18);
    box-shadow:0 0 0 48px rgba(103,242,223,.018);
    pointer-events:none;
}

.ace-light-sweep {
    position:absolute;
    z-index:0;
    width:48%;
    height:130%;
    top:-15%;
    left:-65%;
    pointer-events:none;
    transform:skewX(-20deg);
    background:linear-gradient(
        90deg,
        transparent,
        rgba(240,90,200,.022),
        rgba(103,242,223,.035),
        transparent);
    animation:ace-sweep 17s ease-in-out infinite;
}

.ace-copy {
    animation:ace-copy-enter 1s cubic-bezier(.2,.7,.2,1) both;
}

.ace-title {
    animation:ace-title-enter 1.1s cubic-bezier(.2,.7,.2,1) both;
}

.ace-subtitle {
    animation:ace-copy-enter 1.1s .18s both;
}

.ace-prose {
    animation:ace-copy-enter 1.1s .28s both;
}

.ace-cta {
    animation:ace-copy-enter 1.1s .4s both;
}

.ace-image-frame {
    animation:ace-frame-enter 1.2s cubic-bezier(.2,.7,.2,1) both;
}

.ace-portrait {
    animation:ace-portrait-breathe 12s ease-in-out infinite alternate;
}

.ace-floating-seal {
    animation:ace-seal-float 5s ease-in-out infinite;
}

.ace-orb-one {
    animation:ace-orb-drift 11s ease-in-out infinite alternate;
}

.ace-orb-two {
    animation:ace-orb-drift 14s ease-in-out infinite alternate-reverse;
}

.ace-stat-strip {
    animation:ace-copy-enter 1s .5s both;
}

@keyframes ace-pattern-drift {
    from {background-position:0 0,0 0}
    to {background-position:75px 45px,-65px 55px}
}

@keyframes ace-sweep {
    0%,18% {left:-65%}
    65%,100% {left:130%}
}

@keyframes ace-copy-enter {
    from {opacity:0;transform:translateY(24px)}
    to {opacity:1;transform:translateY(0)}
}

@keyframes ace-title-enter {
    from {opacity:0;transform:translateY(32px)}
    to {opacity:1;transform:translateY(0)}
}

@keyframes ace-frame-enter {
    from {opacity:0;transform:translateY(30px) scale(.97)}
    to {opacity:1;transform:translateY(0) scale(1)}
}

@keyframes ace-portrait-breathe {
    from {transform:scale(1)}
    to {transform:scale(1.035)}
}

@keyframes ace-seal-float {
    0%,100% {transform:translateY(0) rotate(12deg)}
    50% {transform:translateY(-12px) rotate(16deg)}
}

@keyframes ace-orb-drift {
    from {transform:translate(0,0)}
    to {transform:translate(45px,30px)}
}

@media (prefers-reduced-motion:reduce) {
    .ace-signature *,
    .ace-signature *::before,
    .ace-signature *::after {
        animation:none!important;
        transition:none!important;
    }
}