:root{
  --cream: #F7F2E7;
  --cream-deep: #EDE2D0;
  --rust: #A8502E;
  --rust-deep: #8A3F23;
  --sage: #5E6E4F;
  --sage-deep: #47543A;
  --ink: #2B2620;
  --gold: #8C7A3A;
  --line: rgba(43,38,32,0.12);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  letter-spacing:-0.01em;
  color:var(--ink);
}

.eyebrow{
  font-size:0.72rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--rust);
  font-weight:600;
}

a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}

.wrap{
  max-width:1240px;
  margin:0 auto;
  padding:0 48px;
}

/* ---------- NAV ---------- */
header{
  position:sticky;
  top:0; left:0; right:0;
  z-index:20;
  padding:24px 0;
  background:rgba(247,242,231,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color 0.3s ease;
}
header.on-hero{
  position:absolute;
  background:transparent;
  backdrop-filter:none;
}
nav.wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brandmark{
  display:flex;
  align-items:center;
  gap:16px;
}
.brandmark img{
  width:64px; height:64px;
  border-radius:50%;
  background:var(--cream);
  border:2px solid rgba(255,255,255,0.85);
  box-shadow:0 2px 10px rgba(0,0,0,0.18);
  object-fit:cover;
}
.brandmark span{
  font-family:'Fraunces', serif;
  font-size:1.35rem;
  font-weight:600;
  letter-spacing:0.01em;
}
.navlinks{
  display:flex;
  gap:26px;
  font-size:0.82rem;
  letter-spacing:0.02em;
}
.navlinks a{
  position:relative;
  padding-bottom:4px;
  opacity:0.85;
}
.navlinks a.active{opacity:1; color:var(--rust);}
.navlinks a:hover{opacity:1;}
.navlinks a::after{
  content:'';
  position:absolute;
  left:0; bottom:0;
  width:0; height:1px;
  background:var(--rust);
  transition:width 0.3s ease;
}
.navlinks a:hover::after{width:100%;}
.nav-cta{
  font-size:0.82rem;
  letter-spacing:0.04em;
  padding:10px 22px;
  border:1px solid var(--ink);
  border-radius:2px;
  transition:background 0.25s ease, color 0.25s ease;
}
.nav-cta:hover{background:var(--ink); color:var(--cream);}
@media (max-width:900px){ .navlinks{display:none;} }

/* ---------- PAGE HERO (interior pages) ---------- */
.page-hero{
  padding:190px 0 110px;
  border-bottom:1px solid var(--line);
  position:relative;
  overflow:hidden;
}
.page-hero .wrap{
  display:grid;
  grid-template-columns:1.3fr 0.7fr;
  gap:60px;
  align-items:end;
}
.page-hero h1{
  font-size:clamp(2.2rem, 4.6vw, 3.6rem);
  line-height:1.08;
  max-width:14ch;
}
.page-hero h1 em{font-style:italic; color:var(--rust); font-weight:400;}
.page-hero p{
  font-size:1rem;
  color:rgba(43,38,32,0.72);
  max-width:34ch;
  padding-bottom:6px;
}
.page-hero .eyebrow{display:block; margin-bottom:20px;}

/* ---------- BIG HERO (home only) ---------- */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  background:
    radial-gradient(ellipse at 78% 18%, rgba(168,80,46,0.10), transparent 55%),
    radial-gradient(ellipse at 15% 85%, rgba(94,110,79,0.10), transparent 50%),
    var(--cream);
  overflow:hidden;
}
.hero-branch{
  position:absolute;
  top:-40px; right:-60px;
  width:520px;
  opacity:0.9;
}
.hero-inner{position:relative; width:100%; padding:0 0 90px 0;}
.hero .wrap{
  display:grid;
  grid-template-columns:1.4fr 0.6fr;
  gap:60px;
  align-items:end;
}
.hero h1{
  font-size:clamp(2.6rem, 6vw, 5.1rem);
  line-height:1.02;
  max-width:11ch;
}
.hero h1 em{font-style:italic; color:var(--rust); font-weight:400;}
.hero-sub{padding-bottom:6px;}
.hero-sub p{
  font-size:1.02rem;
  max-width:34ch;
  color:rgba(43,38,32,0.75);
  margin-top:22px;
}
.scroll-cue{
  display:flex; align-items:center; gap:12px;
  margin-top:52px;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:rgba(43,38,32,0.55);
}
.scroll-cue .stem{width:38px; height:1px; background:rgba(43,38,32,0.4); position:relative;}
.scroll-cue .stem::after{
  content:''; position:absolute; right:0; top:-2px;
  width:5px; height:5px; border-radius:50%;
  background:var(--rust);
  animation:drift 2.2s ease-in-out infinite;
}
@keyframes drift{0%,100%{transform:translateX(0);} 50%{transform:translateX(6px);}}

