@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,400&family=Inter:wght@300;400;600&display=swap');

:root {
  --primary: #D4AF37;
  --accent: #8B4513;
  --bg-dark: #0A0A0A;
  --text-off: #F5F2ED;
  --card-bg: rgba(26,23,22,0.5);
  --gold-border: rgba(212,175,55,0.3);
  --font-serif: "Cormorant Garamond", serif;
  --font-sans: "Inter", sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); background: var(--bg-dark); color: var(--text-off); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4 { font-family: var(--font-serif); font-weight:300; }
.italic { font-style:italic; }
.gold { color: var(--primary); }
.gold-border { border:1px solid var(--gold-border); }
.relative-z { position:relative; z-index:2; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }

/* ── Custom Cursor ── */
.custom-cursor { position:fixed; top:0; left:0; width:12px; height:12px; background:var(--primary); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:transform .1s; }
.custom-cursor-follower { position:fixed; top:0; left:0; width:32px; height:32px; border:1px solid rgba(212,175,55,0.5); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:transform .15s, width .3s, height .3s; }
@media(max-width:768px) { .custom-cursor,.custom-cursor-follower { display:none!important; } }

/* ── Scroll Progress ── */
.scroll-progress-track { position:fixed; top:0; left:0; width:100%; height:2px; z-index:60; background:rgba(255,255,255,0.05); }
.scroll-progress-bar { height:100%; background:var(--primary); width:0; transform-origin:left; }

/* ── Loader ── */
.page-loader { position:fixed; inset:0; z-index:9999; background:var(--bg-dark); display:flex; align-items:center; justify-content:center; transition:opacity .6s, visibility .6s; }
.page-loader.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.loader-inner { display:flex; flex-direction:column; align-items:center; gap:2rem; }
.loader-book { position:relative; perspective:800px; }
.loader-book-glow { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:16rem; height:16rem; background:rgba(212,175,55,0.2); filter:blur(100px); border-radius:50%; animation:pulse 2s ease-in-out infinite; }
.loader-book-shape { width:12rem; height:16rem; background:#1a1310; border-radius:0 8px 8px 0; border-left:12px solid rgba(212,175,55,0.4); box-shadow:0 25px 50px rgba(0,0,0,0.5); position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; animation:book-wobble 4s ease-in-out infinite; }
.loader-book-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,0,0,0.4),transparent); pointer-events:none; }
.loader-emoji { font-size:2.5rem; position:relative; z-index:1; }
.loader-progress-track { width:8rem; height:4px; background:rgba(255,255,255,0.1); border-radius:4px; margin-top:1rem; overflow:hidden; position:relative; z-index:1; }
.loader-progress-fill { height:100%; background:var(--primary); width:0; transition:width .1s linear; }
.loader-text { text-align:center; opacity:0; transform:translateY(20px); transition:opacity .5s, transform .5s; }
.loader-text.visible { opacity:1; transform:translateY(0); }
.loader-text h2 { font-family:var(--font-serif); font-size:1.5rem; color:var(--primary); font-style:italic; margin-bottom:.5rem; }
.loader-text p { font-size:.75rem; color:rgba(255,255,255,0.4); letter-spacing:.2em; text-transform:uppercase; }
@keyframes book-wobble { 0%,100%{transform:rotateY(0)} 50%{transform:rotateY(-10deg)} }
@keyframes pulse { 0%,100%{opacity:.5} 50%{opacity:1} }

