:root{color-scheme:light;--ink:#211c18;--gold:#e5bd7d;--muted:#685d53;--border:#e4d9ca;--paper:#f8f4ed;--accent:#795420}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 system-ui,"Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #a57230;outline-offset:4px}p,figure{margin:0}h1,h2,h3{line-height:1.24;margin:0;font-weight:650}h1{font-size:clamp(36px,4.2vw,60px);letter-spacing:-.045em}h2{font-size:clamp(28px,3.6vw,47px);letter-spacing:-.045em}h3{font-size:24px}section[id]{scroll-margin-top:18px}.wrap{width:min(1160px,90%);margin-inline:auto}
.mast{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(5%,calc((100% - 1160px)/2));border-bottom:1px solid var(--border)}.brand img,footer img{display:block;width:130px}.mast nav{display:flex;gap:29px;white-space:nowrap;font-size:14px}.mast nav a[aria-current],.mast nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:7px}.header-link{border:1px solid var(--border);padding:8px 14px;font-size:13px;white-space:nowrap}
.product{display:grid;grid-template-columns:1.17fr 1fr;gap:clamp(30px,6vw,90px);align-items:start;padding:45px 0 50px}.gallery figure{background:#f4eee5}.gallery-image{aspect-ratio:1.34;background-size:cover;background-position:center}.gallery figcaption,figcaption{font-size:12px;padding:9px 12px;color:var(--muted)}.thumbnails{display:flex;gap:9px;margin-top:11px}.thumb{width:62px;aspect-ratio:1.2;border:1px solid var(--border);background-size:cover;background-position:center}.thumb[aria-pressed=true]{outline:2px solid #a57230;outline-offset:2px}
[data-view=room] { background-image: url(hero.png); }
[data-view=stone] { background-image: url(jtl/stone.jpg); }
[data-view=continuous] { background-image: url(jtl/green.jpg); }
[data-view=art] { background-image: url(jtl/art.jpg); }
.catalogues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.catalogues a { display: block; background: #fffaf3; border: 1px solid var(--border); padding: 15px; }
.catalogues img { width: 100%; height: clamp(110px, 24vw, 230px); object-fit: contain; background: var(--paper); }
.catalogues h3 { margin: 10px 0 4px; font-size: clamp(16px, 3vw, 24px); }
.catalogues p { color: var(--muted); font-size: 13px; }
.product-info{padding-top:16px}.eyebrow{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.17em;color:var(--accent);margin-bottom:13px}.price{font-size:24px;margin:14px 0;color:#78511f;font-weight:600}.description,.section-intro,.note,.plans article p:not(.eyebrow),details p{color:var(--muted)}.fields,.dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 17px}.fields>div,.dimensions>div{min-width:0}label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid #cbbba8;background:#fff;color:var(--ink);border-radius:0;padding:10px 11px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:0;padding:12px 17px;font-size:15px;font-weight:700}.gold{background:#e8c58d;color:#302117}.gold:hover{background:#f4d6a3}.glint{animation:glint 1.5s ease-in-out 2}@keyframes glint{50%{box-shadow:0 0 17px #b986426f;background:#f7dba7}}.note{font-size:13px;margin-top:15px}
.packages,.faq{padding:43px 0 58px;border-top:1px solid var(--border)}.section-intro{margin:12px 0 24px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plans article{background:var(--paper);border:1px solid var(--border);padding:21px;display:flex;flex-direction:column;align-items:start}.plans article p:not(.eyebrow){margin:10px 0 19px}.plan,.copy{margin-top:auto;background:transparent;border:1px solid #bda781;color:inherit;padding:7px 12px;font-size:14px}.plan[aria-pressed=true]{background:#30251c;color:#fff6e8;border-color:#30251c}
.inspiration{background:var(--paper);padding:40px 0}.inspiration-grid,.planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}.inspiration img{display:block;width:100%;aspect-ratio:1.8;object-fit:cover}.inspiration p:not(.eyebrow){color:var(--muted);margin:14px 0}.text-link{text-decoration:underline;text-underline-offset:5px}.faq{border-top:0;padding-top:55px}.faq h2{margin-bottom:16px}details{border-bottom:1px solid var(--border);padding:12px 0}summary{cursor:pointer;font-weight:600}details p{padding:8px 0 0 17px}
.planning{background:#28211b;color:#f8eee1;padding:45px 0}.planning .eyebrow{color:var(--gold)}.planning .section-intro,#result{color:#ecdcc7}.planning form{padding:20px;border:1px solid #79614a;background:#362b23}.planning .selection{color:#f0d19d;font-size:14px}.planning .button,#quote,#result{margin-top:13px}textarea{resize:vertical}.copy{margin-top:6px}#result{font-size:13px}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:20px;font-size:13px;color:var(--muted)}
@media(max-width:700px){.mast{min-height:65px;gap:10px;flex-wrap:wrap;padding-block:10px}.brand img,footer img{width:100px}.mast nav{order:3;width:100%;justify-content:space-between;gap:7px;font-size:12px}.product,.inspiration-grid,.planning-grid{grid-template-columns:1fr;gap:22px}.product{padding-top:22px}.product-info{padding-top:0}.plans{grid-template-columns:1fr}.packages,.faq{padding-block:32px}footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.glint{animation:none}}

/* Ambient lighting sits behind the product content and never captures input. */
body { background: #f8f3eb; }
.mast { background: #fffdf9ed; }
.ambient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
  background: radial-gradient(ellipse at 85% 14%, #e6c79c 0%, transparent 53%),
              radial-gradient(ellipse at 0% 85%, #ecd1ab 0%, transparent 49%),
              linear-gradient(125deg, #fffdf8, #f0e1ce);
}
body { isolation: isolate; }
.aurora {
  position: absolute;
  inset: -32%;
  background: conic-gradient(from 220deg at 55% 48%, transparent 0 18%, #fff8dfc9 23%, transparent 30% 55%, #bc82434d 60%, transparent 66%);
  filter: blur(26px);
  animation: aurora-drift 16s ease-in-out infinite alternate;
}
@keyframes aurora-drift {
  from { transform: translate(-11%, -5%) rotate(-8deg); opacity: .54; }
  to { transform: translate(10%, 7%) rotate(14deg); opacity: 1; }
}
.stardust { position: absolute; inset: 0; }
.stardust i {
  position: absolute;
  width: 13px;
  aspect-ratio: 1;
  background: #fffdf3;
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
  animation: star-glow 4.8s ease-in-out infinite both;
  left: var(--x);
  top: var(--y);
  animation-delay: var(--delay);
}
.stardust i:nth-child(1) { --x: 2%; --y: 15%; --delay: -.4s; }
.stardust i:nth-child(2) { --x: 8%; --y: 66%; --delay: -2.4s; }
.stardust i:nth-child(3) { --x: 22%; --y: 10%; --delay: -3.5s; }
.stardust i:nth-child(4) { --x: 49%; --y: 39%; --delay: -1.8s; }
.stardust i:nth-child(5) { --x: 54%; --y: 71%; --delay: -2.9s; }
.stardust i:nth-child(6) { --x: 74%; --y: 17%; --delay: -1.2s; }
.stardust i:nth-child(7) { --x: 89%; --y: 32%; --delay: -3.6s; }
.stardust i:nth-child(8) { --x: 96%; --y: 57%; --delay: -.7s; }
.stardust i:nth-child(9) { --x: 91%; --y: 82%; --delay: -1.9s; }
.stardust i:nth-child(10) { --x: 30%; --y: 91%; --delay: -4.1s; }
@keyframes star-glow {
  0%, 100% { opacity: .13; transform: scale(.45); }
  50% { opacity: 1; transform: scale(1.35); }
}
.inspiration { background: #fff9efb5; }
.planning { background: linear-gradient(130deg, #211913, #30251d 63%, #473322); }
.motion-toggle {
  position: fixed;
  z-index: 1;
  right: 12px;
  bottom: 12px;
  border: 1px solid #a48358;
  background: #fffbf2;
  color: #513719;
  padding: 6px 10px;
  font-size: 12px;
}
.motion-paused .ambient * { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .ambient * { animation: none; }
  .motion-toggle { display: none; }
}
