.home-hero{min-height:100vh;position:relative}.home-hero .hero__content{max-width:900px;perspective:800px;position:absolute;bottom:60px;left:50%;transform:translate(-50%);width:100%;padding:0;margin:0}.hero-particles-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.home-hero:hover .hero-particles-canvas{pointer-events:auto}.hero-particles-canvas canvas{width:100%;height:100%}.home-hero .hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.home-hero .hero__bg img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity,transform;transform-origin:50% 50%;animation:heroBannerFade 24s infinite}.home-hero .hero__bg img:nth-child(1){animation-delay:0s}.home-hero .hero__bg img:nth-child(2){animation-delay:6s}.home-hero .hero__bg img:nth-child(3){animation-delay:12s}.home-hero .hero__bg img:nth-child(4){animation-delay:18s}@keyframes heroBannerFade{0%{opacity:0;transform:scale(1)}5%{opacity:1;transform:scale(1.02)}25%{opacity:1;transform:scale(1.1)}30%{opacity:0;transform:scale(1.12)}to{opacity:0;transform:scale(1)}}.hero-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden;--shimmer-x: -100%}.hero-shimmer:before{content:"";position:absolute;top:-50%;left:var(--shimmer-x, -100%);width:60%;height:200%;background:linear-gradient(105deg,transparent 20%,rgba(201,169,110,.04) 35%,rgba(201,169,110,.08) 45%,rgba(255,235,180,.12) 50%,rgba(201,169,110,.08) 55%,rgba(201,169,110,.04) 65%,transparent 80%);transform:skew(-15deg);pointer-events:none}.hero-char{display:inline-block;will-change:transform,opacity;backface-visibility:hidden}.hero-word{display:inline-block;white-space:nowrap;overflow:visible}.hero-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:#ffffff8c;font-family:var(--font-ui);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:color .3s ease}.hero-scroll-indicator:hover{color:var(--color-champagne-light)}.hero-scroll-indicator__text{opacity:.7}.hero-scroll-indicator__arrow{width:20px;height:20px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);animation:heroScrollBounce 2s ease-in-out infinite}.hero-scroll-indicator__line{width:1px;height:36px;background:linear-gradient(to bottom,currentColor 60%,transparent);animation:heroScrollPulse 2s ease-in-out infinite}@keyframes heroScrollBounce{0%,to{transform:rotate(45deg) translateY(0);opacity:.7}50%{transform:rotate(45deg) translateY(5px);opacity:1}}@keyframes heroScrollPulse{0%,to{opacity:.4;transform:scaleY(1)}50%{opacity:.8;transform:scaleY(1.15)}}.hero-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.35) 100%)}@media(max-width:768px){.hero-scroll-indicator{bottom:1.5rem}.hero-scroll-indicator__line{height:24px}}.home-hero__scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:#fff9;font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;animation:heroFadeIn .6s ease-out 1.08s both}.home-hero__scroll-indicator:after{content:"";width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.6),transparent);animation:float 1.2s ease-in-out infinite}.stats-strip{background:var(--color-charcoal);padding:var(--space-3xl) 0}.stats-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xl);text-align:center}.stats-strip__item{position:relative}.stats-strip__item:not(:last-child):after{content:"";position:absolute;right:0;top:10%;height:80%;width:1px;background:#ffffff1a}.stats-strip__number{font-family:var(--font-heading-primary);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-champagne);margin-bottom:var(--space-xs)}.stats-strip__label{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-beige-dark);text-transform:uppercase;letter-spacing:var(--tracking-wider)}@media(max-width:768px){.stats-strip__grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2xl)}.stats-strip__item:nth-child(2):after{display:none}}.services-overview{background:var(--color-ivory-warm)}.services-overview .icon-card{background:var(--color-white)}.featured-portfolio__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.featured-portfolio__item{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3 / 4;cursor:pointer}.featured-portfolio__item:first-child{grid-row:span 2;aspect-ratio:auto}.featured-portfolio__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.featured-portfolio__item:hover img{transform:scale(1.08)}.featured-portfolio__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.1) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-xl);opacity:0;transition:opacity var(--transition-base)}.featured-portfolio__item:hover .featured-portfolio__overlay{opacity:1}.featured-portfolio__overlay h4{font-family:var(--font-heading-primary);font-size:var(--text-lg);color:var(--color-white);margin-bottom:var(--space-xs)}.featured-portfolio__overlay span{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-champagne-light);text-transform:uppercase;letter-spacing:var(--tracking-wider)}@media(max-width:1024px){.featured-portfolio__grid{grid-template-columns:repeat(2,1fr)}.featured-portfolio__item:first-child{grid-row:span 1;aspect-ratio:3 / 4}}@media(max-width:768px){.featured-portfolio__grid{grid-template-columns:1fr}.featured-portfolio__item{aspect-ratio:4 / 3}}.process-timeline{background:var(--color-charcoal);overflow:hidden}.process-timeline__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2xl);position:relative}.process-timeline__grid:before{content:"";position:absolute;top:40px;left:10%;right:10%;height:2px;background:linear-gradient(to right,transparent,var(--color-champagne),transparent);z-index:0}.process-step{text-align:center;position:relative;z-index:1}.process-step__number{width:80px;height:80px;border-radius:var(--radius-full);background:var(--color-charcoal-light);border:2px solid var(--color-champagne);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-xl);font-family:var(--font-heading-primary);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-champagne);transition:all var(--transition-base)}.process-step:hover .process-step__number{background:var(--color-champagne);color:var(--color-white);transform:scale(1.1)}.process-step__title{font-family:var(--font-heading-primary);font-size:var(--text-md);color:var(--color-white);margin-bottom:var(--space-sm)}.process-step__text{font-size:var(--text-sm);color:var(--color-beige-dark);line-height:var(--leading-normal)}@media(max-width:768px){.process-timeline__grid{grid-template-columns:1fr;gap:var(--space-2xl)}.process-timeline__grid:before{display:none}}.home-testimonials{background:var(--color-ivory-warm)}.home-testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}.testimonial-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-2xl);position:relative;border:1px solid var(--color-beige);transition:all var(--transition-base)}.testimonial-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-champagne-light);transform:translateY(-4px)}.testimonial-card__quote{font-family:var(--font-heading-secondary);font-size:var(--text-lg);font-weight:var(--weight-light);color:var(--color-charcoal);line-height:var(--leading-normal);margin-bottom:var(--space-xl);font-style:italic;position:relative}.testimonial-card__quote:before{content:"“";font-family:var(--font-heading-primary);font-size:4rem;color:var(--color-champagne);position:absolute;top:-1.5rem;left:-.5rem;line-height:1;opacity:.3}.testimonial-card__author{display:flex;align-items:center;gap:var(--space-md)}.testimonial-card__avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-beige)}.testimonial-card__name{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-charcoal)}.testimonial-card__event{font-size:var(--text-xs);color:var(--color-charcoal-medium)}@media(max-width:1024px){.home-testimonials__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.home-testimonials__grid{grid-template-columns:1fr}}.quick-enquiry{background:var(--color-charcoal);position:relative;overflow:hidden}.quick-enquiry:before{content:"";position:absolute;top:0;right:-200px;width:500px;height:500px;border-radius:var(--radius-full);background:radial-gradient(circle,rgba(201,169,110,.08) 0%,transparent 70%);pointer-events:none}.quick-enquiry__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.quick-enquiry__content h2{color:var(--color-white);margin-bottom:var(--space-lg)}.quick-enquiry__content p{color:var(--color-beige-dark);margin-bottom:var(--space-xl);line-height:var(--leading-relaxed)}.quick-enquiry__form{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-2xl)}.quick-enquiry__form .form-input,.quick-enquiry__form .form-select{background:#ffffff14;border-color:#ffffff26;color:var(--color-white)}.quick-enquiry__form .form-select option{background:var(--color-charcoal);color:var(--color-white)}.quick-enquiry__form .form-input::placeholder{color:#fff6}.quick-enquiry__form .form-input:focus,.quick-enquiry__form .form-select:focus{border-color:var(--color-champagne);box-shadow:0 0 0 3px #c9a96e26}.quick-enquiry__form .form-label{color:var(--color-beige)}@media(max-width:1024px){.quick-enquiry__inner{grid-template-columns:1fr;gap:var(--space-2xl)}}
