/* ============================================================
   V3 — REFINED WARM GOLD PALETTE + CLEAN HERO
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root {
    --black: #0b0b0b;
    --black-2: #101010;
    --dark: #141414;
    --dark-2: #1a1a1a;
    --cream: #f5f0e8;
    --cream-2: #ede8df;
    --warm: #e0d8cc;
    --white: #faf8f4;
    --gray: #777;
    --gray-l: #aaa;
    --gray-d: #444;
    --accent: #c8a960;
    --accent-2: #b89750;
    --accent-dim: rgba(200,169,96,.12);
    --accent-bg: #3d2e14;
    --grad: linear-gradient(135deg, #c8a960, #e2c477);
    --f-display: 'Syne', sans-serif;
    --f-body: 'Space Grotesk', sans-serif;
    --f-serif: 'Instrument Serif', serif;
    --ease: cubic-bezier(.16,1,.3,1);
    --ease2: cubic-bezier(.65,0,.35,1);
}

html { font-size:16px; }
html.lenis,html.lenis body { height:auto; }
.lenis.lenis-smooth { scroll-behavior:auto!important; }

body {
    font-family: var(--f-body);
    background: var(--black);
    color: var(--white);
    overflow-x: hidden;
    cursor: none;
    -webkit-font-smoothing: antialiased;
}

a { color:inherit; text-decoration:none; cursor:none; }
button,select { cursor:none; font-family:var(--f-body); }
::selection { background:var(--accent); color:var(--black); }

.italic-serif { font-family: var(--f-serif); font-style: italic; }
.dot { color: var(--accent); }
.accent-fill {
    background: var(--grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ---- GRAIN ---- */
.grain {
    position:fixed; inset:-50%; width:200%; height:200%;
    pointer-events:none; z-index:9999; opacity:.02;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation: grainMove .5s steps(1) infinite;
}
@keyframes grainMove {
    0%,100%{transform:translate(0)}
    25%{transform:translate(-5%,-10%)}
    50%{transform:translate(5%,5%)}
    75%{transform:translate(-8%,8%)}
}

/* ---- CURSOR ---- */
.cursor {
    position:fixed; top:0; left:0;
    pointer-events:none; z-index:99999;
    mix-blend-mode: difference;
}
.cursor-dot {
    width:8px; height:8px; background:var(--white);
    border-radius:50%; position:absolute; top:-4px; left:-4px;
    transition: transform .15s ease;
}
.cursor-ring {
    width:44px; height:44px;
    border:1.5px solid rgba(255,255,255,.4);
    border-radius:50%; position:absolute; top:-22px; left:-22px;
    transition: all .2s ease;
}
.cursor-text {
    position:absolute; top:-8px; left:28px;
    font-size:10px; letter-spacing:2px; text-transform:uppercase;
    opacity:0; transition: opacity .3s ease; color:var(--white);
}
.cursor.hover-link .cursor-ring {
    width:70px; height:70px; top:-35px; left:-35px;
    border-color: var(--accent);
}
.cursor.hover-link .cursor-dot { transform:scale(2.5); background:var(--accent); }
.cursor.hover-card .cursor-ring {
    width:80px; height:80px; top:-40px; left:-40px;
    border-color: var(--accent); background:rgba(200,169,96,.06);
}
.cursor.hover-card .cursor-text { opacity:1; }

/* ---- PRELOADER ---- */
.preloader {
    position:fixed; inset:0; z-index:10000;
    display:flex; overflow:hidden;
}
.preloader-col {
    flex:1; background:var(--accent);
    transform-origin: top;
}
.preloader-col-right { transform-origin: bottom; }
.preloader-center {
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    z-index:2;
}
.preloader-counter span {
    font-family:var(--f-display); font-weight:800;
    font-size:clamp(80px,15vw,200px);
    color:var(--black); line-height:1;
}

