:root{
    --lux-black:#090b0e;
    --lux-charcoal:#17191d;
    --lux-charcoal-2:#22252a;
    --lux-gold:#d8a94f;
    --lux-gold-soft:#efc979;
    --lux-cream:#f5f1e8;
    --lux-paper:#fbf9f5;
    --lux-white:#fff;
    --lux-text:#161616;
    --lux-muted:#747474;
    --lux-border:#ddd6ca;
    --lux-dark-border:rgba(255,255,255,.12);
    --lux-shell:1480px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    overflow-x:hidden;
    background:#fff;
    color:var(--lux-text);
    font-family:"DM Sans",Arial,sans-serif;
    font-size:15px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
}
body.rtl{
    font-family:"Readex Pro",Tahoma,Arial,sans-serif;
}
body.iv-menu-open,
body.iv-lightbox-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.iv-shell,
.container{
    width:min(calc(100% - 48px),var(--lux-shell));
    margin-inline:auto;
}

/* =========================================================
   HEADER
   ========================================================= */
.iv-header{
    z-index:1500;
    left:0;
    right:0;
    top:0;
    transition:.25s ease;
}
.iv-header-overlay{
    position:absolute;
    color:#fff;
    background:linear-gradient(180deg,rgba(5,7,10,.76),rgba(5,7,10,0));
}
.iv-header-solid{
    position:sticky;
    background:#111317;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.iv-header.scrolled{
    background:rgba(9,11,14,.96);
    backdrop-filter:blur(14px);
}
.iv-nav{
    min-height:84px;
    display:flex;
    align-items:center;
    gap:38px;
}
.iv-logo{
    flex:0 0 auto;
    width:195px;
}
.iv-logo-box{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:62px;
    padding:4px 8px;
    background:rgba(246,242,234,.96);
}
.iv-logo-box img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.iv-desktop-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:32px;
    margin-inline:auto;
}
.iv-desktop-nav a{
    position:relative;
    padding:30px 0;
    color:#f3f3f3;
    font-size:13px;
    font-weight:500;
    white-space:nowrap;
}
.iv-desktop-nav a::after{
    content:"";
    position:absolute;
    bottom:22px;
    inset-inline:0;
    height:2px;
    transform:scaleX(0);
    background:var(--lux-gold);
    transition:.2s ease;
}
.iv-desktop-nav a:hover::after{transform:scaleX(1)}
.iv-nav-actions{
    display:flex;
    align-items:center;
    gap:15px;
    flex:0 0 auto;
}
.iv-language{
    color:#fff;
    font-size:12px;
    font-weight:600;
}
.iv-nav-divider{
    width:1px;
    height:18px;
    background:rgba(255,255,255,.22);
}
.iv-quote-button{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:0 20px;
    background:var(--lux-gold);
    color:#111;
    font-size:12px;
    font-weight:700;
}
.iv-quote-button:hover{background:var(--lux-gold-soft)}
.iv-menu-button{
    display:none;
    width:44px;
    height:44px;
    padding:10px;
    border:1px solid rgba(255,255,255,.22);
    background:transparent;
}
.iv-menu-button span{
    display:block;
    height:2px;
    margin:5px 0;
    background:#fff;
}
.iv-mobile-nav{display:none}

/* =========================================================
   HOME HERO — matches approved visual direction
   ========================================================= */
