*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Exact colours from av-staging.in */
  --bg:          #F5F0E8;   /* main page white */
  --bg-warm:     #EDE8DC;   /* alternating warm section */
  --bg-deep:     #E5DDD0;   /* card backgrounds */
  --rust:        #C4622A;   /* heading italic accent — matches site exactly */
  --rust-dark:   #A0481A;   /* hover/rule colour */
  --ink:         #3D2B1F;   /* dark chocolate brown */
  --ink-mid:     #6B5040;   /* secondary text */
  --stone:       #8A7A6A;   /* body copy */
  --stone-l:     #C0B0A0;   /* borders */
  --gold:        #B8943F;   /* gold accents (nav brand apostrophe, CTA elements) */

  --ff-serif: 'Cormorant Garamond', Georgia, serif;
  --ff-sans:  'Inter', system-ui, sans-serif;
}

html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: var(--ff-sans) !important;
  font-weight: 300 !important;
  background: var(--bg) !important;
  color: var(--ink) !important;
  -webkit-font-smoothing: antialiased !important;
  /*padding-top: 25px;*/ /* ticker 28px + nav 68px */
}


/* ── MAIN NAV — matches av-staging.in exactly ── */

/* ── HEADINGS — matching the site's actual scale ── */
.heading {
  font-family: var(--ff-serif); font-size: 64px; font-weight: 300;
  line-height: 1.05; letter-spacing: -0.01em; color: var(--ink);
  margin-bottom: 12px;
}
.heading em { font-style: italic; color: var(--rust); }
.heading-md {
  font-family: var(--ff-serif); font-size: 44px; font-weight: 300;
  line-height: 1.08; color: var(--ink); margin-bottom: 12px;
}
.heading-md em { font-style: italic; color: var(--rust); }
.heading-sm {
  font-family: var(--ff-serif); font-size: 28px; font-weight: 300;
  line-height: 1.2; color: var(--ink); margin-bottom: 8px;
}
.heading-sm em { font-style: italic; color: var(--rust); }

/* ── RULE (matches site's short red rule under headings) ── */
.heading-rule { width: 56px; height: 1.5px; background: var(--rust); margin: 18px 0 24px; }

/* ── EYEBROW (size guide sections) ── */
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-mid);
  margin-bottom: 14px;
}
.eyebrow::before {
  content: '';
  display: block;
  width: 28px;
  height: 1.5px;
  background: var(--rust);
  flex-shrink: 0;
}

/* ── BODY ── */
.body-copy { font-size: 14px; font-weight: 300; color: var(--stone); line-height: 1.85; }

/* ── SECTIONS ── */
.sec         { padding: 88px 56px; }
.sec-white   { background: var(--bg); }
.sec-warm    { background: var(--bg-warm); }

/* ── SPLIT ── */
.split       { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.split.flip  { direction: rtl; }
.split.flip > * { direction: ltr; }

/* ── HERO ── */
.hero { position: relative; height: 94vh; min-height: 620px; overflow: hidden; }
.hero img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 35%;
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom,
    rgba(44,31,20,0.15) 0%,
    rgba(44,31,20,0.05) 35%,
    rgba(44,31,20,0.72) 100%);
}
.hero-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 0 56px 72px;
  display: flex; justify-content: space-between; align-items: flex-end;
}
.hero-eyebrow {
  font-size: 10px; font-weight: 400; letter-spacing: 0.18em;
  text-transform: uppercase; color: rgba(255,255,255,0.45); margin-bottom: 14px;
}
.hero-title {
  font-family: var(--ff-serif); font-size: 84px; font-weight: 300;
  color: #fff; line-height: 1.0; letter-spacing: -0.01em;
}
.hero-title em { font-style: italic; }
.hero-sub {
  font-size: 14px; font-weight: 300; color: rgba(255,255,255,0.5);
  line-height: 1.75; max-width: 240px; text-align: right;
}
.hero-right-text {
  font-size: 14px; font-weight: 300; color: rgba(255,255,255,0.5);
  line-height: 1.75; max-width: 240px; text-align: right;
}
.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid rgba(255,255,255,0.14);
  padding-top: 24px;
  max-width: 360px;
  text-align: right;
}
.hero-stat-num {
  font-family: var(--ff-serif);
  font-size: 36px;
  font-weight: 300;
  color: #fff;
  line-height: 1;
  margin-bottom: 3px;
  opacity: 0.9;
}
.hero-stat-num em { font-style: italic; }
.hero-stat-label {
  font-size: 10px;
  font-weight: 300;
  color: rgba(255,255,255,0.42);
  line-height: 1.4;
  letter-spacing: 0.04em;
}

/* ── STATS ── */
.stat-row { display: flex; gap: 40px; margin-top: 28px; }
.stat-big {
  font-family: var(--ff-serif); font-size: 58px; font-weight: 300;
  color: var(--ink); line-height: 1; margin-bottom: 4px;
}
.stat-big em { font-style: italic; color: var(--rust); }
.stat-label { font-size: 12px; font-weight: 300; color: var(--stone); letter-spacing: 0.04em; }

