*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* scroll-behavior intentionally NOT smooth — native scroll feels instant */
a{color:inherit;text-decoration:none;}
:root{
  --cream:#EDE7DD;--cream2:#E5DFD5;--ink:#111111;--mid:#555;
  --light:#999;--xlight:#BBB;--line:#CEC8BE;--dark:#1A1A1A;--warm:#C4A882;
  --nav-h:68px;
}
body{background:var(--cream);font-family:'Poppins',sans-serif;color:var(--ink);overflow-x:hidden;}

/* ══ LOGO — robust, correct bar order ══
   flex-direction:column → top-to-bottom rendering
   bar 1 (top)    → full width
   bar 2 (middle) → full width
   bar 3 (bottom) → 52% = SHORT bar at BOTTOM ✓            */
.nfw{display:inline-flex;align-items:center;font-family:'Poppins',sans-serif;
  font-weight:700;color:#111111;user-select:none;white-space:nowrap;}
.nfw-bars{display:flex;flex-direction:column;justify-content:space-between;margin:0 .36em;width:.76em;height:.70em;flex-shrink:0;transform:rotate(180deg);}
.nfw-bars span{display:block;height:22%;background:currentColor;flex-shrink:0;}
.nfw-bars span.s{width:52%;}   /* SHORT bar — rotated 180°, ends up top-right */

/* ══ NAV ══ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 44px;height:var(--nav-h);
  transition:background .3s,border-color .3s;
  border-bottom:1px solid transparent;
}
nav.scrolled{background:rgba(237,231,221,.95);backdrop-filter:blur(10px);border-color:var(--line);}
.nav-logo{font-size:17px;}
.nav-links{display:flex;gap:36px;}
.nav-links a{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--mid);text-transform:uppercase;transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-cta{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink);border:1.5px solid var(--ink);padding:10px 22px;transition:background .2s,color .2s;}
.nav-cta:hover{background:var(--ink);color:var(--cream);}

/* ══ HERO ══ */
.hero{
  position:relative;
  height:calc(100svh - var(--nav-h));
  min-height:480px;
  margin-top:var(--nav-h);
  overflow:hidden;
}
/* Slider */
.slider{position:relative;width:100%;height:100%;overflow:hidden;cursor:col-resize;user-select:none;}
.sl{position:absolute;inset:0;}
.sl img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.sl-right{clip-path:inset(0 50% 0 0);}
.s-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.85);transform:translateX(-50%);z-index:10;pointer-events:none;box-shadow:0 0 8px rgba(0,0,0,.1);}
.s-knob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;background:white;
  border:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;
  z-index:11;pointer-events:none;font-size:15px;color:var(--ink);
  box-shadow:0 2px 16px rgba(0,0,0,.14);letter-spacing:-1px;
}
/* Drag hint — centered in slider, full visibility */
.drag-hint{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  z-index:20;pointer-events:none;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.drag-hint-pill{
  font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(255,255,255,.9);background:rgba(0,0,0,.32);
  backdrop-filter:blur(6px);padding:9px 20px;border:1px solid rgba(255,255,255,.18);
  white-space:nowrap;
}

/* ══ LAYOUT ══ */
.container{max-width:1160px;margin:0 auto;padding:0 44px;}
.sec-eye{font-size:11px;font-weight:600;letter-spacing:3px;color:var(--xlight);text-transform:uppercase;display:block;margin-bottom:16px;}
.sec-h{font-size:clamp(36px,4.5vw,54px);font-weight:900;letter-spacing:-2px;line-height:1.05;margin-bottom:52px;}
.fade-in{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;}
.fade-in.visible{opacity:1;transform:none;}

/* ══ INTRO ══ */
.intro{padding:80px 0 88px;text-align:center;}
.intro-h{font-size:clamp(56px,9vw,110px);font-weight:900;letter-spacing:-4px;line-height:.9;margin-bottom:36px;}
.intro-h em{font-style:italic;font-weight:300;}
.intro-body{font-size:17px;font-weight:300;color:var(--mid);line-height:1.75;max-width:560px;margin:0 auto 0;}
.intro-stats{display:flex;justify-content:center;gap:72px;border-top:1px solid var(--line);padding-top:44px;margin-top:52px;}
.stat-n{font-size:clamp(30px,4vw,44px);font-weight:900;letter-spacing:-2px;display:block;}
.stat-l{font-size:11px;font-weight:600;letter-spacing:2.5px;color:var(--xlight);text-transform:uppercase;display:block;margin-top:7px;}

/* ══ SERVICES ══ */
.services{background:var(--cream2);padding:88px 0;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:0;}
.srv{position:relative;overflow:hidden;aspect-ratio:.72;}
.srv img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s;}
.srv:hover img{transform:scale(1.05);}
.srv-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.5) 40%,rgba(0,0,0,.05) 75%,transparent 100%);}
.srv-txt{position:absolute;bottom:0;left:0;right:0;padding:36px 28px;}
.srv-n{font-size:11px;font-weight:700;letter-spacing:2px;color:rgba(255,255,255,.45);text-transform:uppercase;display:block;margin-bottom:12px;}
.srv-title{font-size:clamp(20px,2.2vw,27px);font-weight:700;color:white;line-height:1.15;margin-bottom:14px;}
.srv-desc{font-size:13px;font-weight:300;color:rgba(255,255,255,.82);line-height:1.72;}