.lux-hero{
    position:relative;
    min-height:690px;
    overflow:hidden;
    background:var(--lux-black);
    color:#fff;
}
.lux-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.lux-hero-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(6,8,11,.97) 0%,
            rgba(6,8,11,.94) 24%,
            rgba(6,8,11,.68) 38%,
            rgba(6,8,11,.16) 66%,
            rgba(6,8,11,.22) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.05),
            rgba(0,0,0,.35)
        );
}
.rtl .lux-hero-shade{
    background:
        linear-gradient(
            270deg,
            rgba(6,8,11,.97) 0%,
            rgba(6,8,11,.94) 24%,
            rgba(6,8,11,.68) 38%,
            rgba(6,8,11,.16) 66%,
            rgba(6,8,11,.22) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.05),
            rgba(0,0,0,.35)
        );
}
.lux-hero-shell{
    position:relative;
    z-index:2;
    min-height:690px;
    display:grid;
    grid-template-columns:520px 1fr;
    align-items:center;
    padding-top:105px;
}
.rtl .lux-hero-shell{
    grid-template-columns:1fr 520px;
}
.lux-hero-copy{
    grid-column:1;
    align-self:end;
    padding-bottom:52px;
}
.rtl .lux-hero-copy{
    grid-column:2;
}
.lux-overline{
    display:inline-block;
    color:#e5e5e5;
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.24em;
}
.rtl .lux-overline{letter-spacing:0}
.lux-hero-copy h1{
    margin:14px 0 14px;
    color:#fff;
    font-size:74px;
    font-weight:600;
    line-height:.96;
    letter-spacing:-.055em;
}
.lux-hero-copy h1 span{
    display:block;
    color:var(--lux-gold);
}
.rtl .lux-hero-copy h1{
    font-size:62px;
    line-height:1.28;
    letter-spacing:0;
    font-weight:600;
}
.lux-hero-copy>p{
    max-width:470px;
    margin:0;
    color:#d1d1d1;
    font-size:14px;
    font-weight:300;
    line-height:1.9;
}
.lux-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:26px;
    align-items:center;
    margin-top:23px;
}
.lux-button{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:0 20px;
    border:1px solid transparent;
    font-size:12px;
    font-weight:700;
}
.lux-button-gold{
    background:var(--lux-gold);
    color:#111;
}
.lux-button-gold:hover{background:var(--lux-gold-soft)}
.lux-video-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:12px;
    font-weight:600;
}
.lux-play{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.72);
    border-radius:50%;
    font-size:10px;
}
.lux-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:34px;
    border-top:1px solid rgba(255,255,255,.15);
}
.lux-stats>div{
    min-width:0;
    padding:15px 12px;
    border-inline-end:1px solid rgba(255,255,255,.14);
}
.lux-stats>div:first-child{padding-inline-start:0}
.lux-stats>div:last-child{border-inline-end:0}
.lux-stats strong{
    display:block;
    font-size:22px;
    line-height:1.1;
    font-weight:500;
}
.lux-stats span{
    display:block;
    margin-top:5px;
    color:#b9b9b9;
    font-size:9px;
    line-height:1.5;
}
.lux-hero-note{
    align-self:start;
    justify-self:end;
    grid-column:2;
    margin-top:34px;
    width:190px;
    display:flex;
    gap:13px;
}
.rtl .lux-hero-note{
    grid-column:1;
    justify-self:start;
}
.lux-note-line{
    flex:0 0 1px;
    min-height:58px;
    background:rgba(216,169,79,.8);
}
.lux-hero-note p{
    margin:0;
    color:#ececec;
    font-size:10px;
    line-height:2;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.rtl .lux-hero-note p{
    letter-spacing:0;
    text-transform:none;
    font-size:11px;
}
.lux-slide-index{
    position:absolute;
    inset-inline-end:0;
    bottom:23px;
    display:flex;
    align-items:center;
    gap:14px;
    font-size:12px;
}
.lux-slide-index strong{color:var(--lux-gold)}
.lux-slide-index span{
    width:66px;
    height:1px;
    background:var(--lux-gold);
}
.lux-slide-index em{
    color:#ddd;
    font-style:normal;
}

/* =========================================================
   MATERIAL BAR
   ========================================================= */
.lux-material-bar{
    background:#1b1c1f;
    color:#fff;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.lux-material-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.lux-material-item{
    min-height:105px;
    display:grid;
    grid-template-columns:110px 1fr 28px;
    gap:18px;
    align-items:center;
    padding-inline-end:20px;
    border-inline-end:1px solid rgba(255,255,255,.08);
}
.lux-material-item:last-child{border-inline-end:0}
.lux-material-art{
    display:block;
    height:105px;
}
.lux-material-stone{
    background:
        linear-gradient(135deg,#e9e2d7 0 30%,#c9bbaa 31% 33%,#f5f1eb 34% 64%,#c5b7a6 65% 67%,#e4dbcf 68%);
}
.lux-material-wood{
    background:
        repeating-linear-gradient(100deg,#bc8b55 0 8px,#d4a66f 8px 15px,#a87748 15px 18px);
}
.lux-material-sanitary{
    background:
        radial-gradient(circle at 58% 55%,#f4f4f2 0 23%,#b6b4af 24% 26%,transparent 27%),
        linear-gradient(145deg,#cfc9bf,#6e6b67);
}
.lux-material-interior{
    background:
        linear-gradient(90deg,#80664f 0 8%,transparent 8% 12%,#aa8c6e 12% 20%,transparent 20% 24%,#6f5948 24% 32%,#c9b39a 32%);
}
.lux-material-item strong{
    display:block;
    font-size:15px;
    font-weight:600;
    line-height:1.35;
}
.lux-material-item small{
    display:block;
    margin-top:4px;
    color:#b9b9b9;
    font-size:9px;
}
.lux-material-item b{
    color:var(--lux-gold);
    font-size:19px;
    font-weight:400;
}

/* =========================================================
   APPROVED PROJECT SHOWCASE
   ========================================================= */
.lux-project-showcase{
    padding:58px 0 0;
    background:var(--lux-paper);
}
.lux-project-layout{
    display:grid;
    grid-template-columns:1.15fr repeat(3,1fr) 1.2fr;
    gap:18px;
    align-items:stretch;
}
.lux-dark-overline{
    color:#787878;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.24em;
}
.rtl .lux-dark-overline{letter-spacing:0}
.lux-project-intro{
    padding:3px 16px 30px 0;
}
.rtl .lux-project-intro{
    padding:3px 0 30px 16px;
}
.lux-project-intro h2{
    margin:15px 0 13px;
    color:#121212;
    font-size:42px;
    font-weight:600;
    line-height:1.02;
    letter-spacing:-.045em;
}
.lux-project-intro h2 span{display:block}
.rtl .lux-project-intro h2{
    font-size:34px;
    line-height:1.35;
    letter-spacing:0;
}
.lux-project-intro p{
    margin:0;
    color:#646464;
    font-size:11px;
    line-height:1.8;
}
.lux-dark-link{
    display:inline-flex;
    align-items:center;
    gap:20px;
    margin-top:20px;
    color:#111;
    font-size:11px;
    font-weight:600;
}
.lux-project-card figure{
    margin:0;
    overflow:hidden;
    aspect-ratio:1.18/1;
    background:#ddd;
}
.lux-project-card img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .35s ease;
}
.lux-project-card:hover img{transform:scale(1.025)}
.lux-project-card h3{
    margin:10px 0 5px;
    color:#131313;
    font-size:14px;
    font-weight:600;
    line-height:1.45;
}
.lux-project-card>div{
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:#777;
    font-size:10px;
}
.lux-project-card b{
    color:#b77d19;
    font-size:16px;
    font-weight:400;
}
.lux-story-card{
    position:relative;
    min-height:100%;
    padding:28px 26px;
    overflow:hidden;
    background:
        linear-gradient(135deg,rgba(255,255,255,.8),rgba(239,232,220,.84)),
        linear-gradient(45deg,#e7ddcf,#faf7f1);
    border-inline-start:1px solid #e4dbce;
}
.lux-story-card::after{
    content:"∞";
    position:absolute;
    inset-inline-end:-18px;
    bottom:-45px;
    color:rgba(216,169,79,.12);
    font-family:serif;
    font-size:190px;
    line-height:1;
}
.lux-story-card h3{
    position:relative;
    z-index:2;
    margin:17px 0 10px;
    color:#141414;
    font-size:25px;
    font-weight:600;
    line-height:1.1;
}
.rtl .lux-story-card h3{
    font-size:23px;
    line-height:1.45;
}
.lux-story-card p{
    position:relative;
    z-index:2;
    margin:0;
    color:#686868;
    font-size:10px;
    line-height:1.9;
}
.lux-story-button{
    position:relative;
    z-index:2;
    min-height:37px;
    margin-top:18px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    gap:14px;
    border:1px solid #363636;
    font-size:10px;
    font-weight:600;
}

/* trust */
.lux-trust-strip{
    margin-top:55px;
    background:#17181b;
    color:#fff;
}
.lux-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr) 1.15fr;
}
.lux-trust-grid>div{
    min-height:88px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px 19px;
    border-inline-end:1px solid rgba(255,255,255,.08);
}
.lux-trust-icon{
    color:var(--lux-gold);
    font-size:27px;
}
.lux-trust-grid p{margin:0}
.lux-trust-grid strong{
    display:block;
    font-size:11px;
    font-weight:600;
}
.lux-trust-grid small{
    display:block;
    margin-top:2px;
    color:#9e9e9e;
    font-size:8px;
}
.lux-build-together{
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    background:var(--lux-gold);
    color:#111;
    font-size:11px;
    font-weight:700;
}

/* =========================================================
   PROJECTS PAGE
   ========================================================= */
.lux-inner-hero{
    padding:132px 0 68px;
    background:#0d0f12;
    color:#fff;
}
.lux-inner-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:end;
    gap:60px;
}
.lux-inner-hero h1{
    margin:10px 0 0;
    font-size:58px;
    font-weight:600;
    line-height:1.1;
    letter-spacing:-.035em;
}
.rtl .lux-inner-hero h1{
    font-size:48px;
    line-height:1.35;
    letter-spacing:0;
}
.lux-inner-hero p{
    max-width:500px;
    margin:0;
    justify-self:end;
    color:#a8a8a8;
    font-size:13px;
}
.lux-projects-index{
    padding:64px 0 85px;
    background:#f7f4ee;
}
.lux-index-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-bottom:30px;
    padding-bottom:17px;
    border-bottom:1px solid #d8d1c5;
}
.lux-index-heading>span{
    color:#111;
    font-size:12px;
    font-weight:600;
}
.lux-index-heading p{
    margin:0;
    color:#8c8c8c;
    font-size:10px;
}
.lux-index-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:42px 22px;
}
.lux-index-card figure{
    position:relative;
    margin:0;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#ddd;
}
.lux-index-card figure img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .35s ease;
}
.lux-index-card:hover figure img{transform:scale(1.025)}
.lux-index-number{
    position:absolute;
    top:14px;
    inset-inline-start:14px;
    min-width:38px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#111317;
    color:var(--lux-gold-soft);
    font-size:10px;
}
.lux-index-arrow{
    position:absolute;
    inset-inline-end:14px;
    bottom:14px;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(8,10,12,.9);
    color:#fff;
}
.lux-index-card-body{
    padding-top:13px;
}
.lux-index-card-body>span{
    color:#a37119;
    font-size:9px;
    font-weight:600;
}
.lux-index-card-body h2{
    margin:4px 0;
    color:#151515;
    font-size:18px;
    font-weight:600;
    line-height:1.45;
}
.lux-index-card-body p{
    margin:0;
    color:#818181;
    font-size:10px;
}
.lux-projects-cta{
    padding:50px 0;
    background:#17191d;
    color:#fff;
}
.lux-projects-cta>.iv-shell{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
}
.lux-projects-cta h2{
    max-width:700px;
    margin:9px 0 0;
    font-size:30px;
    font-weight:500;
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.lux-contact{
    min-height:calc(100vh - 84px);
    background:
        linear-gradient(
            90deg,
            #0d0f12 0%,
            #0d0f12 48%,
            #f4efe6 48%,
            #f4efe6 100%
        );
}
.rtl .lux-contact{
    background:
        linear-gradient(
            270deg,
            #0d0f12 0%,
            #0d0f12 48%,
            #f4efe6 48%,
            #f4efe6 100%
        );
}
.lux-contact-shell{
    display:grid;
    grid-template-columns:48% 52%;
    min-height:760px;
}
.rtl .lux-contact-shell{
    grid-template-columns:52% 48%;
}
.lux-contact-info{
    color:#fff;
    padding:145px 75px 70px 0;
}
.rtl .lux-contact-info{
    grid-column:2;
    padding:145px 0 70px 75px;
}
.lux-contact-info h1{
    max-width:540px;
    margin:12px 0 17px;
    color:#fff;
    font-size:54px;
    font-weight:600;
    line-height:1.15;
    letter-spacing:-.04em;
}
.rtl .lux-contact-info h1{
    font-size:43px;
    line-height:1.45;
    letter-spacing:0;
}
.lux-contact-lead{
    max-width:500px;
    margin:0;
    color:#aaa;
    font-size:13px;
    line-height:1.95;
}
.lux-contact-cards{
    margin-top:40px;
    border-top:1px solid rgba(255,255,255,.12);
}
.lux-contact-cards>a{
    display:grid;
    grid-template-columns:125px 1fr 25px;
    align-items:center;
    gap:15px;
    min-height:76px;
    border-bottom:1px solid rgba(255,255,255,.12);
}
.lux-contact-cards small{
    color:#848484;
    font-size:9px;
    text-transform:uppercase;
}
.lux-contact-cards strong{
    color:#fff;
    font-size:13px;
    font-weight:500;
    overflow-wrap:anywhere;
}
.lux-contact-cards>a>span{
    color:var(--lux-gold);
    font-size:18px;
}
.lux-contact-quick{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}
.lux-button-dark-outline{
    border-color:rgba(255,255,255,.3);
    color:#fff;
}
.lux-contact-form-wrap{
    padding:145px 0 70px 75px;
}
.rtl .lux-contact-form-wrap{
    grid-column:1;
    grid-row:1;
    padding:145px 75px 70px 0;
}
.lux-form-heading>span{
    color:#9c6c15;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.18em;
}
.rtl .lux-form-heading>span{letter-spacing:0}
.lux-form-heading h2{
    margin:8px 0 30px;
    font-size:34px;
    font-weight:600;
}
.lux-contact-form{
    max-width:660px;
}
.lux-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.lux-contact-form label{
    display:block;
    margin-bottom:17px;
}
.lux-contact-form label>span{
    display:block;
    margin-bottom:7px;
    color:#555;
    font-size:10px;
    font-weight:600;
}
.lux-contact-form input,
.lux-contact-form textarea{
    width:100%;
    padding:13px 14px;
    border:1px solid #d4ccbe;
    background:rgba(255,255,255,.55);
    color:#111;
    outline:0;
}
.lux-contact-form input:focus,
.lux-contact-form textarea:focus{
    border-color:var(--lux-gold);
    background:#fff;
}
.lux-submit{
    min-width:180px;
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    border:0;
    background:#111317;
    color:#fff;
    font-size:11px;
    font-weight:700;
}
.lux-submit span{color:var(--lux-gold)}
.hp-field{
    position:absolute!important;
    left:-9999px!important;
    opacity:0!important;
}

/* =========================================================
   EXISTING INNER PAGES COMPATIBILITY
   ========================================================= */
.inner-hero,
.iv-page-hero{
    padding:130px 0 70px;
    background:#0d0f12;
    color:#fff;
}
.inner-hero h1,
.iv-page-hero h1{
    margin:10px 0 12px;
    font-size:48px;
    font-weight:600;
}
.inner-hero p,
.iv-page-hero p{
    max-width:700px;
    color:#aaa;
}
.section,
.iv-section{padding:80px 0}
.section-light,
.iv-section-light{background:#f5f1e8;color:#111}
.section-dark,
.iv-section-dark{background:#101216;color:#fff}
.two-column-content,
.split-intro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}
.eyebrow{
    color:#9d6b12;
    font-size:10px;
    font-weight:600;
}
.service-list{
    display:grid;
    gap:1px;
    background:#ddd5ca;
}
.large-service-card{
    display:grid;
    grid-template-columns:90px 1fr;
    gap:30px;
    padding:34px;
    background:#fff;
}
.large-number{
    color:var(--lux-gold);
    font-size:30px;
    font-weight:600;
}
.large-service-card h2{
    margin:0 0 8px;
    font-size:25px;
    font-weight:600;
}
.large-service-card p{
    margin:0;
    color:#666;
}
.category-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}
.category-card{
    min-height:245px;
    padding:23px;
    border:1px solid #ddd4c5;
    background:#fff;
}
.category-symbol{
    margin-bottom:18px;
    color:var(--lux-gold);
    font-size:32px;
}
.category-card h3{
    font-size:17px;
    font-weight:600;
}
.category-card p{
    color:#777;
    font-size:11px;
}
.form-layout,
.form-narrow{max-width:none}
.premium-form{
    padding:28px;
    border:1px solid #ddd4c5;
    background:#fff;
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}
.premium-form label{display:block;margin-bottom:15px}
.premium-form label>span{
    display:block;
    margin-bottom:6px;
    color:#555;
    font-size:10px;
}
.premium-form input,
.premium-form textarea,
.premium-form select{
    width:100%;
    padding:12px 13px;
    border:1px solid #d6cec0;
    background:#faf8f4;
}
.btn{
    min-height:46px;
    padding:0 19px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    font-size:11px;
    font-weight:600;
}
.btn-gold{background:var(--lux-gold);color:#111}
.btn-dark{background:#111317;color:#fff}
.text-link{font-size:11px;font-weight:600}

/* Project detail/galleries retained */
.iv-project-hero{
    position:relative;
    min-height:640px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:#111;
    color:#fff;
}
.iv-project-hero-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.iv-project-hero-shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.84));
}
.iv-project-hero-copy{
    position:relative;
    z-index:2;
    padding-top:130px;
    padding-bottom:58px;
}
.iv-back{
    display:inline-block;
    margin-bottom:25px;
    color:#ddd;
    font-size:11px;
}
.iv-project-hero-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:12px;
}
.iv-project-hero-meta span{
    padding:5px 10px;
    border:1px solid rgba(255,255,255,.25);
    font-size:9px;
}
.iv-project-hero h1{
    max-width:850px;
    margin:0 0 12px;
    font-size:54px;
    font-weight:600;
}
.rtl .iv-project-hero h1{
    font-size:44px;
    line-height:1.4;
}
.iv-project-hero p{
    max-width:680px;
    margin:0;
    color:#d0d0d0;
}
.iv-project-intro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
}
.iv-project-facts{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#ddd5c9;
}
.iv-project-facts>div{
    padding:19px;
    background:#fff;
}
.iv-project-facts span{
    display:block;
    color:#888;
    font-size:9px;
}
.iv-project-facts strong{
    display:block;
    margin-top:4px;
    font-size:12px;
}
.iv-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.iv-gallery-item{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    padding:0;
    border:0;
    background:#ddd;
}
.iv-gallery-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.iv-gallery-item>span{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.22);
    color:#fff;
    opacity:0;
}
.iv-gallery-item:hover>span{opacity:1}
.iv-lightbox{
    position:fixed;
    z-index:5000;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    padding:55px 80px;
    background:rgba(4,5,7,.97);
}
.iv-lightbox.open{display:flex}
.iv-lightbox-stage{
    width:100%;
    height:100%;
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.iv-lightbox-stage img{
    max-width:100%;
    max-height:calc(100vh - 130px);
    object-fit:contain;
}
.iv-lightbox-stage figcaption{
    min-height:24px;
    padding-top:10px;
    color:#aaa;
    font-size:10px;
}
.iv-lightbox-close,
.iv-lightbox-prev,
.iv-lightbox-next{
    position:absolute;
    z-index:2;
    color:#fff;
}
.iv-lightbox-close{
    top:18px;
    inset-inline-end:22px;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    font-size:32px;
}
.iv-lightbox-prev,
.iv-lightbox-next{
    top:50%;
    width:46px;
    height:62px;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.04);
    font-size:30px;
}
.iv-lightbox-prev{left:18px}
.iv-lightbox-next{right:18px}

/* =========================================================
   FOOTER
   ========================================================= */
