
/* Concepto: sitio corporativo de varias secciones, claro como un mantel de lino.
   Estructura de un sitio de producción de eventos (menú con submenús, páginas por tipo de cliente,
   eventos por categoría, compromiso, contacto) con la identidad de Fer Cam: marfil, cacao y olivo. */
:root{
  --lino:#F4F2EA;       /* fondo general */
  --marfil:#EBE9DE;     /* bandas */
  --cacao:#1A0806;      /* texto principal */
  --chocolate:#2B1B13;  /* pie y bandas oscuras */
  --marron:#572E19;     /* acento y botones */
  --olivo:#6B6248;      /* acento secundario, filetes */
  --tinta-2:#5B4A3F;    /* texto secundario sobre claro */
  --marfil-2:#C9C3B2;   /* texto secundario sobre oscuro */
  --linea:rgba(26,8,6,.14);
  --linea-osc:rgba(235,233,222,.16);
  --f-display:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --f-body:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --pad-x:clamp(16px,5vw,64px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--olivo) var(--lino);accent-color:var(--marron)}
body{background:var(--lino);color:var(--cacao);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--chocolate)}
::selection{background:var(--marron);color:var(--marfil)}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--marron);outline-offset:3px;border-radius:2px}
.wrap{max-width:1200px;margin-inline:auto;padding-left:max(var(--pad-x),env(safe-area-inset-left,0px));padding-right:max(var(--pad-x),env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(44px,6.6vw,88px);font-weight:300}
h2{font-size:clamp(34px,4.6vw,60px)}
h3{font-size:clamp(26px,2.4vw,32px)}
p{margin:0}
.rule{display:block;width:64px;height:2px;background:var(--olivo);margin-top:18px}
.center{text-align:center}.center .rule{margin-inline:auto}
.lead{font-size:18px;color:var(--tinta-2);max-width:60ch}
section{padding-block:clamp(72px,9vw,120px)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:4px;font:600 14px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease,transform 160ms var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn-dark{background:var(--marron);color:var(--marfil)}
.btn-light{background:var(--marfil);color:var(--cacao)}
.btn-ghost{border-color:var(--cacao);color:var(--cacao);background:transparent}
@media (hover:hover) and (pointer:fine){.btn-dark:hover{background:#6a3a21}.btn-light:hover{background:#fff}.btn-ghost:hover{background:var(--cacao);color:var(--marfil)}}

/* Barra superior y menú */
.topbar{background:var(--chocolate);color:var(--marfil-2);font-size:13px}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 20px;min-height:40px}
.topbar a{color:var(--marfil);text-decoration:none}
.topbar .soc{display:flex;gap:16px}
header.main{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(244,242,234,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo img{height:46px;width:auto}
.menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu a,.menu button.dd{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;font:500 14px var(--f-body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--cacao);background:none;border:0;cursor:pointer}
.menu a[aria-current="page"],.menu button.dd.on{color:var(--marron)}
.menu svg{width:12px;height:12px;transition:transform 200ms var(--ease-out)}
.sub{position:absolute;top:100%;left:0;min-width:240px;list-style:none;margin:0;padding:8px;background:var(--lino);border:1px solid var(--linea);border-radius:6px;box-shadow:0 18px 40px rgba(26,8,6,.12);transform-origin:top left;transition:opacity 160ms ease,transform 180ms var(--ease-out)}
.sub[hidden]{display:block!important;opacity:0;transform:scale(.97) translateY(-4px);pointer-events:none;visibility:hidden}
.sub a{display:flex;width:100%;min-height:44px;padding:0 12px;border-radius:4px;font-size:13px}
@media (hover:hover) and (pointer:fine){.sub a:hover,.menu a:hover,.menu button.dd:hover{color:var(--marron)}.sub a:hover{background:var(--marfil)}}
.menu .btn{margin-left:10px;color:var(--marfil);background:var(--marron);padding:0 20px}
@media (hover:hover) and (pointer:fine){.menu .btn:hover{background:#6a3a21;color:var(--marfil)}}
.burger{display:none;min-height:44px;padding:0 16px;border:1px solid var(--linea);border-radius:4px;background:none;font:600 13px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--cacao);cursor:pointer}
@media (max-width:980px){
  .burger{display:inline-flex;align-items:center}
  nav.navwrap{position:fixed;inset:calc(116px + env(safe-area-inset-top,0px)) 0 0 0;background:var(--lino);overflow-y:auto;padding:12px max(var(--pad-x),env(safe-area-inset-right,0px)) 32px max(var(--pad-x),env(safe-area-inset-left,0px))}
  nav.navwrap[data-open="false"]{display:none}
  .menu{flex-direction:column;align-items:stretch;gap:0}
  .menu>li{border-bottom:1px solid var(--linea)}
  .menu a,.menu button.dd{width:100%;justify-content:space-between;min-height:56px;font-size:15px}
  .sub{position:static;box-shadow:none;border:0;padding:0 0 10px 12px;background:none}
  .sub[hidden]{display:none!important}
  .menu .btn{margin:16px 0 0;justify-content:center}
  .menu>li:last-child{border-bottom:0}
}

/* Vistas */
.view[hidden],.panel[hidden],.done[hidden],.cookies[hidden]{display:none!important}

/* Hero */
.hero{position:relative;min-height:min(78svh,760px);display:flex;align-items:flex-end;overflow:hidden;color:var(--marfil);padding-block:120px 64px}
.hero.short{min-height:min(54svh,520px)}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,8,6,.25),rgba(26,8,6,.78))}
.hero .wrap{position:relative;z-index:1;width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.hero h1{max-width:14ch}
.hero p.lede{margin-top:16px;max-width:46ch;font-size:18px;line-height:1.5;color:var(--marfil);text-shadow:0 1px 12px rgba(26,8,6,.45)}
.hero .btn{flex:0 0 auto}

/* Tarjetas de servicio con foto (tres columnas) */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,20px);margin-top:48px}
.tile{position:relative;display:block;aspect-ratio:3/4;border-radius:6px;overflow:hidden;color:var(--marfil);text-decoration:none}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,8,6,.05) 30%,rgba(26,8,6,.82))}
.tile .t{position:absolute;left:22px;right:22px;bottom:22px;z-index:1}
.tile .t span{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--marfil-2)}
.tile .t strong{display:block;margin-top:6px;font-family:var(--f-display);font-weight:400;font-size:clamp(28px,2.6vw,36px);line-height:1.05}
@media (hover:hover) and (pointer:fine){.tile:hover img{transform:scale(1.05)}}
@media (max-width:820px){.trio{grid-template-columns:minmax(0,1fr)}.tile{aspect-ratio:16/10}}

