@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-italic.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/work-sans.woff2) format('woff2')}
:root{
  --c-cream:#F1E6D6;--c-sand:#DCC9AF;--c-tan:#BFA88B;--c-olive:#8A7F5B;
  --c-dark:#3E3B2D;--c-dark-hover:#2f2d22;--c-card:#FBF9F5;--c-brown:#6b4a3a;--c-text2:#5b564e;
  --font-display:'Instrument Serif','Iowan Old Style',serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --gutter:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:'Work Sans',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--c-cream);color:var(--c-dark)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,p{margin:0}
.sr-only,.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
:focus-visible,input:focus{outline:2px solid var(--c-brown);outline-offset:2px}

/* Botones */
.btn{display:inline-block;padding:14px 32px;border-radius:999px;font-size:14px;letter-spacing:.03em;font-family:inherit;cursor:pointer;transition:background 200ms var(--ease),transform 120ms var(--ease)}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--c-dark);color:var(--c-cream);border:1px solid var(--c-dark)}
.btn-primary:hover{background:var(--c-dark-hover)}
.btn-outline{background:transparent;color:var(--c-dark);border:1px solid var(--c-dark)}
.btn-outline:hover{background:rgba(62,59,45,.07)}
.btn-small{padding:10px 22px;font-size:13px}
.btn:disabled{opacity:.6;cursor:progress}

/* Cabecera */
.site-header{position:sticky;top:0;z-index:20;background:var(--c-cream);border-bottom:1px solid var(--c-sand);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);height:80px;gap:24px}
.logo img{height:20px;width:auto}
.nav{display:flex;gap:40px}
.nav a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:6px 0;transition:color 200ms var(--ease)}
.nav a:hover{color:var(--c-brown)}

/* Tipografía común */
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-brown);margin-bottom:20px}
h1{font-family:var(--font-display);font-size:68px;line-height:1.02;font-weight:400;margin-bottom:28px}
h1 em{font-style:italic;color:var(--c-brown)}
h2{font-family:var(--font-display);font-size:40px;line-height:1.1;font-weight:400}
.lead{font-size:18px;line-height:1.6;color:var(--c-text2);max-width:460px;margin-bottom:36px}
.body{font-size:16px;line-height:1.6;color:var(--c-text2);margin:20px 0 32px}

/* Layout */
.hero,.split,.section{max-width:1240px;margin:0 auto}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:72px var(--gutter) 96px}
.actions{display:flex;gap:16px;flex-wrap:wrap}
.section{padding:0 var(--gutter) 96px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:32px}
.section-head h2{max-width:560px}
.section-head>p{font-size:15px;line-height:1.6;color:var(--c-text2);max-width:360px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.grid-gap-lg{gap:24px}
.frame{border-radius:8px;overflow:hidden;background:var(--c-sand)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 320ms var(--ease)}
.frame-hero{aspect-ratio:4/5}
.frame-hero img{object-position:center 40%}
.frame-tall{aspect-ratio:2/3}
.frame-portrait{aspect-ratio:4/5}
.frame-portrait img{object-position:top}
.frame-square{aspect-ratio:1/1}
.product{display:flex;flex-direction:column;gap:12px}
.product:hover img{transform:scale(1.02)}
.product h3{font-size:16px;font-weight:500}
.swatches{display:flex;gap:6px}
.swatches span{width:14px;height:14px;border-radius:999px;border:1px solid rgba(62,59,45,.2)}

.band{padding:96px var(--gutter)}
.band-sand{background:var(--c-sand)}
.band-dark{background:var(--c-dark);color:var(--c-cream)}
.inner{max-width:1240px;margin:0 auto}
.statement{padding:112px var(--gutter);text-align:center}
.statement-title{font-family:var(--font-display);font-size:60px;line-height:1.1;margin-bottom:20px}
.statement-title em{color:var(--c-sand)}
.statement-sub{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-tan)}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:112px var(--gutter)}
.split h2{font-size:44px}

/* Registro de email */
.signup-inner{max-width:680px;text-align:center}
.signup-inner .body{max-width:560px;margin-left:auto;margin-right:auto}
.signup-form{text-align:left;display:flex;flex-direction:column;gap:18px}
.field-row{display:flex;gap:12px;align-items:flex-end}
.field-row input{flex:1;min-width:0;background:transparent;border:none;border-bottom:1px solid var(--c-dark);color:var(--c-dark);font-size:16px;font-family:inherit;padding:12px 0}
.field-row input::placeholder{color:var(--c-olive)}
.options{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--c-dark);cursor:pointer}
.check input{margin:2px 0 0;accent-color:var(--c-dark)}
.consent{font-size:13px;color:var(--c-text2)}
.consent a{text-decoration:underline}
.form-status{min-height:22px;font-size:14px}
.form-status.ok{color:#3d5a2a}
.form-status.error{color:#8a2f1f}

/* Pie */
.site-footer{background:var(--c-dark);color:var(--c-sand);padding:80px var(--gutter) 32px}
.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px}
.footer-grid p{font-size:14px;line-height:1.6;max-width:260px}
.footer-logo{height:26px;width:auto;margin-bottom:20px}
.footer-title{font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--c-tan);margin-bottom:16px!important}
.footer-grid a{display:block;font-size:14px;color:var(--c-cream);margin-bottom:12px;transition:color 200ms var(--ease)}
.footer-grid a:hover,.footer-bottom a:hover{color:#fff}
.footer-bottom{max-width:1240px;margin:64px auto 0;padding-top:24px;border-top:1px solid #5a5643;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--c-tan)}
.footer-bottom div{display:flex;gap:24px}

/* Páginas legales */
.legal{max-width:720px;margin:0 auto;padding:72px 24px 96px}
.legal h1{font-size:48px}
.legal h2{font-size:26px;margin:36px 0 12px}
.legal p,.legal li{font-size:16px;line-height:1.65;color:var(--c-text2);margin-bottom:12px}
.legal a{text-decoration:underline}

/* Adaptable */
@media (max-width:960px){
  :root{--gutter:24px}
  .nav{display:none}
  h1{font-size:46px}
  h2,.split h2{font-size:32px}
  .hero,.split{grid-template-columns:1fr;gap:40px}
  .hero{padding-top:40px;padding-bottom:64px}
  .split{padding-top:72px;padding-bottom:72px}
  .section-head{flex-direction:column;align-items:flex-start}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .band{padding-top:64px;padding-bottom:64px}
  .statement-title{font-size:40px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media (max-width:520px){
  .field-row{flex-direction:column;align-items:stretch}
  .site-header .btn-small{padding:9px 16px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* Páginas de aviso (gracias, enlace caducado, 404) */
.notice{text-align:center}
.notice .btn{margin-top:16px;display:inline-block}
.legal h1+p{margin-top:20px}
.cf-turnstile{min-height:0}