/* ── Navbar ── */
.tsc-nav { position:fixed; top:0; left:0; width:100%; z-index:50; padding:2rem 0; transition:all .5s; }
.tsc-nav.scrolled { padding:1rem 0; background:rgba(10,10,10,0.8); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,0.05); }
.nav-inner { max-width:80rem; margin:0 auto; padding:0 3rem; display:flex; justify-content:space-between; align-items:center; }
.nav-logo { display:flex; align-items:center; gap:1rem; }
.nav-logo-img { height:40px; width:auto; border-radius:50%; }
.nav-logo-text { font-family:var(--font-serif); font-size:1.4rem; letter-spacing:.2em; font-weight:300; color:var(--primary); }
.nav-links-desktop { display:flex; align-items:center; gap:2.5rem; }
.nav-link { font-size:.65rem; letter-spacing:.3em; text-transform:uppercase; opacity:.7; transition:all .3s; }
.nav-link:hover { opacity:1; color:var(--primary); }
.nav-cta { color:var(--primary); border-bottom:1px solid rgba(212,175,55,0.4); padding-bottom:2px; }
.nav-cta:hover { border-color:var(--primary); }
.mobile-menu-btn { display:none; background:none; border:none; color:white; cursor:pointer; padding:.5rem; }
@media(max-width:768px) {
  .nav-links-desktop { display:none; }
  .mobile-menu-btn { display:block; }
  .nav-inner { padding:0 1.5rem; }
}

/* ── Mobile Overlay ── */
.mobile-overlay { position:fixed; inset:0; z-index:60; background:var(--bg-dark); display:flex; flex-direction:column; padding:2rem; transform:translateX(100%); transition:transform .4s cubic-bezier(.4,0,.2,1); }
.mobile-overlay.open { transform:translateX(0); }
.mobile-close-btn { align-self:flex-end; background:none; border:none; color:white; cursor:pointer; padding:1rem; }
.mobile-close-btn:hover { color:var(--primary); }
.mobile-links { flex:1; display:flex; flex-direction:column; justify-content:center; gap:2rem; }
.mobile-link { font-family:var(--font-serif); font-size:2rem; transition:color .3s; }
.mobile-link:hover { color:var(--primary); }
.mobile-footer { padding-top:2rem; border-top:1px solid rgba(255,255,255,0.05); }
.mobile-footer-label { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:.5rem; }
.mobile-footer-address { font-size:.9rem; }

/* ── Hero ── */
.hero-section { position:relative; height:100vh; width:100%; overflow:hidden; background:var(--bg-dark); }
.library-interior { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1521587760476-6c12a4b040da?q=80&w=2070&auto=format&fit=crop') center/cover; opacity:0; z-index:0; }
.library-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.4); background:linear-gradient(to top,var(--bg-dark),transparent,rgba(0,0,0,0.2)); }
.door-light { position:absolute; inset:0; background:radial-gradient(circle at center,rgba(212,175,55,0.15) 0%,transparent 70%); opacity:.6; }
.particles { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.particle { position:absolute; width:2px; height:2px; background:rgba(255,255,255,0.2); border-radius:50%; filter:blur(0.5px); }
.hero-content { position:absolute; inset:0; z-index:20; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; text-align:center; padding:0 1rem; }
.hero-sanskrit { font-family:var(--font-serif); font-style:italic; font-size:1.25rem; color:var(--primary); margin-bottom:1rem; }
.hero-title { font-size:clamp(3rem,8vw,6rem); font-weight:300; line-height:1; margin-bottom:1.5rem; letter-spacing:-.02em; }
.hero-subtitle { font-size:.8rem; letter-spacing:.4em; text-transform:uppercase; opacity:.5; margin-bottom:3rem; }
.hero-door-arch { width:min(300px,70vw); height:min(380px,50vh); border-top:2px solid rgba(212,175,55,0.4); border-left:2px solid rgba(212,175,55,0.4); border-right:2px solid rgba(212,175,55,0.4); border-radius:50% 50% 0 0; position:relative; overflow:hidden; }
.door-arch-gradient { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.8),transparent); }
.door-arch-line { position:absolute; left:50%; top:10%; width:1px; height:80%; background:rgba(212,175,55,0.2); }

