:root{
  --navy:#0E2A47;
  --ink:#12202E;
  --mist:#F6F7F5;
  --cyan:#12B6D6;
  --brass:#12B6D6;
  --line:rgba(20,30,40,.1);
  --white-line:rgba(255,255,255,.38);
}
*{box-sizing:border-box;margin:0;padding:0;}
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:640px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
}
img{max-width:100%;display:block;}
a{color:inherit;}
a {
    text-decoration: inherit;
}
.container{max-width:1320px;margin:0 auto;padding:0 48px;}
@media (max-width:860px){ .container{padding:0 24px;} }

.section{padding:96px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;}
.section-title{
  font-family:'Manrope',sans-serif;font-weight:700;
  font-size:clamp(26px,3vw,36px);letter-spacing:-.01em;
}
.section-link{
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--ink);
  padding-bottom:2px;
}
.eyebrow{
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);
  display:flex;align-items:center;gap:10px;margin-bottom:16px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--cyan);}
.eyebrow--dark{color:var(--brass);}
.eyebrow--dark::before{background:var(--brass);}

.btn{
  font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;padding:15px 28px;border-radius:2px;
  text-decoration:none;display:inline-block;border:1px solid transparent;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:var(--cyan);}
.btn-primary--dark{background:var(--ink);color:#fff;}
.btn-ghost{border-color:var(--white-line);color:#fff;}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:var(--navy);}

/* ============ HERO ============ */
.hero{position:relative;height:100vh;min-height:640px;width:100%;overflow:hidden;background:var(--navy);}
.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.06);
  transition:opacity 1.1s cubic-bezier(.4,0,.2,1),transform 6.5s cubic-bezier(.16,1,.3,1);pointer-events:none;}
.hero-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2;}
.hero-slide.is-prev{opacity:0;z-index:1;}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-slide::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,42,71,.15) 0%,rgba(14,42,71,0) 30%,rgba(14,42,71,.15) 55%,rgba(10,24,40,.82) 100%);}

.nav{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:28px 48px;}
.nav--solid{position:relative;background:var(--navy);}
.nav-mark{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;}
.nav-mark .ring{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--cyan);display:flex;align-items:center;justify-content:center;}
.nav-mark .ring span{width:6px;height:6px;border-radius:50%;background:var(--cyan);}
.nav-mark .wordmark{font-family:'Manrope',sans-serif;font-weight:800;font-size:19px;letter-spacing:.04em;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{color:rgba(255,255,255,.88);text-decoration:none;font-family:'Plus Jakarta Sans',sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;position:relative;padding-bottom:4px;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0%;height:1px;background:var(--cyan);transition:width .3s ease;}
.nav-links a:hover::after{width:100%;}
.nav-cta{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;
  color:var(--navy);background:#fff;padding:10px 20px;border-radius:2px;text-decoration:none;}
.nav-cta--solid{color:var(--navy);}

.hero-content{position:absolute;z-index:5;left:48px;bottom:132px;max-width:620px;color:#fff;}
.hero-content .eyebrow{opacity:0;transform:translateY(10px);animation:riseIn .8s .3s cubic-bezier(.16,1,.3,1) forwards;}
.headline{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(38px,5vw,64px);line-height:1.05;
  letter-spacing:-.01em;margin-bottom:20px;color:#fff;opacity:0;transform:translateY(16px);
  animation:riseIn .9s .45s cubic-bezier(.16,1,.3,1) forwards;}
.subcopy{font-size:16px;line-height:1.6;color:rgba(255,255,255,.78);max-width:460px;margin-bottom:34px;
  opacity:0;transform:translateY(16px);animation:riseIn .9s .6s cubic-bezier(.16,1,.3,1) forwards;}
@keyframes riseIn{to{opacity:1;transform:translateY(0);}}
.hero-actions{display:flex;gap:16px;}

.hero-controls{position:absolute;z-index:6;left:48px;right:48px;bottom:44px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;}
.slide-track{display:flex;gap:28px;flex:1;}
.slide-item{flex:1;max-width:210px;cursor:pointer;background:none;border:none;text-align:left;padding:0;}
.slide-item .label{display:flex;justify-content:space-between;font-family:'Plus Jakarta Sans',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);
  margin-bottom:10px;transition:color .3s ease;}
.slide-item .bar{position:relative;height:2px;width:100%;background:var(--white-line);overflow:hidden;}
.slide-item .bar span{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--cyan);}
.slide-item.is-active .label{color:#fff;}
.slide-item.is-active .bar span{animation:fillBar var(--dur,7s) linear forwards;}
@keyframes fillBar{from{width:0%;}to{width:100%;}}
.hero-meta{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.7);}
.play-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--white-line);background:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;
  transition:border-color .25s ease,background .25s ease;flex-shrink:0;}
.play-toggle:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.play-toggle svg{width:12px;height:12px;}
.scroll-cue{position:absolute;z-index:6;right:48px;top:50%;transform:translateY(-50%) rotate(90deg);
  transform-origin:right center;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.55);
  font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;}
.scroll-cue::after{content:"";width:34px;height:1px;background:rgba(255,255,255,.4);}

@media (max-width:860px){
  .nav{padding:20px 24px;}
  .nav-links{display:none;}
  .hero-content{left:24px;right:24px;bottom:190px;}
  .hero-controls{left:24px;right:24px;bottom:28px;flex-direction:column;align-items:stretch;gap:18px;}
  .slide-track{gap:14px;}
  .slide-item .label{font-size:10px;}
  .scroll-cue{display:none;}
}

