@charset "UTF-8";

.re-page {
    --lime: #D6F74C;
    --line: #E0E0E0;
    --ghost: #F5F5F5;
    --ink: #0A0A0A;
    display: block;
    width: 100%;
    color: #000;
}

.re-page *,
.re-page *::before,
.re-page *::after {box-sizing:border-box;}

.re-page section {display:block;width:100%;}
.re-grid, .re-card {min-width:0;}

.re-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    line-height: 1;
}

.re-pulse {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--lime);
    box-shadow: 0 0 0 0 rgba(214,247,76,0.9);
    animation: rePulse 2.2s ease-out infinite;
}

@keyframes rePulse {
    0%   {box-shadow:0 0 0 0 rgba(214,247,76,0.9);}
    70%  {box-shadow:0 0 0 14px rgba(214,247,76,0);}
    100% {box-shadow:0 0 0 0 rgba(214,247,76,0);}
}

.re-h2 {font-size:clamp(38px, 6vw, 74px);font-weight:700;line-height:1.02;letter-spacing:-1.5px;}
.re-h2 em {font-style:normal;font-weight:300;}
.re-lead {font-size:clamp(17px, 1.5vw, 20px);font-weight:300;line-height:1.75;letter-spacing:0.3px;}

.re-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    overflow: hidden;
    z-index: 0;
    padding: 20px 32px;
    border: 2px solid #000;
    border-radius: 4px;
    cursor: pointer;
    font-family: 'Chakra Petch', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #000;
    background-color: var(--lime);
    transition: transform 0.45s cubic-bezier(.22,1,.36,1), color 0.5s ease;
}

.re-btn::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    background-color: #000;
    z-index: -1;
    transition: width 0.55s cubic-bezier(.22,1,.36,1);
}

.re-btn:hover::before {width:100%;}
.re-btn:hover {color:var(--lime);transform:translateY(-3px);}
.re-btn svg {width:18px;height:18px;flex-shrink:0;stroke:currentColor;transition:transform 0.45s ease;}
.re-btn:hover svg {transform:translateX(4px);}
.re-btn-ghost {background-color:transparent;}
.re-btn-ghost:hover {color:var(--lime);}

.re-reveal {
    opacity: 0;
    transform: translateY(46px);
    transition: opacity 0.9s cubic-bezier(.22,1,.36,1), transform 0.9s cubic-bezier(.22,1,.36,1);
    transition-delay: var(--d, 0s);
}

.re-reveal.is-in {opacity:1;transform:none;}

.re-hero {position:relative;overflow:hidden;padding:clamp(200px, 17vh, 240px) 0 clamp(60px, 9vh, 110px) 0;}

.re-emblem {
    position: absolute;
    top: 50%;
    right: -40px;
    width: clamp(320px, 42vw, 600px);
    transform: translateY(-52%);
    pointer-events: none;
    z-index: -1;
}

.re-emblem svg {display:block;width:100%;height:auto;}
.re-emblem .re-orbit {transform-origin:100px 100px;animation:reSpin 120s linear infinite;}
.re-emblem .re-orbit-rev {transform-origin:100px 100px;animation:reSpin 90s linear infinite reverse;}

.re-tile {
    transform-box: fill-box;
    transform-origin: center;
    opacity: 0;
    transform: scale(0);
    animation: rePop 0.7s cubic-bezier(.22,1,.36,1) forwards;
}

.re-tile-1 {animation-delay:0.15s;}
.re-tile-2 {animation-delay:0.24s;}
.re-tile-3 {animation-delay:0.33s;}
.re-tile-4 {animation-delay:0.42s;}
.re-tile-5 {animation-delay:0.60s;}
.re-tile-6 {animation-delay:0.51s;}
.re-tile-7 {animation-delay:0.69s;}
.re-tile-8 {animation-delay:0.78s;}
.re-tile-9 {animation-delay:0.87s;}