/* Hero Side Panels */
.hero-side-left,.hero-side-right { position:absolute; top:50%; transform:translateY(-50%); z-index:20; pointer-events:auto; }
.hero-side-left { left:3rem; display:flex; flex-direction:column; gap:2rem; }
.hero-side-right { right:3rem; display:flex; flex-direction:column; align-items:flex-end; gap:2rem; }
.side-card { border:1px solid var(--gold-border); padding:1.5rem; border-radius:2px; background:rgba(255,255,255,0.05); backdrop-filter:blur(12px); width:220px; }
.side-card h3 { font-family:var(--font-serif); font-size:1.1rem; color:var(--primary); margin-bottom:.5rem; }
.side-card p { font-size:.65rem; line-height:1.6; opacity:.6; text-transform:uppercase; letter-spacing:.1em; font-style:italic; }
.side-info-top { text-align:right; }
.side-label { font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; opacity:.4; margin-bottom:.5rem; }
.side-title { font-family:var(--font-serif); font-size:1.8rem; }
.side-price { font-family:var(--font-serif); font-style:italic; color:var(--primary); font-size:1.1rem; }
.side-divider { width:180px; height:1px; background:linear-gradient(to left,var(--primary),transparent); }
.side-features { display:flex; flex-direction:column; gap:1rem; text-align:right; }
.side-features span { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; opacity:.6; }
@media(max-width:1024px) { .hero-side-left,.hero-side-right { display:none; } }

/* Doors */
.doors-container { position:absolute; inset:0; z-index:10; display:flex; overflow:hidden; perspective:1000px; }
.door-overlay { position:absolute; inset:0; z-index:30; pointer-events:none; }
.door { flex:1; height:100%; position:relative; background:url('https://images.unsplash.com/photo-1590736962236-419b780385ff?q=80&w=2070&auto=format&fit=crop') center/cover; box-shadow:0 0 60px rgba(0,0,0,0.5); }
.door-left { transform-origin:left; border-right:1px solid rgba(212,175,55,0.2); }
.door-right { transform-origin:right; border-left:1px solid rgba(212,175,55,0.2); background-position:right; }
.door-dark { position:absolute; inset:0; background:rgba(0,0,0,0.6); }
.door-handle { position:absolute; right:2rem; top:50%; transform:translateY(-50%); width:2rem; height:2rem; border-radius:50%; border:2px solid rgba(212,175,55,0.4); }
.door-handle-right { right:auto; left:2rem; }

/* Scroll Indicator */
.scroll-indicator { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); z-index:40; text-align:center; color:rgba(255,255,255,0.4); }
.scroll-indicator p { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:1rem; }
.scroll-bar { width:2px; height:3rem; background:rgba(255,255,255,0.1); margin:0 auto; position:relative; overflow:hidden; }
.scroll-bar-fill { position:absolute; top:0; width:100%; height:1rem; background:var(--primary); animation:scroll-bounce 2s infinite; }
@keyframes scroll-bounce { 0%{top:-1rem} 50%{top:3rem} 100%{top:-1rem} }
/* ── Section Components (Part 2) ── */

/* ── Sections Base ── */
.section-dark { background:var(--bg-dark); padding:10rem 2rem; position:relative; overflow:hidden; }
.section-inner { max-width:80rem; margin:0 auto; }
.section-header-center { text-align:center; margin-bottom:6rem; }
.section-label { font-size:.6rem; letter-spacing:.4em; text-transform:uppercase; color:var(--primary); opacity:.7; margin-bottom:1rem; }
.section-title-xl { font-size:clamp(2.5rem,6vw,4.5rem); font-weight:300; }
.section-desc { color:rgba(255,255,255,0.5); line-height:1.8; max-width:36rem; font-size:1.05rem; font-weight:300; margin-top:1.5rem; }

