/* PintuferreMás — actualización visual, sin dependencias externas. */
:root {
  --naranja: #ef7829;
  --naranja-hover: #df671d;
  --naranja-texto: #a34008;
  --naranja-suave: #fff0e4;
  --carbon: #24302d;
  --carbon-hondo: #1b2523;
  --concreto: #f5f4f0;
  --linea: #e2e3de;
  --suave: #52605c;
  --focus: #176b83;
  --max: 1160px;
  --wrap: 1208px;
}

html { scroll-padding-top: 92px; }
body { background: #fff; color: var(--carbon); font-family: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, Arial, sans-serif; }
.ic { width: 1.15em; height: 1.15em; }
.topbar { background: var(--carbon-hondo); font-size: .79rem; letter-spacing: .015em; }
.topbar .wrap { padding-block: 7px; }
.topbar .ic { color: #ffae77; }
.header { background: rgba(255,255,255,.98); border-bottom: 1px solid #e9e9e5; box-shadow: 0 6px 24px rgba(30,45,40,.045); }
.header .wrap { min-height: 80px; padding-block: 11px; }
.brand img { height: 53px; width: auto; }
.nav { gap: 2px; }
.nav a { font-size: .91rem; font-weight: 700; border-radius: 8px; padding: 10px 13px; transition: color .18s ease, background-color .18s ease; }
.nav a[aria-current=page] { background: var(--naranja-suave); color: #923a08; }
.nav a:last-child { margin-left: 8px; background: var(--carbon); color: #fff; padding-inline: 20px; }
.nav a:last-child[aria-current=page] { background: var(--naranja); color: #17211d; }
@media (hover:hover) and (pointer:fine) {
  .nav a:hover { background: #f2f4f0; color: var(--carbon); }
  .nav a:last-child:hover { background: #354740; color: #fff; }
}
.mobile-nav { display: none; }

.btn { border-width: 1px; border-radius: 10px; min-height: 52px; padding-inline: 1.35rem; font-weight: 760; transition: transform .16s cubic-bezier(.23,1,.32,1), background-color .18s ease, color .18s ease, border-color .18s ease; }
.btn:active { transform: scale(.97); }
.btn-dark { background: var(--carbon); }
.btn-dark:hover { background: #33443e; }
.btn-orange { background: var(--naranja); color: #202a25; }
.btn-orange:hover { background: #ff914d; }
.btn-line { border-color: #89958c; }
.btn-line:hover { background: var(--carbon); border-color: var(--carbon); }
.btn-line-light { border-color: rgba(255,255,255,.65); }

.hero { background: var(--carbon-hondo); color: #fff; --focus: #ffbb8b; }
.hero::before { content:""; position:absolute; inset:0; z-index:-1; background: radial-gradient(circle at 8% 95%,rgba(239,120,41,.15),transparent 43%); -webkit-mask-image:none; mask-image:none; }
.hero-in { grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap: clamp(28px,5vw,72px); padding: 72px 24px 76px; min-height: 560px; }
.hero-place { display:inline-flex; align-items:center; gap:12px; margin-bottom:24px; color:#ffc399; font-size:.8rem; font-weight:800; letter-spacing:.15em; }
.hero-place::before { content:""; display:block; width:24px; height:2px; background:var(--naranja); }
.hero h1 { max-width:12ch; margin:0 0 20px; font-size:clamp(3.15rem,5.25vw,5.15rem); font-weight:840; line-height:1.04; letter-spacing:-.055em; }
.hero h1 em { color:#ff9c5b; font-style:normal; }
.hero-lead { max-width:38ch; color:#d6ded8; font-size:1.14rem; line-height:1.62; font-weight:400; }
.hero .btns { gap:12px; margin-top:30px; }
.hero .btn-orange { background:var(--naranja); color:#1e2622; }
.hero .btn-line-light { border-color:#87938c; color:#fff; }
.hero .btn-line-light:hover { background:#fff; color:var(--carbon); }
.hero-visual { position:relative; min-height:408px; align-self:stretch; overflow:hidden; isolation:isolate; border-radius:24px; background:#ef7829; box-shadow:0 28px 55px rgba(0,0,0,.14); }
.hero-visual::before { content:""; position:absolute; inset:0; z-index:-1; background-image: radial-gradient(circle,rgba(43,48,37,.23) 1px,transparent 1.5px); background-size:20px 20px; opacity:.62; }
.hero-visual::after { content:""; position:absolute; inset:auto -70px -210px auto; width:400px; height:400px; border:1px solid rgba(255,255,255,.32); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.09),0 0 0 70px rgba(255,255,255,.055); }
.visual-top { position:absolute; top:25px; left:27px; right:27px; display:flex; justify-content:space-between; gap:20px; align-items:center; color:#2c3027; font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.visual-top span:last-child { width:46px; height:1px; background:currentColor; }
.visual-nut { position:absolute; top:44%; left:52%; width:min(63%,305px); aspect-ratio:1; transform:translate(-50%,-50%) rotate(-20deg); clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); background:#24302d; filter:drop-shadow(16px 18px 0 rgba(80,34,10,.2)); display:grid; place-items:center; }
.visual-nut::before { content:""; width:55%; aspect-ratio:1; clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); background:#f39555; box-shadow:inset 12px 12px 0 rgba(88,38,11,.12); }
.visual-stripe { position:absolute; top:29%; right:8%; height:60%; width:1px; background:rgba(36,48,45,.45); transform:rotate(25deg); transform-origin:top; }
.visual-label { position:absolute; left:26px; right:26px; bottom:24px; display:flex; justify-content:space-between; align-items:end; gap:20px; padding-top:18px; border-top:1px solid rgba(36,48,45,.48); color:#25312c; }
.visual-label strong { display:block; max-width:13ch; font-size:clamp(1.15rem,2vw,1.65rem); line-height:1.08; letter-spacing:-.035em; }
.visual-label span { font-size:.75rem; line-height:1.3; text-align:right; font-weight:760; text-transform:uppercase; letter-spacing:.07em; }
.hero-store { background:#2c3d34; }
.hero-store::before { display:none; }
.hero-store::after { content:""; position:absolute; inset:0; width:auto; height:auto; border:0; border-radius:0; box-shadow:none; background:linear-gradient(180deg,rgba(10,22,16,.45),transparent 38%,rgba(10,22,16,.77)); pointer-events:none; }
.hero-store img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.hero-store .visual-top,.hero-store .visual-label { z-index:1; color:#fff; }
.hero-store .visual-label { border-color:rgba(255,255,255,.6); }

.section { padding-block:100px; }
.section.alt { background:var(--concreto); }
.section.tight { padding-block:42px; }
.eyebrow { color:var(--naranja-texto); font-size:.77rem; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow::before { width:18px; height:2px; border-radius:0; }
.title { line-height:1.1; letter-spacing:-.047em; }
.lead { color:var(--suave); line-height:1.65; }
.split { gap:clamp(36px,7vw,100px); grid-template-columns:minmax(0,5fr) minmax(0,6fr); }
.duo { gap:28px; }
.col { border-top:1px solid #c9d1c9; padding-top:21px; }
.col.b { border-top-color:#c9d1c9; }
.col h3 { font-size:1.08rem; }
.values { gap:0; }
.values li { padding:18px 26px; gap:17px; border-left:1px solid #d6dcd3; }
.values li:first-child { padding-left:0; border-left:0; }
.values .v-ic { width:48px; height:48px; background:#fff; border:1px solid #e8d4c6; color:var(--naranja-texto); border-radius:11px; }
.values .v-ic .ic { width:22px; height:22px; }
.values strong { font-size:1rem; }
.values .txt { font-size:.88rem; }
.visit-section { background:#f6f5f1; }
.visit-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:30px; }
.visit-heading .title { margin:12px 0 8px; }
.visit-heading .lead { margin:0; }
.visit-heading .btn { flex:none; }
.visit-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:18px; }
.visit-map,.visit-facade { overflow:hidden; border-radius:16px; border:1px solid #dce1d9; background:#fff; box-shadow:0 12px 34px rgba(25,38,30,.05); }
.visit-map { min-height:410px; }
.visit-map iframe { display:block; width:100%; height:100%; min-height:410px; border:0; }
.visit-facade { margin:0; display:flex; flex-direction:column; }
.visit-facade img { display:block; width:100%; height:320px; object-fit:cover; object-position:center; }
.visit-facade figcaption { display:flex; flex-direction:column; justify-content:center; gap:4px; flex:1; min-height:88px; padding:16px 21px; }
.visit-facade strong { font-size:1.06rem; }
.visit-facade span { color:var(--suave); font-size:.9rem; }
.visit-inside { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:26px; align-items:center; margin-top:18px; padding:25px; border-radius:16px; background:var(--carbon-hondo); color:#fff; }
.visit-inside .eyebrow { color:#ffb584; }
.visit-inside h3 { max-width:14ch; margin:14px 0 10px; font-size:clamp(1.55rem,2.6vw,2.3rem); line-height:1.1; letter-spacing:-.04em; }
.visit-inside p { max-width:29ch; color:#d5ded7; line-height:1.55; }
.visit-inside figure { margin:0; }
.visit-inside img { display:block; width:100%; height:250px; border-radius:9px; object-fit:cover; object-position:center 50%; }
.visit-inside figcaption { padding-top:9px; color:#d5ded7; font-size:.81rem; }
.visit-credit { margin:16px 0 0; color:#58675e; font-size:.8rem; line-height:1.5; }
.visit-credit a { color:#0d6582; text-underline-offset:3px; }
.catalog-promo { border:1px solid #dedfd9; border-radius:20px; box-shadow:none; padding:clamp(28px,4vw,52px); gap:40px; background:#fff; }
.catalog-promo::after { display:none; }
.catalog-promo h2 { max-width:17ch; margin-block:13px 15px; line-height:1.1; }
.catalog-promo p { line-height:1.6; }
.catalog-mini { background:#f6f4ef; color:var(--carbon); border:1px solid #e6e7df; border-radius:13px; padding:30px; }
.catalog-mini::before { content:"↗"; display:grid; place-items:center; width:46px; height:46px; margin-bottom:27px; border-radius:10px; background:var(--naranja); font-size:1.45rem; }
.catalog-mini strong { max-width:12ch; font-size:1.45rem; }
.catalog-mini p { color:var(--suave); }
.catalog-head-actions { gap:11px; }
.catalog-legal-mini { margin-top:18px; color:#59665e; }
.page-head { position:relative; overflow:hidden; background:#f6f5f1; padding:82px 24px 76px; }
.page-head::after { content:""; position:absolute; right:-100px; top:-160px; width:420px; height:420px; border:1px solid #e8e5dd; border-radius:50%; box-shadow:0 0 0 36px rgba(228,224,215,.36),0 0 0 76px rgba(228,224,215,.22); pointer-events:none; }
.page-head .container { position:relative; z-index:1; }
.page-head .title { max-width:21ch; margin-top:14px; line-height:1.08; }
.page-head .lead { max-width:56ch; }
.swatch { height:5px; background:var(--naranja); }
.quote { max-width:29em; line-height:1.32; }
.quote::before { color:var(--naranja); }
.card { border:1px solid var(--linea); border-radius:15px; padding:35px; box-shadow:0 10px 35px rgba(25,38,30,.04); }
.card-ic { background:var(--naranja-suave); color:var(--naranja-texto); }
.tel-row { font-size:clamp(1.28rem,2vw,1.6rem); }
.notice-box { background:var(--naranja-suave); border-color:#f1d9c3; }
.legal { max-width:790px; }
.legal h2 { scroll-margin-top:90px; }
.legal p,.legal li { color:#34423c; }
.legal a { color:#0d6582; }
.nf-num { color:var(--naranja); }
.cta { background:var(--naranja); color:#1c2823; --focus:#1c2823; padding-block:74px; }
.cta h2 { max-width:17ch; }
.cta p { color:#203229; }
.cta .btn-orange { background:var(--carbon-hondo); color:#fff; }
.cta .btn-orange:hover { background:#384841; }
.cta .btn-line-light { color:#1e2c25; border-color:#263c30; }
.cta .btn-line-light:hover { color:#fff; background:var(--carbon); }
.footer { background:var(--carbon-hondo); }
.footer-in { padding-top:64px; }
.footer a:focus-visible { outline-color:#ffbc8e; }
.footer-bottom { border-color:#43514a; }
.fab { background:var(--naranja); color:#1b2821; }
.whatsapp-pending {
  position:fixed;
  right:16px;
  bottom:calc(84px + env(safe-area-inset-bottom));
  z-index:39;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:9px 15px;
  border:1px solid #b7dbc2;
  border-radius:10px;
  background:#edf8f0;
  color:#16562f;
  box-shadow:0 8px 24px rgba(25,55,34,.14);
  font:inherit;
  line-height:1.1;
  opacity:1;
  cursor:not-allowed;
}
.whatsapp-pending img { width:23px; height:23px; flex:none; }
.whatsapp-pending span { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.whatsapp-pending strong { font-size:.87rem; font-weight:800; }
.whatsapp-pending small { font-size:.72rem; font-weight:650; letter-spacing:.02em; }

@media (max-width:1024px) {
  .nav a { padding-inline:9px; font-size:.85rem; }
  .hero-in { min-height:0; }
}
@media (max-width:900px) {
  .hero-in { grid-template-columns:1fr 1fr; gap:24px; }
  .hero h1 { font-size:clamp(2.8rem,5vw,4.4rem); }
  .hero-visual { min-height:390px; }
  .split { grid-template-columns:1fr; gap:30px; }
  .visit-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
}
@media (max-width:780px) {
  .topbar .wrap { padding-inline:20px; }
  .topbar .item:first-child { display:none; }
  .header { position:sticky; top:0; }
  .header .wrap { flex-direction:row; align-items:center; gap:16px; min-height:70px; padding:10px 20px; }
  .brand img { height:47px; }
  .nav { display:none; }
  .mobile-nav { display:block; margin-left:auto; position:relative; }
  .mobile-nav summary { display:flex; align-items:center; gap:10px; min-height:43px; padding:8px 12px; border:1px solid var(--linea); border-radius:9px; list-style:none; cursor:pointer; font-size:.91rem; font-weight:750; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .menu-bars { width:17px; height:12px; border-block:2px solid currentColor; position:relative; }
  .menu-bars::after { content:""; position:absolute; width:17px; top:4px; left:0; border-top:2px solid currentColor; }
  .mobile-nav nav { position:absolute; top:calc(100% + 12px); right:0; width:min(300px,calc(100vw - 32px)); display:flex; flex-direction:column; gap:3px; padding:12px; border:1px solid #e6e5df; border-radius:13px; background:#fff; box-shadow:0 20px 36px rgba(15,32,20,.18); }
  .mobile-nav nav a { display:block; padding:12px 14px; border-radius:7px; text-decoration:none; font-size:.94rem; font-weight:650; }
  .mobile-nav nav a[aria-current=page] { background:var(--naranja-suave); color:#873608; }
  .mobile-nav nav a:active { background:#f3f4f1; }
  .hero-in { grid-template-columns:1fr; padding:54px 20px 56px; }
  .hero h1 { max-width:12ch; font-size:clamp(3.15rem,8vw,4.65rem); }
  .hero-visual { min-height:350px; max-width:560px; width:100%; }
  .section { padding-block:74px; }
  .values { grid-template-columns:1fr; }
  .values li,.values li:first-child { padding:19px 0; border:0; border-top:1px solid #d6dcd3; }
  .values li:last-child { border-bottom:1px solid #d6dcd3; }
  .page-head { padding-block:64px 58px; }
  .visit-heading { align-items:start; flex-direction:column; gap:18px; }
  .visit-grid { grid-template-columns:1fr; }
  .visit-facade img { height:auto; max-height:380px; aspect-ratio:4/3; }
  .visit-inside { grid-template-columns:1fr; gap:18px; }
  .visit-inside h3 { max-width:none; }
  .visit-inside img { height:300px; }
}
@media (max-width:600px) {
  body { font-size:1rem; }
  .topbar .wrap { padding:8px 16px; }
  .topbar .item { width:auto; }
  .topbar .item a:first-child { display:none; }
  .header .wrap { padding-inline:16px; }
  .brand img { height:43px; }
  .hero-in { padding:48px 16px 44px; gap:36px; }
  .hero h1 { font-size:clamp(2.8rem,12vw,3.85rem); }
  .hero-lead { font-size:1.04rem; }
  .hero-visual { min-height:295px; border-radius:16px; }
  .visual-nut { width:min(54%,210px); top:42%; }
  .visual-label { left:19px; right:19px; bottom:18px; }
  .visual-label strong { font-size:1.15rem; }
  .visual-top { left:19px; right:19px; top:17px; }
  .section { padding:62px 16px; }
  .section.tight { padding-block:28px; }
  .duo { margin-top:25px; }
  .catalog-promo { padding:24px; gap:22px; }
  .catalog-promo h2 { font-size:clamp(1.75rem,8vw,2.6rem); }
  .catalog-mini { padding:22px; }
  .catalog-mini::before { margin-bottom:16px; }
  .page-head { padding:52px 16px 48px; }
  .page-head::after { right:-240px; }
  .card { padding:22px 19px; }
  .visit-heading .btn { width:100%; }
  .visit-map,.visit-map iframe { min-height:340px; }
  .visit-facade img { max-height:none; }
  .visit-inside { padding:20px; }
  .visit-inside img { height:250px; }
  .cta { padding:54px 16px; }
  .footer-in { padding:46px 16px 26px; }
  .fab { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); border-radius:10px; box-shadow:0 8px 25px rgba(20,32,26,.22); }
  .whatsapp-pending { right:16px; bottom:calc(80px + env(safe-area-inset-bottom)); min-height:50px; padding:8px 12px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .btn,.nav a { transition:none; }
  .btn:active { transform:none; }
}
