/* Modelo 110 · Frontera — clases .fr */
.pmc-m-frontera { min-height: 100vh; margin: 0; background: var(--pmc-secondary); }
.fr { --k-ink: #2a1609; --k-muted: #5e3f2a; --k-line: rgba(42,22,9,.14); --k-accent: var(--pmc-primary-ink); --k-btn-r: .5rem; --k-gap: 1.4rem; --k-q-bg: #fff; --k-q-ink: #2a1609; --k-q-border: 2px solid #2a1609; --k-h: var(--pmc-display); --k-h2-s: 2rem; --k-h2-w: 400; --k-photo-r: .5rem; }
.fr .k-body { padding-top: 0; }
.fr-head { display: flex; flex-direction: column; gap: .4rem; }
.fr-sky { position: relative; height: 8rem; margin: 0 -1.1rem .4rem; overflow: hidden; background: linear-gradient(#fcd9a8, #fbbf7a); }
.fr-sun { position: absolute; left: 50%; bottom: 1rem; width: 6rem; height: 6rem; margin-left: -3rem; border-radius: 50%; background: repeating-linear-gradient(transparent 0 .7rem, rgba(255,255,255,.0) .7rem 1rem), var(--pmc-primary); -webkit-mask: repeating-linear-gradient(#000 0 .8rem, transparent .8rem 1.05rem); mask: repeating-linear-gradient(#000 0 .8rem, transparent .8rem 1.05rem); }
.fr-mtn { position: absolute; left: 0; right: 0; bottom: 0; height: 2.6rem; background: #7c3a12; clip-path: polygon(0 100%, 0 40%, 18% 10%, 32% 55%, 50% 20%, 66% 60%, 82% 15%, 100% 50%, 100% 100%); }
.fr-cac { position: absolute; right: 14%; bottom: 1rem; width: .9rem; height: 3.6rem; border-radius: .5rem; background: #3f5f2a; box-shadow: -1rem 1rem 0 -.15rem #3f5f2a, 1rem .6rem 0 -.15rem #3f5f2a; }
.fr-bi { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--pmc-primary-ink); }
.fr-name { font: 400 clamp(2.6rem, 13vw, 3.2rem)/.95 var(--pmc-display); letter-spacing: .02em; }
.fr-tagline { line-height: 1.4; color: #5e3f2a; }
.fr-open { align-self: flex-start; }
.fr .k-btn { font-family: var(--pmc-display); font-weight: 400; letter-spacing: .06em; font-size: 1.25rem; }
.fr .k-main { min-height: 3.6rem; }
.fr .k-items, .fr .k-when, .fr .k-reach { padding: 1.2rem; border-radius: .7rem; background: #fff; }
.fr .k-price { font: 400 1.4rem var(--pmc-display); color: var(--pmc-primary-ink); }
.fr .k-tags li { border-color: #2a1609; font-weight: 600; }
.fr .k-sbtn:first-child { background: #2a1609; color: #fff; border-color: #2a1609; }
.fr .k-links a { border-color: #2a1609; }

.fr-foot a { color: var(--k-muted); }