/* ============ QUICK DISCOVERY ============ */
.discovery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
.discovery-card{text-decoration:none;color:var(--ink);text-align:center;}
.discovery-media{aspect-ratio:1;border-radius:4px;background-size:cover;background-position:center;
  background-color:#E7E9E6;margin-bottom:14px;transition:transform .35s ease;}
.discovery-card:hover .discovery-media{transform:translateY(-4px);}
.discovery-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.03em;}
@media (max-width:860px){.discovery-grid{grid-template-columns:repeat(3,1fr);gap:16px;}}

/* ============ COLLECTIONS ============ */
.collections-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.collection-card{text-decoration:none;color:var(--ink);display:block;}
.collection-media{aspect-ratio:3/4;border-radius:4px;background-size:cover;background-position:center;
  background-color:#DCE0DB;margin-bottom:16px;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.collection-card:hover .collection-media{transform:scale(1.02);}
.collection-info{display:flex;flex-direction:column;gap:4px;}
.collection-tag{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--brass);}
.collection-name{font-family:'Manrope',sans-serif;font-weight:700;font-size:20px;}
@media (max-width:860px){.collections-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}

/* ============ COMPLETE BATHROOM ============ */
.complete-bathroom{background:var(--navy);color:#fff;}
.complete-bathroom-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;}
.complete-bathroom-media{aspect-ratio:4/5;border-radius:4px;background-size:cover;background-position:center;background-color:#0A1E33;}
.complete-bathroom-copy h2{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);
  line-height:1.15;margin-bottom:18px;}
.complete-bathroom-copy p{color:rgba(255,255,255,.75);margin-bottom:32px;max-width:420px;line-height:1.65;}
@media (max-width:960px){.complete-bathroom-inner{grid-template-columns:1fr;gap:32px;}}

/* ============ POPULAR PRODUCTS ============ */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.product-card{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:4px;}
.product-media{aspect-ratio:1;border-radius:4px;background-size:cover;background-position:center;
  background-color:#E7E9E6;margin-bottom:14px;}
.product-cat{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(18,32,46,.5);}
.product-name{font-family:'Manrope',sans-serif;font-weight:600;font-size:15px;}
.product-price{font-family:'Inter',sans-serif;font-size:14px;color:var(--navy);font-weight:600;}
@media (max-width:860px){.product-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}

/* ============ INSPIRATION ============ */
.inspiration-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px;}
.inspiration-card{position:relative;text-decoration:none;display:block;border-radius:4px;overflow:hidden;aspect-ratio:4/5;}
.inspiration-media{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#DCE0DB;
  transition:transform .5s cubic-bezier(.16,1,.3,1);}
.inspiration-card:hover .inspiration-media{transform:scale(1.05);}
.inspiration-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(14,20,28,.75) 100%);}
.inspiration-title{position:absolute;left:20px;bottom:20px;z-index:2;color:#fff;
  font-family:'Manrope',sans-serif;font-weight:600;font-size:16px;max-width:80%;}
@media (max-width:960px){.inspiration-grid{grid-template-columns:1fr;}}

/* ============ FIND A STORE ============ */
.find-store{background:var(--mist);}
.find-store-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;}
.find-store-copy h2{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);
  line-height:1.15;margin-bottom:18px;}
.find-store-copy p{color:rgba(18,32,46,.65);margin-bottom:32px;max-width:420px;line-height:1.65;}
.find-store-media{aspect-ratio:4/3;border-radius:4px;background-size:cover;background-position:center;background-color:#DCE0DB;}
@media (max-width:960px){.find-store-inner{grid-template-columns:1fr;gap:32px;}}

/* ============ CTA BAND ============ */
.cta-band{background:var(--ink);color:#fff;}
.cta-inner{text-align:center;max-width:640px;}
.cta-inner h2{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,40px);margin-bottom:16px;}
.cta-inner p{color:rgba(255,255,255,.7);margin-bottom:32px;}

/* ============ FOOTER ============ */
.site-footer{background:var(--navy);color:rgba(255,255,255,.85);padding:80px 0 0;}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.12);}
.nav-mark--footer{margin-bottom:16px;}
.footer-tagline{color:rgba(255,255,255,.55);font-size:14px;line-height:1.6;max-width:240px;}
.footer-col h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;margin-bottom:20px;color:#fff;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-col ul a{color:rgba(255,255,255,.65);text-decoration:none;font-size:14px;}
.footer-col ul a:hover{color:#fff;}
.footer-newsletter p{color:rgba(255,255,255,.55);font-size:14px;margin-bottom:16px;line-height:1.5;}
.newsletter-form{display:flex;gap:8px;}
.newsletter-form input{flex:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:2px;padding:11px 14px;color:#fff;font-size:14px;font-family:'Inter',sans-serif;}
.newsletter-form input::placeholder{color:rgba(255,255,255,.4);}
.newsletter-form button{background:var(--cyan);color:var(--navy);border:none;border-radius:2px;padding:0 18px;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:13px;cursor:pointer;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:24px 0;font-size:13px;color:rgba(255,255,255,.5);}
.footer-legal{list-style:none;display:flex;gap:24px;}
.footer-legal a{color:rgba(255,255,255,.5);text-decoration:none;}
@media (max-width:960px){.footer-top{grid-template-columns:repeat(2,1fr);}}
.footer-brand img{max-height:60px;}
/* Typography: ensure the bundled design font stack is applied consistently. */
html, body, button, input, select, textarea { font-family:'Inter', sans-serif; }