/* ── COMPARE CARD ── */
.compare-wrap { border-radius: 16px; overflow: hidden; }
.compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; background: var(--bg-deep); }
.compare-col { position: relative; overflow: hidden; }
.compare-col img { width: 100%; height: 300px; object-fit: cover; display: block; }
.compare-pill {
  position: absolute; top: 14px; left: 14px;
  font-size: 10px; font-weight: 500; letter-spacing: 0.08em;
  padding: 5px 14px; border-radius: 99px;
}
.compare-pill.bad  { background: rgba(140,30,20,0.88); color: #fff; }
.compare-pill.good { background: rgba(30,90,38,0.88); color: #fff; }
.compare-note {
  padding: 14px 16px; text-align: center;
  font-size: 12px; font-weight: 300; color: var(--stone); line-height: 1.5;
  background: var(--bg-warm);
}

/* ── FORMULA CARDS ── */
.formula-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 56px; }
.f-card { border-radius: 12px; overflow: hidden; background: var(--bg-warm); }
.f-img { width: 100%; height: 160px; object-fit: cover; display: block; }
.f-body { padding: 18px 20px; }
.f-tag {
  font-size: 10px; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink-mid); margin-bottom: 8px;
}
.f-formula { font-family: var(--ff-serif); font-size: 24px; font-weight: 400; color: var(--ink); margin-bottom: 4px; }
.f-formula em { font-style: italic; color: var(--rust); }
.f-note {
  font-size: 12px; font-weight: 300; color: var(--stone); line-height: 1.65;
  border-top: 1px solid rgba(90,69,53,0.14); padding-top: 10px; margin-top: 8px;
}

/* ── PHOTO helpers ── */
.photo-r { border-radius: 16px; overflow: hidden; }
.photo-r img { width: 100%; object-fit: cover; display: block; }

/* ── GALLERY LAYOUTS ── */
.layouts-header { padding: 88px 56px 32px; background: var(--bg); }
.layout-item { padding: 56px; border-bottom: 1px solid rgba(90,69,53,0.1); }
.layout-item:last-child { border-bottom: none; }
.layout-meta { display: flex; align-items: baseline; gap: 18px; margin-bottom: 10px; }
.layout-n {
  font-family: var(--ff-serif); font-size: 64px; font-weight: 300;
  color: var(--ink); font-style: italic; opacity: 0.2; line-height: 1;
}
.layout-name { font-family: var(--ff-serif); font-size: 42px; font-weight: 300; color: var(--ink); line-height: 1; }
.layout-name em { font-style: italic; color: var(--rust); }
.layout-desc { font-size: 14px; font-weight: 300; color: var(--stone); line-height: 1.8; max-width: 500px; margin-bottom: 22px; }
.layout-photo { border-radius: 16px; overflow: hidden; }
.layout-photo img { width: 100%; height: 500px; object-fit: cover; display: block; }

/* ── SETS ── */
.sets-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 56px; }
.set-photo { border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
.set-photo img { width: 100%; height: 280px; object-fit: cover; display: block; }
.set-pill {
  display: inline-block; font-size: 10px; font-weight: 500; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--ink-mid); border: 1px solid var(--stone-l);
  padding: 3px 11px; border-radius: 99px; margin-bottom: 10px;
}
.set-name { font-family: var(--ff-serif); font-size: 24px; font-weight: 300; color: var(--ink); margin-bottom: 7px; line-height: 1.25; }
.set-name em { font-style: italic; color: var(--rust); }
.set-body { font-size: 13px; font-weight: 300; color: var(--stone); line-height: 1.75; margin-bottom: 12px; }
.set-rules { border-top: 1px solid rgba(90,69,53,0.14); padding-top: 12px; }
.set-rule { font-size: 12px; font-weight: 300; color: var(--stone); padding: 7px 0; border-bottom: 1px solid rgba(90,69,53,0.08); line-height: 1.5; display: flex; gap: 10px; }
.set-rule:last-child { border-bottom: none; }
.set-rule::before { content: "—"; color: var(--stone-l); flex-shrink: 0; }

/* ── ROOM GRID ── */
.room-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 48px; border: 1px solid rgba(90,69,53,0.14); border-radius: 12px; overflow: hidden; }
.room-card {
  position: relative;
  padding: 0;
  overflow: hidden;
  min-height: 280px;
  background: var(--ink);
  border-right: 1px solid rgba(90,69,53,0.14);
}
.room-card:nth-child(3),.room-card:nth-child(6) { border-right: none; }
.room-card:nth-child(4),.room-card:nth-child(5),.room-card:nth-child(6) { border-top: 1px solid rgba(90,69,53,0.14); }
.room-card-img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}
.room-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(61, 43, 31, 0.88) 0%,
    rgba(61, 43, 31, 0.35) 50%,
    rgba(61, 43, 31, 0.08) 100%
  );
  pointer-events: none;
}
.room-card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 22px;
}
.room-label { font-size: 10px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(245, 240, 232, 0.7); margin-bottom: 8px; }
.room-rule { font-family: var(--ff-serif); font-size: 18px; font-weight: 400; color: #fff; margin-bottom: 5px; line-height: 1.3; }
.room-rule em { font-style: italic; color: var(--rust); }
.room-note { font-size: 12px; font-weight: 300; color: rgba(245, 240, 232, 0.55); line-height: 1.5; }

/* ── STEPS WITH PHOTOS ── */
.steps-header { padding: 88px 56px 32px; background: var(--bg-warm); }
.step-row { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid rgba(90,69,53,0.1); min-height: 360px; }
.step-row:last-child { border-bottom: none; }
.step-row:nth-child(odd) .step-text  { background: var(--bg-warm); }
.step-row:nth-child(even) .step-text { background: var(--bg); }
.step-row:nth-child(even) { direction: rtl; }
.step-row:nth-child(even) > * { direction: ltr; }
.step-text { padding: 56px 56px; display: flex; flex-direction: column; justify-content: center; }
.step-n {
  font-family: var(--ff-serif); font-size: 80px; font-weight: 300;
  color: var(--ink); line-height: 1; font-style: italic; opacity: 0.18; margin-bottom: 4px;
}
.step-title { font-family: var(--ff-serif); font-size: 30px; font-weight: 400; color: var(--ink); margin-bottom: 12px; line-height: 1.2; }
.step-desc { font-size: 14px; font-weight: 300; color: var(--stone); line-height: 1.8; }
.step-photo { overflow: hidden; }
.step-photo img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; }

