/* LUX experience: sculpted surfaces, champagne edges and responsive light.
   Progressive enhancement only. Client photographs and native controls stay intact. */
body.lux-experience{
 --lux-edge:#cdb27b38;--lux-edge-soft:#cdb27b1c;--lux-silk:#f4f0e6;
 --lux-ease:cubic-bezier(.22,.68,.18,1);--lux-cta-open:1;
 -webkit-font-smoothing:antialiased;
 background-color:#0b0c0e;
}
/* Material is attached to surfaces, never overlaid across the photographs. */
body.lux-experience .hero.lux-showroom-hero{position:relative;isolation:isolate}
body.lux-experience .hero.lux-showroom-hero::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 84% 14%,#a58c4f12,transparent 54%),repeating-linear-gradient(116deg,transparent 0 12px,#e4cf9f04 12px 13px,transparent 13px 25px);
}
body.lux-experience .header,body.lux-experience .s-header{
 border-bottom-color:#d6bc8224;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 transition:height .32s var(--lux-ease),background .32s,border-color .32s,box-shadow .32s;
}
body.lux-experience .header.is-scrolled{background:#0b0c0eeb;box-shadow:0 12px 34px #00000024;border-bottom-color:#d6bc8240}
body.lux-experience .desktop-nav a::after,body.lux-experience .s-nav a::after{height:1px;background:linear-gradient(90deg,#e1c994,#a28650);transition:width .32s var(--lux-ease)}
body.lux-experience .lux-brand-logo{filter:drop-shadow(0 2px 9px #cdb27b12)}
/* Bodywork-inspired corner radii, consistent across the photographic hierarchy. */
body.lux-experience .lux-authentic-hero .lux-real-hero{
 border-radius:clamp(44px,5.8vw,88px) 12px 36px 12px;
 border:1px solid #d8bd853d;
 box-shadow:0 30px 70px #00000036,0 1px 0 #fff1 inset;
 isolation:isolate;
}
body.lux-experience .lux-real-hero::before{
 content:"";position:absolute;inset:8px;z-index:1;pointer-events:none;
 border:1px solid #ffffff2c;border-radius:inherit;
}
body.lux-experience .lux-authentic-hero .lux-hero-credit{padding-top:19px;color:#b9bcb9}
body.lux-experience .lux-hero-credit::before{content:"";display:inline-block;width:22px;height:1px;background:#cdb27b;margin-right:10px;vertical-align:middle}
body.lux-experience .hero-copy .eyebrow{display:inline-flex;align-items:center;gap:12px}
body.lux-experience .hero-copy .eyebrow::before{content:"";width:27px;height:1px;background:linear-gradient(90deg,#d4b77b,transparent);flex:none}
body.lux-experience .hero-services{padding-left:14px;border-left:1px solid #cdb27b6b}
/* Precise highlights and fixed hitboxes. Only the decorative arrow is magnetic. */
body.lux-experience .button,body.lux-experience .s-header-cta{
 position:relative;isolation:isolate;overflow:hidden;border-radius:6px 19px 6px 6px;
 transition:background .25s,border-color .25s,box-shadow .3s var(--lux-ease),color .25s;
}
body.lux-experience .button-gold{
 background:linear-gradient(118deg,#e2cda0 0%,#cdb27b 42%,#c1a56e 100%);
 border-color:#e2c894;
 box-shadow:0 1px 0 #ffffff5e inset,0 -2px 0 #866e3c33 inset,0 8px 25px #cdb27b0d;
}
body.lux-experience .button-gold::before{
 content:"";position:absolute;z-index:-1;inset:-50% auto -50% -48%;width:38%;
 background:linear-gradient(90deg,transparent,#ffffff63,transparent);
 transform:skewX(-22deg) translateX(-120%);transition:transform .7s var(--lux-ease);pointer-events:none;
}
body.lux-experience .button-gold:hover{background:#e2cca0;border-color:#f4dda9;box-shadow:0 1px 0 #ffffff80 inset,0 9px 30px #cdb27b22;transform:none}
body.lux-experience .button-gold:hover::before{transform:skewX(-22deg) translateX(550%)}
body.lux-experience [data-lux-magnetic]>span[aria-hidden]{
 display:inline-block;transform:translate3d(var(--lux-magnetic-x,0px),var(--lux-magnetic-y,0px),0);
 transition:transform .18s var(--lux-ease);will-change:auto;
}
body.lux-experience .button-outline{border-color:#cdb27b71;background:#cdb27b05;box-shadow:0 1px 0 #ffffff0a inset}
body.lux-experience .text-link{border-bottom-color:#cdb27b66;transition:border-color .25s,color .25s}
body.lux-experience .text-link:hover{border-bottom-color:#e0c48b;color:#e0c48b}
body.lux-experience .dark-link:hover{color:#796036;border-color:#796036}
body.lux-experience .photo-expand,body.lux-experience .project-open,body.lux-experience .s-work-open{
 background:#0b1015b8;border:1px solid #eddfc080;box-shadow:0 5px 22px #00000032,0 1px 0 #ffffff26 inset;
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 transition:background .25s,border-color .25s,box-shadow .25s,color .25s;
}
body.lux-experience .photo-expand:hover,body.lux-experience .project-image:hover .project-open,body.lux-experience .s-work-image:hover .s-work-open{background:#cdb27b;color:#111314;border-color:#f0dba9;box-shadow:0 6px 26px #0004;transform:none}
/* One continuous curve leads into an ivory, finely textured treatment surface. */
body.lux-experience .service-ribbon{
 border-top-color:#cdb27b36;border-bottom:0;
 background:linear-gradient(135deg,#121619,#0b0c0e 70%);
}
body.lux-experience .service-ribbon>a{transition:background .3s var(--lux-ease)}
body.lux-experience .service-ribbon>a:hover{background:linear-gradient(130deg,#cdb27b0c,transparent)}
body.lux-experience .service-ribbon strong{transition:color .25s}
body.lux-experience .service-ribbon i{transition:transform .3s var(--lux-ease)}
body.lux-experience .service-ribbon>a:hover i{transform:translate(3px,-3px)}
body.lux-experience .services{
 position:relative;isolation:isolate;padding-top:clamp(148px,12vw,190px);
 border-radius:0 0 clamp(36px,5vw,76px) clamp(36px,5vw,76px);
 background-color:#ecebe6;
 background-image:radial-gradient(#87714a12 .65px,transparent .8px),linear-gradient(125deg,#f1efe8,#e8e6dd);
 background-size:19px 19px,100% 100%;
 box-shadow:0 1px 0 #ffffff4a inset;
}
body.lux-experience .services::before{
 content:"";position:absolute;left:0;right:0;top:-1px;height:clamp(66px,7.1vw,105px);pointer-events:none;z-index:-1;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V7C1090 119 350 119 0 7Z' fill='%230b0c0e'/%3E%3Cpath d='M0 7C350 119 1090 119 1440 7' fill='none' stroke='%23cdb27b' stroke-opacity='.72' stroke-width='2'/%3E%3Cpath d='M0 24C350 136 1090 136 1440 24' fill='none' stroke='%239b8150' stroke-opacity='.22' stroke-width='1'/%3E%3C/svg%3E") center top/100% 100% no-repeat;
}
body.lux-experience .services .container{position:relative;z-index:1}
body.lux-experience .service-explorer{align-items:start}
body.lux-experience .service-choices button{border-bottom-color:#85734c36;transition:color .25s,padding .35s var(--lux-ease),background .35s}
body.lux-experience .service-choices button[aria-selected=true]{background:linear-gradient(90deg,#cdb27b18,transparent);border-bottom-color:#9b8050}
body.lux-experience .service-photo{border-radius:12px 54px 12px 12px;border:1px solid #aaa28b4a;box-shadow:0 19px 40px #1e211318}
body.lux-experience .service-photo>span{border-radius:4px 11px 4px 4px;border:1px solid #fff8;box-shadow:0 3px 10px #00000012}
body.lux-experience .service-detail .round-link{background:#ffffff40;border-color:#9b805077;box-shadow:0 1px 0 #fff8 inset}
body.lux-experience #service-panel{transition:opacity .28s var(--lux-ease),transform .28s var(--lux-ease)}
body.lux-experience #service-panel.is-service-changing{opacity:.9;transform:translateY(4px)}
/* A portfolio, not a grid of boxes: shaped frames and instrument-like selection. */
body.lux-experience .work{
 position:relative;isolation:isolate;
 background-color:#111416;
 background-image:radial-gradient(ellipse at 0 4%,#cdb27b0b,transparent 48%),repeating-linear-gradient(115deg,transparent 0 18px,#ffffff03 18px 19px,transparent 19px 37px);
}
body.lux-experience .work .selected-work-preview .hero-image-wrap{
 border-radius:12px 66px 12px 12px;border-color:#cdb27b4a;
 box-shadow:0 18px 56px #0003,0 1px 0 #ffffff21 inset;
}
body.lux-experience .project-image,body.lux-experience .s-work-image{border-radius:10px 38px 10px 10px;border:1px solid #cdb27b30;box-shadow:0 10px 28px #00000020;isolation:isolate}
body.lux-experience .project-image img{border-radius:inherit}
body.lux-experience .project-label,body.lux-experience .s-work-label{border-bottom-color:#cdb27b30;transition:border-color .3s}
body.lux-experience .project:hover .project-label,body.lux-experience .s-work-card:hover .s-work-label{border-bottom-color:#cdb27b70}
body.lux-experience .hero-thumbs{align-items:center;gap:9px}
body.lux-experience .hero-thumbs button{border:1px solid #cdb27b00;border-radius:5px;padding:3px;transition:opacity .25s,border-color .25s,box-shadow .25s}
body.lux-experience .hero-thumbs button.selected{border-color:#d9bf89;box-shadow:0 0 0 3px #cdb27b0e;background:#cdb27b08}
body.lux-experience .hero-thumbs img{border-radius:2px}
body.lux-experience .caption-label{color:#acb3b4}
body.lux-experience .lux-feature-position{display:inline-flex;align-items:center;gap:12px;margin-left:auto;color:#d3bd91;font-size:11px;letter-spacing:.12em;white-space:nowrap;font-variant-numeric:tabular-nums}
body.lux-experience .lux-feature-position::before{content:"";width:30px;height:1px;background:#cdb27b55}
/* Moving light is restricted to borders; real photograph pixels are never tinted. */
body.lux-experience [data-lux-surface]{position:relative}
body.lux-experience [data-lux-surface]::after{
 display:block;content:"";position:absolute;inset:0;z-index:1;border:1px solid transparent;border-radius:inherit;pointer-events:none;
 background:radial-gradient(240px circle at var(--lux-pointer-x,50%) var(--lux-pointer-y,50%),#f1dbaaa6,transparent 72%) border-box;
 -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
 mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;
 opacity:0;transition:opacity .35s;
}
body.lux-experience [data-lux-surface][data-lux-lit=true]::after{opacity:.85}
/* An inset finish studio, followed by the full-width engraved contact surface. */
body.lux-experience .approach{margin:24px clamp(20px,3.2vw,52px);border:1px solid #e5dcc259;border-radius:16px 80px 16px 16px;overflow:hidden;box-shadow:0 20px 60px #00000028}
body.lux-experience .approach-photo{margin:0;border-radius:0}
body.lux-experience .approach-copy{background:radial-gradient(#87714a10 .65px,transparent .8px),#ecebe6;background-size:19px 19px}
body.lux-experience .inspection-ui button{border-radius:5px 15px 5px 5px;box-shadow:0 1px 0 #fff2 inset}
body.lux-experience .inspection-controls{border-radius:8px;border-color:#d7bd8359}
body.lux-experience .locations{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 45%,#66573720,transparent 58%),repeating-linear-gradient(116deg,transparent 0 16px,#ffffff04 16px 17px,transparent 17px 33px),#171b1e;border-top:1px solid #cdb27b30}
body.lux-experience .locations::before{content:"LUX";display:block;position:absolute;z-index:-1;pointer-events:none;right:-.045em;top:.1em;font-family:Georgia,'Times New Roman',serif;font-size:clamp(230px,38vw,620px);font-weight:400;font-style:normal;line-height:.85;letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1px #cdb27b13;transform:rotate(-8deg)}
body.lux-experience .location-heading h2>span{color:#d4bb87}
body.lux-experience .contact-layout{border-top-color:#cdb27b40}
body.lux-experience .contact-phone>a{transition:color .2s}
body.lux-experience .contact-phone>a:hover{color:#e5cb97}
body.lux-experience .footer-route-nav a,body.lux-experience .s-footer-nav a{transition:color .2s}
body.lux-experience .footer-route-nav a:hover,body.lux-experience .s-footer-nav a:hover{color:#d4bb87}
/* Supporting pages inherit materials and curves without altering their layout. */
body.lux-experience .s-page-hero{position:relative;isolation:isolate;border-radius:0 0 6% 2%;border-bottom:1px solid #cdb27b42;background:radial-gradient(ellipse at 82% 10%,#cdb27b0d,transparent 60%),repeating-linear-gradient(116deg,transparent 0 17px,#ffffff03 17px 18px,transparent 18px 35px),#101416}
body.lux-experience .s-service-light,body.lux-experience .s-visit-section,body.lux-experience .s-contact-section{background-image:radial-gradient(#87714a12 .65px,transparent .8px);background-size:19px 19px}
body.lux-experience .s-service-visual,body.lux-experience .s-about-feature figure,body.lux-experience .s-visit-photo{border-radius:12px 58px 12px 12px;overflow:hidden}
body.lux-experience .s-service-visual>img,body.lux-experience .s-about-feature img,body.lux-experience .s-visit-photo img{border-radius:inherit}
body.lux-experience .s-about-statement,body.lux-experience .s-about-values{background-image:radial-gradient(#87714a10 .65px,transparent .8px);background-size:19px 19px}
body.lux-experience .s-cta{border-top-color:#cdb27b38;background:radial-gradient(ellipse at 80% 20%,#cdb27b0e,transparent 55%),#171b1e}
body.lux-experience .s-planner-panel,body.lux-experience .project-dialog{border-radius:12px 36px 12px 12px;border-color:#cdb27b50;box-shadow:0 25px 90px #0005}
body.lux-experience .project-dialog select,body.lux-experience .project-dialog input,body.lux-experience .s-call-planner input,body.lux-experience .s-call-planner select,body.lux-experience .s-call-planner textarea{border-radius:6px}
body.lux-experience .gallery-dialog,body.lux-experience .s-work-dialog{border-radius:12px 32px 12px 12px;border-color:#cdb27b70;box-shadow:0 30px 100px #0008}
body.lux-experience .gallery-meta,body.lux-experience .s-work-dialog-bottom{border-top-color:#cdb27b36}
/* Offscreen-only reveals are armed by JavaScript after successful setup.
   No JS, reduced motion and all unarmed content retain the complete composition. */
body.lux-experience [data-lux-reveal]{opacity:1;transform:none;transition:opacity .8s var(--lux-ease) var(--lux-reveal-delay,0ms),transform .8s var(--lux-ease) var(--lux-reveal-delay,0ms)}
body.lux-experience.lux-motion-ready [data-lux-reveal].is-reveal-pending{opacity:0;transform:translate3d(0,24px,0)}
body.lux-experience [data-lux-reveal].is-visible{opacity:1;transform:none}
body.lux-experience [data-lux-reveal=line]{transform-origin:left center}
body.lux-experience.lux-motion-ready [data-lux-reveal=line].is-reveal-pending{opacity:0;transform:translate3d(0,16px,0)}
@media(min-width:1000px) and (min-height:650px) and (prefers-reduced-motion:no-preference){
 body.lux-experience .locations[data-lux-cta-enhanced=true]{margin-inline:calc(48px * (1 - var(--lux-cta-open,1)));border-radius:calc(56px * (1 - var(--lux-cta-open,1)));}
 body.lux-experience .locations[data-lux-cta-enhanced=true] .location-heading{transform:scale(calc(.96 + var(--lux-cta-open,1) * .04));transform-origin:left bottom}
}
@media(max-width:1100px) and (min-width:761px){
 body.lux-experience .hero.lux-showroom-hero h1{font-size:6.2vw}
 body.lux-experience .lux-authentic-hero .lux-real-hero{border-radius:48px 10px 28px 10px}
 body.lux-experience .work .selected-work-preview .hero-image-wrap{border-radius:10px 44px 10px 10px}
 body.lux-experience .approach{margin-inline:24px;border-radius:12px 52px 12px 12px}
 body.lux-experience .lux-feature-position{font-size:10px;letter-spacing:.05em;gap:7px}
 body.lux-experience .lux-feature-position::before{width:17px}
}
@media(max-width:760px){
 body.lux-experience .hero.lux-showroom-hero{padding-top:35px}
 body.lux-experience .lux-authentic-hero .lux-real-hero{border-radius:36px 0 28px 0;border-left:0;border-right:0;box-shadow:0 18px 35px #0003}
 body.lux-experience .lux-real-hero::before{inset:6px}
 body.lux-experience .lux-authentic-hero .lux-hero-credit{padding-top:17px}
 body.lux-experience .hero-services{padding-left:12px}
 body.lux-experience .service-ribbon>a{padding-block:25px}
 body.lux-experience .services{padding-top:112px;border-radius:0 0 36px 36px}
 body.lux-experience .services::before{height:54px}
 body.lux-experience .service-photo{border-radius:9px 35px 9px 9px}
 body.lux-experience .service-choices button[aria-selected=true]{background:none}
 body.lux-experience .work .selected-work-preview .hero-image-wrap{border-radius:10px 42px 10px 10px}
 body.lux-experience .project-image,body.lux-experience .s-work-image{border-radius:8px 30px 8px 8px}
 body.lux-experience .lux-photo-edition .hero-caption{position:relative;padding-top:18px}
 body.lux-experience .lux-feature-position{position:absolute;right:0;top:18px;font-size:10px;letter-spacing:.07em;gap:0}
 body.lux-experience .lux-feature-position::before{display:none}
 body.lux-experience .hero-thumbs{gap:8px}
 body.lux-experience .approach{margin:18px 16px;border-radius:12px 42px 12px 12px}
 body.lux-experience .approach-photo{margin:0;border-radius:0}
 body.lux-experience .approach-copy{padding:43px 24px}
 body.lux-experience .locations::before{top:32px;right:-22px;font-size:260px;-webkit-text-stroke-color:#cdb27b10}
 body.lux-experience .s-page-hero{border-radius:0 0 10% 3%}
 body.lux-experience .s-service-visual,body.lux-experience .s-about-feature figure,body.lux-experience .s-visit-photo{border-radius:10px 38px 10px 10px}
 body.lux-experience .mobile-project-bar:not([hidden]){border-radius:9px 22px 9px 9px;border-color:#cdb27b66;background:#111719f2;box-shadow:0 8px 34px #0006}
}
@media(max-width:380px){body.lux-experience .lux-feature-position{top:18px;font-size:9px}body.lux-experience .lux-photo-edition .hero-caption>div:first-child{padding-right:47px}}
@media(prefers-reduced-motion:reduce){
 body.lux-experience [data-lux-reveal],body.lux-experience.lux-motion-ready [data-lux-reveal].is-reveal-pending,body.lux-experience.lux-motion-ready [data-lux-reveal=line].is-reveal-pending{opacity:1!important;transform:none!important;transition:none!important}
 body.lux-experience [data-lux-magnetic]>span[aria-hidden]{transform:none!important;transition:none}
 body.lux-experience .button-gold::before{display:none}
 body.lux-experience .button,body.lux-experience .header,body.lux-experience .s-header,body.lux-experience .service-ribbon i,body.lux-experience .photo-expand,body.lux-experience .project-open,body.lux-experience #service-panel{transition:none}
 body.lux-experience #service-panel.is-service-changing{opacity:1;transform:none}
 body.lux-experience .locations[data-lux-cta-enhanced=true]{margin-inline:0;border-radius:0}
 body.lux-experience .locations[data-lux-cta-enhanced=true] .location-heading{transform:none}
 body.lux-experience [data-lux-surface]::after{display:none}
}
@media print{
 body.lux-experience [data-lux-reveal],body.lux-experience.lux-motion-ready [data-lux-reveal].is-reveal-pending{opacity:1!important;transform:none!important}
 body.lux-experience .services::before,body.lux-experience .locations::before,body.lux-experience [data-lux-surface]::after{display:none}
 body.lux-experience .services{padding-top:60px}
}
/* Preserve authentic paint and glass color. Inspector object positions stay unchanged. */
body.lux-experience .approach-photo>img,
body.lux-experience .lux-real-hero>img,
body.lux-experience .selected-work-preview .hero-image-wrap>img,
body.lux-experience .project-image>img,
body.lux-experience .s-work-image>img{filter:none}