/* ══ GALLERY ══ */
.gallery{padding:88px 0 0;}
.gal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:44px;}
.gi{overflow:hidden;}
.gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s;}
.gi:hover img{transform:scale(1.04);}
.ga{grid-column:1/8;aspect-ratio:1.38;}
.gb{grid-column:8/13;aspect-ratio:.74;}
.gc{grid-column:1/5;aspect-ratio:.76;}
.gd{grid-column:5/9;aspect-ratio:.76;}
.ge{grid-column:9/13;aspect-ratio:.76;}
.gf{grid-column:1/13;height:340px;}

/* ══ PRODUCTS ══ */
.products{padding:88px 0;}
.prod-rail{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-left:44px;}
.prod-rail::-webkit-scrollbar{display:none;}
.prod-item{flex:0 0 clamp(300px,42vw,510px);scroll-snap-align:start;display:grid;grid-template-columns:1fr 1fr;gap:4px;}
.prod-item:last-child{padding-right:44px;box-sizing:content-box;}
.pi{overflow:hidden;}
.pi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.pi:hover img{transform:scale(1.04);}
.pi-t{aspect-ratio:.68;}
.pi-s{aspect-ratio:.86;}
.prod-cap{grid-column:1/3;padding:15px 0 0;}
.prod-name{font-size:16px;font-weight:700;margin-bottom:6px;}
.prod-mat{font-size:12px;font-weight:300;color:var(--xlight);letter-spacing:1px;text-transform:uppercase;}
.scroll-hint{font-size:11px;letter-spacing:2px;color:var(--xlight);text-transform:uppercase;margin-top:20px;padding-left:44px;}

/* ══ MATERIALS ══ */
.materials{background:var(--dark);color:white;padding:88px 0;}
.materials .container{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.mat-img img{width:100%;display:block;object-fit:cover;max-height:540px;}
.mat-content .sec-eye{color:rgba(255,255,255,.3);}
.mat-content .sec-h{color:white;}
.mat-group{margin-bottom:32px;}
.mat-gl{font-size:11px;font-weight:600;letter-spacing:2.5px;color:rgba(255,255,255,.3);text-transform:uppercase;margin-bottom:12px;}
.mat-tags{display:flex;flex-wrap:wrap;gap:8px;}
.mat-tag{font-size:13px;font-weight:400;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.18);padding:7px 15px;transition:border-color .2s,color .2s;cursor:default;}
.mat-tag:hover{border-color:rgba(255,255,255,.5);color:white;}

/* ══ LOCATIONS ══ */
.locations{padding:88px 0;text-align:center;}
.loc-sub{font-size:17px;font-weight:300;color:var(--mid);margin-bottom:64px;line-height:1.75;}
.loc-row{display:flex;justify-content:center;gap:80px;flex-wrap:wrap;}
.loc-city{font-size:clamp(22px,3vw,34px);font-weight:900;letter-spacing:-1.5px;display:block;}
.loc-d{font-size:12px;font-weight:300;color:var(--xlight);letter-spacing:1px;text-transform:uppercase;display:block;margin-top:8px;}
.loc-pill{display:inline-block;margin-top:12px;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--warm);border:1px solid var(--warm);padding:4px 12px;text-transform:uppercase;}

/* ══ CONTACT ══ */
.contact{background:var(--dark);color:white;padding:88px 0;}
.contact .container{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:end;}
.contact-h{font-size:clamp(52px,8vw,100px);font-weight:900;letter-spacing:-4px;line-height:.88;}
.contact-h em{font-style:italic;font-weight:300;}
.cright{display:flex;flex-direction:column;gap:0;padding-bottom:4px;}
.c-label{font-size:11px;font-weight:600;letter-spacing:2.5px;color:rgba(255,255,255,.3);text-transform:uppercase;margin-bottom:14px;}
.c-btn{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border:1px solid rgba(255,255,255,.14);color:white;font-size:16px;font-weight:600;margin-bottom:3px;transition:background .2s,border-color .2s;}
.c-btn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35);}
.c-arr{font-size:18px;opacity:.4;flex-shrink:0;}
.c-note{font-size:13px;font-weight:300;color:rgba(255,255,255,.28);margin-top:16px;}

/* ══ FOOTER ══ */
footer{background:var(--dark);border-top:1px solid rgba(255,255,255,.08);padding:24px 44px;display:flex;align-items:center;justify-content:space-between;}
.f-logo{font-size:13px;color:rgba(255,255,255,.4);}
.f-logo .nfw-bars span{background:rgba(255,255,255,.4);}
.f-copy{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.28);}
.f-links{display:flex;gap:24px;}
.f-links a{font-size:11px;letter-spacing:1px;color:rgba(255,255,255,.28);text-transform:uppercase;transition:color .2s;}
.f-links a:hover{color:rgba(255,255,255,.7);}

/* ══ MOBILE ══ */
@media(max-width:900px){
  nav{padding:0 24px;height:60px;}
  :root{--nav-h:60px;}
  .nav-links{display:none;}
  .container{padding:0 24px;}
  .services-grid{grid-template-columns:1fr;}
  .srv{aspect-ratio:1.1;}
  .materials .container,.contact .container{grid-template-columns:1fr;gap:48px;}
  .ga,.gb,.gc,.gd,.ge,.gf{grid-column:1/13;}
  .gf{height:240px;}
  .loc-row{flex-direction:column;align-items:center;gap:40px;}
  .intro-stats{gap:40px;}
  .prod-rail{padding-left:24px;}
  .scroll-hint{padding-left:24px;}
  footer{padding:18px 24px;}
}