/* Pestañas de eventos */
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;margin-top:36px;border-bottom:1px solid var(--linea)}
.tab{min-height:48px;padding:0 16px;border:0;background:none;font:600 13px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab[aria-selected="true"]{color:var(--cacao);border-bottom-color:var(--marron)}
.panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,20px);margin-top:28px}
.panel figure{margin:0;min-width:0}
.panel .ph{aspect-ratio:4/5;border-radius:6px;overflow:hidden}
.panel img{width:100%;height:100%;object-fit:cover}
.panel figcaption{margin-top:10px;font-size:14px;color:var(--tinta-2)}
@media (max-width:820px){.panel{grid-template-columns:repeat(2,minmax(0,1fr))}.panel figure:nth-child(3){display:none}}

/* Banda de valores sobre foto */
.why{position:relative;color:var(--marfil);overflow:hidden}
.why .bg{position:absolute;inset:0}.why .bg img{width:100%;height:115%;object-fit:cover}
.why::after{content:"";position:absolute;inset:0;background:rgba(26,8,6,.78)}
.why .wrap{position:relative;z-index:1}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);margin-top:48px}
.vals div{border-top:1px solid var(--linea-osc);padding-top:22px}
.vals p{margin-top:10px;color:var(--marfil-2);font-size:16px}
@media (max-width:820px){.vals{grid-template-columns:minmax(0,1fr)}}

/* Reseñas (pendiente) */
.reviews{background:var(--marfil)}
.pending{margin-top:36px;border:1px dashed rgba(26,8,6,.3);border-radius:8px;padding:28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.pending p{max-width:56ch;color:var(--tinta-2)}
.badge{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--marron);background:rgba(87,46,25,.1);padding:6px 10px;border-radius:4px}

/* Banda de llamada */
.band{background:var(--chocolate);color:var(--marfil)}
.band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.band p{color:var(--marfil-2);margin-top:10px;max-width:50ch}

/* Bloques de texto e imagen */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.split .ph{aspect-ratio:4/5;border-radius:6px;overflow:hidden}
.split .ph img{width:100%;height:100%;object-fit:cover}
.split.rev .ph{order:2}
.prose p+p{margin-top:16px}
.prose{color:var(--tinta-2);font-size:17px}
.prose strong{color:var(--cacao)}
@media (max-width:820px){.split{grid-template-columns:minmax(0,1fr)}.split.rev .ph{order:0}.split .ph{aspect-ratio:4/3}}

