@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root{
  --ink:#111820;
  --navy:#0d1823;
  --soft:#fbfaf7;
  --gold:#b58a4a;
  --line:#e8e2d8;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;background:var(--soft);color:var(--ink)}
a{text-decoration:none;color:inherit}

/* Intro */
.intro-screen{
  position:fixed;
  inset:0;
  z-index:999;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.98), rgba(248,244,237,.96) 42%, rgba(225,211,190,.90) 100%),
    linear-gradient(135deg,#fff,#efe7dc);
  transition:opacity .5s ease, visibility .5s ease;
}
.ambient-glow{
  position:absolute;
  width:680px;
  height:680px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.95), rgba(255,255,255,.20) 45%, transparent 70%);
  opacity:.92;
  filter:blur(6px);
  animation:glowPulse 2s ease-in-out infinite;
}
.intro-brand{
  position:absolute;
  top:42px;
  left:52px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:18px;
  letter-spacing:5px;
  opacity:0;
  animation:brandIn .5s ease .06s forwards;
}
.intro-mark{
  width:56px;height:56px;border:1px solid rgba(181,138,74,.85);
  display:grid;place-items:center;
  color:var(--gold);background:rgba(255,255,255,.35);
  backdrop-filter:blur(12px);
}
.intro-brand strong{
  display:block;font-family:Playfair Display,serif;font-size:28px;font-weight:500;color:#171717;
}
.intro-brand span{
  display:block;font-size:13px;letter-spacing:8px;color:#222;
}
.window-stage{
  position:relative;width:min(88vw,760px);height:min(72vh,620px);
  display:grid;place-items:center;perspective:1600px;
}
.lux-window{
  position:relative;width:min(58vw,480px);height:min(68vh,520px);max-height:560px;
  border:0;background:transparent;cursor:pointer;perspective:1800px;transform-style:preserve-3d;
  filter:drop-shadow(0 34px 56px rgba(20,16,10,.20));animation:windowRise .8s cubic-bezier(.16,1,.3,1) .08s both;
}
.lux-window::before{
  content:"";position:absolute;inset:-16px;border:1px solid rgba(181,138,74,.42);
  background:linear-gradient(145deg, rgba(255,255,255,.44), rgba(255,255,255,.12));
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.2), 0 0 0 1px rgba(13,24,35,.08);
  transform:translateZ(-12px);
}
.lux-window::after{
  content:"";position:absolute;inset:-4px;border:8px solid #101922;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28), 0 16px 44px rgba(0,0,0,.20);
  pointer-events:none;z-index:5;
}
.glass{
  position:absolute;top:0;width:50%;height:100%;overflow:hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.20) 34%, rgba(174,203,214,.45)),
    url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?q=80&w=1200&auto=format&fit=crop');
  background-size:220% 100%;
  border:8px solid #101922;
  transition:transform .88s cubic-bezier(.2,.9,.2,1), filter .88s ease;
  will-change: transform;
}
.glass-left{left:0;transform-origin:left center;background-position:left center;}
.glass-right{right:0;transform-origin:right center;background-position:right center;}
.reflection{
  position:absolute;inset:-30%;
  background:linear-gradient(115deg, transparent 12%, rgba(255,255,255,.56) 29%, transparent 42%);
  transform:translateX(-32%);
  animation:reflectionMove 2.8s linear infinite;
}
.center-lock{
  position:absolute;left:50%;top:0;bottom:0;width:8px;background:#101922;transform:translateX(-50%);z-index:7;
}
.center-lock::after{
  content:"";position:absolute;left:50%;top:50%;width:20px;height:48px;border-radius:999px;
  background:linear-gradient(#d8b879,#9f7436);transform:translate(-50%,-50%);box-shadow:0 6px 16px rgba(0,0,0,.20);
}
.handle{
  position:absolute;top:50%;z-index:9;width:38px;height:9px;
  background:linear-gradient(90deg,#cda965,#8b6029);border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.left-handle{left:calc(50% - 48px);transform:translateY(-50%)}
.right-handle{right:calc(50% - 48px);transform:translateY(-50%)}
.light-rays{
  position:absolute;inset:8% 8%;z-index:-1;opacity:0;
  background:conic-gradient(from 180deg at 50% 50%, transparent 0deg, rgba(255,255,255,.68) 18deg, transparent 36deg, rgba(255,232,181,.34) 66deg, transparent 92deg);
  filter:blur(18px);transform:scale(.74);transition:opacity .75s ease, transform .75s ease;
}
.enter-prompt{
  position:absolute;
  bottom:2.2%;
  left:50%;
  transform:translateX(-50%);
  z-index:4;
  color:#6d5c45;
  font-size:14px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  opacity:.9;
  animation:promptPulse 1.8s ease-in-out infinite;
  white-space:nowrap;
}
.intro-footer{
  position:absolute;bottom:32px;color:#7b6a56;font-size:12px;letter-spacing:4px;text-transform:uppercase;opacity:.88;
}
.intro-screen.opening .glass-left{transform:rotateY(-118deg) translateZ(8px);filter:brightness(1.06);}
.intro-screen.opening .glass-right{transform:rotateY(118deg) translateZ(8px);filter:brightness(1.06);}
.intro-screen.opening .light-rays{opacity:1;transform:scale(1.3);}
.intro-screen.opening .enter-prompt{opacity:0;transition:opacity .25s ease;}
.intro-screen.opened{opacity:0;visibility:hidden;}

.hidden{display:none}
.site{opacity:0;animation:siteReveal .52s ease forwards;}

/* Main site */
.navbar{height:108px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6%;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee;}
.logo{display:flex;align-items:center;gap:18px}
.logo-monogram{width:54px;height:54px;border:1px solid var(--ink);display:grid;place-items:center;line-height:1;}
.logo strong{font-family:Playfair Display,serif;font-size:30px;letter-spacing:4px;font-weight:500;display:block}
.logo small{font-size:14px;letter-spacing:8px}
nav{display:flex;gap:42px;font-size:14px;text-transform:uppercase}
.quote-btn,.dark-btn,.outline-btn,.gold-btn,.outline-light,.review-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.5px;}
.quote-btn,.dark-btn{background:#0a0d10;color:#fff}
.outline-btn{border:1px solid var(--ink);background:#fff}
.gold-btn{background:var(--gold);color:#fff}
.outline-light{border:1px solid #fff;color:#fff}
.review-link{border:1px solid var(--line);background:#fff;margin-top:20px}

.hero{display:grid;grid-template-columns:40% 60%;min-height:630px;background:#fff;}
.hero-copy{padding:8% 10% 7% 13%;display:flex;flex-direction:column;justify-content:center}
.eyebrow{text-transform:uppercase;letter-spacing:5px;font-size:13px;color:var(--gold);font-weight:700;margin-bottom:28px}
.hero h1,.process-copy h2{font-family:Playfair Display,serif;font-size:clamp(48px,6vw,82px);line-height:1.08;font-weight:500;}
.gold-line{width:64px;height:2px;background:var(--gold);margin:28px 0}
.gold-line.small{width:34px;margin:18px 0}
.hero-copy p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:420px}
.hero-actions{display:flex;gap:28px;margin-top:34px;flex-wrap:wrap}
.hero-image{position:relative;overflow:hidden;background:#efe7dc;}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,0) 24%);z-index:2;pointer-events:none;}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity 1.05s ease, transform 7s ease;}
.hero-slide.active{opacity:1;transform:scale(1);}

.product-grid{padding:34px 6% 28px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:34px;}
.product-card{min-height:330px;position:relative;overflow:hidden;background:#eee;display:flex;align-items:center;transition:transform .28s ease,box-shadow .28s ease;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);}
.product-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.16)}
.card-window{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.74) 30%,rgba(255,255,255,0) 58%), url('./assets/home-windows-card.jpg');background-size:cover;background-position:center;}
.card-shades{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.76) 36%,rgba(255,255,255,0) 62%), url('./assets/home-window-coverings.jpg');background-size:cover;background-position:center;}
.product-text{padding:54px 58px;max-width:300px}
.product-text h2{font-family:Playfair Display,serif;font-size:32px;font-weight:500;text-transform:uppercase}
.product-text p{font-size:15px;line-height:1.7;margin-bottom:30px}
.product-text strong{text-transform:uppercase;font-size:13px;letter-spacing:.8px}
.small-icon{font-size:28px;color:var(--gold);display:block;margin-bottom:18px}

.features{margin:0 6%;padding:48px 0;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.feature{text-align:center;padding:0 34px;border-right:1px solid var(--line)}
.feature:last-child{border-right:0}
.feature span{font-size:34px;color:var(--gold);display:block;margin-bottom:22px}
.feature h3{text-transform:uppercase;font-size:14px;letter-spacing:.7px;margin-bottom:14px}
.feature p{font-size:13px;line-height:1.7;color:#444}

.process-banner{margin:58px 6% 0;min-height:300px;background:#111;display:grid;grid-template-columns:55% 45%;color:#fff;}
.process-image{background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.55)),url('./assets/process-local.jpg');background-size:cover;background-position:center;}
.process-copy{padding:58px 70px}
.process-copy h2{font-size:42px;margin-bottom:20px}
.process-copy p:not(.eyebrow){line-height:1.8;margin-bottom:28px;max-width:460px}
.gold{color:var(--gold)}

.reviews{margin:0 6%;padding:54px 6%;display:grid;grid-template-columns:1fr 1.25fr 1.25fr 1.25fr;gap:28px;background:#fff;}
.review-score{text-align:center}
.review-score h3{font-family:Playfair Display,serif;font-size:32px;font-weight:500;margin-bottom:12px}
.score{font-family:Playfair Display,serif;font-size:62px}
.stars{color:var(--gold);letter-spacing:7px;font-size:22px;margin-bottom:16px}
.reviews article{background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.07);padding:34px;min-height:190px}
.quote{font-family:Playfair Display,serif;color:var(--gold);font-size:34px}
.reviews article p{font-size:14px;line-height:1.8;margin-bottom:18px}
.reviews small{display:block;margin-top:5px;color:#555}

.cta{margin:0 6%;background:#080b0e;color:#fff;padding:28px 70px;display:flex;align-items:center;justify-content:space-between;}
.cta h2{text-transform:uppercase;letter-spacing:2px;font-size:20px;margin-bottom:6px}
.cta-buttons{display:flex;gap:14px;flex-wrap:wrap}

footer{margin:0 6%;background:#fff;padding:44px 70px;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:50px;}
footer p{font-size:14px;line-height:1.8;color:#444}
footer h4{text-transform:uppercase;font-size:13px;margin-bottom:14px}
.footer-logo{margin-bottom:18px}
.bottom-bar{background:#080b0e;color:#fff;text-align:center;padding:16px;font-size:12px}

/* Animations */
@keyframes glowPulse{0%,100%{opacity:.7;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}
@keyframes brandIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes windowRise{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
@keyframes reflectionMove{0%{transform:translateX(-28%)}100%{transform:translateX(36%)}}
@keyframes siteReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes promptPulse{0%,100%{opacity:.55;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(-4px)}}

@media(max-width:980px){
  .intro-brand{left:24px;top:24px}
  .lux-window{width:min(76vw,390px);height:min(58vh,470px)}
  .navbar{height:auto;padding:26px;gap:20px;flex-direction:column}
  nav{flex-wrap:wrap;justify-content:center;gap:18px}
  .hero,.product-grid,.process-banner,.reviews,footer{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-copy{padding:70px 28px}
  .hero-image{min-height:390px}
  .features{grid-template-columns:1fr 1fr}
  .feature{border-bottom:1px solid var(--line);padding:30px}
  .cta{flex-direction:column;gap:22px;text-align:center;padding:34px 20px}
}
@media(max-width:620px){
  .intro-brand strong{font-size:20px}
  .intro-brand span{font-size:11px}
  .intro-footer{display:none}
  .enter-prompt{bottom:4.6%;font-size:12px;letter-spacing:1.8px}
  .features{grid-template-columns:1fr}
  .product-grid,.features,.process-banner,.reviews,.cta,footer{margin-left:20px;margin-right:20px}
  .hero h1{font-size:46px}
  .hero-actions{gap:14px}
  .dark-btn,.outline-btn,.review-link{width:100%}
}


/* Quote form, updated about section, and product edits */
button{font-family:inherit}
button.quote-btn, button.outline-btn, button.gold-btn, button.outline-light{cursor:pointer}
.about-section{
  margin:38px 6%;
  padding:72px 8%;
  background:#fff;
  text-align:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-section h2{
  font-family:Playfair Display,serif;
  font-size:52px;
  line-height:1.12;
  font-weight:500;
  max-width:850px;
  margin:0 auto 24px;
}
.about-section p{
  max-width:780px;
  margin:0 auto 18px;
  line-height:1.9;
  color:#444;
  font-size:16px;
}
.about-section .gold-btn{margin-top:18px;border:0}
.product-card{border:0;text-align:left;font-family:inherit}
.product-card.card-shades{color:var(--ink)}
.coming-soon-card strong{color:var(--gold)}

.modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
}
.modal.active{display:block}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,11,14,.68);
  backdrop-filter:blur(8px);
}
.modal-panel{
  position:relative;
  z-index:2;
  width:min(92vw,560px);
  margin:7vh auto;
  background:#fff;
  padding:46px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.modal-close{
  position:absolute;
  right:18px;
  top:14px;
  border:0;
  background:transparent;
  font-size:34px;
  cursor:pointer;
  color:#333;
}
.modal-panel h2{
  font-family:Playfair Display,serif;
  font-size:44px;
  font-weight:500;
  margin-bottom:12px;
}
.modal-subtitle{color:#555;line-height:1.7;margin-bottom:24px}
.modal form{display:grid;gap:16px}
.modal label{
  display:grid;
  gap:7px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:700;
}
.modal input,.modal select{
  width:100%;
  border:1px solid var(--line);
  padding:15px 14px;
  font-size:15px;
  background:#fbfaf7;
  color:#111;
}
.submit-btn{
  border:0;
  background:#0a0d10;
  color:#fff;
  padding:16px 22px;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.5px;
  cursor:pointer;
  margin-top:8px;
}
.hidden-field{display:none}

.thank-you-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#fff,#efe7dc);
}
.thank-you-card{
  background:#fff;
  padding:60px;
  width:min(90vw,560px);
  text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.12);
}

.thank-you-card h1{
  font-family:Playfair Display,serif;
  font-size:56px;
  font-weight:500;
  margin-bottom:12px;
}
.thank-you-card p{line-height:1.8;color:#555;margin-bottom:26px}

@media(max-width:620px){
  .about-section{padding:48px 24px;margin-left:20px;margin-right:20px}
  .about-section h2{font-size:38px}
  .modal-panel{padding:34px 24px;margin:5vh auto}
}


.coming-soon-nav{
  color:#b58a4a;
  font-size:12px;
  letter-spacing:.3px;
  text-transform:none;
  margin-left:4px;
}



.window-monogram::before,
.window-monogram::after{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.45;
}
.window-monogram::before{
  top:7px;
  bottom:7px;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  background:currentColor;
}
.window-monogram::after{
  left:7px;
  right:7px;
  top:50%;
  height:1px;
  transform:translateY(-50%);
  background:currentColor;
}



.thank-you-card .intro-mark{
  margin:0 auto 24px;
}


/* Concept 2 arch logo */
.logo{gap:20px}
.logo-monogram,
.intro-mark{
  border:none;
  background:transparent;
  backdrop-filter:none;
  display:block;
  line-height:1;
}
.arch-logo{
  position:relative;
  width:62px;
  height:84px;
  flex:0 0 62px;
  color:var(--gold);
  border:2px solid currentColor;
  border-bottom:none;
  border-radius:34px 34px 0 0;
  overflow:visible;
}
.arch-logo::before,
.arch-logo::after{
  content:"";
  position:absolute;
  bottom:0;
  width:18px;
  height:2px;
  background:currentColor;
}
.arch-logo::before{left:0}
.arch-logo::after{right:0}
.arch-line{
  position:absolute;
  background:currentColor;
  opacity:.95;
}
.arch-vert-top{
  top:4px;
  left:50%;
  width:2px;
  height:17px;
  transform:translateX(-50%);
}
.arch-h-mid{
  top:29px;
  left:4px;
  width:calc(100% - 8px);
  height:2px;
}
.arch-h-low{
  bottom:18px;
  left:7px;
  width:calc(100% - 14px);
  height:2px;
}
.arch-vert-low{
  bottom:2px;
  left:50%;
  width:2px;
  height:13px;
  transform:translateX(-50%);
}
.arch-p{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Playfair Display,serif;
  font-size:56px;
  line-height:1;
  color:var(--ink);
  z-index:2;
  transform:translateY(-2px);
}
.arch-pdc{
  position:absolute;
  left:50%;
  bottom:-10px;
  transform:translateX(-50%);
  font-family:Playfair Display,serif;
  font-size:11px;
  line-height:1;
  letter-spacing:1.2px;
  color:var(--gold);
  background:var(--soft);
  padding:0 3px;
  z-index:3;
}
.intro-brand{
  gap:20px;
}
.intro-mark.arch-logo{
  width:70px;
  height:96px;
  flex:0 0 70px;
}
.intro-mark.arch-logo .arch-p{
  font-size:64px;
}
.intro-mark.arch-logo .arch-pdc{
  background:transparent;
  bottom:-12px;
}
.footer-logo{
  align-items:flex-start;
}
.footer-logo .arch-logo{
  width:58px;
  height:80px;
  flex:0 0 58px;
}
.footer-logo .arch-p{font-size:52px}
.thank-you-card .arch-logo{
  margin:0 auto 30px;
  width:84px;
  height:112px;
}
.thank-you-card .arch-p{font-size:74px}
.thank-you-card .arch-pdc{font-size:14px; bottom:-14px}
@media(max-width:980px){
  .navbar{gap:18px}
}
@media(max-width:620px){
  .logo strong{font-size:24px;letter-spacing:3px}
  .logo small{font-size:12px;letter-spacing:5px}
  .arch-logo{width:54px;height:74px;flex-basis:54px}
  .arch-p{font-size:48px}
  .arch-pdc{font-size:10px}
  .intro-mark.arch-logo{width:58px;height:82px;flex-basis:58px}
  .intro-mark.arch-logo .arch-p{font-size:54px}
}


/* Refined vector logo */
.logo{gap:20px}
.logo-monogram,
.intro-mark{
  border:none !important;
  background:transparent !important;
  backdrop-filter:none !important;
  display:grid;
  place-items:center;
  line-height:1;
  overflow:visible;
}
.logo-mark{
  width:64px;
  height:92px;
  flex:0 0 64px;
  color:var(--gold);
}
.intro-mark.logo-mark{
  width:74px;
  height:106px;
  flex:0 0 74px;
}
.footer-logo .logo-mark{
  width:60px;
  height:88px;
  flex:0 0 60px;
}
.thank-you-card .logo-mark{
  width:86px;
  height:118px;
  margin:0 auto 28px;
}
.brand-mark-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.brand-mark-frame{
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:square;
  stroke-linejoin:round;
}
.brand-mark-letter{
  fill:var(--ink);
  font-family:'Playfair Display', serif;
  font-size:60px;
  font-weight:500;
  text-anchor:middle;
  dominant-baseline:middle;
  letter-spacing:-1px;
}
.brand-mark-pdc{
  fill:currentColor;
  font-family:'Playfair Display', serif;
  font-size:12px;
  letter-spacing:2px;
  text-anchor:middle;
}
.intro-brand{gap:20px}
.footer-logo{align-items:flex-start}
.thank-you-card .brand-mark-pdc{font-size:13px}
@media(max-width:620px){
  .logo strong{font-size:24px;letter-spacing:3px}
  .logo small{font-size:12px;letter-spacing:5px}
  .logo-mark{width:54px;height:78px;flex-basis:54px}
  .intro-mark.logo-mark{width:60px;height:86px;flex-basis:60px}
}


/* Restored original simple P logo */
.logo-monogram{
  width:54px !important;
  height:54px !important;
  border:1px solid var(--ink) !important;
  display:grid !important;
  place-items:center !important;
  font-family:Playfair Display,serif !important;
  font-size:40px !important;
  line-height:1 !important;
  color:var(--ink) !important;
  background:transparent !important;
}

.intro-mark{
  width:56px !important;
  height:56px !important;
  border:1px solid rgba(181,138,74,.85) !important;
  display:grid !important;
  place-items:center !important;
  font-family:Playfair Display,serif !important;
  font-size:40px !important;
  line-height:1 !important;
  color:var(--gold) !important;
  background:rgba(255,255,255,.35) !important;
  backdrop-filter:blur(12px) !important;
}

.brand-mark-svg,
.logo-mark,
.arch-logo,
.arch-line,
.arch-p,
.arch-pdc{
  display:none !important;
}

/* Dropdown product navigation + separate product slideshow pages */
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-drop-trigger::after{
  content:" ▾";
  color:var(--gold);
  font-size:12px;
}
.nav-drop-menu{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(14px);
  min-width:210px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 22px 55px rgba(0,0,0,.14);
  padding:12px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:50;
}
.nav-dropdown:hover .nav-drop-menu,
.nav-dropdown:focus-within .nav-drop-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(8px);
}
.nav-drop-menu a{
  display:block;
  padding:13px 14px;
  color:var(--ink);
  background:#fff;
  border-bottom:1px solid #f1ece5;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.8px;
}
.nav-drop-menu a:last-child{border-bottom:0}
.nav-drop-menu a:hover{background:#fbfaf7;color:var(--gold)}
.coverings-card{align-items:center}
.covering-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.covering-links a{
  border:1px solid var(--ink);
  background:rgba(255,255,255,.86);
  padding:11px 14px;
  text-align:center;
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
  letter-spacing:.5px;
}
.covering-links a:hover{background:var(--ink);color:#fff}

.product-page-body{background:#fff}
.product-site{opacity:1;animation:none}
.product-hero-detail{
  display:grid;
  grid-template-columns:38% 62%;
  gap:0;
  min-height:660px;
  background:#fff;
}
.product-detail-copy{
  padding:8% 10% 7% 13%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.product-detail-copy h1{
  font-family:Playfair Display,serif;
  font-size:clamp(54px,7vw,96px);
  line-height:1;
  font-weight:500;
}
.product-detail-copy p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:440px;margin-bottom:30px}
.slideshow-card{
  margin:54px 6% 54px 0;
  background:#fbfaf7;
  border:1px solid var(--line);
  box-shadow:0 28px 70px rgba(0,0,0,.12);
  padding:18px;
  align-self:center;
}
.slideshow-frame{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#efe7dc;
}
.product-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.02);
  transition:opacity .45s ease, transform .45s ease;
}
.product-slide.active{opacity:1;transform:scale(1)}
.slide-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.8);
  background:rgba(8,11,14,.64);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.slide-control.prev{left:18px}
.slide-control.next{right:18px}
.slide-dots{display:flex;justify-content:center;gap:10px;padding:16px 0 4px}
.slide-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:1px solid var(--gold);
  background:transparent;
  cursor:pointer;
}
.slide-dot.active{background:var(--gold)}
.product-info-band{
  margin:0 6%;
  padding:62px 70px;
  background:#080b0e;
  color:#fff;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:50px;
  align-items:center;
}
.product-info-band h2{
  font-family:Playfair Display,serif;
  font-size:42px;
  font-weight:500;
  line-height:1.15;
  margin-bottom:16px;
}
.product-info-band p{line-height:1.8;color:#e7e0d6}
.product-benefits{display:grid;gap:14px}
.product-benefits span{
  border:1px solid rgba(255,255,255,.34);
  padding:16px 18px;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.7px;
}
.product-quote-section{
  margin:58px auto;
  width:min(92vw,760px);
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 24px 70px rgba(0,0,0,.09);
  padding:54px;
  text-align:center;
}
.product-quote-section h2{
  font-family:Playfair Display,serif;
  font-size:48px;
  font-weight:500;
  margin-bottom:12px;
}
.product-quote-section > p:not(.eyebrow){color:#555;line-height:1.7;margin-bottom:28px}
.product-quote-section form{display:grid;gap:16px;text-align:left}
.product-quote-section label{
  display:grid;
  gap:7px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:700;
}
.product-quote-section input,.product-quote-section select{
  width:100%;
  border:1px solid var(--line);
  padding:15px 14px;
  font-size:15px;
  background:#fbfaf7;
  color:#111;
}
@media(max-width:980px){
  .nav-dropdown{display:block;text-align:center}
  .nav-drop-menu{position:static;transform:none;box-shadow:none;margin-top:10px;display:none;min-width:0}
  .nav-dropdown:hover .nav-drop-menu,.nav-dropdown:focus-within .nav-drop-menu{display:block;transform:none}
  .product-hero-detail,.product-info-band{grid-template-columns:1fr}
  .slideshow-card{margin:0 28px 42px}
  .product-detail-copy{padding:70px 28px 36px}
}
@media(max-width:620px){
  .covering-links{grid-template-columns:1fr}
  .slideshow-frame{min-height:360px}
  .product-info-band{margin:0 20px;padding:42px 24px}
  .product-info-band h2{font-size:34px}
  .product-quote-section{padding:36px 24px}
  .product-quote-section h2{font-size:38px}
}


/* Dropdown usability fix: click-friendly, hover-friendly, and mobile-friendly */
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
  padding:18px 0;
  margin:-18px 0;
}
.nav-dropdown::after{
  content:"";
  position:absolute;
  left:-18px;
  right:-18px;
  top:100%;
  height:26px;
}
.nav-drop-trigger{
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-transform:uppercase;
  padding:0;
}
.nav-drop-trigger::after{
  content:" ▾";
  color:var(--gold);
  font-size:12px;
}
.nav-drop-menu{
  top:calc(100% + 6px);
  transform:translateX(-50%) translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-dropdown:hover .nav-drop-menu,
.nav-dropdown:focus-within .nav-drop-menu,
.nav-dropdown.open .nav-drop-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-drop-menu a{
  cursor:pointer;
  border-radius:4px;
}
.nav-drop-menu a:hover,
.nav-drop-menu a:focus{
  background:#fbfaf7;
  color:var(--gold);
}
.product-slide{
  object-fit:cover;
  background:#eee;
}
@media(max-width:980px){
  .nav-dropdown{padding:8px 0;margin:0;display:block;text-align:center}
  .nav-drop-trigger{min-height:36px}
  .nav-drop-menu{position:static;left:auto;top:auto;transform:none;min-width:240px;margin:10px auto 0;display:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:0 14px 35px rgba(0,0,0,.10)}
  .nav-dropdown:hover .nav-drop-menu,
  .nav-dropdown:focus-within .nav-drop-menu,
  .nav-dropdown.open .nav-drop-menu{display:block;transform:none}
}


/* Gallery and mobile refinements */
.gallery-section{
  margin:58px 6% 0;
  padding:66px 0 18px;
  background:#fff;
  border-top:1px solid var(--line);
}
.gallery-heading{
  text-align:center;
  max-width:820px;
  margin:0 auto 36px;
  padding:0 24px;
}
.gallery-heading h2{
  font-family:Playfair Display,serif;
  font-size:clamp(36px,5vw,58px);
  line-height:1.12;
  font-weight:500;
  margin-bottom:16px;
}
.gallery-heading p:not(.eyebrow){
  color:#555;
  line-height:1.8;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.gallery-grid img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
  background:#eee;
  transition:transform .25s ease, box-shadow .25s ease;
}
.gallery-grid img:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(0,0,0,.14);
}

@media(max-width:980px){
  .navbar{position:relative;align-items:center;}
  .quote-btn{width:100%;max-width:360px;}
  .product-card{clip-path:none;min-height:300px;}
  .product-text{padding:42px 34px;}
  .process-banner{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid img{height:230px;}
  footer{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  html{scroll-padding-top:12px;}
  .site{overflow-x:hidden;}
  .navbar{padding:20px 18px;}
  nav{width:100%;display:grid;grid-template-columns:1fr;gap:10px;text-align:center;}
  nav a,.nav-drop-trigger{padding:10px 0;}
  .hero-copy{padding:54px 22px 36px;text-align:left;}
  .hero-image{min-height:330px;}
  .hero-image::after{background:linear-gradient(0deg,rgba(255,255,255,.45),rgba(255,255,255,0) 55%);}
  .product-grid{gap:20px;padding:28px 0;}
  .product-card{min-height:280px;}
  .process-copy{padding:42px 24px;}
  .reviews{gap:18px;}
  .gallery-section{margin-left:20px;margin-right:20px;padding-top:46px;}
  .gallery-grid{grid-template-columns:1fr;gap:12px;}
  .gallery-grid img{height:270px;}
  footer{grid-template-columns:1fr;padding:36px 24px;}
  .product-hero-detail{min-height:auto;}
  .slide-control{width:42px;height:42px;font-size:28px;}
}

/* Dedicated gallery page update */
.gallery-preview-section{
  padding: 0 7vw 70px;
}
.gallery-preview-card{
  display:grid;
  grid-template-columns: minmax(260px, .95fr) 1.05fr;
  align-items:stretch;
  background:#fff;
  color:inherit;
  text-decoration:none;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.06);
}
.gallery-preview-image{
  min-height:360px;
  background:linear-gradient(rgba(20,20,20,.08),rgba(20,20,20,.08)),url('./assets/gallery-01.jpg') center/cover no-repeat;
}
.gallery-preview-copy{
  padding:54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
}
.gallery-preview-copy h2{
  font-family:Georgia,serif;
  font-size:clamp(2rem,3vw,3.5rem);
  line-height:1.05;
  margin:0;
  color:#1d1a17;
}
.gallery-preview-copy p:not(.eyebrow){
  color:#6b6258;
  line-height:1.8;
  max-width:620px;
}
.gallery-preview-copy .dark-btn{
  width:max-content;
  margin-top:6px;
}
.gallery-page-hero{
  margin:42px 7vw 0;
  padding:72px 7vw;
  border-radius:34px;
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  color:#fff;
  background:linear-gradient(90deg,rgba(18,16,14,.78),rgba(18,16,14,.34)),url('./assets/gallery-02.jpg') center/cover no-repeat;
}
.gallery-page-hero h1{
  font-family:Georgia,serif;
  font-size:clamp(2.6rem,5vw,5.8rem);
  line-height:.98;
  max-width:860px;
  margin:10px 0 18px;
}
.gallery-page-hero p:not(.eyebrow){
  max-width:720px;
  line-height:1.8;
  color:rgba(255,255,255,.86);
  margin-bottom:28px;
}
.gallery-page-section{
  margin-top:56px;
}

@media (max-width: 900px){
  .gallery-preview-section{padding:0 20px 46px;}
  .gallery-preview-card{grid-template-columns:1fr;border-radius:24px;}
  .gallery-preview-image{min-height:260px;}
  .gallery-preview-copy{padding:34px 26px;}
  .gallery-page-hero{margin:24px 20px 0;padding:54px 26px;border-radius:26px;}
}


/* Gallery popup slideshow */
.gallery-grid img{
  cursor:pointer;
  transition:transform .24s ease, box-shadow .24s ease;
}
.gallery-grid img:hover,
.gallery-grid img:focus{
  transform:translateY(-4px);
  box-shadow:0 22px 50px rgba(0,0,0,.18);
  outline:2px solid rgba(181,138,74,.55);
  outline-offset:3px;
}
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(6,8,10,.88);
  backdrop-filter:blur(10px);
  padding:70px 88px;
}
.gallery-lightbox.active{display:flex;}
.gallery-lightbox img{
  max-width:min(100%,1180px);
  max-height:82vh;
  object-fit:contain;
  box-shadow:0 30px 95px rgba(0,0,0,.42);
  background:#111;
}
.gallery-lightbox-close{
  position:absolute;
  top:22px;
  right:30px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.gallery-lightbox-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:58px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:48px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-lightbox-prev{left:24px;}
.gallery-lightbox-next{right:24px;}
.gallery-lightbox-counter{
  position:absolute;
  bottom:26px;
  left:50%;
  transform:translateX(-50%);
  color:#fff;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  background:rgba(255,255,255,.10);
  padding:10px 16px;
  border-radius:999px;
}
@media(max-width:700px){
  .gallery-lightbox{padding:64px 16px 72px;}
  .gallery-lightbox img{max-height:74vh;}
  .gallery-lightbox-arrow{width:46px;height:46px;font-size:38px;top:auto;bottom:18px;transform:none;}
  .gallery-lightbox-prev{left:22px;}
  .gallery-lightbox-next{right:22px;}
  .gallery-lightbox-close{right:18px;top:16px;}
  .gallery-lightbox-counter{bottom:22px;}
}
