:root{--cream: #F5F0E8;--muted-rose: #C8878F;--dusty-teal: #6B9A9B;--deep-plum: #2D1B2E;--aged-gold: #C9A94E;--soft-sage: #A3B5A6;--charcoal: #1A1A1A;--off-white: #FEFCF7;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-accent: "Cormorant Garamond", Georgia, serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--space-2xl: 10rem;--radius: 12px;--radius-lg: 24px;--transition: .4s cubic-bezier(.16, 1, .3, 1);--transition-slow: .8s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--charcoal);background:var(--cream);line-height:1.6;overflow-x:hidden;cursor:none}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font-family:inherit}ul,ol{list-style:none}.custom-cursor{position:fixed;top:0;left:0;width:8px;height:8px;background:var(--muted-rose);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;mix-blend-mode:difference}.custom-cursor-follower{position:fixed;top:0;left:0;width:36px;height:36px;border:1.5px solid var(--muted-rose);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;opacity:.6}body:hover .custom-cursor,body:hover .custom-cursor-follower{opacity:1}a:hover~.custom-cursor,button:hover~.custom-cursor{width:16px;height:16px}#preloader{position:fixed;inset:0;background:var(--deep-plum);z-index:20000;display:flex;align-items:center;justify-content:center}.preloader-inner{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.preloader-ring{position:absolute;border:1.5px solid rgba(200,135,143,.3);border-top-color:var(--muted-rose);border-radius:50%;animation:preloader-spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.preloader-ring:nth-child(1){width:80px;height:80px;animation-delay:-.45s}.preloader-ring:nth-child(2){width:100px;height:100px;animation-delay:-.3s}.preloader-ring:nth-child(3){width:120px;height:120px;animation-delay:-.15s}.preloader-text{font-family:var(--font-heading);font-size:1rem;color:var(--cream);letter-spacing:.2em;text-transform:uppercase}@keyframes preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);transition:background var(--transition),padding var(--transition)}#navbar.scrolled{background:#2d1b2eeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:.75rem var(--space-md)}.nav-logo{font-family:var(--font-heading);font-size:1.35rem;font-weight:600;color:var(--cream);letter-spacing:.02em;z-index:1001}.logo-dot{color:var(--muted-rose)}.nav-cta{font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);background:var(--muted-rose);padding:.65em 1.6em;border-radius:100px;transition:background var(--transition),transform var(--transition);z-index:1001}.nav-cta:hover{background:var(--aged-gold);transform:scale(1.04)}.menu-toggle{position:relative;width:32px;height:24px;z-index:1001;cursor:pointer;display:none}.menu-toggle span{display:block;position:absolute;width:100%;height:2px;background:var(--cream);border-radius:2px;transition:var(--transition)}.menu-toggle span:nth-child(1){top:0}.menu-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}.menu-toggle span:nth-child(3){bottom:0}.menu-toggle.active span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.menu-overlay{position:fixed;inset:0;background:var(--deep-plum);z-index:999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-slow)}.menu-overlay.active{opacity:1;pointer-events:all}.menu-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.menu-link{font-family:var(--font-heading);font-size:clamp(2rem,5vw,4rem);color:var(--cream);transition:color var(--transition);padding:.2em 0;position:relative}.menu-link:before{content:attr(data-index);position:absolute;left:-3rem;top:50%;transform:translateY(-50%);font-family:var(--font-body);font-size:.75rem;color:var(--muted-rose);opacity:0;transition:opacity var(--transition)}.menu-link:hover{color:var(--muted-rose)}.menu-link:hover:before{opacity:1}.section{padding:var(--space-2xl) 0;position:relative}.section-label{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.section-chapter{font-family:var(--font-accent);font-style:italic;font-size:.9rem;color:var(--muted-rose)}.section-tag{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--dusty-teal);background:#6b9a9b1f;padding:.35em 1em;border-radius:100px}.section-title{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,4rem);font-weight:500;line-height:1.15;margin-bottom:var(--space-sm);color:var(--deep-plum)}.section-title em{font-style:italic;color:var(--muted-rose)}.section-intro{font-size:1.1rem;color:#666;max-width:560px;margin-bottom:var(--space-lg)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--deep-plum);overflow:hidden}.hero-bg{position:absolute;inset:0;overflow:hidden}.rabbit-hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ring{position:absolute;border:1px solid rgba(200,135,143,.15);border-radius:50%;transition:transform .1s linear}.ring-1{width:100px;height:100px;border-color:#c8878f40}.ring-2{width:200px;height:200px;border-color:#6b9a9b33}.ring-3{width:320px;height:320px;border-color:#c8878f26}.ring-4{width:460px;height:460px;border-color:#c9a94e1f}.ring-5{width:620px;height:620px;border-color:#6b9a9b1a}.ring-6{width:800px;height:800px;border-color:#c8878f14}.ring-7{width:1000px;height:1000px;border-color:#a3b5a60f}.ring-8{width:1220px;height:1220px;border-color:#c8878f0a}.hero-particles{position:absolute;inset:0}.particle{position:absolute;width:2px;height:2px;background:var(--aged-gold);border-radius:50%;opacity:0;animation:particle-float 6s ease-in-out infinite}@keyframes particle-float{0%,to{opacity:0;transform:translateY(0) scale(1)}50%{opacity:.6;transform:translateY(-40px) scale(1.5)}}.hero-content{position:relative;z-index:2;text-align:center;color:var(--cream);padding:var(--space-md)}.hero-chapter{font-family:var(--font-accent);font-style:italic;font-size:1rem;color:var(--muted-rose);margin-bottom:var(--space-sm);letter-spacing:.15em}.hero-title{font-family:var(--font-heading);font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:1.05;margin-bottom:var(--space-md)}.hero-line{display:block}.hero-line-accent{font-style:italic;color:var(--muted-rose)}.hero-subtitle{font-family:var(--font-accent);font-size:clamp(1rem,2vw,1.3rem);font-style:italic;color:#f5f0e899;margin-bottom:var(--space-lg)}.hero-scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#f5f0e880;transition:color var(--transition);animation:cue-bob 2s ease-in-out infinite}.hero-scroll-cue:hover{color:var(--muted-rose)}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.section-about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:center;margin-bottom:var(--space-xl)}.about-lead{font-family:var(--font-accent);font-size:1.4rem;line-height:1.5;color:var(--deep-plum);margin-bottom:var(--space-sm)}.about-text p:last-child{color:#555;line-height:1.8}.about-image-frame{position:relative;aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;border:2px solid rgba(200,135,143,.2)}.about-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--soft-sage),var(--dusty-teal));display:flex;align-items:center;justify-content:center}.about-image-icon{font-size:3rem;color:#fff6}.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);padding:var(--space-lg) 0;border-top:1px solid rgba(45,27,46,.1)}.stat{text-align:center}.stat-number{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:500;color:var(--deep-plum);display:inline}.stat-suffix{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.2rem);color:var(--muted-rose)}.stat-label{display:block;font-size:.8rem;color:#888;margin-top:.25rem;letter-spacing:.05em}.section-services{background:var(--off-white)}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.service-card{background:var(--cream);border:1px solid rgba(45,27,46,.06);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-md);transition:transform var(--transition),box-shadow var(--transition)}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px #2d1b2e14}.service-icon{width:48px;height:48px;color:var(--muted-rose);margin-bottom:var(--space-sm)}.service-icon svg{width:100%;height:100%}.service-card h3{font-family:var(--font-heading);font-size:1.4rem;font-weight:500;margin-bottom:.75rem;color:var(--deep-plum)}.service-card p{font-size:.95rem;color:#666;line-height:1.7}.section-portfolio{background:var(--cream)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.portfolio-item-large{grid-column:1 / -1}.portfolio-image{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;cursor:pointer}.portfolio-item:not(.portfolio-item-large) .portfolio-image{aspect-ratio:4/3}.portfolio-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-md);background:linear-gradient(to top,rgba(45,27,46,.85) 0%,transparent 60%);opacity:0;transition:opacity var(--transition)}.portfolio-image:hover .portfolio-overlay{opacity:1}.portfolio-category{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-rose);margin-bottom:.5rem}.portfolio-overlay h3{font-family:var(--font-heading);font-size:1.6rem;color:var(--cream);margin-bottom:.25rem}.portfolio-overlay p{font-size:.9rem;color:#f5f0e8b3}.section-process{background:var(--off-white)}.process-steps{position:relative;max-width:700px;margin:0 auto}.process-line{position:absolute;left:28px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--muted-rose),var(--dusty-teal),var(--aged-gold));opacity:.25}.process-step{display:flex;gap:var(--space-md);padding:var(--space-md) 0;position:relative}.process-number{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--cream);background:var(--deep-plum);border-radius:50%;position:relative;z-index:1}.process-content h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;color:var(--deep-plum);margin-bottom:.5rem}.process-content p{font-size:.95rem;color:#666;line-height:1.7}.section-testimonials{background:var(--deep-plum);color:var(--cream)}.section-testimonials .section-title{color:var(--cream)}.section-testimonials .section-chapter{color:var(--aged-gold)}.section-testimonials .section-tag{color:var(--aged-gold);background:#c9a94e26}.testimonials-carousel{position:relative;min-height:280px;margin-bottom:var(--space-md)}.testimonial{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;display:flex;flex-direction:column;justify-content:center}.testimonial.active{opacity:1}.testimonial blockquote p{font-family:var(--font-accent);font-size:clamp(1.3rem,3vw,2rem);font-style:italic;line-height:1.5;color:var(--cream);margin-bottom:var(--space-md)}.testimonial-author{display:flex;flex-direction:column;gap:.2rem}.testimonial-name{font-weight:600;font-size:1rem;color:var(--cream)}.testimonial-role{font-size:.85rem;color:var(--muted-rose)}.testimonial-nav{display:flex;gap:.75rem}.testimonial-dot{width:10px;height:10px;border-radius:50%;background:#f5f0e833;transition:background var(--transition),transform var(--transition);cursor:pointer}.testimonial-dot.active{background:var(--muted-rose);transform:scale(1.3)}.section-team{background:var(--cream)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.team-member{text-align:center}.team-photo{position:relative;aspect-ratio:3/4;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-sm);border:2px solid rgba(200,135,143,.15);transition:transform var(--transition)}.team-member:hover .team-photo{transform:scale(1.02)}.team-photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--soft-sage),var(--dusty-teal));display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff6}.team-member h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:500;color:var(--deep-plum);margin-bottom:.2rem}.team-role{font-size:.8rem;color:var(--muted-rose);letter-spacing:.05em}.section-contact{background:var(--off-white);text-align:center;padding:var(--space-2xl) 0}.contact-title{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.1;color:var(--deep-plum);margin-bottom:var(--space-sm)}.contact-title em{font-style:italic;color:var(--muted-rose)}.contact-subtitle{font-family:var(--font-accent);font-size:1.2rem;font-style:italic;color:#888;margin-bottom:var(--space-lg)}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.btn{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:100px;padding:1em 2.8em;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.btn-primary{background:var(--muted-rose);color:var(--cream)}.btn-primary:hover{background:var(--deep-plum);transform:scale(1.04);box-shadow:0 12px 40px #2d1b2e33}.contact-email{font-family:var(--font-accent);font-size:1.1rem;font-style:italic;color:var(--dusty-teal);transition:color var(--transition)}.contact-email:hover{color:var(--muted-rose)}.contact-social{display:flex;justify-content:center;gap:var(--space-md)}.contact-social a{font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#999;transition:color var(--transition)}.contact-social a:hover{color:var(--muted-rose)}.footer{background:var(--charcoal);color:#f5f0e899;padding:var(--space-lg) 0 var(--space-md)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.footer-logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--cream)}.footer-tagline{font-family:var(--font-accent);font-style:italic;font-size:.95rem;color:#f5f0e866;margin-top:.25rem}.footer-brand{text-align:center}.footer-links{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.footer-links a{font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:color var(--transition)}.footer-links a:hover{color:var(--muted-rose)}.footer-bottom{text-align:center;padding-top:var(--space-md);border-top:1px solid rgba(245,240,232,.08);width:100%}.footer-bottom p{font-size:.8rem}.footer-quote{font-family:var(--font-accent);font-size:.9rem;color:#f5f0e840;margin-top:.5rem}@media(max-width:1024px){.team-grid,.about-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.menu-toggle{display:block}.nav-cta{display:none}.about-grid,.services-grid,.portfolio-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.section{padding:var(--space-xl) 0}.hero-title{font-size:clamp(2.5rem,10vw,4rem)}.menu-link:before{display:none}.custom-cursor,.custom-cursor-follower{display:none}body{cursor:auto}}@media(max-width:480px){.about-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.team-grid{grid-template-columns:1fr}.contact-social,.footer-links{flex-direction:column;align-items:center;gap:var(--space-sm)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.reveal.revealed{opacity:1;transform:translateY(0)}