/* ---- NAV ---- */
.nav {
    position:fixed; top:0; left:0; width:100%; z-index:1000;
    padding:24px 48px; display:flex; align-items:center;
    justify-content:space-between;
    transition: all .6s var(--ease);
}
.nav.scrolled {
    padding:16px 48px;
    background:rgba(11,11,11,.9);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    border-bottom:1px solid rgba(255,255,255,.05);
}
.nav-dark.scrolled {
    background:rgba(245,240,232,.92);
    border-bottom-color:rgba(0,0,0,.06);
}
.nav-logo {
    font-family:var(--f-display); font-weight:800;
    font-size:22px; letter-spacing:-0.5px;
}
.nav-links-desktop { display:flex; gap:36px; }
.nav-link {
    font-size:13px; font-weight:500; letter-spacing:.5px;
    color:rgba(255,255,255,.45); transition:color .3s ease;
    position:relative;
}
.nav-link::after {
    content:''; position:absolute; bottom:-3px; left:0;
    width:0; height:1px; background:var(--accent);
    transition:width .4s var(--ease);
}
.nav-link:hover, .nav-link.active { color:var(--white); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.nav-dark .nav-link { color:rgba(0,0,0,.35); }
.nav-dark .nav-link:hover, .nav-dark .nav-link.active { color:var(--black); }
.nav-cta {
    display:inline-flex; align-items:center; gap:8px;
    padding:10px 24px; border:1px solid rgba(255,255,255,.12);
    border-radius:100px; font-size:13px; font-weight:500;
    transition:all .3s var(--ease);
}
.nav-cta:hover { border-color:var(--accent); color:var(--accent); }
.nav-cta-wpp { background:rgba(200,169,96,.08); border-color:rgba(200,169,96,.2); color:var(--accent); }
.nav-dark .nav-cta { border-color:rgba(0,0,0,.12); color:var(--black); }
.nav-dark .nav-logo { color:var(--black); }
.nav-dark .nav-cta-wpp { border-color:rgba(200,169,96,.25); color:var(--accent-2); background:rgba(200,169,96,.06); }
.nav-burger {
    display:none; width:44px; height:44px;
    background:none; border:none;
    flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.nav-burger span {
    display:block; width:22px; height:2px; background:var(--white);
    transition:all .4s var(--ease); transform-origin:center;
}
.nav-dark .nav-burger span { background:var(--black); }
.nav-burger.active span:nth-child(1) { transform:translateY(3.5px) rotate(45deg); }
.nav-burger.active span:nth-child(2) { opacity:0; }
.nav-burger.active span:nth-child(3) { transform:translateY(-3.5px) rotate(-45deg); }

/* MOBILE MENU */
.mob-menu {
    position:fixed; inset:0; z-index:999;
    pointer-events:none; display:flex; align-items:center; justify-content:center;
}
.mob-menu.active { pointer-events:all; }
.mob-menu-bg {
    position:absolute; inset:0;
    background:rgba(11,11,11,.97);
    opacity:0; transition:opacity .5s ease;
}
.mob-menu.active .mob-menu-bg { opacity:1; }
.mob-menu-inner {
    position:relative; z-index:2;
    display:flex; flex-direction:column; align-items:center; gap:20px;
}
.mob-link {
    font-family:var(--f-display); font-size:clamp(28px,6vw,52px);
    font-weight:700; color:var(--white);
    opacity:0; transform:translateY(30px);
    transition:all .5s var(--ease); position:relative;
}
.mob-link::before {
    content:attr(data-i); position:absolute; top:-6px; left:-28px;
    font-size:9px; font-family:var(--f-body); color:var(--accent);
    font-weight:400; letter-spacing:1px;
}
.mob-link:hover { color:var(--accent); }
.mob-menu.active .mob-link { opacity:1; transform:translateY(0); }
.mob-menu.active .mob-link:nth-child(1){transition-delay:.05s}
.mob-menu.active .mob-link:nth-child(2){transition-delay:.1s}
.mob-menu.active .mob-link:nth-child(3){transition-delay:.15s}
.mob-menu.active .mob-link:nth-child(4){transition-delay:.2s}
.mob-menu.active .mob-link:nth-child(5){transition-delay:.25s}

/* ============================================================
   HERO — BOLD TYPOGRAPHIC
   ============================================================ */
.hero {
    height:100vh; position:relative; overflow:hidden;
    display:flex; background:var(--black);
}

/* FLOATING ORBS */
.hero-orbs { position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-orb {
    position:absolute; border-radius:50%;
    filter:blur(120px); opacity:.35;
}
.orb-1 {
    width:clamp(300px,45vw,600px); height:clamp(300px,45vw,600px);
    background:radial-gradient(circle, rgba(200,169,96,.4), transparent 70%);
    top:-10%; right:-5%;
    animation:orbFloat1 12s ease-in-out infinite;
}
.orb-2 {
    width:clamp(200px,30vw,400px); height:clamp(200px,30vw,400px);
    background:radial-gradient(circle, rgba(180,140,60,.3), transparent 70%);
    bottom:5%; left:-5%;
    animation:orbFloat2 10s ease-in-out infinite;
}
.orb-3 {
    width:clamp(150px,20vw,280px); height:clamp(150px,20vw,280px);
    background:radial-gradient(circle, rgba(226,196,119,.2), transparent 70%);
    top:40%; left:40%;
    animation:orbFloat3 14s ease-in-out infinite;
}
@keyframes orbFloat1 {
    0%,100%{transform:translate(0,0)}
    33%{transform:translate(-30px,40px)}
    66%{transform:translate(20px,-20px)}
}
@keyframes orbFloat2 {
    0%,100%{transform:translate(0,0)}
    33%{transform:translate(40px,-30px)}
    66%{transform:translate(-20px,20px)}
}
@keyframes orbFloat3 {
    0%,100%{transform:translate(0,0) scale(1)}
    50%{transform:translate(-30px,30px) scale(1.15)}
}

/* HERO CONTENT — full height flex */
.hero-content {
    position:relative; z-index:2;
    width:100%; max-width:1400px;
    margin:0 auto; padding:120px 48px 48px;
    display:flex; flex-direction:column;
    justify-content:space-between; height:100%;
}
.hero-top { display:flex; align-items:center; }
.hero-center {
    flex:1; display:flex; flex-direction:column;
    justify-content:center;
}
.hero-sub {
    font-size:clamp(14px,1.2vw,17px);
    color:var(--gray-l); max-width:480px;
    line-height:1.7; margin-top:20px;
}
.hero-bottom {
    display:flex; justify-content:space-between;
    align-items:flex-end;
}

/* HERO BADGE */
.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 18px;
    background:rgba(200,169,96,.08);
    border:1px solid rgba(200,169,96,.15);
    border-radius:100px;
}
.hero-badge-dot {
    width:6px; height:6px; border-radius:50%;
    background:var(--accent);
    animation:badgePulse 2s ease infinite;
}
@keyframes badgePulse {
    0%,100%{opacity:1; transform:scale(1)}
    50%{opacity:.5; transform:scale(1.3)}
}
.hero-badge span:last-child {
    font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
    font-weight:600; color:var(--accent);
}

/* HERO STATS — bottom right */
.hero-stats {
    display:flex; align-items:center; gap:20px;
}
.hero-stat { display:flex; align-items:baseline; gap:5px; }
.hero-stat-num {
    font-family:var(--f-display); font-size:clamp(20px,2vw,28px);
    font-weight:700; color:var(--white);
}
.hero-stat-lbl {
    font-size:12px; color:var(--gray); font-weight:500;
    text-transform:uppercase; letter-spacing:1px;
}
.hero-stat-sep {
    width:1px; height:20px; background:rgba(255,255,255,.1);
}

/* GIANT TEXT */
.hero-giant {
    position:relative;
}
.hero-giant-line {
    overflow:hidden; display:flex; gap:.3em;
    line-height:1.05;
}
.hg-word {
    font-family:var(--f-display); font-weight:800;
    font-size:clamp(48px,8.5vw,130px);
    letter-spacing:-3px;
    display:inline-block;
    will-change:transform, opacity;
}
.hg-word.italic-serif {
    font-family:var(--f-serif); font-style:italic;
    font-weight:400;
}

/* HERO CTAs */
.hero-cta-group {
    display:flex; gap:12px; align-items:center;
}
.hero-btn-primary {
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 32px; background:var(--accent); color:var(--black);
    border-radius:100px; font-weight:600; font-size:14px;
    transition:all .4s var(--ease);
}
.hero-btn-primary:hover { background:#d9b86c; transform:translateY(-2px); }
.hero-btn-outline {
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 28px; border:1px solid rgba(255,255,255,.25);
    border-radius:100px; font-size:14px; font-weight:500;
    transition:all .3s var(--ease); color:var(--white);
    backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
    background:rgba(255,255,255,.06);
}
.hero-btn-outline:hover { border-color:var(--accent); color:var(--accent); }
.hero-btn-icon { width:18px; height:18px; }

/* SCROLL LINE */
.hero-scroll-line {
    position:absolute; bottom:48px; left:48px;
    width:1px; height:60px;
    background:rgba(255,255,255,.06);
    z-index:3;
}
.hero-scroll-fill {
    width:100%; height:100%; background:var(--accent);
    transform-origin:top; animation:scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse {
    0%{transform:scaleY(0); transform-origin:top}
    50%{transform:scaleY(1); transform-origin:top}
    51%{transform:scaleY(1); transform-origin:bottom}
    100%{transform:scaleY(0); transform-origin:bottom}
}

/* ============================================================
   LOGO STRIP / MARQUEE
   ============================================================ */
.marquee-wrap {
    padding:32px 0; overflow:hidden;
    border-top:1px solid rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.05);
    background:var(--dark);
}
.marquee-track {
    display:flex; gap:48px; white-space:nowrap;
    animation:marquee 25s linear infinite;
    width:max-content; align-items:center;
}
.marquee-item {
    display:flex; align-items:center; gap:12px;
    opacity:.35; transition:opacity .3s ease;
}
.marquee-item:hover { opacity:.7; }
.marquee-logo {
    width:28px; height:28px; border-radius:6px;
    object-fit:contain; background:rgba(255,255,255,.06);
    padding:3px;
}
.marquee-item span {
    font-family:var(--f-display); font-size:clamp(14px,1.5vw,20px);
    font-weight:600; color:var(--white);
}
.mq-sep {
    width:4px; height:4px; border-radius:50%;
    background:var(--accent); opacity:.4;
    flex-shrink:0;
}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust-strip {
    padding:48px 48px; background:var(--black);
    border-bottom:1px solid rgba(255,255,255,.05);
}
.trust-strip-inner {
    max-width:1200px; margin:0 auto;
    display:flex; justify-content:center; align-items:center;
    gap:48px;
}
.trust-item {
    display:flex; align-items:center; gap:14px;
}
.trust-number {
    font-family:var(--f-display); font-size:clamp(28px,3vw,42px);
    font-weight:800; color:var(--white); line-height:1;
}
.trust-label {
    font-size:11px; line-height:1.4; color:var(--gray);
    text-transform:uppercase; letter-spacing:1px; font-weight:500;
}
.trust-sep {
    width:1px; height:40px; background:rgba(255,255,255,.08);
    flex-shrink:0;
}

/* ============================================================
   SECTION UTILITIES
   ============================================================ */
.light-section { background:var(--cream); color:var(--black); }
.warm-section { background:var(--cream-2); color:var(--black); }
.dark-section { background:var(--black); color:var(--white); }
.accent-section { background:var(--accent); color:var(--black); }

.sec-tag {
    font-size:11px; letter-spacing:3px; text-transform:uppercase;
    font-weight:500; color:var(--accent); display:block; margin-bottom:20px;
}
.dark-tag { color:var(--accent-bg); }
.sec-title-lg {
    font-family:var(--f-display); font-weight:800;
    font-size:clamp(36px,6vw,90px); line-height:1.05; letter-spacing:-2px;
}
.dark-text { color:var(--black); }
.stl-line { overflow:hidden; display:block; }
.stl-word {
    display:inline-block;
    transform:translateY(110%); opacity:0;
    will-change:transform, opacity;
}

/* ============================================================
   SHOWCASE — STAGGERED VERTICAL GRID
   ============================================================ */
.showcase {
    padding:140px 48px;
    position:relative;
}
.showcase-sticky {
    display:flex; flex-direction:column;
    max-width:1400px; margin:0 auto;
}
.showcase-header { margin-bottom:80px; }
.showcase-track {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
}
.showcase-card {
    padding:48px 40px;
    border-radius:24px;
    background:var(--white);
    border:1px solid rgba(0,0,0,.06);
    position:relative; overflow:hidden;
    transition:all .5s var(--ease);
    opacity:0; transform:translateY(60px);
}
.showcase-card.vis { opacity:1; transform:translateY(0); }
.showcase-card:nth-child(2) { margin-top:60px; }
.showcase-card:nth-child(3) { margin-top:120px; }
.showcase-card:hover {
    transform:translateY(-8px);
    box-shadow:0 30px 80px rgba(0,0,0,.08);
}
.showcase-card.vis:hover { transform:translateY(-8px); }
.sc-number {
    font-family:var(--f-display); font-size:80px; font-weight:800;
    color:rgba(0,0,0,.04); position:absolute; top:16px; right:24px;
    line-height:1;
}
.sc-icon {
    width:60px; height:60px; color:var(--accent-2);
    margin-bottom:24px;
}
.sc-title {
    font-family:var(--f-display); font-size:28px; font-weight:700;
    color:var(--black); margin-bottom:12px;
}
.sc-desc { font-size:15px; color:var(--gray-d); line-height:1.6; }

/* ============================================================
   NUMBERS — DARK WITH BIG BG TEXT
   ============================================================ */
.numbers-section {
    padding:140px 48px; position:relative; overflow:hidden;
}
.numbers-bg-text {
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%);
    font-family:var(--f-display); font-size:clamp(120px,22vw,360px);
    font-weight:900; color:transparent;
    -webkit-text-stroke:1px rgba(255,255,255,.03);
    pointer-events:none; user-select:none;
    white-space:nowrap;
}
.numbers-content { position:relative; z-index:2; max-width:1400px; margin:0 auto; }
.numbers-top { margin-bottom:80px; }
.numbers-grid {
    display:grid; grid-template-columns:repeat(4,1fr); gap:40px;
}
.num-card {
    padding:40px 0;
    border-top:1px solid rgba(255,255,255,.06);
}
.num-value {
    font-family:var(--f-display); font-size:clamp(40px,5vw,72px);
    font-weight:800; line-height:1; color:var(--white);
    display:inline;
}
.num-suffix {
    font-size:clamp(14px,1.5vw,18px); color:var(--accent);
    font-weight:500; display:inline; margin-left:8px;
}
.num-label {
    font-size:14px; color:var(--gray); margin-top:12px; line-height:1.5;
}
.num-bar {
    width:100%; height:2px; background:rgba(255,255,255,.06);
    margin-top:20px; border-radius:2px; overflow:hidden;
}
.num-bar-fill {
    height:100%; width:0%; background:var(--grad);
    border-radius:2px; transition:width 1.5s var(--ease);
}

/* ============================================================
   ADMINS — WARM/CREAM + LOGOS
   ============================================================ */
.admins-section { padding:140px 48px; }
.admins-inner {
    max-width:1400px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1.2fr; gap:80px;
    align-items:start;
}
.admins-desc {
    font-size:16px; color:var(--gray-d); line-height:1.7;
    margin-top:32px; max-width:400px;
}
.admin-row { display:flex; flex-direction:column; }
.admin-item {
    display:flex; align-items:center; gap:20px;
    padding:28px 0; position:relative;
    transition:all .4s var(--ease);
    text-decoration:none; color:var(--black);
}
.admin-item-line {
    position:absolute; bottom:0; left:0; right:0;
    height:1px; background:rgba(0,0,0,.08);
}
.admin-item:first-child .admin-item-line:first-child {
    top:0; bottom:auto;
}
.admin-logo {
    width:40px; height:40px; border-radius:10px;
    object-fit:contain; background:var(--white);
    border:1px solid rgba(0,0,0,.06);
    padding:4px; flex-shrink:0;
    transition:all .4s var(--ease);
}
.admin-item:hover .admin-logo {
    transform:scale(1.1);
    box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.admin-item-content { flex:1; display:flex; justify-content:space-between; align-items:center; }
.admin-name { font-family:var(--f-display); font-size:clamp(20px,2.5vw,32px); font-weight:700; }
.admin-count { font-size:13px; color:var(--gray); font-weight:500; }
.admin-item-arrow {
    opacity:0; transform:translateX(-10px);
    transition:all .4s var(--ease); color:var(--accent-2);
}
.admin-item:hover .admin-item-arrow {
    opacity:1; transform:translateX(0);
}
.admin-item:hover .admin-name { color:var(--accent-2); }

[data-skew] .admin-item {
    will-change:transform;
    transition:transform .4s var(--ease);
}

/* ============================================================
   LOCATION — SPLIT SCREEN WITH PHOTO
   ============================================================ */
.location-section { display:flex; min-height:80vh; }
.loc-left, .loc-right { flex:1; }
.loc-left { display:flex; align-items:center; justify-content:center; padding:80px 48px; }
.loc-left-inner { max-width:500px; }
.loc-info { margin-top:48px; display:flex; flex-direction:column; gap:28px; }
.loc-row { display:flex; flex-direction:column; gap:4px; }
.loc-label {
    font-size:10px; letter-spacing:2px; text-transform:uppercase;
    color:var(--accent); font-weight:500;
}
.loc-val { font-size:15px; color:var(--gray-l); line-height:1.6; }
.loc-right { position:relative; overflow:hidden; }
.loc-photo {
    position:absolute; inset:0;
}
.loc-photo img {
    width:100%; height:100%; object-fit:cover;
    transition:transform 6s ease;
}
.loc-right:hover .loc-photo img { transform:scale(1.04); }

/* ============================================================
   CTA
   ============================================================ */
.cta-section {
    padding:200px 48px; text-align:center;
    position:relative; overflow:hidden;
    background:var(--dark);
}
.cta-bg-shapes { position:absolute; inset:0; pointer-events:none; }
.cta-shape { position:absolute; border-radius:50%; filter:blur(100px); }
.cs1 {
    width:500px; height:500px;
    background:radial-gradient(circle, rgba(200,169,96,.08), transparent 70%);
    top:-200px; left:-100px;
}
.cs2 {
    width:400px; height:400px;
    background:radial-gradient(circle, rgba(180,150,80,.06), transparent 70%);
    bottom:-150px; right:-100px;
}
.cta-inner { position:relative; z-index:2; }
.cta-title {
    font-family:var(--f-display); font-weight:800;
    font-size:clamp(44px,8vw,120px); line-height:1.05;
    letter-spacing:-3px; margin-bottom:48px; color:var(--white);
}
.cta-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta-btn-main {
    display:inline-flex; align-items:center; gap:10px;
    position:relative; overflow:hidden;
}
.cta-btn-bg {
    position:absolute; inset:0;
    background:#25D366; border-radius:100px;
    transition:transform .5s var(--ease);
}
.cta-btn-text {
    position:relative; z-index:2;
    display:inline-flex; align-items:center; gap:8px;
    padding:16px 32px;
    color:var(--white); font-weight:600; font-size:15px;
}
.cta-btn-main:hover .cta-btn-bg { transform:scale(1.05); }
.cta-btn-sec {
    display:inline-flex; align-items:center; gap:8px;
    padding:16px 32px; border:1px solid rgba(255,255,255,.12);
    border-radius:100px; font-size:15px; font-weight:500;
    transition:all .3s var(--ease); color:var(--white);
}
.cta-btn-sec:hover { border-color:var(--accent); color:var(--accent); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
    padding:80px 48px 40px;
    border-top:1px solid rgba(255,255,255,.05);
}
.footer-inner { max-width:1400px; margin:0 auto; }
.footer-top { display:flex; justify-content:space-between; gap:60px; margin-bottom:60px; }
.footer-logo { font-family:var(--f-display); font-size:26px; font-weight:800; display:block; margin-bottom:10px; }
.footer-desc { font-size:13px; color:var(--gray); line-height:1.5; }
.footer-cols { display:flex; gap:80px; }
.footer-col { display:flex; flex-direction:column; gap:10px; }
.footer-col-t { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:6px; }
.footer-col a, .footer-col span { font-size:13px; color:var(--gray); transition:color .3s ease; }
.footer-col a:hover { color:var(--white); }
.footer-bot { display:flex; justify-content:space-between; padding-top:30px; border-top:1px solid rgba(255,255,255,.05); }
.footer-bot span { font-size:11px; color:var(--gray); }

/* ============================================================
   COTAS PAGE
   ============================================================ */
.cotas-hero { padding:160px 48px 80px; }
.cotas-hero-inner { max-width:1400px; margin:0 auto; }
.cotas-hero-title {
    font-family:var(--f-display); font-weight:800;
    font-size:clamp(44px,8vw,110px); line-height:1.05; letter-spacing:-2px;
    margin-bottom:20px; color:var(--black);
}
.cotas-hero-sub { font-size:16px; color:var(--gray-d); max-width:480px; line-height:1.7; }

.cotas-filters-section {
    padding:40px 48px; position:sticky; top:0; z-index:100;
    border-bottom:1px solid rgba(0,0,0,.06);
    background:var(--cream);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
}
.cotas-filters-inner {
    max-width:1400px; margin:0 auto;
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:16px;
}
.cf-group { display:flex; gap:8px; flex-wrap:wrap; }
.cf-btn {
    padding:10px 20px;
    border:1px solid rgba(0,0,0,.1);
    background:transparent; color:var(--gray-d);
    border-radius:100px; font-size:13px; font-weight:500;
    transition:all .3s var(--ease);
    display:flex; align-items:center; gap:8px;
}
.cf-btn:hover, .cf-btn.active {
    background:var(--black); color:var(--white); border-color:var(--black);
}
.cf-count {
    font-size:10px; padding:2px 7px;
    background:rgba(0,0,0,.06); border-radius:100px;
    transition:all .3s ease;
}
.cf-btn.active .cf-count { background:rgba(255,255,255,.15); }
.cf-sort select {
    padding:10px 36px 10px 16px;
    border:1px solid rgba(0,0,0,.1); background:var(--white);
    color:var(--gray-d); border-radius:100px; font-size:13px;
    outline:none; appearance:none; -webkit-appearance:none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 14px center;
}

/* COTAS GRID */
.cotas-grid-section { padding:40px 48px 120px; background:var(--cream); }
.cotas-grid {
    max-width:1400px; margin:0 auto;
    display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));
    gap:20px;
}

/* COTA CARD */
.cota-card {
    background:var(--white);
    border:1px solid rgba(0,0,0,.06);
    border-radius:20px; padding:32px;
    position:relative; overflow:hidden;
    transition:all .5s var(--ease);
    opacity:0; transform:translateY(24px);
}
.cota-card.vis { opacity:1; transform:translateY(0); }
.cota-card:hover {
    transform:translateY(-6px);
    box-shadow:0 24px 60px rgba(0,0,0,.08);
    border-color:rgba(200,169,96,.25);
}
.cota-card::before {
    content:''; position:absolute; top:0; left:0;
    width:100%; height:3px;
    background:var(--grad); opacity:0;
    transition:opacity .3s ease;
}
.cota-card:hover::before { opacity:1; }
.cota-card-head {
    display:flex; justify-content:space-between; align-items:flex-start;
    margin-bottom:20px;
}
.cota-code { font-size:11px; letter-spacing:2px; color:var(--gray); font-weight:500; }
.cota-status {
    padding:4px 10px; border-radius:100px;
    font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
    background:rgba(200,169,96,.1); color:var(--accent-2);
    border:1px solid rgba(200,169,96,.2);
}
.cota-credit {
    font-family:var(--f-display); font-size:30px; font-weight:700;
    background:var(--grad); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text;
    margin-bottom:2px;
}
.cota-credit-lbl {
    font-size:10px; letter-spacing:1px; text-transform:uppercase;
    color:var(--gray); margin-bottom:20px; display:block;
}
.cota-dets {
    display:grid; grid-template-columns:1fr 1fr; gap:14px;
    padding-top:20px; border-top:1px solid rgba(0,0,0,.05);
}
.cota-det { display:flex; flex-direction:column; gap:3px; }
.cota-det-lbl { font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gray); }
.cota-det-val { font-size:14px; font-weight:600; color:var(--black); }
.cota-admin-wrap {
    margin-top:16px; display:flex; align-items:center; gap:8px;
}
.cota-admin-dot { width:7px; height:7px; border-radius:50%; background:var(--accent-2); }
.cota-admin-nm { font-size:12px; color:var(--gray); font-weight:500; }
.cota-card-cta {
    display:block; width:100%; margin-top:20px;
    padding:13px; text-align:center;
    background:var(--black); border:none; border-radius:12px;
    color:var(--white); font-weight:600; font-size:13px;
    transition:all .3s var(--ease);
}
.cota-card-cta:hover { background:var(--accent-2); color:var(--black); }
.cota-offer-badge {
    position:absolute; top:14px; right:14px;
    padding:5px 10px; background:rgba(200,169,96,.1);
    border:1px solid rgba(200,169,96,.2); border-radius:8px;
    font-size:8px; font-weight:700; letter-spacing:1px;
    text-transform:uppercase; color:var(--accent-2);
}
.cotas-disclaimer {
    max-width:1400px; margin:32px auto 0;
    font-size:12px; color:var(--gray); font-style:italic;
}

