/* layer2.report -- pop-art aurora */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
    --cyan:#00E5CC;
    --magenta:#E040A0;
    --green:#50E878;
    --violet:#8B40E8;
    --gold:#F0C040;
    --dark:#0A0A14;
    --light:#F0F0F5;
    --text-dark:#1A1A24;
    --text-light:#F5F5FA;
    --dot-gray:#C0C0C8;
}

html{scroll-behavior:smooth;font-size:16px}

body{
    background:var(--dark);
    color:var(--text-light);
    font-family:'Source Sans 3',sans-serif;
    font-weight:400;
    font-size:clamp(0.95rem,1.1vw,1.1rem);
    line-height:1.7;
    overflow-x:hidden;
}

/* Nav dots */
.nav-dots{
    position:fixed;
    bottom:2rem;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:1rem;
    z-index:100;
}

.nav-dot{
    width:12px;height:12px;
    border-radius:50%;
    border:none;
    cursor:pointer;
    transition:box-shadow 0.3s ease;
}

.nav-dot:nth-child(1){background:linear-gradient(135deg,var(--cyan),var(--green))}
.nav-dot:nth-child(2){background:linear-gradient(135deg,var(--magenta),var(--violet))}
.nav-dot:nth-child(3){background:linear-gradient(135deg,var(--green),var(--cyan))}
.nav-dot:nth-child(4){background:linear-gradient(135deg,var(--violet),var(--magenta))}

.nav-dot.active{
    box-shadow:0 0 12px rgba(0,229,204,0.5);
}

/* Sections */
.report-section{
    min-height:100vh;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:4rem 2rem;
}

/* Aurora background */
.aurora-bg{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,var(--cyan) 0%,var(--magenta) 35%,var(--violet) 65%,var(--green) 100%);
    background-size:300% 300%;
    animation:aurora-shift 8s ease infinite;
    opacity:0.3;
    z-index:0;
}

@keyframes aurora-shift{
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

/* Ben-Day dot overlay */
.benday-overlay{
    position:absolute;
    inset:0;
    background:radial-gradient(circle,rgba(0,0,0,0.12) 20%,transparent 20%);
    background-size:4px 4px;
    pointer-events:none;
    z-index:1;
}

/* Hero */
.headline-section{
    background:var(--dark);
}

.hero-title{
    font-family:'Inter',sans-serif;
    font-weight:800;
    font-size:clamp(4rem,11vw,13rem);
    text-transform:uppercase;
    text-align:center;
    letter-spacing:-0.03em;
    line-height:0.95;
    color:var(--text-light);
    z-index:2;
    position:relative;
}

.hero-sub{
    font-family:'Source Sans 3',sans-serif;
    font-weight:400;
    font-size:clamp(1rem,1.5vw,1.3rem);
    color:var(--text-light);
    opacity:0.7;
    text-align:center;
    margin-top:1.5rem;
    z-index:2;
    position:relative;
}

/* Data Section */
.data-section{
    background:var(--light);
    color:var(--text-dark);
    padding:6rem 2rem;
}

.data-strip{
    max-width:min(900px,90vw);
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3rem;
}

.report-card{
    position:relative;
    width:100%;
    border-radius:16px;
    overflow:hidden;
    opacity:0;
    transform:translateY(30px);
    transition:opacity 0.5s ease,transform 0.5s ease;
}

.report-card.visible{
    opacity:1;
    transform:translateY(0);
}

.card-aurora{
    position:absolute;
    inset:0;
    z-index:0;
}

[data-gradient="cyan-green"] .card-aurora{
    background:linear-gradient(135deg,var(--cyan),var(--green));
}

[data-gradient="magenta-violet"] .card-aurora{
    background:linear-gradient(135deg,var(--magenta),var(--violet));
}

[data-gradient="green-cyan"] .card-aurora{
    background:linear-gradient(135deg,var(--green),var(--cyan));
}

.card-content{
    position:relative;
    z-index:2;
    padding:clamp(1.5rem,3vw,3rem);
    color:var(--text-light);
}

.card-heading{
    font-family:'Inter',sans-serif;
    font-weight:800;
    font-size:clamp(1.5rem,3vw,2.5rem);
    text-transform:uppercase;
    letter-spacing:-0.02em;
    line-height:1.1;
    margin-bottom:1rem;
}

.card-text{
    font-family:'Source Sans 3',sans-serif;
    font-weight:400;
    font-size:clamp(0.95rem,1.1vw,1.1rem);
    line-height:1.7;
}

/* Speech bubble */
.speech-bubble{
    background:var(--gold);
    color:var(--text-dark);
    padding:1.5rem 2.5rem;
    border-radius:24px;
    position:relative;
    border:3px solid var(--text-dark);
    opacity:0;
    transform:scale(0.9);
    transition:opacity 0.4s ease,transform 0.4s ease;
}

.speech-bubble.visible{
    opacity:1;
    transform:scale(1);
}

.speech-bubble::after{
    content:'';
    position:absolute;
    bottom:-16px;
    left:50%;
    transform:translateX(-50%);
    width:0;height:0;
    border-left:16px solid transparent;
    border-right:16px solid transparent;
    border-top:16px solid var(--gold);
}

.bubble-text{
    font-family:'Bangers',cursive;
    font-size:clamp(1.2rem,2vw,2rem);
    letter-spacing:0.04em;
    text-align:center;
}

/* Analysis Section */
.analysis-section{
    background:var(--dark);
    padding:6rem 2rem;
}

.aurora-interactive{
    opacity:0.2;
}

.analysis-content{
    max-width:min(900px,90vw);
    width:100%;
    z-index:2;
    position:relative;
    text-align:center;
}

.section-heading{
    font-family:'Inter',sans-serif;
    font-weight:800;
    font-size:clamp(2rem,4vw,4.5rem);
    text-transform:uppercase;
    letter-spacing:-0.02em;
    line-height:1.1;
    margin-bottom:3rem;
}

.analysis-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
    margin-bottom:3rem;
}

