.index-page{.hero{padding:8rem 0 4rem;position:relative;display:flex;align-items:center;overflow:hidden;.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0;.glow{position:absolute;border-radius:50%;filter:blur(60px);&.glow-1{top:-10%;left:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(212,165,116,.15),transparent 70%)}&.glow-2{bottom:-20%;right:-10%;width:45vw;height:45vw;background:radial-gradient(circle,rgba(192,133,82,.1),transparent 70%)}}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at center,black 40%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 80%);opacity:.4}}.hero-inner{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;justify-content:space-between;.hero-main{display:grid;gap:3rem;margin-bottom:4rem;.hero-title-wrapper{h1{font-size:clamp(3rem,7.5vw,6.5rem);line-height:1.05;margin:20px 0 0;letter-spacing:-.03em;.line{display:block;overflow:hidden;span{display:block}}}}.hero-content{p.lead{font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.6;margin-bottom:2rem;color:var(--text-dim);max-width:45ch;.highlight{color:var(--text);font-weight:600}}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}}}@media(min-width:992px){.hero-main{grid-template-columns:1.2fr 1fr;gap:4rem;align-items:end}}.hero-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;padding-top:3rem;border-top:1px solid var(--line);.stat{.num{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.75rem);color:var(--brand);line-height:1;margin-bottom:.25rem;.unit{font-size:.5em;margin-left:2px}}.label{font-size:.75rem;color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase}}}@media(min-width:768px){.hero-meta{grid-template-columns:repeat(4,1fr)}}}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:1.25rem 0;background:var(--bg-elev);.marquee-track{display:flex;gap:4rem;animation:scroll-x 35s linear infinite;width:max-content;span{font-family:var(--font-display);font-style:italic;font-size:clamp(1.25rem,2.5vw,2rem);color:var(--text-muted);display:inline-flex;align-items:center;gap:4rem;white-space:nowrap;&:after{content:"✦";color:var(--brand);font-size:.7em}}}}.about{background:var(--bg-elev);border-top:1px solid var(--line);border-bottom:1px solid var(--line);.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.about-text h2{margin:1rem 0 1.5rem;max-width:14ch}.about-text p{color:var(--text-muted);margin-bottom:1.25rem;max-width:52ch}.about-text .highlight{color:var(--text)}.about-signature{margin-top:2rem;font-family:var(--font-display);font-style:italic;font-size:1.5rem;color:var(--brand)}.about-visual{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(135deg,var(--bg-soft),var(--surface));border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.about-visual .badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;padding:2rem;text-align:center}.about-visual .monogram{font-family:var(--font-display);font-size:clamp(8rem,18vw,14rem);color:var(--brand);line-height:1;opacity:.95}.about-visual .badge .role{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted)}.spinner-ring{position:absolute;top:1.5rem;right:1.5rem;width:110px;height:110px;animation:spin 18s linear infinite}.spinner-ring text{font-family:var(--font-mono);font-size:9px;fill:var(--brand);text-transform:uppercase}@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-visual{aspect-ratio:1;max-width:480px;margin:0 auto}}}.projects{background:var(--bg-elev);border-top:1px solid var(--line);border-bottom:1px solid var(--line);.project-filters{display:flex;gap:.5rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.55rem 1.2rem;border-radius:999px;font-size:.85rem;color:var(--text-muted);border:1px solid var(--line);transition:all .3s var(--ease)}.filter-btn:hover{color:var(--text);border-color:var(--line-strong)}.filter-btn.active{background:var(--brand);color:var(--bg);border-color:var(--brand)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,3vw,2.5rem)}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}}}.testimonials{text-align:center;.testimonial-carousel{max-width:900px;margin:0 auto;position:relative}.testimonial{display:none;padding:2rem 1rem;animation:fade-in .6s var(--ease)}.testimonial.active{display:block}.testimonial-quote{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.4;font-style:italic;color:var(--text);margin-bottom:2.5rem;position:relative}.testimonial-quote:before{content:"“";font-size:6rem;color:var(--brand);position:absolute;top:-3rem;left:50%;transform:translate(-50%);line-height:1;opacity:.6}.testimonial-author{display:inline-flex;align-items:center;gap:1rem;text-align:left}.author-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.25rem;color:var(--bg)}.author-name{font-weight:500}.author-role{color:var(--text-dim);font-size:.85rem}.testimonial-nav{display:inline-flex;gap:.75rem;margin-top:2rem}.testimonial-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong);transition:all .3s var(--ease)}.testimonial-dot.active{background:var(--brand);width:28px;border-radius:4px}}.blog{background:var(--bg-elev);border-top:1px solid var(--line);border-bottom:1px solid var(--line);.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}}}@keyframes scroll-x{to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
