/* Safo Sepulcro — hoja compartida (home ES/EN + páginas de apoyo) */
:root{--bg:#020504;--ink:#efe8da;--muted:#a8a296;--ember:#f06b27;--red:#9d1712;--fog:#87aaa4;--line:rgba(239,232,218,.14)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;overflow-x:hidden;line-height:1.6}
a{text-decoration:none;color:inherit}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto;position:relative;z-index:3}
/* TOP */
.top{position:absolute;top:0;left:0;right:0;z-index:9;padding:24px 0}
.top .wrap{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.18em}
.brand{font-family:Cinzel,serif;color:var(--ink);font-size:15px;letter-spacing:.13em}
.top nav{display:flex;align-items:center}
.top a{margin-left:22px;color:var(--muted)}
.top a:hover{color:var(--ember)}
.top a.lang{border:1px solid var(--line);border-radius:100px;padding:6px 12px;color:var(--ink)}
.top a.lang:hover{border-color:rgba(240,107,39,.5)}
/* HERO */
.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;background:#020504}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(2,5,4,.10),rgba(2,5,4,.42) 52%,#020504 100%)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.96;filter:saturate(.96) contrast(1.04) brightness(.88)}
.hero:after{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 50% 48%,transparent 0 22%,rgba(2,5,4,.30) 54%,rgba(2,5,4,.72) 100%)}
#embers{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ember);margin-bottom:20px}
.hero h1{font-family:Cinzel,serif;font-size:clamp(46px,8vw,116px);line-height:.88;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 25px 75px rgba(0,0,0,.7)}
.hero h1 em{display:block;font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(239,232,218,.8)}
.lead{max-width:640px;margin:26px auto 0;color:#d8d0c2;font-size:clamp(15px,1.4vw,18px);line-height:1.7}
.cta{margin-top:34px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:14px 20px;border:1px solid rgba(239,232,218,.24);background:rgba(2,5,4,.55);backdrop-filter:blur(6px);transition:.22s;cursor:pointer;color:var(--ink);font-family:Inter,system-ui,sans-serif}
.btn:hover{border-color:rgba(240,107,39,.5)}
.btn.primary{border-color:rgba(240,107,39,.55);background:rgba(240,107,39,.14);box-shadow:0 0 55px rgba(240,107,39,.12)}
.scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:4;color:rgba(239,232,218,.5);font-size:10px;text-transform:uppercase;letter-spacing:.25em}
.scroll:after{content:"";display:block;width:1px;height:48px;background:linear-gradient(var(--ember),transparent);margin:14px auto 0}
/* HERO MIN (páginas de apoyo) */
.hero-min{position:relative;padding:170px 0 80px;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(240,107,39,.12),transparent 44%),#020504;border-bottom:1px solid rgba(239,232,218,.07)}
.hero-min h1{font-family:Cinzel,serif;font-size:clamp(38px,6vw,80px);line-height:.92;text-transform:uppercase}
.hero-min p{color:#c7beb0;max-width:640px;margin:20px auto 0;font-size:17px;line-height:1.75}
/* CHAPTERS */
.chapter{display:grid;place-items:center;position:relative;border-top:1px solid rgba(239,232,218,.07);overflow:hidden;padding:110px 0}
.chapter.bg1{background:radial-gradient(circle at 20% 40%,rgba(240,107,39,.16),transparent 34%),#020504}
.chapter.bg2{background:radial-gradient(circle at 78% 18%,rgba(135,170,164,.14),transparent 32%),#020504}
.chapter .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.photo-panel{min-height:560px;border:1px solid var(--line);border-radius:36px;position:relative;overflow:hidden;background:#0a0d0c}
.photo-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.04) saturate(.9);opacity:.96}
.photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,5,4,.7),transparent 50%),radial-gradient(circle at 50% 120%,rgba(240,107,39,.18),transparent 55%)}
.photo-panel span{position:absolute;left:24px;bottom:24px;z-index:2;font-family:Cinzel,serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(239,232,218,.8)}
.photo-panel.portrait{min-height:600px}
.kicker{color:var(--ember);letter-spacing:.22em;text-transform:uppercase;font-size:12px}
.chapter h2,.lead-block h2{font-family:Cinzel,serif;font-size:clamp(38px,5.6vw,82px);line-height:.92;text-transform:uppercase;margin:18px 0 22px}
.chapter p{color:#c7beb0;font-size:18px;line-height:1.8;max-width:650px}
.chapter p+p{margin-top:16px}
.tag-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.tag{border:1px solid var(--line);border-radius:100px;padding:9px 17px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
/* SECCIONES genéricas */
.sec{padding:110px 0;border-top:1px solid rgba(239,232,218,.07);background:#020504;text-align:center}
.sec.tint1{background:radial-gradient(circle at 50% 0%,rgba(157,23,18,.12),transparent 40%),#020504}
.sec.tint2{background:radial-gradient(circle at 80% 20%,rgba(135,170,164,.12),transparent 42%),#020504}
.sec.tint3{background:radial-gradient(circle at 20% 12%,rgba(240,107,39,.10),transparent 44%),#020504}
.lead-block{max-width:760px;margin:0 auto}
.lead-block p{color:#c7beb0;font-size:18px;line-height:1.8;margin-top:18px}
/* PORTFOLIO */
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;text-align:left}
.shot{position:relative;min-height:440px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#0a0d0c}
.shot img{width:100%;height:100%;object-fit:cover;filter:contrast(1.04) saturate(.88);opacity:.94}
.shot:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,5,4,.82),transparent 58%)}
.shot em{position:absolute;left:22px;bottom:50px;z-index:2;color:var(--ember);font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.16em}
.shot b{position:absolute;left:22px;bottom:22px;z-index:2;font-family:Cinzel,serif;font-size:19px;text-transform:uppercase}
.shot .healed{position:absolute;top:18px;right:18px;z-index:2;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:rgba(2,5,4,.65);border:1px solid rgba(240,107,39,.45);border-radius:100px;padding:6px 12px}
/* PROCESO */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px;text-align:left}
.step{border:1px solid var(--line);border-radius:22px;padding:30px;min-height:210px;background:rgba(255,255,255,.02)}
.step small{font-family:Cinzel,serif;font-size:24px;color:var(--ember)}
.step h3{font-family:Cinzel,serif;text-transform:uppercase;margin:16px 0 12px;font-size:22px}
.step p{color:var(--muted);font-size:14px;line-height:1.6}
.process-note{max-width:680px;margin:36px auto 0;border:1px solid rgba(240,107,39,.3);border-radius:18px;padding:22px 26px;background:rgba(240,107,39,.05);color:#d8d0c2;font-size:15px;line-height:1.75}
/* FAQ */
.faq-list{max-width:760px;margin:44px auto 0;text-align:left}
.faq-list details{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);margin-bottom:12px;overflow:hidden}
.faq-list summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:Cinzel,serif;font-size:16px;letter-spacing:.04em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";color:var(--ember);font-size:20px;flex-shrink:0;font-family:Inter}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{padding:0 24px 22px;color:var(--muted);font-size:15px;line-height:1.75}
.faq-list details p+p{margin-top:10px}
/* FORM RESERVA */
.final{display:grid;place-items:center;text-align:center;background:linear-gradient(to bottom,#020504,rgba(157,23,18,.14),#020504);border-top:1px solid var(--line);padding:110px 0}
.final h2{font-family:Cinzel,serif;font-size:clamp(44px,7vw,104px);line-height:.88;text-transform:uppercase}
.final>.wrap>p,.final .sub{color:var(--muted);max-width:620px;margin:24px auto 0;line-height:1.7}
.book-form{max-width:660px;margin:44px auto 0;text-align:left;display:grid;gap:14px}
.bf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.book-form label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.book-form input,.book-form select,.book-form textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;color:var(--ink);font:inherit;font-size:15px;padding:13px 15px}
.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:0;border-color:rgba(240,107,39,.55)}
.book-form textarea{min-height:110px;resize:vertical}
.book-form .btn{width:100%;text-align:center;padding:16px}
.form-ok{display:none;margin-top:20px;border:1px solid rgba(95,191,143,.45);border-radius:14px;padding:18px 22px;color:#9fd8bb;font-size:15px}
.form-note{color:var(--muted);font-size:12.5px;margin-top:4px}
/* INSTAGRAM */
.insta-head{display:flex;flex-direction:column;align-items:center;gap:14px}
.insta-user{display:flex;align-items:center;gap:12px;font-family:Cinzel,serif;font-size:20px;letter-spacing:.04em}
.insta-user svg{width:26px;height:26px;fill:none;stroke:var(--ember);stroke-width:1.6}
.insta-handle{color:var(--muted);font-size:14px;letter-spacing:.05em}
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:44px}
.ig-tile{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#0a0d0c}
.ig-tile img{width:100%;height:100%;object-fit:cover;filter:contrast(1.04) saturate(.9);transition:.3s}
.ig-tile:after{content:"";position:absolute;inset:0;background:rgba(2,5,4,.18);transition:.3s}
.ig-tile:hover img{transform:scale(1.06)}
.ig-tile:hover:after{background:rgba(240,107,39,.12)}
/* TIENDA */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.shop-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#0a0d0c;text-align:left}
.shop-thumb{aspect-ratio:1;position:relative}
.shop-card .meta{padding:15px 18px 18px}
.shop-card .meta b{font-family:Cinzel,serif;font-size:16px;text-transform:uppercase;letter-spacing:.04em}
.shop-card .meta p{color:var(--muted);font-size:12.5px;margin-top:5px}
.badge{display:inline-block;margin-top:16px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);border:1px solid rgba(240,107,39,.4);border-radius:100px;padding:7px 15px}
.shop-note{margin-top:16px;color:var(--muted);font-size:14px}
/* CONTENIDO LARGO (cuidados) */
.article{max-width:720px;margin:0 auto;text-align:left;padding:70px 0 110px}
.article h2{font-family:Cinzel,serif;font-size:clamp(24px,3vw,34px);text-transform:uppercase;margin:46px 0 16px;line-height:1.1}
.article p,.article li{color:#c7beb0;font-size:16.5px;line-height:1.85}
.article ul{padding-left:22px;margin-top:10px}
.article li{margin-bottom:8px}
.article .warn{border:1px solid rgba(157,23,18,.5);border-radius:16px;padding:18px 22px;background:rgba(157,23,18,.08);margin-top:26px;font-size:15px;color:#d8d0c2}
/* PLACEHOLDERS */
.ph{position:relative;background:radial-gradient(circle at 50% 35%,rgba(240,107,39,.10),transparent 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.018) 0 14px,rgba(255,255,255,.04) 14px 28px),#0a0d0c}
.ph:before{content:attr(data-ph);position:absolute;inset:0;display:grid;place-items:center;color:rgba(239,232,218,.32);font-size:10px;letter-spacing:.22em;text-transform:uppercase;text-align:center;padding:22px;line-height:1.8}
/* FOOTER */
.footer{border-top:1px solid var(--line);padding:28px 0;color:rgba(239,232,218,.5);font-size:13px;text-align:center}
.footer strong{font-family:Cinzel,serif;letter-spacing:.1em}
.footer .flinks{margin-top:10px;font-size:12px}
.footer .flinks a{color:var(--muted);margin:0 9px}
.footer .flinks a:hover{color:var(--ember)}
@media(max-width:920px){
  .top nav a:not(.lang){display:none}
  .chapter .wrap{grid-template-columns:1fr;gap:34px}
  .photo-panel{min-height:360px}.photo-panel.portrait{min-height:420px}
  .shots,.steps{grid-template-columns:1fr}
  .shop-grid{grid-template-columns:1fr 1fr}
  .insta-grid{grid-template-columns:repeat(3,1fr)}
  .hero h1{font-size:clamp(40px,13vw,78px)}
  .bf-row{grid-template-columns:1fr}
}
