/* River MKT · rivermkt.com · sistema visual "Cauce editorial" v1 (2026-10-22) */
@font-face{font-family:"Manrope";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/manrope-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-weight:800;font-style:normal;font-display:swap;src:url("fonts/manrope-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/dm-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/dm-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/dm-sans-latin-700-normal.woff2") format("woff2")}

:root{
  /* Color (manual de marca) */
  --petroleo:#164B63; --petroleo-900:#0E3446; --tinta:#122C3B; --bruma:#9AC7D5; --bruma-200:#D5E7EC;
  --papel:#FFFEFA; --arena:#F4F1EB; --linea:#DCD5C9; --linea-osc:#2E5D73; --texto-2:#3B5260; --texto-osc:#E9F1F3;
  /* Tipo */
  --f-display:"Manrope",Arial,sans-serif; --f-body:"DM Sans",Arial,sans-serif;
  --t-hero:clamp(3.25rem,1.6rem + 7.4vw,8.75rem);
  --t-h2:clamp(2.25rem,1.4rem + 3.6vw,4.75rem);
  --t-h3:clamp(1.375rem,1.1rem + .9vw,1.875rem);
  --t-lead:clamp(1.125rem,1rem + .5vw,1.4375rem);
  --t-body:1.0625rem; --t-small:.9375rem; --t-micro:.8125rem;
  /* Espacio y retícula */
  --gutter:clamp(16px,3vw,40px); --max:1320px;
  --sec:clamp(80px,6rem + 6vw,184px);
  --r-img:18px; --r-btn:999px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--papel)}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 var(--t-body)/1.6 var(--f-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
h1,h2,h3{font-family:var(--f-display);font-weight:800;margin:0;color:inherit;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--petroleo);outline-offset:3px;border-radius:4px}
.dark :focus-visible,.site-footer :focus-visible{outline-color:var(--bruma)}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--petroleo);color:var(--papel);padding:12px 16px;border-radius:10px;font-weight:700}
.skip:focus{top:12px}

/* Etiquetas y titulares */
.eyebrow{display:flex;align-items:center;gap:12px;font:700 var(--t-micro)/1.3 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--petroleo)}
.dark .eyebrow{color:var(--bruma)}
.glyph{width:28px;height:18px;flex:none}
.h2{font-size:var(--t-h2);line-height:1.02;letter-spacing:-.035em}
.h3{font-size:var(--t-h3);line-height:1.15;letter-spacing:-.02em}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--texto-2);max-width:40ch}
.dark .lead{color:var(--texto-osc)}
.muted{color:var(--texto-2)}
.dark{background:var(--petroleo);color:var(--papel)}
.dark .muted{color:var(--texto-osc)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r-btn);font:700 1rem/1 var(--f-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.btn-primary{background:var(--petroleo);color:var(--papel)}
.btn-primary:hover{background:var(--petroleo-900)}
.dark .btn-primary{background:var(--bruma);color:var(--petroleo-900)}
.dark .btn-primary:hover{background:var(--papel)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;text-decoration:none;color:var(--petroleo)}
.link-arrow svg{transition:transform .2s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}
.dark .link-arrow{color:var(--papel)}
.btn svg,.link-arrow svg{width:18px;height:18px;flex:none}

/* Encabezado */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,254,250,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--linea)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.brand{display:flex;align-items:center;min-height:44px}
.brand img{height:30px;width:auto}
.nav{display:flex;align-items:center;gap:32px}
.nav-list{display:flex;gap:28px;list-style:none;font-weight:500;font-size:.96875rem}
.nav-list a{text-decoration:none;display:inline-flex;min-height:44px;align-items:center;position:relative}
.nav-list a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:var(--petroleo);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-list a:hover::after,.nav-list a[aria-current="true"]::after{transform:scaleX(1)}
.hdr-tools{display:flex;align-items:center;gap:8px}
.lang{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;border-radius:999px;font-weight:700;font-size:.875rem;text-decoration:none;color:var(--petroleo);border:1px solid var(--linea)}
.lang:hover{border-color:var(--petroleo)}
.hdr .btn{min-height:44px;padding:0 20px;font-size:.9375rem}
.menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--linea);background:var(--papel);color:var(--petroleo);cursor:pointer;align-items:center;justify-content:center}
.menu-btn svg{width:22px;height:22px}
@media (max-width:959px){
  .menu-btn{display:inline-flex}
  .hdr .btn-cta{display:none}
  .nav{position:fixed;inset:72px 0 auto 0;background:var(--papel);border-bottom:1px solid var(--linea);padding:8px var(--gutter) 24px;flex-direction:column;align-items:stretch;gap:16px;display:none;max-height:calc(100dvh - 72px);overflow:auto}
  .nav.open{display:flex}
  .nav-list{flex-direction:column;gap:0}
  .nav-list a{font:800 1.75rem/1.2 var(--f-display);letter-spacing:-.02em;padding:10px 0;width:100%;border-bottom:1px solid var(--linea)}
  .nav-list a::after{display:none}
  .nav .btn{width:100%}
}
@media (min-width:960px){.nav .btn-menu-only{display:none}}

