:root {
  --ink: #18211e;
  --forest: #173f35;
  --forest-2: #245347;
  --cream: #f3eee4;
  --sand: #ddd1bc;
  --paper: #fbfaf7;
  --walnut: #7a482c;
  --walnut-dark: #4b2a1b;
  --line: rgba(24, 33, 30, 0.14);
  --serif: "Songti SC", "STSong", "SimSun", serif;
  --sans: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { color: #fff; background: var(--forest); }
:focus-visible { outline: 2px solid #a46d41; outline-offset: 4px; }
[id] { scroll-margin-top: 84px; }
.scroll-progress {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  pointer-events: none;
}
.scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: #a46d41;
  transform: scaleX(0);
  transform-origin: left;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  transform: translateY(-150%);
  padding: 8px 14px;
  background: #fff;
  border-radius: 4px;
}
.skip-link:focus { transform: none; }

.site-header {
  height: 84px;
  padding: 0 clamp(24px, 5vw, 78px);
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(251, 250, 247, 0.88);
  position: sticky;
  top: 0;
  z-index: 25;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.scrolled {
  background: rgba(251, 250, 247, 0.96);
  box-shadow: 0 10px 30px rgba(34, 43, 39, .08);
}
.brand { display: inline-flex; align-items: center; gap: 10px; margin-right: auto; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border-radius: 50%;
  color: #fff;
  background: var(--forest);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.08em;
}
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.1; }
.brand strong { font-family: var(--serif); font-size: 17px; letter-spacing: 0.16em; }
.brand small { margin-top: 5px; color: #6b706d; font-size: 8px; letter-spacing: 0.18em; }
.site-nav { display: flex; align-items: center; gap: clamp(22px, 3.2vw, 50px); }
.site-nav a { color: #454d49; font-size: 14px; position: relative; transition: color .2s ease; }
.site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 1px;
  background: var(--forest);
  transition: right 0.25s ease;
}
.site-nav a:hover, .site-nav a.active { color: var(--forest); }
.site-nav a:hover::after, .site-nav a:focus-visible::after, .site-nav a.active::after { right: 0; }
.header-cta {
  margin-left: clamp(22px, 3.5vw, 54px);
  padding: 10px 18px;
  border: 1px solid var(--forest);
  font-size: 13px;
  transition: color .2s ease, background .2s ease;
}
.header-cta:hover { color: #fff; background: var(--forest); }
.header-cta span { margin-left: 12px; }
.menu-button { display: none; background: none; border: 0; padding: 8px; }

.hero {
  min-height: calc(100vh - 84px);
  display: grid;
  grid-template-columns: minmax(420px, 0.86fr) 1.14fr;
  background: var(--cream);
}
.hero-copy {
  padding: clamp(72px, 9vh, 112px) clamp(34px, 6vw, 102px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: var(--forest);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.eyebrow span { width: 32px; height: 1px; background: currentColor; }
.hero h1 {
  margin: 0 0 20px;
  display: flex;
  align-items: baseline;
  gap: 14px;
  color: var(--forest);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
}
.search-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.search-title small {
  color: #77766e;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: .24em;
}
.tp-wordmark {
  display: block;
  width: clamp(108px, 9vw, 142px);
  height: auto;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(47, 126, 241, .18);
}
.hero-title {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(40px, 4.1vw, 68px);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: 0.015em;
}
.hero-description {
  max-width: 510px;
  margin: 30px 0 0;
  color: #5d625f;
  font-size: 15px;
  line-height: 2;
}
.hero-actions { display: flex; align-items: center; gap: 12px; margin-top: 38px; }
.store-button {
  min-width: 172px;
  min-height: 58px;
  padding: 9px 17px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border-radius: 8px;
  color: #fff;
  background: #151716;
  box-shadow: 0 12px 28px rgba(28, 37, 33, .14);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.store-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 17px 34px rgba(28, 37, 33, .2);
  background: #000;
}
.store-button svg { width: 27px; height: 27px; flex: 0 0 auto; fill: currentColor; }
.store-button > span:last-child { display: flex; flex-direction: column; font-size: 16px; font-weight: 600; line-height: 1.2; }
.store-button small { margin-bottom: 3px; color: rgba(255,255,255,.65); font-size: 9px; font-weight: 400; letter-spacing: .08em; }
.store-button-yingyongbao { color: #fff; background: #287df0; }
.store-button-yingyongbao:hover { background: #146be0; }
.store-symbol {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px 8px 8px 2px;
  color: #287df0;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
}
.hero-guide-link { align-self: flex-start; margin-top: 23px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 146px;
  padding: 14px 20px;
  font-size: 14px;
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, background 0.25s ease, box-shadow .25s ease;
}
.button span { transition: transform .25s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(34, 44, 39, .14); }
.button:hover span { transform: translate(3px, -2px); }
.button-primary { color: #fff; background: var(--forest); }
.button-primary:hover { background: var(--forest-2); }
.text-link { font-size: 14px; border-bottom: 1px solid #89908c; padding-bottom: 4px; transition: color .2s ease, border-color .2s ease; }
.text-link:hover { color: var(--forest); border-color: var(--forest); }
.text-link span { display: inline-block; margin-left: 10px; transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, 2px); }
.hero-facts { display: flex; gap: clamp(25px, 3vw, 54px); margin: auto 0 0; padding-top: 48px; }
.hero-facts div { padding-right: clamp(20px, 3vw, 44px); border-right: 1px solid var(--line); }
.hero-facts div:last-child { border: 0; }
.hero-facts dt { font-family: var(--serif); font-size: 22px; }
.hero-facts dd { margin: 3px 0 0; color: #727773; font-size: 11px; }

.hero-visual {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  background: #d3c7b4;
  isolation: isolate;
}
.tp-seal {
  position: absolute;
  z-index: 5;
  top: 5%;
  left: 5%;
  width: 88px;
  height: 88px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(23, 63, 53, .5);
  border-radius: 50%;
  color: var(--forest);
  background: rgba(243, 238, 228, .52);
  backdrop-filter: blur(6px);
  transform: rotate(-8deg);
}
.tp-seal strong { font-size: 24px; line-height: 1; letter-spacing: -.08em; }
.tp-seal span { margin-top: 5px; font-size: 6px; line-height: 1.35; letter-spacing: .12em; }
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(96deg, transparent 0 48%, rgba(255,255,255,.16) 48.2% 48.5%, transparent 48.7%),
    linear-gradient(180deg, #d8cebd 0 68%, #aa957b 68% 100%);
}
.hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(110deg, rgba(255,248,226,.22), transparent 48%, rgba(65,43,27,.08));
  mix-blend-mode: soft-light;
}
.sun-glow {
  position: absolute;
  width: 440px;
  height: 440px;
  top: 4%;
  left: -10%;
  border-radius: 50%;
  background: rgba(255, 243, 205, 0.48);
  filter: blur(15px);
}
.wall-art {
  position: absolute;
  top: 14%;
  right: 11%;
  width: 26%;
  height: 34%;
  padding: 12px;
  border: 7px solid #6b503d;
  background: #ebe2d2;
  box-shadow: 14px 16px 25px rgba(72,49,32,.16);
}
.wall-art::before {
  content: "";
  position: absolute;
  inset: 12px;
  background: linear-gradient(145deg, #b56c46 0 31%, #e1c8a3 31% 47%, #426653 47% 72%, #d8ad77 72%);
  opacity: .8;
}
.wall-art i {
  position: absolute;
  z-index: 1;
  width: 1px;
  height: 55%;
  background: rgba(37,50,42,.7);
  transform-origin: bottom;
  bottom: 18%;
  left: 50%;
}
.wall-art i:nth-child(1) { transform: rotate(-32deg); }
.wall-art i:nth-child(2) { transform: rotate(8deg); }
.wall-art i:nth-child(3) { transform: rotate(38deg); }
.bed {
  position: absolute;
  left: -12%;
  bottom: 0;
  width: 65%;
  height: 35%;
  background: #dfd5c3;
  border-radius: 0 36px 0 0;
  box-shadow: inset 0 15px 28px rgba(255,255,255,.27), 30px 15px 40px rgba(72,49,32,.12);
}
.bed::before {
  content: "";
  position: absolute;
  top: -42%;
  left: 8%;
  width: 60%;
  height: 65%;
  border-radius: 50% 46% 10% 12%;
  background: #eee7d9;
  transform: rotate(-4deg);
  box-shadow: inset -15px -8px 24px rgba(96,76,55,.09);
}
.bed span {
  position: absolute;
  top: 20%;
  left: 8%;
  right: 0;
  height: 3px;
  background: rgba(118,91,64,.12);
  transform: rotate(-3deg);
}
.cabinet {
  position: absolute;
  z-index: 2;
  left: 48%;
  bottom: 16%;
  width: 35%;
  height: 39%;
  border-radius: 16px 16px 9px 9px;
  background:
    repeating-linear-gradient(7deg, transparent 0 9px, rgba(48,24,12,.055) 10px 11px),
    linear-gradient(100deg, #815033, #633b27);
  box-shadow: 30px 35px 42px rgba(68,42,25,.25), inset 6px 0 rgba(255,255,255,.045);
}
.cabinet-top {
  position: absolute;
  top: -3px;
  left: -3px;
  width: calc(100% + 6px);
  height: 15px;
  border-radius: 12px 12px 5px 5px;
  background: #8e5b39;
  box-shadow: 0 5px 9px rgba(40,20,10,.18);
}
.drawer {
  height: 50%;
  border-bottom: 1px solid rgba(42,20,10,.36);
  position: relative;
}
.drawer span {
  position: absolute;
  width: 35px;
  height: 4px;
  left: 50%;
  bottom: 28%;
  transform: translateX(-50%);
  border-radius: 4px;
  background: #35251e;
}
.cabinet .leg {
  position: absolute;
  bottom: -24%;
  width: 8px;
  height: 25%;
  background: #33241d;
  transform: rotate(4deg);
}
.cabinet .leg-left { left: 12%; }
.cabinet .leg-right { right: 12%; transform: rotate(-4deg); }
.lamp { position: absolute; z-index: 3; left: 57%; bottom: 54%; width: 100px; height: 220px; }
.lamp-shade {
  position: absolute;
  top: 0;
  width: 100%;
  height: 80px;
  clip-path: polygon(23% 0, 77% 0, 100% 100%, 0 100%);
  background: #efe5d1;
  filter: drop-shadow(5px 8px 8px rgba(49,32,21,.14));
}
.lamp-neck { position: absolute; top: 77px; left: 48px; width: 5px; height: 95px; background: #44342b; }
.lamp-base { position: absolute; bottom: 8px; left: 24px; width: 54px; height: 18px; border-radius: 50%; background: #4d3b30; }
.hero-label {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  width: 43%;
  padding: 22px 25px;
  display: flex;
  gap: 16px;
  color: #fff;
  background: rgba(23,63,53,.94);
}
.hero-label span { font-family: var(--serif); font-size: 22px; }
.hero-label p { margin: 0; color: rgba(255,255,255,.62); font-size: 10px; line-height: 1.65; }
.hero-label strong { display: block; color: #fff; font-size: 13px; font-weight: 500; }

.trust-strip {
  padding: 26px clamp(24px, 6vw, 100px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #e7dfd1;
  background: var(--forest);
}
.trust-strip p { margin: 0; font-family: var(--serif); font-size: 15px; }
.trust-strip ul { display: flex; gap: clamp(18px, 3.5vw, 58px); margin: 0; padding: 0; list-style: none; }
.trust-strip li { color: rgba(255,255,255,.72); font-size: 11px; }
.trust-strip li span { margin-right: 7px; color: #b9a584; }

.section { padding: clamp(85px, 10vw, 150px) clamp(24px, 7vw, 112px); }
.section-heading { max-width: 700px; margin-bottom: 54px; }
.section-heading h2, .guide-intro h2, .craft-copy h2, .contact-section h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 600;
  line-height: 1.35;
}
.section-heading > p:last-child, .guide-intro > p {
  max-width: 520px;
  margin: 20px 0 0;
  color: #68706c;
  font-size: 14px;
}
.product-grid { display: grid; grid-template-columns: 1.18fr 1fr 1fr; gap: 22px; }
.product-card {
  position: relative;
  overflow: hidden;
  background: #f0ece3;
  box-shadow: 0 0 0 1px rgba(40, 49, 45, .03);
  transition: transform .35s ease, box-shadow .35s ease;
}
.product-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 48px rgba(42, 48, 44, .12);
}
.product-art { position: relative; height: 310px; overflow: hidden; display: grid; place-items: end center; }
.product-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.34), transparent 45%);
}
.product-art::after {
  content: "TP";
  position: absolute;
  top: 18px;
  right: 21px;
  color: rgba(23, 63, 53, .3);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -.05em;
}
.product-art-walnut { background: #ddd1bd; }
.product-art-oak { background: #e6dfd0; }
.product-art-green { background: #ccd2c5; }
.mini-cabinet {
  position: relative;
  width: 43%;
  height: 50%;
  margin-bottom: 44px;
  border-radius: 9px 9px 3px 3px;
  box-shadow: 22px 20px 24px rgba(54,38,26,.18);
  transition: transform .45s cubic-bezier(.2,.75,.25,1);
}
.product-card:hover .mini-cabinet { transform: translateY(-8px) scale(1.025); }
.product-featured .mini-cabinet { width: 40%; height: 54%; }
.product-art-walnut .mini-cabinet { background: linear-gradient(110deg, #845234, #5c3523); }
.product-art-oak .mini-cabinet { background: linear-gradient(110deg, #b98d5d, #9d7146); }
.product-art-green .mini-cabinet { background: linear-gradient(110deg, #9a7555, #765239); }
.mini-cabinet i {
  display: block;
  height: 50%;
  border-bottom: 1px solid rgba(48,26,14,.24);
  position: relative;
}
.mini-cabinet i::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 20%;
  width: 26px;
  height: 3px;
  transform: translateX(-50%);
  background: #32241e;
  border-radius: 3px;
}
.mini-cabinet b {
  position: absolute;
  bottom: -21%;
  width: 6px;
  height: 22%;
  background: #392820;
}
.mini-cabinet b:nth-last-child(2) { left: 11%; transform: rotate(4deg); }
.mini-cabinet b:last-child { right: 11%; transform: rotate(-4deg); }
.open-shelf i:first-child {
  height: 44%;
  margin: 8% 10% 0;
  border: 8px solid #9c7147;
  border-top-width: 4px;
}
.open-shelf i::after { display: none; }
.single-drawer i:first-child { height: 45%; }
.product-info { padding: 24px 26px 28px; }
.product-meta { display: flex; justify-content: space-between; align-items: center; }
.tag { display: inline-block; padding: 3px 9px; color: var(--forest); background: #dce4de; font-size: 10px; }
.stock { display: inline-flex; align-items: center; gap: 6px; color: #597168; font-size: 10px; }
.stock::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #4b806b; box-shadow: 0 0 0 3px rgba(75,128,107,.12); }
.stock-order { color: #8b684b; }
.stock-order::before { background: #a37953; box-shadow: 0 0 0 3px rgba(163,121,83,.12); }
.product-info h3 { margin: 14px 0 5px; font-family: var(--serif); font-size: 19px; font-weight: 600; }
.product-info p { margin: 0; color: #747a76; font-size: 11px; }
.product-buy { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 23px; }
.product-info strong { font-family: var(--serif); font-size: 22px; }
.product-info a { color: #4f5d57; font-size: 11px; border-bottom: 1px solid #9da39f; transition: color .2s, border-color .2s; }
.product-info a:hover { color: var(--forest); border-color: var(--forest); }

.craft-section { min-height: 760px; display: grid; grid-template-columns: 1fr 1fr; }
.craft-visual {
  min-height: 680px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #9b7654;
}
.craft-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .35;
  background: repeating-radial-gradient(ellipse at 20% 60%, transparent 0 18px, rgba(58,31,15,.28) 19px 21px);
  transform: scale(1.5);
}
.wood-rings {
  width: 48%;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 48% 52% 44% 56%;
  box-shadow: 0 0 0 20px rgba(255,255,255,.06), 0 0 0 45px rgba(255,255,255,.05), 0 0 0 76px rgba(255,255,255,.035);
}
.craft-visual > p {
  position: absolute;
  bottom: 10%;
  left: 9%;
  margin: 0;
  color: rgba(255,255,255,.7);
  font-family: var(--serif);
  font-size: 15px;
}
.craft-visual strong { color: #fff; font-size: 24px; font-weight: 500; }
.craft-copy { padding: clamp(64px, 8vw, 120px); color: #f4efe5; background: var(--forest); }
.eyebrow.light { color: #b7a98f; }
.craft-copy > p:nth-of-type(2) { max-width: 520px; margin: 28px 0 48px; color: rgba(255,255,255,.6); font-size: 13px; }
.craft-copy ol { margin: 0; padding: 0; list-style: none; }
.craft-copy li {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 14px;
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,.13);
}
.craft-copy li > span { color: #b7a98f; font-family: var(--serif); font-size: 12px; }
.craft-copy h3 { margin: 0 0 5px; font-family: var(--serif); font-size: 17px; font-weight: 500; }
.craft-copy li p { margin: 0; color: rgba(255,255,255,.5); font-size: 11px; }

.guide-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 150px); background: var(--cream); }
.guide-intro .text-link { display: inline-block; margin-top: 30px; }
.guide-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: end; }
.guide-cards article {
  min-height: 350px;
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  border-top: 2px solid var(--forest);
  background: rgba(255,255,255,.46);
  transition: transform .3s ease, background .3s ease, box-shadow .3s ease;
}
.guide-cards article:nth-child(2) { transform: translateY(-22px); }
.guide-cards article:hover { background: rgba(255,255,255,.8); box-shadow: 0 16px 30px rgba(46,53,49,.08); transform: translateY(-6px); }
.guide-cards article:nth-child(2):hover { transform: translateY(-28px); }
.guide-cards article > span { color: #64746e; font-size: 10px; letter-spacing: .1em; }
.guide-cards h3 { margin: 32px 0 16px; font-family: var(--serif); font-size: 19px; line-height: 1.6; }
.guide-cards p { margin: 0; color: #707672; font-size: 12px; }
.guide-cards strong { margin-top: auto; color: var(--forest); font-size: 11px; font-weight: 500; }

.faq-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; }
.faq-section .section-heading { margin: 0; }
.faq-list details { border-top: 1px solid var(--line); transition: background .2s ease; }
.faq-list details[open] { padding-left: 18px; background: linear-gradient(90deg, rgba(23,63,53,.045), transparent 76%); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary {
  padding: 25px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  list-style: none;
  font-family: var(--serif);
  font-size: 17px;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { font-family: var(--sans); font-size: 20px; font-weight: 300; transition: transform .25s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 680px; margin: -7px 35px 25px 0; color: #6b716e; font-size: 13px; }

.contact-section {
  padding: clamp(68px, 8vw, 110px) clamp(24px, 8vw, 130px);
  display: grid;
  grid-template-columns: 1fr .7fr;
  align-items: end;
  gap: 50px;
  color: #fff;
  background: var(--forest);
}
.contact-section > div:last-child { padding-bottom: 6px; }
.contact-section > div:last-child p { margin: 0 0 24px; color: rgba(255,255,255,.57); font-size: 13px; }
.contact-section > div:last-child small { display: block; margin-top: 14px; color: rgba(255,255,255,.38); font-size: 10px; }
.button-light { color: var(--forest); background: #f5efe4; }
.site-footer {
  padding: 45px clamp(24px, 7vw, 110px) 26px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
  background: #102d27;
  color: rgba(255,255,255,.58);
}
.footer-brand { color: #fff; }
.footer-brand .brand-mark { color: var(--forest); background: #e8dece; }
.site-footer > p { font-size: 11px; }
.site-footer nav { display: flex; gap: 30px; font-size: 11px; }
.copyright { grid-column: 1 / -1; margin: 20px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.back-to-top {
  position: fixed;
  z-index: 18;
  right: 24px;
  bottom: 24px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  color: #fff;
  background: rgba(23,63,53,.9);
  box-shadow: 0 10px 24px rgba(23,63,53,.2);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .25s, visibility .25s, transform .25s, background .2s;
}
.back-to-top.visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { background: #245347; }
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .site-nav { gap: 20px; }
  .hero { grid-template-columns: 1fr 1fr; }
  .hero-copy { padding: 60px 42px; }
  .hero-facts { gap: 20px; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .product-featured { grid-column: 1 / -1; }
  .guide-section, .faq-section { grid-template-columns: 1fr; }
  .guide-cards { margin-top: 15px; }
}

@media (max-width: 760px) {
  .site-header { height: 70px; padding: 0 20px; }
  .header-cta { display: none; }
  .menu-button { display: flex; flex-direction: column; gap: 5px; }
  .menu-button span:not(.sr-only) { width: 22px; height: 1px; background: var(--ink); }
  .site-nav {
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    padding: 22px;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 12px 24px rgba(25,31,28,.08);
  }
  .site-nav.open { display: flex; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: auto; padding: 70px 24px 55px; }
  .hero-title { font-size: 39px; }
  .hero h1 { align-items: flex-end; gap: 11px; font-size: 11px; letter-spacing: .06em; }
  .search-title { max-width: 190px; line-height: 1.45; }
  .tp-wordmark { width: 94px; border-radius: 8px; }
  .hero-description { font-size: 14px; }
  .hero-actions { width: 100%; align-items: stretch; flex-direction: column; gap: 10px; }
  .store-button { width: 100%; min-height: 60px; }
  .hero-facts { margin-top: 42px; padding-top: 0; width: 100%; justify-content: space-between; }
  .hero-facts div { padding-right: 16px; }
  .hero-visual { min-height: 530px; }
  .cabinet { left: 43%; width: 43%; bottom: 18%; }
  .lamp { left: 55%; transform: scale(.85); transform-origin: bottom; }
  .wall-art { width: 34%; right: 7%; }
  .tp-seal { width: 70px; height: 70px; padding: 13px; }
  .hero-label { width: 65%; }
  .trust-strip { align-items: flex-start; flex-direction: column; gap: 20px; padding: 26px 24px; }
  .trust-strip ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
  .section { padding: 80px 24px; }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2, .guide-intro h2, .craft-copy h2, .contact-section h2 { font-size: 32px; }
  .product-grid { grid-template-columns: 1fr; }
  .product-featured { grid-column: auto; }
  .product-art { height: 280px; }
  .craft-section { grid-template-columns: 1fr; }
  .craft-visual { min-height: 470px; }
  .craft-copy { padding: 72px 24px; }
  .guide-section { gap: 50px; }
  .guide-cards { grid-template-columns: 1fr; }
  .guide-cards article, .guide-cards article:nth-child(2) { min-height: 270px; transform: none; }
  .guide-cards article:hover, .guide-cards article:nth-child(2):hover { transform: translateY(-4px); }
  .faq-section { gap: 35px; }
  .faq-list summary { font-size: 15px; }
  .contact-section { grid-template-columns: 1fr; padding: 70px 24px; gap: 30px; }
  .site-footer { grid-template-columns: 1fr; gap: 18px; }
  .site-footer nav { margin-top: 5px; }
  .back-to-top { right: 16px; bottom: 16px; width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