@keyframes reSpin {to {transform:rotate(360deg);}}
@keyframes rePop {from {opacity:0;transform:scale(0);} to {opacity:1;transform:scale(1);}}

.re-hero-eyebrow {margin-bottom:34px;opacity:0;animation:reUp 1s cubic-bezier(.22,1,.36,1) 0.15s forwards;}
.re-hero-eyebrow b {font-weight:700;}

.re-title {
    font-size: clamp(56px, 13vw, 172px);
    font-weight: 700;
    line-height: 0.88;
    letter-spacing: -4px;
    text-transform: uppercase;
}

.re-title span {display:block;overflow:hidden;padding-bottom:0.06em;}
.re-title span > em {display:block;font-style:normal;transform:translateY(105%);animation:reMask 1.15s cubic-bezier(.22,1,.36,1) forwards;}
.re-title span:nth-child(1) > em {animation-delay:0.25s;}
.re-title span:nth-child(2) > em {animation-delay:0.4s;}

@keyframes reMask {to {transform:translateY(0);}}
@keyframes reUp {from {opacity:0;transform:translateY(20px);} to {opacity:1;transform:none;}}

.re-underline {display:block;width:min(440px,80%);margin-top:-4px;}
.re-underline path {
    fill: none;
    stroke: var(--lime);
    stroke-width: 9;
    stroke-linecap: round;
    stroke-dasharray: 460;
    stroke-dashoffset: 460;
    animation: reDraw 1.3s cubic-bezier(.22,1,.36,1) 1.1s forwards;
}

@keyframes reDraw {to {stroke-dashoffset:0;}}

.re-hero-sub {
    max-width: 640px;
    margin-top: 38px;
    font-size: clamp(19px, 2.1vw, 27px);
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: 0.2px;
    opacity: 0;
    animation: reUp 1s cubic-bezier(.22,1,.36,1) 1.15s forwards;
}

.re-rot {display:inline-flex;position:relative;overflow:hidden;vertical-align:bottom;font-weight:700;white-space:nowrap;}
.re-rot span {display:inline-block;}
.re-rot .re-rot-out {animation:reRotOut 0.4s cubic-bezier(.55,0,.65,.35) forwards;}
.re-rot .re-rot-in {animation:reRotIn 0.55s cubic-bezier(.22,1,.36,1) forwards;}

@keyframes reRotOut {to {opacity:0;transform:translateY(-70%) skewY(-4deg);}}
@keyframes reRotIn {from {opacity:0;transform:translateY(70%) skewY(4deg);} to {opacity:1;transform:none;}}

.re-hero-cta {display:flex;flex-wrap:wrap;gap:16px;margin-top:50px;opacity:0;animation:reUp 1s cubic-bezier(.22,1,.36,1) 1.35s forwards;}

.re-hero-stats {display:flex;flex-wrap:wrap;gap:0;margin-top:90px;border-top:1px solid var(--line);opacity:0;animation:reUp 1s cubic-bezier(.22,1,.36,1) 1.55s forwards;}
.re-stat {flex:1 1 200px;padding:34px 30px 0 0;position:relative;}
.re-stat::before {content:"";position:absolute;top:-1px;left:0;width:70px;height:4px;background-color:var(--lime);}
.re-stat strong {display:block;font-size:clamp(32px,3.4vw,46px);font-weight:700;line-height:1;letter-spacing:-1px;}
.re-stat em {display:block;margin-top:12px;font-style:normal;font-size:16px;font-weight:300;line-height:1.5;letter-spacing:0.4px;}

