:root {
  --ink: #16120f;
  --ink-soft: #3b322b;
  --paper: #f3eadc;
  --paper-2: #e7dccb;
  --foam: #faf6ef;
  --kraft: #9a6234;
  --leaf: #c08958;
  --sage: #6f7f6a;
  --terra: #c46a4a;
  --line: rgba(22, 18, 15, 0.14);
  --shadow: 0 24px 60px rgba(22, 18, 15, 0.18);
  --display: "Fraunces", "Times New Roman", serif;
  --sans: "Sora", "Segoe UI", sans-serif;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(196, 106, 74, 0.12), transparent 50%),
    radial-gradient(900px 400px at 100% 0%, rgba(111, 127, 106, 0.14), transparent 45%),
    var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -0.01em;
}

.grain {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 40;
  opacity: 0.22;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

img,
video {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.skip {
  position: absolute;
  left: -999px;
  top: 0;
}

.skip:focus {
  left: 12px;
  z-index: 50;
  background: var(--ink);
  color: var(--foam);
  padding: 8px 12px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.announce {
  display: flex;
  gap: 0.7rem;
  justify-content: center;
  align-items: center;
  padding: 0.55rem 1rem;
  background: var(--ink);
  color: var(--paper);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.announce-sep {
  opacity: 0.4;
}

.nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 1.1rem;
  border-bottom: 1px solid var(--line);
  background: rgba(243, 234, 220, 0.86);
  backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 20;
}

.brand img {
  width: 92px;
  height: auto;
}

.nav-toggle {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
}

.nav-toggle-lines,
.nav-toggle-lines::before,
.nav-toggle-lines::after {
  display: block;
  width: 18px;
  height: 1.5px;
  background: var(--ink);
  margin: 0 auto;
  position: relative;
}

.nav-toggle-lines::before,
.nav-toggle-lines::after {
  content: "";
  position: absolute;
  left: 0;
}

.nav-toggle-lines::before { top: -6px; }
.nav-toggle-lines::after { top: 6px; }

.site-nav {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--foam);
  border-bottom: 1px solid var(--line);
  padding: 1rem 1.1rem 1.4rem;
}

.site-nav.is-open,
.nav-bar:has(.nav-toggle[aria-expanded="true"]) .site-nav {
  display: block;
}

.site-nav ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.site-nav a {
  text-decoration: none;
  font-size: 0.95rem;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.site-nav a.is-active {
  color: var(--kraft);
}

.nav-cat {
  opacity: 0.72;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.7rem 1.2rem;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--foam);
  text-decoration: none;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.4s var(--ease), background 0.3s;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-ghost {
  background: transparent;
  color: var(--ink);
}

.btn-wa {
  background: #1c5c3a;
  border-color: #1c5c3a;
}

.hero {
  display: grid;
  min-height: 86svh;
  position: relative;
  overflow: hidden;
}

.hero-media {
  position: relative;
  min-height: 52svh;
  background: #1a1612;
}

.hero-media video,
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
  min-height: 52svh;
  filter: saturate(0.92) contrast(1.05);
  transform: scale(1.06);
}

.hero-copy {
  padding: 2.2rem 1.2rem 2.6rem;
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: 1.1rem;
}

.kicker {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--kraft);
}

h1, h2, h3 {
  font-family: var(--display);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin: 0;
}

h1 {
  font-size: clamp(2.4rem, 8vw, 5.6rem);
  max-width: 14ch;
  font-optical-sizing: auto;
}

.lede {
  max-width: 38rem;
  font-size: 1.02rem;
  color: var(--ink-soft);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.band {
  padding: 3.2rem 1.2rem;
}

.band-head {
  display: grid;
  gap: 0.7rem;
  margin-bottom: 1.8rem;
  max-width: 40rem;
}

.band h2 {
  font-size: clamp(1.8rem, 4.5vw, 3.2rem);
}

.split {
  display: grid;
  gap: 1.5rem;
}

.steps {
  counter-reset: step;
  display: grid;
  gap: 1rem;
}

.step {
  border-top: 1px solid var(--line);
  padding: 1.1rem 0 0.4rem;
  display: grid;
  gap: 0.4rem;
}

.step::before {
  counter-increment: step;
  content: "0" counter(step);
  font-family: var(--display);
  font-size: 1.4rem;
  color: var(--kraft);
}

.masonry {
  columns: 1;
  column-gap: 0.9rem;
}

.card {
  break-inside: avoid;
  margin-bottom: 0.9rem;
  background: var(--foam);
  border: 1px solid var(--line);
  overflow: hidden;
  text-decoration: none;
  display: block;
  animation: rise 0.9s var(--ease) both;
}

.card:nth-child(1) { animation-delay: 0.05s; }
.card:nth-child(2) { animation-delay: 0.12s; }
.card:nth-child(3) { animation-delay: 0.18s; }
.card:nth-child(4) { animation-delay: 0.24s; }
.card:nth-child(5) { animation-delay: 0.3s; }
.card:nth-child(6) { animation-delay: 0.36s; }

@keyframes rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

.card-media {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #2a241e;
}

.card-media.wide {
  aspect-ratio: 16 / 11;
}

.card img,
.card video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  transition: transform 0.8s var(--ease);
}

.card:hover img,
.card:hover video {
  transform: scale(1.07);
}

.card-meta {
  padding: 0.9rem 1rem 1.1rem;
}

.card-meta span {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kraft);
}