/* Hero */
.hero{position:relative;overflow:hidden;padding:clamp(48px,7vw,112px) 0 0}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;align-items:end}
.hero-copy{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:28px;align-items:end}
.hero-copy .eyebrow{grid-column:1/-1}
.hero-copy h1{grid-column:1/span 8}
.hero-side{grid-column:9/-1;display:flex;flex-direction:column;gap:28px;padding-bottom:.6em}
.hero-side .lead{color:var(--tinta);font-size:clamp(1.0625rem,.95rem + .45vw,1.3125rem)}
@media (max-width:1099px){.hero-copy h1,.hero-side{grid-column:1/-1}.hero-side{padding-bottom:0;max-width:640px}}
.hero h1{font-size:var(--t-hero);line-height:.92;letter-spacing:-.055em;color:var(--petroleo)}
.hero h1 .l2{display:block}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.hero-stage{position:relative;margin-top:clamp(48px,6vw,88px);padding-bottom:clamp(40px,5vw,72px)}
.hero-lines{position:absolute;left:calc(-1*var(--gutter));width:calc(100% + 2*var(--gutter));top:18%;height:64%;color:var(--bruma);pointer-events:none}
.stage{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
.frame{margin:0;border-radius:var(--r-img);overflow:hidden;background:var(--tinta);box-shadow:0 1px 0 rgba(18,44,59,.04),0 24px 60px -24px rgba(18,44,59,.35);border:1px solid rgba(18,44,59,.08)}
.frame img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.phone{margin:0;border-radius:30px;overflow:hidden;border:7px solid var(--petroleo-900);background:var(--petroleo-900);box-shadow:0 30px 60px -28px rgba(18,44,59,.55)}
.phone img{width:100%;aspect-ratio:390/844;object-fit:cover;object-position:top}
.stage .s-main{grid-row:1;grid-column:1/span 9;position:relative;z-index:1}
.stage .s-phone{grid-row:1;grid-column:9/span 3;position:relative;z-index:2;margin-left:-12%;margin-bottom:-8%}
.stage .s-side{grid-column:12/span 1;display:none}
.stage-cap{margin-top:20px;font-size:var(--t-small);color:var(--texto-2);display:flex;flex-wrap:wrap;gap:4px 16px}
.stage-cap b{color:var(--tinta);font-weight:700}
@media (max-width:699px){.stage .s-main{grid-column:1/span 10}.stage .s-phone{grid-column:8/span 5;margin-left:0;margin-bottom:-14%}}

/* Franja de proyectos */
.ledger{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);background:var(--papel)}
.ledger ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ledger li{padding:22px 24px 22px 0;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--linea)}
.ledger li+li{padding-left:24px}
.ledger li:last-child{border-right:0}
.ledger b{font:800 1.0625rem/1.25 var(--f-display);letter-spacing:-.01em}
.ledger span{font-size:var(--t-micro);color:var(--texto-2)}
@media (max-width:899px){.ledger ul{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger li{border-right:0;padding:18px 0!important;border-bottom:1px solid var(--linea)}.ledger li:nth-child(odd){padding-right:16px!important}.ledger li:nth-last-child(-n+2){border-bottom:0}}

/* Secciones */
.sec{padding:var(--sec) 0}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:24px;margin-bottom:clamp(48px,6vw,96px);align-items:end}
.sec-head .eyebrow{grid-column:1/-1}
.sec-head .h2{grid-column:1/span 8}
.sec-head .lead{grid-column:9/-1}
@media (max-width:899px){.sec-head .h2,.sec-head .lead{grid-column:1/-1}}
.sand{background:var(--arena)}

