/* Hero */
.hero {
    background: linear-gradient(135deg, var(--prologin-blue) 0%, var(--prologin-blue-dark) 100%);
    color: #fff;
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
}

.hero::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 60%;
    height: 200%;
    background: radial-gradient(ellipse, rgba(99, 102, 241, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    position: relative;
    z-index: 1;
}

.hero-content {
    max-width: 600px;
}

.hero-title {
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 1rem;
}

.hero-lead {
    font-size: 1.15rem;
    line-height: 1.6;
    opacity: 0.9;
    margin-bottom: 2rem;
}

.hero-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.hero .btn-prologin {
    background-color: #fff;
    color: var(--prologin-blue);
    border-color: #fff;
}

.hero .btn-prologin:hover {
    background-color: var(--surface);
    color: var(--prologin-blue-dark);
    border-color: var(--surface);
}

.hero .btn-outline-prologin {
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
}

.hero .btn-outline-prologin:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: #fff;
    color: #fff;
}

.hero-visual {
    flex-shrink: 0;
}

.hero-logo {
    width: 180px;
    height: 180px;
    object-fit: contain;
    filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.2));
    animation: float 4s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Features section */
.section-features {
    padding: 4rem 0;
}

/* Partners section */
.section-partners {
    padding: 4rem 0;
    background-color: var(--surface-alt);
    border-radius: 1rem;
    margin: 0 1rem 2rem;
}

.partner-card {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 0.75rem;
    padding: 1.25rem;
    height: 100%;
    box-shadow: var(--card-shadow);
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.partner-card:hover {
    box-shadow: var(--card-shadow-hover);
    transform: translateY(-3px);
    border-color: var(--prologin-indigo-light);
}

.partner-card img {
    max-height: 70px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

/* Responsive */
@media (max-width: 768px) {
    .hero-inner {
        flex-direction: column-reverse;
        text-align: center;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-title {
        font-size: 2rem;
    }

    .hero-logo {
        width: 120px;
        height: 120px;
    }

    .hero {
        padding: 3rem 0;
    }
}

.hero{position:relative;overflow:hidden;padding:0;
  background:linear-gradient(180deg,#A6B3BA 0%,#BFB6AC 38%,#D8C7AE 64%,#ECDABE 82%,var(--cream) 100%)}
.dunes{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sun{position:absolute;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(255,248,235,.7) 0%,rgba(255,242,222,.32) 42%,rgba(255,240,218,.12) 64%,transparent 75%);
  filter:blur(2px)}
.hero-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;padding:96px 0 104px;position:relative;z-index:3}
.hero h1{font-size:clamp(42px,6.2vw,76px);line-height:1.0;max-width:20ch;color:#2b2620}
.hl{background:var(--warm);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:18px;color:#5b4a3f;max-width:64ch;margin:26px 0 14px}
.dates{font-size:15px;color:#2b2620;margin-bottom:34px}
.dates b{color:var(--m-org);font-weight:600}
.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hero-cube{justify-self:center;width:200px;height:200px;position:relative;filter:drop-shadow(0 22px 34px rgba(120,80,40,.3));animation:floatcube 6s ease-in-out infinite}
@keyframes floatcube{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hero-cube .cube{width:100%;height:100%}
.hero-cube .cube i{width:66px;height:66px;border-width:3px}
.hero-cube .c1{top:0;left:66px}.hero-cube .c2{top:66px;left:0}.hero-cube .c3{top:66px;left:66px}
.hero-cube .c4{top:66px;left:132px}.hero-cube .c5{top:132px;left:66px}.hero-cube .c6{top:132px;left:0}

.intro{text-align:center}
.intro h2{margin:0 auto} .intro .sec-lede{margin:16px auto 0;text-align:center}
.partner{background:var(--dark);color:var(--cream);position:relative;overflow:hidden}
.pcard{position:relative;z-index:2;border:1px solid var(--line-d);border-radius:24px;overflow:hidden;background:var(--dark2)}
.pgrid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.pside{padding:56px 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px; min-height: 100%;}
.pside .lg{height:64px;display:flex;align-items:center;justify-content:center}
.pside .nm{font-family:"Fraunces",serif;font-size:26px;font-weight:500}
.pside .rl{font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#A7AEBC}
.pside.left{background:linear-gradient(180deg,rgba(46,59,158,.18),transparent)}
.pside.right{background:linear-gradient(180deg,rgba(250,80,15,.16),transparent)}
.pdivide{width:1px;align-self:stretch;background:var(--line-d);position:relative}
.pdivide .x{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:var(--dark);border:1px solid var(--line-d);display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-size:22px}
.pbanner{text-align:center;padding:26px;border-top:1px solid var(--line-d);font-family:"Fraunces",serif;font-size:18px;background:rgba(0,0,0,.15)}
.pbanner b{background:var(--warm);-webkit-background-clip:text;background-clip:text;color:transparent}

.recap{text-align:center}
.totems{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;margin-bottom:44px}
.totem{padding:26px 22px;border-right:1px solid var(--line);text-align:left}
.totem:last-child{border-right:none}
.totem .num{font-family:"Fraunces",serif;font-weight:600;font-size:40px;line-height:1;letter-spacing:-.03em}
.totem.accent .num{background:var(--warm);-webkit-background-clip:text;background-clip:text;color:transparent}
.totem .lab{margin-top:8px;color:var(--ink2);font-size:12.5px}
.totem .lab b{color:var(--ink);font-weight:600}

@media(max-width:880px){
  .hero-inner{grid-template-columns:1fr}.hero-cube{display:none}
  .pgrid{grid-template-columns:1fr}.pdivide{width:auto;height:1px}.pdivide .x{display:none}
  .totems{grid-template-columns:repeat(2,1fr)}.totem:nth-child(2){border-right:none}
  .totem:nth-child(1),.totem:nth-child(2){border-bottom:1px solid var(--line)}
}
