/* ══ HERO ══ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:#000000;overflow:hidden;padding-top:var(--nav-h)}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center;width:100%}
.hero__visual{display:flex;justify-content:center;align-items:center;animation:fade-in 1s ease-out forwards}
.hero__visual img{max-width:100%;height:auto;max-height:500px;object-fit:contain}
@keyframes fade-in{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}
.hero__content{position:relative;z-index:1}
.hero__badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-full);background:rgba(214,168,79,.15);color:var(--gold);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--sp-8);letter-spacing:.02em}
.hero__title{font-size:var(--fs-5xl);font-weight:var(--fw-bold);color:var(--white);line-height:1.2;margin-bottom:var(--sp-8);letter-spacing:-.02em}
.hero__title span{color:var(--gold)}
.hero__desc{font-size:var(--fs-lg);color:rgba(255,255,255,.7);line-height:var(--lh-relaxed);margin-bottom:var(--sp-10);max-width:600px}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-4)}
.hero__scroll{position:absolute;bottom:var(--sp-10);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);color:rgba(255,255,255,.4);font-size:var(--fs-xs);animation:bounce 2s ease-in-out infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ══ ABOUT PAGE ══ */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center}
.about-intro__text h2{margin-bottom:var(--sp-8)}
.about-intro__text p{margin-bottom:var(--sp-6);font-size:var(--fs-lg)}
.about-intro__visual{position:relative;height:400px;background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:var(--r-xl);overflow:hidden;display:flex;align-items:center;justify-content:center}
.about-intro__visual::before{content:'';position:absolute;width:200px;height:200px;border:2px solid rgba(255,255,255,.08);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.about-intro__visual::after{content:'';position:absolute;width:120px;height:120px;border:2px solid rgba(255,255,255,.05);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.about-visual-text{color:var(--gold);font-size:var(--fs-4xl);font-weight:var(--fw-bold);z-index:1;letter-spacing:.05em}

/* ══ PROGRAM PAGE ══ */
.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-8)}

/* ══ LAB PAGES (Youth/Adult) ══ */
.lab-hero{padding:var(--sp-24) 0 var(--sp-16);background:var(--light-gray);text-align:center}
.lab-hero h1{margin-bottom:var(--sp-6)}
.lab-hero p{font-size:var(--fs-lg);max-width:640px;margin:0 auto}
.lab-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:start}
.lab-program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-6)}
.lab-program-card{background:var(--white);border-radius:var(--r-md);padding:var(--sp-6);border:1px solid var(--border-light);text-align:center;transition:border-color var(--tr-fast),transform var(--tr-fast)}
.lab-program-card:hover{border-color:var(--royal-blue);transform:translateY(-2px)}
.lab-program-card__icon{font-size:var(--fs-2xl);margin-bottom:var(--sp-3)}
.lab-program-card__title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary)}

/* ══ CONTENTS PAGE ══ */
.contents-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3);margin-bottom:var(--sp-12)}
.contents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-8)}

/* ══ CONTACT PAGE ══ */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:start}
.contact-info{padding:var(--sp-10)}
.contact-info h3{margin-bottom:var(--sp-6)}
.contact-info p{margin-bottom:var(--sp-8)}
.contact-info-item{display:flex;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6)}
.contact-info-item__icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--royal-blue-bg);color:var(--royal-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--fs-lg)}
.contact-info-item__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--sp-1)}
.contact-info-item__value{font-size:var(--fs-sm);color:var(--text-secondary)}
.contact-form-wrap{background:var(--white);border-radius:var(--r-xl);padding:var(--sp-10);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}

/* ══ CTA SECTION ══ */
.cta-section{text-align:center;background:linear-gradient(135deg,var(--navy),var(--navy-light));padding:var(--sp-20) 0;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;right:-100px;top:-100px;width:400px;height:400px;border:2px solid rgba(255,255,255,.04);border-radius:50%}
.cta-section h2{color:var(--white);margin-bottom:var(--sp-6)}
.cta-section p{color:rgba(255,255,255,.7);font-size:var(--fs-lg);max-width:600px;margin:0 auto var(--sp-10)}

/* ══ PAGE TOP PADDING ══ */
.page-top{padding-top:calc(var(--nav-h) + var(--sp-16))}