.iv-footer{
    padding:58px 0 18px;
    background:#0b0d10;
    color:#a7a7a7;
}
.iv-footer-main{
    display:grid;
    grid-template-columns:1.55fr 1fr 1fr 1fr;
    gap:42px;
}
.iv-footer-logo-box{
    width:180px;
    min-height:66px;
    padding:7px 9px;
    display:flex;
    background:#f4efe6;
}
.iv-footer-logo-box img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.iv-footer-brand p{
    max-width:370px;
    margin:13px 0 0;
    color:#7d7d7d;
    font-size:11px;
    line-height:1.8;
}
.iv-footer-col{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.iv-footer-col h4{
    margin:0 0 8px;
    color:var(--lux-gold-soft);
    font-size:10px;
    font-weight:600;
}
.iv-footer-col a{
    color:#aaa;
    font-size:10px;
}
.iv-footer-col a:hover{color:#fff}
.iv-footer-bottom{
    margin-top:38px;
    padding-top:16px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#666;
    font-size:9px;
}
.iv-credit{
    display:flex;
    gap:6px;
}
.iv-credit a{
    color:var(--lux-gold-soft);
    font-weight:600;
}

/* messages */
.iv-flash{
    position:fixed;
    z-index:2600;
    top:92px;
    left:50%;
    transform:translateX(-50%);
    width:min(calc(100% - 30px),650px);
    padding:11px 15px;
    background:#14161a;
    color:#fff;
    text-align:center;
    font-size:10px;
}
.iv-flash-success{border:1px solid var(--lux-gold)}
.iv-flash-error{border:1px solid #a43a3a}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:1180px){
    .iv-desktop-nav,
    .iv-quote-button.iv-header-cta{
        display:none;
    }
    .iv-menu-button{display:block}
    .iv-nav{min-height:74px}
    .iv-logo{width:162px}
    .iv-logo-box{height:54px}
    .iv-mobile-nav{
        position:fixed;
        z-index:1490;
        top:74px;
        inset-inline:0;
        display:block;
        max-height:0;
        overflow:hidden;
        background:#111317;
        transition:max-height .28s ease;
    }
    .iv-mobile-nav.open{max-height:calc(100vh - 74px)}
    .iv-mobile-nav-inner{
        padding:15px 0 24px;
        display:flex;
        flex-direction:column;
    }
    .iv-mobile-nav-inner>a:not(.iv-language):not(.iv-quote-button){
        padding:13px 0;
        border-bottom:1px solid rgba(255,255,255,.08);
        color:#fff;
        font-size:13px;
    }
    .iv-mobile-nav-actions{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        padding-top:17px;
    }
    .lux-project-layout{
        grid-template-columns:1.1fr repeat(3,1fr);
    }
    .lux-story-card{
        grid-column:1/-1;
        min-height:190px;
    }
    .lux-trust-grid{
        grid-template-columns:repeat(4,1fr);
    }
    .lux-build-together{
        grid-column:1/-1;
        min-height:64px;
    }
    .lux-index-grid{grid-template-columns:repeat(2,1fr)}
    .category-grid{grid-template-columns:repeat(2,1fr)}
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:700px){
    body{font-size:14px}
    .iv-shell,
    .container{
        width:min(calc(100% - 28px),var(--lux-shell));
    }
    .iv-nav{min-height:66px}
    .iv-logo{width:132px}
    .iv-logo-box{height:48px}
    .iv-mobile-nav{top:66px}
    .iv-nav-divider{display:none}
    .iv-language{font-size:10px}

    .lux-hero{
        min-height:720px;
    }
    .lux-hero-image{
        object-position:center;
    }
    .lux-hero-shade,
    .rtl .lux-hero-shade{
        background:
            linear-gradient(
                180deg,
                rgba(5,7,10,.24) 0%,
                rgba(5,7,10,.64) 38%,
                rgba(5,7,10,.97) 72%,
                rgba(5,7,10,.99) 100%
            );
    }
    .lux-hero-shell,
    .rtl .lux-hero-shell{
        min-height:720px;
        grid-template-columns:1fr;
        align-items:end;
        padding-top:92px;
        padding-bottom:24px;
    }
    .lux-hero-copy,
    .rtl .lux-hero-copy{
        grid-column:1;
        padding-bottom:0;
    }
    .lux-hero-copy h1,
    .rtl .lux-hero-copy h1{
        margin-top:10px;
        font-size:42px;
        line-height:1.3;
    }
    .lux-hero-copy>p{
        max-width:none;
        font-size:12px;
    }
    .lux-hero-actions{
        gap:14px;
    }
    .lux-video-link{
        font-size:10px;
    }
    .lux-play{
        width:38px;
        height:38px;
    }
    .lux-stats{
        grid-template-columns:1fr 1fr;
        margin-top:26px;
    }
    .lux-stats>div{
        padding:13px 10px;
        border-bottom:1px solid rgba(255,255,255,.1);
    }
    .lux-stats strong{font-size:19px}
    .lux-hero-note{display:none}
    .lux-slide-index{
        display:none;
    }

    .lux-material-grid{
        grid-template-columns:1fr;
    }
    .lux-material-item{
        grid-template-columns:90px 1fr 25px;
        min-height:88px;
        padding-inline-end:14px;
        border-inline-end:0;
        border-bottom:1px solid rgba(255,255,255,.08);
    }
    .lux-material-art{height:88px}
    .lux-material-item strong{font-size:13px}

    .lux-project-showcase{
        padding-top:52px;
    }
    .lux-project-layout{
        grid-template-columns:1fr;
        gap:30px;
    }
    .lux-project-intro,
    .rtl .lux-project-intro{
        padding:0;
    }
    .lux-project-intro h2,
    .rtl .lux-project-intro h2{
        font-size:32px;
        line-height:1.35;
    }
    .lux-project-card figure{
        aspect-ratio:4/3;
    }
    .lux-project-card h3{font-size:16px}
    .lux-story-card{
        grid-column:auto;
        min-height:260px;
    }

    .lux-trust-strip{margin-top:45px}
    .lux-trust-grid{
        grid-template-columns:1fr 1fr;
    }
    .lux-trust-grid>div{
        min-height:78px;
        padding:12px;
    }
    .lux-build-together{
        grid-column:1/-1;
        min-height:62px;
    }

    .lux-inner-hero{
        padding:102px 0 48px;
    }
    .lux-inner-hero-grid{
        grid-template-columns:1fr;
        gap:17px;
    }
    .lux-inner-hero h1,
    .rtl .lux-inner-hero h1{
        font-size:36px;
    }
    .lux-inner-hero p{
        justify-self:start;
        font-size:11px;
    }

    .lux-projects-index{
        padding:48px 0 64px;
    }
    .lux-index-heading{
        align-items:flex-start;
        flex-direction:column;
    }
    .lux-index-grid{
        grid-template-columns:1fr;
        gap:30px;
    }
    .lux-index-card-body h2{font-size:17px}
    .lux-projects-cta>.iv-shell{
        align-items:flex-start;
        flex-direction:column;
    }
    .lux-projects-cta h2{font-size:24px}

    .lux-contact,
    .rtl .lux-contact{
        min-height:auto;
        background:#0d0f12;
    }
    .lux-contact-shell,
    .rtl .lux-contact-shell{
        display:flex;
        flex-direction:column;
        min-height:0;
    }
    .lux-contact-info,
    .rtl .lux-contact-info{
        order:1;
        padding:105px 0 52px;
    }
    .lux-contact-info h1,
    .rtl .lux-contact-info h1{
        font-size:35px;
        line-height:1.45;
    }
    .lux-contact-cards>a{
        grid-template-columns:90px 1fr 20px;
    }
    .lux-contact-form-wrap,
    .rtl .lux-contact-form-wrap{
        order:2;
        padding:48px 0 58px;
        margin-inline:-14px;
        padding-inline:14px;
        background:#f4efe6;
        color:#111;
    }
    .lux-form-heading h2{font-size:29px}
    .lux-form-grid{grid-template-columns:1fr}
    .lux-contact-form{max-width:none}

    .inner-hero,
    .iv-page-hero{padding:100px 0 50px}
    .two-column-content,
    .split-intro,
    .iv-project-intro{
        grid-template-columns:1fr;
        gap:35px;
    }
    .category-grid,
    .iv-gallery{
        grid-template-columns:1fr;
    }
    .form-grid{grid-template-columns:1fr}
    .large-service-card{
        grid-template-columns:1fr;
        padding:26px;
    }
    .iv-project-hero{min-height:550px}
    .iv-project-hero h1,
    .rtl .iv-project-hero h1{
        font-size:34px;
    }
    .iv-project-facts{
        grid-template-columns:1fr;
    }
    .iv-lightbox{
        padding:50px 12px 68px;
    }
    .iv-lightbox-prev,
    .iv-lightbox-next{
        top:auto;
        bottom:14px;
        width:44px;
        height:44px;
        transform:none;
    }
    .iv-lightbox-prev{left:14px}
    .iv-lightbox-next{right:14px}

    .iv-footer-main{
        grid-template-columns:1fr;
        gap:27px;
    }
    .iv-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
}

/* motion */
@media(prefers-reduced-motion:reduce){
    *{
        scroll-behavior:auto!important;
        transition:none!important;
    }
}


/* ==========================================================
   PATCH 021 — PRECISION FIXES
   ========================================================== */

/* Header is ALWAYS visible now */
.iv-header-overlay,
.iv-header-solid {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
}

/* Home hero fills the screen like approved reference */
.lux-hero {
    min-height: 100svh !important;
}

.lux-hero-shell,
.rtl .lux-hero-shell {
    min-height: 100svh !important;
    padding-top: 110px !important;
}

.lux-hero-copy {
    align-self: center !important;
    padding-bottom: 0 !important;
}

.lux-hero-copy h1 {
    font-size: clamp(70px, 6.2vw, 104px) !important;
    max-width: 650px;
}

.rtl .lux-hero-copy h1 {
    font-size: clamp(54px, 5.2vw, 82px) !important;
    max-width: 700px;
    line-height: 1.28 !important;
}

.lux-hero-copy > p {
    max-width: 570px !important;
    font-size: 15px !important;
}

.lux-stats {
    max-width: 650px;
    margin-top: 42px !important;
}

.lux-slide-index {
    display: none !important;
}

/* ======================================
   CONTACT V21
   ====================================== */

.contact-v21 {
    min-height: 100svh;
    padding-top: 84px;
    background: #0d0f12;
}

.contact-v21-grid {
    min-height: calc(100svh - 84px);
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    align-items: stretch;
}

.rtl .contact-v21-grid {
    direction: rtl;
}

.contact-v21-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 85px 70px;
    color: #fff;
}

.contact-v21-info h1 {
    max-width: 580px;
    margin: 12px 0 18px;
    color: #fff;
    font-size: clamp(42px, 4.4vw, 72px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.045em;
}

.rtl .contact-v21-info h1 {
    font-size: clamp(36px, 3.8vw, 60px);
    line-height: 1.45;
    letter-spacing: 0;
}

.contact-v21-lead {
    max-width: 560px;
    margin: 0;
    color: #a9a9a9;
    font-size: 13px;
    line-height: 2;
}

.contact-v21-details {
    margin-top: 42px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.contact-v21-details a {
    min-height: 74px;
    display: grid;
    grid-template-columns: 130px 1fr 24px;
    gap: 18px;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.contact-v21-details span {
    color: #777;
    font-size: 9px;
}

.contact-v21-details strong {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.contact-v21-details b {
    color: var(--lux-gold);
    font-size: 18px;
    font-weight: 400;
}

.contact-v21-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.contact-v21-secondary {
    min-height: 48px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.28);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
}

.contact-v21-form-card {
    align-self: center;
    margin: 60px 0;
    padding: 48px;
    background: #f4efe6;
    color: #171717;
}

.contact-v21-label {
    color: #9b6d19;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .16em;
}

.rtl .contact-v21-label {
    letter-spacing: 0;
}

.contact-v21-form-card h2 {
    margin: 7px 0 30px;
    color: #171717;
    font-size: 34px;
    font-weight: 600;
}

.contact-v21-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.contact-v21-form label {
    display: block;
    margin-bottom: 16px;
}

.contact-v21-form label > span {
    display: block;
    margin-bottom: 7px;
    color: #595959;
    font-size: 10px;
    font-weight: 600;
}

.contact-v21-form input,
.contact-v21-form textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #cfc5b5;
    background: #fff;
    color: #111;
    outline: 0;
}

.contact-v21-form input:focus,
.contact-v21-form textarea:focus {
    border-color: var(--lux-gold);
}

.contact-v21-submit {
    min-width: 190px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border: 0;
    background: #111317;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.contact-v21-submit span {
    color: var(--lux-gold);
}

/* ======================================
   PROJECT DETAIL V21
   ====================================== */

.project-v21-hero {
    padding-top: 84px;
    background: #0d0f12;
    color: #fff;
}

.project-v21-grid {
    min-height: 720px;
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    align-items: stretch;
}

.rtl .project-v21-grid {
    direction: rtl;
}

.project-v21-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px 70px 70px 0;
}

.rtl .project-v21-copy {
    padding: 70px 0 70px 70px;
}

.project-v21-back {
    width: fit-content;
    margin-bottom: 48px;
    color: #a7a7a7;
    font-size: 10px;
}

.project-v21-copy h1 {
    max-width: 620px;
    margin: 12px 0 16px;
    font-size: clamp(45px, 5vw, 74px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.rtl .project-v21-copy h1 {
    font-size: clamp(38px, 4.1vw, 62px);
    line-height: 1.42;
    letter-spacing: 0;
}

.project-v21-copy > p {
    max-width: 580px;
    margin: 0;
    color: #a9a9a9;
    font-size: 12px;
    line-height: 2;
}

.project-v21-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 45px;
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.project-v21-facts > div {
    padding: 17px 13px;
    border-inline-end: 1px solid rgba(255,255,255,.12);
}

.project-v21-facts > div:last-child {
    border-inline-end: 0;
}

.project-v21-facts span {
    display: block;
    color: #707070;
    font-size: 8px;
}

.project-v21-facts strong {
    display: block;
    margin-top: 4px;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
}

.project-v21-cover {
    position: relative;
    min-height: 720px;
    margin: 0;
    overflow: hidden;
}

.project-v21-cover img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-v21-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.6));
}

.project-v21-cover figcaption {
    position: absolute;
    z-index: 2;
    left: 25px;
    right: 25px;
    bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: #fff;
}

.project-v21-cover figcaption span {
    color: var(--lux-gold);
    font-size: 12px;
}

.project-v21-cover figcaption strong {
    font-size: 11px;
    font-weight: 500;
}

.project-v21-gallery-section {
    padding: 78px 0 88px;
    background: #f6f2ea;
}

.project-v21-gallery-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 32px;
}