/* ── CTA — dark brown, not black ── */
.cta {
  background: #2C1F14; /* site's deep brown, never pure black */
  padding: 88px 56px;
  display: grid; grid-template-columns: 1fr auto; gap: 56px; align-items: center;
}
.cta-eyebrow {
  font-size: 10px; font-weight: 400; letter-spacing: 0.16em;
  text-transform: uppercase; color: rgba(245,237,224,0.4); margin-bottom: 14px;
  display: flex; align-items: center; gap: 10px;
}
.cta-eyebrow::before { content:''; width:28px; height:1.5px; background:rgba(196,98,42,0.6); display:block; }
.cta-title { font-family: var(--ff-serif); font-size: 52px; font-weight: 300; color: var(--bg); line-height: 1.08; margin-bottom: 10px; }
.cta-title em { font-style: italic; color: var(--rust); }
.cta-sub { font-size: 14px; font-weight: 300; color: rgba(245,237,224,0.4); line-height: 1.75; }
.cta-btn {
  background: var(--rust); color: #fff; border: none;
  font-family: var(--ff-sans); font-size: 11px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 15px 32px; cursor: pointer; white-space: nowrap; border-radius: 2px;
  transition: background 0.2s;
}
.cta-btn:hover { background: var(--rust-dark); }


/* ── WHO THIS IS FOR ── */
.who-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border-bottom:1px solid rgba(90,69,53,0.1)}
.who-item{padding:28px 24px;border-right:1px solid rgba(90,69,53,0.08)}
.who-item:last-child{border-right:none}
.who-tag{font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);margin-bottom:6px}
.who-name{font-family:var(--ff-serif);font-size:20px;font-weight:400;color:var(--ink);line-height:1.2}
.who-name em{font-style:italic;color:var(--rust)}


/* ── SECTION HELPERS ── */
.trade-sec{padding:80px 56px}
.trade-sec-white{background:var(--white)}
.trade-sec-bg{background:var(--bg)}
.trade-sec-warm{background:var(--bg-warm)}

.trade-eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:14px}
.trade-eyebrow::before{content:'';width:28px;height:1.5px;background:var(--rust);display:block;flex-shrink:0}
.trade-heading{font-family:var(--ff-serif);font-size:56px;font-weight:300;line-height:1.05;color:var(--ink);margin-bottom:10px}
.trade-heading em{font-style:italic;color:var(--rust)}
.trade-heading-rule{width:40px;height:1.5px;background:var(--rust);margin:14px 0 22px}
.trade-body-copy{font-size:14px;font-weight:300;color:var(--stone);line-height:1.85;max-width:480px}
.trade-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.trade-split.flip{direction:rtl}
.trade-split.flip>*{direction:ltr}
.trade-photo-r{border-radius:16px;overflow:hidden}
.trade-photo-r img{width:100%;object-fit:cover;display:block}


/* ── WHAT WE OFFER — photo cards ── */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px}
.offer-card{border-radius:12px;overflow:hidden;background:var(--bg-warm)}
.offer-img{width:100%;height:200px;object-fit:cover;display:block}
.offer-body{padding:20px 22px}
.offer-title{font-family:var(--ff-serif);font-size:20px;font-weight:400;color:var(--ink);margin-bottom:6px;line-height:1.2}
.offer-title em{font-style:italic;color:var(--rust)}
.offer-desc{font-size:13px;font-weight:300;color:var(--stone);line-height:1.65}
@media (max-width: 900px) and (min-width: 481px) {
	.offer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.offer-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* ── CLIENT SECTION ── */
.cat-tabs{display:flex;gap:0;border:1px solid rgba(90,69,53,0.14);border-radius:2px;overflow:hidden;margin-bottom:28px}
.cat-tab{flex:1;padding:10px 16px;font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);background:transparent;border:none;border-right:1px solid rgba(90,69,53,0.14);cursor:pointer;font-family:var(--ff-sans);transition:all 0.15s}
.cat-tab:last-child{border-right:none}
.cat-tab.active{background:var(--ink);color:var(--bg)}
.logo-panel{display:none;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(90,69,53,0.1);border:1px solid rgba(90,69,53,0.12);border-radius:2px}
.logo-panel.active{display:grid}
.logo-cell{background:var(--white);padding:22px 18px;display:flex;align-items:center;justify-content:center;min-height:72px;transition:background 0.15s}
.logo-cell:hover{background:var(--bg-warm)}
.logo-name{font-family:var(--ff-serif);font-size:15px;font-weight:400;color:var(--ink-mid);text-align:center;line-height:1.3}
.logo-name.lg{font-size:16px;color:var(--ink);font-weight:500}

