/* ═══════════════════════════════════════════
   LED SOLUTIONS — DESIGN SYSTEM
   Built from blueprint spec, March 2026
   ═══════════════════════════════════════════ */
:root{
  --bg:#060402;--bg2:#0b0804;--bg3:#111009;
  --gold:#C8A45A;--gold-br:#d4b46a;
  --goldline:rgba(200,164,90,.22);--golddim:rgba(200,164,90,.09);
  --white:#ffffff;--text:#E0DBD3;--smoke:#97938E;--muted:#898582;
  --border:rgba(200,164,90,.09);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Figtree',system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.08;}
em,i{color:var(--gold);}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal-d1{transition-delay:.10s;}
.reveal-d2{transition-delay:.22s;}
.reveal-d3{transition-delay:.34s;}

/* Shared */
.container{max-width:1340px;margin:0 auto;padding:0 64px;}
.section{padding:70px 0 60px;}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.section-h2{font-family:var(--serif);font-size:clamp(36px,4.4vw,56px);font-weight:300;line-height:1.08;color:var(--white);margin-bottom:18px;}
.section-lead{font-family:var(--sans);font-size:17px;font-weight:300;color:var(--smoke);line-height:1.65;max-width:520px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;padding:14px 30px;border-radius:3px;transition:all .25s var(--ease);cursor:pointer;border:none;}
.btn-primary{background:var(--gold);color:var(--bg);}
.btn-primary:hover{background:var(--gold-br);transform:translateY(-1px);box-shadow:0 6px 20px rgba(200,164,90,.25);}
.btn-outline{background:transparent;color:var(--white);border:1px solid var(--goldline);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.btn-gold-outline{background:transparent;color:var(--gold);border:1px solid var(--goldline);}
.btn-gold-outline:hover{background:var(--golddim);border-color:var(--gold);}

@media(max-width:800px){.container{padding:0 24px;}.section{padding:72px 0;}}

/* ═══ CURSOR GLOW ═══ */
#cg{position:fixed;width:520px;height:520px;border-radius:50%;background:radial-gradient(ellipse,rgba(200,164,90,.06) 0%,rgba(200,164,90,.022) 42%,transparent 72%);pointer-events:none;z-index:999;transform:translate(-50%,-50%);opacity:0;transition:opacity .5s;mix-blend-mode:screen;}

/* ═══ NAV ═══ */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:rgba(6,4,2,.90);backdrop-filter:blur(22px);border-bottom:1px solid var(--goldline);}
.nav-logo{font-family:var(--serif);font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--white);}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--smoke);transition:color .22s;}
.nav-links a:hover{color:var(--gold);}
.nav-cta{font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);border:1px solid var(--goldline);padding:10px 22px;border-radius:3px;transition:all .22s;}
.nav-cta:hover{background:var(--gold);color:var(--bg);}
.nav-ham{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px;}
.nav-ham span{display:block;width:22px;height:1.5px;background:var(--text);}
.nav-mob{display:none;position:fixed;top:66px;left:0;right:0;background:rgba(6,4,2,.97);backdrop-filter:blur(22px);border-bottom:1px solid var(--goldline);padding:24px 40px;flex-direction:column;gap:18px;z-index:199;}
.nav-mob.open{display:flex;}
.nav-mob a{font-size:14px;color:var(--smoke);padding:6px 0;border-bottom:1px solid var(--border);}
@media(max-width:900px){.nav-links{display:none;}.nav-ham{display:flex;}}