/* Casos */
.case{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;padding-top:clamp(40px,4vw,56px);border-top:1px solid var(--linea)}
.case+.case{margin-top:clamp(96px,10vw,168px)}
.case-top{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px}
.case-title{display:flex;align-items:baseline;gap:20px}
.case-num{font:800 var(--t-small)/1 var(--f-display);color:var(--petroleo);letter-spacing:.04em}
.case-name{font-size:clamp(2rem,1.3rem + 2.8vw,3.75rem);line-height:1;letter-spacing:-.04em;color:var(--petroleo)}
.case-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:var(--t-small);color:var(--texto-2)}
.tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:700 var(--t-micro)/1.2 var(--f-body);border:1px solid currentColor;color:var(--petroleo)}
.tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.tag.solid{background:var(--petroleo);border-color:var(--petroleo);color:var(--papel)}
.dark .tag{color:var(--bruma)}
.case-media{grid-column:1/-1;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
.case-media .m-main{grid-row:1;grid-column:1/span 10}
.case-media .m-phone{grid-row:1;grid-column:10/span 3;margin-bottom:-6%;margin-left:-10%;position:relative;z-index:2}
.case-media.flip .m-main{grid-column:3/span 10;grid-row:1}
.case-media.flip .m-phone{grid-column:1/span 3;grid-row:1;margin-left:0;margin-right:-10%}
@media (max-width:699px){.case-media .m-main,.case-media.flip .m-main{grid-column:1/-1}.case-media .m-phone,.case-media.flip .m-phone{grid-column:8/span 5;grid-row:1;margin:0 0 -18% 0;align-self:end;transform:translateY(22%)}.case-media{margin-bottom:56px}}
.case-body{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:32px;margin-top:clamp(16px,3vw,40px)}
.case-intro{grid-column:1/span 5;font:700 var(--t-h3)/1.25 var(--f-display);letter-spacing:-.02em}
.facts{grid-column:7/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;margin:0}
.facts div{display:flex;flex-direction:column;gap:6px}
.facts dt{font:700 var(--t-micro)/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--petroleo)}
.dark .facts dt{color:var(--bruma)}
.facts dd{margin:0;font-size:var(--t-small);line-height:1.55}
.facts ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.facts ul li{padding-left:18px;position:relative}
.facts ul li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:2px;background:currentColor;opacity:.5}
.facts .wide{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--linea)}
.dark .facts .wide{border-top-color:var(--linea-osc)}
@media (max-width:899px){.case-intro,.facts{grid-column:1/-1}}
@media (max-width:559px){.facts{grid-template-columns:1fr}}
.case-dark{margin-top:clamp(96px,10vw,168px);border-radius:28px;padding:clamp(28px,5vw,72px);border-top:0}
.case-dark .case-media .m-main{grid-column:1/-1}
.credit{grid-column:1/-1;font-size:var(--t-micro);color:var(--texto-2);margin-top:-16px}
.dark .credit{color:var(--texto-osc)}
.more{margin-top:clamp(80px,8vw,128px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:16px}
.more h3{grid-column:1/span 4;font-size:var(--t-small);letter-spacing:.14em;text-transform:uppercase;font-family:var(--f-body);font-weight:700;color:var(--petroleo)}
.more ul{grid-column:5/-1;list-style:none}
.more li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) auto;gap:8px 24px;padding:18px 0;border-top:1px solid var(--linea);align-items:baseline}
.more li:last-child{border-bottom:1px solid var(--linea)}
.more li b{font:800 1.125rem/1.3 var(--f-display)}
.more li span{font-size:var(--t-small);color:var(--texto-2)}
@media (max-width:899px){.more h3,.more ul{grid-column:1/-1}.more li{grid-template-columns:1fr;gap:4px}}