/* ── About ── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-stats { display:flex; gap:4rem; margin-top:3rem; }
.about-stat-num { font-family:var(--font-serif); font-size:2.5rem; color:var(--primary); display:block; margin-bottom:.25rem; }
.about-stat-label { font-size:.6rem; color:rgba(255,255,255,0.3); text-transform:uppercase; letter-spacing:.2em; }
.about-image-wrap { position:relative; }
.about-image-box { position:relative; z-index:10; border-radius:1rem; overflow:hidden; border:1px solid rgba(255,255,255,0.1); aspect-ratio:4/5; box-shadow:0 25px 50px rgba(0,0,0,0.3); }
.about-img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.about-image-wrap:hover .about-img { transform:scale(1.1); }
.about-img-gradient { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,10,0.8),transparent); }
.about-circle-accent { position:absolute; top:-2.5rem; right:-2.5rem; width:10rem; height:10rem; border:1px solid rgba(212,175,55,0.2); border-radius:50%; animation:spin 20s linear infinite; }
.about-glow { position:absolute; bottom:-2.5rem; left:-2.5rem; width:15rem; height:15rem; background:rgba(212,175,55,0.05); filter:blur(80px); border-radius:50%; }
@keyframes spin { to{transform:rotate(360deg)} }
@media(max-width:768px) { .about-grid { grid-template-columns:1fr; } .about-stats { gap:2rem; } }

/* ── Facilities ── */
.facilities-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2rem; }
.facility-card { padding:2.5rem; border-radius:2px; background:rgba(255,255,255,0.03); backdrop-filter:blur(4px); border:1px solid var(--gold-border); transition:all .5s; position:relative; }
.facility-card:hover { background:rgba(255,255,255,0.06); }
.facility-card::after { content:''; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg,transparent,rgba(212,175,55,0.3),transparent); opacity:0; transition:opacity .5s; bottom:0; top:auto; }
.facility-card:hover::after { opacity:1; }
.facility-icon { color:rgba(212,175,55,0.4); margin-bottom:2rem; transition:color .7s; }
.facility-card:hover .facility-icon { color:var(--primary); }
.facility-card h3 { font-family:var(--font-serif); font-size:1.5rem; margin-bottom:1rem; letter-spacing:.05em; transition:color .3s; }
.facility-card:hover h3 { color:var(--primary); }
.facility-card p { font-size:.7rem; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:.1em; font-style:italic; line-height:1.8; }
.bg-watermark { position:absolute; top:50%; left:0; transform:translate(-50%,-50%); font-family:var(--font-serif); font-size:20vw; color:rgba(255,255,255,0.02); pointer-events:none; white-space:nowrap; }

/* ── Membership/Pricing ── */
.door-light-bg { position:absolute; inset:0; background:radial-gradient(circle at center,rgba(212,175,55,0.15),transparent 70%); opacity:.3; pointer-events:none; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; align-items:end; }
.pricing-card { padding:3rem; border-radius:2px; border:1px solid var(--gold-border); backdrop-filter:blur(4px); background:rgba(255,255,255,0.02); display:flex; flex-direction:column; position:relative; overflow:hidden; transition:transform .3s; }
.pricing-card:hover { transform:translateY(-4px); }
.pricing-card.hot { background:rgba(255,255,255,0.05); padding:4rem 3rem; transform:translateY(-1rem); }
.pricing-card.hot:hover { transform:translateY(-1.25rem); }
.pricing-badge { position:absolute; top:0; right:0; padding:.25rem 1rem; background:var(--primary); color:var(--bg-dark); font-size:.55rem; text-transform:uppercase; letter-spacing:.2em; font-weight:700; }
.pricing-card h3 { font-family:var(--font-serif); font-size:1.8rem; margin-bottom:2rem; letter-spacing:.05em; }
.pricing-amount { margin-bottom:2.5rem; display:flex; align-items:baseline; gap:.5rem; }
.pricing-amount .num { font-family:var(--font-serif); font-size:3rem; color:var(--primary); }
.pricing-amount .period { font-size:.6rem; color:rgba(255,255,255,0.3); text-transform:uppercase; letter-spacing:.2em; }
.pricing-features { list-style:none; margin-bottom:3rem; flex:1; }
.pricing-features li { display:flex; align-items:center; gap:1rem; font-size:.65rem; text-transform:uppercase; letter-spacing:.15em; opacity:.6; margin-bottom:1.25rem; }
.pricing-features li::before { content:''; width:1px; height:12px; background:rgba(212,175,55,0.4); flex-shrink:0; }
.pricing-btn { border:1px solid var(--gold-border); background:none; padding:1rem 2rem; font-size:.6rem; text-transform:uppercase; letter-spacing:.3em; color:var(--primary); cursor:pointer; transition:all .5s; font-family:var(--font-sans); }
.pricing-btn:hover { background:var(--primary); color:var(--bg-dark); }
@media(max-width:900px) { .pricing-grid { grid-template-columns:1fr; max-width:400px; margin:0 auto; } .pricing-card.hot { transform:none; } }