.project-v21-gallery-head h2 {
    margin: 9px 0 0;
    color: #151515;
    font-size: 38px;
    font-weight: 600;
    line-height: 1.2;
}

.rtl .project-v21-gallery-head h2 {
    font-size: 32px;
    line-height: 1.5;
}

.project-v21-gallery-head p {
    max-width: 360px;
    margin: 0;
    color: #777;
    font-size: 10px;
}

.project-v21-gallery {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 12px;
}

.project-v21-gallery-item {
    position: relative;
    grid-column: span 4;
    overflow: hidden;
    min-height: 300px;
    padding: 0;
    border: 0;
    background: #ddd;
}

.project-v21-gallery-item:nth-child(8n + 1),
.project-v21-gallery-item:nth-child(8n + 6) {
    grid-column: span 8;
}

.project-v21-gallery-item img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}

.project-v21-gallery-item:hover img {
    transform: scale(1.025);
}

.project-v21-gallery-item > span {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.2);
    color: #fff;
    font-size: 24px;
    opacity: 0;
    transition: opacity .2s ease;
}

.project-v21-gallery-item:hover > span {
    opacity: 1;
}

.project-v21-related {
    padding: 72px 0 80px;
    background: #121418;
    color: #fff;
}

.project-v21-related-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
}

.project-v21-related-head h2 {
    margin: 9px 0 0;
    font-size: 32px;
    font-weight: 500;
}

.project-v21-related-head > a {
    display: flex;
    gap: 15px;
    color: #ddd;
    font-size: 10px;
}

.project-v21-related-head > a span {
    color: var(--lux-gold);
}

.project-v21-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.project-v21-related-card figure {
    margin: 0 0 12px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.project-v21-related-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.project-v21-related-card > span {
    color: var(--lux-gold-soft);
    font-size: 8px;
}

.project-v21-related-card h3 {
    margin: 4px 0 0;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}

/* ==========================================================
   MOBILE V21
   ========================================================== */

@media(max-width: 700px) {

    .lux-hero {
        min-height: 100svh !important;
    }

    .lux-hero-shell,
    .rtl .lux-hero-shell {
        min-height: 100svh !important;
        padding-top: 90px !important;
        padding-bottom: 26px !important;
    }

    .lux-hero-copy h1,
    .rtl .lux-hero-copy h1 {
        font-size: 42px !important;
        line-height: 1.35 !important;
    }

    .lux-stats {
        max-width: none;
    }

    .contact-v21 {
        padding-top: 66px;
    }

    .contact-v21-grid,
    .rtl .contact-v21-grid {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .contact-v21-info {
        padding: 65px 0 48px;
    }

    .contact-v21-info h1,
    .rtl .contact-v21-info h1 {
        font-size: 35px;
        line-height: 1.45;
    }

    .contact-v21-details a {
        grid-template-columns: 86px 1fr 20px;
    }

    .contact-v21-form-card {
        margin: 0 -14px;
        padding: 40px 14px 55px;
    }

    .contact-v21-fields {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .project-v21-hero {
        padding-top: 66px;
    }

    .project-v21-grid,
    .rtl .project-v21-grid {
        min-height: 0;
        display: flex;
        flex-direction: column-reverse;
    }

    .project-v21-cover {
        min-height: 430px;
        margin-inline: -14px;
    }

    .project-v21-copy,
    .rtl .project-v21-copy {
        padding: 48px 0 55px;
    }

    .project-v21-back {
        margin-bottom: 28px;
    }

    .project-v21-copy h1,
    .rtl .project-v21-copy h1 {
        font-size: 34px;
        line-height: 1.5;
    }

    .project-v21-facts {
        grid-template-columns: 1fr 1fr;
    }

    .project-v21-gallery-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .project-v21-gallery {
        grid-template-columns: 1fr;
    }

    .project-v21-gallery-item,
    .project-v21-gallery-item:nth-child(8n + 1),
    .project-v21-gallery-item:nth-child(8n + 6) {
        grid-column: auto;
        min-height: 260px;
    }

    .project-v21-gallery-item img {
        min-height: 260px;
    }

    .project-v21-gallery-item > span {
        opacity: 1;
        inset: auto 10px 10px auto;
        width: 38px;
        height: 38px;
        background: rgba(0,0,0,.58);
    }

    .project-v21-related-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .project-v21-related-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}


/* ==========================================================
   PATCH 022 — HOMEPAGE SCALE + VISUAL PRESENCE
   ========================================================== */

/*
 * The previous build was technically full-height but still FELT small
 * because content width, type scale, header and lower bands were too timid.
 * These rules increase visual weight only on the homepage.
 */

body.is-home .iv-shell {
    width: min(calc(100% - 64px), 1600px);
}

body.is-home .iv-nav {
    min-height: 96px;
}

body.is-home .iv-logo {
    width: 225px;
}

body.is-home .iv-logo-box {
    height: 72px;
}

body.is-home .iv-desktop-nav {
    gap: 38px;
}

body.is-home .iv-desktop-nav a {
    font-size: 14px;
    padding: 35px 0;
}

body.is-home .iv-quote-button {
    min-height: 54px;
    padding-inline: 26px;
    font-size: 13px;
}

/* Hero: bigger, deeper and more cinematic */
body.is-home .lux-hero {
    min-height: 980px !important;
    height: max(100svh, 980px);
}

body.is-home .lux-hero-image {
    transform: scale(1.025);
    object-position: center 48%;
}

body.is-home .lux-hero-shell,
body.is-home.rtl .lux-hero-shell {
    min-height: 980px !important;
    height: max(100svh, 980px);
    padding-top: 130px !important;
    padding-bottom: 54px !important;
}

body.is-home .lux-hero-shell {
    grid-template-columns: 690px 1fr !important;
}

body.is-home.rtl .lux-hero-shell {
    grid-template-columns: 1fr 690px !important;
}

body.is-home .lux-hero-copy,
body.is-home.rtl .lux-hero-copy {
    align-self: center !important;
    padding-bottom: 0 !important;
}

body.is-home .lux-overline {
    font-size: 12px;
    letter-spacing: .22em;
}

body.is-home.rtl .lux-overline {
    letter-spacing: 0;
}

body.is-home .lux-hero-copy h1 {
    max-width: 760px !important;
    margin: 20px 0 22px !important;
    font-size: clamp(88px, 7vw, 126px) !important;
    line-height: .92 !important;
}

body.is-home.rtl .lux-hero-copy h1 {
    max-width: 820px !important;
    font-size: clamp(68px, 5.9vw, 102px) !important;
    line-height: 1.2 !important;
}

body.is-home .lux-hero-copy > p {
    max-width: 640px !important;
    font-size: 17px !important;
    line-height: 2 !important;
}

body.is-home .lux-hero-actions {
    margin-top: 34px !important;
    gap: 24px !important;
}

body.is-home .lux-button {
    min-height: 56px;
    padding-inline: 27px;
    font-size: 13px;
}

body.is-home .lux-play {
    width: 50px;
    height: 50px;
}

body.is-home .lux-video-link {
    font-size: 13px;
}

body.is-home .lux-stats {
    max-width: 790px !important;
    margin-top: 52px !important;
}

body.is-home .lux-stats > div {
    padding: 20px 16px !important;
}

body.is-home .lux-stats strong {
    font-size: 29px !important;
}

body.is-home .lux-stats span {
    margin-top: 7px;
    font-size: 11px !important;
}

body.is-home .lux-hero-note {
    width: 230px !important;
    margin-top: 70px !important;
}

body.is-home .lux-hero-note p {
    font-size: 11px !important;
}

/* Material band gets more visual mass */
body.is-home .lux-material-item {
    min-height: 142px;
    grid-template-columns: 145px 1fr 32px;
    gap: 22px;
}

body.is-home .lux-material-art {
    height: 142px;
}

body.is-home .lux-material-item strong {
    font-size: 18px;
}

body.is-home .lux-material-item small {
    font-size: 10px;
}

body.is-home .lux-material-item b {
    font-size: 22px;
}

/* Featured projects — bigger and less compressed */
body.is-home .lux-project-showcase {
    padding-top: 86px;
}

body.is-home .lux-project-layout {
    grid-template-columns: 1.2fr repeat(3, 1.15fr) 1.25fr;
    gap: 24px;
}

body.is-home .lux-project-intro h2 {
    font-size: 52px;
}

body.is-home.rtl .lux-project-intro h2 {
    font-size: 44px;
}

body.is-home .lux-project-intro p {
    font-size: 13px;
}

body.is-home .lux-project-card figure {
    aspect-ratio: 1.12 / 1;
}

body.is-home .lux-project-card h3 {
    margin-top: 13px;
    font-size: 17px;
}

body.is-home .lux-project-card > div {
    font-size: 11px;
}

body.is-home .lux-story-card {
    padding: 38px 31px;
}

body.is-home .lux-story-card h3 {
    font-size: 31px;
}

body.is-home.rtl .lux-story-card h3 {
    font-size: 28px;
}

body.is-home .lux-story-card p {
    font-size: 12px;
}

/* Trust strip becomes a strong final horizontal band */
body.is-home .lux-trust-grid > div,
body.is-home .lux-build-together {
    min-height: 108px;
}

body.is-home .lux-trust-grid strong {
    font-size: 13px;
}

body.is-home .lux-trust-grid small {
    font-size: 9px;
}

body.is-home .lux-trust-icon {
    font-size: 32px;
}

/* Large desktop tuning */
@media (min-width: 1800px) {
    body.is-home .iv-shell {
        width: min(calc(100% - 90px), 1700px);
    }

    body.is-home .lux-hero-shell {
        grid-template-columns: 760px 1fr !important;
    }

    body.is-home.rtl .lux-hero-shell {
        grid-template-columns: 1fr 760px !important;
    }

    body.is-home .lux-hero-copy h1 {
        font-size: 128px !important;
    }

    body.is-home.rtl .lux-hero-copy h1 {
        font-size: 104px !important;
    }
}

/* Tablet — still substantial */
@media (max-width: 1180px) {
    body.is-home .iv-nav {
        min-height: 76px;
    }

    body.is-home .iv-logo {
        width: 168px;
    }

    body.is-home .iv-logo-box {
        height: 56px;
    }

    body.is-home .lux-hero,
    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        min-height: 860px !important;
        height: auto;
    }

    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        grid-template-columns: 1fr !important;
    }

    body.is-home .lux-hero-copy,
    body.is-home.rtl .lux-hero-copy {
        width: min(720px, 100%);
        grid-column: 1 !important;
    }

    body.is-home .lux-hero-note {
        display: none;
    }

    body.is-home .lux-project-layout {
        grid-template-columns: repeat(2, 1fr);
    }

    body.is-home .lux-project-intro,
    body.is-home .lux-story-card {
        grid-column: 1 / -1;
    }
}

/* Mobile: big, but not absurd */
@media (max-width: 700px) {
    body.is-home .iv-shell {
        width: min(calc(100% - 28px), 1600px);
    }

    body.is-home .iv-nav {
        min-height: 66px;
    }

    body.is-home .iv-logo {
        width: 132px;
    }

    body.is-home .iv-logo-box {
        height: 48px;
    }

    body.is-home .lux-hero {
        min-height: 760px !important;
        height: auto;
    }

    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        min-height: 760px !important;
        height: auto;
        padding-top: 104px !important;
        padding-bottom: 30px !important;
    }

    body.is-home .lux-hero-copy h1,
    body.is-home.rtl .lux-hero-copy h1 {
        font-size: 46px !important;
        line-height: 1.3 !important;
    }

    body.is-home .lux-hero-copy > p {
        font-size: 13px !important;
    }

    body.is-home .lux-button {
        min-height: 48px;
        padding-inline: 18px;
        font-size: 11px;
    }

    body.is-home .lux-stats {
        margin-top: 30px !important;
    }

    body.is-home .lux-stats strong {
        font-size: 21px !important;
    }

    body.is-home .lux-material-item {
        min-height: 100px;
        grid-template-columns: 98px 1fr 24px;
    }

    body.is-home .lux-material-art {
        height: 100px;
    }

    body.is-home .lux-project-layout {
        grid-template-columns: 1fr;
    }

    body.is-home .lux-project-intro,
    body.is-home .lux-story-card {
        grid-column: auto;
    }

    body.is-home .lux-project-intro h2,
    body.is-home.rtl .lux-project-intro h2 {
        font-size: 34px;
    }

    body.is-home .lux-project-card h3 {
        font-size: 17px;
    }
}


