:root {
  --bg: #f6f1e8;
  --surface: #fffdf9;
  --surface-2: #efe6d9;
  --ink: #161616;
  --muted: #706b64;
  --line: rgba(22,22,22,.13);
  --red: #c9362a;
  --orange: #e67527;
  --mustard: #e5ad26;
  --teal: #1f6a5c;
  --shadow: 0 24px 60px rgba(39,29,18,.12);
  --radius: 22px;
  --max: 1480px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family: Inter, Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img { display:block; width:100%; }
a { color:inherit; text-decoration:none; }
button, input { font:inherit; }
button { color:inherit; }
.announcement { text-align:center; padding:9px 18px; background:#171717; color:#fff; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.site-header { position:sticky; top:0; z-index:30; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; min-height:78px; padding:0 max(22px, calc((100vw - var(--max))/2)); background:rgba(246,241,232,.9); backdrop-filter: blur(15px); border-bottom:1px solid var(--line); }
.brand { position:relative; display:inline-flex; align-items:center; min-width:170px; height:56px; font-family: Georgia, "Times New Roman", serif; }
.brand-one { font-size:58px; line-height:.7; font-weight:800; font-style:italic; color:#191919; text-shadow: -3px -2px 0 var(--red), 3px -1px 0 var(--orange); transform:rotate(-4deg); }
.brand-word { font-size:27px; margin-left:4px; margin-top:2px; }
.brand-brush { position:absolute; left:55px; bottom:6px; width:90px; height:5px; background:var(--teal); transform:rotate(-2deg); border-radius:100%; }
.main-nav { display:flex; justify-content:center; gap:28px; font-size:14px; }
.main-nav a { position:relative; padding:27px 0; }
.main-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:20px; height:2px; background:var(--teal); transition:.2s; }
.main-nav a:hover::after { right:0; }
.cart-button { border:1px solid var(--ink); border-radius:999px; background:transparent; padding:10px 15px; cursor:pointer; }
.cart-count { display:inline-grid; place-items:center; margin-left:7px; width:23px; height:23px; border-radius:50%; background:var(--ink); color:#fff; font-size:11px; }
main { overflow:hidden; }
.hero { max-width:var(--max); margin:0 auto; padding:42px 22px 68px; display:grid; grid-template-columns:.82fr 1.18fr; gap:44px; align-items:center; min-height:760px; }
.hero-copy { padding:30px 0; }
.eyebrow { display:block; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
h1,h2,h3 { font-family: Georgia, "Times New Roman", serif; font-weight:500; margin:0; }
h1 { font-size:clamp(54px, 6vw, 94px); line-height:.93; letter-spacing:-.045em; }
h2 { font-size:clamp(38px, 4vw, 62px); line-height:1; letter-spacing:-.035em; }
h3 { font-size:30px; }
.hero-lead { max-width:620px; margin:28px 0; font-size:19px; line-height:1.55; color:#514d47; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 19px; border-radius:999px; border:1px solid var(--ink); cursor:pointer; transition:transform .16s ease, background .16s ease; }
.button:hover { transform:translateY(-1px); }
.button-primary { background:var(--ink); color:#fff; }
.button-secondary { background:transparent; }
.button-full { width:100%; }
.hero-meta { display:flex; flex-wrap:wrap; gap:16px; color:var(--muted); font-size:12px; }
.hero-media { border-radius:28px; overflow:hidden; box-shadow:var(--shadow); background:#fff; }
.hero-media img { aspect-ratio:16/10; object-fit:cover; }
.section { max-width:var(--max); margin:0 auto; padding:90px 22px; }
.intro-section { display:grid; grid-template-columns:1fr .85fr; gap:80px; border-top:1px solid var(--line); }
.intro-section p, .section-heading p, .story-copy > p, .test-note p { color:var(--muted); font-size:17px; line-height:1.7; margin:0; }
.section-heading { display:grid; grid-template-columns:1fr minmax(300px, 520px); align-items:end; gap:50px; margin-bottom:36px; }
.kit-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.kit-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; min-width:0; transition:transform .2s ease, box-shadow .2s ease; }
.kit-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.kit-image { aspect-ratio:4/3; overflow:hidden; background:#e9e1d5; }
.kit-image img { height:100%; object-fit:cover; }
.kit-body { padding:20px; display:flex; flex-direction:column; gap:12px; flex:1; }
.kit-body h3 { font-size:28px; }
.kit-body p { color:var(--muted); line-height:1.5; margin:0; font-size:14px; }
.kit-footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:8px; }
.price { font-family:Georgia, serif; font-size:24px; }
.small-button { border:0; background:transparent; font-weight:700; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.shop-section { padding-top:60px; }
.shop-heading { align-items:center; }
.filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.filter { border:1px solid var(--line); background:transparent; border-radius:999px; padding:9px 13px; cursor:pointer; }
.filter.is-active { background:var(--ink); color:#fff; border-color:var(--ink); }
.product-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
.product-card { background:var(--surface); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); min-width:0; }
.product-image { position:relative; aspect-ratio:1/1; overflow:hidden; background:#eee8df; cursor:pointer; }
.product-image img { height:100%; object-fit:cover; transition:transform .3s ease; }
.product-card:hover .product-image img { transform:scale(1.025); }
.badge { position:absolute; left:12px; top:12px; padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.9); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-info { padding:16px; }
.product-meta { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.product-name { font-family:Georgia, serif; font-size:22px; }
.product-category { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; margin-top:5px; }
.product-price { font-weight:700; white-space:nowrap; }
.product-actions { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:15px; }
.add-button, .view-button { min-height:42px; border-radius:999px; cursor:pointer; }
.add-button { border:1px solid var(--ink); background:var(--ink); color:#fff; }
.view-button { width:42px; border:1px solid var(--line); background:transparent; }
.story-section { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.story-media { border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.story-media img { aspect-ratio:4/5; object-fit:cover; }
.story-copy h2 { margin-bottom:24px; }
.quote-card { border-left:4px solid var(--teal); padding:16px 20px; margin-top:28px; background:rgba(255,255,255,.42); display:flex; flex-direction:column; gap:5px; }
.quote-card span { color:var(--muted); }
.test-note { background:#efe5d7; border-radius:30px; display:flex; justify-content:space-between; gap:50px; align-items:center; margin-bottom:80px; padding:48px; }
.test-note h2 { font-size:46px; margin-bottom:14px; }
.site-footer { border-top:1px solid var(--line); min-height:150px; display:flex; align-items:center; gap:30px; justify-content:space-between; padding:20px max(22px, calc((100vw - var(--max))/2)); color:var(--muted); }
.footer-brand { transform:scale(.8); transform-origin:left; }
.overlay { position:fixed; inset:0; background:rgba(16,16,16,.35); z-index:50; backdrop-filter:blur(2px); }
.cart-drawer { position:fixed; z-index:60; right:0; top:0; bottom:0; width:min(440px, 100vw); background:var(--surface); box-shadow:-20px 0 60px rgba(0,0,0,.14); transform:translateX(105%); transition:transform .25s ease; display:flex; flex-direction:column; }
.cart-drawer.is-open { transform:translateX(0); }
.drawer-header { display:flex; justify-content:space-between; padding:25px; border-bottom:1px solid var(--line); }
.drawer-header h3 { margin-top:-7px; }
.icon-button, .dialog-close { border:0; background:transparent; font-size:34px; cursor:pointer; line-height:1; }
.cart-items { overflow:auto; padding:12px 20px; flex:1; }
.cart-item { display:grid; grid-template-columns:74px 1fr auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.cart-thumb { width:74px; height:74px; border-radius:13px; object-fit:cover; background:#eee; }
.cart-item-name { font-family:Georgia, serif; font-size:17px; }
.cart-item-price { font-size:13px; color:var(--muted); margin-top:4px; }
.qty { display:flex; align-items:center; gap:7px; margin-top:7px; }
.qty button { width:27px; height:27px; border-radius:50%; border:1px solid var(--line); background:transparent; cursor:pointer; }
.remove { border:0; background:transparent; color:var(--red); cursor:pointer; font-size:12px; }
.cart-empty { text-align:center; color:var(--muted); padding:50px 30px; }
.cart-empty p { color:var(--ink); font-family:Georgia, serif; font-size:23px; margin-bottom:7px; }
.cart-summary { padding:20px; border-top:1px solid var(--line); }
.cart-summary > div { display:flex; justify-content:space-between; font-size:18px; margin-bottom:10px; }
.cart-summary small { display:block; color:var(--muted); line-height:1.4; margin-bottom:16px; }
.product-dialog { width:min(980px, calc(100vw - 30px)); border:0; padding:0; border-radius:26px; background:var(--surface); color:var(--ink); box-shadow:0 30px 90px rgba(0,0,0,.28); overflow:hidden; }
.product-dialog::backdrop { background:rgba(0,0,0,.45); backdrop-filter:blur(3px); }
.product-dialog[open] { display:grid; grid-template-columns:1.05fr .95fr; }
.dialog-media { background:#eee7dc; min-height:600px; }
.dialog-media img { height:100%; object-fit:cover; }
.dialog-copy { position:relative; padding:55px 42px; display:flex; flex-direction:column; }
.dialog-copy h3 { font-size:45px; margin-bottom:16px; }
.dialog-copy p { color:var(--muted); line-height:1.7; }
.dialog-price { font-family:Georgia, serif; font-size:32px; margin:10px 0 22px; }
.dialog-details { border-top:1px solid var(--line); padding:18px 0; margin-bottom:25px; color:var(--muted); display:grid; gap:9px; }
.dialog-details span::before { content:"— "; color:var(--teal); }
.dialog-close { position:absolute; right:18px; top:16px; z-index:3; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.82); }
.toast { position:fixed; left:50%; bottom:30px; z-index:100; transform:translate(-50%, 20px); opacity:0; pointer-events:none; background:#171717; color:#fff; border-radius:999px; padding:12px 17px; transition:.22s ease; }
.toast.show { opacity:1; transform:translate(-50%, 0); }
@media (max-width: 1100px) {
  .main-nav { display:none; }
  .site-header { grid-template-columns:1fr auto; }
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-media { order:-1; }
  .kit-grid, .product-grid { grid-template-columns:repeat(2, 1fr); }
  .section-heading, .intro-section, .story-section { grid-template-columns:1fr; gap:30px; }
  .filters { justify-content:flex-start; }
}
@media (max-width: 700px) {
  .announcement { font-size:9px; }
  .site-header { min-height:65px; padding:0 14px; }
  .brand { min-width:138px; transform:scale(.86); transform-origin:left; }
  .cart-button { font-size:12px; padding:8px 10px; }
  .hero { padding:22px 14px 48px; gap:22px; }
  .hero-media img { aspect-ratio:4/3; }
  h1 { font-size:52px; }
  h2 { font-size:40px; }
  .hero-lead { font-size:16px; }
  .section { padding:62px 14px; }
  .kit-grid, .product-grid { grid-template-columns:1fr; }
  .section-heading { margin-bottom:25px; }
  .test-note { margin:0 14px 50px; padding:28px; flex-direction:column; align-items:flex-start; }
  .test-note h2 { font-size:36px; }
  .site-footer { padding:30px 14px; flex-direction:column; align-items:flex-start; }
  .product-dialog[open] { display:block; overflow:auto; max-height:92vh; }
  .dialog-media { min-height:auto; }
  .dialog-media img { aspect-ratio:1/1; object-fit:cover; }
  .dialog-copy { padding:30px 22px; }
  .dialog-copy h3 { font-size:35px; }
}

/* v0.2 institutional pages */
.page-header{max-width:var(--max);margin:0 auto;padding:86px 22px 46px;display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:end}.page-header p{font-size:19px;line-height:1.7;color:var(--muted);max-width:720px}.page-header h1{font-size:clamp(54px,7vw,108px)}
.content-section{max-width:var(--max);margin:0 auto;padding:54px 22px}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.content-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.content-card h3{font-size:34px;margin-bottom:12px}.content-card p{color:var(--muted);line-height:1.7}.big-statement{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,76px);line-height:1.03;letter-spacing:-.035em;max-width:1050px}.brand-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.pillar{border-top:2px solid var(--ink);padding-top:18px}.pillar strong{font-family:Georgia,"Times New Roman",serif;font-size:29px}.pillar p{color:var(--muted);line-height:1.6}
.image-feature{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}.image-feature img{border-radius:var(--radius);box-shadow:var(--shadow)}
.artwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.art-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.art-card img{aspect-ratio:4/5;object-fit:cover}.art-info{padding:20px}.art-info h3{font-size:28px}.art-info p{color:var(--muted);line-height:1.55}.art-status{display:inline-flex;margin-top:10px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.art-note{padding:28px;border:1px dashed rgba(22,22,22,.28);border-radius:18px;color:var(--muted);line-height:1.7;background:rgba(255,255,255,.36)}
.timeline{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.timeline-item{background:var(--surface);padding:28px;display:grid;grid-template-columns:180px 1fr;gap:28px}.timeline-item strong{font-family:Georgia,"Times New Roman",serif;font-size:25px}.timeline-item p{margin:0;color:var(--muted);line-height:1.7}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.contact-panel,.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.contact-list{display:grid;gap:18px;margin-top:28px}.contact-list div{padding-top:16px;border-top:1px solid var(--line)}.contact-list strong{display:block;margin-bottom:5px}.contact-list span{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;font:inherit;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.form-status{color:var(--teal);min-height:24px;margin:12px 0 0}.simple-hero-media img{max-height:660px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.site-nav-link.is-current{font-weight:700}.site-header .menu-button{display:none;border:0;background:transparent;font-size:26px;cursor:pointer}.legal-mini{font-size:12px;color:var(--muted);line-height:1.6}.shop-embed-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.shop-embed-head p{max-width:580px;color:var(--muted);line-height:1.6}
@media(max-width:950px){.page-header,.image-feature,.contact-grid{grid-template-columns:1fr}.artwork-grid{grid-template-columns:repeat(2,1fr)}.brand-pillars{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.site-header{grid-template-columns:auto auto auto}.site-header .menu-button{display:block}.main-nav{position:absolute;left:0;right:0;top:78px;background:var(--bg);border-bottom:1px solid var(--line);display:none;flex-direction:column;padding:12px 22px 22px}.main-nav.is-open{display:flex}.main-nav a{padding:12px 0}.main-nav a::after{display:none}}
@media(max-width:620px){.artwork-grid,.content-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-header{padding-top:50px}.content-section{padding-top:34px}.artwork-grid{gap:14px}.content-card,.contact-panel,.contact-form{padding:24px}.site-header{gap:12px}.brand{min-width:125px}.brand-word{font-size:22px}.brand-one{font-size:48px}.cart-button{padding:9px 11px;font-size:12px}}

/* v1.1 — approved 1sketch identity + original-art heroes */
.brand-logo { min-width: 178px; height: 64px; display:flex; align-items:center; }
.brand-logo img { width: 176px; height: auto; max-height: 58px; object-fit: contain; object-position:left center; }
.footer-brand.brand-logo { min-width: 150px; height:52px; }
.footer-brand.brand-logo img { width:150px; max-height:50px; }
.hero-origin h1 em { color: var(--red); font-weight: 500; }
.hero-art { background:#f4eee4; }
.hero-art img { aspect-ratio: 16/10; object-fit:cover; object-position:center center; }
.image-feature > img[src*="marca-original-art"] { aspect-ratio: 4/3; object-fit:cover; object-position:center; }
@media (max-width: 760px){
  .brand-logo { min-width:132px; height:54px; }
  .brand-logo img { width:132px; max-height:48px; }
}