/* ============================================================
   MAGNETIC
   ============================================================ */
.magnetic-el { display:inline-block; }

/* ============================================================
   SCROLLBAR
   ============================================================ */
html { scrollbar-width:thin; scrollbar-color:var(--accent) var(--dark); }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--accent); border-radius:5px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1200px) {
    .numbers-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:1024px) {
    .nav-links-desktop, .nav-cta { display:none; }
    .nav-burger { display:flex; }
    .admins-inner { grid-template-columns:1fr; gap:48px; }
    .location-section { flex-direction:column; }
    .loc-right { min-height:350px; }
    .loc-left { padding:60px 48px; }
    .showcase-track { grid-template-columns:1fr 1fr; }
    .showcase-card:nth-child(2) { margin-top:40px; }
    .showcase-card:nth-child(3) { margin-top:0; }
}
@media(max-width:768px) {
    .hero-content { padding:100px 24px 32px; }
    .hero-bottom { flex-direction:column; gap:24px; align-items:flex-start; }
    .hero-cta-group { flex-direction:column; align-items:flex-start; }
    .hero-stats { gap:16px; }
    .trust-strip { padding:32px 24px; }
    .trust-strip-inner { flex-wrap:wrap; gap:24px; justify-content:flex-start; }
    .trust-sep { display:none; }
    .trust-item { flex:0 0 calc(50% - 12px); }
    .nav { padding:16px 24px; }
    .showcase { padding:100px 24px; }
    .showcase-track { grid-template-columns:1fr; }
    .showcase-card:nth-child(2),
    .showcase-card:nth-child(3) { margin-top:0; }
    .numbers-section { padding:100px 24px; }
    .numbers-grid { grid-template-columns:1fr; gap:24px; }
    .admins-section { padding:100px 24px; }
    .cta-section { padding:120px 24px; }
    .footer { padding:60px 24px 30px; }
    .footer-top { flex-direction:column; gap:32px; }
    .footer-cols { flex-direction:column; gap:32px; }
    .footer-bot { flex-direction:column; gap:6px; }
    .cotas-hero { padding:120px 24px 60px; }
    .cotas-filters-section { padding:24px; }
    .cotas-grid-section { padding:24px 24px 80px; }
    .cotas-grid { grid-template-columns:1fr; }
    .cta-btns { flex-direction:column; align-items:center; }
    .cursor { display:none; }
    body, a, button, select { cursor:auto; }
}
@media(max-width:480px) {
    .cf-group { gap:6px; }
    .cf-btn { padding:8px 14px; font-size:11px; }
    .hg-word { letter-spacing:-1px; }
}