/* ── Timings ── */
.section-timings { padding:6rem 2rem; }
.timings-card { background:rgba(255,255,255,0.02); border:1px solid var(--gold-border); padding:3rem; position:relative; overflow:hidden; backdrop-filter:blur(4px); }
.timings-clock-bg { position:absolute; top:0; right:0; padding:2rem; }
.timings-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; position:relative; z-index:1; }
.timings-heading { font-family:var(--font-serif); font-size:1.8rem; color:var(--primary); margin-bottom:2rem; }
.timings-row { display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:.75rem; margin-bottom:1.5rem; }
.timings-day { font-size:.65rem; text-transform:uppercase; letter-spacing:.2em; color:rgba(255,255,255,0.4); }
.timings-time { font-family:var(--font-serif); font-style:italic; font-size:1.1rem; }
.timings-rules { list-style:none; }
.timings-rules li { font-size:.65rem; text-transform:uppercase; letter-spacing:.15em; color:rgba(255,255,255,0.5); font-style:italic; margin-bottom:1.25rem; }
@media(max-width:768px) { .timings-inner { grid-template-columns:1fr; } }

/* ── Testimonials ── */
.testimonials-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2rem; }
.testimonial-card { padding:2.5rem; border-radius:2px; border:1px solid var(--gold-border); background:rgba(255,255,255,0.03); position:relative; transition:all .5s; }
.testimonial-card:hover { background:rgba(255,255,255,0.06); transform:translateY(-4px); }
.testimonial-card .quote { font-family:var(--font-serif); font-style:italic; font-size:1.1rem; color:rgba(255,255,255,0.7); margin-bottom:2rem; line-height:1.8; position:relative; padding-left:1.5rem; }
.testimonial-card .quote::before { content:'"'; font-family:var(--font-serif); font-size:4rem; position:absolute; top:-.5rem; left:-.5rem; color:rgba(212,175,55,0.2); }
.testimonial-profile { display:flex; align-items:center; gap:1rem; }
.testimonial-img { width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--gold-border); }
.testimonial-author strong { display:block; font-size:.9rem; color:var(--primary); }
.testimonial-author span { font-size:.7rem; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:.1em; }

/* ── Achievers ── */
.achievers-grid { display:flex; gap:2rem; justify-content:center; flex-wrap:wrap; }
.achiever-card { padding:2rem; border-radius:2px; border:1px solid var(--gold-border); background:rgba(255,255,255,0.03); text-align:center; width:250px; transition:all .5s; }
.achiever-card:hover { background:rgba(255,255,255,0.06); transform:translateY(-4px); }
.achiever-card img { width:100px; height:100px; border-radius:50%; object-fit:cover; margin:0 auto 1rem; border:3px solid var(--gold-border); }
.achiever-card h3 { font-family:var(--font-serif); font-size:1.2rem; margin-bottom:.5rem; }
.achiever-card p { color:var(--primary); font-size:.8rem; font-weight:600; }

/* ── Gallery ── */
.section-gallery { position:relative; padding:10rem 2rem; overflow:hidden; }
.gallery-fade-top,.gallery-fade-bottom { position:absolute; left:0; width:100%; height:10rem; z-index:10; pointer-events:none; }
.gallery-fade-top { top:0; background:linear-gradient(to bottom,var(--bg-dark),transparent); }
.gallery-fade-bottom { bottom:0; background:linear-gradient(to top,var(--bg-dark),transparent); }
.gallery-masonry { columns:1; gap:2rem; }
@media(min-width:640px) { .gallery-masonry { columns:2; } }
@media(min-width:1024px) { .gallery-masonry { columns:3; } }
.gallery-item { break-inside:avoid; margin-bottom:2rem; border:1px solid var(--gold-border); overflow:hidden; position:relative; cursor:pointer; }
.gallery-item img { width:100%; filter:grayscale(100%); transition:all 1.5s ease-out; }
.gallery-item:hover img { filter:grayscale(0); transform:scale(1.05); }
.gallery-item::after { content:''; position:absolute; inset:0; background:rgba(212,175,55,0.1); opacity:0; transition:opacity .7s; }
.gallery-item:hover::after { opacity:1; }

