:root { --ink:#173e35; --forest:#1f4d3a; --cream:#f7f3eb; --sand:#e8dfcf; --muted:#64726c; --line:#d8d8cf; --orange:#c9694d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"DM Sans", Arial, sans-serif; }
button, a { font:inherit; }
a { color:inherit; text-decoration:none; }
.announcement { padding:10px 24px; text-align:center; color:#fff; background:var(--ink); font-size:12px; letter-spacing:.03em; }
.site-header { height:88px; max-width:1380px; margin:auto; padding:0 34px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.02em; white-space:nowrap; }
.brand img { width:43px; height:43px; object-fit:contain; mix-blend-mode:multiply; }
.brand em { display:block; font-size:8px; font-style:normal; font-weight:500; letter-spacing:.14em; color:var(--muted); margin-top:2px; }
nav { display:flex; gap:32px; margin-left:auto; margin-right:24px; font-size:14px; }
nav a:hover, .text-link:hover { color:var(--orange); }
.header-actions { display:flex; gap:14px; align-items:center; }
.language, .cart-button { border:0; background:transparent; cursor:pointer; color:var(--ink); font-size:13px; }
.language { padding:6px; border-bottom:1px solid var(--ink); }
.cart-button { border:1px solid var(--ink); border-radius:999px; padding:9px 14px; }
.cart-button span { display:inline-grid; place-items:center; min-width:17px; height:17px; border-radius:50%; background:var(--ink); color:white; font-size:10px; margin-left:5px; }
.hero { min-height:610px; display:grid; grid-template-columns:1fr 1.1fr; background:var(--cream); }
.hero-copy { max-width:630px; padding:120px 8vw; align-self:center; }
.eyebrow { margin:0 0 16px; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); }
h1,h2 { font-family:"Playfair Display", Georgia, serif; font-weight:500; letter-spacing:-.035em; margin:0; line-height:1.06; }
h1 { font-size:clamp(44px,5.2vw,76px); }
h2 { font-size:clamp(34px,3.8vw,56px); }
.hero-text { max-width:465px; margin:24px 0 32px; line-height:1.65; color:var(--muted); font-size:17px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; border-radius:2px; font-size:14px; font-weight:600; cursor:pointer; border:1px solid transparent; transition:.2s ease; }
.button-primary { background:var(--forest); color:#fff; }
.button-primary:hover { background:var(--orange); }
.button-secondary { border-color:var(--forest); color:var(--forest); }
.button-secondary:hover { background:#fff; }
.hero-image-wrap { position:relative; min-height:530px; overflow:hidden; }
.hero-image { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center; }
.image-caption { position:absolute; bottom:27px; right:28px; padding:9px 13px; color:#fff; background:rgba(23,62,53,.86); font-size:12px; }
.feature-strip { padding:30px max(5vw,28px); display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); gap:34px; }
.feature-strip div { display:flex; flex-direction:column; gap:5px; border-left:1px solid var(--line); padding-left:17px; }
.feature-strip b { font-size:14px; }.feature-strip span { color:var(--muted); font-size:13px; }
.shop-section { max-width:1380px; margin:auto; padding:105px 34px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin-bottom:40px; }
.filters { display:flex; gap:8px; }.filter { cursor:pointer; border:1px solid var(--line); background:#fff; border-radius:100px; padding:8px 13px; font-size:12px; }.filter.active { background:var(--forest); border-color:var(--forest); color:white; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:23px; }
.product-card { display:flex; flex-direction:column; min-width:0; }
.product-image { aspect-ratio:1/1.12; position:relative; overflow:hidden; display:grid; place-items:center; background:#edf0ea; }
.product-image img,.product-image video { width:100%; height:100%; object-fit:cover; }.product-image img.detail { object-position:75% center; }
.product-image .product-art { font-family:"Playfair Display"; color:var(--forest); font-size:56px; font-weight:600; opacity:.88; }.product-image .product-art::after { content:""; width:86px; height:86px; border:1px solid var(--forest); border-radius:50%; position:absolute; transform:translate(-64px,-20px); opacity:.4; }
.product-tag { position:absolute; top:12px; left:12px; padding:6px 8px; color:#fff; background:var(--forest); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.product-info { padding:15px 0 0; }.product-info h3 { font-size:15px; font-weight:600; margin:0 0 5px; }.product-info p { color:var(--muted); font-size:12px; margin:0 0 14px; line-height:1.45; min-height:35px; }.product-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }.price { font-size:15px; font-weight:700; }.product-actions { display:flex; align-items:center; gap:12px; }.add-button,.inquire-button { cursor:pointer; border:0; background:transparent; padding:5px 0; color:var(--forest); font-size:12px; font-weight:700; border-bottom:1px solid var(--forest); }.inquire-button { color:var(--orange); border-color:var(--orange); }
.editorial { display:grid; grid-template-columns:1fr 1fr; min-height:520px; background:var(--forest); color:#fff; }.editorial-image { overflow:hidden; }.editorial-image img { width:100%; height:100%; object-fit:cover; }.editorial-copy { padding:98px max(7vw,45px); display:flex; flex-direction:column; justify-content:center; }.editorial-copy .eyebrow { color:#eeb99d; }.editorial-copy p:not(.eyebrow) { color:#d8e0d9; line-height:1.7; max-width:460px; }.text-link { margin-top:20px; font-weight:600; border-bottom:1px solid #a9c1b5; padding-bottom:7px; width:max-content; }.text-link span { font-size:19px; margin-left:5px; }
.contact-section { max-width:1380px; margin:auto; padding:105px 34px; display:flex; justify-content:space-between; align-items:center; gap:48px; }.contact-actions { max-width:315px; }.contact-actions p { color:var(--muted); line-height:1.5; font-size:13px; }
footer { border-top:1px solid var(--line); padding:34px max(5vw,28px); display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:12px; }.footer-brand { color:var(--ink); }.footer-brand img { width:36px; height:36px; }
.cart-drawer { position:fixed; z-index:20; top:0; right:0; width:min(420px,100vw); height:100vh; display:flex; flex-direction:column; background:#fff; transform:translateX(100%); transition:transform .25s ease; box-shadow:-20px 0 50px rgba(0,0,0,.1); }.cart-drawer.open { transform:translateX(0); }.cart-head { display:flex; align-items:center; justify-content:space-between; padding:28px; border-bottom:1px solid var(--line); }.cart-head h2 { font-size:31px; }.cart-head button { cursor:pointer; border:0; background:transparent; font-size:29px; }.cart-items { flex:1; padding:10px 28px; overflow:auto; }.cart-item { padding:19px 0; display:flex; align-items:start; gap:14px; border-bottom:1px solid var(--line); }.cart-item-visual { width:50px; height:60px; display:grid; place-items:center; background:var(--cream); color:var(--forest); font-family:"Playfair Display"; }.cart-item-info { flex:1; }.cart-item-info b { display:block; font-size:13px; }.cart-item-info span { font-size:12px; color:var(--muted); }.remove-item { border:0; background:transparent; color:var(--orange); cursor:pointer; }.cart-footer { border-top:1px solid var(--line); padding:22px 28px 30px; }.total-row { display:flex; justify-content:space-between; margin-bottom:18px; }.full { width:100%; }.cart-note { margin:11px 0 0; text-align:center; color:var(--muted); font-size:11px; }.empty-cart { color:var(--muted); padding-top:35px; }.overlay { position:fixed; z-index:15; inset:0; background:rgba(0,0,0,.35); opacity:0; pointer-events:none; transition:.2s; }.overlay.visible { opacity:1; pointer-events:auto; }.toast { position:fixed; left:50%; bottom:25px; z-index:30; transform:translate(-50%,120px); padding:11px 16px; color:#fff; background:var(--ink); border-radius:2px; font-size:13px; transition:.25s; }.toast.show { transform:translate(-50%,0); }.floating-whatsapp { position:fixed; z-index:10; right:23px; bottom:20px; display:flex; align-items:center; gap:8px; padding:12px 16px; border-radius:99px; color:#fff; background:#25d366; box-shadow:0 9px 22px rgba(0,0,0,.18); font-size:13px; font-weight:600; }
@media (max-width:1050px) { .site-header { height:75px; padding:0 20px; }.site-header nav { display:none; }.header-actions { margin-left:auto; }.hero,.editorial { grid-template-columns:1fr; }.hero-copy { padding:78px 28px 55px; }.hero-image-wrap { min-height:450px; }.product-grid { grid-template-columns:repeat(2,1fr); }.contact-section { align-items:flex-start; flex-direction:column; }.editorial-copy { padding:70px 30px; }.editorial-image { min-height:340px; }.feature-strip { grid-template-columns:1fr; gap:17px; }.feature-strip div { border-left:0; border-bottom:1px solid var(--line); padding:0 0 16px; }.feature-strip div:last-child { border-bottom:0; }.shop-section,.contact-section { padding:75px 22px; }.section-heading { align-items:flex-start; flex-direction:column; }.announcement { font-size:10px; }.brand span { font-size:14px; }.brand img { width:38px; height:38px; } footer { align-items:flex-start; flex-direction:column; gap:15px; } }
@media (max-width:480px) { h1 { font-size:46px; }.product-grid { gap:15px; }.product-info h3 { font-size:13px; }.product-info p { min-height:51px; }.cart-button { padding:8px 10px; } }