/* ---------- STATEMENT (asymmetric) ---------- */
.statement{padding:150px 0 130px; border-top:1px solid var(--line);}
.statement.tight{padding:100px 0;}
.statement .wrap{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px;}
.statement .label-col{padding-top:8px;}
.statement .label-col .eyebrow{margin-bottom:18px; display:block;}
.statement .label-col .statement-media{
  width:100%; max-width:340px; aspect-ratio:4/5; border-radius:2px;
  overflow:hidden; margin-top:26px; background-size:cover; background-position:center;
}

.statement h2{
  font-size:clamp(1.7rem, 2.6vw, 2.5rem);
  line-height:1.3; font-weight:400; max-width:22ch;
}
.statement h2 .accent{color:var(--sage); font-style:italic;}
.statement p.body-copy{
  color:rgba(43,38,32,0.72);
  font-size:1rem;
  max-width:56ch;
  margin-top:10px;
}

/* ---------- PROCESS (alternating blocks) ---------- */
.process{padding:40px 0 60px;}
.process-row{
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center; padding:40px 0;
  border-top:1px solid var(--line);
}
.process-row:nth-child(even) .process-media{order:2;}
.process-media{
  aspect-ratio:4/5; border-radius:2px;
  background:linear-gradient(155deg, var(--cream-deep), #E2D5BC 60%, #D8C9A9);
  position:relative; overflow:hidden;
}
.process-media.alt{background:linear-gradient(155deg, #E7DCC4, var(--cream-deep) 60%, #DCCDAE);}
.process-media.sage{background:linear-gradient(155deg, #C7CEBB, #AEB89C 60%, #97A480);}
.process-media::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.5), transparent 40%),
    radial-gradient(circle at 70% 75%, rgba(94,110,79,0.12), transparent 45%);
}
.process-index{
  font-family:'Fraunces', serif; font-size:0.85rem;
  color:var(--gold); letter-spacing:0.08em;
  margin-bottom:22px; display:block;
}
.process-copy h3{font-size:clamp(1.5rem, 2.4vw, 2.1rem); font-weight:400; max-width:18ch; margin-bottom:20px;}
.process-copy p{color:rgba(43,38,32,0.72); max-width:44ch; font-size:0.98rem; margin-bottom:14px;}
.process-copy ul{list-style:none; margin-top:18px;}
.process-copy ul li{
  font-size:0.92rem; color:rgba(43,38,32,0.75);
  padding:10px 0; border-top:1px solid var(--line);
}
.process-copy ul li:first-child{border-top:none;}
.process-copy ul li strong{color:var(--ink); font-weight:500;}
/* Home page (index.html): Sourcing/Weaving/Finishing images reduced 50% and re-aligned */
.process.process-compact-idx .process-row{grid-template-columns:1fr 1fr; gap:56px;}
.process.process-compact-idx .process-media{aspect-ratio:4/3; width:100%; max-width:460px; margin:0 auto;}
@media (max-width:900px){
  .process.process-compact-idx .process-row{grid-template-columns:1fr;}
}
/* Corporate page: tighter rhythm for the process rows */
.process-tight .process-row{padding:56px 0;}
.process-tight .process-index{margin-bottom:16px;}
.process-tight .process-copy h3{margin-bottom:14px;}
.process-tight .process-copy p{margin-bottom:10px;}
.process-tight .process-copy ul{margin-top:14px;}
.process-tight .process-copy ul li{padding:8px 0;}
.process.process-tight{padding-top:28px; padding-bottom:8px;}
.process-tight .process-row:last-child{padding-bottom:28px;}


/* ---------- COLLECTIONS ---------- */
.collections{padding:130px 0; background:var(--cream-deep);}
.collections.on-cream{background:var(--cream);}
/* Corporate page: tighter spacing below the three service cards */
.collections-tight{padding:48px 0 8px;}

.collections-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:64px; gap:40px; flex-wrap:wrap;
}
.collections-head h2{font-size:clamp(1.9rem, 3vw, 2.6rem); font-weight:400; max-width:16ch;}
.collections-head p{max-width:32ch; color:rgba(43,38,32,0.7); font-size:0.95rem; padding-bottom:6px;}
.collection-grid{
  display:grid; grid-template-columns:1.3fr 1fr 1fr;
  grid-template-rows:auto auto; gap:24px;
}
.collection-grid.even{grid-template-columns:repeat(3, 1fr);}
.collection-grid.four{grid-template-columns:repeat(4, 1fr);}
.collection-card{
  background:var(--cream); border:1px solid var(--line);
  padding:38px 32px; position:relative;
  transition:transform 0.35s ease, box-shadow 0.35s ease;
}
.collection-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(43,38,32,0.18);}
.collection-grid:not(.even) .collection-card:first-child{
  grid-row:span 2; display:flex; flex-direction:column; justify-content:flex-end;
  min-height:420px; background:linear-gradient(165deg, #3F4A34, var(--sage-deep)); color:var(--cream);
}
.collection-grid:not(.even) .collection-card:first-child .eyebrow{color:var(--cream); opacity:0.7;}
.collection-grid:not(.even) .collection-card:first-child h3{color:var(--cream);}
.collection-grid:not(.even) .collection-card:first-child p{color:rgba(247,242,231,0.75);}
/* Baby Essentials: Toys & Gifts (4-up grid) — plain cards, no featured dark tile */
.collection-grid.four .collection-card:first-child{
  grid-row:auto; display:block; min-height:auto;
  background:var(--cream); color:var(--ink);
}
.collection-grid.four .collection-card:first-child .eyebrow{color:var(--rust); opacity:1;}
.collection-grid.four .collection-card:first-child h3{color:var(--ink);}
.collection-grid.four .collection-card:first-child p{color:rgba(43,38,32,0.65);}
.collection-card .eyebrow{display:block; margin-bottom:14px;}
.collection-card h3{font-size:1.35rem; font-weight:400; margin-bottom:12px;}
.collection-card p{font-size:0.88rem; color:rgba(43,38,32,0.65);}
.collection-card .swatch{
  width:100%; aspect-ratio:4/3; border-radius:2px; margin-bottom:22px;
  background:linear-gradient(140deg, var(--cream-deep), #DCCDAE);
  background-size:contain !important; background-repeat:no-repeat !important; background-position:center !important;
}

/* ---------- TRUST ---------- */
.trust{padding:140px 0 120px;}
.trust.tight{padding:0 0 120px;}
/* Corporate page: tighter bottom spacing below testimonials */
.trust-corporate{padding-bottom:32px;}
.trust-quote{max-width:820px; margin:0 auto 0; text-align:center;}
.trust-quote .mark{font-family:'Fraunces', serif; font-size:3.5rem; color:var(--rust); line-height:1; margin-bottom:10px;}
.trust-quote p{
  font-family:'Fraunces', serif; font-size:clamp(1.3rem, 2.6vw, 1.9rem);
  font-weight:400; font-style:italic; line-height:1.5; color:var(--ink);
}
.trust-quote cite{
  display:block; margin-top:26px; font-style:normal;
  font-family:'Work Sans', sans-serif; font-size:0.8rem;
  letter-spacing:0.1em; text-transform:uppercase; color:rgba(43,38,32,0.55);
}
.clients{
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:36px; padding-top:56px; border-top:1px solid var(--line);
}
.clients .eyebrow{width:100%; margin-bottom:8px;}
.client-name{font-family:'Fraunces', serif; font-size:1.15rem; color:rgba(43,38,32,0.4); letter-spacing:0.02em;}

.cert-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:70px;
}
.cert-card{
  border:1px solid var(--line); padding:30px 26px; text-align:left;
}
.cert-card .eyebrow{display:block; margin-bottom:10px;}
.cert-card h4{font-family:'Fraunces', serif; font-weight:500; font-size:1.02rem; margin-bottom:8px;}
.cert-card p{font-size:0.85rem; color:rgba(43,38,32,0.62);}

.testimonial-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:16px;
}
.testimonial-card{
  border:1px solid var(--line); padding:36px 32px; background:var(--cream);
}
.testimonial-card p{
  font-family:'Fraunces', serif; font-style:italic; font-size:1.05rem;
  line-height:1.55; margin-bottom:20px;
}
.testimonial-card cite{
  font-style:normal; font-size:0.78rem; letter-spacing:0.08em;
  text-transform:uppercase; color:rgba(43,38,32,0.55);
}

