/* ── INVITE ── */
.section-invite{
    padding:var(--sp16) 0;
    border-bottom:var(--border);
    text-align:center;
}
.invite-inner{max-width:760px;margin:0 auto;padding:0 var(--gut)}
.invite-heading{
    font-family:var(--font-serif);
    font-size:var(--sz-xl);
    font-weight:300;
    color:var(--white);
    margin-bottom:var(--sp4);
    line-height:1.05;
}
.invite-sub{
    font-family:var(--font-serif);
    font-size:var(--sz-md);
    font-weight:300;
    color:var(--white-70);
    margin-bottom:var(--sp2);
    line-height:1.5;
}
.invite-body{
    font-family:var(--font-mono);
    font-size:var(--sz-sm);
    color:var(--white-40);
    letter-spacing:0.05em;
    line-height:1.7;
}

/* ── VISION ── */
.section-vision{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:100svh;
    border-bottom:var(--border);
}
.vision-video-col{position:relative;overflow:hidden}
.vision-video-wrap{position:absolute;inset:0}
.vision-video-wrap video{width:100%;height:100%;object-fit:cover}

.vision-text-col{
    padding:var(--sp12) var(--sp8) var(--sp12) var(--sp6);
    display:flex;flex-direction:column;gap:var(--sp4);
    border-left:var(--border);
    overflow:hidden;
}
.vision-handle{
    font-family:var(--font-mono);font-size:var(--sz-xs);
    color:var(--white-40);letter-spacing:0.2em;
    text-transform:uppercase;line-height:1.8;
}
.vision-quote{
    font-family:var(--font-serif);font-size:var(--sz-md);
    font-weight:300;color:var(--white-70);line-height:1.5;
}
.vision-sub{
    font-family:var(--font-serif);font-size:var(--sz-lg);
    font-weight:300;color:var(--white);line-height:1.1;
}
.vision-body{
    font-family:var(--font-mono);font-size:var(--sz-sm);
    color:var(--white-40);line-height:1.8;
}
.vision-rotate-words{
    font-family:var(--font-serif);font-size:var(--sz-md);
    color:var(--white);
}
.rotate-word{
    font-style:italic;color:var(--gold);
    display:inline-block;
    transition:opacity 0.3s, transform 0.3s;
}

/* ── FULL VIDEO ── */
.section-fullvideo{border-bottom:var(--border)}
.fullvideo-wrap{
    position:relative;
    height:80svh;min-height:500px;
    overflow:hidden;
}
.fullvideo-wrap video{width:100%;height:100%;object-fit:cover}
.fullvideo-overlay{
    position:absolute;inset:0;
    background:rgba(5,5,5,0.55);
    display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    text-align:center;gap:1.5rem;
    padding:var(--gut);
}
.fullvideo-overlay h2{
    font-family:var(--font-serif);font-size:var(--sz-xl);
    font-weight:300;color:var(--white);line-height:1.1;
}
.fullvideo-overlay p{
    font-family:var(--font-mono);font-size:var(--sz-xs);
    color:var(--white-40);letter-spacing:0.2em;text-transform:uppercase;
}

/* Scrolling category strip */
.cats-scroll{
    overflow:hidden;padding:var(--sp3) 0;
    border-top:var(--border);
}
.cats-scroll-inner{
    display:flex;width:max-content;
    animation:catsScroll 30s linear infinite;
}
@keyframes catsScroll{from{transform:translateX(0)}to{transform:translateX(-33.33%)}}
.cat-item{
    font-family:var(--font-mono);font-size:var(--sz-xs);
    letter-spacing:0.2em;text-transform:uppercase;
    color:var(--white-40);
    padding:0 var(--sp4);white-space:nowrap;
    border-right:var(--border);
}

/* ── GEAR WALL (logo-wall style) ── */
.gear-wall{
    overflow:hidden;
    padding:var(--sp4) 0;
    border-bottom:var(--border);
    border-top:var(--border);
}
.gear-wall-track{
    display:flex;width:max-content;
    animation:wallScroll 25s linear infinite;
}
@keyframes wallScroll{from{transform:translateX(0)}to{transform:translateX(-25%)}}
.gear-wall-item{
    font-family:var(--font-mono);font-size:var(--sz-xs);
    letter-spacing:0.2em;text-transform:uppercase;
    color:var(--white-15);
    padding:0 var(--sp6);white-space:nowrap;
}

/* ── STATS BLOCK ── */
.stats-block{
    display:grid;grid-template-columns:1fr 1fr;
    gap:var(--sp12);
    padding:var(--sp12) 0;
    border-bottom:var(--border);
    align-items:center;
}
.stats-pct,.stats-plus{
    display:flex;align-items:baseline;gap:0.25rem;
    margin-bottom:var(--sp2);
}
.stats-num{
    font-family:var(--font-serif);
    font-size:clamp(4rem,10vw,9rem);
    font-weight:300;
    color:var(--white);
    line-height:1;
}
.stats-suf{
    font-family:var(--font-serif);
    font-size:clamp(2.5rem,6vw,5rem);
    font-weight:300;
    color:var(--gold);
}
.stats-block-left p{
    font-family:var(--font-mono);font-size:var(--sz-sm);
    color:var(--white-40);line-height:1.7;
    margin-bottom:var(--sp8);
}
.stats-tagline{
    font-family:var(--font-serif);font-size:var(--sz-md);
    font-weight:300;color:var(--white-70);line-height:1.5;
}

