/* ===== Base ===== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#0E1014;color:#F4F2EC;font-family:'Inter Tight',sans-serif;-webkit-font-smoothing:antialiased;}
::selection{background:rgba(200,162,74,0.35);color:#F4F2EC;}
input,select,textarea{font-size:16px;font-family:'Inter Tight',sans-serif;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #E0B852;outline-offset:2px;}

/* ===== Interactive states (DC style-hover/style-focus -> real CSS) ===== */
.btn-gold{transition:all .15s ease;}
.btn-gold:hover{background:#E0B852 !important;transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(200,162,74,0.5);}
.btn-outline{transition:all .15s ease;}
.btn-outline:hover{background:rgba(200,162,74,0.08) !important;border-color:#C8A24A !important;}
.nav-link{transition:color .15s ease;}
.nav-link:hover{color:#E0B852 !important;}
.foot-link{transition:color .15s ease;}
.foot-link:hover{color:#C8A24A !important;}
.link-arrow{transition:gap .15s ease;}
.link-arrow:hover{gap:14px;}
.svc-card{transition:all .18s ease;}
.svc-card:hover{transform:translateY(-4px);border-color:rgba(200,162,74,0.4) !important;box-shadow:0 10px 30px -8px rgba(200,162,74,0.22), 0 4px 12px rgba(0,0,0,0.5);}
.gallery-tile{transition:border-color .15s ease;}
.gallery-tile:hover{border-color:rgba(200,162,74,0.45) !important;}
.lux-input{transition:border-color .15s;}
.lux-input:focus{border-color:#C8A24A;outline:none;}

/* ===== Nav scrolled background ===== */
.nav-bg{opacity:0;transition:opacity .35s ease;}
.nav-bg.is-scrolled{opacity:1;}

/* ===== Reveal on scroll ===== */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease-out, transform .6s ease-out;}
.reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1 !important;transform:none !important;} }

/* ===== Mobile menu ===== */
.lux-mobile{display:none;position:fixed;inset:0;z-index:120;background:linear-gradient(180deg,#16181D 0%,#0B0D11 100%);flex-direction:column;padding:24px;font-family:'Inter Tight',sans-serif;}
.lux-mobile.is-open{display:flex;}
@media (max-width: 940px){
  .lux-navlinks{display:none !important;}
  .lux-navcta{display:none !important;}
  .lux-burger{display:flex !important;}
}

/* ===== Footer ===== */
.lux-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px;}
@media (max-width: 900px){ .lux-foot-grid{grid-template-columns:1fr 1fr !important;gap:36px !important;} }
@media (max-width: 560px){ .lux-foot-grid{grid-template-columns:1fr !important;} .lux-foot-bottom{flex-direction:column;align-items:flex-start !important;} }

/* ===== Home grids ===== */
.lux-hero-inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;}
.lux-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}
.stat-pill{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(180deg,#1C1F26,#191c22);border:1px solid rgba(200,162,74,0.22);border-radius:999px;padding:14px 26px;box-shadow:0 1px 2px rgba(0,0,0,0.4);}
.stat-num{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.5rem;line-height:1;background:linear-gradient(100deg,#A8842F 0%,#C8A24A 38%,#E0B852 70%,#C8A24A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.stat-sep{flex:none;width:5px;height:5px;border-radius:999px;background:#C8A24A;}
.stat-label{font-size:0.9375rem;color:#A7A39A;letter-spacing:0.02em;white-space:nowrap;}
.lux-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lux-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.lux-why{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.lux-process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;}
.lux-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lux-cta{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media (max-width:1000px){
  .lux-hero-inner{grid-template-columns:1fr;gap:40px;}
  .lux-svc{grid-template-columns:1fr;}
  .lux-gallery{grid-template-columns:repeat(3,1fr);}
  .lux-why{grid-template-columns:1fr;gap:40px;}
  .lux-process{grid-template-columns:repeat(2,1fr);gap:40px 24px;}
  .lux-reviews{grid-template-columns:1fr;}
  .lux-cta{grid-template-columns:1fr;gap:40px;}
  .lux-procline{display:none !important;}
}
@media (max-width:680px){
  .lux-gallery{grid-template-columns:1fr 1fr;}
  .lux-stats-wrap{padding:32px 24px !important;}
  .lux-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .stat-pill{flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:16px 10px;border-radius:14px;text-align:center;}
  .stat-sep{display:none;}
  .stat-num{font-size:1.3rem;}
  .stat-label{font-size:0.8125rem;white-space:normal;}
}

/* ===== Services ===== */
.lux-srow{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.lux-srow:nth-child(even) .lux-srow-media{order:2;}
.lux-finishes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.lux-ctaband{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
@media (max-width:900px){
  .lux-srow{grid-template-columns:1fr;gap:28px;}
  .lux-srow:nth-child(even) .lux-srow-media{order:0;}
  .lux-finishes{grid-template-columns:1fr 1fr;}
}

/* ===== Gallery ===== */
.lux-ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.lux-ba{display:grid;grid-template-columns:1fr 1fr;}
.gal-chip{font-size:0.9375rem;font-weight:600;letter-spacing:0.02em;cursor:pointer;border-radius:999px;padding:10px 18px;transition:all .15s ease;color:#F4F2EC;background:transparent;border:1px solid rgba(200,162,74,0.3);}
.gal-chip:hover{border-color:#C8A24A;}
.gal-chip.is-active{color:#0E1014;background:#C8A24A;border-color:#C8A24A;}
@media (max-width:900px){ .lux-ggrid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .lux-ggrid{grid-template-columns:1fr;} }

/* ===== About ===== */
.lux-story{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
.lux-values{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.lux-value-card{transition:all .18s ease;}
.lux-value-card:hover{transform:translateY(-4px);border-color:rgba(200,162,74,0.4) !important;box-shadow:0 10px 30px -8px rgba(200,162,74,0.22);}
.lux-area{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;}
.lux-suburbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.lux-cred{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width:900px){
  .lux-story{grid-template-columns:1fr;gap:32px;}
  .lux-values{grid-template-columns:1fr 1fr;}
  .lux-area{grid-template-columns:1fr;gap:36px;}
  .lux-cred{grid-template-columns:1fr;}
}
@media (max-width:520px){ .lux-values{grid-template-columns:1fr;} .lux-suburbs{grid-template-columns:1fr 1fr;} }

/* ===== Contact ===== */
.lux-contact{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:start;}
.lux-frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:900px){ .lux-contact{grid-template-columns:1fr;gap:36px;} }
@media (max-width:480px){ .lux-frow{grid-template-columns:1fr;} }

/* ===== Recent Work carousel (home) ===== */
.lux-carousel{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(200,162,74,0.18);box-shadow:0 24px 60px -20px rgba(0,0,0,0.7);background:#131c30;}
.lux-carousel:focus-visible{outline:2px solid #E0B852;outline-offset:2px;}
.lux-ctrack{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform;}
.lux-cslide{position:relative;flex:0 0 100%;margin:0;aspect-ratio:16/9;}
.lux-cslide img{width:100%;height:100%;object-fit:cover;display:block;}
.lux-cscrim{position:absolute;inset:0;background:linear-gradient(180deg, rgba(14,16,20,0) 45%, rgba(14,16,20,0.85) 100%);pointer-events:none;}
.lux-ccap{position:absolute;left:18px;bottom:18px;margin:0;font-size:0.9375rem;font-weight:600;letter-spacing:0.02em;color:#F4F2EC;background:rgba(14,16,20,0.55);border:1px solid rgba(200,162,74,0.3);border-radius:999px;padding:8px 16px;backdrop-filter:blur(4px);}
.lux-cbtn{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:1px solid rgba(200,162,74,0.4);background:rgba(14,16,20,0.6);color:#E0B852;cursor:pointer;backdrop-filter:blur(4px);transition:background .15s ease,color .15s ease,border-color .15s ease;z-index:2;}
.lux-cbtn:hover{background:#C8A24A;color:#0E1014;border-color:#C8A24A;}
.lux-cprev{left:16px;}
.lux-cnext{right:16px;}
.lux-ccount{position:absolute;top:16px;right:16px;font-size:0.8125rem;font-weight:600;color:#F4F2EC;background:rgba(14,16,20,0.6);border:1px solid rgba(200,162,74,0.3);border-radius:999px;padding:5px 12px;backdrop-filter:blur(4px);z-index:2;}
.lux-cdots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:8px;z-index:2;}
.lux-cdot{width:8px;height:8px;padding:0;border-radius:999px;border:none;background:rgba(244,242,236,0.45);cursor:pointer;transition:width .2s ease,background .2s ease;}
.lux-cdot:hover{background:rgba(244,242,236,0.8);}
.lux-cdot.is-active{width:26px;background:#C8A24A;}
@media (max-width:680px){
  .lux-cslide{aspect-ratio:4/3;}
  .lux-cbtn{width:38px;height:38px;}
  .lux-cprev{left:10px;}
  .lux-cnext{right:10px;}
  .lux-ccap{left:12px;bottom:38px;font-size:0.875rem;padding:6px 13px;}
}
@media (prefers-reduced-motion: reduce){ .lux-ctrack{transition:none;} }
