.spa-main{width:100%;position:relative;background-color:var(--background);color:var(--foreground);scroll-behavior:smooth}.spa-main,.spa-section{display:flex;flex-direction:column}.spa-section{justify-content:center}.section-content{max-width:1200px;width:100%}.section-heading{font-family:var(--font-display,system-ui);font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--primary);margin:0 0 clamp(2rem,4vw,3rem);letter-spacing:var(--tracking-tight)}.section-heading.center{text-align:center}.home-main{width:100%;flex:1;display:flex;flex-direction:column;position:relative;background-color:var(--background);color:var(--foreground);overflow:hidden;opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}.home-main.loaded{opacity:1;transform:translateY(0)}.home-main.loading{opacity:0;transform:translateY(10px)}.hero-section{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;padding:0}.hero-section:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 20% 50%,var(--aurora-1) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 20%,var(--aurora-2) 0,transparent 55%),radial-gradient(ellipse 50% 60% at 50% 85%,var(--aurora-3) 0,transparent 50%);animation:auroraShift 20s ease-in-out infinite alternate;pointer-events:none}.hero-left{position:relative;z-index:2;padding:clamp(5rem,8vw,8rem) clamp(2rem,5vw,5rem) clamp(3rem,5vw,5rem);display:flex;flex-direction:column;gap:1.5rem}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;border:1px solid var(--accent);border-radius:4px;font-family:var(--font-mono);font-size:.8rem;color:var(--accent);letter-spacing:.05em;width:fit-content;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .1s both}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:accentPulse 2s ease-in-out infinite;flex-shrink:0;box-shadow:0 0 6px var(--accent-glow)}.hero-title{font-family:var(--font-display,system-ui);font-size:clamp(3.5rem,8vw,7rem);font-weight:700;line-height:.95;letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.hero-title-word{display:block;overflow:hidden}.hero-title-line{display:block;animation:charReveal .8s cubic-bezier(.16,1,.3,1) both}.hero-title-word:first-child .hero-title-line{animation-delay:.15s}.hero-title-word:nth-child(2) .hero-title-line{animation-delay:.28s;color:var(--accent)}.hero-divider{display:flex;align-items:center;animation:fadeInUp .6s ease .45s both}.hero-divider-line{display:block;height:2px;width:80px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:1px}.hero-specialties{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:0;animation:fadeInUp .6s ease .5s both}.hero-specialty{font-family:var(--font-mono);font-size:clamp(.78rem,1.2vw,.92rem);color:var(--text-secondary);letter-spacing:.02em}.hero-dot{color:var(--accent);opacity:.5;font-size:.9em}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeInUp .6s ease .6s both}.hero-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:var(--accent);color:var(--accent-foreground);border:1px solid var(--accent);border-radius:6px;font-weight:600;font-size:.95rem;text-decoration:none;transition:all .25s ease;letter-spacing:.01em}.hero-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 28px var(--accent-glow),0 4px 16px rgba(0,0,0,.2);transform:translateY(-2px)}.hero-btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:transparent;color:var(--text-primary);border:1px solid var(--border-strong);border-radius:6px;font-weight:500;font-size:.95rem;text-decoration:none;transition:all .25s ease}.hero-btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.hero-availability{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono);animation:fadeInUp .6s ease .75s both}.availability-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.6);animation:accentPulse 2.5s ease-in-out infinite;flex-shrink:0}.hero-portrait-container{position:relative;height:100vh;z-index:1;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.hero-portrait{height:95%;width:auto;object-fit:contain;object-position:center bottom;filter:none;opacity:1;mask-image:linear-gradient(0deg,#000 80%,transparent);-webkit-mask-image:linear-gradient(0deg,#000 80%,transparent);animation:portraitReveal 1.2s cubic-bezier(.16,1,.3,1) .1s both}@keyframes accentPulse{0%{opacity:.6;box-shadow:0 0 4px var(--accent-glow)}50%{opacity:1;box-shadow:0 0 10px var(--accent-glow)}to{opacity:.6;box-shadow:0 0 4px var(--accent-glow)}}@media (min-width:1024px){.hero-left{padding-right:2rem}}@media (max-width:1024px){.hero-section{grid-template-columns:1fr 1fr}.hero-title{font-size:clamp(3rem,7vw,5rem)}}@media (max-width:768px){.hero-section{grid-template-columns:1fr;min-height:100dvh;position:relative}.hero-left{padding:6rem 1.75rem 2rem;z-index:3;gap:1.25rem}.hero-portrait-container{position:absolute;right:-3rem;bottom:0;height:72vh;width:55%;z-index:1;pointer-events:none;justify-content:flex-end}.hero-portrait{height:100%;object-position:right bottom}.hero-title{font-size:clamp(2.75rem,11vw,4.5rem)}}@media (max-width:480px){.hero-left{padding:5.5rem 1.25rem 2rem}.hero-portrait-container{right:-4rem;height:60vh;width:65%}.hero-cta{flex-direction:column}.hero-btn-primary,.hero-btn-secondary{width:100%;justify-content:center}}