/* ── PROJECT MOSAIC ── */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:220px 220px;gap:3px}
.mc{overflow:hidden;position:relative}
.mc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}
.mc:hover img{transform:scale(1.04)}
.mc.tall{grid-row:span 2}
.mc.wide{grid-column:span 2}
.mc-label{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(to top,rgba(61,43,31,0.65),transparent);font-size:10px;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.7)}

/* ── TESTIMONIALS ── */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(90,69,53,0.12);border:1px solid rgba(90,69,53,0.12);border-radius:2px;margin-top:48px}
.test-card{background:var(--white);padding:32px 26px;display:flex;flex-direction:column;justify-content:space-between}
.test-rule{width:20px;height:1.5px;background:var(--rust);margin-bottom:18px}
.test-quote{font-family:var(--ff-serif);font-size:17px;font-weight:300;font-style:italic;line-height:1.65;color:var(--ink-mid);flex:1;margin-bottom:18px}
.test-attr{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mid)}
.test-detail{font-size:11px;font-weight:300;color:var(--stone-l);margin-top:2px}
@media (max-width: 900px) and (min-width: 481px) {
	.test-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.test-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}



/* ── BRIEF FORM ── */
.brief-layout{margin-top:48px}
.trade-brief-form-grid{
  display:grid;
  grid-template-columns:1fr 380px;
  grid-template-areas:
    "fields preview"
    "actions preview";
  gap:48px;
  align-items:start;
}
.trade-brief-form-grid .brief-inner{
  grid-area:fields;
  margin-right:20px;
  background:var(--bg-warm);
  border:1px solid rgba(90,69,53,0.1);
  border-bottom:none;
  border-radius:2px 2px 0 0;
}
.trade-brief-form-grid .brief-footer{grid-area:actions;margin-right:20px}
.trade-brief-form-grid .right-panel{grid-area:preview}
.brief-card{background:var(--bg-warm);border:1px solid rgba(90,69,53,0.1);border-radius:2px}
.brief-inner{padding:32px}
.brief-title{font-family:var(--ff-serif);font-size:28px;font-weight:300;color:var(--ink);margin-bottom:6px}
.brief-title em{font-style:italic;color:var(--rust)}
.brief-sub{font-size:13px;font-weight:300;color:var(--stone);margin-bottom:24px;line-height:1.6}
.q-label{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:8px;display:block}
.q-block{margin-bottom:18px}
.pill-row{display:flex;flex-wrap:wrap;gap:8px}
.pill{font-size:12px;font-weight:400;padding:8px 15px;border:1px solid var(--stone-l);background:var(--white);color:var(--stone);cursor:pointer;transition:all 0.15s;font-family:var(--ff-sans);border-radius:2px}
.pill:hover{border-color:var(--ink);color:var(--ink)}
.pill.sel{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ti{width:100%;padding:10px 13px;font-size:13px;font-weight:300;background:var(--white);border:1px solid var(--stone-l);color:var(--ink);font-family:var(--ff-sans);outline:none;transition:border-color 0.15s;border-radius:2px}
.ti:focus{border-color:var(--ink)}
.ti::placeholder{color:var(--stone-l)}
select.ti{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238A7A6A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
textarea.ti{resize:none;height:64px;line-height:1.6}
.form-divider{height:1px;background:rgba(90,69,53,0.1);margin:20px 0}
.brief-footer{padding:18px 32px;background:var(--bg-deep);border-top:1px solid rgba(90,69,53,0.1);display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:0 0 2px 2px}
.brief-foot-note{font-size:11px;font-weight:300;color:var(--stone);line-height:1.5;max-width:220px}
.wa-btn{display:flex;align-items:center;gap:9px;padding:12px 22px;background:#25D366;color:#fff;border:none;cursor:pointer;font-family:var(--ff-sans);font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;white-space:nowrap}
.wa-btn:hover{background:#1EBE5D}
.wa-btn svg{width:16px;height:16px;flex-shrink:0}

/* ── RIGHT PANEL ── */
.right-panel{display:flex;flex-direction:column;gap:2px;position:sticky;top:24px}
.rp-block{background:var(--white);border:1px solid rgba(90,69,53,0.1);padding:22px;border-radius:2px}
.rp-title{font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);margin-bottom:14px}
.rp-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(90,69,53,0.08);gap:8px}
.rp-row:last-child{border-bottom:none;padding-bottom:0}
.rp-key{font-size:11px;font-weight:300;color:var(--stone)}
.rp-val{font-size:12px;font-weight:400;color:var(--ink);text-align:right}
.rp-val.empty{color:var(--stone-l);font-style:italic;font-weight:300;font-size:11px}
.wa-prev{background:var(--bg);border-left:2px solid #25D366;padding:11px 13px;font-size:11px;font-weight:300;color:var(--stone);line-height:1.7;margin-top:12px;border-radius:0 2px 2px 0}
.contact-block{background:var(--bg-warm);border:1px solid rgba(90,69,53,0.1);padding:20px 22px;border-radius:2px;margin-top:2px}
.cb-title{font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:10px}
.cb-text{font-size:13px;font-weight:300;color:var(--ink-mid);line-height:1.7;margin-bottom:6px}
.cb-sub{font-size:11px;font-weight:300;color:var(--stone)}

/* ── CREDENTIALS STRIP ── */
.creds{background:var(--ink);display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:0}
.cred-item{padding:32px 28px;border-right:1px solid rgba(255,255,255,0.07);display:flex;flex-direction:column;justify-content:space-between}
.cred-item:last-child{border-right:none}
.cred-num{font-family:var(--ff-serif);font-size:44px;font-weight:300;color:#fff;line-height:1;margin-bottom:6px;font-style:italic}
.cred-num em{color:var(--rust)}
.cred-label{font-size:11px;font-weight:300;color:rgba(255,255,255,0.38);line-height:1.5;letter-spacing:0.03em}

/* ── INTRO STRIP ── */
.intro-strip{background:var(--white);padding:52px 56px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;border-bottom:1px solid rgba(90,69,53,0.1)}
.intro-heading{font-family:var(--ff-serif);font-size:44px;font-weight:300;line-height:1.1;color:var(--ink);margin-bottom:10px}
.intro-heading em{font-style:italic;color:var(--rust)}
.intro-rule{width:36px;height:1.5px;background:var(--rust);margin:14px 0 20px}
.intro-body{font-size:14px;font-weight:300;color:var(--stone);line-height:1.85}
.intro-right{display:flex;flex-direction:column;gap:20px}
.intro-point{display:flex;gap:14px;align-items:flex-start}
.intro-point-num{font-family:var(--ff-serif);font-size:28px;font-weight:300;color:var(--rust);font-style:italic;opacity:0.5;line-height:1;flex-shrink:0;width:28px}
.intro-point-text{}
.intro-point-title{font-family:var(--ff-serif);font-size:17px;font-weight:400;color:var(--ink);margin-bottom:3px;line-height:1.2}
.intro-point-title em{font-style:italic}
.intro-point-desc{font-size:12px;font-weight:300;color:var(--stone);line-height:1.6}

/* ── UPLOAD ZONE (trade) ── */
.upload-zone-t{border:1px dashed var(--stone-l);padding:20px 24px;cursor:pointer;transition:all 0.15s;background:var(--white);position:relative;border-radius:2px;display:flex;align-items:center;gap:16px}
.upload-zone-t:hover{border-color:var(--ink)}
.upload-zone-t input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-zone-icon{font-family:var(--ff-serif);font-size:28px;font-weight:300;color:var(--stone-l);line-height:1;flex-shrink:0}
.upload-zone-copy{}
.upload-zone-title{font-size:13px;font-weight:400;color:var(--ink-mid);margin-bottom:2px}
.upload-zone-sub{font-size:11px;font-weight:300;color:var(--stone-l);line-height:1.4}
.upload-tag{display:inline-block;background:var(--bg-warm);border:1px solid var(--stone-l);font-size:11px;font-weight:300;color:var(--stone);padding:3px 10px;border-radius:2px;margin:2px 3px 2px 0}
.files-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

.brief-form-errors{margin-bottom:18px;padding:12px 14px;border:1px solid rgba(176,74,42,0.35);background:rgba(176,74,42,0.06)}
.brief-form-errors p{margin:0;font-size:12px;color:var(--rust);line-height:1.5}
.field-error{margin:6px 0 0;font-size:11px;color:var(--rust);line-height:1.4}

/* ── TRADE B2B RESPONSIVE (additive only; desktop rules unchanged above) ── */
@media (max-width: 1100px) {
  .trade-brief-form-grid {
    grid-template-columns: 1fr 320px;
    gap: 32px;
  }
}

@media (max-width: 900px) {
  .hero {
    height: auto;
    min-height: 520px;
  }
  .hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    padding: 0 28px 40px;
  }
  .hero-title {
    font-size: clamp(42px, 10vw, 64px);
  }
  .hero-stats {
    max-width: 100%;
    width: 100%;
    text-align: left;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding-top: 20px;
  }
  .hero-stats > div {
    padding: 0 10px 0 0 !important;
    border-right: none !important;
  }
  .hero-stats > div:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,0.12) !important;
  }
  .hero-stat-num {
    font-size: 28px;
  }

  .who-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .who-item:nth-child(2) {
    border-right: none;
  }

  .intro-strip {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 40px 28px;
  }
  .intro-heading {
    font-size: clamp(32px, 7vw, 44px);
  }

  .trade-sec {
    padding: 56px 28px;
  }
  .trade-heading {
    font-size: clamp(36px, 8vw, 56px);
  }
  .trade-body-copy {
    max-width: 100%;
  }

  .mosaic {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
  .mc.tall {
    grid-row: span 1;
  }
  .mc.wide {
    grid-column: span 2;
  }
  .mc,
  .mc img {
    min-height: 180px;
  }

  .cat-tabs {
    flex-wrap: wrap;
  }
  .cat-tab {
    flex: 1 1 calc(33.333% - 1px);
    min-width: 0;
    padding: 10px 8px;
    font-size: 9px;
  }
  .logo-panel.active {
    grid-template-columns: repeat(3, 1fr);
  }

  .brief-layout {
    margin-top: 32px;
  }
  .trade-brief-form-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "fields"
      "preview"
      "actions";
    gap: 24px;
  }
  .trade-brief-form-grid .brief-inner {
    grid-area: fields;
    margin-right: 0;
    border-bottom: none;
  }
  .trade-brief-form-grid .brief-footer {
    grid-area: actions;
    margin-right: 0;
  }
  .trade-brief-form-grid .right-panel {
    grid-area: preview;
    position: static;
  }

  /* Size guide / art advisory hero */
  .hero-sub,
  .hero-right-text {
    max-width: 100%;
    text-align: left;
  }
  .sec {
    padding: 56px 28px;
  }
  .split {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .split.flip {
    direction: ltr;
  }
  .split .body-copy,
  .layouts-header .body-copy,
  .steps-header .body-copy {
    max-width: 100% !important;
  }
  .split .photo-r img {
    height: auto !important;
    min-height: 260px;
    aspect-ratio: 4 / 3;
  }
  .heading {
    font-size: clamp(36px, 8vw, 64px);
  }
  .stat-row {
    flex-wrap: wrap;
    gap: 24px;
  }
  .stat-big {
    font-size: 42px;
  }
  .compare-col img {
    height: 240px;
  }
  .formula-grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 40px;
  }
  .layouts-header,
  .steps-header {
    padding: 56px 28px 24px;
  }
  .layout-item {
    padding: 36px 28px;
  }
  .layout-name {
    font-size: clamp(28px, 6vw, 42px);
  }
  .layout-n {
    font-size: 48px;
  }
  .layout-desc {
    max-width: 100%;
  }
  .layout-photo img {
    height: 360px;
  }
  .sets-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .room-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .room-card {
    border-right: 1px solid rgba(90,69,53,0.14);
    border-top: none;
  }
  .room-card:nth-child(3),
  .room-card:nth-child(6) {
    border-right: 1px solid rgba(90,69,53,0.14);
  }
  .room-card:nth-child(even) {
    border-right: none;
  }
  .room-card:nth-child(n+3) {
    border-top: 1px solid rgba(90,69,53,0.14);
  }
  .step-row {
    grid-template-columns: 1fr;
    direction: ltr !important;
    min-height: auto;
  }
  .step-row:nth-child(even) {
    direction: ltr;
  }
  .step-text {
    padding: 36px 28px;
  }
  .step-photo img {
    min-height: 260px;
    height: auto;
  }
  .cta {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 56px 28px;
  }
  .cta-title {
    font-size: clamp(32px, 7vw, 52px);
  }
}

@media (max-width: 600px) {
  .cat-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .cat-tabs::-webkit-scrollbar {
    display: none;
  }
  .cat-tab {
    flex: 0 0 auto;
    min-width: max-content;
    padding: 10px 14px;
    font-size: 9px;
  }
  .logo-panel.active {
    grid-template-columns: repeat(2, 1fr);
  }
  .logo-cell {
    min-height: 60px;
    padding: 16px 12px;
  }

  .brief-inner {
    padding: 24px 20px;
  }
  .brief-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 16px 20px;
  }
  .brief-foot-note {
    max-width: none;
    text-align: center;
  }
  .wa-btn {
    justify-content: center;
    width: 100%;
  }
  .input-row {
    grid-template-columns: 1fr;
  }
  .upload-zone-t {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 16px 18px;
  }
}