/* ==========================================================
   PATCH 023 — LOGO + LONG HOMEPAGE
   ========================================================== */

/* ----------------------------------------------------------
   LOGO: remove the cream/white box completely.
   The filter converts dark artwork to white while keeping
   the gold family close to the brand palette.
   ---------------------------------------------------------- */

.iv-logo-box {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
}

.iv-logo-box img {
    width: 100% !important;
    height: auto !important;
    max-height: 70px !important;
    object-fit: contain !important;

    filter:
        invert(1)
        hue-rotate(180deg)
        saturate(.95)
        brightness(1.08);
}

.iv-footer-logo-box {
    background: transparent !important;
    padding: 0 !important;
}

.iv-footer-logo-box img {
    filter:
        invert(1)
        hue-rotate(180deg)
        saturate(.95)
        brightness(1.08);
}

/* ----------------------------------------------------------
   Make sure PATCH 022 does not force an artificial 980px
   hero on normal desktop. The hero fills one screen; the
   PAGE itself becomes long through real content sections.
   ---------------------------------------------------------- */

body.is-home .lux-hero {
    min-height: 100svh !important;
    height: auto !important;
}

body.is-home .lux-hero-shell,
body.is-home.rtl .lux-hero-shell {
    min-height: 100svh !important;
    height: auto !important;
}

/* ==========================================================
   ABOUT
   ========================================================== */

.home-about-v23 {
    padding: 120px 0 105px;
    background: #f6f2ea;
    color: #171717;
}

.home-about-v23-grid {
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 110px;
    align-items: start;
}

.home-about-v23-title h2 {
    max-width: 720px;
    margin: 15px 0 0;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: clamp(48px, 4.8vw, 74px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.05em;
}

.rtl .home-about-v23-title h2 {
    font-family: "Readex Pro", Tahoma, sans-serif;
    font-size: clamp(39px, 4vw, 61px);
    line-height: 1.42;
    letter-spacing: 0;
}

.home-about-v23-title h2 span {
    display: block;
    color: #ad771c;
}

.home-about-v23-copy {
    padding-top: 32px;
}

.home-about-v23-copy p {
    max-width: 620px;
    margin: 0;
    color: #5d5d5d;
    font-size: 16px;
    line-height: 2.05;
}

.home-line-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    color: #151515;
    font-size: 12px;
    font-weight: 600;
}

.home-line-link span {
    color: #a66f13;
    font-size: 18px;
}

.home-about-v23-numbers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 80px;
    border-top: 1px solid #d4ccbf;
    border-bottom: 1px solid #d4ccbf;
}

.home-about-v23-numbers > div {
    min-height: 145px;
    padding: 27px 25px;
    border-inline-end: 1px solid #d4ccbf;
}

.home-about-v23-numbers > div:last-child {
    border-inline-end: 0;
}

.home-about-v23-numbers strong {
    display: block;
    color: #171717;
    font-size: 31px;
    font-weight: 500;
}

.home-about-v23-numbers span {
    display: block;
    margin-top: 11px;
    color: #777;
    font-size: 11px;
}

/* ==========================================================
   SERVICES
   ========================================================== */

.home-services-v23 {
    padding: 115px 0 125px;
    background: #0e1013;
    color: #fff;
}

.home-section-heading-v23 {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 60px;
    margin-bottom: 55px;
}

.home-section-heading-v23 h2 {
    max-width: 760px;
    margin: 12px 0 0;
    color: #fff;
    font-size: clamp(39px, 4vw, 60px);
    font-weight: 500;
    line-height: 1.17;
    letter-spacing: -.04em;
}

.rtl .home-section-heading-v23 h2 {
    font-size: clamp(34px, 3.5vw, 51px);
    line-height: 1.5;
    letter-spacing: 0;
}

.home-section-heading-v23 > a {
    display: inline-flex;
    align-items: center;
    gap: 17px;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(255,255,255,.28);
    color: #ddd;
    font-size: 11px;
}

.home-section-heading-v23 > a span {
    color: var(--lux-gold);
    font-size: 18px;
}

.home-services-v23-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255,255,255,.12);
    border-inline-start: 1px solid rgba(255,255,255,.12);
}

.home-service-v23 {
    position: relative;
    min-height: 380px;
    padding: 32px 29px;
    border-inline-end: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.home-service-v23-index {
    color: #666;
    font-size: 10px;
}

.home-service-v23 h3 {
    margin: 100px 0 17px;
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.45;
}

.home-service-v23 p {
    margin: 0;
    color: #888;
    font-size: 12px;
    line-height: 1.9;
}

.home-service-v23 > a {
    position: absolute;
    inset-inline-end: 28px;
    bottom: 27px;
    color: var(--lux-gold);
    font-size: 24px;
}

/* ==========================================================
   SUPPLY & APPLY
   ========================================================== */

.home-supply-v23 {
    min-height: 760px;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    background: #16181c;
    color: #fff;
}

.rtl .home-supply-v23 {
    direction: rtl;
}

.home-supply-v23-image {
    min-height: 760px;
    overflow: hidden;
}

.home-supply-v23-image img {
    width: 100%;
    height: 100%;
    min-height: 760px;
    display: block;
    object-fit: cover;
}

.home-supply-v23-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px clamp(45px, 6vw, 110px);
}

.home-supply-v23-copy h2 {
    max-width: 620px;
    margin: 14px 0 20px;
    color: #fff;
    font-size: clamp(42px, 4.4vw, 66px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.rtl .home-supply-v23-copy h2 {
    font-size: clamp(35px, 3.7vw, 55px);
    line-height: 1.47;
    letter-spacing: 0;
}

.home-supply-v23-copy > p {
    max-width: 580px;
    margin: 0;
    color: #999;
    font-size: 14px;
    line-height: 2;
}

.home-supply-v23-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 38px 0 34px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.home-supply-v23-list > div {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 15px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.home-supply-v23-list > div:nth-child(odd) {
    padding-inline-end: 25px;
    border-inline-end: 1px solid rgba(255,255,255,.12);
}

.home-supply-v23-list > div:nth-child(even) {
    padding-inline-start: 25px;
}

.home-supply-v23-list span {
    color: var(--lux-gold);
    font-size: 9px;
}

.home-supply-v23-list strong {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
}

/* ==========================================================
   VALUES
   ========================================================== */

.home-values-v23 {
    padding: 120px 0 125px;
    background: #f7f4ee;
}

.home-section-heading-v23-dark h2 {
    color: #141414;
}

.home-values-v23-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 45px;
    border-top: 1px solid #d8d0c4;
    border-inline-start: 1px solid #d8d0c4;
}

.home-values-v23-grid article {
    min-height: 300px;
    padding: 35px 28px;
    border-inline-end: 1px solid #d8d0c4;
    border-bottom: 1px solid #d8d0c4;
}

.home-values-v23-grid article > span {
    color: #b67d1c;
    font-size: 36px;
}

.home-values-v23-grid h3 {
    margin: 80px 0 12px;
    color: #161616;
    font-size: 20px;
    font-weight: 500;
}

.home-values-v23-grid p {
    margin: 0;
    color: #777;
    font-size: 12px;
    line-height: 1.9;
}

/* ==========================================================
   FINAL CTA
   ========================================================== */

.home-final-v23 {
    padding: 100px 0;
    background:
        linear-gradient(110deg,#0b0d10 0%,#15181c 65%,#1d2025 100%);
    color: #fff;
}

.home-final-v23-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    align-items: end;
    gap: 70px;
}

.home-final-v23 h2 {
    max-width: 900px;
    margin: 13px 0 0;
    color: #fff;
    font-size: clamp(43px, 4.8vw, 72px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.rtl .home-final-v23 h2 {
    font-size: clamp(36px, 4vw, 59px);
    line-height: 1.45;
    letter-spacing: 0;
}

.home-final-v23-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 25px;
}

.home-final-v23-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #ddd;
    font-size: 12px;
}

.home-final-v23-link span {
    color: var(--lux-gold);
    font-size: 18px;
}

/* ==========================================================
   HOME MOBILE
   ========================================================== */

@media(max-width: 1180px) {

    .home-about-v23-grid {
        gap: 60px;
    }

    .home-services-v23-grid,
    .home-values-v23-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-supply-v23 {
        grid-template-columns: 1fr 1fr;
    }

    .home-final-v23-grid {
        grid-template-columns: 1fr;
    }

    .home-final-v23-actions {
        justify-content: flex-start;
    }
}

@media(max-width: 700px) {

    .iv-logo-box img {
        max-height: 48px !important;
    }

    .home-about-v23,
    .home-services-v23,
    .home-values-v23 {
        padding: 72px 0;
    }

    .home-about-v23-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .home-about-v23-title h2,
    .rtl .home-about-v23-title h2 {
        font-size: 34px;
        line-height: 1.45;
    }

    .home-about-v23-copy {
        padding-top: 0;
    }

    .home-about-v23-copy p {
        font-size: 13px;
    }

    .home-about-v23-numbers {
        grid-template-columns: 1fr 1fr;
        margin-top: 50px;
    }

    .home-about-v23-numbers > div {
        min-height: 110px;
        padding: 20px 15px;
        border-bottom: 1px solid #d4ccbf;
    }

    .home-about-v23-numbers strong {
        font-size: 24px;
    }

    .home-section-heading-v23 {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
        margin-bottom: 35px;
    }

    .home-section-heading-v23 h2,
    .rtl .home-section-heading-v23 h2 {
        font-size: 31px;
        line-height: 1.5;
    }

    .home-services-v23-grid,
    .home-values-v23-grid {
        grid-template-columns: 1fr;
    }

    .home-service-v23 {
        min-height: 260px;
        padding: 25px 22px;
    }

    .home-service-v23 h3 {
        margin-top: 55px;
        font-size: 20px;
    }

    .home-supply-v23 {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .home-supply-v23-image,
    .home-supply-v23-image img {
        min-height: 390px;
        height: 390px;
    }

    .home-supply-v23-copy {
        padding: 60px 14px 68px;
    }

    .home-supply-v23-copy h2,
    .rtl .home-supply-v23-copy h2 {
        font-size: 32px;
        line-height: 1.5;
    }

    .home-supply-v23-list {
        grid-template-columns: 1fr;
    }

    .home-supply-v23-list > div:nth-child(odd),
    .home-supply-v23-list > div:nth-child(even) {
        padding-inline: 0;
        border-inline-end: 0;
    }

    .home-values-v23-grid article {
        min-height: 240px;
        padding: 28px 22px;
    }

    .home-values-v23-grid h3 {
        margin-top: 48px;
    }

    .home-final-v23 {
        padding: 72px 0;
    }

    .home-final-v23-grid {
        gap: 38px;
    }

    .home-final-v23 h2,
    .rtl .home-final-v23 h2 {
        font-size: 32px;
        line-height: 1.5;
    }
}


/* ==========================================================
   PATCH 024 — SMALLER HOMEPAGE HERO / SLIDER
   ========================================================== */

body.is-home .lux-hero {
    min-height: 820px !important;
    height: auto !important;
}

body.is-home .lux-hero-shell,
body.is-home.rtl .lux-hero-shell {
    min-height: 820px !important;
    height: auto !important;
    padding-top: 110px !important;
    padding-bottom: 34px !important;
}

body.is-home .lux-hero-image {
    object-position: center 46%;
}

body.is-home .lux-hero-copy h1 {
    max-width: 680px !important;
    font-size: clamp(74px, 5.8vw, 98px) !important;
    line-height: .95 !important;
    margin: 16px 0 18px !important;
}

body.is-home.rtl .lux-hero-copy h1 {
    max-width: 740px !important;
    font-size: clamp(58px, 4.8vw, 80px) !important;
    line-height: 1.18 !important;
    margin: 16px 0 18px !important;
}

body.is-home .lux-hero-copy > p {
    max-width: 620px !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
}

body.is-home .lux-hero-actions {
    margin-top: 26px !important;
}

body.is-home .lux-stats {
    margin-top: 34px !important;
    max-width: 720px !important;
}

body.is-home .lux-stats > div {
    padding: 16px 14px !important;
}

body.is-home .lux-stats strong {
    font-size: 25px !important;
}

body.is-home .lux-stats span {
    font-size: 10px !important;
}

body.is-home .lux-hero-note {
    margin-top: 38px !important;
    width: 200px !important;
}

@media (min-width: 1500px) {
    body.is-home .lux-hero,
    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        min-height: 860px !important;
    }
}

@media (max-width: 1180px) {
    body.is-home .lux-hero,
    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        min-height: 740px !important;
    }

    body.is-home .lux-hero-copy h1,
    body.is-home.rtl .lux-hero-copy h1 {
        font-size: 54px !important;
        line-height: 1.24 !important;
    }

    body.is-home .lux-stats {
        max-width: 100% !important;
    }
}

@media (max-width: 700px) {
    body.is-home .lux-hero,
    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        min-height: 620px !important;
        padding-top: 92px !important;
        padding-bottom: 24px !important;
    }

    body.is-home .lux-hero-copy h1,
    body.is-home.rtl .lux-hero-copy h1 {
        font-size: 40px !important;
        line-height: 1.32 !important;
    }

    body.is-home .lux-hero-copy > p {
        font-size: 13px !important;
    }

    body.is-home .lux-stats {
        margin-top: 24px !important;
    }

    body.is-home .lux-stats strong {
        font-size: 19px !important;
    }

    body.is-home .lux-hero-note {
        display: none !important;
    }
}