.card-meta strong {
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 500;
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1.4rem;
}

.chip {
  min-height: 44px;
  padding: 0 0.95rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-size: 0.8rem;
  background: transparent;
}

.chip.is-on,
.chip:hover {
  background: var(--ink);
  color: var(--foam);
  border-color: var(--ink);
}

.piece-hero {
  display: grid;
  gap: 1rem;
  padding: 1rem 1.1rem 2rem;
}

.piece-stage {
  background: #1b1713;
  min-height: 50svh;
  overflow: hidden;
}

.piece-stage img,
.piece-stage video {
  width: 100%;
  height: min(78svh, 820px);
  object-fit: cover;
  object-position: center 55%;
}

.thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.4rem;
}

.thumbs button {
  border: 0;
  padding: 0;
  background: #2a241e;
  cursor: pointer;
  aspect-ratio: 1;
  overflow: hidden;
}

.thumbs img,
.thumbs video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prose {
  max-width: 42rem;
  display: grid;
  gap: 0.9rem;
}

.faq details {
  border-top: 1px solid var(--line);
  padding: 0.9rem 0;
}

.faq summary {
  cursor: pointer;
  font-weight: 500;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.form {
  display: grid;
  gap: 0.8rem;
  max-width: 36rem;
}

.form label {
  display: grid;
  gap: 0.35rem;
  font-size: 0.82rem;
}

.form input,
.form textarea,
.form select {
  font: inherit;
  padding: 0.75rem 0.8rem;
  border: 1px solid var(--line);
  background: var(--foam);
  min-height: 48px;
}

.form textarea {
  min-height: 140px;
}

.hp {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.notice {
  padding: 0.85rem 1rem;
  border: 1px solid var(--sage);
  background: rgba(111, 127, 106, 0.12);
}

.site-footer {
  padding: 3rem 1.2rem 6.5rem;
  background: var(--ink);
  color: var(--paper);
}

.footer-grid {
  display: grid;
  gap: 1.6rem;
}

.footer-brand img {
  width: 110px;
  height: auto;
  filter: invert(0.92) sepia(0.2);
}

.site-footer h2 {
  font-size: 1rem;
  margin-bottom: 0.6rem;
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.site-footer a {
  text-decoration: none;
  opacity: 0.88;
}

.footer-base {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(243, 234, 220, 0.15);
  font-size: 0.82rem;
  opacity: 0.75;
}

.fine {
  max-width: 36rem;
}

.wa-dock {
  position: fixed;
  z-index: 30;
  left: 12px;
  right: 12px;
  bottom: 12px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1c5c3a;
  color: #f4faf6;
  text-decoration: none;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  box-shadow: var(--shadow);
}

.quote-strip {
  margin: 0 1.1rem 2rem;
  padding: 1.6rem 1.2rem;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  line-height: 1.2;
}

.room-grid {
  display: grid;
  gap: 0.8rem;
}

.room-tile {
  min-height: 160px;
  padding: 1.2rem;
  background: var(--foam);
  border: 1px solid var(--line);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.room-tile strong {
  font-family: var(--display);
  font-size: 1.6rem;
  font-weight: 500;
}

.empty {
  padding: 2rem 0;
  color: var(--ink-soft);
}

.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(12, 10, 8, 0.92);
  display: none;
  z-index: 45;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.lightbox.is-on {
  display: flex;
}

.lightbox img,
.lightbox video {
  max-height: 88svh;
  max-width: 94vw;
  object-fit: contain;
}

.admin-body {
  background: #efe7da;
}

.admin-wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 1.2rem;
}

.admin-top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.2rem;
}

.table {
  width: 100%;
  border-collapse: collapse;
  background: var(--foam);
}

.table th,
.table td {
  border-bottom: 1px solid var(--line);
  padding: 0.65rem;
  text-align: left;
  font-size: 0.9rem;
}

.thumb-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.thumb-row figure {
  margin: 0;
  width: 110px;
}

.thumb-row img {
  width: 110px;
  height: 90px;
  object-fit: cover;
}

@media (min-width: 860px) {
  .nav-toggle {
    display: none;
  }

  .nav-bar {
    padding: 0.5rem 2rem;
  }

  .site-nav {
    display: flex;
    position: static;
    background: transparent;
    border: 0;
    padding: 0;
    align-items: center;
    gap: 1.4rem;
  }

  .site-nav ul {
    display: flex;
    gap: 1.1rem;
    margin: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .site-nav a {
    min-height: auto;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
  }

  .nav-cta {
    flex: none;
  }

  .hero {
    grid-template-columns: 1.15fr 0.85fr;
    min-height: 92svh;
  }

  .hero-media,
  .hero-media video,
  .hero-media img {
    min-height: 92svh;
    height: 92svh;
  }

  .hero-copy {
    padding: 4rem 3rem 4.5rem 2rem;
  }

  .band {
    padding: 5rem 2.4rem;
  }

  .split {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .masonry {
    columns: 3;
  }

  .footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
    padding: 0 1.2rem;
  }

  .wa-dock {
    left: auto;
    right: 1.2rem;
    bottom: 1.2rem;
    width: auto;
    padding: 0 1.2rem;
  }

  .piece-hero {
    grid-template-columns: 1.4fr 0.8fr;
    padding: 1.5rem 2.4rem 3rem;
  }

  .room-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .nav-cat {
    display: none;
  }
}

@media (min-width: 1280px) {
  .brand img {
    width: 108px;
  }

  h1 {
    font-size: 5.8rem;
  }
}
/* Woodsy collection — responsive editorial layout */
:root{--paper:#f7f5f0;--paper-2:#e9e5da;--foam:#fffefa;--ink:#242923;--ink-soft:#62675d;--kraft:#926749;--sage:#65735f;--line:#deded4}
body{background:var(--paper)}.grain{display:none}.site-header{position:sticky;top:0;z-index:35}.announce{background:#283b2d;font-size:.61rem;letter-spacing:.17em;padding:.45rem}.nav-bar{position:relative;padding:12px max(5vw,20px);background:rgba(247,245,240,.96)}.brand img{width:66px}.site-nav a{font-size:.76rem}.btn{border-radius:3px;font-size:.68rem;letter-spacing:.09em;min-height:46px;padding:13px 20px}.btn-wa{background:#344c38;border-color:#344c38}.nav-cta{background:transparent;color:var(--ink);border-color:#a0a899}.hero{margin:28px max(5vw,20px) 0;min-height:0;grid-template-columns:1fr 1.04fr;gap:0;overflow:visible}.hero-media{grid-column:2;grid-row:1;min-height:0;border-radius:3px;overflow:hidden}.hero-media img{height:650px;min-height:0;object-fit:cover;transform:none;filter:none;object-position:center}.hero-copy{grid-column:1;grid-row:1;padding:42px 48px 36px 0;justify-content:center;gap:20px}.hero-copy h1{font-size:clamp(3rem,5.5vw,6.2rem);line-height:1.01;max-width:10ch;letter-spacing:-.055em}.hero-copy .lede{font-size:.92rem;line-height:1.8;max-width:34ch}.hero-copy .kicker{margin:0;font-size:.62rem}.hero-foot{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:.58rem;text-transform:uppercase;letter-spacing:.12em}.band{max-width:1600px;margin:auto;padding:90px max(5vw,20px)}.band-head{max-width:650px;gap:12px;margin-bottom:34px}.band-head p{margin:0;line-height:1.8}.band-head h2{font-size:clamp(2rem,4vw,3.5rem)}.band-head .kicker{font-size:.62rem}.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;columns:unset}.card{border:0;background:transparent;margin:0;animation:none}.card-media,.card-media.wide{aspect-ratio:4/3;background:#e5e4dc;border-radius:3px}.card img{object-position:center}.card-meta{padding:17px 0;position:relative}.card-meta span{font-size:.59rem;letter-spacing:.13em;margin-bottom:7px}.card-meta strong{font-size:1.5rem}.card-meta .card-link{font-family:var(--sans);font-size:.59rem;margin-top:13px;color:var(--ink-soft)}.card:hover img{transform:scale(1.035)}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.room-tile{background:#eceee7;border:0;border-radius:3px;min-height:230px;padding:24px;gap:18px;position:relative;overflow:hidden}.room-tile strong{font-size:2rem}.room-tile span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.room-tile p{font-size:.81rem;max-width:30ch;line-height:1.7;margin:0}.room-tile img{width:100%;height:170px;object-fit:cover;border-radius:2px}.steps{list-style:none;padding:0;margin:0;gap:8px}.step{grid-template-columns:40px 1fr;padding:22px 0}.step::before{grid-row:span 2;font-size:1rem}.step h3{font-size:1.5rem}.step p{font-size:.85rem;line-height:1.8;margin:0}.split{gap:60px}.quote-strip{margin:0 max(5vw,20px) 70px;padding:55px 8%;background:#344c38;text-align:center;font-size:clamp(1.8rem,3vw,3rem)}.site-footer{background:#263629;padding:60px max(5vw,20px) 100px}.footer-grid{padding:0;gap:36px}.footer-grid p,.footer-grid li{font-size:.78rem;line-height:1.9}.footer-brand img{filter:none;background:#f7f5f0;padding:8px;border-radius:3px;width:90px}.footer-base{display:flex;justify-content:space-between;gap:24px;font-size:.65rem}.wa-dock{border-radius:4px;background:#344c38;font-size:.63rem;min-height:46px}.piece-hero{padding:40px max(5vw,20px) 80px;gap:50px}.piece-hero h1{font-size:clamp(2.8rem,4.5vw,4.8rem)}.piece-hero .prose{padding-top:22px;gap:18px}.piece-stage{min-height:0;background:#ecece4;border-radius:3px}.piece-stage img,.piece-stage video{object-fit:contain;height:65svh}.thumbs{display:flex;overflow:auto;margin-top:12px;padding-bottom:8px}.thumbs button{flex:0 0 80px;border-radius:3px;border:2px solid transparent}.thumbs button[aria-pressed=true]{border-color:var(--kraft)}.specs{display:grid;grid-template-columns:1fr 2fr;font-size:.78rem;border-top:1px solid var(--line);margin:0}.specs dt,.specs dd{margin:0;padding:14px 0;border-bottom:1px solid var(--line);line-height:1.7}.specs dt{font-weight:600}.form{max-width:none;gap:18px}.form label{line-height:1.7}.form input,.form textarea,.form select{border-radius:3px;width:100%;min-width:0}.form input[type=checkbox],.form input[type=radio]{width:18px;min-height:18px;accent-color:#344c38}.form fieldset{border:1px solid var(--line);padding:18px;min-width:0}.form .hp{position:absolute}.form progress{width:100%}.notice{border-radius:3px;font-size:.85rem}.collection-tools{display:flex;gap:16px;align-items:end;margin-bottom:24px}.collection-tools label{display:grid;gap:8px;font-size:.7rem;flex:1}.collection-tools input,.collection-tools select{padding:14px;border:1px solid var(--line);background:var(--foam);font:inherit;width:100%;border-radius:3px}.collection-tools .btn{flex:none}.collection-count{font-size:.73rem;color:var(--ink-soft);margin:0 0 25px}.pagination{display:flex;gap:8px;margin-top:35px}.lightbox{margin:auto;border:0;width:100vw;height:100svh;max-width:none;max-height:none;background:rgba(20,25,20,.97);padding:50px 20px}.lightbox[open]{display:flex}.lightbox::backdrop{background:#1b231b}.lightbox-media{display:flex;align-items:center;justify-content:center}.lightbox-close{position:absolute;right:20px;top:12px;background:none;border:0;color:white;font-size:24px;width:44px;height:44px;cursor:pointer}.admin-wrap{max-width:1200px;padding:32px 24px 80px}.admin-top{align-items:start;flex-wrap:wrap}.admin-top p{display:flex;gap:8px;flex-wrap:wrap}.admin-wrap h1{font-size:3rem}.admin-wrap h2{margin:35px 0 20px}.admin-wrap .table{display:block;overflow:auto;border-radius:4px}.table td,.table th{font-size:.8rem;white-space:nowrap}.status-badge{display:block;font-size:.62rem;color:var(--sage);margin-top:4px}.thumb-row figure{width:145px}.thumb-row img{width:145px;height:110px}.thumb-row label{display:flex;gap:8px;align-items:center;font-size:.68rem}.thumb-row input[type=number]{width:55px;min-height:34px;padding:4px}.backup-list{display:grid;gap:12px}.backup-list form{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px;background:var(--foam)}.inquiry{background:var(--foam);padding:24px;border:1px solid var(--line);margin-bottom:16px;border-radius:4px;overflow-wrap:anywhere}.inquiry p{white-space:pre-wrap}.inquiry small{color:var(--ink-soft)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #926749;outline-offset:4px}.faq summary{font-size:.9rem}.faq details p{font-size:.85rem;line-height:1.8;max-width:70ch}.site-nav a.is-active{border-bottom:1px solid var(--kraft)}
@media(min-width:860px){.hero-media img{height:clamp(510px,48vw,700px)}.site-nav{gap:28px}.site-nav ul{gap:28px}.nav-bar{padding-top:10px;padding-bottom:10px}.piece-hero{grid-template-columns:1.3fr 1fr}.brand img{width:66px}}
@media(min-width:560px) and (max-width:859px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:859px){.hero{grid-template-columns:1fr;margin-top:12px}.hero-copy{grid-column:1;grid-row:1;padding:30px 0;gap:16px}.hero-copy h1{font-size:clamp(3.2rem,11vw,5rem);max-width:12ch}.hero-copy .lede{max-width:42ch;font-size:.86rem}.hero-media{grid-column:1;grid-row:2}.hero-media img{height:420px;object-position:center}.hero-foot{margin-top:12px}.band{padding-top:55px;padding-bottom:55px}.band-head h2{font-size:2.3rem}.split{grid-template-columns:1fr;gap:35px}.piece-hero{grid-template-columns:1fr;gap:20px;padding-top:20px}.piece-stage img,.piece-stage video{height:48svh}.footer-grid{grid-template-columns:1fr 1fr}.footer-base{display:block}.quote-strip{padding:35px 24px;margin-bottom:40px}.site-nav{padding:20px}.site-nav.is-open{max-height:75svh;overflow:auto}.collection-tools{flex-wrap:wrap}.collection-tools label{flex:1 1 42%}.admin-wrap{padding:24px 16px 60px}.admin-wrap h1{font-size:2.5rem}.admin-top .btn{font-size:.6rem;padding:10px}.announce{font-size:.52rem;letter-spacing:.08em}}
@media(max-width:559px){.masonry{grid-template-columns:1fr;gap:20px}.room-grid{grid-template-columns:1fr 1fr;gap:10px}.room-tile{padding:18px;min-height:190px}.room-tile strong{font-size:1.45rem}.room-tile p{font-size:.72rem}.hero-media img{height:340px}.hero-actions .btn{padding:12px 14px;font-size:.59rem}.footer-grid{grid-template-columns:1fr}.card-media,.card-media.wide{aspect-ratio:4/3}.room-tile img{height:110px}.collection-tools label{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.card:hover img{transform:none}}
@media(min-width:860px){.hero{min-height:0}.hero-media{min-height:0;height:auto}.hero-media img{height:100%;min-height:0;position:absolute;inset:0}.hero-copy{min-height:620px}}
@media(max-width:859px){.hero-media{min-height:0;height:auto}}
.piece-hero>*,.split>*,.hero>*{min-width:0}.piece-stage{width:100%}.prose{min-width:0}.lightbox-media{max-width:100%;min-width:0}
@media(max-width:559px){.collection-tools label{flex:1 1 42%}.collection-tools label:first-child{flex-basis:100%}.collection-tools{gap:12px}.collection-tools input,.collection-tools select{min-height:44px;padding:10px}.collection-tools~.chips{display:none}}

.language-switch{display:flex;gap:3px;align-items:center;margin-inline-start:auto;flex-shrink:0}.language-switch a{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:44px;padding:4px 10px;border:1px solid transparent;font-size:13px;line-height:2;text-decoration:none}.language-switch a[aria-current]{border-color:var(--line);background:#eceee7;border-radius:3px}.language-switch a[lang=ur-PK]{font-family:"Noto Nastaliq Urdu",serif}
@media(min-width:860px){.site-nav{margin-inline-start:auto}.language-switch{order:3;margin-inline-start:20px}}
html[lang=ur-PK]{--sans:"Noto Nastaliq Urdu",serif;--display:"Noto Nastaliq Urdu",serif}html[lang=ur-PK] body{line-height:2.3}html[lang=ur-PK] h1,html[lang=ur-PK] h2,html[lang=ur-PK] h3,html[lang=ur-PK] p,html[lang=ur-PK] a,html[lang=ur-PK] span,html[lang=ur-PK] label{letter-spacing:0;text-transform:none}html[lang=ur-PK] h1{font-size:clamp(2rem,4vw,3.4rem);line-height:2}html[lang=ur-PK] h2{font-size:clamp(1.6rem,3vw,2.6rem);line-height:2}html[lang=ur-PK] h3{line-height:2}html[lang=ur-PK] .hero-copy{padding:35px 0 35px 48px}html[lang=ur-PK] .hero-copy h1{max-width:17ch;line-height:2;font-size:clamp(2rem,3.5vw,3.3rem)}html[lang=ur-PK] .lede,html[lang=ur-PK] .band-head p,html[lang=ur-PK] .faq details p,html[lang=ur-PK] .room-tile p{line-height:2.5}html[lang=ur-PK] .kicker,html[lang=ur-PK] .announce,html[lang=ur-PK] .site-nav a,html[lang=ur-PK] .btn,html[lang=ur-PK] .hero-foot,html[lang=ur-PK] .card-meta span,html[lang=ur-PK] .room-tile span{font-size:.8rem;line-height:2.4}html[lang=ur-PK] .card-meta strong{font-size:1.3rem;line-height:2.5}html[lang=ur-PK] .form label{line-height:2.5}html[lang=ur-PK] .footer-grid h2{font-size:1.2rem}html[lang=ur-PK] .footer-grid a{line-height:2.8}html[lang=ur-PK] .site-nav ul{gap:20px}html[lang=ur-PK] .language-switch a[lang=en]{font-family:Sora,sans-serif}html[lang=ur-PK] input,html[lang=ur-PK] textarea{line-height:2;letter-spacing:0}a[href^="tel:"],a[href^="mailto:"]{direction:ltr;unicode-bidi:embed;display:inline-block}.urdu-editor{padding:20px;border:1px solid var(--line)}.urdu-editor summary{cursor:pointer}.urdu-editor textarea{font-family:"Noto Nastaliq Urdu",serif;line-height:2}
@media(max-width:859px){html[lang=ur-PK] .hero-copy{padding:24px 0}html[lang=ur-PK] .hero-copy h1{font-size:2rem;max-width:100%}html[lang=ur-PK] .nav-bar{gap:8px}html[lang=ur-PK] .announce{font-size:.62rem}.language-switch a{padding:4px 6px;min-width:38px}html[lang=ur-PK] .hero-foot{flex-wrap:wrap}html[lang=ur-PK] .room-tile strong{font-size:1.6rem}}
.skip:not(:focus){left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Image sharing stays outside the product link, with generous touch targets. */
.card-photo,.piece-photo{position:relative}.card-media{display:block}.card-meta{display:block;text-decoration:none;color:inherit}.image-tools{position:absolute;top:12px;inset-inline-end:12px;display:flex;gap:7px;z-index:3;direction:ltr}.share-menu{position:relative}.share-menu summary,.image-whatsapp{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #d6d9d1;border-radius:50%;background:#faf9f5;color:#253b2a;box-shadow:0 2px 10px #0002;cursor:pointer;list-style:none;text-decoration:none}.share-menu summary::-webkit-details-marker{display:none}.image-whatsapp{background:#285a37;color:white;border-color:#285a37}.share-options{position:absolute;top:49px;right:0;min-width:170px;padding:8px;background:#faf9f5;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #0002;display:grid;z-index:8}.share-options a,.share-options button{display:block;text-align:start;font:inherit;font-size:13px;line-height:1.6;padding:10px 12px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-decoration:none}.share-options a:hover,.share-options button:hover{background:#e8ece3}.share-status{font-size:12px;padding:0 12px;max-width:220px;overflow-wrap:anywhere}.thumb-item{position:relative;flex:0 0 110px;min-width:0;padding-bottom:44px}.thumb-item>button[data-thumb]{width:110px}.thumb-item .image-tools{top:auto;bottom:0;inset-inline-end:0;gap:4px}.thumb-item .image-tools summary,.thumb-item .image-whatsapp{width:36px;height:36px}.thumb-item .share-options{top:40px}.thumbs{overflow:visible;flex-wrap:wrap}.btn-wa,.wa-dock{display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn-wa svg,.wa-dock svg{flex-shrink:0}html[lang=ur-PK] .share-options{direction:rtl}html[lang=ur-PK] .share-options a,html[lang=ur-PK] .share-options button{line-height:2.4}.card-photo:has(.share-menu[open]),.thumb-item:has(.share-menu[open]){z-index:6}.card{overflow:visible}
.image-tools[hidden]{display:none}html[dir=rtl] .share-options{left:0;right:auto}@media(max-width:559px){.thumb-item .share-options{position:fixed;top:auto;bottom:86px;left:20px;right:20px;min-width:0;max-width:360px}}
html[dir=rtl] .image-tools{left:12px;right:auto}html[dir=rtl] .thumb-item .image-tools{left:0;right:auto}
.hero-media{position:relative}.hero-media:has(.share-menu[open]){overflow:visible}.hero-image-sharing{position:absolute;inset:0;pointer-events:none}.hero-image-sharing .image-tools{pointer-events:auto}.hero-image-sharing .image-whatsapp svg{width:20px;height:20px;min-height:0;position:static}

.proprietor-grid{display:grid;gap:48px}.proprietor-card{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:40px;padding:32px;border:1px solid var(--line);background:var(--foam)}.proprietor-photo{width:100%;aspect-ratio:4/5;object-fit:cover}.proprietor-monogram{display:grid;place-items:center;aspect-ratio:4/5;background:var(--ink);color:var(--foam);font-family:var(--display);font-size:6rem}.proprietor-message{margin:24px 0;padding-inline-start:22px;border-inline-start:2px solid var(--kraft);font-size:1.05rem;line-height:1.9}.profile-editor{padding:24px;border:1px solid var(--line)}.interior-inspiration{border-top:1px solid var(--line)}@media(min-width:860px) and (max-width:1250px){.site-nav ul{gap:14px}.site-nav .nav-cta{display:none}.site-nav a{font-size:.76rem}}@media(max-width:700px){.proprietor-card{grid-template-columns:1fr;padding:20px;gap:24px}.proprietor-photo,.proprietor-monogram{max-width:340px}.proprietor-message{font-size:.95rem}}

/* Fabric choice studio */
.fabric-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:start}.fabric-options{border:0;padding:0;margin:0 0 28px}.fabric-options legend{font-size:1.2rem;margin-bottom:12px}.fabric-choices{display:flex;flex-wrap:wrap;gap:10px}.fabric-choice{position:relative;cursor:pointer}.fabric-choice input{position:absolute;opacity:0;width:1px;height:1px}.fabric-choice span{display:flex;align-items:center;gap:8px;padding:12px 15px;border:1px solid #c8c3b7;border-radius:3px}.fabric-choice input:checked+span{border-color:#283b2d;background:#e4e8df;box-shadow:0 0 0 1px #283b2d}.fabric-choice input:focus-visible+span{outline:3px solid #a57645;outline-offset:3px}.fabric-choice i{width:24px;height:24px;border-radius:50%;border:1px solid #0002}.fabric-preview{aspect-ratio:1.3;border-radius:8px;margin-bottom:22px;box-shadow:inset 0 0 65px #0003;background-color:#988878;background-image:repeating-linear-gradient(0deg,#fff2 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#0002 0 1px,transparent 1px 4px)}.fabric-preview[data-pattern=pile]{background-image:linear-gradient(130deg,#fff4,transparent 40%,#0003),repeating-linear-gradient(95deg,#ffffff0a 0 1px,transparent 1px 3px)}.fabric-preview[data-pattern=loop]{background-image:radial-gradient(ellipse at center,transparent 35%,#fff3 40%,#0002 55%,transparent 65%);background-size:9px 7px}.fabric-preview[data-pattern=rib]{background-image:repeating-linear-gradient(90deg,#0003 0 2px,#fff2 3px 5px,transparent 6px 10px)}.fabric-preview[data-type=velvet]{box-shadow:inset 0 0 90px #0005}.fabric-preview-panel{position:sticky;top:140px}.fabric-preview-panel p{margin-bottom:20px}
@media(min-width:860px) and (max-width:1250px){.site-nav ul{gap:10px}.site-nav a{font-size:.70rem}}
@media(max-width:700px){.fabric-layout{grid-template-columns:1fr;gap:30px}.fabric-preview-panel{position:static}.fabric-choice span{padding:10px 12px}}

/* Complete room sets */
.set-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}.set-filter a{padding:10px 14px;border:1px solid var(--line);font-size:.75rem;border-radius:3px}.set-filter a.is-selected{background:var(--ink);color:var(--paper)}.set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.set-card{border:1px solid var(--line);background:var(--foam);overflow:hidden;min-width:0}.set-media{position:relative;aspect-ratio:4/3;background:#e6e2d7}.set-media>img{width:100%;height:100%;object-fit:cover}.set-photo-note{position:absolute;bottom:14px;inset-inline-start:14px;background:#f7f5f0ed;padding:6px 10px;font-size:.65rem}.set-placeholder{height:100%;display:grid;place-content:center;text-align:center;padding:25px;background:linear-gradient(140deg,#d8cbb4,#b6bca9)}.set-placeholder span{font-size:4rem;color:#566348}.set-copy{padding:28px}.set-copy h2{font-size:2.1rem;margin:12px 0 18px}.set-copy h2 a{color:inherit}.set-copy h3{font-size:1rem;margin:20px 0 10px}.set-copy ul{padding-inline-start:22px;margin-bottom:24px}.set-copy li{margin:6px 0}.set-inspiration{display:flex;gap:12px;margin:24px 0}.set-inspiration a{flex:1;min-width:0;font-size:.7rem}.set-inspiration img{width:100%;height:110px;object-fit:cover;margin-bottom:5px}.set-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.set-actions>a:not(.btn){font-size:.8rem}.set-grid:has(>.set-card:only-child){grid-template-columns:minmax(0,900px);justify-content:center}
@media(min-width:860px) and (max-width:1450px){.site-nav .nav-cta{display:none}.site-nav ul{gap:10px}.site-nav a{font-size:.68rem}.language-switch{margin-inline-start:14px}html[lang=ur-PK] .site-nav ul{gap:10px}html[lang=ur-PK] .site-nav a{font-size:.7rem}}
@media(max-width:700px){.set-grid{grid-template-columns:1fr}.set-copy{padding:22px}.set-copy h2{font-size:1.85rem}.set-filter a{padding:10px;font-size:.7rem}.set-inspiration img{height:90px}}

/* Editable promotional notices */
.promotion-banner{display:flex;gap:24px;align-items:center;margin:24px max(5vw,20px) 0;padding:24px 28px;border:1px solid #c2b394;background:#eee7d6;color:#283b2d;border-inline-start:5px solid #9a7949}.promotion-banner>div{flex:1;min-width:0}.promotion-banner p{margin:0;font-size:.88rem;overflow-wrap:anywhere}.promotion-banner .promotion-title{font-family:var(--display);font-size:1.7rem;line-height:1.4;margin-bottom:8px}.promotion-banner>img{width:160px;height:100px;object-fit:cover;border-radius:3px}.promotion-banner .btn{flex:none}.promotion-banner+.band{padding-top:45px}@media(max-width:700px){.promotion-banner{flex-wrap:wrap;gap:16px;padding:20px;margin-top:16px}.promotion-banner>img{width:100%;height:160px}.promotion-banner>div{flex-basis:100%}.promotion-banner .promotion-title{font-size:1.5rem}}

/* Gentle site-wide motion, enhanced only when JavaScript is available. */
.woodsy-preloader{position:fixed;inset:0;z-index:1000;background:var(--paper);display:grid;place-items:center;pointer-events:none;animation:loader-safety 1.8s forwards}.woodsy-preloader[hidden]{display:none}.preloader-mark{width:140px;text-align:center}.preloader-mark img{width:130px;height:auto;animation:logo-breathe 1.15s ease-in-out infinite}.preloader-line{display:block;position:relative;height:2px;background:#c9c1b3;margin:24px auto 0;overflow:hidden;width:100px}.preloader-line::after{content:'';position:absolute;inset:0;background:var(--ink);transform-origin:left;animation:logo-line 1.1s ease-in-out infinite}
@keyframes logo-breathe{0%,100%{opacity:.65;transform:translateY(3px) scale(.97)}50%{opacity:1;transform:translateY(-3px) scale(1)}}@keyframes logo-line{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes loader-safety{0%,85%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
.motion-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s cubic-bezier(.2,.7,.3,1) var(--reveal-delay,0ms)}.motion-reveal.motion-visible{opacity:1;transform:translateY(0)}.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.set-media img,.room-tile img{transition:transform .65s ease}.site-nav a{transition:color .2s ease}
@media(hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-2px);box-shadow:0 5px 14px #20312418}.set-card:hover .set-media img,.room-tile:hover img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.woodsy-preloader{display:none!important}.motion-reveal{opacity:1!important;transform:none!important}.btn:hover,.set-card:hover .set-media img,.room-tile:hover img{transform:none!important}}

.music-toggle{position:fixed;bottom:20px;inset-inline-start:20px;z-index:40;display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;font:inherit;font-size:.7rem;cursor:pointer;box-shadow:0 3px 15px #0001}.music-toggle[hidden]{display:none}.music-toggle>span:first-child{font-size:1.2rem}.music-toggle[aria-pressed=true]{background:#e3e9dd;border-color:#52674c}@media(max-width:700px){.music-toggle{bottom:16px;inset-inline-start:12px;padding:9px 10px;font-size:.64rem}.wa-dock{max-width:58vw}}
.music-toggle{inset-inline-start:auto;left:20px;right:auto}@media(max-width:700px){.music-toggle{left:12px}}

/* Persistent light / dark theme */
html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark;--paper:#171d19;--paper-2:#252d26;--foam:#202820;--ink:#eeeede;--ink-soft:#b8c0b1;--line:#414b40;--kraft:#ceaa83;--sage:#a3b599;--shadow:0 24px 60px #0005}
.theme-toggle{position:fixed;left:20px;bottom:76px;z-index:40;padding:10px 14px;min-height:44px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--paper);font:inherit;font-size:.7rem;cursor:pointer;box-shadow:0 3px 15px #0001}.theme-toggle[hidden]{display:none}
html[data-theme=dark] .nav-bar{background:rgba(23,29,25,.97)}html[data-theme=dark] .site-nav{background:var(--paper)}html[data-theme=dark] .brand img,html[data-theme=dark] .footer-brand img,html[data-theme=dark] .preloader-mark img{filter:brightness(0) invert(1);background:transparent}html[data-theme=dark] .room-tile,html[data-theme=dark] .piece-stage{background:var(--paper-2)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color:var(--ink);background:var(--foam);border-color:var(--line)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#aab2a3}html[data-theme=dark] .btn:not(.btn-ghost){background:#435c43;color:#fff}html[data-theme=dark] .btn-ghost{color:var(--ink);border-color:var(--line)}html[data-theme=dark] .promotion-banner{background:#343325;color:#f0ecd9;border-color:#716648}html[data-theme=dark] .fabric-choice input:checked+span{background:#364332;border-color:#a5b797}html[data-theme=dark] .fabric-preview{color:#fff}html[data-theme=dark] .set-placeholder{background:linear-gradient(140deg,#3a4232,#323b30)}html[data-theme=dark] .set-placeholder span{color:#b7c5a8}html[data-theme=dark] .set-photo-note{background:#202820ed;color:var(--ink)}html[data-theme=dark] .music-toggle[aria-pressed=true]{background:#33472e;border-color:#809575}html[data-theme=dark] .language-switch a[aria-current=true]{background:#343e32}html[data-theme=dark] .share-options{background:var(--foam);color:var(--ink)}html[data-theme=dark] .notice{background:var(--paper-2);color:var(--ink)}
@media(max-width:700px){.theme-toggle{left:12px;bottom:70px;padding:9px 10px;font-size:.64rem}}
html[data-theme=dark] .announce,html[data-theme=dark] .quote-strip,html[data-theme=dark] .site-footer,html[data-theme=dark] .site-footer a,html[data-theme=dark] .wa-dock{color:#f0f2e8}

/* Audited mobile utilities: keep all three controls separately reachable. */
@media(max-width:700px){.wa-dock{left:auto!important;right:12px!important;bottom:16px;width:46px;min-width:46px;max-width:46px;height:46px;min-height:46px;padding:12px;font-size:0;gap:0;display:flex;justify-content:center;align-items:center}.wa-dock svg{width:22px;height:22px;flex:none}.site-footer{padding-bottom:130px}}

/* Pagination must wrap in both LTR and RTL on small screens. */
.pagination{flex-wrap:wrap}

/* Public display preferences sit beside language selection. */
.header-preferences{display:flex;align-items:center;gap:6px;margin-inline-start:auto;flex-shrink:0;order:3}.header-preferences .language-switch{margin:0}.header-preferences .theme-toggle,.header-preferences .music-toggle{position:static;inset:auto;bottom:auto;z-index:auto;width:44px;height:44px;min-height:44px;padding:0;display:flex;justify-content:center;align-items:center;box-shadow:none;font-size:1rem;flex-shrink:0}.header-preferences .music-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.header-preferences button[hidden]{display:none}.header-preferences .music-toggle>span:first-child{font-size:1.2rem}
@media(max-width:859px){.header-preferences{order:initial;gap:3px}.header-preferences .language-switch a{min-width:32px;padding:4px}.nav-bar{gap:8px}.header-preferences .theme-toggle,.header-preferences .music-toggle{width:40px;height:44px}.nav-toggle{margin-inline-start:0}}