/* Servicios */
.flow{position:relative;margin-bottom:clamp(56px,6vw,96px)}
.flow svg{width:100%;height:auto;display:block;color:var(--petroleo)}
.flow-labels{position:absolute;inset:0;pointer-events:none}
.groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,56px)}
.group{display:flex;flex-direction:column;gap:20px;padding-top:24px;border-top:3px solid var(--petroleo)}
.group:nth-child(2){border-top-color:rgba(22,75,99,.7)}
.group:nth-child(3){border-top-color:rgba(22,75,99,.45)}
.group-k{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.group-k span{font:800 var(--t-small)/1 var(--f-display);color:var(--petroleo)}
.group .for{font-size:var(--t-small);color:var(--texto-2)}
.caps{list-style:none;display:flex;flex-direction:column}
.caps li{padding:16px 0;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:4px}
.caps b{font:800 1.125rem/1.3 var(--f-display);letter-spacing:-.01em}
.caps span{font-size:var(--t-small);color:var(--texto-2)}
.group .eg{font-size:var(--t-small);padding:14px 16px;background:var(--papel);border-radius:12px;border:1px solid var(--linea)}
.group .eg b{color:var(--petroleo)}
@media (max-width:899px){.groups{grid-template-columns:1fr}}
.need{margin-top:clamp(64px,7vw,112px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:16px;align-items:start}
.need h3{grid-column:1/span 4}
.need ol{grid-column:5/-1;list-style:none;counter-reset:n}
.need li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;padding:18px 0;border-top:1px solid var(--linea)}
.need li:last-child{border-bottom:1px solid var(--linea)}
.need li p:first-child{font-weight:500}
.need li p:last-child{color:var(--petroleo);font-weight:700}
@media (max-width:899px){.need h3,.need ol{grid-column:1/-1}.need li{grid-template-columns:1fr}}

/* Enfoque */
.steps{list-style:none;border-top:1px solid var(--linea-osc)}
.step{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,3fr) minmax(0,3fr) minmax(0,3fr);gap:16px 32px;padding:32px 0;border-bottom:1px solid var(--linea-osc);align-items:start}
.step-n{display:flex;flex-direction:column;gap:6px}
.step-n span{font:800 var(--t-small)/1 var(--f-display);color:var(--bruma)}
.step-n h3{font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);letter-spacing:-.03em;line-height:1}
.step dl{display:contents}
.step div{display:flex;flex-direction:column;gap:6px}
.step dt{font:700 var(--t-micro)/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bruma)}
.step dd{margin:0;font-size:var(--t-small);line-height:1.55;color:var(--texto-osc)}
@media (max-width:899px){.step{grid-template-columns:1fr;gap:14px}}
.tiers{margin-top:clamp(56px,6vw,88px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:20px;align-items:start}
.tiers h3{grid-column:1/span 5}
.tiers p{grid-column:7/-1;color:var(--texto-osc)}
.chips{grid-column:7/-1;display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.chips li{padding:8px 14px;border-radius:999px;border:1px solid var(--linea-osc);font-size:var(--t-small);font-weight:500}
@media (max-width:899px){.tiers h3,.tiers p,.chips{grid-column:1/-1}}

/* Equipo */
.team{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;align-items:start}
.person{grid-column:1/span 5;display:flex;flex-direction:column;gap:16px}
.person .ph{aspect-ratio:4/5;border-radius:var(--r-img);background:var(--arena);border:1px dashed var(--linea);display:flex;align-items:center;justify-content:center;color:var(--texto-2);font-size:var(--t-small);text-align:center;padding:24px}
.person h3{font-size:var(--t-h3)}
.person .role{color:var(--petroleo);font-weight:700;font-size:var(--t-small)}
.team-copy{grid-column:7/-1;display:flex;flex-direction:column;gap:24px}
.team-copy .h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem)}
@media (max-width:899px){.person,.team-copy{grid-column:1/-1}.person{max-width:420px}}