/* ==========================================================
   PATCH 025 — COMPACT HOMEPAGE HERO
   Target: ~650px desktop instead of near full-screen.
   Homepage remains long because all lower sections stay intact.
   ========================================================== */

body.is-home .lux-hero {
    min-height: 650px !important;
    height: 650px !important;
}

body.is-home .lux-hero-shell,
body.is-home.rtl .lux-hero-shell {
    min-height: 650px !important;
    height: 650px !important;
    padding-top: 92px !important;
    padding-bottom: 24px !important;
}

body.is-home .lux-hero-copy {
    align-self: center !important;
}

body.is-home .lux-hero-copy h1 {
    max-width: 620px !important;
    margin: 12px 0 14px !important;
    font-size: clamp(62px, 4.8vw, 82px) !important;
    line-height: .96 !important;
}

body.is-home.rtl .lux-hero-copy h1 {
    max-width: 680px !important;
    margin: 12px 0 14px !important;
    font-size: clamp(50px, 4vw, 68px) !important;
    line-height: 1.18 !important;
}

body.is-home .lux-hero-copy > p {
    max-width: 570px !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
}

body.is-home .lux-hero-actions {
    margin-top: 20px !important;
}

body.is-home .lux-button {
    min-height: 46px !important;
    padding-inline: 20px !important;
    font-size: 11px !important;
}

body.is-home .lux-play {
    width: 42px !important;
    height: 42px !important;
}

body.is-home .lux-video-link {
    font-size: 11px !important;
}

body.is-home .lux-stats {
    max-width: 650px !important;
    margin-top: 24px !important;
}

body.is-home .lux-stats > div {
    padding: 12px 10px !important;
}

body.is-home .lux-stats strong {
    font-size: 20px !important;
}

body.is-home .lux-stats span {
    margin-top: 4px !important;
    font-size: 9px !important;
}

body.is-home .lux-hero-note {
    margin-top: 20px !important;
    width: 175px !important;
}

body.is-home .lux-hero-note p {
    font-size: 9px !important;
}

/* Keep image composition readable in the shorter hero */
body.is-home .lux-hero-image {
    object-position: center 48% !important;
}

/* Tablet */
@media (max-width: 1180px) {
    body.is-home .lux-hero,
    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        min-height: 610px !important;
        height: 610px !important;
    }

    body.is-home .lux-hero-copy h1,
    body.is-home.rtl .lux-hero-copy h1 {
        font-size: 48px !important;
        line-height: 1.22 !important;
    }

    body.is-home .lux-hero-note {
        display: none !important;
    }
}

/* Mobile */
@media (max-width: 700px) {
    body.is-home .lux-hero {
        min-height: 540px !important;
        height: auto !important;
    }

    body.is-home .lux-hero-shell,
    body.is-home.rtl .lux-hero-shell {
        min-height: 540px !important;
        height: auto !important;
        padding-top: 82px !important;
        padding-bottom: 20px !important;
    }

    body.is-home .lux-hero-copy h1,
    body.is-home.rtl .lux-hero-copy h1 {
        font-size: 36px !important;
        line-height: 1.3 !important;
    }

    body.is-home .lux-hero-copy > p {
        font-size: 12px !important;
    }

    body.is-home .lux-stats {
        margin-top: 18px !important;
    }

    body.is-home .lux-stats strong {
        font-size: 17px !important;
    }

    body.is-home .lux-stats span {
        font-size: 8px !important;
    }
}


/* ==========================================================
   PATCH 026 — REAL HERO SLIDER + HOME CLEANUP
   ========================================================== */

.lux-hero-slider {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.lux-hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 48%;
    opacity: 0;
    transform: scale(1.025);
    transition:
        opacity .9s ease,
        transform 7s ease;
    pointer-events: none;
}

.lux-hero-slide.is-active {
    opacity: 1;
    transform: scale(1.075);
}

.lux-slider-controls {
    position: absolute;
    z-index: 5;
    inset-inline-start: 0;
    bottom: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.lux-slider-dots {
    display: flex;
    align-items: center;
    gap: 5px;
}

.lux-slider-dot {
    min-width: 38px;
    height: 30px;
    padding: 0 6px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.22);
    background: transparent;
    color: rgba(255,255,255,.55);
    font-size: 8px;
    transition: .2s ease;
}

.lux-slider-dot.is-active {
    border-bottom-color: var(--lux-gold);
    color: var(--lux-gold-soft);
}

.lux-slider-arrow {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.23);
    background: rgba(7,9,12,.25);
    color: #fff;
    font-size: 18px;
    line-height: 1;
}

.lux-slider-arrow:hover {
    border-color: var(--lux-gold);
    color: var(--lux-gold-soft);
}

body.is-home .lux-stats {
    margin-bottom: 38px !important;
}

body.is-home .home-about-v23 {
    margin: 0 !important;
    min-height: 0 !important;
    padding-top: 74px !important;
    padding-bottom: 76px !important;
}

body.is-home .home-about-v23-grid {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.is-home .home-about-v23-title,
body.is-home .home-about-v23-copy {
    min-height: 0 !important;
}

body.is-home .home-about-v23-numbers {
    margin-top: 48px !important;
}

body.is-home .home-services-v23 {
    padding-top: 82px !important;
    padding-bottom: 90px !important;
}

body.is-home .lux-project-showcase {
    padding-top: 68px !important;
    padding-bottom: 0 !important;
}

body.is-home .home-values-v23 {
    padding-top: 84px !important;
    padding-bottom: 90px !important;
}

@media (max-width: 700px) {
    .lux-slider-controls {
        inset-inline-start: 0;
        bottom: 10px;
        gap: 5px;
    }

    .lux-slider-arrow {
        width: 28px;
        height: 28px;
    }

    .lux-slider-dot {
        min-width: 24px;
        height: 26px;
        padding: 0 3px;
        font-size: 7px;
    }

    body.is-home .lux-stats {
        margin-bottom: 42px !important;
    }

    body.is-home .home-about-v23 {
        padding-top: 58px !important;
        padding-bottom: 58px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lux-hero-slide,
    .lux-hero-slide.is-active {
        transition: none !important;
        transform: none !important;
    }
}


/* ==========================================================
   PATCH 027 — ABOUT + SERVICES
   ========================================================== */

/* ---------------- ABOUT HERO ---------------- */

.about-v27-hero {
    padding-top: 84px;
    background: #0d0f12;
    color: #fff;
}

.about-v27-hero-grid {
    min-height: 720px;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: stretch;
}

.rtl .about-v27-hero-grid {
    direction: rtl;
}

.about-v27-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px 75px 70px 0;
}

.rtl .about-v27-copy {
    padding: 70px 0 70px 75px;
}

.about-v27-copy h1 {
    max-width: 650px;
    margin: 13px 0 18px;
    color: #fff;
    font-size: clamp(48px, 5vw, 76px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.rtl .about-v27-copy h1 {
    font-size: clamp(40px, 4.2vw, 64px);
    line-height: 1.42;
    letter-spacing: 0;
}

.about-v27-copy h1 span {
    color: var(--lux-gold);
}

.about-v27-copy > p {
    max-width: 580px;
    margin: 0;
    color: #a5a5a5;
    font-size: 13px;
    line-height: 2;
}

.about-v27-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 42px;
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.about-v27-metrics > div {
    padding: 18px 14px;
    border-inline-end: 1px solid rgba(255,255,255,.12);
}

.about-v27-metrics > div:last-child {
    border-inline-end: 0;
}

.about-v27-metrics strong {
    display: block;
    color: #fff;
    font-size: 23px;
    font-weight: 500;
}

.about-v27-metrics span {
    display: block;
    margin-top: 5px;
    color: #777;
    font-size: 9px;
}

.about-v27-hero-image {
    position: relative;
    min-height: 720px;
    margin: 0;
    overflow: hidden;
}

.about-v27-hero-image img {
    width: 100%;
    height: 100%;
    min-height: 720px;
    display: block;
    object-fit: cover;
}

.about-v27-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,transparent 58%,rgba(0,0,0,.68));
}

.about-v27-hero-image figcaption {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 22px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: #fff;
}

.about-v27-hero-image figcaption span {
    color: var(--lux-gold-soft);
    font-size: 10px;
}

.about-v27-hero-image figcaption strong {
    font-size: 11px;
    font-weight: 500;
}

/* ---------------- ABOUT STORY ---------------- */

.about-v27-story {
    padding: 100px 0;
    background: #f6f2ea;
}

.about-v27-story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
}