.portfolio-hero-img{
    margin:var(--sp12) 0;
    border:var(--border);
    overflow:hidden;
}
.portfolio-hero-img img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block}

/* ── PROCESS ── */
.process-title{
    font-family:var(--font-serif);
    font-size:var(--sz-xl);
    font-weight:300;
    color:var(--white);
    margin-bottom:var(--sp8);
    line-height:1.05;
}
.process-steps{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:0;
    border-top:var(--border);
    border-left:var(--border);
    margin-bottom:var(--sp4);
}
.process-step{
    padding:var(--sp6);
    border-right:var(--border);
    border-bottom:var(--border);
    transition:background var(--t2);
}
.process-step:hover{background:var(--white-04)}
.ps-num{
    display:block;
    font-family:var(--font-mono);font-size:var(--sz-xs);
    color:var(--gold);letter-spacing:0.15em;
    margin-bottom:var(--sp4);
}
.ps-title{
    font-family:var(--font-serif);font-size:var(--sz-md);
    color:var(--white);margin-bottom:var(--sp2);
}
.process-step p{
    font-size:var(--sz-sm);color:var(--white-40);line-height:1.6;
}
.process-slider-nav{
    font-family:var(--font-mono);font-size:var(--sz-xs);
    color:var(--white-40);letter-spacing:0.15em;
    display:flex;gap:0.5rem;
    margin-bottom:var(--sp12);
}

/* ── COMPARE BLOCK ── */
.compare-block{
    position:relative;
    padding:var(--sp12) 0;
    border-top:var(--border);
    overflow:hidden;
}
.compare-tabs{
    display:flex;flex-wrap:wrap;gap:0;
    border:var(--border);
    margin-bottom:var(--sp8);
}
.compare-tab{
    flex:1;
    font-family:var(--font-mono);font-size:var(--sz-xs);
    letter-spacing:0.12em;text-transform:uppercase;
    color:var(--white-40);
    padding:var(--sp3) var(--sp4);
    border-right:var(--border);
    cursor:none;
    transition:background var(--t2),color var(--t2);
    text-align:left;
}
.compare-tab:last-child{border-right:none}
.compare-tab em{font-style:normal;color:var(--white-15)}
.compare-tab.active,.compare-tab:hover{background:var(--white-08);color:var(--white)}

.compare-panels{position:relative;min-height:220px}
.compare-panel{
    display:none;
    grid-template-columns:1fr 1fr;
    gap:0;
    border:var(--border);
}
.compare-panel.active{display:grid}
.cp-left,.cp-right{padding:var(--sp8)}
.cp-right{border-left:var(--border);background:var(--bg-3)}
.compare-panel h3{
    font-family:var(--font-serif);font-size:var(--sz-md);
    color:var(--white);margin-bottom:var(--sp3);
}
.compare-panel p{
    font-size:var(--sz-sm);color:var(--white-70);line-height:1.7;
}
.cp-old{color:var(--white-40)!important}

.compare-bg-img{
    position:absolute;inset:0;z-index:-1;opacity:0.06;
    pointer-events:none;
}
.compare-bg-img img{width:100%;height:100%;object-fit:cover}

/* ── ADMISSION ── */
.section-admission{
    padding:var(--sp16) 0 0;
    border-top:var(--border);
}
.admission-inner{max-width:860px;margin:0 auto var(--sp12)}
.admission-marquee{
    font-family:var(--font-mono);
    font-size:clamp(1.5rem,4vw,3rem);
    color:var(--white-15);
    letter-spacing:0.08em;
    display:flex;gap:4rem;
    overflow:hidden;
    white-space:nowrap;
    margin-bottom:var(--sp8);
    animation:marqueeAdm 18s linear infinite;
}
@keyframes marqueeAdm{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.admission-body p{
    font-family:var(--font-mono);font-size:var(--sz-base);
    color:var(--white-40);line-height:2;
    margin-bottom:var(--sp4);
}
.admission-video-wrap{
    width:100%;height:70svh;min-height:400px;
    overflow:hidden;position:relative;
    margin:var(--sp12) 0;
}
.admission-video-wrap video{width:100%;height:100%;object-fit:cover}
.admission-closing{
    text-align:center;
    padding:var(--sp12) var(--gut) var(--sp16);
    display:flex;flex-direction:column;align-items:center;gap:var(--sp4);
}
.admission-closing h2{
    font-family:var(--font-serif);
    font-size:var(--sz-xl);
    font-weight:300;
    color:var(--white);
    line-height:1.1;
}

/* ── CONTACT ── */
.section-contact{padding:var(--sp16) 0;border-top:var(--border)}
.contact-inner{
    display:grid;grid-template-columns:1fr 1fr;
    gap:var(--sp12);align-items:start;
}
.contact-heading{
    font-family:var(--font-serif);
    font-size:var(--sz-xl);font-weight:300;
    color:var(--white);line-height:1.1;
    margin-bottom:var(--sp4);
}
.contact-left p{
    font-size:var(--sz-sm);color:var(--white-40);
    line-height:1.8;margin-bottom:var(--sp6);
}
.contact-email{
    font-family:var(--font-serif);font-size:var(--sz-md);
    color:var(--gold);
    border-bottom:var(--border-gold);
    padding-bottom:2px;
    transition:color var(--t2);
    display:inline-block;
}
.contact-email:hover{color:var(--white)}
