:root{--black:#0a0a0a;--dark:#1a1a1a;--grey-90:#2a2a2a;--grey-70:#4a4a4a;--grey-50:#7a7a7a;--grey-30:#b0b0b0;--grey-10:#e8e8e8;--grey-05:#f4f4f4;--white:#ffffff;--accent:#2a2a2a;}*{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:'Inter',sans-serif;background:var(--white);color:var(--black);overflow-x:hidden;}body::after{content:'';position:fixed;inset:0;background-image:radial-gradient(circle,#d0d0d0 1px,transparent 1px);background-size:32px 32px;opacity:0.18;pointer-events:none;z-index:0;}nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:0 4rem;height:70px;display:flex;align-items:center;justify-content:space-between;transition:background 0.4s,box-shadow 0.4s;}nav.scrolled{background:rgba(255,255,255,0.95);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--grey-10);}.nav-brand{display:flex;align-items:center;gap:0.8rem;}.nav-emblem{width:40px;height:40px;background:var(--black);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--white);letter-spacing:0;flex-shrink:0;}.nav-school-name{font-size:0.82rem;font-weight:600;letter-spacing:0.04em;color:var(--black);line-height:1.2;}.nav-school-name span{display:block;font-size:0.65rem;font-weight:400;color:var(--grey-50);letter-spacing:0.08em;text-transform:uppercase;}.nav-links a{font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--grey-50);text-decoration:none;margin-left:2rem;transition:color 0.3s;}.nav-links a:hover{color:var(--black);}.nav-cta{background:var(--black);color:var(--white);padding:0.55rem 1.4rem;font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:background 0.3s;margin-left:2rem;}.nav-cta:hover{background:var(--grey-70);}#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;}.hero-left{background:var(--black);display:flex;flex-direction:column;justify-content:flex-end;padding:7rem 4rem 6rem;position:relative;z-index:1;}.hero-left::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient( 45deg,transparent,transparent 40px,rgba(255,255,255,0.015) 40px,rgba(255,255,255,0.015) 41px );}.hero-badge{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.65rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--grey-30);margin-bottom:2.5rem;animation:fadeUp 0.8s ease both;}.hero-badge::before{content:'';display:block;width:24px;height:1px;background:var(--grey-50);}.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,4.5vw,5rem);font-weight:600;line-height:1.08;color:var(--white);animation:fadeUp 0.8s 0.12s ease both;}.hero-title em{font-style:italic;color:var(--grey-30);}.hero-sub{margin-top:1.8rem;font-size:0.9rem;line-height:1.85;color:var(--grey-50);max-width:400px;animation:fadeUp 0.8s 0.24s ease both;}.hero-btns{display:flex;gap:1rem;margin-top:3rem;animation:fadeUp 0.8s 0.36s ease both;}.btn-w{background:var(--white);color:var(--black);padding:0.85rem 2rem;font-size:0.74rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:all 0.3s;}.btn-w:hover{background:var(--grey-10);transform:translateY(-2px);}.btn-ghost{border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.6);padding:0.85rem 2rem;font-size:0.74rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:all 0.3s;}.btn-ghost:hover{border-color:var(--white);color:var(--white);}.hero-right{background:var(--grey-05);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:7rem 4rem;position:relative;gap:2rem;}.hero-stat-block{width:100%;max-width:340px;background:var(--white);border:1px solid var(--grey-10);padding:2rem 2.5rem;display:flex;align-items:center;gap:1.5rem;animation:fadeUp 0.8s ease both;transition:transform 0.3s,box-shadow 0.3s;}.hero-stat-block:hover{transform:translateX(6px);box-shadow:-4px 0 0 var(--black);}.hero-stat-block:nth-child(2){animation-delay:0.15s;}.hero-stat-block:nth-child(3){animation-delay:0.3s;}.hero-stat-block:nth-child(4){animation-delay:0.45s;}.hsb-num{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:600;color:var(--black);line-height:1;flex-shrink:0;}.hsb-label{font-size:0.78rem;color:var(--grey-50);line-height:1.5;}.hsb-label strong{display:block;color:var(--black);font-size:0.9rem;font-weight:600;}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--grey-30);z-index:5;animation:fadeUp 1s 0.8s ease both;}.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--grey-50),transparent);animation:scrollPulse 2s infinite;}#about{padding:8rem 4rem;background:var(--grey-05);position:relative;z-index:1;}#vision{padding:8rem 4rem;background:var(--white);position:relative;z-index:1;}.vision-grid{display:grid;grid-template-columns:1fr 2fr;gap:6rem;align-items:start;}.vision-side .section-label{font-size:0.68rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--grey-50);margin-bottom:1.2rem;}.vision-side h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,3rem);font-weight:600;line-height:1.2;color:var(--black);}.vision-side h2 em{font-style:italic;color:var(--grey-50);}.vision-side p{margin-top:1.5rem;font-size:0.9rem;line-height:1.9;color:var(--grey-50);}.vm-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:var(--grey-10);}.vm-card{background:var(--white);padding:2.5rem;transition:background 0.3s;cursor:default;}.vm-card:hover{background:var(--black);}.vm-card:hover *{color:var(--white) !important;}.vm-card:hover .vm-card-num{color:var(--grey-50) !important;}.vm-card-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:400;color:var(--grey-10);line-height:1;margin-bottom:1rem;transition:color 0.3s;}.vm-card h3{font-size:1rem;font-weight:600;color:var(--black);margin-bottom:0.6rem;transition:color 0.3s;}.vm-card p{font-size:0.82rem;color:var(--grey-50);line-height:1.7;transition:color 0.3s;}#jurusan{padding:8rem 4rem;background:var(--grey-05);position:relative;z-index:1;}.section-header{margin-bottom:4rem;}.section-label{font-size:0.68rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--grey-50);margin-bottom:0.8rem;display:block;}.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:600;line-height:1.2;color:var(--black);}.section-title em{font-style:italic;color:var(--grey-50);}.fas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--grey-10);}.fas-card{background:var(--white);padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background 0.35s;cursor:default;}.fas-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--black);transform:scaleX(0);transform-origin:left;transition:transform 0.35s;}.fas-card:hover::after{transform:scaleX(1);}.fas-icon{font-size:2rem;margin-bottom:1.5rem;filter:grayscale(1);}.fas-name{font-size:1rem;font-weight:600;color:var(--black);margin-bottom:0.5rem;}.fas-desc{font-size:0.81rem;color:var(--grey-50);line-height:1.7;}#prestasi{padding:8rem 4rem;background:var(--black);position:relative;z-index:1;overflow:hidden;}#prestasi::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,0.04);}#prestasi::after{content:'';position:absolute;top:-20%;right:-10%;width:400px;height:400px;border-radius:50%;border:1px solid rgba(255,255,255,0.04);}.prestasi-header{margin-bottom:5rem;}.prestasi-header .section-label{color:var(--grey-70);}.prestasi-header .section-title{color:var(--white);}.prestasi-header .section-title em{color:var(--grey-50);}.prestasi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,0.06);}.pres-card{background:var(--black);padding:2.5rem 2rem;opacity:0;transform:translateY(30px);transition:all 0.6s ease,background 0.3s;}.pres-card.visible{opacity:1;transform:translateY(0);}.pres-card:hover{background:var(--dark);}.pres-year{font-size:0.65rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--grey-70);margin-bottom:1rem;}.pres-trophy{font-size:1.5rem;margin-bottom:1rem;filter:grayscale(1);opacity:0.6;}.pres-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:400;color:var(--white);margin-bottom:0.5rem;line-height:1.4;}.pres-level{font-size:0.75rem;color:var(--grey-50);}.pres-level span{color:var(--grey-30);font-weight:500;}#sambutan{padding:8rem 4rem;background:var(--white);position:relative;z-index:1;}.sambutan-wrap{max-width:1200px;margin:0 auto;display:flex;gap:4rem;align-items:center;}.sambutan-img{flex:1;min-width:300px;aspect-ratio:3/4;background:var(--grey-10);position:relative;overflow:hidden;}.sambutan-img img{width:100%;height:100%;object-fit:cover;}.sambutan-content{flex:1.5;min-width:300px;}.sambutan-content .section-title{margin-bottom:2rem;}.sambutan-text{font-size:0.95rem;line-height:1.8;color:var(--grey-70);margin-bottom:2rem;}.sambutan-text p{margin-bottom:1rem;}.sambutan-sign h4{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:600;color:var(--black);}.sambutan-sign p{font-size:0.8rem;color:var(--grey-50);text-transform:uppercase;letter-spacing:0.1em;margin-top:0.3rem;}#guru{padding:8rem 4rem;background:var(--grey-05);position:relative;z-index:1;}.guru-header{text-align:center;max-width:480px;margin:0 auto 4rem;}.guru-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}.guru-card{opacity:0;transform:translateY(30px);transition:all 0.6s ease;}.guru-card.visible{opacity:1;transform:translateY(0);}.guru-photo{aspect-ratio:1;background:var(--grey-10);margin-bottom:1rem;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}.guru-initials{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:400;color:var(--grey-30);}.guru-overlay{position:absolute;inset:0;background:var(--black);opacity:0;transition:opacity 0.3s;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0.4rem;}.guru-card:hover .guru-overlay{opacity:0.92;}.guru-overlay-text{font-size:0.72rem;color:var(--grey-30);letter-spacing:0.1em;text-transform:uppercase;text-align:center;padding:0 1rem;}.guru-name{font-size:0.9rem;font-weight:600;color:var(--black);}.guru-mapel{font-size:0.72rem;color:var(--grey-50);margin-top:0.2rem;text-transform:uppercase;letter-spacing:0.08em;}#testi{padding:8rem 4rem;background:var(--white);position:relative;z-index:1;}.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:4rem;}.testi-card{border:1px solid var(--grey-10);padding:2.5rem;transition:border-color 0.3s,transform 0.3s;}.testi-card:hover{border-color:var(--black);transform:translateY(-4px);}.testi-stars{font-size:0.75rem;letter-spacing:0.1em;color:var(--grey-30);margin-bottom:1.2rem;}.testi-text{font-family:'Playfair Display',serif;font-size:1.05rem;font-style:italic;line-height:1.8;color:var(--black);margin-bottom:1.8rem;}.testi-author{display:flex;align-items:center;gap:1rem;}.testi-ava{width:42px;height:42px;background:var(--grey-10);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:600;color:var(--grey-50);flex-shrink:0;}.testi-info .t-name{font-size:0.85rem;font-weight:600;}.testi-info .t-desc{font-size:0.72rem;color:var(--grey-50);margin-top:0.1rem;}#alumni{padding:4rem 0;background:var(--black);overflow:hidden;position:relative;z-index:1;}.alumni-label{text-align:center;font-size:0.65rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--grey-70);margin-bottom:2rem;}.alumni-track{display:flex;gap:4rem;animation:marquee 25s linear infinite;width:max-content;}.alumni-item{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:400;color:rgba(255,255,255,0.18);white-space:nowrap;transition:color 0.3s;}.alumni-item:hover{color:rgba(255,255,255,0.7);}#infografis{padding:8rem 4rem;background:var(--grey-05);position:relative;z-index:1;}.kontak-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;}.kontak-info .section-title{color:var(--black);}.kontak-info p{margin-top:1.2rem;font-size:0.9rem;line-height:1.9;color:var(--grey-50);}.kontak-detail{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.2rem;}.kontak-item{display:flex;gap:1rem;align-items:flex-start;}.kontak-icon{width:36px;height:36px;background:var(--black);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:0.8rem;flex-shrink:0;}.kontak-text .k-label{font-size:0.65rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--grey-50);}.kontak-text .k-val{font-size:0.88rem;color:var(--black);margin-top:0.15rem;}.form-group{margin-bottom:1.2rem;}.form-group label{display:block;font-size:0.65rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--grey-50);margin-bottom:0.5rem;}.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--white);border:1px solid var(--grey-10);color:var(--black);padding:0.85rem 1rem;font-family:'Inter',sans-serif;font-size:0.88rem;outline:none;transition:border-color 0.3s;appearance:none;}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--black);}.form-group textarea{height:110px;resize:vertical;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.btn-kirim{background:var(--black);color:var(--white);border:none;width:100%;padding:1rem;font-family:'Inter',sans-serif;font-size:0.74rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background 0.3s;margin-top:0.5rem;}.btn-kirim:hover{background:var(--grey-70);}footer{background:var(--black);padding:3rem 4rem 2rem;position:relative;z-index:1;}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,0.08);}.footer-brand-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:600;color:var(--white);margin-bottom:0.8rem;}.footer-tagline{font-size:0.8rem;color:var(--grey-70);line-height:1.7;max-width:240px;}.footer-col h4{font-size:0.68rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--grey-50);margin-bottom:1.2rem;}.footer-col a{display:block;font-size:0.8rem;color:var(--grey-70);text-decoration:none;margin-bottom:0.7rem;transition:color 0.3s;}.footer-col a:hover{color:var(--white);}.footer-bottom{padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;}.footer-copy{font-size:0.72rem;color:var(--grey-70);}.footer-socials{display:flex;gap:0.8rem;}.footer-socials a{width:32px;height:32px;border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:0.65rem;color:var(--grey-50);text-decoration:none;transition:all 0.3s;}.footer-socials a:hover{border-color:var(--white);color:var(--white);}@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}@keyframes scrollPulse{0%,100%{opacity:1;}50%{opacity:0.2;}}@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}.reveal{opacity:0;transform:translateY(32px);transition:all 0.7s ease;}.reveal.visible{opacity:1;transform:translateY(0);}@media (max-width:900px){nav{padding:0 1.5rem;}.nav-links,.nav-cta{display:none;}#mobile-menu-btn{display:block !important;}#hero{grid-template-columns:1fr;min-height:auto;}.hero-left{padding:8rem 1.5rem 4rem;}.hero-right{padding:3rem 1.5rem;}#hero,#sambutan,#about,#vision,#jurusan,#prestasi,#guru,#testi,#infografis{padding:5rem 1.5rem;}.vision-grid,.kontak-grid{grid-template-columns:1fr;gap:3rem;}.vm-cards{grid-template-columns:1fr;}.fas-grid{grid-template-columns:1fr 1fr;}.prestasi-grid{grid-template-columns:1fr 1fr;}.sambutan-wrap{flex-direction:column;text-align:center;}.sambutan-img{width:100%;aspect-ratio:1;}.guru-grid{grid-template-columns:1fr 1fr;}.testi-grid{grid-template-columns:1fr;}#berita>div:nth-child(2){grid-template-columns:1fr 1fr;}.footer-top{grid-template-columns:1fr 1fr;}.footer-top{grid-template-columns:1fr 1fr;}footer{padding:2.5rem 1.5rem;}}