@media (max-width: 480px) {
  .hero {
    min-height: 460px;
  }
  .hero-content {
    padding: 0 20px 32px;
    gap: 22px;
  }
  .hero-eyebrow {
    font-size: 9px;
    letter-spacing: 0.14em;
  }
  .hero-title {
    font-size: clamp(34px, 11vw, 48px);
  }
  .hero-stats {
    grid-template-columns: 1fr;
    gap: 16px;
    border-top: none;
    padding-top: 0;
  }
  .hero-stats > div {
    padding: 0 0 14px 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  }
  .hero-stats > div:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .who-strip {
    grid-template-columns: 1fr;
  }
  .who-item {
    border-right: none;
    border-bottom: 1px solid rgba(90,69,53,0.08);
    padding: 20px 20px;
  }
  .who-item:last-child {
    border-bottom: none;
  }

  .intro-strip {
    padding: 32px 20px;
  }

  .trade-sec {
    padding: 44px 20px;
  }
  .trade-heading {
    font-size: clamp(30px, 9vw, 40px);
  }

  .mosaic {
    grid-template-columns: 1fr;
  }
  .mc.wide {
    grid-column: span 1;
  }
  .mc,
  .mc img {
    min-height: 200px;
  }

  .test-card {
    padding: 24px 20px;
  }
  .test-quote {
    font-size: 16px;
  }

  .pill {
    font-size: 11px;
    padding: 7px 12px;
  }

  /* Size guide */
  .sec {
    padding: 44px 20px;
  }
  .layouts-header,
  .steps-header {
    padding: 44px 20px 20px;
  }
  .layout-item {
    padding: 28px 20px;
  }
  .layout-photo img {
    height: 260px;
  }
  .formula-grid {
    grid-template-columns: 1fr;
  }
  .compare-grid {
    grid-template-columns: 1fr;
  }
  .room-grid {
    grid-template-columns: 1fr;
  }
  .room-card {
    border-right: none;
  }
  .room-card:nth-child(3),
  .room-card:nth-child(6) {
    border-right: none;
  }
  .room-card:nth-child(n+2) {
    border-top: 1px solid rgba(90,69,53,0.14);
  }
  .room-card:first-child {
    border-top: none;
  }
  .step-text {
    padding: 28px 20px;
  }
  .step-n {
    font-size: 64px;
  }
  .step-title {
    font-size: 26px;
  }
  .cta {
    padding: 44px 20px;
  }
  .cta-btn {
    width: 100%;
    text-align: center;
  }
  .stat-big {
    font-size: 36px;
  }
}