/* ═══ HERO ═══ */
.hero{position:relative;min-height:auto;display:flex;align-items:center;background:var(--bg);overflow:hidden;}
.hero-canvas{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:0;}
.hero-canvas canvas{display:block;width:100%;height:100%;}
.hero-fade{position:absolute;top:0;left:0;bottom:0;width:74%;z-index:1;background:linear-gradient(to right,rgba(6,4,2,1) 0%,rgba(6,4,2,.98) 15%,rgba(6,4,2,.90) 26%,rgba(6,4,2,.52) 42%,rgba(6,4,2,.10) 60%,rgba(6,4,2,0) 74%);pointer-events:none;}
.hero-content{position:relative;z-index:2;max-width:560px;padding:0 0 0 64px;margin-top:100px;}
.hero-h1{font-family:var(--serif);font-size:clamp(50px,4.2vw,88px);font-weight:300;line-height:1.03;color:var(--white);margin-bottom:24px;}
.hero-h1 em{font-style:italic;color:var(--gold);background:linear-gradient(90deg,var(--gold),#e8cc80,var(--gold));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 5s ease-in-out infinite;}
@keyframes shimmer{0%,100%{background-position:0% center;}50%{background-position:200% center;}}
.hero-lead{font-family:var(--sans);font-size:17px;font-weight:300;color:var(--smoke);line-height:1.65;margin-bottom:32px;max-width:460px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:400;color:var(--smoke);background:var(--golddim);padding:8px 16px;border-radius:3px;}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.4;transform:scale(.9);}50%{opacity:1;transform:scale(1.1);}}
@media(max-width:900px){.hero-canvas{width:100%;opacity:.4;}.hero-fade{width:100%;background:rgba(6,4,2,.8);}.hero-content{padding:0 24px;}}

/* ═══ TRUST BAR ═══ */
.trust{background:var(--bg2);border-top:1px solid var(--goldline);border-bottom:1px solid var(--goldline);padding:38px 0;}
.trust-grid{display:flex;justify-content:center;gap:0;}
.trust-item{flex:1;text-align:center;position:relative;}
.trust-item+.trust-item::before{content:'';position:absolute;left:0;top:10%;height:80%;width:1px;background:var(--goldline);}
.trust-num{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--gold);line-height:1;}
.trust-label{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:6px;}
@media(max-width:600px){.trust-grid{flex-wrap:wrap;gap:24px;}.trust-item+.trust-item::before{display:none;}}

/* ═══ SERVICES ═══ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;}
.scard{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:36px 28px;position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.scard::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.scard:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.4);}
.scard:hover::after{transform:scaleX(1);}
.scard-icon{font-size:22px;margin-bottom:14px;display:block;}
.scard h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--white);margin-bottom:10px;}
.scard p{font-size:16px;color:var(--smoke);line-height:1.6;margin-bottom:16px;}
.scard-link{font-size:11px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);transition:letter-spacing .22s;}
.scard:hover .scard-link{letter-spacing:2.2px;}
@media(max-width:800px){.svc-grid{grid-template-columns:1fr;}}

/* ═══ PROCESS ═══ */
.proc-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start;}
.proc-steps{margin-top:36px;}
.proc-step{margin-bottom:32px;}
.proc-step-num{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--gold);letter-spacing:1px;margin-bottom:4px;}
.proc-step h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--white);margin-bottom:6px;}
.proc-step p{font-size:16px;color:var(--smoke);line-height:1.65;}
.proc-illust{position:relative;width:100%;aspect-ratio:620/700;border-radius:4px;overflow:hidden;}
.proc-illust svg{position:absolute;inset:0;width:100%;height:100%;}
@media(max-width:900px){.proc-grid{grid-template-columns:1fr;gap:48px;}.proc-illust{max-width:500px;}}

/* ═══ FEEL THE ROOM ═══ */
.ftr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;}
.ftr-card{border-radius:4px;overflow:hidden;border:1px solid var(--border);transition:transform .25s var(--ease),box-shadow .25s var(--ease);cursor:pointer;}
.ftr-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.4);}
.ftr-thumb{position:relative;width:100%;aspect-ratio:580/280;overflow:hidden;}
.ftr-thumb svg{position:absolute;inset:0;width:100%;height:100%;}
.ftr-body{padding:20px 22px;background:var(--bg3);}
.ftr-body h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--white);margin-bottom:8px;}
.ftr-body p{font-size:16px;color:var(--smoke);line-height:1.6;}
@media(max-width:800px){.ftr-grid{grid-template-columns:1fr;}}