/* Pendientes (solo en vista previa) */
.pend{display:none}
.preview .pend{display:block;border:1.5px dashed #B8860B;background:#FFF8E1;color:#5C4300;border-radius:14px;padding:16px 18px;font-size:var(--t-small);line-height:1.5}
.preview .pend b{display:block;font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.preview .pend-inline{display:inline;padding:0 .3em;border-radius:4px;border:0}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;align-items:start}
.contact-copy{grid-column:1/span 5;display:flex;flex-direction:column;gap:28px}
.contact-copy .h2{font-size:clamp(2.5rem,1.4rem + 4.4vw,5.5rem)}
.after{list-style:none;counter-reset:a;display:flex;flex-direction:column}
.after li{counter-increment:a;display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--linea-osc)}
.after li::before{content:counter(a,decimal-leading-zero);font:800 var(--t-small)/1.6 var(--f-display);color:var(--bruma)}
.form{grid-column:7/-1;background:var(--papel);color:var(--tinta);border-radius:24px;padding:clamp(24px,3.5vw,44px);display:flex;flex-direction:column;gap:20px}
@media (max-width:899px){.contact-copy,.form{grid-column:1/-1}}
.f-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:559px){.f-row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:8px}
.field label,.field legend{font-weight:700;font-size:var(--t-small)}
.field .opt{font-weight:400;color:var(--texto-2)}
.field input,.field textarea{font:inherit;font-size:1rem;color:var(--tinta);background:#fff;border:1.5px solid #A9B8BF;border-radius:12px;padding:12px 14px;min-height:50px;width:100%;transition:border-color .15s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--petroleo);box-shadow:0 0 0 3px rgba(22,75,99,.2)}
.field [aria-invalid="true"]{border-color:#B42318}
.err{color:#B42318;font-size:var(--t-micro);font-weight:500;min-height:0}
.err:empty{display:none}
fieldset.field{border:0;margin:0;padding:0}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pills label{position:relative;display:inline-flex}
.pills input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.pills span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #A9B8BF;font-weight:500;font-size:var(--t-small)}
.pills input:checked+span{background:var(--petroleo);border-color:var(--petroleo);color:var(--papel)}
.pills input:focus-visible+span{outline:3px solid var(--petroleo);outline-offset:2px}
.legal-note{font-size:var(--t-micro);line-height:1.55;color:var(--texto-2)}
.check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:var(--t-small);line-height:1.45}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--petroleo)}
.form .btn{width:100%}
.status{font-size:var(--t-small);font-weight:500;padding:12px 14px;border-radius:12px;background:var(--arena)}
.status:empty{display:none}
.status.ok{background:#E6F2EA;color:#1E5631}
.status.warn{background:#FFF4D6;color:#5C4300}
.alt-contact{font-size:var(--t-small);color:var(--texto-2)}

/* Pie */
.site-footer{background:var(--petroleo-900);color:var(--texto-osc);padding:clamp(56px,6vw,96px) 0 32px}
.ft{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px}
.ft-brand{grid-column:1/span 5;display:flex;flex-direction:column;gap:16px}
.ft-brand img{height:34px;width:auto}
.ft-brand p{color:var(--bruma);font:800 1.25rem/1.2 var(--f-display)}
.ft nav{grid-column:7/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ft h2{font:700 var(--t-micro)/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bruma);margin-bottom:12px}
.ft ul{list-style:none;display:flex;flex-direction:column}
.ft a,.ft .linklike{display:inline-flex;align-items:center;min-height:40px;text-decoration:none;color:var(--texto-osc);font-size:var(--t-small);background:none;border:0;padding:0;font-family:inherit;cursor:pointer;text-align:left}
.ft a:hover,.ft .linklike:hover{color:var(--papel);text-decoration:underline}
.ft-base{grid-column:1/-1;border-top:1px solid var(--linea-osc);padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:var(--t-micro);color:var(--bruma-200)}
@media (max-width:899px){.ft-brand,.ft nav{grid-column:1/-1}}

/* Movimiento */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js [data-reveal].in{opacity:1;transform:none}
.draw path{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000);animation:draw 1.6s var(--ease) .2s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}.draw path{animation:none;stroke-dashoffset:0}}

/* Páginas legales */
.legal-page{padding:clamp(48px,6vw,96px) 0 var(--sec)}
.legal-page .lg-doc{margin:0}
.legal-page .lg-doc h1{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);letter-spacing:-.03em;color:var(--petroleo);line-height:1.05}
.legal-page .lg-doc h2{font-family:var(--f-display);font-weight:800;letter-spacing:-.01em}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:24px;font-weight:700;color:var(--petroleo);text-decoration:none}

.flow .flow-m{display:none}
@media (max-width:699px){.flow .flow-d{display:none}.flow .flow-m{display:block}}
.tiers-pend{grid-column:7/-1}
.case-pend{grid-column:1/-1}
@media (max-width:899px){.tiers-pend{grid-column:1/-1}}

.dark .case-name{color:var(--papel)}
.dark .case-num{color:var(--bruma)}
.dark .case-meta{color:var(--texto-osc)}
.form .btn-primary{background:var(--petroleo);color:var(--papel)}
.form .btn-primary:hover{background:var(--petroleo-900)}
@media (max-width:899px){.team-copy{order:-1}}
.status a{color:inherit;font-weight:700}
.frame.natural img{aspect-ratio:var(--ar);object-fit:cover}
@media (max-width:699px){.frame.natural img{aspect-ratio:var(--ar-m,var(--ar))}}
@media (max-width:699px){.case-media.no-phone{margin-bottom:0}}
.case-media.no-phone .m-main.natural{grid-column:1/-1}
.frame.natural{background:#181818}
.direct{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.direct .num{font-weight:700;color:var(--papel);user-select:all}
.reply{margin-top:12px;font-size:var(--t-small)}
