/* Lussoro sitewide luxury motion system — 2026-08-19 */
:root{--lux-ease:cubic-bezier(.16,1,.3,1)}
body{background:#080808}
body::before{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.lux-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:10001;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#8a5a2b,#ddb98a,#fff2df);box-shadow:0 0 18px rgba(221,185,138,.55);pointer-events:none}
.lux-glow{position:fixed;width:520px;height:520px;border-radius:50%;z-index:0;pointer-events:none;opacity:.11;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(221,185,138,.32),transparent 67%);filter:blur(10px)}
nav{border-bottom:1px solid rgba(221,185,138,.08)}
.hero::after,.svc-hero::after,.port-hero::after,.proj-hero::after,.consult-hero::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(115deg,transparent 46%,rgba(221,185,138,.065) 50%,transparent 54%);background-size:250% 100%;animation:luxHeroSheen 9s ease-in-out infinite}
@keyframes luxHeroSheen{0%,58%{background-position:130% 0}100%{background-position:-80% 0}}
.hero-headline em,.hero h1 em,.section-title em,.section-heading em,.services-heading em,.portfolio-heading em,.philosophy-heading em,.process-heading em,.testimonials-heading em,.area-heading em,.cta-heading em,.homecare-heading em,.svc-headline em,.proj-h1 em,.port-h1 em{background:linear-gradient(105deg,#c9975e 10%,#f0d4af 46%,#c9975e 82%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:luxMetal 7s linear infinite}
@keyframes luxMetal{to{background-position:220% center}}
.services,.philosophy,.process,.testimonials,.service-area,.blog-section,.cta-section,.stats-strip,.svc-body,.svc-port-strip,.portfolio,.projects,.proj-body,.proj-gallery,.calc-section{position:relative;isolation:isolate}
.services::before,.process::before,.testimonials::before,.portfolio::before,.svc-body::before,.proj-body::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(201,151,94,.075),transparent 68%);filter:blur(20px)}
.services::before,.portfolio::before,.svc-body::before{top:5%;right:-180px}.process::before,.proj-body::before{top:20%;left:-220px}.testimonials::before{bottom:-180px;right:-180px}
.reveal,.reveal-left,.reveal-right,.reveal-scale{filter:blur(5px);transition-property:opacity,transform,filter!important;transition-duration:1.05s!important;transition-timing-function:var(--lux-ease)!important}
.reveal.visible,.reveal-left.visible,.reveal-right.visible,.reveal-scale.visible{filter:none}
.svc-card,.bento-card,.project-card,.portfolio-item,.blog-card,.port-card,.gallery-item{transform:translateZ(0);transition:transform .7s var(--lux-ease),box-shadow .7s var(--lux-ease),filter .5s ease!important}
.services-grid:hover .svc-card:not(:hover),.bento-grid:hover .bento-card:not(:hover),.portfolio-grid:hover .portfolio-item:not(:hover){filter:saturate(.58) brightness(.7)}
.svc-card:hover,.bento-card:hover,.project-card:hover,.portfolio-item:hover,.blog-card:hover,.port-card:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 35px 90px rgba(0,0,0,.5),0 0 0 1px rgba(221,185,138,.2)}
.svc-card::before,.bento-card::before,.project-card::before,.portfolio-item::before,.blog-card::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.13) 48%,transparent 65%);transform:translateX(-120%);transition:transform .9s var(--lux-ease)}
.svc-card:hover::before,.bento-card:hover::before,.project-card:hover::before,.portfolio-item:hover::before,.blog-card:hover::after{transform:translateX(120%)}
.svc-card-img,.bento-card img,.project-card img,.portfolio-bg,.port-card img,.gallery-item img{transition:transform 1.15s var(--lux-ease),filter .7s ease!important;filter:saturate(.76) contrast(1.035)}
.svc-card:hover .svc-card-img,.bento-card:hover img,.project-card:hover img,.portfolio-item:hover .portfolio-bg,.port-card:hover img,.gallery-item:hover img{transform:scale(1.09)!important;filter:saturate(1) contrast(1)}
.ba-frame,.testimonial-card,.form-card,.calc-section,.homecare-banner{box-shadow:0 36px 105px rgba(0,0,0,.4)}
.pillar,.process-step,.proc-step{transition:transform .5s var(--lux-ease),background .5s ease,border-color .5s!important}.pillar:hover{transform:translateX(12px);background:linear-gradient(90deg,rgba(201,151,94,.075),transparent)}.process-step:hover,.proc-step:hover{transform:translateY(-8px);background:rgba(201,151,94,.05)}
.cta-section{overflow:hidden}.cta-section::after{content:"";position:absolute;inset:-50%;pointer-events:none;background:conic-gradient(from 90deg,transparent,rgba(221,185,138,.075),transparent 30%);animation:luxOrbit 18s linear infinite}.cta-section>*{position:relative;z-index:1}@keyframes luxOrbit{to{transform:rotate(360deg)}}
.nav-cta,.hero-cta,.btn-primary,.homecare-link,.consult-submit,.result-cta-btn{transition:transform .45s var(--lux-ease),box-shadow .45s,background .35s!important}.nav-cta:hover,.hero-cta:hover,.btn-primary:hover,.homecare-link:hover,.consult-submit:hover,.result-cta-btn:hover{transform:translateY(-3px) scale(1.035);box-shadow:0 18px 45px rgba(201,151,94,.22)}
@media(max-width:768px){.lux-glow{display:none}.reveal,.reveal-left,.reveal-right,.reveal-scale{filter:blur(3px)}.services-grid:hover .svc-card:not(:hover),.bento-grid:hover .bento-card:not(:hover),.portfolio-grid:hover .portfolio-item:not(:hover){filter:none}.svc-card:hover,.bento-card:hover,.project-card:hover,.portfolio-item:hover,.blog-card:hover,.port-card:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.hero::after,.svc-hero::after,.port-hero::after,.proj-hero::after,.consult-hero::after,.cta-section::after,.hero-headline em,.hero h1 em,.section-title em,.section-heading em,.services-heading em,.portfolio-heading em,.philosophy-heading em,.process-heading em,.testimonials-heading em,.area-heading em,.cta-heading em,.homecare-heading em,.svc-headline em,.proj-h1 em,.port-h1 em{animation:none!important}.reveal,.reveal-left,.reveal-right,.reveal-scale{filter:none!important}}