/* ── PROMISE STRIP ── */
.promise-strip{background:var(--white);border-bottom:1px solid rgba(90,69,53,0.1);display:grid;grid-template-columns:repeat(3,1fr)}
.promise-item{padding:28px 32px;border-right:1px solid rgba(90,69,53,0.1);display:flex;align-items:flex-start;gap:14px}
.promise-item:last-child{border-right:none}
.promise-icon{font-family:var(--ff-serif);font-size:28px;font-weight:300;color:var(--ink);opacity:0.35;font-style:italic;line-height:1;flex-shrink:0}
.promise-text-wrap{}
.promise-title{font-family:var(--ff-serif);font-size:18px;font-weight:400;color:var(--ink);margin-bottom:4px;line-height:1.2}
.promise-title em{font-style:italic}
.promise-body{font-size:12px;font-weight:300;color:var(--stone);line-height:1.6}

/* ── MAIN LAYOUT ── */
.main{display:grid;grid-template-columns:1fr 420px;min-height:600px}
.main-advisory{display:block;min-height:0}
.advisory-form-grid{
  display:grid;
  grid-template-columns:1fr 420px;
  grid-template-areas:
    "fields preview"
    "actions preview";
  align-items:start;
}
.advisory-form-grid .form-fields{grid-area:fields;margin-right:20px}
.advisory-form-grid .preview-side{grid-area:preview}
.advisory-form-grid .form-actions{grid-area:actions}