/* Tarjetas de servicio con botón */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:44px}
.card{border:1px solid var(--linea);border-radius:6px;padding:28px;display:flex;flex-direction:column;gap:14px;background:var(--lino)}
.card p{color:var(--tinta-2);font-size:16px;flex:1}
.card .btn{align-self:flex-start}

/* Datos */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:44px;text-align:center}
.stats strong{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(48px,6vw,80px);line-height:1;font-variant-numeric:lining-nums}
.stats span{display:block;margin-top:10px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px)}
dl.data{margin:28px 0 0;border-top:1px solid var(--linea)}
dl.data div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--linea)}
dl.data dt{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2)}
dl.data dd{margin:0;overflow-wrap:anywhere}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:#fff;border:1px solid var(--linea);border-radius:8px;padding:clamp(20px,3vw,32px);min-width:0}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.full,.consent,.form-foot,.err.full,.done{grid-column:1/-1}
label{font-size:14px;font-weight:500}
label .opt{font-weight:400;color:var(--tinta-2)}
input,select,textarea{font:inherit;font-size:16px;color:var(--cacao);background:var(--lino);border:1px solid rgba(26,8,6,.22);border-radius:4px;min-height:50px;padding:12px 14px;width:100%;caret-color:var(--marron)}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--marron);outline-offset:1px}
.field[data-error] input,.field[data-error] select{border-color:#9b2c1c}
.err{font-size:13px;color:#8a2516}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.consent input{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin-top:2px}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form-foot small{color:var(--tinta-2);font-size:13px}
.done{border:1px solid var(--linea);border-radius:6px;padding:20px;background:var(--marfil)}
.done h3{font-size:28px}.done p{margin-top:8px;color:var(--tinta-2)}
.done pre{margin:14px 0 0;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--tinta-2)}
.done .btn{margin-top:16px}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){form{grid-template-columns:minmax(0,1fr)}}

.trio.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.trio.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.trio.four{grid-template-columns:minmax(0,1fr)}}

/* Chefs internacionales */
.chef-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,2vw,20px);margin-top:44px}
.chef-grid figure{margin:0;min-width:0;grid-column:span 2}
.chef-grid figure:nth-child(-n+2){grid-column:span 3}
.chef-grid .ph{border-radius:6px;overflow:hidden;aspect-ratio:4/3}
.chef-grid img{width:100%;height:100%;object-fit:cover}
.chef-grid figcaption{margin-top:10px;font-size:14px;color:var(--tinta-2)}
@media (max-width:700px){.chef-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chef-grid figure,.chef-grid figure:nth-child(-n+2){grid-column:span 1}.chef-grid figure:first-child{grid-column:span 2}}

/* Catálogo de servicios */
.catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:56px;border-top:1px solid var(--linea);padding-top:36px}
.catalog h3{font-size:24px}
.catalog ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;color:var(--tinta-2);font-size:16px}
@media (max-width:900px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.catalog{grid-template-columns:minmax(0,1fr)}}

/* Videos */
.motion{background:var(--chocolate);color:var(--marfil)}
.motion .lead{color:var(--marfil-2)}
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);margin-top:44px}
.reel{margin:0;min-width:0}
.vbox{position:relative;aspect-ratio:9/16;border-radius:10px;overflow:hidden;background:var(--cacao)}
.vbox video{width:100%;height:100%;object-fit:cover;display:block}
.reel figcaption{margin-top:12px;font-size:14px;color:var(--marfil-2)}
.vbtn{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(235,233,222,.4);background:rgba(26,8,6,.55);color:var(--marfil);display:grid;place-items:center;cursor:pointer;transition:transform 160ms var(--ease-out)}
.vbtn:active{transform:scale(.94)}
.vbtn svg{width:18px;height:18px}
.vbtn .i-play{display:none}.vbtn[data-paused] .i-play{display:block}.vbtn[data-paused] .i-pause{display:none}
@media (max-width:820px){.reels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * max(var(--pad-x),env(safe-area-inset-left,0px)));padding-inline:max(var(--pad-x),env(safe-area-inset-left,0px));scrollbar-width:none}.reels::-webkit-scrollbar{display:none}.reel{flex:0 0 68%;scroll-snap-align:center}}
.split .vbox{aspect-ratio:9/16;width:min(100%,calc(78svh * 9 / 16));margin-inline:auto}
.split .vbox+figcaption{color:var(--tinta-2)}