/* ═══ REVIEWS ═══ */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;}
.rcard{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:30px 26px;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.rcard:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.rcard.featured{grid-column:span 2;}
.rcard-badge{position:absolute;top:14px;right:14px;font-size:9px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);background:var(--golddim);padding:4px 10px;border-radius:2px;}
.rcard-stars{color:var(--gold);font-size:13px;letter-spacing:2px;margin-bottom:14px;}
.rcard-text{font-family:var(--serif);font-size:22px;font-weight:300;font-style:italic;color:var(--text);line-height:1.65;margin-bottom:18px;}
.rcard-author{font-size:16px;color:var(--muted);}
@media(max-width:800px){.rev-grid{grid-template-columns:1fr;}.rcard.featured{grid-column:span 1;}}

/* ═══ WELLBEING ═══ */
.wb-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;}
.wb-illust{position:relative;width:100%;aspect-ratio:600/520;border-radius:4px;overflow:hidden;}
.wb-illust svg{position:absolute;inset:0;width:100%;height:100%;}
.wb-quote{margin-top:28px;padding:20px 24px;border-left:2px solid var(--gold);background:var(--golddim);border-radius:0 4px 4px 0;}
.wb-quote p{font-family:var(--serif);font-size:20px;font-style:italic;color:var(--text);line-height:1.6;margin-bottom:6px;}
.wb-quote cite{font-size:14px;color:var(--muted);font-style:normal;}
@media(max-width:900px){.wb-grid{grid-template-columns:1fr;gap:48px;}.wb-illust{max-width:500px;}}

/* ═══ LONG TERM ═══ */
.lt-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start;}
.lt-check{margin-top:8px;}
.lt-check-item{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start;}
.lt-check-mark{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--gold);}
.lt-check-item p{font-size:16px;color:var(--smoke);line-height:1.6;}
@media(max-width:900px){.lt-grid{grid-template-columns:1fr;gap:48px;}}

/* ═══ CONTACT ═══ */
.contact{text-align:center;}
.cform{max-width:660px;margin:40px auto 0;text-align:left;}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.cform-full{margin-bottom:16px;}
.cform label{display:block;font-size:11px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.cform input,.cform select,.cform textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--text);background:rgba(255,255,255,.028);border:1px solid var(--border);border-radius:3px;padding:14px 16px;outline:none;transition:border-color .22s;}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--gold);}
.cform select{appearance:none;cursor:pointer;}
.cform textarea{height:110px;resize:vertical;}
.cform-submit{width:100%;margin-top:8px;}
.cform-note{text-align:center;margin-top:14px;font-size:13px;color:var(--muted);}
#formThanks{display:none;text-align:center;padding:60px 0;}
#formThanks h3{font-family:var(--serif);font-size:32px;font-weight:300;color:var(--white);margin-bottom:12px;}
#formThanks p{font-size:15px;color:var(--smoke);}
@media(max-width:600px){.cform-row{grid-template-columns:1fr;}}

/* ═══ FOOTER ═══ */
.footer{border-top:1px solid var(--goldline);padding:60px 0 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;}
.footer-brand{font-family:var(--serif);font-size:19px;font-weight:600;text-transform:uppercase;color:var(--white);margin-bottom:4px;}
.footer-brand span{color:var(--gold);}
.footer-tagline{font-family:var(--serif);font-size:15px;font-style:italic;color:var(--smoke);margin-bottom:16px;}
.footer-contact{font-size:14px;color:var(--smoke);line-height:1.8;}
.footer-contact a{color:var(--gold);transition:opacity .22s;}
.footer-contact a:hover{opacity:.7;}
.footer-col-title{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-size:14px;color:var(--smoke);transition:color .22s;}
.footer-links a:hover{color:var(--gold);}
.footer-base{margin-top:48px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;}}