/* ── FORM SIDE ── */
.form-side{padding:64px 56px;background:var(--bg)}
.form-eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:14px}
.form-eyebrow::before{content:'';width:28px;height:1.5px;background:var(--rust);display:block;flex-shrink:0}
.form-heading{font-family:var(--ff-serif);font-size:48px;font-weight:300;line-height:1.05;color:var(--ink);margin-bottom:8px}
.form-heading em{font-style:italic;color:var(--rust)}
.heading-rule{width:40px;height:1.5px;background:var(--rust);margin:16px 0 32px}
.form-intro{font-size:14px;font-weight:300;color:var(--stone);line-height:1.8;margin-bottom:40px;max-width:440px}

/* QUESTION BLOCKS */
.q-block{margin-bottom:32px}
.q-label{font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:12px;display:block}
.pill-wrap{display:flex;flex-wrap:wrap;gap:8px}
.pill{font-size:13px;font-weight:300;padding:9px 18px;border:1px solid var(--stone-l);background:transparent;color:var(--stone);cursor:pointer;transition:all 0.15s;font-family:var(--ff-sans);border-radius:2px}
.pill:hover{border-color:var(--ink);color:var(--ink)}
.pill.sel{background:var(--ink);border-color:var(--ink);color:var(--bg)}

/* MOOD CARDS */
.mood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mood-card{border:1px solid var(--stone-l);padding:14px 12px;cursor:pointer;transition:all 0.15s;text-align:left;background:transparent;border-radius:2px}
.mood-card:hover{border-color:var(--ink)}
.mood-card.sel{border-color:var(--ink);background:var(--bg-warm)}
.mood-card-name{font-family:var(--ff-serif);font-size:15px;font-weight:400;color:var(--ink);display:block;margin-bottom:2px;line-height:1.2}
.mood-card-desc{font-size:11px;font-weight:300;color:var(--stone);line-height:1.4}