.re-marquee {margin:clamp(50px, 7vw, 90px) 0 clamp(70px, 10vw, 130px) 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}
.re-marquee-track {display:flex;width:max-content;animation:reMarquee 46s linear infinite;}
.re-marquee:hover .re-marquee-track {animation-play-state:paused;}
.re-marquee-track span {display:flex;align-items:center;gap:22px;padding-right:22px;font-size:clamp(22px, 3vw, 40px);font-weight:700;line-height:1.2;letter-spacing:-0.5px;text-transform:uppercase;white-space:nowrap;}
.re-marquee-track span:nth-child(2n) {color:transparent;-webkit-text-stroke:1px #000;}
.re-marquee-track i {display:block;width:11px;height:11px;flex-shrink:0;border-radius:50%;background-color:var(--lime);-webkit-text-stroke:0;}

@keyframes reMarquee {to {transform:translateX(-50%);}}

.re-sec {margin:clamp(80px, 11vw, 150px) 0;}
.re-sec-head {margin-bottom:clamp(40px, 5vw, 64px);}
.re-sec-head .re-eyebrow {margin-bottom:22px;}
.re-sec-head p {margin-top:24px;max-width:660px;}

.re-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 30px;
    padding: 26px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    margin-bottom: clamp(34px, 4vw, 50px);
    position: sticky;
    top: 0;
    background-color: rgba(255,255,255,0.92);
    backdrop-filter: blur(8px);
    z-index: 20;
}

.re-chips {display:flex;flex-wrap:wrap;gap:10px;}

.re-chip {
    position: relative;
    overflow: hidden;
    z-index: 0;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 13px 20px;
    border: 2px solid #000;
    border-radius: 100px;
    background-color: #fff;
    color: #000;
    cursor: pointer;
    font-family: 'Chakra Petch', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1.1px;
    line-height: 1;
    text-transform: uppercase;
    transition: color 0.4s ease, background-color 0.4s ease, transform 0.4s cubic-bezier(.22,1,.36,1);
}

