@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&display=swap');
@font-face { font-family:'Antonova Display'; src:url('/fonts/antonova-display.woff2') format('woff2'); font-style:normal; font-weight:500; font-display:swap; }

:root { --wine:#2a0c13; --wine-2:#4b1623; --ink:#17100e; --cream:#f5efe6; --paper:#fbf8f2; --gold:#b99462; --line:rgba(42,12,19,.18); --display:'Antonova Display',Georgia,serif; --sans:'Manrope',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-weight:300; }
body.is-locked { overflow:hidden; }
button,a,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { color:inherit; }
[hidden] { display:none !important; }
.announcement { height:31px; display:grid; place-items:center; background:var(--wine); color:#f6eee5; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.site-header { height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4.5vw; border-bottom:1px solid var(--line); background:rgba(251,248,242,.96); position:sticky; top:0; z-index:30; backdrop-filter:blur(16px); }
.brand,.footer-brand { display:flex; flex-direction:column; line-height:.82; width:max-content; }
.brand { justify-self:center; text-align:center; }
.brand strong,.footer-brand strong { font-family:var(--display); font-size:29px; font-weight:600; letter-spacing:.13em; }
.brand small,.footer-brand small { margin-top:8px; font-size:8px; letter-spacing:.32em; text-transform:uppercase; }
.desktop-nav { display:flex; gap:34px; font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.desktop-nav a { position:relative; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--wine); transition:.3s; }
.desktop-nav a:hover::after { right:0; }
.menu-button { display:none; border:0; background:none; padding:10px 10px 10px 0; }
.menu-button span { width:24px; height:1px; display:block; background:var(--ink); margin:6px 0; }
.cart-button { justify-self:end; border:0; background:none; font-size:11px; letter-spacing:.13em; text-transform:uppercase; cursor:pointer; }
.cart-button span { width:25px; height:25px; display:inline-grid; place-items:center; margin-left:8px; border:1px solid var(--line); border-radius:50%; }
.hero { height:calc(100svh - 117px); min-height:640px; position:relative; overflow:hidden; display:flex; align-items:center; background:url('/hero.png') center/cover no-repeat; color:white; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,4,8,.92) 0%,rgba(24,7,11,.61) 38%,rgba(24,7,11,.08) 72%,rgba(24,7,11,.18)); }
.hero-content { position:relative; z-index:1; width:min(650px,84vw); margin-left:8vw; padding-bottom:5vh; }
.eyebrow,.section-number { margin:0; font-size:9px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; }
.hero .eyebrow { color:#e2c7a8; }
.hero h1 { margin:30px 0 24px; font:400 clamp(68px,8.2vw,142px)/.73 var(--display); letter-spacing:-.045em; }
.hero-copy { width:min(440px,100%); margin:0 0 42px; color:rgba(255,255,255,.8); font:300 15px/1.75 var(--sans); }
.primary-link,.light-button { display:inline-flex; align-items:center; justify-content:space-between; min-width:258px; padding:16px 0; border:0; border-bottom:1px solid rgba(255,255,255,.55); color:white; font-size:10px; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; }
.primary-link span,.light-button span { font-size:18px; font-weight:300; transition:transform .25s; }
.primary-link:hover span,.light-button:hover span { transform:translate(4px,4px); }
.hero-note { position:absolute; z-index:1; right:3vw; bottom:30px; margin:0; writing-mode:vertical-rl; font-size:8px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.marquee { overflow:hidden; background:var(--gold); color:#21130e; padding:14px 0; white-space:nowrap; font-size:9px; letter-spacing:.22em; }
.marquee div { width:max-content; animation:marquee 24s linear infinite; }
.marquee i { margin:0 30px; font-style:normal; font-size:7px; }
@keyframes marquee { to { transform:translateX(-50%); } }
.intro { display:grid; grid-template-columns:1fr 3fr; gap:6vw; padding:130px 8vw 150px; border-bottom:1px solid var(--line); }
.section-number { color:#745f55; padding-top:12px; }
.intro h2,.collection h2,.bespoke h2,.consultation h2 { margin:0; font:400 clamp(54px,7.4vw,116px)/.86 var(--display); letter-spacing:-.035em; }
.intro h2 em { color:var(--wine-2); font-weight:400; }
.intro>div>p { max-width:610px; margin:50px 0 0 auto; font-size:15px; line-height:1.95; color:#5c4d47; }
.collection { padding:120px 4.5vw 150px; }
.collection-head { display:flex; align-items:end; justify-content:space-between; padding:0 3.5vw 62px; }
.collection-head .section-number { margin-bottom:22px; }
.collection-head h2 { font-size:clamp(58px,6vw,95px); }
.collection-head>p { max-width:380px; margin:0 0 12px; color:#6b5b53; font-size:12px; line-height:1.8; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:70px 20px; }
.product-image.has-photo,.cart-thumb.has-photo { background-size:cover; background-position:center; }
.sold-label { position:absolute; left:16px; bottom:16px; padding:8px 12px; background:rgba(35,13,18,.88); color:#fff; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.catalog-loading { grid-column:1/-1; padding:48px 0; color:#725f61; }
.add-button:disabled { cursor:not-allowed; opacity:.55; }
.product-card { min-width:0; }
.product-image { width:100%; aspect-ratio:.72; display:block; position:relative; overflow:hidden; border:0; background-color:#bcae9e; background-image:linear-gradient(180deg,rgba(34,8,14,0),rgba(34,8,14,.12)),url('/hero.png'); background-repeat:no-repeat; background-size:auto 100%; cursor:pointer; transition:filter .35s; }
.product-image::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 0 110px rgba(25,5,9,.12); }
.product-image:hover { filter:brightness(.92); }
.look-imperial { background-position:75% center; }
.look-neva { background-position:88% center; filter:saturate(.3) brightness(1.08); }
.look-anastasia { background-position:70% center; filter:hue-rotate(315deg) saturate(1.35) brightness(.78); }
.look-bolshoi { background-position:78% center; filter:sepia(.2) brightness(1.14); }
.look-sever { background-position:64% center; filter:saturate(.1) brightness(.68); }
.look-pearl { background-position:84% center; filter:saturate(.45) contrast(.9) brightness(1.22); }
.product-index { position:absolute; left:20px; top:20px; z-index:2; font:500 11px/1 var(--display); color:white; letter-spacing:.12em; }
.view-label { position:absolute; z-index:2; inset:auto 20px 20px auto; padding:11px 15px; background:rgba(251,248,242,.92); color:var(--wine); font-size:8px; letter-spacing:.17em; text-transform:uppercase; transform:translateY(8px); opacity:0; transition:.3s; }
.product-image:hover .view-label { opacity:1; transform:none; }
.product-meta { display:flex; justify-content:space-between; gap:20px; padding:22px 0 15px; border-bottom:1px solid var(--line); }
.product-meta h3 { margin:0 0 5px; font:500 31px/1 var(--display); }
.product-meta p { margin:0; color:#75655e; font-size:10px; line-height:1.5; }
.product-meta strong { white-space:nowrap; padding-top:6px; font:500 13px/1 var(--display); }
.text-button { width:100%; display:flex; justify-content:space-between; padding:14px 0; border:0; background:none; font-size:8px; letter-spacing:.17em; text-transform:uppercase; cursor:pointer; }
.text-button span { font-size:16px; }
.bespoke { min-height:720px; padding:110px 8vw; display:grid; grid-template-columns:1fr 2fr 1fr; gap:5vw; align-items:center; position:relative; overflow:hidden; background:var(--wine); color:var(--cream); }
.bespoke::before { content:""; position:absolute; width:50vw; height:50vw; border:1px solid rgba(185,148,98,.22); border-radius:50%; left:-25vw; top:50%; transform:translateY(-50%); }
.bespoke-mark { position:relative; z-index:1; font:italic 260px/.8 var(--display); color:rgba(185,148,98,.25); }
.bespoke .section-number { color:var(--gold); margin-bottom:25px; }
.bespoke h2 { font-size:clamp(66px,7vw,110px); }
.bespoke-copy { align-self:end; padding-bottom:30px; }
.bespoke-copy p { color:rgba(245,239,230,.7); font-size:13px; line-height:1.9; }
.bespoke-copy a { display:flex; justify-content:space-between; margin-top:32px; padding:15px 0; border-bottom:1px solid rgba(245,239,230,.4); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.service { display:grid; grid-template-columns:repeat(3,1fr); padding:0 4.5vw; border-bottom:1px solid var(--line); }
.service article { min-height:330px; padding:55px 4vw; border-right:1px solid var(--line); }
.service article:last-child { border-right:0; }
.service article>span { color:var(--gold); font:500 12px var(--display); }
.service h3 { margin:80px 0 13px; font:500 30px/1 var(--display); }
.service p { max-width:300px; margin:0; color:#705f57; font-size:11px; line-height:1.75; }
.consultation { padding:140px 8vw; text-align:center; background:#d8c5ac; }
.consultation .section-number { padding:0; margin-bottom:20px; }
.consultation h2 { font-size:clamp(62px,7vw,110px); }
.consultation>p:not(.section-number) { max-width:580px; margin:30px auto; font-size:13px; line-height:1.8; }
.consultation .light-button { color:var(--wine); border-color:rgba(42,12,19,.45); }
footer { min-height:380px; display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; padding:80px 7vw 45px; position:relative; background:#150b0c; color:#efe6db; }
footer>div:not(.footer-brand) { display:flex; flex-direction:column; gap:9px; font-size:10px; color:rgba(239,230,219,.65); }
footer>div>p { margin:0 0 18px; color:var(--gold); font-size:8px; letter-spacing:.17em; text-transform:uppercase; }
.footer-brand strong { font-size:40px; }
.copyright { position:absolute; left:7vw; bottom:35px; color:rgba(239,230,219,.35); font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.modal-layer,.drawer-layer { position:fixed; inset:0; z-index:100; background:rgba(16,7,8,.83); backdrop-filter:blur(10px); overflow:auto; }
.layer-close { position:fixed; z-index:103; top:24px; right:30px; width:48px; height:48px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(20,8,10,.45); color:white; font:300 32px/1 var(--sans); cursor:pointer; }
.product-modal { width:min(1180px,calc(100% - 80px)); min-height:760px; margin:55px auto; display:grid; grid-template-columns:1.05fr .95fr; background:var(--paper); }
.modal-image { aspect-ratio:auto; min-height:760px; cursor:default; }
.modal-image:hover { filter:inherit; }
.modal-monogram { position:absolute; z-index:3; left:28px; bottom:20px; color:rgba(255,255,255,.72); font:italic 70px/1 var(--display); }
.modal-content { padding:70px 65px 50px; overflow:auto; }
.modal-content .eyebrow { color:#8c6b54; }
.modal-content h2 { margin:20px 0 3px; font:500 62px/.95 var(--display); }
.modal-subtitle { margin:0; color:#705f57; font-size:11px; }
.modal-price { display:block; margin:25px 0; font:500 21px var(--display); }
.modal-description { font-size:12px; line-height:1.8; color:#5e4f49; }
.modal-content dl { margin:28px 0; border-top:1px solid var(--line); }
.modal-content dl div { display:grid; grid-template-columns:105px 1fr; padding:12px 0; border-bottom:1px solid var(--line); font-size:9px; }
.modal-content dt { color:#806f67; }
.modal-content dd { margin:0; }
.size-block>span { display:block; margin-bottom:12px; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.size-block>div { display:flex; flex-wrap:wrap; gap:7px; }
.size-block button { min-width:42px; height:38px; padding:0 11px; border:1px solid var(--line); background:transparent; font-size:9px; cursor:pointer; }
.size-block button.active { background:var(--wine); color:white; border-color:var(--wine); }
.add-button { width:100%; display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding:17px 20px; border:1px solid var(--wine); background:var(--wine); color:white; font-size:9px; letter-spacing:.17em; text-transform:uppercase; cursor:pointer; }
.add-button span { font-size:17px; }
.modal-content ul { display:flex; flex-wrap:wrap; gap:9px 23px; margin:22px 0 0; padding:0; list-style:none; color:#75655d; font-size:8px; }
.modal-content li::before { content:"◇"; margin-right:6px; color:var(--gold); }
.drawer-backdrop { position:absolute; inset:0; width:100%; border:0; background:transparent; }
.cart-drawer { width:min(520px,100%); min-height:100%; margin-left:auto; position:relative; z-index:2; display:flex; flex-direction:column; background:var(--paper); box-shadow:-30px 0 80px rgba(0,0,0,.25); }
.drawer-head { display:flex; align-items:start; justify-content:space-between; padding:45px 42px 30px; border-bottom:1px solid var(--line); }
.drawer-head h2 { margin:7px 0 0; font:500 48px/1 var(--display); }
.drawer-head sup { font:400 13px var(--sans); color:var(--gold); }
.drawer-head>button { border:0; background:none; font-size:30px; cursor:pointer; }
.empty-cart { flex:1; display:grid; align-content:center; justify-items:center; padding:60px; text-align:center; }
.empty-cart>span { color:var(--gold); font-size:60px; }
.empty-cart h3 { margin:20px 0 8px; font:500 33px var(--display); }
.empty-cart p { max-width:310px; color:#78665e; font-size:11px; line-height:1.7; }
.empty-cart button { margin-top:20px; border:0; border-bottom:1px solid var(--wine); background:none; padding:10px 0; font-size:8px; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; }
.cart-items { padding:0 42px; }
.cart-item { display:grid; grid-template-columns:120px 1fr; gap:22px; padding:26px 0; border-bottom:1px solid var(--line); }
.cart-thumb { min-height:160px; background-image:linear-gradient(rgba(42,12,19,.05),rgba(42,12,19,.05)),url('/hero.png'); background-size:auto 100%; }
.cart-item h3 { margin:5px 0; font:500 28px var(--display); }
.cart-item p { margin:0 0 13px; color:#75645c; font-size:9px; }
.cart-item strong { font:500 13px var(--display); }
.quantity { display:flex; align-items:center; gap:13px; margin-top:17px; }
.quantity button { width:26px; height:26px; border:1px solid var(--line); background:none; cursor:pointer; }
.quantity span { font-size:10px; }
.cart-summary { margin-top:auto; padding:28px 42px 42px; background:#eee5d8; }
.cart-summary>div { display:flex; justify-content:space-between; align-items:center; }
.cart-summary>div span { font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.cart-summary>div strong { font:500 26px var(--display); }
.cart-summary p { color:#6f5e56; font-size:9px; line-height:1.6; }
.cart-summary button { width:100%; display:flex; justify-content:space-between; padding:17px; border:0; background:var(--wine); color:white; font-size:9px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.checkout-layer { display:grid; place-items:center; padding:50px 20px; }
.checkout { width:min(720px,100%); padding:65px; background:var(--paper); }
.checkout h2 { margin:15px 0 10px; font:500 56px/.95 var(--display); }
.checkout>p:not(.eyebrow):not(.form-status) { max-width:540px; color:#6d5c55; font-size:11px; line-height:1.7; }
.checkout label { display:block; margin-top:20px; color:#6f5d56; font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.checkout input,.checkout textarea { width:100%; margin-top:8px; padding:12px 0; border:0; border-bottom:1px solid var(--line); outline:none; background:transparent; color:var(--ink); font-size:12px; letter-spacing:normal; text-transform:none; resize:vertical; }
.checkout input:focus,.checkout textarea:focus { border-color:var(--wine); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.checkout-total { display:flex; justify-content:space-between; margin-top:30px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.checkout-total span { font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.checkout-total strong { font:500 20px var(--display); }
.consent { display:flex !important; align-items:start; gap:10px; line-height:1.5; text-transform:none !important; letter-spacing:0 !important; }
.consent input { width:auto; margin:1px 0 0; }
.honeypot { position:absolute; left:-10000px; }
.form-status { min-height:18px; color:#9f223d; font-size:10px; }
.success-layer { display:grid; place-items:center; padding:20px; }
.success-card { width:min(620px,100%); padding:75px; text-align:center; background:var(--paper); }
.success-card>span { color:var(--gold); font-size:66px; }
.success-card h2 { margin:15px 0; font:500 55px/1 var(--display); }
.success-card>p:not(.eyebrow) { color:#6e5c54; font-size:11px; line-height:1.75; }
.mobile-menu { position:fixed; inset:0; z-index:110; padding:45px 35px; background:var(--wine); color:white; }
.mobile-menu>button { position:absolute; top:25px; right:30px; border:0; background:none; color:white; font-size:34px; }
.mobile-menu .footer-brand { margin-top:45px; }
.mobile-menu nav { display:flex; flex-direction:column; gap:18px; margin:80px 0; font:400 54px/.95 var(--display); }
.mobile-menu>p { color:rgba(255,255,255,.65); font-size:10px; line-height:1.8; }
.noscript { position:fixed; z-index:200; inset:auto 20px 20px; padding:15px; background:#fff; border:1px solid var(--line); text-align:center; }

@media (max-width:900px) {
  .site-header { grid-template-columns:1fr auto 1fr; padding:0 20px; }
  .desktop-nav { display:none; }
  .menu-button { display:block; }
  .hero { height:780px; min-height:0; background-position:66% center; }
  .hero-content { margin-left:7vw; padding-top:140px; align-self:flex-start; }
  .hero h1 { font-size:clamp(66px,14vw,108px); }
  .intro { grid-template-columns:1fr; padding:90px 7vw; }
  .intro>div>p { margin:40px 0 0; }
  .collection { padding:90px 4vw; }
  .collection-head { display:block; padding:0 3vw 50px; }
  .collection-head>p { margin-top:25px; }
  .product-grid { grid-template-columns:repeat(2,1fr); gap:55px 14px; }
  .bespoke { grid-template-columns:.6fr 2fr; }
  .bespoke-copy { grid-column:2; }
  .service { grid-template-columns:1fr; }
  .service article { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .service h3 { margin-top:45px; }
  footer { grid-template-columns:1.5fr 1fr; padding-bottom:100px; }
  .product-modal { width:calc(100% - 35px); grid-template-columns:1fr; margin:20px auto; }
  .modal-image { min-height:70vh; }
  .layer-close { top:16px; right:18px; }
}

@media (max-width:560px) {
  .announcement { font-size:8px; letter-spacing:.1em; }
  .site-header { height:72px; }
  .brand strong { font-size:23px; }
  .brand small { font-size:6px; }
  .cart-button { font-size:0; }
  .cart-button::before { content:"Корзина"; font-size:8px; }
  .cart-button span { width:22px; height:22px; font-size:8px; }
  .hero { height:710px; background-position:68% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(18,4,8,.85),rgba(24,7,11,.25)); }
  .hero-content { margin-left:25px; width:calc(100% - 50px); padding-top:110px; }
  .hero h1 { font-size:64px; margin-top:24px; }
  .hero-copy { max-width:270px; font-size:12px; }
  .hero-note { display:none; }
  .primary-link { min-width:220px; }
  .intro h2,.collection-head h2 { font-size:51px; }
  .intro { padding:75px 25px; }
  .collection { padding:75px 14px; }
  .collection-head { padding-left:11px; }
  .product-grid { grid-template-columns:1fr; gap:55px; }
  .product-meta h3 { font-size:29px; }
  .bespoke { min-height:700px; grid-template-columns:1fr; padding:75px 25px; }
  .bespoke-mark { display:none; }
  .bespoke-copy { grid-column:auto; align-self:auto; }
  .bespoke h2 { font-size:64px; }
  .service { padding:0; }
  .service article { padding:45px 25px; }
  .consultation { padding:90px 25px; }
  footer { grid-template-columns:1fr; gap:38px; padding:70px 30px 120px; }
  .copyright { left:30px; }
  .modal-content { padding:45px 25px; }
  .modal-content h2 { font-size:52px; }
  .modal-image { min-height:58vh; }
  .drawer-head,.cart-items,.cart-summary { padding-left:25px; padding-right:25px; }
  .cart-item { grid-template-columns:92px 1fr; }
  .checkout { padding:50px 25px; }
  .checkout h2 { font-size:45px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .success-card { padding:55px 25px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .marquee div { animation:none; } * { transition:none !important; } }

.product-meta .product-stock { margin-top:10px; color:#397458; font-size:9px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.product-meta .product-stock.low,.modal-stock.low { color:#9d3740; }
.modal-stock { display:inline-block; margin:0 0 22px; padding:8px 11px; border:1px solid currentColor; color:#397458; font-size:9px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.showroom-map { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); min-height:620px; background:#f5efe6; }
.map-copy { padding:100px 8vw; display:flex; flex-direction:column; justify-content:center; }
.map-copy h2 { margin:20px 0 26px; font:400 clamp(54px,6vw,90px)/.9 var(--display); letter-spacing:-.035em; }
.map-copy>p:not(.section-number) { max-width:430px; color:#6b5b53; font-size:13px; line-height:1.85; }
.map-copy a { width:max-content; margin-top:24px; padding-bottom:8px; border-bottom:1px solid var(--wine); color:var(--wine); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.map-frame { min-height:620px; background:#d6c8b8; }
.map-frame iframe { width:100%; height:100%; min-height:620px; border:0; display:block; filter:saturate(.72) sepia(.08); }
.map-loader { width:100%; min-height:620px; border:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:radial-gradient(circle at center,#e8ddd0 0,#cdbba8 72%); color:var(--wine); cursor:pointer; }
.map-loader span { font:80px/1 var(--display); color:var(--gold); }
.map-loader strong { font:400 30px/1.1 var(--display); }
.map-loader small { font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
@media(max-width:760px){.showroom-map{grid-template-columns:1fr}.map-copy{padding:75px 25px}.map-frame,.map-frame iframe{min-height:500px}}

/* Multi-page storefront */
.desktop-nav a.active::after { right:0; }
.story-chapters { display:grid; grid-template-columns:repeat(3,1fr); padding:0 4.5vw; border-bottom:1px solid var(--line); }
.story-chapters article { min-height:390px; padding:65px 4vw; border-right:1px solid var(--line); }
.story-chapters article:last-child { border-right:0; }
.story-chapters span { color:var(--gold); font:500 12px var(--display); letter-spacing:.08em; }
.story-chapters h3 { margin:110px 0 15px; font:500 38px/1 var(--display); }
.story-chapters p { max-width:360px; margin:0; color:#705f57; font-size:12px; line-height:1.8; }
.brand-manifesto { min-height:720px; padding:110px 8vw; display:grid; grid-template-columns:1fr 2fr 1fr; gap:5vw; align-items:center; position:relative; overflow:hidden; background:var(--wine); color:var(--cream); }
.brand-manifesto::before { content:""; position:absolute; width:50vw; height:50vw; left:-25vw; top:50%; transform:translateY(-50%); border:1px solid rgba(185,148,98,.22); border-radius:50%; }
.manifesto-mark { position:relative; z-index:1; color:rgba(185,148,98,.25); font:italic 260px/.8 var(--display); }
.brand-manifesto .section-number { margin-bottom:25px; color:var(--gold); }
.brand-manifesto h2,.home-contact-cta h2 { margin:0; font:400 clamp(66px,7vw,110px)/.86 var(--display); letter-spacing:-.035em; }
.brand-manifesto>div:last-child { align-self:end; padding-bottom:30px; }
.brand-manifesto>div:last-child p { color:rgba(245,239,230,.72); font-size:13px; line-height:1.9; }
.brand-manifesto>div:last-child a { display:flex; justify-content:space-between; margin-top:32px; padding:15px 0; border-bottom:1px solid rgba(245,239,230,.4); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.head-action { max-width:390px; }
.head-action p { color:#6b5b53; font-size:12px; line-height:1.8; }
.head-action a,.collection-head>a { display:inline-block; margin-top:14px; padding-bottom:8px; border-bottom:1px solid var(--wine); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.home-selection { border-bottom:1px solid var(--line); }
.editorial-note { padding:140px 12vw; text-align:center; background:#e9dfd1; }
.editorial-note .section-number { padding:0; }
.editorial-note blockquote { max-width:1050px; margin:45px auto 25px; color:var(--wine); font:italic 400 clamp(43px,5.7vw,88px)/.98 var(--display); }
.editorial-note>p:last-child { color:#765e51; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.home-contact-cta { display:grid; grid-template-columns:2fr 1fr; gap:9vw; padding:120px 8vw; align-items:end; background:#d8c5ac; }
.home-contact-cta .section-number { margin-bottom:25px; }
.home-contact-cta>div:last-child p { color:#5e4d45; font-size:13px; line-height:1.9; }
.dark-link { display:flex; justify-content:space-between; margin-top:34px; padding:16px 0; border-bottom:1px solid var(--wine); font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.page-hero { min-height:520px; display:flex; flex-direction:column; justify-content:flex-end; padding:100px 8vw 80px; background:var(--wine); color:var(--cream); }
.page-hero .eyebrow { color:var(--gold); }
.page-hero h1 { margin:25px 0 20px; font:400 clamp(76px,10vw,160px)/.72 var(--display); letter-spacing:-.05em; }
.page-hero>p:last-child { max-width:580px; color:rgba(245,239,230,.7); font-size:14px; line-height:1.8; }
.catalog-page { padding-top:105px; }
.catalog-service { display:grid; grid-template-columns:repeat(3,1fr); padding:0 4.5vw; border-top:1px solid var(--line); }
.catalog-service article { min-height:300px; padding:55px 4vw; border-right:1px solid var(--line); }
.catalog-service article:last-child { border-right:0; }
.catalog-service span { color:var(--gold); font:500 12px var(--display); }
.catalog-service h3 { margin:70px 0 12px; font:500 30px/1 var(--display); }
.catalog-service p { max-width:310px; color:#705f57; font-size:11px; line-height:1.75; }
.product-page { min-height:800px; display:grid; grid-template-columns:1.08fr .92fr; background:var(--paper); }
.product-page-image { min-height:800px; position:relative; background:#bcae9e url('/hero.png') center/cover no-repeat; }
.product-page-copy { padding:75px clamp(35px,6vw,95px) 70px; }
.product-page-copy .back-link { display:block; margin-bottom:75px; color:#705f57; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.product-page-copy .eyebrow { color:#8c6b54; }
.product-page-copy h1 { margin:20px 0 4px; font:500 clamp(58px,6vw,96px)/.84 var(--display); letter-spacing:-.04em; }
.product-page-copy dl { margin:32px 0; border-top:1px solid var(--line); }
.product-page-copy dl div { display:grid; grid-template-columns:110px 1fr; padding:13px 0; border-bottom:1px solid var(--line); font-size:10px; }
.product-page-copy dd { margin:0; }.product-page-copy dt { color:#806f67; }
.product-details { display:flex; flex-wrap:wrap; gap:10px 24px; margin:25px 0 0; padding:0; list-style:none; color:#75655d; font-size:9px; }
.product-details li::before { content:"◇"; margin-right:7px; color:var(--gold); }
.product-not-found { grid-column:1/-1; display:grid; place-items:center; align-content:center; gap:20px; min-height:600px; }
.product-not-found h1 { margin:0; font:500 60px var(--display); }
.related { border-top:1px solid var(--line); }
.contacts-hero { background:#341019; }
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:0 4.5vw; border-bottom:1px solid var(--line); }
.contact-grid article { min-height:500px; padding:70px 4vw; border-right:1px solid var(--line); }
.contact-grid article:last-child { border-right:0; }
.contact-grid h2 { margin:70px 0 30px; font:500 42px/1 var(--display); }
.contact-grid a { display:block; width:max-content; margin:11px 0; font:500 21px var(--display); }
.contact-grid article>p:not(.section-number) { margin-top:32px; color:#705f57; font-size:11px; line-height:1.9; }
.contact-button { margin-top:25px; padding:13px 0; border:0; border-bottom:1px solid var(--wine); background:none; font-size:9px; letter-spacing:.13em; text-transform:uppercase; cursor:pointer; }
.empty-cart a { margin-top:20px; padding:10px 0; border-bottom:1px solid var(--wine); font-size:8px; letter-spacing:.15em; text-transform:uppercase; }

@media(max-width:900px){
  .story-chapters,.catalog-service,.contact-grid { grid-template-columns:1fr; }
  .story-chapters article,.catalog-service article,.contact-grid article { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .story-chapters h3,.contact-grid h2 { margin-top:45px; }
  .brand-manifesto { grid-template-columns:.6fr 2fr; }.brand-manifesto>div:last-child { grid-column:2; }
  .home-contact-cta { grid-template-columns:1fr; }
  .product-page { grid-template-columns:1fr; }.product-page-image { min-height:75vh; }.product-page-copy .back-link { margin-bottom:45px; }
}
@media(max-width:560px){
  .story-chapters article,.catalog-service article,.contact-grid article { padding:50px 25px; }
  .brand-manifesto { min-height:700px; grid-template-columns:1fr; padding:75px 25px; }.manifesto-mark{display:none}.brand-manifesto>div:last-child{grid-column:auto}
  .editorial-note { padding:90px 25px; }.editorial-note blockquote{font-size:43px}
  .home-contact-cta { padding:85px 25px; }.home-contact-cta h2{font-size:62px}
  .page-hero { min-height:430px; padding:80px 25px 60px; }.page-hero h1{font-size:78px}
  .product-page-image { min-height:62vh; }.product-page-copy{padding:55px 25px}.product-page-copy h1{font-size:58px}
}