.photo-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:70px;
}
.photo-tile{aspect-ratio:1; border-radius:2px; min-width:0; background:linear-gradient(145deg, var(--cream-deep), #DCCDAE);}
.photo-tile.tall{aspect-ratio:3/4;}
.photo-tile.sage{background:linear-gradient(145deg, #C7CEBB, #97A480);}
.photo-tile.rust{background:linear-gradient(145deg, #D8A88C, #A8502E);}

/* ---------- SHOWROOM ---------- */
.showroom{padding:0 0 40px;}
.showroom-inner{
  background:var(--sage-deep); color:var(--cream); padding:110px 0;
  position:relative; overflow:hidden;
}
.showroom-inner::before{
  content:''; position:absolute; bottom:-100px; left:-80px;
  width:360px; height:360px; border-radius:50%;
  background:radial-gradient(circle, rgba(168,80,46,0.18), transparent 70%);
}
.showroom .wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; position:relative;}
.showroom .eyebrow{color:#D8B98C;}
.showroom h2{color:var(--cream); font-size:clamp(1.9rem, 3vw, 2.6rem); font-weight:400; max-width:14ch; margin-top:18px;}
.showroom-details{display:flex; flex-direction:column; gap:26px;}
.showroom-details .row{border-top:1px solid rgba(247,242,231,0.18); padding-top:20px;}
.showroom-details .row .k{
  font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; color:#D8B98C;
  display:block; margin-bottom:8px;
}
.showroom-details .row .v{font-size:1.02rem; color:rgba(247,242,231,0.9);}

.map-block{
  margin-top:70px; border:1px solid var(--line); aspect-ratio:16/6;
  background:linear-gradient(135deg, var(--cream-deep), #DCCDAE);
  display:flex; align-items:center; justify-content:center;
}
.map-block span{font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(43,38,32,0.5);}

/* ---------- FORM (contact) ---------- */
.contact-layout{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; padding:20px 0 130px;
}
.contact-info .row{border-top:1px solid var(--line); padding:22px 0;}
.contact-info .row:first-child{border-top:none;}
.contact-info .row .k{
  font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--rust);
  display:block; margin-bottom:8px;
}
.contact-info .row .v{font-size:1rem; color:rgba(43,38,32,0.8);}
.form-panel{background:var(--cream-deep); padding:48px; border-radius:2px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{
  font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(43,38,32,0.6);
}
.field input, .field select, .field textarea{
  border:1px solid var(--line); background:var(--cream);
  padding:13px 14px; font-family:'Work Sans', sans-serif; font-size:0.92rem; color:var(--ink);
  border-radius:1px;
}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--rust);
}
.submit-btn{
  margin-top:8px; width:100%; padding:15px; background:var(--ink); color:var(--cream);
  border:none; font-family:'Work Sans', sans-serif; font-size:0.9rem; letter-spacing:0.05em;
  cursor:pointer; transition:background 0.25s ease;
}
.submit-btn:hover{background:var(--rust-deep);}

/* ---------- CONTACT CARDS + FORM HEADING ---------- */
.contact-intro{font-size:1rem; color:rgba(43,38,32,0.75); line-height:1.7; margin-bottom:36px; max-width:44ch;}
.contact-card{display:flex; gap:18px; align-items:flex-start; padding:20px 0; border-top:1px solid var(--line);}
.contact-card:first-of-type{border-top:none; padding-top:0;}
.contact-icon{flex:none; width:36px; height:36px; border-radius:8px; background:var(--cream-deep); color:var(--rust); display:flex; align-items:center; justify-content:center;}
.contact-icon svg{width:16px; height:16px;}
.contact-card .cc-label{font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink); font-weight:600; display:block; margin-bottom:6px;}
.contact-card .cc-value{font-size:0.95rem; color:rgba(43,38,32,0.75); line-height:1.5;}
.contact-card .cc-value a{color:inherit;}
.contact-card .cc-value a:hover{color:var(--rust);}
.form-panel .form-heading{font-size:1.7rem; margin-bottom:32px;}

/* ---------- FOOTER ---------- */
footer{padding:80px 0 44px; border-top:1px solid var(--line);}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; padding-bottom:64px; border-bottom:1px solid var(--line);}
.footer-brand .brandmark{margin-bottom:18px;}
.footer-brand p{max-width:30ch; font-size:0.88rem; color:rgba(43,38,32,0.6);}
.footer-col h4{font-family:'Fraunces', serif; font-weight:500; font-size:0.9rem; margin-bottom:18px;}
.footer-col a{display:block; font-size:0.88rem; color:rgba(43,38,32,0.65); margin-bottom:12px;}
.footer-col a:hover{color:var(--rust);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:32px; font-size:0.78rem; color:rgba(43,38,32,0.5); letter-spacing:0.03em;}

@media (max-width:900px){
  .wrap{padding:0 24px;}
  .hero .wrap, .statement .wrap, .process-row, .showroom .wrap, .page-hero .wrap, .contact-layout{grid-template-columns:1fr;}
  .process-row:nth-child(even) .process-media{order:0;}
  .collection-grid, .collection-grid.even, .collection-grid.four{grid-template-columns:1fr;}
  .collection-grid:not(.even) .collection-card:first-child{min-height:300px;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .hero-branch{width:340px; opacity:0.5;}
  .cert-grid, .photo-grid, .testimonial-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
}


/* ---------- HERO PHOTO VARIANT (entrance banner images) ---------- */
.page-hero.has-photo{
  background-size:cover;
  background-position:center;
  color:#fff;
}
.page-hero.has-photo::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(8,7,6,0.72);
  z-index:0;
}
.page-hero.has-photo .wrap{position:relative; z-index:1;}
.page-hero.has-photo .eyebrow{color:#f8d9bd; text-shadow:0 1px 6px rgba(0,0,0,0.5);}
.page-hero.has-photo h1{color:#fff; text-shadow:0 0 2px #000, 0 0 14px rgba(0,0,0,0.8), 0 2px 4px rgba(0,0,0,0.85); font-weight:700;}
.page-hero.has-photo h1 em{color:#f6b98c;}
.page-hero.has-photo p{color:#fff; text-shadow:0 0 2px #000, 0 1px 10px rgba(0,0,0,0.75);}

.hero.has-photo{background-size:cover; background-position:center;}
.hero.has-photo::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(8,7,6,0.66);
  z-index:0;
}
.hero.has-photo .hero-inner{position:relative; z-index:1;}
.hero.has-photo .hero-branch{display:none;}
.hero.has-photo .eyebrow{color:#f8d9bd; text-shadow:0 1px 6px rgba(0,0,0,0.5);}
.hero.has-photo h1{color:#fff; text-shadow:0 0 2px #000, 0 0 16px rgba(0,0,0,0.8), 0 2px 4px rgba(0,0,0,0.85); font-weight:700;}
.hero.has-photo h1 em{color:#f6b98c;}
.hero.has-photo .hero-sub p{color:#fff; text-shadow:0 0 2px #000, 0 1px 10px rgba(0,0,0,0.75);}
.hero.has-photo .scroll-cue{color:rgba(255,255,255,0.9); text-shadow:0 1px 6px rgba(0,0,0,0.5);}
.hero.has-photo .scroll-cue .stem{background:rgba(255,255,255,0.8);}

header.on-hero.has-photo{background:rgba(8,7,6,0.35);}
header.on-hero.has-photo .brandmark span{color:#fff; text-shadow:0 0 2px #000, 0 1px 8px rgba(0,0,0,0.7);}
header.on-hero.has-photo .navlinks a{color:#fff; text-shadow:0 0 2px #000, 0 1px 8px rgba(0,0,0,0.7);}
header.on-hero.has-photo .navlinks a.active{color:#f6b98c;}
header.on-hero.has-photo .nav-cta{border-color:#fff; color:#fff;}
header.on-hero.has-photo .nav-cta:hover{background:#fff; color:var(--ink);}

/* ============================================================
   RESPONSIVE - MOBILE NAV + FINE-TUNED BREAKPOINTS
   mobile <600px | tablet/iPad 600-900px | laptop 901-1180px | desktop 1181px+
   ============================================================ */

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:36px; height:36px;
  padding:0; border:none; background:none; cursor:pointer;
  z-index:30;
}
.nav-toggle span{
  display:block; width:100%; height:2px;
  background:var(--ink);
  transition:transform 0.25s ease, opacity 0.25s ease;
}
header.on-hero .nav-toggle span,
header.on-hero.has-photo .nav-toggle span{ background:#fff; }
header.nav-open .nav-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
header.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
header.nav-open .nav-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:900px){
  nav.wrap{ flex-wrap:wrap; }
  .nav-toggle{ display:inline-flex; order:3; }
  .nav-cta{ order:2; }
  .navlinks{
    order:4;
    flex-basis:100%; width:100%;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    margin-top:18px;
  }
  header.nav-open .navlinks{ display:flex; }
  .navlinks a{ width:100%; padding:14px 2px; border-top:1px solid var(--line); }
  .navlinks a::after{ display:none; }
}

/* ---------- Laptop (901-1180px) ---------- */
@media (max-width:1180px) and (min-width:901px){
  .wrap{ padding:0 32px; }
  .page-hero{ padding:170px 0 90px; }
  .hero-branch{ width:420px; }
}

/* ---------- Tablet / iPad (601-900px) ---------- */
@media (max-width:900px){
  .page-hero{ padding:150px 0 80px; }
  .hero-branch{ width:300px; opacity:0.4; }
  .trust, .trust.tight{ padding:90px 0 80px; }
  .process-row{ padding:60px 0; gap:40px; }
}

/* ---------- Phone (<=600px) ---------- */
@media (max-width:600px){
  .wrap{ padding:0 18px; }
  header{ padding:16px 0; }
  .brandmark img{ width:44px; height:44px; }
  .brandmark span{ font-size:1.05rem; }
  .nav-cta{ padding:9px 16px; font-size:0.78rem; }

  .page-hero{ padding:120px 0 56px; }
  .page-hero h1{ max-width:100%; }
  .page-hero p{ max-width:100%; }

  .hero{ min-height:auto; padding-top:120px; padding-bottom:40px; }
  .hero-inner{ padding-bottom:40px; }
  .hero-branch{ display:none; }
  .hero h1{ max-width:100%; }

  .statement{ padding:70px 0; }
  .statement.tight{ padding:56px 0; }
  .statement h2{ max-width:100%; }

  .process-row{ padding:44px 0; gap:30px; }

  .collection-card{ padding:28px 22px; }
  .collection-grid:not(.even) .collection-card:first-child{ min-height:240px; }

  .trust{ padding:70px 0 60px; }
  .trust.tight{ padding:0 0 60px; }
  .trust-quote .mark{ font-size:2.4rem; }
  .trust-quote{ margin-bottom:50px; }

  .cert-grid, .photo-grid, .testimonial-grid{ grid-template-columns:1fr; }

  .footer-top{ grid-template-columns:1fr; gap:36px; }
  .footer-bottom{ flex-direction:column; gap:8px; text-align:left; }

  .form-row{ gap:14px; }
  .contact-layout{ gap:50px; padding:10px 0 80px; }

  .map-block{ aspect-ratio:4/3; margin-top:44px; }
}


/* Baby Essentials page: tighter section spacing (scoped, does not affect other pages) */
.hero-tight-baby{padding:56px 0 16px;}
.collections-tight-baby{padding:32px 0 12px;}
.statement.statement-tight-baby{padding:28px 0 12px;}
footer.footer-tight-baby{padding-top:24px;}


/* Home Interior page: tighter section spacing, min 1 inch (~96px) between sections (scoped, does not affect other pages) */
.page-hero.hero-tight-home{padding:72px 0 48px;}
.collections.collections-tight-home{padding:48px 0;}
.statement.statement-tight-home{padding:48px 0;}
footer.footer-tight-home{padding-top:48px;padding-bottom:32px;}


/* About Us page: tighter section spacing, min 1 inch (~96px) between sections (scoped, does not affect other pages) */
.page-hero.hero-tight-about{padding:72px 0 48px;}
.page-hero.hero-tight-corporate{padding:72px 0 48px;}
.page-hero.hero-tight-corporate h1{max-width:18ch;}
.statement.statement-tight-about1{padding:48px 0;}
.statement.tight.statement-tight-about2{padding:48px 0;}
.collections.collections-tight-about{padding:48px 0;}
.trust.tight.trust-tight-about{padding:48px 0;}
footer.footer-tight-about{padding:48px 0 32px;}

/* About Us page: image positioned opposite the eyebrow/heading, side-by-side with text */
.statement.has-photo .wrap{grid-template-columns:0.75fr 1fr 0.9fr; align-items:center;}
.statement-photo-col{width:100%;}
.about-para-photo{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;border-radius:6px;margin:0;}

@media (max-width:900px){
  .statement.has-photo .wrap{grid-template-columns:1fr;}
  .statement-photo-col{margin-top:24px;}
}


/* About Us page: image below each Verified & trusted card (Sourcing/Quality/Compliance/Service) */
.cert-card{display:flex; flex-direction:column; align-items:center; text-align:center;}
.cert-card-photo{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; margin-top:auto; margin-bottom:0;}

@media (max-width:900px){
  .cert-grid{grid-template-columns:1fr 1fr;}
}

/* About Us page: image below each "What we stand for" card (Material honesty/Reliability/Directness), centered and aligned to a common line */
.collection-grid.even .collection-card{display:flex; flex-direction:column; align-items:center; text-align:center;}
.stand-card-photo{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; margin-top:auto; margin-bottom:0;}

@media (max-width:900px){
  .collection-grid.even{grid-template-columns:1fr;}
}

/* Home page (index.html): tighter section spacing, min/max 1 inch (~96px) between sections (scoped, does not affect other pages) */
.statement.statement-tight-idx{padding:48px 0;}
.statement.statement-tight-idx .label-col{align-self:start;}
.collections.collections-tight-idx{padding:48px 0;}
.trust.tight.trust-tight-idx{padding:0 0 48px;}
footer.footer-tight-idx{padding:48px 0 32px;}

/* Home page (index.html): hero restructured to match About Us side-by-side statement style */
.hero{position:relative; min-height:auto; display:block; background:var(--cream); overflow:hidden; padding:90px 0 90px;}
.hero .wrap{display:grid; grid-template-columns:0.75fr 1fr 0.9fr; gap:70px; align-items:center;}
.hero .label-col{padding-top:8px; align-self:start;}
.hero .label-col .eyebrow{margin-bottom:18px; display:block;}
.hero h1{font-size:clamp(2.4rem,4.6vw,3.8rem); line-height:1.08; margin:0 0 22px;}
.hero .hero-sub{padding-bottom:0;}
.hero .hero-sub p{color:rgba(43,38,32,0.7);}
.hero .scroll-cue{margin-top:32px; color:rgba(43,38,32,0.55);}
.hero-photo-col{width:100%; height:100%;}
.hero-side-photo{display:block; width:100%; height:100%; max-width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:6px; margin:0;}
@media (max-width:900px){
  .hero{padding:90px 0 60px;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero-photo-col{margin-top:24px; order:3;}
}

/* Home page (index.html): collections intro restructured with eyebrow + photo, matching About Us statement style */
.collections-head.collections-head-photo-idx{display:grid; grid-template-columns:0.9fr 1fr; gap:60px; align-items:center; margin-bottom:64px;}
.collections-head-text .eyebrow{margin-bottom:16px; display:block;}
.collections-head-text h2{max-width:none; margin-bottom:14px;}
.collections-head-text p{max-width:none;}
.collections-head-photo{width:100%; height:100%;}
.collections-head-img{display:block; width:100%; height:100%; max-width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:6px; margin:0;}
@media (max-width:900px){
  .collections-head.collections-head-photo-idx{grid-template-columns:1fr;}
  .collections-head-photo{margin-top:20px;}
}

/* Home page (index.html): process section intro heading */
.process-head-idx{max-width:640px; margin:0 0 56px;}
.process-head-idx .eyebrow{margin-bottom:16px; display:block;}
.process-head-idx h2{font-size:clamp(1.9rem,3vw,2.6rem); font-weight:400;}

/* Floating WhatsApp chat button - sitewide */
.whatsapp-float{
  position:fixed; right:24px; bottom:24px; z-index:999;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,0.25);
  transition:transform .2s ease;
}
.whatsapp-float:hover{transform:scale(1.08);}
.whatsapp-float svg{width:30px;height:30px;fill:#fff;}
@media (max-width:600px){
  .whatsapp-float{right:16px;bottom:16px;width:50px;height:50px;}
  .whatsapp-float svg{width:26px;height:26px;}
}
