/* Libertad Patagona Chilena — shared stylesheet, self-hosted fonts, merged from 4 pages */

@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/fraunces-400.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/poppins-300.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-400.woff2') format('woff2');}
@font-face{font-family:'Aileron';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/aileron-300.woff2') format('woff2');}
@font-face{font-family:'Aileron';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/aileron-400.woff2') format('woff2');}

:root{--cream:#EDE6D6; --paper:#F7F3EA; --charcoal:#211C16; --wood:#8B6D46;
  --maroon:#5C2A28; --stone:#6E6154; --line: rgba(33,28,22,0.14); --line-light: rgba(247,243,234,0.18);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream); color:var(--charcoal); font-family:"Aileron",sans-serif; font-weight:400; line-height:1.5; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.mono{font-family:"IBM Plex Mono",monospace; letter-spacing:0.04em;}
.eyebrow{font-family:"IBM Plex Mono",monospace; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--stone);}
header{position:fixed; top:0;left:0;right:0; z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 2.6rem; transition:background .5s ease, padding .4s ease, border-color .4s ease; border-bottom:1px solid transparent;}
header.solid{background:rgba(237,230,214,0.94); backdrop-filter:blur(6px); padding:1.05rem 2.6rem; border-bottom:1px solid var(--line);}
.brand-logo{height:50px; display:flex; align-items:center;}
.brand-logo img{height:100%; width:auto;}
.brand-logo .logo-dark{display:none;}
header.solid .brand-logo .logo-light{display:none;}
header.solid .brand-logo .logo-dark{display:block;}
.brand-block{display:flex; align-items:center;}
nav{display:flex; gap:2.1rem;}
nav a{font-size:0.82rem; color:var(--paper); opacity:0.88; transition:opacity .25s ease, color .4s ease; position:relative;}
header.solid nav a{color:var(--charcoal);}
nav a.current{opacity:1;}
nav a.current::after{content:""; position:absolute; left:0;bottom:-5px; width:100%;height:1px; background:currentColor;}
nav a:hover{opacity:1;}
header.static{background:rgba(237,230,214,0.98); border-bottom:1px solid var(--line); padding:1.05rem 2.6rem;}
header.static .brand-logo .logo-light{display:none;}
header.static .brand-logo .logo-dark{display:block;}
header.static nav a{color:var(--charcoal);}
nav{align-items:center;}
nav .lang-switch{font-family:"IBM Plex Mono",monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase;}
nav .nav-cta{display:inline-block; opacity:1; padding:0.5rem 1.1rem; border:1px solid currentColor; font-family:"IBM Plex Mono",monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; transition:background .3s ease, color .3s ease, border-color .3s ease;}
nav .nav-cta:hover{background:var(--paper); color:var(--charcoal); border-color:var(--paper);}
header.solid nav .nav-cta:hover, header.static nav .nav-cta:hover{background:var(--charcoal); color:var(--paper); border-color:var(--charcoal);}
section{padding:7rem 2.6rem;}
.section-head{max-width:640px; margin:0 auto 1.6rem; text-align:center;}
.section-head .eyebrow{justify-content:center; display:flex;}
.section-head h2{font-family:"Fraunces",serif; font-weight:400; font-size:clamp(1.9rem,3.4vw,2.7rem); margin-top:0.7rem; letter-spacing:-0.005em;}
.section-intro{max-width:600px; margin:0 auto 3.6rem; text-align:center; color:var(--stone); font-family:"Poppins",sans-serif; font-weight:300; font-size:1rem;}
.reveal{opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.btn{display:inline-block; font-family:"IBM Plex Mono",monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--charcoal); border:1px solid var(--charcoal); padding:0.85rem 1.6rem; white-space:nowrap; transition:background .3s ease, color .3s ease;}
.btn:hover{background:var(--charcoal); color:var(--paper);}
.btn-light{color:var(--paper); border-color:rgba(247,243,234,0.6);}
.btn-light:hover{background:var(--paper); color:var(--charcoal);}
.page-banner{position:relative; height:44vh; min-height:320px; display:flex; align-items:flex-end; background:#000 center/cover no-repeat;}
.page-banner::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,12,0.2) 0%, rgba(20,16,12,0.15) 40%, rgba(20,16,12,0.72) 100%);}
.page-banner-inner{position:relative; z-index:2; padding:0 2.6rem 2.6rem; max-width:760px;}
.page-banner-inner .eyebrow{color:var(--paper); opacity:0.85; margin-bottom:0.7rem;}
.page-banner-inner h1{font-family:"Fraunces",serif; font-weight:400; font-size:clamp(2.1rem,4.4vw,3.4rem); color:var(--paper); letter-spacing:-0.01em;}
.back-link{position:relative; z-index:2; display:inline-block; margin:0 2.6rem 1.2rem; font-size:0.76rem; color:var(--paper); opacity:0.8;}
footer{background:var(--charcoal); color:var(--paper); padding:4.4rem 2.6rem 2.2rem; border-top:1px solid var(--line-light);}
.footer-top{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:2.4rem; padding-bottom:3rem;}
.footer-logo-mark{height:50px; width:275px; margin-bottom:0.8rem; background-color:var(--paper); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:left center; mask-position:left center; -webkit-mask-size:contain; mask-size:contain; -webkit-mask-image:url(../img/logo-header.png); mask-image:url(../img/logo-header.png);}
.footer-logo small{display:block; font-family:"IBM Plex Mono",monospace; font-size:0.62rem; letter-spacing:0.14em; color:var(--stone);}
.footer-cols{display:flex; gap:4.6rem; flex-wrap:wrap;}
.footer-col .eyebrow{margin-bottom:1rem;}
.footer-col a, .footer-col p{display:block; font-size:0.86rem; color:rgba(247,243,234,0.78); margin-bottom:0.55rem; font-weight:300;}
.footer-col .footer-social{display:flex; gap:0.7rem; margin-top:1.1rem;}
.footer-col .footer-social a{display:inline-flex; align-items:center; justify-content:center; margin:0; color:rgba(247,243,234,0.78); transition:color .25s ease;}
.footer-col .footer-social a:hover{color:var(--paper);}
.footer-bottom{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; font-size:0.68rem; color:var(--stone); padding-top:1.8rem; border-top:1px solid var(--line-light); font-family:"IBM Plex Mono",monospace;}
.hero{position:relative; height:100vh; min-height:640px; overflow:hidden;}
.hero-split{position:absolute; inset:0; display:flex;}
.hero-half{position:relative; width:50%; height:100%; background-size:cover; background-repeat:no-repeat; display:block;}
.hero-half-autor{background-position:center 38%;}
.hero-half-coleccion{background-position:center 30%;}
.hero-half::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,12,0.18) 0%, rgba(20,16,12,0.1) 45%, rgba(20,16,12,0.62) 100%); transition:background .3s ease;}
.hero-half:hover::before{background:linear-gradient(180deg, rgba(20,16,12,0.1) 0%, rgba(20,16,12,0.05) 45%, rgba(20,16,12,0.5) 100%);}
.hero-half-label{position:absolute; bottom:2rem; color:var(--paper); font-size:0.74rem; letter-spacing:0.14em; opacity:0.9; z-index:2; white-space:nowrap; display:flex; align-items:center; gap:0.5rem;}
.hero-half-label .arrow{transition:transform .25s ease;}
.hero-half:hover .hero-half-label .arrow{transform:translateX(4px);}
.hero-half-autor .hero-half-label{right:2rem;}
.hero-half-coleccion .hero-half-label{left:2rem;}
.hero-center{position:absolute; top:50%; left:50%; transform:translate(-50%,-58%); z-index:3; text-align:center; padding:2rem 1.4rem; max-width:640px; width:90%;}
.hero-center::before{content:""; position:absolute; inset:-2.4rem -3rem; z-index:-1; background:radial-gradient(ellipse at center, rgba(20,16,12,0.55) 0%, rgba(20,16,12,0) 72%);}
.hero-center h1{font-family:"Fraunces",serif; font-weight:400; font-size:clamp(2.2rem, 4.6vw, 3.6rem); line-height:1.12; color:var(--paper); letter-spacing:-0.005em;}
.hero-center p{margin-top:1.3rem; color:var(--paper); opacity:0.88; font-size:1rem; font-family:"Poppins",sans-serif; font-weight:300; max-width:46ch; margin-left:auto; margin-right:auto;}
.hero-seam{position:absolute; top:0; bottom:0; left:50%; width:1px; background:rgba(247,243,234,0.35); z-index:2;}
.oficio{background:var(--paper); display:grid; grid-template-columns:1.05fr 0.95fr; gap:5vw; align-items:center; max-width:1180px; margin:0 auto; padding:6.5rem 2.6rem;}
.oficio-text .eyebrow{margin-bottom:1.1rem;}
.oficio-text h2{font-family:"Fraunces",serif; font-weight:400; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.18; margin-bottom:1.6rem;}
.oficio-text p{color:var(--stone); font-weight:300; font-size:1.02rem; max-width:46ch; margin-bottom:1.1rem;}
.oficio-text .signature{margin-top:1.8rem; font-family:"Fraunces",serif; font-style:italic; font-size:1.05rem; color:var(--charcoal);}
.oficio-img{position:relative; overflow:hidden; aspect-ratio:3/4;}
.oficio-img img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.oficio-img .tag{position:absolute; left:1rem; bottom:1rem; background:rgba(33,28,22,0.72); color:var(--paper); font-size:0.68rem; padding:0.45rem 0.7rem;}
.paths{max-width:1180px; margin:0 auto; padding:5.5rem 2.6rem; display:grid; grid-template-columns:1fr 1fr; gap:2rem;}
.path-card{position:relative; aspect-ratio:4/5; overflow:hidden; display:flex; align-items:flex-end;}
.path-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s ease;}
.path-card:hover img{transform:scale(1.04);}
.path-card::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,12,0.1) 0%, rgba(20,16,12,0.68) 100%); z-index:1;}
.path-card-inner{position:relative; z-index:2; padding:1.8rem;}
.path-card-inner .eyebrow{color:var(--paper); opacity:0.85; margin-bottom:0.5rem;}
.path-card-inner h3{font-family:"Fraunces",serif; font-weight:400; font-size:1.7rem; color:var(--paper); margin-bottom:0.8rem;}
.path-card-inner .btn-light{font-size:0.7rem;}
.coleccion{background:var(--cream);}
.grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2.6rem;}
.card{overflow:hidden;}
.card-img{position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--wood);}
.card-img img{width:100%;height:100%;object-fit:cover; transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.card:hover .card-img img{transform:scale(1.045);}
.card-status{position:absolute; top:0.9rem; right:0.9rem; font-size:0.62rem; padding:0.3rem 0.55rem; background:var(--paper); color:var(--charcoal);}
.card-status.sold{background:var(--charcoal); color:var(--paper);}
.card-ledger{padding-top:1rem; border-top:1px solid var(--line); margin-top:1rem;}
.card-ledger .code{font-size:0.68rem; color:var(--maroon); margin-bottom:0.35rem;}
.card-name{font-family:"Fraunces",serif; font-size:1.25rem; font-weight:500; margin-bottom:0.3rem;}
.card-desc{font-size:0.84rem; color:var(--stone); font-weight:300;}
.coleccion-foot{max-width:1200px; margin:3rem auto 0; display:flex; justify-content:space-between; align-items:center; padding-top:1.8rem; border-top:1px solid var(--line);}
.coleccion-foot p{font-size:0.85rem; color:var(--stone); max-width:44ch; font-weight:300;}
.tenido{max-width:1180px; margin:5.5rem auto 0; display:grid; grid-template-columns:1.15fr 0.85fr; gap:5vw; align-items:center;}
.tenido img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center 28%;}
.tenido-text h3{font-family:"Fraunces",serif; font-weight:400; font-size:clamp(1.5rem,2.4vw,1.9rem); margin-bottom:1.1rem; line-height:1.25;}
.tenido-text p{color:var(--stone); font-weight:300; font-size:0.98rem; max-width:42ch; margin-bottom:1rem;}
.tenido-text .eyebrow{margin-bottom:0.9rem;}
.eclectico{max-width:1200px; margin:5.5rem auto 0;}
.eclectico-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:1.4rem; border-bottom:1px solid var(--line); padding-bottom:1rem;}
.eclectico-head h4{font-family:"Fraunces",serif; font-weight:400; font-size:1.3rem;}
.eclectico-head span{font-size:0.78rem; color:var(--stone); font-weight:300;}
.eclectico-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;}
.eclectico-tile{position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--charcoal);}
.eclectico-tile img{width:100%;height:100%;object-fit:cover;}
.eclectico-tile .label{position:absolute; left:0.7rem; bottom:0.7rem; color:var(--paper); font-size:0.68rem; background:rgba(33,28,22,0.55); padding:0.3rem 0.55rem;}
.eclectico-tile.text-tile{display:flex; align-items:flex-end; padding:1rem; background:var(--maroon);}
.eclectico-tile.text-tile span{color:var(--paper); font-family:"Fraunces",serif; font-size:1.1rem;}
.autor{background:var(--charcoal); color:var(--paper);}
.autor .section-head h2{color:var(--paper);}
.autor .section-head .eyebrow{color:var(--wood);}
.autor .section-intro{color:rgba(247,243,234,0.7);}
.autor-spread{max-width:1180px; margin:0 auto 2.2rem; display:grid; grid-template-columns:1fr 1fr; gap:1.4rem;}
.autor-spread .img-tall{aspect-ratio:3/4; overflow:hidden;}
.autor-spread .img-tall img{width:100%;height:100%;object-fit:cover;}
.autor-caption{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; align-items:flex-end; padding-top:1.4rem; border-top:1px solid var(--line-light); flex-wrap:wrap; gap:1rem;}
.autor-caption .code{font-size:0.72rem; color:var(--wood); margin-bottom:0.4rem;}
.autor-caption .name{font-family:"Fraunces",serif; font-size:1.4rem;}
.autor-caption .meta{font-size:0.84rem; color:rgba(247,243,234,0.65); font-weight:300; max-width:46ch;}
.autor-piece .autor-caption{display:block; max-width:none; margin:1.1rem 0 0;}
.autor-piece .autor-caption .meta{margin-top:0.7rem;}
.autor-origen-banner{position:relative; height:56vh; min-height:380px; overflow:hidden; width:100%; background:#000 url("../img/esquila-galpon.webp") center 62% / cover no-repeat; display:flex; align-items:center;}
.autor-origen-banner::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,16,12,0.68) 0%, rgba(20,16,12,0.22) 55%, rgba(20,16,12,0.05) 100%);}
.autor-origen-banner-inner{position:relative; z-index:2; max-width:460px; padding:0 2.4rem;}
.autor-origen-banner-inner p.eyebrow{color:var(--paper); opacity:0.8;}
.autor-origen-banner-inner h3{font-family:"Fraunces",serif; font-weight:400; font-size:clamp(1.4rem,2.6vw,1.9rem); color:var(--paper); line-height:1.25; margin-top:0.7rem;}
.autor-origen-detail-wrap{background:var(--charcoal); padding:3.6rem 2.6rem 6rem;}
.autor-origen-detail{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:0.8fr 1.2fr; gap:4vw; align-items:center;}
.autor-origen-detail img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center 22%;}
.autor-origen-detail p{color:rgba(247,243,234,0.72); font-weight:300; font-size:0.96rem; max-width:44ch; margin-bottom:1rem;}
.autor-origen-detail .eyebrow{margin-bottom:0.9rem; color:var(--wood);}
.autor-cta{text-align:center; padding:5rem 2.6rem; background:var(--charcoal);}
.autor-cta p{color:rgba(247,243,234,0.75); font-weight:300; margin-bottom:1.6rem;}
.servicios{background:var(--charcoal); color:var(--paper);}
.servicios .section-head h2{color:var(--paper);}
.servicios .section-head .eyebrow{color:var(--stone);}
.serv-grid{max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-light);}
.serv-card{background:var(--charcoal); padding:2.8rem 2.4rem;}
.serv-card .num{font-family:"IBM Plex Mono",monospace; font-size:0.7rem; color:var(--wood); margin-bottom:1.2rem; display:block;}
.serv-card h3{font-family:"Fraunces",serif; font-weight:400; font-size:1.4rem; margin-bottom:1rem;}
.serv-card p{color:rgba(247,243,234,0.72); font-weight:300; font-size:0.92rem; margin-bottom:1.6rem; max-width:36ch;}
.serv-card a.link{font-family:"IBM Plex Mono",monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; border-bottom:1px solid rgba(247,243,234,0.4); padding-bottom:2px;}
.nav-toggle{display:none; position:relative; z-index:2; width:44px; height:44px; padding:0; background:none; border:0; -webkit-appearance:none; appearance:none; cursor:pointer;}
.nav-toggle span{position:absolute; left:10px; right:10px; height:1.5px; background:var(--paper); transition:transform .3s ease, top .3s ease, background .3s ease;}
.nav-toggle span:nth-child(1){top:17px;}
.nav-toggle span:nth-child(2){top:26px;}
header.solid .nav-toggle span, header.static .nav-toggle span, body.nav-open .nav-toggle span{background:var(--charcoal);}
body.nav-open .nav-toggle span:nth-child(1){top:21.5px; transform:rotate(45deg);}
body.nav-open .nav-toggle span:nth-child(2){top:21.5px; transform:rotate(-45deg);}
@media (max-width: 880px){
header, header.static{padding:1.2rem 1.4rem;}
nav{display:none;}
.nav-toggle{display:block;}
.brand-block{position:relative; z-index:2;}
body.nav-open{overflow:hidden;}
body.nav-open header, body.nav-open header.solid, body.nav-open header.static{background:var(--cream); backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom-color:transparent;}
body.nav-open .brand-logo .logo-light{display:none;}
body.nav-open .brand-logo .logo-dark{display:block;}
body.nav-open #siteNav{display:flex; position:fixed; top:0; left:0; right:0; bottom:0; z-index:1; flex-direction:column; justify-content:center; align-items:flex-start; gap:1.7rem; padding:6rem 1.8rem 3rem; background:var(--cream); overflow-y:auto;}
#siteNav a{color:var(--charcoal); opacity:1; font-family:"Fraunces",serif; font-size:1.7rem;}
#siteNav a.lang-switch{font-family:"IBM Plex Mono",monospace; font-size:0.85rem;}
#siteNav a.nav-cta{margin-top:1rem; font-family:"IBM Plex Mono",monospace; font-size:0.8rem; padding:0.9rem 1.6rem;}
#siteNav a.nav-cta:hover{background:var(--charcoal); color:var(--paper); border-color:var(--charcoal);}
section{padding:4.5rem 1.4rem;}
.footer-cols{gap:2.4rem;}
.page-banner-inner, .back-link{padding-left:1.4rem; padding-right:1.4rem; margin-left:1.4rem; margin-right:1.4rem;}
.hero-split{flex-direction:column;}
.hero-half{width:100%; height:50%;}
.hero-seam{display:none;}
.hero{min-height:760px;}
.hero-center{top:5.6rem; transform:translateX(-50%); padding:1.2rem 1.4rem;}
.hero-center h1{font-size:clamp(1.5rem, 6.6vw, 2.1rem);}
.hero-center p{margin-top:1rem; font-size:0.95rem;}
.hero-half-autor .hero-half-label, .hero-half-coleccion .hero-half-label{left:1.4rem; right:auto; bottom:1.4rem;}
.oficio{grid-template-columns:1fr; padding:4.5rem 1.4rem;}
.paths{grid-template-columns:1fr; padding:4.5rem 1.4rem;}
.grid{grid-template-columns:1fr; gap:3rem;}
.tenido{grid-template-columns:1fr; gap:1.6rem;}
.eclectico-grid{grid-template-columns:repeat(3,1fr); gap:0.6rem;}
.autor-spread{grid-template-columns:1fr;}
.autor-origen-detail{grid-template-columns:1fr; gap:1.6rem;}
.serv-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
*{transition:none !important; scroll-behavior:auto !important;}
.reveal{opacity:1; transform:none;}
}
.cookie-banner{position:fixed; left:1.2rem; bottom:1.2rem; z-index:150; max-width:520px; display:flex; flex-direction:column; gap:1rem; padding:1.2rem 1.4rem; background:var(--charcoal); color:var(--paper); border:1px solid var(--line-light); box-shadow:0 8px 30px rgba(20,16,12,0.35);}
.cookie-banner p{font-size:0.84rem; line-height:1.5; font-weight:300; color:rgba(247,243,234,0.85);}
.cookie-actions{display:flex; gap:0.7rem; flex-wrap:wrap;}
.cookie-btn{font-family:"IBM Plex Mono",monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; padding:0.7rem 1.3rem; cursor:pointer; -webkit-appearance:none; appearance:none; border:1px solid rgba(247,243,234,0.6); background:none; color:var(--paper); transition:background .25s ease, color .25s ease;}
.cookie-btn:hover{background:var(--paper); color:var(--charcoal);}
.cookie-btn-ok{background:var(--paper); color:var(--charcoal); border-color:var(--paper);}
.cookie-btn-ok:hover{background:transparent; color:var(--paper);}
@media (max-width: 880px){
.cookie-banner{left:0.8rem; right:0.8rem; bottom:0.8rem; max-width:none;}
}