.duotone-cell{
    aspect-ratio:1;
    border-radius:12px;
    opacity:0;
    transform:scale(0.9);
    transition:opacity 0.5s ease,transform 0.5s ease;
}

.duotone-cell.visible{
    opacity:1;
    transform:scale(1);
}

.duotone-cell:nth-child(1){background:linear-gradient(135deg,var(--cyan) 0%,var(--magenta) 100%)}
.duotone-cell:nth-child(2){background:linear-gradient(135deg,var(--green) 0%,var(--violet) 100%)}
.duotone-cell:nth-child(3){background:linear-gradient(135deg,var(--magenta) 0%,var(--cyan) 100%)}

.analysis-text{
    font-family:'Source Sans 3',sans-serif;
    font-weight:400;
    font-size:clamp(0.95rem,1.1vw,1.1rem);
    line-height:1.7;
    text-align:center;
    color:var(--text-light);
    opacity:0;
    transform:translateY(20px);
    transition:opacity 0.6s ease,transform 0.6s ease;
}

.analysis-text.visible{
    opacity:0.85;
    transform:translateY(0);
}

/* Conclusion Section */
.conclusion-section{
    background:var(--dark);
    position:relative;
}

.particle-field{
    position:absolute;
    inset:0;
    overflow:hidden;
    z-index:0;
}

.particle{
    position:absolute;
    width:4px;height:4px;
    border-radius:50%;
    animation:float-up 6s ease-in infinite;
    opacity:0;
}

@keyframes float-up{
    0%{transform:translateY(0);opacity:0}
    10%{opacity:0.6}
    90%{opacity:0.6}
    100%{transform:translateY(-100vh);opacity:0}
}

.conclusion-text{
    font-family:'Inter',sans-serif;
    font-weight:800;
    font-size:clamp(3rem,8vw,10rem);
    text-transform:uppercase;
    text-align:center;
    line-height:0.95;
    letter-spacing:-0.03em;
    background:linear-gradient(135deg,var(--cyan) 0%,var(--magenta) 35%,var(--violet) 65%,var(--green) 100%);
    background-size:300% 300%;
    animation:aurora-shift 8s ease infinite;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    z-index:2;
    position:relative;
    opacity:0;
    transform:translateY(30px);
    transition:opacity 0.6s ease,transform 0.6s ease;
}

.conclusion-text.visible{
    opacity:1;
    transform:translateY(0);
}

.conclusion-domain{
    font-family:'Source Sans 3',sans-serif;
    font-weight:600;
    font-size:clamp(1rem,1.5vw,1.3rem);
    color:var(--text-light);
    opacity:0.5;
    text-align:center;
    margin-top:2rem;
    z-index:2;
    position:relative;
}

/* Responsive */
@media(max-width:768px){
    .analysis-grid{grid-template-columns:1fr;max-width:300px;margin:0 auto 3rem}
    .nav-dots{bottom:1rem;gap:0.75rem}
}

@media(prefers-reduced-motion:reduce){
    .aurora-bg,.conclusion-text{animation:none;background-size:100% 100%}
    .report-card,.speech-bubble,.duotone-cell,.analysis-text,.conclusion-text{
        opacity:1;transform:none;transition:none;
    }
    .particle{animation:none}
}
