/* Estilos de todo el sitio ferrycom.mx */
:root{
  --tinta:#161514;
  --tinta-2:#5E5852;
  --crema:#F4F1EC;
  --papel:#FBFAF7;
  --linea:rgba(22,21,20,.14);
  --noche:#121110;
  --marca:#2665A2;
  --muebles:#8CB43C; --mep:#2EA9DF; --obra:#F2A22B; --escuelas:#E5533F;
  --logo-gris:#4B4B4B;
  --ease:cubic-bezier(.16,1,.3,1);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--tinta:#EEEAE4;--tinta-2:#ABA49C;--crema:#1B1A18;--papel:#141312;--linea:rgba(238,234,228,.14);--logo-gris:#D5D0C9}
}
:root[data-theme="dark"]{--tinta:#EEEAE4;--tinta-2:#ABA49C;--crema:#1B1A18;--papel:#141312;--linea:rgba(238,234,228,.14);--logo-gris:#D5D0C9}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.55;font-variation-settings:"wdth" 100}
img{display:block;max-width:100%}
a{color:inherit}
::selection{background:var(--marca);color:#fff}
:focus-visible{outline:2px solid var(--marca);outline-offset:3px}
.ancho{width:min(1320px,100% - 64px);margin-inline:auto}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Logotipo (mismo recurso que el sitio actual) */
.simbolo{position:relative;width:var(--sw,24px);aspect-ratio:262/427;display:block}
.simbolo::before,/* La parte gris del símbolo y la palabra FERRYCOM van incrustadas como máscara para poder cambiarles el color (modo oscuro). Originales vectoriales en img/ (logo-simbolo-gris.svg, logo-palabra.svg). */
.simbolo::after{content:"";position:absolute;inset:0}
.simbolo::before{background:url("../img/logo-simbolo.svg") center/contain no-repeat}
.simbolo::after{background:var(--logo-gris);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 262 427'%3E%3Cpath d='M174.5 23.5 234 69v131l25 16v187.5h3V0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 262 427'%3E%3Cpath d='M174.5 23.5 234 69v131l25 16v187.5h3V0z'/%3E%3C/svg%3E") center/contain no-repeat}
.palabra{display:block;height:var(--ph,17px);aspect-ratio:824/132;background:var(--logo-gris);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 824 132'%3E%3Cpath d='M7.57 11.75H62.43V22.55H18.44V56.79H62.43V67.58H18.44V121.25H7.57ZM83.13 11.75H145.87V22.55H94.07V56.79H145.43V67.5H94.07V110.45H145.43V121.25H83.13ZM162.98 11.75H184.79Q203.02 11.75 209.5 13.24Q219.25 15.48 225.35 22.81Q231.46 30.14 231.46 40.86Q231.46 49.79 227.25 56.56Q223.05 63.34 215.23 66.8Q207.42 70.26 193.65 70.33L233.02 121.25H219.47L180.17 70.33H173.92V121.25H162.98ZM173.92 22.47V59.69L192.75 59.84Q203.69 59.84 208.94 57.75Q214.19 55.67 217.13 51.09Q220.07 46.51 220.07 40.86Q220.07 35.35 217.09 30.85Q214.11 26.34 209.28 24.41Q204.44 22.47 193.2 22.47ZM255.98 11.75H277.79Q296.02 11.75 302.5 13.24Q312.25 15.48 318.35 22.81Q324.46 30.14 324.46 40.86Q324.46 49.79 320.25 56.56Q316.05 63.34 308.23 66.8Q300.42 70.26 286.65 70.33L326.02 121.25H312.47L273.17 70.33H266.92V121.25H255.98ZM266.92 22.47V59.69L285.75 59.84Q296.69 59.84 301.94 57.75Q307.19 55.67 310.13 51.09Q313.07 46.51 313.07 40.86Q313.07 35.35 310.09 30.85Q307.11 26.34 302.28 24.41Q297.44 22.47 286.2 22.47ZM341.08 11.75H353.74L381.72 56.86L409.26 11.75H421.92L387.23 68.92V121.25H376.44V68.92ZM541.52 32.07 532.88 38.7Q525.74 29.39 515.73 24.59Q505.72 19.79 493.73 19.79Q480.63 19.79 469.47 26.08Q458.3 32.37 452.16 42.98Q446.02 53.59 446.02 66.83Q446.02 86.86 459.75 100.26Q473.49 113.65 494.4 113.65Q517.4 113.65 532.88 95.64L541.52 102.19Q533.33 112.61 521.09 118.31Q508.84 124 493.73 124Q465 124 448.4 104.87Q434.48 88.72 434.48 65.87Q434.48 41.83 451.34 25.41Q468.2 9 493.58 9Q508.92 9 521.27 15.07Q533.63 21.13 541.52 32.07ZM617.29 9Q642.15 9 658.9 25.6Q675.65 42.2 675.65 66.46Q675.65 90.5 658.94 107.25Q642.23 124 618.19 124Q593.85 124 577.1 107.33Q560.35 90.65 560.35 66.98Q560.35 51.2 567.98 37.73Q575.61 24.26 588.78 16.63Q601.96 9 617.29 9ZM617.81 19.72Q605.68 19.72 594.81 26.05Q583.95 32.37 577.84 43.09Q571.74 53.81 571.74 66.98Q571.74 86.49 585.25 99.92Q598.76 113.36 617.81 113.36Q630.54 113.36 641.37 107.18Q652.2 101 658.27 90.28Q664.33 79.56 664.33 66.46Q664.33 53.44 658.27 42.9Q652.2 32.37 641.19 26.05Q630.17 19.72 617.81 19.72ZM691.79 121.25 707.35 11.75H709.14L753.65 101.6L797.71 11.75H799.5L815.21 121.25H804.41L793.69 42.94L754.99 121.25H752.23L713.01 42.35L702.36 121.25Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 824 132'%3E%3Cpath d='M7.57 11.75H62.43V22.55H18.44V56.79H62.43V67.58H18.44V121.25H7.57ZM83.13 11.75H145.87V22.55H94.07V56.79H145.43V67.5H94.07V110.45H145.43V121.25H83.13ZM162.98 11.75H184.79Q203.02 11.75 209.5 13.24Q219.25 15.48 225.35 22.81Q231.46 30.14 231.46 40.86Q231.46 49.79 227.25 56.56Q223.05 63.34 215.23 66.8Q207.42 70.26 193.65 70.33L233.02 121.25H219.47L180.17 70.33H173.92V121.25H162.98ZM173.92 22.47V59.69L192.75 59.84Q203.69 59.84 208.94 57.75Q214.19 55.67 217.13 51.09Q220.07 46.51 220.07 40.86Q220.07 35.35 217.09 30.85Q214.11 26.34 209.28 24.41Q204.44 22.47 193.2 22.47ZM255.98 11.75H277.79Q296.02 11.75 302.5 13.24Q312.25 15.48 318.35 22.81Q324.46 30.14 324.46 40.86Q324.46 49.79 320.25 56.56Q316.05 63.34 308.23 66.8Q300.42 70.26 286.65 70.33L326.02 121.25H312.47L273.17 70.33H266.92V121.25H255.98ZM266.92 22.47V59.69L285.75 59.84Q296.69 59.84 301.94 57.75Q307.19 55.67 310.13 51.09Q313.07 46.51 313.07 40.86Q313.07 35.35 310.09 30.85Q307.11 26.34 302.28 24.41Q297.44 22.47 286.2 22.47ZM341.08 11.75H353.74L381.72 56.86L409.26 11.75H421.92L387.23 68.92V121.25H376.44V68.92ZM541.52 32.07 532.88 38.7Q525.74 29.39 515.73 24.59Q505.72 19.79 493.73 19.79Q480.63 19.79 469.47 26.08Q458.3 32.37 452.16 42.98Q446.02 53.59 446.02 66.83Q446.02 86.86 459.75 100.26Q473.49 113.65 494.4 113.65Q517.4 113.65 532.88 95.64L541.52 102.19Q533.33 112.61 521.09 118.31Q508.84 124 493.73 124Q465 124 448.4 104.87Q434.48 88.72 434.48 65.87Q434.48 41.83 451.34 25.41Q468.2 9 493.58 9Q508.92 9 521.27 15.07Q533.63 21.13 541.52 32.07ZM617.29 9Q642.15 9 658.9 25.6Q675.65 42.2 675.65 66.46Q675.65 90.5 658.94 107.25Q642.23 124 618.19 124Q593.85 124 577.1 107.33Q560.35 90.65 560.35 66.98Q560.35 51.2 567.98 37.73Q575.61 24.26 588.78 16.63Q601.96 9 617.29 9ZM617.81 19.72Q605.68 19.72 594.81 26.05Q583.95 32.37 577.84 43.09Q571.74 53.81 571.74 66.98Q571.74 86.49 585.25 99.92Q598.76 113.36 617.81 113.36Q630.54 113.36 641.37 107.18Q652.2 101 658.27 90.28Q664.33 79.56 664.33 66.46Q664.33 53.44 658.27 42.9Q652.2 32.37 641.19 26.05Q630.17 19.72 617.81 19.72ZM691.79 121.25 707.35 11.75H709.14L753.65 101.6L797.71 11.75H799.5L815.21 121.25H804.41L793.69 42.94L754.99 121.25H752.23L713.01 42.35L702.36 121.25Z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Cabecera: transparente sobre la foto, sólida al bajar */
.cabecera{position:fixed;inset:0 0 auto;z-index:30;color:var(--tinta);background:color-mix(in srgb,var(--papel) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--linea);transition:background-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease);padding-top:env(safe-area-inset-top,0px)}
.cabecera[data-sobre-foto]{background:transparent;color:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;--logo-gris:#fff}
.hilo{display:flex;height:4px}
.hilo span{flex:1}
.hilo .m{background:var(--muebles)}.hilo .p{background:var(--mep)}.hilo .o{background:var(--obra)}.hilo .e{background:var(--escuelas)}
.barra{display:flex;align-items:center;gap:32px;min-height:72px}
.logo{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;--sw:20px;--ph:13px}
.menu{display:flex;gap:4px;margin-left:auto}
.menu a{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;text-decoration:none;font-size:15px;font-weight:500;opacity:.86;transition:opacity .2s}
.menu a::before{content:"";width:7px;height:7px;background:var(--c)}
.menu a:hover,.menu a[aria-current="page"]{opacity:1}
.menu a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--c)}
.m{--c:var(--muebles)}.p{--c:var(--mep)}.o{--c:var(--obra)}.e{--c:var(--escuelas)}

/* Botones en forma de pastilla, como en las plantillas de referencia */
.pastilla{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:999px;background:var(--marca);color:#fff;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}
.pastilla:hover{background:#1D5287}
.pastilla:active{transform:scale(.97)}
.pastilla.clara{background:#fff;color:#161514}
.pastilla.clara:hover{background:#E9E5DE}
.pastilla.linea{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.pastilla.linea:hover{box-shadow:inset 0 0 0 1.5px #fff;background:rgba(255,255,255,.08)}

/* Portada a pantalla completa */
.portada{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;background:var(--noche);color:#fff;overflow:hidden;isolation:isolate}
.portada-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.portada::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,17,16,.55) 0%,rgba(18,17,16,.1) 26%,rgba(18,17,16,.45) 55%,rgba(18,17,16,.9) 100%),linear-gradient(90deg,rgba(18,17,16,.45) 0%,rgba(18,17,16,0) 60%)}
.portada-texto{padding:160px 0 clamp(48px,9vh,96px)}
.portada h1{margin:0 0 24px;max-width:12ch;font-weight:300;font-size:clamp(48px,8.4vw,128px);line-height:.95;letter-spacing:-.035em;font-variation-settings:"wdth" 100;text-wrap:balance}
.portada p{margin:0 0 32px;max-width:46ch;font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:rgba(255,255,255,.88)}
.acciones{display:flex;flex-wrap:wrap;gap:12px}

/* Entrada: el texto ya es legible desde el primer cuadro; solo se asienta */
@media (prefers-reduced-motion:no-preference){
  .portada-foto{animation:asentar 1.6s var(--ease) both}
  .portada-texto > *{animation:subir .9s var(--ease) both}
  .portada-texto > :nth-child(2){animation-delay:.08s}
  .portada-texto > :nth-child(3){animation-delay:.16s}
}
@keyframes asentar{from{transform:scale(1.06)}to{transform:none}}
@keyframes subir{from{transform:translateY(14px)}to{transform:none}}

/* Manifiesto */
.manifiesto{padding:clamp(80px,12vw,160px) 0 clamp(64px,8vw,112px);background:var(--papel)}
.manifiesto > .ancho > p{margin:0 0 clamp(56px,7vw,96px);max-width:22ch;font-weight:300;font-size:clamp(34px,4.6vw,72px);line-height:1.04;letter-spacing:-.03em;text-wrap:balance}
.manifiesto p span{font-weight:600;background:linear-gradient(var(--c),var(--c)) 0 92%/100% .09em no-repeat}
.hechos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px 48px}
.hechos li{border-top:1px solid var(--tinta);padding-top:18px}
.hechos strong{display:block;margin-bottom:6px;font-size:20px;font-weight:600;letter-spacing:-.01em}
.hechos span{color:var(--tinta-2)}

/* Unidades: foto y texto alternados */
.unidades{background:var(--crema)}
.unidad{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:min(78vh,720px)}
.unidad:nth-child(even){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.unidad:nth-child(even) figure{order:2}
.unidad figure{margin:0;position:relative;overflow:hidden;background:#2A2826}
.unidad figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.unidad:hover figure img{transform:scale(1.025)}
.unidad .texto{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px)}
.unidad h2{position:relative;margin:0 0 20px;padding-top:28px;font-weight:300;font-size:clamp(48px,6vw,96px);line-height:.95;letter-spacing:-.035em}
.unidad h2::before{content:"";position:absolute;top:0;left:0;width:48px;height:6px;background:var(--c)}
.unidad .texto > p{margin:0 0 24px;max-width:36ch;font-size:19px;line-height:1.5;color:var(--tinta-2)}
.unidad ul{list-style:none;margin:0 0 32px;padding:0;max-width:34ch}
.unidad li{padding:12px 0;border-top:1px solid var(--linea);font-weight:500}
.unidad li:last-child{border-bottom:1px solid var(--linea)}
.enlace{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor}
.enlace::after{content:"";width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:transform .3s var(--ease)}
.enlace:hover::after{transform:translateX(4px) rotate(45deg)}

/* Proceso (páginas de unidad) */
.proceso{padding:clamp(80px,10vw,144px) 0;background:var(--papel)}
.proceso h2{margin:0 0 clamp(40px,5vw,72px);font-weight:300;font-size:clamp(40px,5.4vw,84px);line-height:.98;letter-spacing:-.035em}
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 48px;counter-reset:paso}
.pasos li{counter-increment:paso;border-top:1px solid var(--tinta);padding-top:20px}
.pasos li::before{content:counter(paso,decimal-leading-zero);display:block;margin-bottom:28px;font-weight:300;font-size:clamp(40px,4vw,64px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--tinta-2)}
.pasos h3{margin:0 0 8px;font-size:22px;font-weight:600;letter-spacing:-.01em}
.pasos p{margin:0;max-width:34ch;color:var(--tinta-2)}

/* Contacto */
.contacto{background:var(--noche);color:#F4F1EC;padding:clamp(96px,12vw,168px) 0 clamp(64px,8vw,96px)}
.contacto h2{margin:0 0 clamp(48px,6vw,80px);max-width:14ch;font-weight:300;font-size:clamp(48px,7.6vw,120px);line-height:.95;letter-spacing:-.035em}
.canales{list-style:none;margin:0 0 40px;padding:0}
.canales a{display:grid;grid-template-columns:minmax(120px,1fr) 3fr;align-items:baseline;gap:16px;padding:26px 0;border-top:1px solid rgba(244,241,236,.2);text-decoration:none;font-size:clamp(22px,2.6vw,36px);font-weight:400;letter-spacing:-.02em;transition:color .25s var(--ease),padding .35s var(--ease)}
.canales li:last-child a{border-bottom:1px solid rgba(244,241,236,.2)}
.canales a span{font-size:15px;font-weight:500;letter-spacing:0;color:rgba(244,241,236,.6)}
.canales a:hover{color:#fff;padding-left:12px}
.sede{margin:0;color:rgba(244,241,236,.6)}

.pie{background:var(--noche);color:rgba(244,241,236,.6);font-size:15px;border-top:1px solid rgba(244,241,236,.12)}
.pie .ancho{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;min-height:72px;padding-bottom:env(safe-area-inset-bottom,0px)}
.pie nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.pie a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.pie a:hover{color:#fff}

.barra-movil{display:none}

@media (max-width:900px){
  .menu{display:none}
  .barra{gap:16px}
  .barra .pastilla{margin-left:auto}
  .unidad,.unidad:nth-child(even){grid-template-columns:1fr;min-height:0}
  .unidad:nth-child(even) figure{order:0}
  .unidad figure{height:min(64vw,440px)}
  .hechos,.pasos{grid-template-columns:1fr}
}
@media (max-width:560px){
  .ancho{width:calc(100% - 32px)}
  .barra{min-height:64px}
  .portada-texto{padding-bottom:40px}
  .unidad .texto{padding:44px 16px 56px}
  .canales a{grid-template-columns:1fr;gap:4px;padding:20px 0}
  .barra-movil{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#161514;padding-bottom:env(safe-area-inset-bottom,0px)}
  .barra-movil a{display:flex;align-items:center;justify-content:center;min-height:54px;color:#fff;font-weight:600;text-decoration:none}
  .barra-movil a + a{border-left:1px solid rgba(255,255,255,.2)}
  body{padding-bottom:calc(54px + env(safe-area-inset-bottom,0px))}
  .portada{min-height:calc(100svh - 54px - env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