.re-chip::before {content:"";position:absolute;inset:auto 0 0 0;height:0;background-color:var(--lime);z-index:-1;transition:height 0.4s cubic-bezier(.22,1,.36,1);}
.re-chip:hover::before {height:100%;}
.re-chip:hover {transform:translateY(-2px);}
.re-chip b {font-weight:700;font-size:11px;padding:3px 7px;border-radius:100px;background-color:var(--ghost);color:#555;transition:background-color 0.4s ease, color 0.4s ease;}
.re-chip[aria-pressed="true"] {background-color:#000;color:var(--lime);}
.re-chip[aria-pressed="true"]::before {height:0;}
.re-chip[aria-pressed="true"] b {background-color:var(--lime);color:#000;}

.re-count {font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#8E8E8E;white-space:nowrap;}
.re-count b {color:#000;font-variant-numeric:tabular-nums;}

.re-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

.re-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 0;
    padding: 30px 28px 26px 28px;
    border: 2px solid #000;
    border-radius: 16px;
    background-color: #fff;
    transition: transform 0.5s cubic-bezier(.22,1,.36,1), box-shadow 0.5s ease;
}

.re-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background-color: var(--acc, #000);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(.22,1,.36,1);
}

.re-card:hover {transform:translateY(-8px);box-shadow:0 20px 44px rgba(0,0,0,0.09);}
.re-card:hover::before {transform:scaleX(1);}

.re-card-top {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;}
.re-cat {font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#000;}
.re-dot {position:relative;width:13px;height:13px;flex-shrink:0;border-radius:50%;background-color:var(--acc,#000);}
.re-dot::after {content:"";position:absolute;inset:-5px;border:1.5px solid var(--acc,#000);border-radius:50%;opacity:0.3;}

.re-card h3 {font-size:clamp(21px,2.2vw,27px);font-weight:700;line-height:1.12;letter-spacing:-0.5px;}
.re-card p {margin-top:13px;font-size:15px;font-weight:300;line-height:1.62;letter-spacing:0.2px;color:#1A1A1A;}

.re-tags {display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0 0;}
.re-tags span {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #666;
    padding: 6px 11px;
    border: 1.5px solid var(--line);
    border-radius: 100px;
    white-space: nowrap;
}

.re-links {display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:auto;padding-top:22px;}
.re-card .re-links {margin-top:24px;border-top:1px solid var(--line);}

.re-links a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.4px;
    color: #000;
}

.re-links a svg {width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.4s ease;}
.re-links a::after {content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background-color:var(--acc,var(--lime));transform:scaleX(0);transform-origin:right;transition:transform 0.45s cubic-bezier(.22,1,.36,1);}
.re-links a:hover::after {transform:scaleX(1);transform-origin:left;}
.re-links a:hover svg {transform:translate(2px,-2px);}

.re-card.re-pop {animation:reCardIn 0.5s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--pd,0s);}
@keyframes reCardIn {from {opacity:0;transform:translateY(16px) scale(0.98);} to {opacity:1;transform:none;}}

.re-empty {display:none;padding:60px 0;text-align:center;font-size:18px;font-weight:300;color:#8E8E8E;}

.re-final {text-align:center;margin-bottom:clamp(100px, 12vw, 180px);}
.re-final h2 {font-size:clamp(40px,7vw,96px);font-weight:700;line-height:1.02;letter-spacing:-2.5px;}
.re-final h2 em {font-style:normal;font-weight:300;}
.re-final .re-lead {margin:26px auto 44px auto;max-width:580px;}
.re-final-cta {display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}

.re-page .re-sign {display:flex;flex-wrap:wrap;align-items:center;gap:clamp(30px,5vw,70px);margin:clamp(80px,11vw,150px) 0;}
.re-avatar {position:relative;flex:0 0 auto;width:200px;height:200px;}
.re-avatar img {position:absolute;top:26px;left:26px;width:148px;height:148px;border-radius:50%;object-fit:cover;}
.re-ring {position:absolute;inset:0;width:100%;height:100%;animation:reSpin 22s linear infinite;}
.re-ring text {font-size:12.5px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;fill:#000;}
.re-sign-text {flex:1 1 320px;min-width:0;}
.re-sign-text strong {display:block;font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.15;letter-spacing:-0.8px;}
.re-sign-text span {display:block;margin:10px 0 8px 0;font-size:13px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;}
.re-sign-text p {margin-top:22px;max-width:560px;font-size:16px;font-weight:300;line-height:1.75;letter-spacing:0.3px;}
.re-sign-links {display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:26px;}
.re-sign-links a {position:relative;font-size:clamp(18px,1.8vw,22px);font-weight:700;color:#000;letter-spacing:0.2px;}
.re-sign-links a::after {content:"";position:absolute;left:0;bottom:-4px;width:100%;height:3px;background-color:var(--lime);transform:scaleX(0);transform-origin:right;transition:transform 0.5s cubic-bezier(.22,1,.36,1);}
.re-sign-links a:hover::after {transform:scaleX(1);transform-origin:left;}

@media only screen and (max-width: 1023px) {
    .re-grid {grid-template-columns:repeat(2,1fr);}
    .re-emblem {right:-120px;opacity:0.5;}
}

@media only screen and (max-width: 767px) {
    .re-hero {padding-top:300px;}
    .re-title {letter-spacing:-2px;}
    .re-hero-cta {gap:12px;}
    .re-btn {width:100%;justify-content:center;padding:20px 24px;}
    .re-hero-stats {margin-top:60px;}
    .re-stat {flex:1 1 100%;padding:26px 0 0 0;border-top:1px solid var(--line);}
    .re-stat:first-child {border-top:none;}
    .re-emblem {top:auto;bottom:-20px;right:-90px;width:380px;transform:none;opacity:0.4;}
    .re-grid {grid-template-columns:1fr;}
    .re-toolbar {position:static;flex-direction:column;align-items:flex-start;gap:16px;}
    .re-sign {gap:34px;}
}

@media (prefers-reduced-motion: reduce) {
    .re-page *,
    .re-page *::before,
    .re-page *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .re-reveal {opacity:1;transform:none;}
    .re-title span > em {transform:none;}
    .re-marquee-track {animation:none;}
    .re-tile {opacity:1;transform:none;}
}
