:root{
    --bg-black:#15140f;
    --bg-panel:#211f19;
    --bg-panel-2:#292620;
    --card:#2c2921;
    --card-active:#3a3325;
    --gold:#c8974f;
    --gold-soft:#d9b579;
    --cream:#f3ede0;
    --cream-dim:#c9c2b2;
    --muted:#8f8a7c;
    --line:#3c3829;
    --sans:'Jost',sans-serif;
    --serif:'Cormorant Garamond',serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    background:var(--bg-black);
    color:var(--cream);
    overflow-x:hidden;
  }
  img{display:block;max-width:100%;<!-- background:#2c2921; -->}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  .eyebrow{
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:500;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{content:'';width:26px;height:1px;background:var(--gold);}

  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 30px;
    border:1px solid var(--gold);
    color:var(--cream);
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:500;
    transition:all .35s ease;
    position:relative;
    overflow:hidden;
  }
  .btn span{position:relative;z-index:1; transition:color .35s ease;}
  .btn svg{position:relative;z-index:1;transition:transform .35s ease, color .35s ease;}
  .btn::before{
    content:'';position:absolute;inset:0;background:var(--gold);
    transform:translateX(-101%);transition:transform .4s cubic-bezier(.65,0,.35,1);
    z-index:0;
  }
  .btn:hover::before{transform:translateX(0);}
  .btn:hover span, .btn:hover svg{color:var(--bg-black);}
  .btn:hover svg{transform:translateX(4px);}
  .btn:focus-visible, a:focus-visible, button:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

  .link-arrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12px;letter-spacing:2px;text-transform:uppercase;
    color:var(--cream);font-weight:500;
    border-bottom:1px solid var(--gold);
    padding-bottom:4px;
  }
  .link-arrow svg{transition:transform .3s ease;}
  .link-arrow:hover svg{transform:translateX(5px);}

  section{position:relative;}
  .reveal{opacity:0; transform:translateY(36px); transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);}
  .reveal.in-view{opacity:1; transform:translateY(0);}

  /* ================= HEADER ================= */
  header{
    position:fixed; top:0; left:0; right:0; z-index:1000;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 48px;
    transition:background .4s ease, padding .4s ease;
  }
  header.scrolled{background:rgba(21,20,15,0.92); padding:14px 48px; backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  .logo{display:flex; align-items:center; gap:12px;}
  .logo .mark{
    width:38px;height:38px;border:1px solid var(--gold);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif); font-style:italic; font-size:20px; color:var(--gold);
  }
  .logo .word{font-size:15px; letter-spacing:3px; font-weight:500;}
  .logo .word small{display:block; font-size:8px; letter-spacing:3px; color:var(--muted); font-weight:400;}

  nav ul{display:flex; gap:36px;}
  nav a{font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase; position:relative; padding-bottom:6px;}
  nav a.active{color:var(--gold);}
  nav a.active::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--gold);}
  nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s ease;}
  nav a:hover::after{width:100%;}

  .header-right{display:flex;align-items:center;gap:22px;}
  .icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .3s ease;}
  .icon-btn:hover{border-color:var(--gold);}

  .social-rail{
    position:fixed; left:26px; top:50%; transform:translateY(-50%); z-index:900;
    display:flex; flex-direction:column; align-items:center; gap:18px;
  }
  .social-rail a{opacity:.75; transition:opacity .3s, transform .3s;}
  .social-rail a:hover{opacity:1; transform:translateY(-2px);}
  .social-rail .rail-line{width:1px; height:70px; background:var(--line);}

  /* ================= HERO ================= */
  .hero{
    height:100vh; min-height:640px; display:flex; align-items:center;
    position:relative; overflow:hidden;
  }
  .hero-slides{position:absolute;inset:0;}
  .hero-slide{
    position:absolute;inset:0;
    background-size:cover; background-position:center;
    opacity:0; transition:opacity 1.4s ease;
  }
  .hero-slide.active{opacity:1;}
  .hero::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(100deg, rgba(15,14,10,.88) 20%, rgba(15,14,10,.45) 48%, rgba(15,14,10,.15) 70%);
    z-index:1;
  }
  .hero-content{position:relative; z-index:2; padding:0 48px; max-width:640px;}
  .hero-content .eyebrow{margin-bottom:22px; opacity:0; animation:fadeUp .9s .3s ease forwards;}
  .hero-content h1{
    font-family:var(--serif); font-weight:400; font-size:clamp(38px,5vw,64px);
    line-height:1.08; color:var(--cream); margin-bottom:22px;
  }
  .hero-content h1 span{opacity:0; display:block; animation:fadeUp .9s ease forwards;}
  .hero-content h1 span:nth-child(1){animation-delay:.45s;}
  .hero-content h1 span:nth-child(2){animation-delay:.6s;}
  .hero-content h1 .italic{font-style:italic; color:var(--gold-soft); font-weight:500;}
  @keyframes fadeUp{from{opacity:0;transform:translateY(24px);} to{opacity:1;transform:translateY(0);}}
  .hero-content p{
    color:var(--cream-dim); font-size:15px; line-height:1.7; max-width:380px; margin-bottom:34px;
    opacity:0; animation:fadeUp .9s .75s ease forwards;
  }
  .hero-content .btn{opacity:0; animation:fadeUp .9s .9s ease forwards;}

  .scroll-hint{
    position:absolute; left:48px; bottom:44px; z-index:2;
    display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--cream-dim);
  }
  .scroll-hint .dot{
    width:34px;height:34px;border:1px solid var(--line);border-radius:50%;
    display:flex;align-items:center;justify-content:center; position:relative;
  }
  .scroll-hint .dot::after{
    content:''; width:5px;height:5px;background:var(--gold);border-radius:50%;
    position:absolute; top:6px; animation:scrollDot 1.8s infinite;
  }
  @keyframes scrollDot{0%{top:6px;opacity:1;} 80%{top:20px;opacity:0;} 100%{top:20px;opacity:0;}}

  .hero-tagline{
    position:absolute; right:48px; bottom:44px; z-index:2; text-align:right;
  }
  .hero-tagline p{font-family:var(--serif); font-style:italic; font-size:22px; line-height:1.35; color:var(--cream);}

  .hero-dots{position:absolute; z-index:2; right:48px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:12px;}
  .hero-dots button{width:8px;height:8px;border-radius:50%;background:rgba(243,237,224,.35); transition:background .3s, transform .3s;}
  .hero-dots button.active{background:var(--gold); transform:scale(1.3);}

  /* ================= BRAND ESSENCE ================= */
  .essence{
    background:var(--bg-panel);
    display:grid; grid-template-columns:0.85fr 1.15fr;
    align-items:stretch;
  }
  .essence-text{padding:90px 64px; display:flex; flex-direction:column; justify-content:center; gap:26px;}
  .essence-text h2{font-family:var(--serif); font-size:clamp(28px,3vw,40px); line-height:1.25; font-weight:400;}
  .essence-text h2 em{font-style:italic; color:var(--gold-soft);}
  .essence-text p{color:var(--cream-dim); font-size:14.5px; line-height:1.85; max-width:420px;}
  .essence-media{position:relative; min-height:440px; overflow:hidden;}
  .essence-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:opacity .8s ease;}
  .essence-media .play-btn{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:76px;height:76px;border-radius:50%; background:rgba(243,237,224,.92);
    display:flex; align-items:center; justify-content:center; z-index:3;
    box-shadow:0 0 0 0 rgba(243,237,224,.5);
    animation:pulseRing 2.6s infinite;
  }
  @keyframes pulseRing{
    0%{box-shadow:0 0 0 0 rgba(243,237,224,.35);}
    70%{box-shadow:0 0 0 22px rgba(243,237,224,0);}
    100%{box-shadow:0 0 0 0 rgba(243,237,224,0);}
  }
  .essence-media .play-btn svg{margin-left:4px;}
  .essence-media .play-btn:hover{transform:translate(-50%,-50%) scale(1.08);}
  .essence-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;pointer-events:none;transition:opacity .5s ease;}
  .essence-media.playing video{opacity:1;pointer-events:auto;}
  .essence-media.playing .play-btn, .essence-media.playing img{opacity:0; pointer-events:none;}
  .essence-dots{position:absolute; bottom:24px; right:28px; z-index:3; display:flex; gap:10px;}
  .essence-dots button{
    width:30px;height:30px;border-radius:50%; border:1px solid rgba(243,237,224,.5);
    font-size:11px; color:var(--cream); display:flex;align-items:center;justify-content:center;
    transition:all .3s ease;
  }
  .essence-dots button.active{background:var(--gold); border-color:var(--gold); color:var(--bg-black);}

  /* ================= SOLUTIONS ================= */
  .solutions{background:var(--bg-black); padding:100px 0 90px;}
  .solutions-head{text-align:center; margin-bottom:56px;}
  .solutions-head .eyebrow{justify-content:center;}
  .solutions-head .eyebrow::before{display:none;}
  .solutions-head .eyebrow::after{content:'';width:26px;height:1px;background:var(--gold);}
  .solutions-head h2{font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.2vw,42px); margin-top:14px;}
  .solutions-head h2 em{font-style:italic; color:var(--gold-soft);}

  .solutions-row{display:flex; align-items:center; gap:18px; max-width:1180px; margin:0 auto; padding:0 30px;}
  .sol-arrow{
    width:46px;height:46px;border:1px solid var(--line); border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; transition:border-color .3s, background .3s;
  }
  .sol-arrow:hover{border-color:var(--gold); background:rgba(200,151,79,.08);}
  .sol-track{
    display:flex; gap:18px; flex:1; overflow-x:auto; scroll-snap-type:x mandatory;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .sol-track::-webkit-scrollbar{display:none;}
  .sol-card{
    display:block; background:var(--card); padding:34px 22px; text-align:center; border:1px solid transparent;
    transition:transform .35s ease, background .35s ease, border-color .35s ease;
    cursor:pointer; flex:0 0 205px; scroll-snap-align:start;
  }
  .sol-card:hover{transform:translateY(-6px);}
  .sol-card.active{background:var(--card-active); border-color:var(--gold);}
  .sol-card .ic{width:52px;height:52px;margin:0 auto 18px; color:var(--gold);}
  .sol-card h3{font-size:13.5px; letter-spacing:1.5px; text-transform:uppercase; font-weight:500; margin-bottom:12px;}
  .sol-card .explore{font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); display:inline-flex; gap:6px; align-items:center;}
  .sol-card .explore svg{width:12px;height:12px; transition:transform .3s ease;}
  .sol-card:hover .explore svg{transform:translateX(4px);}

  /* ================= FEATURED PROJECT ================= */
  .featured{background:var(--bg-panel); display:grid; grid-template-columns:0.8fr 1.2fr;}
  .featured-text{padding:80px 60px; display:flex; flex-direction:column; justify-content:center; gap:24px;}
  .featured-text h2{font-family:var(--serif); font-weight:400; font-size:clamp(30px,3.4vw,44px); line-height:1.2;}
  .featured-text h2 em{font-style:italic; color:var(--gold-soft);}
  .featured-text p{color:var(--cream-dim); font-size:14.5px; line-height:1.85; max-width:340px;}
  .featured-media{position:relative; display:grid; grid-template-columns:1fr;}
  .fm-main{position:relative; overflow:hidden; height:760px;}
  .fm-track{display:flex; height:100%; width:100%; transition:transform .9s cubic-bezier(.65,0,.35,1);}
  .fm-main .fm-slide{position:relative; flex:0 0 100%; width:100%; height:100%;}
  .fm-main .fm-slide img{width:100%;height:100%;object-fit:cover;}
  .fm-caption{position:absolute; left:24px; bottom:22px; z-index:2; font-size:13px; letter-spacing:1px; display:flex; align-items:center; gap:14px;}
  .fm-caption .count{color:var(--muted); font-size:12px;}
  .fm-side{position:relative; overflow:hidden; border-left:2px solid var(--bg-panel);}
  .fm-side img{width:100%;height:100%;object-fit:cover;}
  .fm-side-label{position:absolute; right:18px; bottom:18px; z-index:2; font-size:12px; letter-spacing:1px; writing-mode:vertical-rl;}
  .fm-side::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,14,10,.5), transparent 40%);}

  /* ================= BEFORE / AFTER ================= */
  .ba-section{position:relative; height:78vh; min-height:480px; overflow:hidden;}
  .ba-wrap{position:relative; width:100%; height:100%;}
  .ba-after, .ba-before{position:absolute; inset:0;}
  .ba-after img, .ba-before img{width:100%;height:100%;object-fit:cover; user-select:none; -webkit-user-drag:none;}
  .ba-before{clip-path:inset(0 50% 0 0);}
  .ba-label{position:absolute; top:28px; z-index:3; font-size:12px; letter-spacing:2px; text-transform:uppercase; background:rgba(21,20,15,.55); padding:8px 16px;}
  .ba-label.left{left:28px;}
  .ba-label.right{right:28px;}
  .ba-handle{
    position:absolute; top:0; bottom:0; left:50%; width:2px; background:var(--gold);
    transform:translateX(-1px); z-index:4; cursor:ew-resize;
  }
  .ba-handle .grip{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:48px;height:48px;border-radius:50%; background:var(--gold);
    display:flex; align-items:center; justify-content:center; gap:2px;
    box-shadow:0 4px 18px rgba(0,0,0,.35);
  }

  /* ================= PROCESS ================= */
  .process{background:var(--bg-panel); padding:100px 48px 90px;}
  .process-head{text-align:center; margin-bottom:70px;}
  .process-head .eyebrow{justify-content:center;}
  .process-head .eyebrow::before{display:none;}
  .process-head .eyebrow::after{content:'';width:26px;height:1px;background:var(--gold);}
  .process-head h2{font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.2vw,42px); margin-top:14px;}

  .process-row{display:flex; justify-content:space-between; max-width:1180px; margin:0 auto; position:relative;}
  .process-row::before{
    content:''; position:absolute; top:34px; left:70px; right:70px; height:1px;
    background-image:linear-gradient(90deg, var(--line) 60%, transparent 40%);
    background-size:14px 1px; z-index:0;
  }
  .p-step{position:relative; z-index:1; text-align:center; width:150px;}
  .p-step .ring{
    width:68px;height:68px;border-radius:50%; border:1px solid var(--line); background:var(--bg-panel);
    display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
    color:var(--gold); transition:border-color .3s, transform .3s;
  }
  .p-step:hover .ring{border-color:var(--gold); transform:translateY(-4px);}
  .p-step .num{font-family:var(--serif); font-style:italic; color:var(--gold); font-size:13px; margin-bottom:10px; display:block;}
  .p-step h3{font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px;}
  .p-step p{font-size:12.5px; color:var(--muted); line-height:1.6;}

  /* ================= STATS ================= */
  .stats{background:var(--cream); color:var(--bg-black); padding:52px 48px;}
  .stats-row{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .stat{display:flex; align-items:center; gap:18px;}
  .stat .ic{width:38px;height:38px; color:var(--gold); flex-shrink:0;}
  .stat .num{font-family:var(--serif); font-size:32px; font-weight:500; line-height:1;}
  .stat .lbl{font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:#5a5648; margin-top:4px;}

  /* ================= TESTIMONIALS ================= */
  .testi{background:var(--bg-black); padding:100px 48px;}
  .testi-inner{max-width:1180px; margin:0 auto; display:flex; align-items:center; gap:50px;}
  .testi-head{flex-shrink:0; width:260px;}
  .testi-head h2{font-family:var(--serif); font-weight:400; font-size:clamp(26px,2.8vw,36px); margin-top:14px; line-height:1.25;}
  .testi-nav{display:flex; gap:12px; margin-top:30px;}

  .testi-track{display:flex; gap:22px; overflow:hidden; flex:1;}
  .t-card{
    background:var(--card); padding:30px; flex:1; min-width:0;
    transition:transform .4s ease;
  }
  .stars{color:var(--gold); font-size:13px; letter-spacing:2px; margin-bottom:16px;}
  .t-card p{font-family:var(--serif); font-style:italic; font-size:16px; line-height:1.6; color:var(--cream-dim); margin-bottom:22px;}
  .t-person{display:flex; align-items:center; gap:12px;}
  .t-person img{width:42px;height:42px;border-radius:50%; object-fit:cover;}
  .t-person .name{font-size:13px; font-weight:500;}
  .t-person .loc{font-size:11.5px; color:var(--muted);}

  /* ================= CTA ================= */
  .cta{
    position:relative; min-height:56vh; display:flex; align-items:center;
    background-size:cover; background-position:center; overflow:hidden;
  }
  .cta::before{content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(15,14,10,.9) 30%, rgba(15,14,10,.55) 65%, rgba(15,14,10,.35));}
  .cta-inner{position:relative; z-index:2; width:100%; display:flex; justify-content:space-between; align-items:center; padding:0 60px; flex-wrap:wrap; gap:36px;}
  .cta-left h2{font-family:var(--serif); font-weight:400; font-size:clamp(32px,4vw,52px); line-height:1.15; margin-bottom:30px;}
  .cta-left h2 em{font-style:italic; color:var(--gold-soft);}
  .cta-list{display:flex; flex-direction:column; gap:16px;}
  .cta-list li{display:flex; align-items:center; gap:12px; font-size:14px; color:var(--cream-dim);}
  .cta-list svg{color:var(--gold); flex-shrink:0;}

  /* ================= FOOTER ================= */
  /* ================= IMAGE LIGHTBOX ================= */
  .lightbox-overlay{
    position:fixed; inset:0; z-index:2100; background:rgba(8,8,6,.92);
    display:flex; align-items:center; justify-content:center; padding:60px 30px;
    opacity:0; pointer-events:none; transition:opacity .35s ease;
  }
  .lightbox-overlay.open{opacity:1; pointer-events:auto;}
  .lightbox-stage{position:relative; max-width:1100px; width:100%; text-align:center;}
  .lightbox-stage img{
    max-width:100%; max-height:74vh; width:auto; margin:0 auto; object-fit:contain;
    opacity:0; transform:scale(.97); transition:opacity .35s ease, transform .35s ease;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
  }
  .lightbox-stage img.show{opacity:1; transform:scale(1);}
  .lightbox-caption{margin-top:18px; display:flex; align-items:center; justify-content:center; gap:16px; color:var(--cream-dim); font-size:13px; letter-spacing:1px;}
  .lightbox-caption .name{font-family:var(--serif); font-style:italic; font-size:18px; color:var(--cream);}
  .lightbox-close{
    position:absolute; top:24px; right:26px; width:42px;height:42px; border:1px solid rgba(243,237,224,.3); border-radius:50%;
    display:flex; align-items:center; justify-content:center; color:var(--cream); transition:border-color .25s;
  }
  .lightbox-close:hover{border-color:var(--gold);}
  .lightbox-nav{
    position:absolute; top:50%; transform:translateY(-50%); width:48px;height:48px; border-radius:50%;
    border:1px solid rgba(243,237,224,.3); display:flex; align-items:center; justify-content:center;
    color:var(--cream); transition:border-color .25s, background .25s;
  }
  .lightbox-nav:hover{border-color:var(--gold); background:rgba(200,151,79,.12);}
  .lightbox-prev{left:-64px;}
  .lightbox-next{right:-64px;}
  @media (max-width:900px){
    .lightbox-prev{left:6px;} .lightbox-next{right:6px;}
    .lightbox-overlay{padding:70px 16px 30px;}
  }
  .gallery-clickable{cursor:zoom-in;}

  /* ================= CONTACT STRIP ================= */
  .contact-strip{background:var(--bg-black); padding:64px 48px; border-bottom:1px solid var(--line);}
  .contact-row{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .contact-item{display:flex; align-items:flex-start; gap:16px; padding:8px;}
  .contact-item .ic{width:44px;height:44px;border:1px solid var(--line); border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--gold);}
  .contact-item h4{font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:8px;}
  .contact-item p, .contact-item a{font-size:14.5px; color:var(--cream-dim); line-height:1.6; display:block;}
  .contact-item a:hover{color:var(--cream);}

  /* ================= WHATSAPP FLOAT ================= */
  .whatsapp-float{
    position:fixed; right:26px; bottom:26px; z-index:1200;
    width:58px;height:58px;border-radius:50%; background:#25D366;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 20px rgba(0,0,0,.35);
    animation:waPulse 2.4s infinite;
  }
  .whatsapp-float:hover{transform:scale(1.07);}
  @keyframes waPulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,.55), 0 6px 20px rgba(0,0,0,.35);}
    70%{box-shadow:0 0 0 14px rgba(37,211,102,0), 0 6px 20px rgba(0,0,0,.35);}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0), 0 6px 20px rgba(0,0,0,.35);}
  }

  /* ================= QUOTE MODAL ================= */
  .modal-overlay{
    position:fixed; inset:0; z-index:2000; background:rgba(10,10,8,.72);
    display:flex; align-items:center; justify-content:center; padding:20px;
    opacity:0; pointer-events:none; transition:opacity .35s ease;
    backdrop-filter:blur(3px);
  }
  .modal-overlay.open{opacity:1; pointer-events:auto;}
  .modal-box{
    background:var(--bg-panel); border:1px solid var(--line); max-width:480px; width:100%;
    padding:44px 40px; position:relative; transform:translateY(18px); transition:transform .35s ease;
    max-height:88vh; overflow-y:auto;
  }
  .modal-overlay.open .modal-box{transform:translateY(0);}
  .modal-close{position:absolute; top:18px; right:18px; width:34px;height:34px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:border-color .25s;}
  .modal-close:hover{border-color:var(--gold);}
  .modal-box h3{font-family:var(--serif); font-weight:400; font-size:28px; margin-bottom:8px;}
  .modal-box h3 em{font-style:italic; color:var(--gold-soft);}
  .modal-box .sub{font-size:13px; color:var(--muted); margin-bottom:26px;}
  .field{margin-bottom:18px;}
  .field label{display:block; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:8px;}
  .field input, .field select, .field textarea{
    width:100%; background:transparent; border:1px solid var(--line); color:var(--cream);
    padding:12px 14px; font-family:var(--sans); font-size:14px; transition:border-color .25s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--gold);}
  .field textarea{resize:vertical; min-height:80px;}
  .field select option{background:var(--bg-panel);}
  .modal-box .btn{width:100%; justify-content:center; margin-top:6px;}
  .form-success{display:none; text-align:center; padding:20px 0;}
  .form-success.show{display:block;}
  .form-success .ic{width:56px;height:56px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
  .form-success h4{font-family:var(--serif); font-size:22px; margin-bottom:10px;}
  .form-success p{font-size:13.5px; color:var(--cream-dim);}

  footer{background:var(--bg-panel); padding:70px 48px 26px;}
  .footer-top{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr; gap:30px; padding-bottom:46px; border-bottom:1px solid var(--line);}
  .footer-brand p{font-size:13px; color:var(--muted); margin-top:16px; line-height:1.7; max-width:220px;}
  .footer-col h4{font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:20px;}
  .footer-col li{margin-bottom:12px; font-size:13.5px; color:var(--cream-dim); transition:color .25s;}
  .footer-col li:hover{color:var(--cream);}
  .footer-social{display:flex; gap:12px; margin-top:18px;}
  .footer-bottom{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; padding-top:22px; font-size:12px; color:var(--muted); flex-wrap:wrap; gap:10px;}
  .footer-bottom a{margin-left:20px;}

  /* ================= RESPONSIVE ================= */
  @media (max-width:1024px){
    .essence, .featured, .cta-inner{grid-template-columns:1fr;}
    .essence-media{min-height:320px;}
    .fm-main{min-height:340px;}
    .process-row{flex-wrap:wrap; gap:34px 20px; justify-content:center;}
    .process-row::before{display:none;}
    .testi-inner{flex-direction:column; align-items:flex-start;}
    .testi-track{width:100%;}
    .stats-row{grid-template-columns:repeat(2,1fr);}
    .footer-top{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:720px){
    header{padding:14px 18px;}
    .header-right{gap:10px;}
    .header-right .btn{padding:9px 14px !important; font-size:10.5px; gap:6px;}
    .header-right .btn svg{width:11px;height:11px;}
    nav{
      position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px;
      background:var(--bg-panel); border-left:1px solid var(--line);
      display:block; z-index:1100; padding:100px 30px 30px;
      transform:translateX(100%); transition:transform .4s cubic-bezier(.65,0,.35,1);
      box-shadow:-10px 0 30px rgba(0,0,0,.35);
    }
    nav.nav-open{transform:translateX(0);}
    nav ul{flex-direction:column; gap:6px;}
    nav a{display:block; padding:14px 4px; font-size:14px; border-bottom:1px solid var(--line);}
    .nav-scrim{
      position:fixed; inset:0; background:rgba(10,10,8,.6); z-index:1050;
      opacity:0; pointer-events:none; transition:opacity .35s ease;
    }
    .nav-scrim.show{opacity:1; pointer-events:auto;}
    .icon-btn.menu-toggle{position:relative; z-index:1101;}
    .icon-btn.menu-toggle svg .bar{transition:transform .3s ease, opacity .2s ease;}
    .icon-btn.menu-toggle.open svg .bar-top{transform:translateY(6px) rotate(45deg);}
    .icon-btn.menu-toggle.open svg .bar-mid{opacity:0;}
    .icon-btn.menu-toggle.open svg .bar-bot{transform:translateY(-6px) rotate(-45deg);}
    .social-rail{display:none;}
    .hero-content{padding:0 24px;}
    .hero-tagline{display:none;}
    .essence-text, .featured-text{padding:56px 26px;}
    .sol-card{flex-basis:168px;}
    .solutions-row{padding:0 20px;}
    .t-card{min-width:100%;}
    .stats-row{grid-template-columns:1fr 1fr;}
    .cta-inner{padding:0 26px;}
    .footer-top{grid-template-columns:1fr 1fr;}
    .contact-row{grid-template-columns:1fr;}
    .modal-box{padding:34px 22px;}
  }