/* TEXT INPUTS */
.input-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{}
.field label{font-size:11px;font-weight:400;letter-spacing:0.06em;text-transform:uppercase;color:var(--stone);margin-bottom:6px;display:block}
.ti{width:100%;padding:11px 14px;font-size:13px;font-weight:300;background:var(--white);border:1px solid var(--stone-l);color:var(--ink);font-family:var(--ff-sans);outline:none;transition:border-color 0.15s;border-radius:2px}
.ti:focus{border-color:var(--ink)}
.ti::placeholder{color:var(--stone-l)}
select.ti{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238A7A6A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
textarea.ti{resize:none;height:72px;line-height:1.6}

/* UPLOAD */
.upload-zone{border:1px dashed var(--stone-l);padding:24px;text-align:center;cursor:pointer;transition:all 0.15s;background:var(--white);position:relative;border-radius:2px}
.upload-zone:hover{border-color:var(--ink)}
.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-zone-text{font-size:13px;font-weight:300;color:var(--stone)}
.upload-zone-sub{font-size:11px;color:var(--stone-l);margin-top:4px}
.upload-preview{display:none}
.upload-preview img{width:100%;max-height:140px;object-fit:cover;border-radius:2px}
.upload-remove{font-size:11px;font-weight:400;color:var(--stone);background:none;border:none;cursor:pointer;margin-top:8px;text-decoration:underline;font-family:var(--ff-sans)}

/* WA BUTTON */
.wa-btn{width:100%;margin-top:32px;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:#25D366;color:#fff;border:none;cursor:pointer;font-family:var(--ff-sans);font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;border-radius:2px;transition:background 0.15s}
.wa-btn:hover{background:#1EBE5D}
.wa-btn svg{width:18px;height:18px;flex-shrink:0}
.wa-note{font-size:11px;font-weight:300;color:var(--stone);text-align:center;margin-top:12px;line-height:1.5}

/* ── PREVIEW SIDE ── */
.preview-side{display:flex;flex-direction:column;gap:2px;position:sticky;top:24px}
.preview-photo{flex:1;overflow:hidden;position:relative;min-height:280px}
.preview-photo img{width:100%;height:100%;object-fit:cover;display:block}
.preview-photo-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(61,43,31,0.5) 100%)}
.preview-panel{background:var(--white);border:1px solid rgba(90,69,53,0.1);padding:22px;border-radius:2px}
.preview-heading{font-family:var(--ff-serif);font-size:20px;font-weight:300;color:var(--ink);margin-bottom:4px}
.preview-sub{font-size:12px;font-weight:300;color:var(--stone);margin-bottom:20px;line-height:1.5}
.preview-rule{width:24px;height:1px;background:var(--rust);margin-bottom:18px}
.brief-item{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid rgba(90,69,53,0.08);gap:8px}
.brief-item:last-child{border-bottom:none;padding-bottom:0}
.brief-key{font-size:11px;font-weight:300;color:var(--stone);flex-shrink:0}
.brief-val{font-size:12px;font-weight:400;color:var(--ink);text-align:right}
.brief-val.empty{color:var(--stone-l);font-style:italic;font-weight:300;font-size:11px}
.wa-preview-box{background:var(--bg);border-left:2px solid #25D366;padding:12px 14px;font-size:11px;font-weight:300;color:var(--stone);line-height:1.7;margin-top:16px;border-radius:0 2px 2px 0}
.reassure{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.reassure-item{font-size:11px;font-weight:300;color:var(--stone-l);display:flex;align-items:center;gap:8px}
.reassure-item::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--rust);flex-shrink:0}

/* ── CTA FOOTER ── */
.cta-footer{background:var(--ink);padding:72px 56px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.cta-ey{font-size:10px;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;color:rgba(196,98,42,0.7);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.cta-ey::before{content:'';width:28px;height:1.5px;background:rgba(196,98,42,0.6);display:block}
.cta-title{font-family:var(--ff-serif);font-size:46px;font-weight:300;color:var(--white);line-height:1.08;margin-bottom:8px}
.cta-title em{font-style:italic;color:var(--rust)}
.cta-sub{font-size:13px;font-weight:300;color:rgba(245,240,232,0.35);line-height:1.7}
.cta-btn{background:var(--rust);color:#fff;border:none;font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:15px 32px;cursor:pointer;font-family:var(--ff-sans);white-space:nowrap;border-radius:2px}
.cta-btn:hover{background:#A0481A}

/* ── ART ADVISORY RESPONSIVE (additive only; desktop rules unchanged above) ── */
@media (max-width: 1100px) {
  .advisory-form-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "fields"
      "preview"
      "actions";
  }
  .advisory-form-grid .form-fields {
    margin-right: 0;
  }
  .advisory-form-grid .preview-side {
    position: static;
  }
  .advisory-form-grid .preview-photo {
    min-height: 220px;
    max-height: 280px;
  }
}

@media (max-width: 900px) {
  .promise-strip {
    grid-template-columns: 1fr;
  }
  .promise-item {
    border-right: none;
    border-bottom: 1px solid rgba(90,69,53,0.1);
    padding: 24px 28px;
  }
  .promise-item:last-child {
    border-bottom: none;
  }

  .form-side {
    padding: 56px 28px;
  }
  .form-heading {
    font-size: clamp(32px, 7vw, 48px);
  }
  .form-intro {
    max-width: 100%;
    margin-bottom: 32px;
  }
  .mood-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .main .input-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .promise-item {
    padding: 20px 20px;
  }
  .form-side {
    padding: 44px 20px;
  }
  .preview-panel {
    padding: 24px 20px;
  }
  .preview-photo {
    min-height: 180px;
    max-height: 220px;
  }
  .mood-grid {
    grid-template-columns: 1fr;
  }
}