:root { --ink:#171712; --cream:#f4f0e8; --paper:#fbfaf7; --gold:#a78c62; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, "Noto Sans", sans-serif; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
button,select { font:inherit; }
.announcement { min-height:31px; display:grid; place-items:center; padding:6px 18px; background:#1c1b17; color:#f8f4ea; font-size:10px; line-height:1.45; letter-spacing:.13em; text-align:center; }
header { height:86px; padding:0 4vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:absolute; top:31px; z-index:5; width:100%; color:white; border-bottom:1px solid #ffffff38; }
header.solid-header { position:sticky; top:0; background:#181713; color:#f8f4ea; border-bottom:1px solid #ffffff1f; }
.logo { display:inline-flex; align-items:center; width:174px; }
.logo img { display:block; width:100%; height:auto; object-fit:contain; }
nav { display:flex; gap:33px; }
nav a { font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:20px; }
.locale { display:flex; gap:7px; align-items:center; }
.locale select { color:inherit; background:transparent; border:0; font-size:11px; outline:none; }
.locale option { color:#111; }
.bag,.menu { background:none; border:0; color:inherit; font-size:11px; cursor:pointer; }
.menu { display:none; font-size:20px; }
.hero { min-height:calc(100vh - 31px); position:relative; overflow:hidden; color:white; background:#75614c; }
.hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,14,10,.62),rgba(18,14,10,.07) 60%); }
.hero>picture,.hero>picture img { position:absolute; width:100%; height:100%; object-fit:cover; display:block; }
.hero-copy { position:relative; z-index:2; padding:25vh 0 12vh 8vw; width:min(600px,48vw); }
.eyebrow,.section-label { font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; margin:0; }
h1 { font-size:clamp(56px,7vw,106px); line-height:.91; white-space:pre-line; }
.lead { max-width:480px; font-family:Georgia,serif; font-size:17px; line-height:1.7; margin:30px 0 36px; }
.hero-buttons { display:flex; align-items:center; gap:30px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:40px; min-width:230px; padding:18px 22px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; transition:.25s; border:0; cursor:pointer; }
.button.dark { background:#191815; color:white; }
.button.light { background:#f8f4ea; color:#171712; }
.button:hover { transform:translateY(-2px); }
.text-link { font-size:11px; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:5px; }
.hero-index { position:absolute; z-index:3; right:4vw; bottom:34px; display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.14em; }
.hero-index i { width:60px; height:1px; background:white; opacity:.65; }
.intro { display:grid; grid-template-columns:1fr 2.2fr; padding:130px 8vw; gap:8vw; background:var(--cream); }
.intro>div { display:grid; grid-template-columns:1.3fr 1fr; gap:6vw; }
.intro h2,.section-heading h2,.craft h2,.story h2,.consultation h2 { font-size:clamp(44px,5vw,76px); line-height:1; }
.intro div p,.section-heading>p { font-family:Georgia,serif; font-size:18px; line-height:1.65; margin:0; }
.collection { padding:120px 4vw 140px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; padding:0 4vw 54px; gap:40px; }
.section-heading>p { max-width:370px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.product-photo { aspect-ratio:1/1; overflow:hidden; position:relative; background:#d8c7b0; }
.product-photo picture,.product-photo img { display:block; width:100%; height:100%; }
.product-photo img { object-fit:cover; transition:transform .7s; }
.product:hover img { transform:scale(1.035); }
.product-1 img { object-position:64% center; }
.product-2 img { object-position:78% center; filter:saturate(.68) brightness(.95); }
.product-3 img { object-position:95% center; filter:sepia(.12) contrast(1.04); }
.product-photo a { position:absolute; right:16px; bottom:16px; width:48px; height:48px; border:0; border-radius:50%; background:#fff; cursor:pointer; display:grid; place-items:center; color:#171712; }
.product-info { display:flex; justify-content:space-between; gap:20px; padding:20px 4px; border-bottom:1px solid #ccc7bc; }
.product-info h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:24px; font-weight:400; }
.product-info p,.product-info strong { margin:0; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.craft { display:grid; grid-template-columns:1.05fr .95fr; background:#25241f; color:#f5f0e7; }
.craft-image { height:820px; overflow:hidden; }
.craft-image img { width:100%; height:100%; object-fit:cover; object-position:80% center; filter:brightness(.65) saturate(.7); transform:scale(1.35); }
.craft-copy { padding:130px 9vw 100px; align-self:center; }
.craft-copy>p:not(.section-label) { font-family:Georgia,serif; color:#d5cec1; font-size:17px; line-height:1.75; margin:30px 0 55px; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ffffff33; border-bottom:1px solid #ffffff33; margin-bottom:45px; }
.stats div { padding:24px 10px 24px 0; display:flex; flex-direction:column; gap:7px; }
.stats strong { font-family:Georgia,serif; font-size:28px; font-weight:400; }
.stats span { font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#aea99f; }
.story { min-height:720px; padding:130px 8vw; background:#cbb99e; position:relative; overflow:hidden; }
.story h2 { max-width:800px; margin-top:50px; }
.story>p:not(.section-label) { max-width:500px; margin:40px 0; font-family:Georgia,serif; font-size:18px; line-height:1.7; }
.story-mark { position:absolute; font-family:Georgia,serif; font-size:390px; line-height:1; right:-10px; bottom:-100px; color:#d9cab3; letter-spacing:-.15em; }
.story-mark span { font-style:italic; }
.consultation { padding:100px 8vw; background:#8d6d4d; color:white; display:flex; align-items:end; justify-content:space-between; gap:40px; }
.consultation h2 { margin:20px 0; max-width:700px; }
.consultation p:not(.section-label) { max-width:550px; font-family:Georgia,serif; line-height:1.6; }
footer { background:#181713; color:#e6e0d5; padding:80px 8vw 30px; display:grid; grid-template-columns:1.5fr 1fr; gap:60px; }
.footer-logo { width:230px; }
footer>div>p { color:#948f85; font-family:Georgia,serif; }
.social-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.social-links a { display:inline-flex; }
.social-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:8px; color:#fff; font-weight:700; font-size:16px; line-height:1; transition:transform .2s, opacity .2s; }
.social-links a:hover .social-icon { transform:translateY(-2px); opacity:.9; }
.social-icon.tiktok,.social-icon.x { background:#050505; }
.social-icon.line { background:#20bf43; font-size:13px; }
.social-icon.youtube { background:#ff0033; font-size:14px; }
.social-icon.instagram { background:linear-gradient(135deg,#f9ce34,#ee2a7b,#6228d7); }
.social-icon.facebook { background:#1877f2; font-family:Arial,sans-serif; font-size:22px; }
.footer-links { display:flex; flex-direction:column; align-items:flex-end; gap:28px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; text-align:right; }
.footer-nav-row { display:flex; justify-content:flex-end; gap:34px; white-space:nowrap; }
.footer-email { white-space:nowrap; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; border-top:1px solid #ffffff22; padding-top:25px; color:#827e76; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.product-hero { padding:130px 8vw 95px; background:#efe7d9; min-height:520px; display:flex; flex-direction:column; justify-content:end; }
.product-hero h1 { color:#171712; font-size:clamp(58px,8vw,118px); line-height:.88; margin:18px 0 26px; }
.product-hero>p:not(.section-label) { max-width:720px; font-family:Georgia,serif; font-size:20px; line-height:1.65; margin:0 0 36px; color:#51493e; }
.catalog { padding:80px 4vw 130px; background:#fbfaf7; }
.catalog-grid { display:grid; gap:54px; }
.catalog-card { display:grid; grid-template-columns:minmax(340px,.92fr) 1.08fr; gap:42px; align-items:stretch; border-bottom:1px solid #d7d1c6; padding-bottom:54px; }
.catalog-photo { display:block; min-height:520px; background:#d8c7b0; overflow:hidden; }
.catalog-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.catalog-copy { padding:12px 0 0; }
.catalog-copy>span { font-size:10px; letter-spacing:.18em; color:#8d6d4d; font-weight:700; }
.catalog-copy h2 { font-size:clamp(34px,4vw,64px); line-height:1; margin:20px 0 12px; }
.catalog-copy>p { max-width:720px; font-family:Georgia,serif; font-size:17px; line-height:1.7; color:#51493e; }
.catalog-subtitle { margin-top:0; color:#171712 !important; }
.catalog-copy dl { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:34px 0 0; border-top:1px solid #d7d1c6; }
.catalog-copy dl div { min-height:86px; padding:18px 18px 16px 0; border-bottom:1px solid #d7d1c6; }
.catalog-copy dt { margin-bottom:9px; font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:#8a8175; }
.catalog-copy dd { margin:0; font-size:13px; line-height:1.45; }
.product-consult { background:#25241f; }
@media (max-width:900px) {
  header { height:70px; grid-template-columns:1fr auto; padding:0 20px; }
  nav { display:none; position:absolute; top:70px; left:0; right:0; background:#171712; padding:28px; flex-direction:column; }
  header.solid-header nav { top:70px; }
  nav.open { display:flex; }
  .menu { display:block; }
  .bag { display:none; }
  .hero-copy { width:90%; padding:27vh 24px 12vh; }
  h1 { font-size:58px; }
  .lead { font-size:15px; }
  .intro,.intro>div,.craft { grid-template-columns:1fr; }
  .intro { padding:90px 24px; }
  .intro>div { gap:30px; }
  .section-heading { display:block; padding:0 0 35px; }
  .section-heading>p { margin-top:20px; }
  .collection { padding:90px 20px; }
  .product-grid { grid-template-columns:1fr; }
  .product-photo { height:auto; aspect-ratio:1/1; }
  .craft-image { height:520px; }
  .craft-copy { padding:80px 24px; }
  .story { padding:90px 24px; min-height:650px; }
  .story-mark { font-size:240px; }
  .consultation { padding:80px 24px; align-items:start; flex-direction:column; }
  footer { grid-template-columns:1fr; padding:70px 24px 25px; }
  .footer-links { align-items:flex-start; text-align:left; }
  .footer-nav-row { justify-content:flex-start; flex-wrap:wrap; gap:18px 26px; white-space:normal; }
  .footer-bottom { grid-column:auto; flex-direction:column; gap:12px; }
  .product-hero { padding:98px 24px 70px; min-height:480px; }
  .catalog { padding:60px 20px 90px; }
  .catalog-card { grid-template-columns:1fr; gap:28px; padding-bottom:48px; }
  .catalog-photo { min-height:auto; aspect-ratio:1/1; }
  .catalog-copy dl { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .announcement { font-size:8px; }
  .logo { width:142px; }
  .footer-logo { width:190px; }
  .locale span { display:none; }
  .hero-buttons { align-items:flex-start; flex-direction:column; }
  .button { width:100%; }
  .intro h2,.section-heading h2,.craft h2,.story h2,.consultation h2 { font-size:44px; }
  .stats { grid-template-columns:1fr; }
  .stats div { border-bottom:1px solid #ffffff20; }
  .product-hero h1 { font-size:52px; }
  .product-hero>p:not(.section-label) { font-size:16px; }
  .catalog-copy dl { grid-template-columns:1fr; }
  .catalog-copy dl div { min-height:auto; }
}