/* Blueprint to Built — homepage remodeling reveal */
.ba-frame.blueprint-built{cursor:pointer;isolation:isolate;background:#07131c;outline:none}
.ba-frame.blueprint-built:focus-visible{box-shadow:0 0 0 3px var(--bronze-light),0 36px 105px rgba(0,0,0,.4)}
.blueprint-built .ba-before,.blueprint-built .ba-after{inset:0;width:100%!important;border-radius:inherit}
.blueprint-built .ba-before{filter:saturate(.65) brightness(.72);transition:none}
.blueprint-built .ba-after{clip-path:inset(0 100% 0 0);transition:none;z-index:4}
.blueprint-overlay{position:absolute;inset:0;z-index:6;opacity:0;color:#d6efff;background-color:rgba(7,27,42,.8);background-image:linear-gradient(rgba(111,180,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(111,180,220,.12) 1px,transparent 1px),linear-gradient(rgba(111,180,220,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(111,180,220,.05) 1px,transparent 1px);background-size:48px 48px,48px 48px,12px 12px,12px 12px;mix-blend-mode:screen;pointer-events:none}
.blueprint-overlay svg{position:absolute;inset:5%;width:90%;height:90%;overflow:visible}
.blueprint-overlay path,.blueprint-overlay circle{fill:none;stroke:rgba(221,239,250,.88);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:2600;stroke-dashoffset:2600;filter:drop-shadow(0 0 5px rgba(125,201,245,.45))}
.blueprint-overlay .plan-details path,.blueprint-overlay .plan-details circle{stroke:rgba(221,185,138,.95);stroke-width:1.5}
.plan-note{position:absolute;font-size:.52rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#d8effc;opacity:0}.note-a{top:7%;left:43%}.note-b{bottom:10%;left:12%}.note-c{top:13%;right:8%;color:var(--bronze-light)}
.blueprint-wash{position:absolute;inset:0;z-index:5;opacity:0;pointer-events:none;background:linear-gradient(105deg,rgba(7,27,42,.88),rgba(9,42,63,.7));mix-blend-mode:color}
.build-sweep{position:absolute;z-index:8;top:-10%;bottom:-10%;left:-15%;width:16%;opacity:0;pointer-events:none;transform:skewX(-7deg);background:linear-gradient(90deg,transparent,rgba(221,185,138,.15),rgba(255,242,223,.95),rgba(221,185,138,.15),transparent);filter:blur(2px);box-shadow:0 0 40px rgba(221,185,138,.35)}
.build-stage{position:absolute;z-index:10;left:50%;top:28px;transform:translateX(-50%);height:31px;min-width:112px;padding:9px 18px;border:1px solid rgba(221,185,138,.4);border-radius:100px;background:rgba(8,8,8,.78);backdrop-filter:blur(12px);font-size:.58rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-light);text-align:center;overflow:hidden}
.build-stage span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0}
.ba-replay{position:absolute;z-index:10;right:18px;bottom:18px;padding:8px 13px;border-radius:100px;background:rgba(8,8,8,.72);border:1px solid rgba(221,185,138,.22);backdrop-filter:blur(10px);color:rgba(247,242,234,.76);font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .35s}
.blueprint-built:hover .ba-replay,.blueprint-built:focus .ba-replay{opacity:1}
.blueprint-built.ba-revealed .ba-before{animation:blueBefore 4.8s ease forwards}
.blueprint-built.ba-revealed .blueprint-wash{animation:blueWash 4.8s ease forwards}
.blueprint-built.ba-revealed .blueprint-overlay{animation:blueOverlay 4.8s ease forwards}
.blueprint-built.ba-revealed .blueprint-overlay path,.blueprint-built.ba-revealed .blueprint-overlay circle{animation:drawPlan 2.15s cubic-bezier(.65,0,.35,1) .55s forwards}
.blueprint-built.ba-revealed .plan-note{animation:planNote 2.25s ease 1.15s forwards}
.blueprint-built.ba-revealed .build-sweep{animation:buildSweep 1.55s cubic-bezier(.7,0,.2,1) 2.75s forwards}
.blueprint-built.ba-revealed .ba-after{animation:builtReveal 1.55s cubic-bezier(.7,0,.2,1) 2.75s forwards}
.blueprint-built.ba-revealed .build-stage span:nth-child(1){animation:stagePlan 1.2s ease .35s forwards}
.blueprint-built.ba-revealed .build-stage span:nth-child(2){animation:stageBuild 1.45s ease 1.55s forwards}
.blueprint-built.ba-revealed .build-stage span:nth-child(3){animation:stageFinish 1.5s ease 3.35s forwards}
.ba-frame.blueprint-built .ba-label-before{opacity:1;transition:opacity .4s ease}.ba-frame.blueprint-built .ba-label-after{opacity:0;transition:none}.blueprint-built.ba-revealed .ba-label-before{animation:labelBefore 4.3s ease forwards}.blueprint-built.ba-revealed .ba-label-after{animation:labelAfter .6s ease 4s forwards}
@keyframes blueBefore{0%,55%{filter:saturate(.35) brightness(.47) contrast(1.12)}100%{filter:saturate(.72) brightness(.82)}}
@keyframes blueWash{0%{opacity:0}12%,55%{opacity:1}86%,100%{opacity:0}}
@keyframes blueOverlay{0%{opacity:0}12%,56%{opacity:1}84%,100%{opacity:0}}
@keyframes drawPlan{to{stroke-dashoffset:0}}
@keyframes planNote{0%{opacity:0;transform:translateY(6px)}25%,72%{opacity:.9;transform:none}100%{opacity:0}}
@keyframes buildSweep{0%{left:-15%;opacity:0}8%,90%{opacity:1}100%{left:105%;opacity:0}}
@keyframes builtReveal{to{clip-path:inset(0 0 0 0)}}
@keyframes stagePlan{0%,100%{opacity:0;transform:translateY(8px)}15%,78%{opacity:1;transform:none}}
@keyframes stageBuild{0%,100%{opacity:0;transform:translateY(8px)}15%,78%{opacity:1;transform:none}}
@keyframes stageFinish{0%{opacity:0;transform:translateY(8px)}20%,100%{opacity:1;transform:none}}
@keyframes labelBefore{0%,62%{opacity:1}72%,100%{opacity:0}}
@keyframes labelAfter{to{opacity:1}}
@media(max-width:768px){.build-stage{top:14px}.plan-note{font-size:.42rem}.note-b{display:none}.ba-replay{right:10px;bottom:10px}.blueprint-overlay{background-size:32px 32px,32px 32px,8px 8px,8px 8px}}
@media(prefers-reduced-motion:reduce){.blueprint-built .ba-after{clip-path:inset(0 0 0 0)!important}.blueprint-overlay,.blueprint-wash,.build-sweep,.build-stage{display:none}.blueprint-built .ba-label-before{display:none}.blueprint-built .ba-label-after{opacity:1!important}}

/* Homepage philosophy pillars — rotating spotlight */
.philosophy-pillars.pillar-spotlight-ready .pillar{position:relative;overflow:hidden;cursor:pointer;opacity:.46;transform:translateX(0);padding-left:0;transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1),background-color .5s ease,padding-left .5s cubic-bezier(.16,1,.3,1),border-color .5s ease}
.philosophy-pillars.pillar-spotlight-ready .pillar::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 12%,rgba(221,185,138,.11) 48%,transparent 84%);transform:translateX(-115%);opacity:0}
.philosophy-pillars.pillar-spotlight-ready .pillar-line{transform:scaleY(.18);transform-origin:center;background:linear-gradient(to bottom,var(--bronze-light),var(--bronze));transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .45s ease}
.philosophy-pillars.pillar-spotlight-ready .pillar-content h4{color:rgba(247,242,234,.62);transition:color .45s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.philosophy-pillars.pillar-spotlight-ready .pillar-content p{opacity:.42;transition:opacity .45s ease,color .45s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-lit{opacity:.84;background:linear-gradient(90deg,rgba(201,151,94,.045),transparent 78%);border-color:rgba(201,151,94,.13)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-lit .pillar-line{transform:scaleY(1);box-shadow:0 0 10px rgba(201,151,94,.24)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-lit .pillar-content h4{color:var(--cream)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-lit .pillar-content p{opacity:.78;color:var(--text-mid)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-spotlight{opacity:1;transform:translateX(10px);padding-left:18px;background:linear-gradient(90deg,rgba(201,151,94,.095),rgba(201,151,94,.018) 72%,transparent);border-color:rgba(201,151,94,.22)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-spotlight::after{animation:spotlightSweep .9s cubic-bezier(.16,1,.3,1) both}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-spotlight .pillar-line{transform:scaleY(1);box-shadow:0 0 16px rgba(201,151,94,.45)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-spotlight .pillar-content h4{color:var(--bronze-light);transform:translateX(3px)}
.philosophy-pillars.pillar-spotlight-ready .pillar.is-spotlight .pillar-content p{opacity:1;color:var(--text-mid);transform:translateX(3px)}
@keyframes spotlightSweep{0%{transform:translateX(-115%);opacity:0}20%{opacity:1}100%{transform:translateX(115%);opacity:0}}
@media(max-width:768px){.philosophy-pillars.pillar-spotlight-ready .pillar.is-spotlight{transform:translateX(4px);padding-left:10px}}
@media(prefers-reduced-motion:reduce){.philosophy-pillars.pillar-spotlight-ready .pillar{opacity:1;transform:none;padding-left:0;transition:none}.philosophy-pillars.pillar-spotlight-ready .pillar-line{transform:none;transition:none}.philosophy-pillars.pillar-spotlight-ready .pillar-content h4,.philosophy-pillars.pillar-spotlight-ready .pillar-content p{opacity:1;transform:none;transition:none}.philosophy-pillars.pillar-spotlight-ready .pillar::after{display:none}}

/* Preserve the visual style on phones while avoiding perpetual GPU-heavy effects. */
@media(max-width:768px){
  .hero::after,.cta-section::after{animation:none}
  .hero-headline em,.hero h1 em,.section-title em,.section-heading em,.services-heading em,.portfolio-heading em,.philosophy-heading em,.process-heading em,.testimonials-heading em,.area-heading em,.cta-heading em,.homecare-heading em{animation:none}
  .reveal,.reveal-left,.reveal-right,.reveal-scale{filter:none}
}