/* ── Branches ── */
.branches-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:2rem; }
.branch-card { padding:2.5rem; border:1px solid var(--gold-border); border-left:4px solid var(--primary); background:rgba(255,255,255,0.02); border-radius:0 2px 2px 0; transition:all .5s; }
.branch-card:hover { background:rgba(255,255,255,0.05); transform:translateY(-4px); }
.branch-card h3 { font-family:var(--font-serif); font-size:1.5rem; margin-bottom:.75rem; color:var(--primary); }
.branch-card p { font-size:.85rem; color:rgba(255,255,255,0.5); margin-bottom:1.5rem; }
.branch-map-link { font-size:.7rem; color:var(--primary); letter-spacing:.1em; text-transform:uppercase; transition:opacity .3s; }
.branch-map-link:hover { opacity:.7; }

/* ── Contact ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:8rem; }
.contact-items { margin-top:3rem; display:flex; flex-direction:column; gap:3rem; }
.contact-item { display:flex; gap:2rem; align-items:flex-start; }
.contact-item svg { color:var(--primary); flex-shrink:0; margin-top:.25rem; }
.contact-item h4 { font-family:var(--font-serif); font-size:1.2rem; margin-bottom:.75rem; letter-spacing:.05em; }
.contact-item p { font-size:.7rem; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:.15em; font-style:italic; line-height:1.6; }
.contact-form { padding:3rem; background:rgba(255,255,255,0.02); border:1px solid var(--gold-border); backdrop-filter:blur(4px); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.form-field { margin-bottom:2rem; }
.form-field label { display:block; font-size:.6rem; text-transform:uppercase; letter-spacing:.3em; color:rgba(255,255,255,0.3); margin-bottom:.75rem; }
.form-field input,.form-field select,.form-field textarea { width:100%; background:var(--bg-dark); border:none; border-bottom:1px solid rgba(255,255,255,0.1); padding:.5rem 0; color:rgba(255,255,255,0.8); font-family:var(--font-sans); font-size:.9rem; outline:none; transition:border-color .3s; resize:none; }
.form-field select { appearance:none; cursor:pointer; color:rgba(255,255,255,0.6); }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:rgba(212,175,55,0.5); }
.form-submit-btn { width:100%; border:1px solid var(--gold-border); background:none; padding:1.25rem; font-size:.6rem; text-transform:uppercase; letter-spacing:.4em; color:var(--primary); font-weight:700; cursor:pointer; transition:all .7s; font-family:var(--font-sans); }
.form-submit-btn:hover { background:var(--primary); color:var(--bg-dark); }
.form-submit-btn:active { transform:scale(.98); }
@media(max-width:900px) { .contact-grid { grid-template-columns:1fr; gap:4rem; } .form-row { grid-template-columns:1fr; } }

/* ── Footer ── */
.tsc-footer { padding:3rem 2rem; border-top:1px solid rgba(255,255,255,0.05); text-align:center; }
.footer-socials { display:flex; justify-content:center; gap:1.5rem; margin-bottom:2rem; }
.footer-socials a { color:rgba(255,255,255,0.2); transition:color .3s; }
.footer-socials a:hover { color:var(--primary); }
.footer-copy { color:rgba(255,255,255,0.2); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; }
.footer-admin { color:inherit; opacity:.5; margin-left:1rem; }

/* ── Animations ── */
.anim-reveal { opacity:0; transform:translateY(30px); transition:opacity .8s ease-out, transform .8s ease-out; }
.anim-reveal.visible { opacity:1; transform:translateY(0); }
.anim-fade-up { opacity:0; transform:translateY(20px); transition:opacity .6s, transform .6s; }
.anim-fade-up.visible { opacity:1; transform:translateY(0); }
.anim-slide-left { opacity:0; transform:translateX(-30px); transition:opacity .6s, transform .6s; }
.anim-slide-left.visible { opacity:1; transform:translateX(0); }
.anim-slide-right { opacity:0; transform:translateX(30px); transition:opacity .6s, transform .6s; }
.anim-slide-right.visible { opacity:1; transform:translateX(0); }