/* Documentos legales */
.doc{max-width:74ch;margin-inline:auto}
.doc .meta{margin-top:14px;font-size:14px;color:var(--tinta-2)}
.doc h2{font-size:clamp(26px,3vw,34px);margin-top:44px}
.doc h3{font-size:22px;margin-top:26px}
.doc p,.doc li{color:var(--tinta-2);font-size:16px}
.doc p{margin-top:12px}
.doc ul,.doc ol{margin:12px 0 0;padding-left:22px;display:grid;gap:6px}
.doc strong{color:var(--cacao)}
.doc .tbl{margin-top:16px;overflow-x:auto;border:1px solid var(--linea);border-radius:6px}
.doc table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}
.doc th,.doc td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
.doc th{background:var(--marfil);font-weight:600;color:var(--cacao)}
.doc tr:last-child td{border-bottom:0}
.doc .toc{margin-top:28px;padding:18px 20px;background:var(--marfil);border-radius:6px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px}
.legal a{color:var(--marfil)}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Pie */
footer{background:var(--chocolate);color:var(--marfil);padding-block:64px 32px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1fr);gap:40px}
.fgrid img{height:72px;width:auto}
.fgrid h4{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--marfil-2)}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;font-size:15px}
.fgrid a{color:var(--marfil);text-decoration:none}
@media (hover:hover) and (pointer:fine){.fgrid a:hover{text-decoration:underline}}
.fgrid dl{margin:18px 0 0;font-size:15px}
.fgrid dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--marfil-2);margin-top:12px}
.fgrid dd{margin:2px 0 0;overflow-wrap:anywhere}
.fbtns{display:grid;gap:10px;align-content:start}
.fbtns .btn{border-color:var(--linea-osc);color:var(--marfil);background:transparent}
@media (hover:hover) and (pointer:fine){.fbtns .btn:hover{background:var(--marfil);color:var(--cacao)}}
.legal{margin-top:44px;padding-top:20px;border-top:1px solid var(--linea-osc);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:13px;color:var(--marfil-2)}
.legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
@media (max-width:860px){.fgrid{grid-template-columns:minmax(0,1fr)}}

.cookies{position:fixed;z-index:70;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:520px;margin-left:auto;background:#fff;border:1px solid var(--linea);border-radius:8px;padding:18px;box-shadow:0 18px 44px rgba(26,8,6,.18);font-size:14px;color:var(--tinta-2)}
.cookies strong{color:var(--cacao)}
.cookies .row{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.cookies .btn{min-height:42px}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* ===== Sitio de varias páginas ===== */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 14px;padding:0;font-size:13px;color:var(--marfil-2)}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{color:var(--marfil);text-decoration:none}
.crumbs [aria-current]{color:var(--marfil-2)}
.hero h1.seo{font-size:clamp(40px,5.6vw,76px)}

/* Preguntas frecuentes */
.faq{max-width:80ch;margin:40px auto 0;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;font-family:var(--f-display);font-size:clamp(20px,2vw,24px);line-height:1.2;color:var(--cacao)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-body);font-size:24px;color:var(--marron);transition:transform 200ms var(--ease-out);flex:0 0 auto}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;color:var(--tinta-2);max-width:68ch}
.faq details p a{color:var(--marron)}

/* Lista de qué incluye */
.includes{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.includes li{position:relative;padding-left:26px;color:var(--tinta-2)}
.includes li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:2px;background:var(--olivo)}
@media (max-width:560px){.includes{grid-template-columns:minmax(0,1fr)}}

/* Catálogo enlazado */
.catalog a{color:var(--cacao);text-decoration:none;border-bottom:1px solid var(--linea)}
@media (hover:hover) and (pointer:fine){.catalog a:hover{color:var(--marron);border-color:var(--marron)}}
.catalog .more{margin-top:14px;display:inline-block;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--marron)}

/* Tarjetas de servicio con enlace */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,20px);margin-top:44px}
.trio.six{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.trio.six,.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.trio.six,.svc-grid{grid-template-columns:minmax(0,1fr)}}
.svc-card{display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:6px;overflow:hidden;background:var(--lino);text-decoration:none;color:var(--cacao)}
.svc-card .ph{aspect-ratio:4/3;overflow:hidden}
.svc-card img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.svc-card .b{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.svc-card p{color:var(--tinta-2);font-size:16px;flex:1}
.svc-card .go{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--marron)}
@media (hover:hover) and (pointer:fine){.svc-card:hover img{transform:scale(1.05)}}

.menu a[aria-current="page"]{color:var(--marron)}
.sub a[aria-current="page"]{background:var(--marfil)}
.notfound{min-height:60svh;display:flex;align-items:center}