.about-v27-story-title h2 {
    max-width: 650px;
    margin: 12px 0 0;
    font-size: clamp(40px,4.3vw,64px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.rtl .about-v27-story-title h2 {
    font-size: clamp(35px,3.7vw,55px);
    line-height: 1.5;
    letter-spacing: 0;
}

.about-v27-story-copy p {
    margin: 0 0 20px;
    color: #5f5f5f;
    font-size: 14px;
    line-height: 2;
}

/* ---------------- ABOUT SPLIT ---------------- */

.about-v27-split {
    min-height: 720px;
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    background: #16181c;
    color: #fff;
}

.rtl .about-v27-split {
    direction: rtl;
}

.about-v27-split-image {
    min-height: 720px;
    overflow: hidden;
}

.about-v27-split-image img {
    width: 100%;
    height: 100%;
    min-height: 720px;
    display: block;
    object-fit: cover;
}

.about-v27-split-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 75px clamp(45px,6vw,105px);
}

.about-v27-split-copy h2 {
    max-width: 620px;
    margin: 13px 0 18px;
    font-size: clamp(41px,4.4vw,65px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.rtl .about-v27-split-copy h2 {
    font-size: clamp(35px,3.7vw,54px);
    line-height: 1.47;
    letter-spacing: 0;
}

.about-v27-split-copy > p {
    max-width: 560px;
    margin: 0;
    color: #969696;
    font-size: 13px;
    line-height: 2;
}

.about-v27-process {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 35px 0 30px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.about-v27-process > div {
    padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.about-v27-process > div:nth-child(odd) {
    padding-inline-end: 24px;
    border-inline-end: 1px solid rgba(255,255,255,.12);
}

.about-v27-process > div:nth-child(even) {
    padding-inline-start: 24px;
}

.about-v27-process span {
    color: var(--lux-gold);
    font-size: 8px;
}

.about-v27-process strong {
    display: block;
    margin-top: 4px;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
}

/* ---------------- ABOUT VALUES ---------------- */

.about-v27-values {
    padding: 95px 0 105px;
    background: #fff;
}

.about-v27-heading h2 {
    max-width: 720px;
    margin: 10px 0 0;
    font-size: clamp(38px,4vw,58px);
    font-weight: 500;
    line-height: 1.15;
}

.rtl .about-v27-heading h2 {
    font-size: clamp(33px,3.4vw,50px);
    line-height: 1.5;
}

.about-v27-values-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-top: 42px;
    border-top: 1px solid #ddd6ca;
    border-inline-start: 1px solid #ddd6ca;
}

.about-v27-values-grid article {
    min-height: 285px;
    padding: 28px 24px;
    border-inline-end: 1px solid #ddd6ca;
    border-bottom: 1px solid #ddd6ca;
}

.about-v27-values-grid article > span {
    color: #a46f15;
    font-size: 10px;
}

.about-v27-values-grid h3 {
    margin: 78px 0 10px;
    font-size: 20px;
    font-weight: 500;
}

.about-v27-values-grid p {
    margin: 0;
    color: #777;
    font-size: 11px;
    line-height: 1.9;
}

/* ---------------- ABOUT CTA ---------------- */

.about-v27-cta {
    padding: 72px 0;
    background: #0e1013;
    color: #fff;
}

.about-v27-cta-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.about-v27-cta h2 {
    max-width: 770px;
    margin: 10px 0 0;
    font-size: clamp(35px,3.8vw,55px);
    font-weight: 500;
    line-height: 1.18;
}

.rtl .about-v27-cta h2 {
    font-size: clamp(31px,3.3vw,47px);
    line-height: 1.5;
}

/* ==========================================================
   SERVICES
   ========================================================== */

.services-v27-hero {
    padding: 145px 0 80px;
    background: #0d0f12;
    color: #fff;
}

.services-v27-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 80px;
    align-items: end;
}

.services-v27-hero h1 {
    max-width: 780px;
    margin: 12px 0 0;
    font-size: clamp(48px,5vw,76px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.rtl .services-v27-hero h1 {
    font-size: clamp(40px,4.2vw,63px);
    line-height: 1.42;
    letter-spacing: 0;
}

.services-v27-hero-grid > p {
    max-width: 520px;
    margin: 0;
    justify-self: end;
    color: #a5a5a5;
    font-size: 13px;
    line-height: 2;
}

.services-v27-list {
    padding: 55px 0 80px;
    background: #f7f4ee;
}

.services-v27-row {
    display: grid;
    grid-template-columns: 80px 1fr 50px;
    align-items: center;
    gap: 28px;
    min-height: 170px;
    border-bottom: 1px solid #d7d0c5;
}

.services-v27-row:first-child {
    border-top: 1px solid #d7d0c5;
}

.services-v27-number {
    color: #a06d16;
    font-size: 10px;
}

.services-v27-content {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 60px;
    align-items: center;
}

.services-v27-content h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 500;
}

.services-v27-content p {
    max-width: 600px;
    margin: 0;
    color: #747474;
    font-size: 12px;
    line-height: 1.9;
}

.services-v27-arrow {
    color: #ac7518;
    font-size: 23px;
}

/* ---------------- SERVICES MODEL ---------------- */

.services-v27-model {
    padding: 100px 0;
    background: #17191d;
    color: #fff;
}

.services-v27-model-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
}

.services-v27-model-title h2 {
    max-width: 650px;
    margin: 12px 0 0;
    font-size: clamp(40px,4.3vw,64px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.rtl .services-v27-model-title h2 {
    font-size: clamp(34px,3.6vw,53px);
    line-height: 1.5;
    letter-spacing: 0;
}

.services-v27-model-steps {
    border-top: 1px solid rgba(255,255,255,.12);
}

.services-v27-model-steps > div {
    display: grid;
    grid-template-columns: 45px 180px 1fr;
    gap: 22px;
    align-items: start;
    padding: 22px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.services-v27-model-steps span {
    color: var(--lux-gold);
    font-size: 9px;
}

.services-v27-model-steps strong {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
}

.services-v27-model-steps p {
    margin: 0;
    color: #878787;
    font-size: 11px;
    line-height: 1.8;
}

/* ---------------- SERVICES SECTORS ---------------- */

.services-v27-sectors {
    padding: 95px 0;
    background: #fff;
}

.services-v27-heading h2 {
    max-width: 700px;
    margin: 10px 0 0;
    font-size: clamp(38px,4vw,58px);
    font-weight: 500;
}

.rtl .services-v27-heading h2 {
    font-size: clamp(33px,3.4vw,49px);
    line-height: 1.5;
}

.services-v27-sectors-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-top: 40px;
    border-top: 1px solid #ddd5c9;
    border-inline-start: 1px solid #ddd5c9;
}

.services-v27-sectors-grid > div {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 25px;
    border-inline-end: 1px solid #ddd5c9;
    border-bottom: 1px solid #ddd5c9;
}

.services-v27-sectors-grid strong {
    font-size: 18px;
    font-weight: 500;
}

.services-v27-sectors-grid span {
    color: #a06d16;
    font-size: 10px;
}

/* ---------------- SERVICES CTA ---------------- */

.services-v27-cta {
    padding: 75px 0;
    background: #d8a94f;
    color: #111;
}

.services-v27-cta-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 55px;
}

.services-v27-cta .lux-overline {
    color: #5d4314;
}

.services-v27-cta h2 {
    max-width: 780px;
    margin: 10px 0 0;
    font-size: clamp(34px,3.6vw,52px);
    font-weight: 600;
    line-height: 1.18;
}

.rtl .services-v27-cta h2 {
    font-size: clamp(30px,3.2vw,46px);
    line-height: 1.5;
}

.services-v27-cta .lux-button-gold {
    background: #111317;
    color: #fff;
}

.services-v27-cta-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.services-v27-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #111;
    font-size: 11px;
    font-weight: 600;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width: 1000px) {

    .about-v27-hero-grid,
    .about-v27-story-grid,
    .services-v27-hero-grid,
    .services-v27-model-grid {
        grid-template-columns: 1fr;
    }

    .about-v27-hero-image {
        min-height: 520px;
    }

    .about-v27-hero-image img {
        min-height: 520px;
    }

    .about-v27-values-grid,
    .services-v27-sectors-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .services-v27-content {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

@media(max-width: 700px) {

    .about-v27-hero {
        padding-top: 66px;
    }

    .about-v27-hero-grid {
        display: flex;
        flex-direction: column-reverse;
        min-height: 0;
    }

    .about-v27-copy,
    .rtl .about-v27-copy {
        padding: 50px 0 58px;
    }

    .about-v27-copy h1,
    .rtl .about-v27-copy h1 {
        font-size: 35px;
        line-height: 1.5;
    }

    .about-v27-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .about-v27-hero-image,
    .about-v27-hero-image img {
        min-height: 390px;
        height: 390px;
    }

    .about-v27-story {
        padding: 65px 0;
    }

    .about-v27-story-grid {
        gap: 30px;
    }

    .about-v27-story-title h2,
    .rtl .about-v27-story-title h2 {
        font-size: 31px;
        line-height: 1.5;
    }

    .about-v27-split {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .about-v27-split-image,
    .about-v27-split-image img {
        min-height: 390px;
        height: 390px;
    }

    .about-v27-split-copy {
        padding: 58px 14px 65px;
    }

    .about-v27-split-copy h2,
    .rtl .about-v27-split-copy h2 {
        font-size: 31px;
        line-height: 1.5;
    }

    .about-v27-process {
        grid-template-columns: 1fr;
    }

    .about-v27-process > div:nth-child(odd),
    .about-v27-process > div:nth-child(even) {
        padding-inline: 0;
        border-inline-end: 0;
    }

    .about-v27-values {
        padding: 65px 0 72px;
    }

    .about-v27-values-grid {
        grid-template-columns: 1fr;
    }

    .about-v27-values-grid article {
        min-height: 230px;
    }

    .about-v27-values-grid h3 {
        margin-top: 50px;
    }

    .about-v27-cta-grid,
    .services-v27-cta-grid {
        align-items: flex-start;
        flex-direction: column;
    }

    .services-v27-hero {
        padding: 105px 0 50px;
    }

    .services-v27-hero-grid {
        gap: 25px;
    }

    .services-v27-hero h1,
    .rtl .services-v27-hero h1 {
        font-size: 35px;
        line-height: 1.5;
    }

    .services-v27-hero-grid > p {
        justify-self: start;
    }

    .services-v27-list {
        padding: 35px 0 55px;
    }

    .services-v27-row {
        grid-template-columns: 35px 1fr 25px;
        gap: 15px;
        min-height: 150px;
    }

    .services-v27-content h2 {
        font-size: 21px;
    }

    .services-v27-model {
        padding: 65px 0;
    }

    .services-v27-model-grid {
        gap: 35px;
    }

    .services-v27-model-title h2,
    .rtl .services-v27-model-title h2 {
        font-size: 31px;
        line-height: 1.5;
    }

    .services-v27-model-steps > div {
        grid-template-columns: 30px 1fr;
    }

    .services-v27-model-steps p {
        grid-column: 2;
    }

    .services-v27-sectors {
        padding: 65px 0;
    }

    .services-v27-sectors-grid {
        grid-template-columns: 1fr 1fr;
    }

    .services-v27-sectors-grid > div {
        min-height: 145px;
        padding: 18px;
    }
}


/* ==========================================================
   PATCH 030 — PRODUCTS + CATEGORIES
   ========================================================== */

.products-v30-hero {
    padding: 145px 0 82px;
    background: #0d0f12;
    color: #fff;
}

.products-v30-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 90px;
    align-items: end;
}

.products-v30-hero h1 {
    max-width: 760px;
    margin: 12px 0 0;
    color: #fff;
    font-size: clamp(49px,5vw,77px);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -.05em;
}

.products-v30-hero h1 span {
    display: block;
    color: var(--lux-gold);
}

.rtl .products-v30-hero h1 {
    font-size: clamp(40px,4.2vw,64px);
    line-height: 1.42;
    letter-spacing: 0;
}

.products-v30-hero-copy {
    justify-self: end;
    max-width: 520px;
}

.products-v30-hero-copy > p {
    margin: 0;
    color: #a8a8a8;
    font-size: 13px;
    line-height: 2;
}

.products-v30-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 28px;
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.products-v30-summary > div {
    padding: 16px 15px;
    border-inline-end: 1px solid rgba(255,255,255,.12);
}

.products-v30-summary > div:last-child {
    border-inline-end: 0;
}

.products-v30-summary strong {
    display: block;
    color: #fff;
    font-size: 23px;
    font-weight: 500;
}

.products-v30-summary span {
    display: block;
    margin-top: 4px;
    color: #777;
    font-size: 9px;
}

/* categories */
.products-v30-categories {
    padding: 90px 0 100px;
    background: #f6f2ea;
}

.products-v30-section-head {
    display: grid;
    grid-template-columns: 1fr .8fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 42px;
}

.products-v30-section-head h2 {
    max-width: 700px;
    margin: 10px 0 0;
    color: #161616;
    font-size: clamp(38px,4vw,59px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.04em;
}

.rtl .products-v30-section-head h2 {
    font-size: clamp(33px,3.4vw,50px);
    line-height: 1.5;
    letter-spacing: 0;
}

.products-v30-section-head > p {
    max-width: 500px;
    margin: 0;
    justify-self: end;
    color: #717171;
    font-size: 11px;
    line-height: 1.9;
}

.products-v30-category-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}

.products-v30-category-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #ddd5c9;
}

.products-v30-category-art {
    position: relative;
    height: 260px;
    overflow: hidden;
}

.products-v30-category-art img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.products-v30-art-stone {
    background:
        linear-gradient(135deg,#e9e2d8 0 26%,#c7baaa 27% 30%,#f5f0e9 31% 60%,#cdbfae 61% 64%,#e6ddd1 65%);
}

.products-v30-art-wood {
    background:
        repeating-linear-gradient(
            102deg,
            #a77648 0 14px,
            #d6a46e 14px 31px,
            #bd8754 31px 38px,
            #e0b37c 38px 55px
        );
}

.products-v30-art-sanitary {
    background:
        radial-gradient(circle at 53% 55%,#fbfaf7 0 21%,#b5b1aa 22% 24%,transparent 25%),
        linear-gradient(140deg,#d9d5ce,#85817c);
}

.products-v30-art-interior {
    background:
        linear-gradient(90deg,#7d634e 0 10%,#c6a98a 10% 20%,#8d7158 20% 30%,#d8c1a7 30% 42%,#6c5747 42% 53%,#bea184 53%);
}

.products-v30-category-number {
    position: absolute;
    top: 14px;
    inset-inline-start: 14px;
    min-width: 38px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111317;
    color: var(--lux-gold-soft);
    font-size: 9px;
}

.products-v30-category-body {
    min-height: 205px;
    padding: 23px;
}

.products-v30-category-body h3 {
    margin: 0 0 9px;
    color: #171717;
    font-size: 19px;
    font-weight: 600;
}

.products-v30-category-body p {
    min-height: 63px;
    margin: 0;
    color: #777;
    font-size: 11px;
    line-height: 1.9;
}

.products-v30-category-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 24px;
    padding-top: 14px;
    border-top: 1px solid #ebe4d9;
    color: #252525;
    font-size: 10px;
    font-weight: 600;
}

.products-v30-category-link b {
    color: #a66f15;
    font-size: 18px;
    font-weight: 400;
}

/* products */
.products-v30-featured {
    padding: 90px 0 100px;
    background: #15171b;
    color: #fff;
}

.products-v30-section-head-dark h2 {
    color: #fff;
}

.products-v30-product-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.products-v30-product-card {
    background: #202226;
    color: #fff;
}

.products-v30-product-card-light {
    background: #fff;
    color: #171717;
    border: 1px solid #ddd5c9;
}

.products-v30-product-card figure {
    height: 330px;
    margin: 0;
    overflow: hidden;
    background: #ece6dc;
}

.products-v30-product-card figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.products-v30-product-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(216,169,79,.35);
    font-family: serif;
    font-size: 110px;
}

.products-v30-product-info {
    padding: 22px;
}

.products-v30-product-meta {
    color: #a87823;
    font-size: 9px;
}

.products-v30-product-info h3 {
    margin: 6px 0 9px;
    font-size: 19px;
    font-weight: 600;
}

.products-v30-product-info p {
    margin: 0;
    color: #8d8d8d;
    font-size: 11px;
    line-height: 1.85;
}

.products-v30-product-bottom {
    min-height: 44px;
    margin-top: 20px;
    padding-top: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.products-v30-product-card-light .products-v30-product-bottom {
    border-top-color: #e5ded4;
}

.products-v30-product-bottom span {
    color: #888;
    font-size: 9px;
}

.products-v30-product-bottom strong {
    font-size: 11px;
    font-weight: 600;
}

.products-v30-catalog {
    padding: 90px 0 100px;
    background: #f7f4ee;
}

/* Empty catalog */
.products-v30-empty {
    padding: 90px 0;
    background: #17191d;
    color: #fff;
}

.products-v30-empty-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 70px;
    align-items: end;
}

.products-v30-empty h2 {
    max-width: 780px;
    margin: 12px 0 15px;
    color: #fff;
    font-size: clamp(38px,4.2vw,62px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.rtl .products-v30-empty h2 {
    font-size: clamp(33px,3.5vw,51px);
    line-height: 1.5;
    letter-spacing: 0;
}

.products-v30-empty p {
    max-width: 650px;
    margin: 0;
    color: #929292;
    font-size: 12px;
    line-height: 1.9;
}

.products-v30-empty-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.products-v30-empty-link {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #ddd;
    font-size: 11px;
}

.products-v30-empty-link span {
    color: var(--lux-gold);
    font-size: 18px;
}

/* Supply & Apply */
.products-v30-supply {
    padding: 85px 0;
    background: #d8a94f;
    color: #111;
}

.products-v30-supply-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 80px;
    align-items: end;
}

.products-v30-supply .lux-overline {
    color: #5c4316;
}

.products-v30-supply h2 {
    max-width: 760px;
    margin: 10px 0 0;
    font-size: clamp(37px,4vw,59px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.rtl .products-v30-supply h2 {
    font-size: clamp(33px,3.4vw,49px);
    line-height: 1.5;
    letter-spacing: 0;
}

.products-v30-supply-grid > div:last-child {
    max-width: 520px;
    justify-self: end;
}

.products-v30-supply p {
    margin: 0;
    color: #49370f;
    font-size: 12px;
    line-height: 1.9;
}

.products-v30-supply-link {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
    color: #111;
    font-size: 11px;
    font-weight: 600;
}

.products-v30-supply-link span {
    font-size: 18px;
}

/* Responsive */
@media(max-width: 1050px) {
    .products-v30-category-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .products-v30-product-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width: 700px) {

    .products-v30-hero {
        padding: 105px 0 52px;
    }

    .products-v30-hero-grid,
    .products-v30-section-head,
    .products-v30-empty-grid,
    .products-v30-supply-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .products-v30-hero h1,
    .rtl .products-v30-hero h1 {
        font-size: 36px;
        line-height: 1.45;
    }

    .products-v30-hero-copy {
        justify-self: start;
        max-width: none;
    }

    .products-v30-categories,
    .products-v30-featured,
    .products-v30-catalog {
        padding: 62px 0 70px;
    }

    .products-v30-section-head {
        margin-bottom: 30px;
    }

    .products-v30-section-head h2,
    .rtl .products-v30-section-head h2 {
        font-size: 31px;
        line-height: 1.5;
    }

    .products-v30-section-head > p {
        justify-self: start;
    }

    .products-v30-category-grid,
    .products-v30-product-grid {
        grid-template-columns: 1fr;
    }

    .products-v30-category-art {
        height: 230px;
    }

    .products-v30-category-body {
        min-height: 0;
    }

    .products-v30-category-body p {
        min-height: 0;
    }

    .products-v30-product-card figure {
        height: 290px;
    }

    .products-v30-empty {
        padding: 65px 0;
    }

    .products-v30-empty h2,
    .rtl .products-v30-empty h2 {
        font-size: 31px;
        line-height: 1.5;
    }

    .products-v30-empty-actions {
        justify-content: flex-start;
    }

    .products-v30-supply {
        padding: 65px 0;
    }

    .products-v30-supply h2,
    .rtl .products-v30-supply h2 {
        font-size: 31px;
        line-height: 1.5;
    }

    .products-v30-supply-grid > div:last-child {
        justify-self: start;
    }
}


/* ==========================================================
   PATCH 032 — QUOTE + INSPECTION FORMS
   ========================================================== */

.request-v32 {
    min-height: 100svh;
    padding-top: 84px;
    background: #0d0f12;
    color: #fff;
}

.request-v32-grid {
    min-height: calc(100svh - 84px);
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    align-items: stretch;
}

.rtl .request-v32-grid {
    direction: rtl;
}

.request-v32-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 72px 70px 72px 0;
}

.rtl .request-v32-intro {
    padding: 72px 0 72px 70px;
}

.request-v32-intro h1 {
    max-width: 620px;
    margin: 13px 0 18px;
    color: #fff;
    font-size: clamp(48px,5vw,75px);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.045em;
}

.rtl .request-v32-intro h1 {
    font-size: clamp(39px,4.1vw,61px);
    line-height: 1.45;
    letter-spacing: 0;
}

.request-v32-intro > p {
    max-width: 570px;
    margin: 0;
    color: #a1a1a1;
    font-size: 13px;
    line-height: 2;
}

.request-v32-points {
    margin-top: 38px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.request-v32-points > div {
    min-height: 73px;
    display: grid;
    grid-template-columns: 35px 165px 1fr;
    gap: 15px;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.request-v32-points span {
    color: var(--lux-gold);
    font-size: 8px;
}

.request-v32-points strong {
    color: #fff;
    font-size: 11px;
    font-weight: 500;
}

.request-v32-points small {
    color: #747474;
    font-size: 9px;
    line-height: 1.6;
}

.request-v32-alt {
    margin-top: 29px;
}

.request-v32-alt > span {
    display: block;
    color: #757575;
    font-size: 9px;
}

.request-v32-alt a {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 5px;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
}

.request-v32-alt b {
    color: var(--lux-gold);
    font-size: 18px;
    font-weight: 400;
}

/* Form side */
.request-v32-card {
    align-self: center;
    margin: 55px 0;
    padding: 45px 48px 48px;
    background: #f5f1e8;
    color: #161616;
}

.request-v32-card-head > span {
    color: #9e6d18;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .16em;
}

.rtl .request-v32-card-head > span {
    letter-spacing: 0;
}

.request-v32-card-head h2 {
    margin: 7px 0 29px;
    color: #161616;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.35;
}

.request-v32-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px;
}

.request-v32-form label {
    display: block;
    margin-bottom: 16px;
}

.request-v32-form label > span {
    display: block;
    margin-bottom: 7px;
    color: #555;
    font-size: 9px;
    font-weight: 600;
}

.request-v32-form input,
.request-v32-form select,
.request-v32-form textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 13px;
    border: 1px solid #cec4b5;
    border-radius: 0;
    outline: 0;
    background: rgba(255,255,255,.72);
    color: #171717;
    transition:
        border-color .18s ease,
        background-color .18s ease;
}

.request-v32-form textarea {
    min-height: 145px;
    resize: vertical;
}

.request-v32-form input:focus,
.request-v32-form select:focus,
.request-v32-form textarea:focus {
    border-color: var(--lux-gold);
    background: #fff;
}

.request-v32-error {
    display: block;
    margin-top: 5px;
    color: #a53b32;
    font-size: 8px;
}

.request-v32-submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 8px;
}

.request-v32-submit {
    flex: 0 0 auto;
    min-height: 50px;
    padding: 0 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    border: 0;
    background: #111317;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.request-v32-submit:hover {
    background: #202328;
}

.request-v32-submit span {
    color: var(--lux-gold);
    font-size: 17px;
}

.request-v32-submit-row > small {
    max-width: 310px;
    color: #888;
    font-size: 8px;
    line-height: 1.65;
}

/* Slight visual distinction */
.request-v32-inspection .request-v32-card {
    background:
        linear-gradient(
            135deg,
            #f6f2ea 0%,
            #f6f2ea 72%,
            #ede5d8 72%,
            #ede5d8 100%
        );
}

/* Tablet */
@media(max-width: 1050px) {

    .request-v32-grid {
        grid-template-columns: .8fr 1.2fr;
    }

    .request-v32-intro,
    .rtl .request-v32-intro {
        padding-inline: 0 40px;
    }

    .rtl .request-v32-intro {
        padding-inline: 40px 0;
    }

    .request-v32-card {
        padding-inline: 32px;
    }

    .request-v32-points > div {
        grid-template-columns: 30px 1fr;
    }

    .request-v32-points small {
        grid-column: 2;
        padding-bottom: 12px;
    }
}

/* Mobile */
@media(max-width: 700px) {

    .request-v32 {
        padding-top: 66px;
    }

    .request-v32-grid,
    .rtl .request-v32-grid {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .request-v32-intro,
    .rtl .request-v32-intro {
        padding: 62px 0 50px;
    }

    .request-v32-intro h1,
    .rtl .request-v32-intro h1 {
        font-size: 35px;
        line-height: 1.5;
    }

    .request-v32-intro > p {
        font-size: 12px;
    }

    .request-v32-card {
        margin: 0 -14px;
        padding: 40px 14px 55px;
    }

    .request-v32-card-head h2 {
        font-size: 28px;
    }

    .request-v32-fields {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .request-v32-submit-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .request-v32-submit {
        width: 100%;
    }
}


/* ==========================================================
   PATCH 049 — PRODUCT DETAIL
   ========================================================== */

.products-v30-product-info h3 a {
    color: inherit;
    text-decoration: none;
}

.products-v30-product-info h3 a:hover {
    color: #b27a1b;
}

.product-detail-v49 {
    padding: 135px 0 90px;
    background: #f5f0e7;
}

.product-detail-v49-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: 70px;
    align-items: start;
}

.product-detail-v49-main {
    min-height: 590px;
    margin: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #17191d;
}

.product-detail-v49-main img {
    width: 100%;
    height: 100%;
    min-height: 590px;
    display: block;
    object-fit: cover;
}

.product-detail-v49-main > span {
    color: #c39138;
    font-family: serif;
    font-size: 80px;
}

.product-detail-v49-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-top: 8px;
}

.product-detail-v49-thumbs button {
    aspect-ratio: 1 / .82;
    padding: 0;
    overflow: hidden;
    border: 1px solid transparent;
    background: #ddd;
    cursor: pointer;
}

.product-detail-v49-thumbs button.is-active {
    border-color: #b27a1b;
}

.product-detail-v49-thumbs img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.product-detail-v49-info {
    padding-top: 16px;
}

.product-detail-v49-back {
    color: #8b6b37;
    font-size: 12px;
    text-decoration: none;
}

.product-detail-v49-kicker {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 42px;
}

.product-detail-v49-kicker span {
    padding: 6px 9px;
    border: 1px solid #d8cdbb;
    color: #80683e;
    font-size: 10px;
    letter-spacing: .05em;
}

.product-detail-v49-info h1 {
    margin: 22px 0 18px;
    color: #161719;
    font-size: clamp(34px, 4vw, 64px);
    font-weight: 500;
    line-height: 1.05;
}

.product-detail-v49-lead {
    max-width: 620px;
    margin: 0;
    color: #665f55;
    font-size: 15px;
    line-height: 1.9;
}

.product-detail-v49-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 34px;
    border-top: 1px solid #d8cdbb;
    border-right: 1px solid #d8cdbb;
}

.product-detail-v49-meta > div {
    min-height: 94px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid #d8cdbb;
    border-bottom: 1px solid #d8cdbb;
}

.product-detail-v49-meta span {
    color: #8a8174;
    font-size: 10px;
}

.product-detail-v49-meta strong {
    margin-top: 7px;
    color: #191a1c;
    font-size: 14px;
    font-weight: 600;
}

.product-detail-v49-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 30px;
}

.product-detail-v49-contact {
    min-height: 48px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #25272b;
    color: #25272b;
    text-decoration: none;
}

.product-detail-v49-description {
    padding: 85px 0;
    background: #fff;
}

.product-detail-v49-copy {
    max-width: 900px;
    margin-top: 24px;
    color: #554f47;
    font-size: 15px;
    line-height: 2;
}

.product-detail-v49-related {
    padding: 80px 0 105px;
    background: #f5f0e7;
}

@media(max-width: 980px) {
    .product-detail-v49-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .product-detail-v49-main,
    .product-detail-v49-main img {
        min-height: 480px;
    }
}

@media(max-width: 620px) {
    .product-detail-v49 {
        padding: 105px 0 65px;
    }

    .product-detail-v49-main,
    .product-detail-v49-main img {
        min-height: 360px;
    }

    .product-detail-v49-thumbs {
        grid-template-columns: repeat(4, 1fr);
    }

    .product-detail-v49-meta {
        grid-template-columns: 1fr;
    }

    .product-detail-v49-info h1 {
        font-size: 36px;
    }
}