/* ═══ IMAGE SLOTS — warm atmospheric placeholders ═══ */
.img-slot{position:relative;width:100%;height:100%;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.img-slot-warm{background:linear-gradient(145deg,#141008 0%,#1a1408 30%,#12100a 60%,#0e0c06 100%);position:relative;}
.img-slot-warm::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(200,164,90,.08) 0%,transparent 70%);}
.img-slot-warm::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 50%,rgba(6,4,2,.3) 100%);}
.img-slot-label{position:relative;z-index:1;font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted);opacity:.5;text-align:center;line-height:1.6;}
.img-slot-label span{display:block;font-family:var(--serif);font-size:14px;font-weight:300;letter-spacing:0;text-transform:none;color:rgba(200,164,90,.35);margin-bottom:4px;font-style:italic;}

/* FTR thumb slots */
.ftr-thumb-slot{aspect-ratio:580/410;background:linear-gradient(145deg,#141008 0%,#1a1408 30%,#12100a 60%,#0e0c06 100%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ftr-thumb-slot::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(200,164,90,.06) 0%,transparent 65%);}

/* Schema */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}


span.scard-icon:before {
    content: "";
    width: 60px;
    height: 60px;
    position: absolute;
    top: 32%;
    left: 50%;
    background: #353636;
    border-radius: 100%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

span.scard-icon {
    position: relative;
}
span.scard-icon img {
    height: 38px;
    margin-bottom: 20px;
    position: relative;
}
.scard-icon {
    display: inline-block;
}
.proc-illust {
    height: 100%;
}
.wb-illust {
    height: 100%;
}
a.nav-logo img {
    width: auto;
    height: 48px;
}
.map-wrap {
    margin-top: 40px;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid var(--border);
}
.map-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--bg3);
    border-bottom: 1px solid var(--border);
}
.map-bar-l {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    color: var(--smoke);
}
.map-bar-r {
    font-size: 12px;
    color: var(--muted);
}
.map-svg {
    display: block;
    width: 100%;
    height: auto;
    max-height: 540px;
    background: linear-gradient(135deg, #242424, #1c1c19);
}
.map-svg line {
    stroke: #ffc1070d;
}
.map-svg text {
    fill: #c8a55a;
}
.map-tooltip {
    position: fixed;
    z-index: 300;
    pointer-events: none;
    background: var(--bg3);
    border: 1px solid var(--goldline);
    border-radius: 3px;
    padding: 8px 14px;
    font-size: 11px;
    color: var(--text);
    opacity: 0;
    transition: opacity .15s;
}
.map-tooltip.show {
    opacity: 1;
}
@media(max-width:767px)
{
a.nav-logo img {
    width: auto;
    height: 35px;
}
	.hero-h1 {
    font-size: 38px;
}
	.hero-content {
        padding: 0 15px;
    }
	.hero-btns a {
    width: 100%;
    text-align: center;
    justify-content: center;
}
.trust-grid .trust-item {
    width: 46%;
    flex: unset;
    background: #1e1e1e;
}
	    .trust-grid {
        gap: 10px !important;
    }
	    .container {
        padding: 0 15px;
    }
    .section {
        padding: 35px 0 15px;
    }
	.scard {
    padding: 25px 10px;
}
	.proc-grid {
    gap: 15px;
}
	.ftr-grid {
    margin-top: 0;
}
	.lt-grid {
    gap: 25px;
}
	.lt-grid a.btn.btn-primary {
    width: 100%;
    text-align: center;
    justify-content: center;
}
	a.btn {
    font-weight: bold;
}
	.hero-badge {
    width: 100%;
}
	.nav {
    padding: 0 10px;
    height: 85px;
}
}
.footer-links li {
    list-style: none;
}