/* Proceso en cuatro pasos */
.steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--linea-osc);counter-reset:paso}
.steps li{padding:26px 24px 0 0;counter-increment:paso;min-width:0}
.steps li::before{content:"0" counter(paso);display:block;font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--marfil-2);margin-bottom:22px}
.steps p{margin-top:10px;color:var(--marfil-2);font-size:16px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps li{padding-bottom:28px}}
@media (max-width:520px){.steps{grid-template-columns:minmax(0,1fr)}}

/* ===== Página de enlaces (bio de Instagram) ===== */
.lk-page{background:var(--cacao);color:var(--marfil);min-height:100svh}
.lk-bg{position:fixed;inset:0;z-index:0}
.lk-bg img{width:100%;height:100%;object-fit:cover}
.lk-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,8,6,.55),rgba(26,8,6,.78))}
.lk-wrap{position:relative;z-index:1;max-width:520px;margin:0 auto;padding:calc(48px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));text-align:center}
.lk-wrap .sello{width:104px;height:104px;margin:0 auto}
.lk-wrap .sello img{width:100%;height:100%;object-fit:contain}
.lk-wrap h1{margin-top:18px;font-size:44px;font-weight:300}
.lk-wrap .tag{margin:12px auto 0;max-width:36ch;color:var(--marfil-2)}
.lk-cta{margin-top:24px;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--marfil);color:var(--cacao);font-weight:600;text-decoration:none;transition:transform 160ms var(--ease-out),background-color 200ms ease}
.lk-cta:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.lk-cta:hover{background:#fff}}
.glass{margin-top:24px;padding:22px;border-radius:20px;border:1px solid rgba(235,233,222,.28);background:rgba(43,27,19,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;gap:12px}
.glass a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:0 20px;border-radius:12px;border:1px solid rgba(235,233,222,.32);color:var(--marfil);text-decoration:none;font-weight:500;text-align:left;transition:background-color 200ms ease,transform 160ms var(--ease-out)}
.glass a:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.glass a:hover{background:rgba(235,233,222,.1)}}
.glass svg,.lk-icons svg{width:22px;height:22px;flex:0 0 22px}
.lk-icons{margin-top:28px;display:flex;justify-content:center;gap:16px}
.lk-icons a{width:56px;height:56px;border-radius:50%;border:1px solid rgba(235,233,222,.35);display:grid;place-items:center;color:var(--marfil);background:rgba(26,8,6,.25)}
.lk-legal{margin-top:28px;font-size:13px;color:var(--marfil-2)}
.lk-legal a{color:var(--marfil-2)}

/* ===== Landing: Solicitar información ===== */
.sol-head{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:88px}
.sol-head img{height:52px;width:auto}
.sol-head a.out{font-size:14px;font-weight:600;color:var(--cacao);text-decoration:none}
.sol-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);padding-block:clamp(32px,6vw,72px) 72px;align-items:start}
.sol-intro{position:sticky;top:calc(32px + env(safe-area-inset-top,0px))}
.sol-intro h1{font-size:clamp(44px,5.6vw,72px);font-weight:300}
.sol-intro .lead{margin-top:20px}
.sol-intro blockquote{margin:28px 0 0;padding-left:16px;border-left:2px solid var(--olivo);color:var(--tinta-2);font-size:16px}
.chips{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:13px;padding:6px 12px;border:1px solid var(--linea);border-radius:999px;color:var(--tinta-2)}
.sol-alt{margin-top:40px;font-size:15px;color:var(--tinta-2)}
.sol-alt a{display:block;margin-top:4px;color:var(--cacao);font-weight:600}
.sol-card{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:clamp(20px,3vw,36px);box-shadow:0 18px 50px rgba(26,8,6,.06)}
.sol-card h2{font-size:30px}
.sol-card .req{margin-top:6px;font-size:13px;color:var(--tinta-2)}
.sol-card form{border:0;padding:0;margin-top:8px;background:none}
.step{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:22px;border-top:1px solid var(--linea);font-weight:600}
.step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--marfil);font-size:12px}
.hint{font-size:12px;color:var(--tinta-2)}
.count{font-size:12px;color:var(--tinta-2);text-align:right}
.sol-foot{border-top:1px solid var(--linea);padding-block:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:13px;color:var(--tinta-2)}
.sol-foot a{color:var(--tinta-2)}
@media (max-width:860px){.sol-grid{grid-template-columns:minmax(0,1fr)}.sol-intro{position:static}}

footer .bolsa{margin:28px 0 0;font-size:13px;line-height:1.5;color:var(--marfil-2);opacity:.75;max-width:70ch}
