:root{
  --ink:#1a1a1e;--graphite:#4d4942;--mist:#8d8d8f;--stone:#c1c2bd;--ash:#d1d1d2;--linen:#e7e6e4;--canvas:#f3f3f2;--paper:#ffffff;
  --accent:#6f4e37;--slate:#4a626f;
  --sans:'Cormorant Garamond','EB Garamond',Georgia,serif;--serif:'Instrument Serif','Cormorant Garamond',Georgia,serif;
  --t15:15px;--t16:16px;--t18:18px;--t32:32px;--t52:52px;--t74:74px;
  --cols:5;--rail:1px solid var(--ash);--gap:96px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#f3f3f2;--graphite:#c9c6c0;--stone:#4a4a4c;--ash:#3a3a3d;--linen:#26262a;--canvas:#1a1a1e;--paper:#222226}}
:root[data-theme="dark"]{--ink:#f3f3f2;--graphite:#c9c6c0;--stone:#4a4a4c;--ash:#3a3a3d;--linen:#26262a;--canvas:#1a1a1e;--paper:#222226}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--canvas);color:var(--ink);font:600 var(--t16)/1.2 var(--sans)}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* ---- page-wide 5-column rails ---- */
.page{position:relative;padding:0 8px}
.rails{position:absolute;inset:0 8px;display:grid;grid-template-columns:repeat(var(--cols),1fr);pointer-events:none;z-index:0}
.rails i{border-left:var(--rail)}
.rails i:last-child{border-right:var(--rail)}
.grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);position:relative;z-index:1}

/* ---- nav (Anuc: one item per column, small square at column end) ---- */
.nav{border-bottom:var(--rail);height:40px;align-items:center}
.nav>*{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:var(--t15)}
.nav .brand{font-weight:600;letter-spacing:.3px}
.nav .brand em{font:italic var(--t15) var(--serif);margin-left:8px;color:var(--graphite)}
.nav a{text-transform:uppercase;letter-spacing:.4px;font-family:var(--serif);font-size:var(--t16);width:100%;justify-content:space-between}
.nav a::after{content:"";width:5px;height:5px;background:var(--ink)}
.nav a:hover{text-decoration:underline;text-underline-offset:4px}
.sticky{position:sticky;top:0;z-index:20;background:var(--canvas);display:none;border-bottom:var(--rail)}
.sticky.on{display:grid}

/* ---- hero: shape row + photo row ---- */
.hero{background:var(--canvas)}
.shapes{gap:2px;background:var(--canvas)}
.shapes .cell{background:var(--canvas);aspect-ratio:1/1;padding:0}
.shapes .cell svg{width:100%;height:100%;fill:var(--ink)}
.shapes .cell svg.dots{fill:var(--accent)}
.photos{gap:2px;background:var(--canvas)}
.photos .cell{position:relative;height:calc(100svh - 40px - (100vw - 16px - 8px)/5);min-height:420px;max-height:620px;overflow:hidden;background:var(--linen)}
.photos .cell div.img{position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(.88) saturate(.75) sepia(.08) brightness(.92)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.photos .cell h1:not(.sr){position:absolute;left:20px;top:44px;right:12px;font:400 var(--t52)/1 var(--serif);color:var(--paper)}
.photos .cell .cta{position:absolute;left:12px;right:12px;bottom:12px;background:var(--linen);color:var(--ink);display:flex;justify-content:space-between;align-items:center;padding:18px 20px;font:600 var(--t15)/1.25 var(--sans);text-transform:uppercase;letter-spacing:.4px;transition:background .3s}
.photos .cell .cta:hover{background:var(--stone)}
.photos .cell .cta span{width:20px;height:20px;border-radius:9999px;background:var(--paper);display:grid;place-items:center;font-size:12px}
@media (max-width:900px){
  :root{--cols:2}
  .nav>*{display:none}.nav .brand,.nav .last{display:flex}
  .shapes .cell{aspect-ratio:1/1}.shapes .cell:nth-child(n+5){display:none}
  .photos .cell{height:60vw;min-height:280px}.photos .cell:nth-child(n+3){display:none}
  .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.photos .cell h1:not(.sr){font-size:var(--t32)}
}

/* ---- statement stub for scroll/sticky check ---- */
/* ---- piece 2: statement + services ---- */
.section{padding:var(--gap) 0}
.section .label{font-size:var(--t15);text-transform:uppercase;letter-spacing:.4px;padding:0 12px;margin-bottom:var(--gap)}
.section h2{font:400 var(--t52)/1.05 var(--serif);padding:0 12px;max-width:22ch}
.services{margin-top:var(--gap)}
.svc{padding:0 12px;font-size:var(--t15);line-height:1.35}
.svc .n{color:var(--mist);margin-bottom:56px}
.svc .t{text-transform:uppercase;letter-spacing:.3px;min-height:44px;margin-bottom:40px;max-width:24ch}
.svc .img{width:78%;aspect-ratio:1/1;background-size:cover;background-position:center;filter:contrast(.88) saturate(.75) sepia(.08) brightness(.95);margin-bottom:40px}
.svc:nth-child(odd) .img{aspect-ratio:1/1}.svc:nth-child(even) .img{aspect-ratio:4/5;width:70%}
.svc p{color:var(--graphite);max-width:26ch}
.more{grid-column:2/3;padding:0 12px;margin-top:var(--gap);font-size:var(--t15);text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:8px}
.more{white-space:nowrap}
.more span{width:16px;height:16px;border-radius:9999px;background:var(--linen);display:grid;place-items:center;font-size:10px}
@media (max-width:900px){.section h2{grid-column:1/-1}.services>*{grid-column:span 1}.svc .img{width:100%}}

/* ---- piece 3: projects + values band ---- */
.proj{padding:0 12px;margin-bottom:64px}
.proj .img{aspect-ratio:1/1;background-size:cover;background-position:center;filter:contrast(.88) saturate(.75) sepia(.08) brightness(.95);margin-bottom:20px}
.proj .cap{display:block;font:400 var(--t15)/1.3 var(--serif);text-transform:uppercase;letter-spacing:.2px}
.proj .cap .y{display:block;color:var(--mist);font-family:var(--sans);font-size:13px;letter-spacing:.6px;margin-bottom:8px}
.band{position:relative;min-height:640px;background:var(--linen);background-size:cover;background-position:center;filter:none}
.band .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(.85) saturate(.7) sepia(.1) brightness(.95)}
.band .grid{position:relative;z-index:1;min-height:640px}
.band .grid>i{border-left:1px solid rgba(255,255,255,.45)}
.band .grid>i:last-of-type{border-right:1px solid rgba(255,255,255,.45)}
.band .grid>i{grid-row:1}
.band .frame{grid-row:1}
.band .frame{grid-column:2/5;align-self:center;margin:64px 0;position:relative;aspect-ratio:1.55/1;border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(14px);background:rgba(243,243,242,.18);display:grid;place-items:center;text-align:center;color:var(--paper)}
.band .frame::before{content:"";position:absolute;inset:6% 22%;border:1px solid rgba(255,255,255,.7);border-radius:9999px}
.band .frame small{display:block;font:600 var(--t15) var(--sans);text-transform:uppercase;letter-spacing:.4px;margin-bottom:24px}
.band .frame p{font:400 var(--t52)/1.35 var(--serif)}
.values{padding:0 0 var(--gap)}
.values .row{display:grid;grid-template-columns:repeat(var(--cols),1fr)}
.values .v{padding:24px 12px 40px;border-top:var(--rail)}
.values .v small{display:block;font-size:var(--t15);line-height:1.35;color:var(--graphite);max-width:20ch;margin-bottom:96px}
.values .v h3{font:400 var(--t32)/1.1 var(--serif);max-width:12ch}
.values .more{margin-top:48px}
@media (max-width:900px){.band .frame{grid-column:1/-1;margin:24px 12px}.band .frame p{font-size:var(--t32)}.values .v{grid-column:1/-1!important}}

/* ---- piece 4: future (editorial block) ---- */
.future .lead{grid-column:2/4;padding:0 12px;font-size:var(--t18);line-height:1.45;color:var(--graphite);max-width:40ch;margin-top:var(--gap)}
.future .facts{grid-column:4/6;padding:0 12px;margin-top:var(--gap);font-size:var(--t15);line-height:1.35;color:var(--graphite)}
.future .facts p+p{margin-top:24px;padding-top:24px;border-top:var(--rail)}
.future .facts b{display:block;font-weight:600;color:var(--ink);margin-bottom:6px}
.future .wide{grid-column:2/6;margin:var(--gap) 0 0;aspect-ratio:21/9;background-size:cover;background-position:center;filter:contrast(.88) saturate(.75) sepia(.08) brightness(.95);position:relative}
.future .wide::before,.future .wide::after{content:"";position:absolute;top:0;bottom:0;width:0;border-left:1px solid rgba(255,255,255,.45)}
.future .wide::before{left:25%}.future .wide::after{left:50%}
.future .wide i{position:absolute;top:0;bottom:0;left:75%;border-left:1px solid rgba(255,255,255,.45)}
@media (max-width:900px){.future .lead,.future .facts,.future .wide{grid-column:1/-1}}

/* ---- piece 5: about + calendar + footer ---- */
.about h2{grid-column:1/3}
.about .lead{grid-column:1/3;padding:0 12px;font-size:var(--t18);line-height:1.45;color:var(--graphite);max-width:34ch;margin-top:48px}
.about .photo{grid-column:1/2;margin:var(--gap) 12px 0;aspect-ratio:4/5;background-size:cover;background-position:center;filter:contrast(.88) saturate(.75) sepia(.08) brightness(.95)}
.card{grid-column:4/6;background:var(--paper);padding:24px;align-self:start;margin-top:var(--gap)}
.card .d{font-size:var(--t15);color:var(--mist);margin-bottom:12px}
.card h3{font:400 var(--t32)/1.1 var(--serif);margin-bottom:20px;max-width:16ch}
.cal{border-top:var(--rail)}
.cal .mh{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:var(--t15)}
.cal .mh b{font:400 var(--t18) var(--serif)}
.cal .mh button{background:none;border:1px solid var(--ash);width:24px;height:24px;cursor:pointer;color:var(--ink);font:400 12px var(--sans)}
.cal .dow,.cal .days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:var(--t15)}
.cal .dow span{color:var(--mist);padding:6px 0;font-size:13px;text-transform:uppercase;letter-spacing:.3px}
.cal .days button{background:none;border:0;padding:9px 0;font:500 var(--t15) var(--sans);color:var(--ink);cursor:pointer}
.cal .days button:disabled{color:var(--stone);cursor:default}
.cal .days button:hover:not(:disabled){background:var(--linen)}
.cal .days button.sel{background:var(--ink);color:var(--canvas)}
.slots{display:none;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.slots.on{display:grid}
.slots button{border:1px solid var(--ink);background:none;padding:10px 0;font:600 13px var(--sans);cursor:pointer;color:var(--ink)}
.slots button.sel,.slots button:hover{background:var(--ink);color:var(--canvas)}
.book{display:none;margin-top:16px;gap:8px;grid-template-columns:1fr 1fr}
.book.on{display:grid}
.book input{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;font:500 var(--t15) var(--sans);color:var(--ink);border-radius:0}
.book input:focus{outline:0;border-bottom-width:2px}
.book .go{grid-column:1/-1;margin-top:8px;background:var(--linen);border:0;padding:16px 20px;font:600 var(--t15) var(--sans);text-transform:uppercase;letter-spacing:.4px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:var(--ink)}
.book .go:hover{background:var(--stone)}
.card .tag{display:inline-flex;align-items:center;gap:8px;background:var(--linen);padding:4px 8px;font-size:var(--t15);text-transform:uppercase;letter-spacing:.3px;margin-top:20px}
.card .tag::before{content:"";width:5px;height:5px;background:var(--accent)}
.card .note{font-size:13px;color:var(--mist);margin-top:12px;line-height:1.4}
footer{padding-top:var(--gap);margin-top:var(--gap)}
footer .brand{grid-column:2/3;padding:0 12px;font-size:var(--t15);font-weight:600}
footer .brand em{font:italic var(--t15) var(--serif);margin-left:8px;color:var(--graphite)}
footer .links{grid-column:3/4;padding:0 12px;list-style:none;font:400 var(--t15)/1 var(--serif);text-transform:uppercase}
footer .links li+li{margin-top:12px}
footer .links a:hover{text-decoration:underline;text-underline-offset:3px}
footer .mark{grid-column:2/5;margin-top:var(--gap);display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--canvas)}
footer .mark div{aspect-ratio:1/1;background:var(--canvas)}
footer .mark svg{width:100%;height:100%;fill:var(--stone)}
footer .meta{grid-column:1/-1;margin-top:24px;display:grid;grid-template-columns:repeat(var(--cols),1fr);background:var(--canvas);position:relative;z-index:2}
footer .meta a{padding:10px 12px;font:400 var(--t15) var(--serif);text-transform:uppercase}
footer .meta a:nth-child(1),footer .meta a:nth-child(3){grid-column:2}
footer .meta a:nth-child(2),footer .meta a:nth-child(4){grid-column:3}
footer .copy{grid-column:1/-1;text-align:center;padding:24px 12px 12px;font:400 var(--t15) var(--serif);text-transform:uppercase;background:var(--canvas);position:relative;z-index:2}
footer .copy em{font-style:italic}
@media (max-width:900px){.about h2,.about .lead,.about .photo,.card,footer .brand,footer .links,footer .mark,footer .meta,footer .copy{grid-column:1/-1}footer .links{margin-top:24px}}


/* menú móvil: oculto por defecto (se muestra solo bajo 760px) */
.nav .menu{display:none}
.navmenu{display:none}

/* ================= MÓVIL ================= */
@media (max-width:760px){
  .nav .last{display:none}
  :root{--cols:2;--gap:56px;--t52:clamp(30px,7.6vw,40px);--t32:26px;--t18:17px}
  html,body{overflow-x:hidden}
  .page{padding:0 6px}
  .rails{inset:0 6px}

  /* Nav: marca + botón menú; el resto se despliega */
  .nav{display:flex;justify-content:space-between;height:52px;border-bottom:var(--rail)}
  .sticky:not(.on){display:none}
  .sticky.on{display:flex}
  .sticky .menu{display:block}
  .nav>*{padding:0 10px}
  .nav ul{display:none}
  .nav .cta{display:none}
  .nav .menu{display:block;background:none;border:0;font:600 var(--t15) var(--sans);text-transform:uppercase;letter-spacing:.4px;padding:0 10px}
  .navmenu{display:none;position:fixed;inset:52px 0 0;z-index:40;background:var(--canvas);padding:24px 16px;flex-direction:column;gap:4px}
  .navmenu.on{display:flex}
  .navmenu a{font:400 30px var(--serif);text-transform:uppercase;padding:14px 0;border-bottom:var(--rail)}
  body.locked{overflow:hidden}

  /* Hero: logo completo en 3+2, luego una foto grande */
  .shapes{grid-template-columns:repeat(6,1fr)}
  .shapes .cell,.shapes .cell:nth-child(n+5){aspect-ratio:1/1;display:block;grid-column:span 2}
  .shapes .cell:nth-child(4){grid-column:2/4}
  .shapes .cell:nth-child(5){grid-column:4/6}
  .photos{grid-template-columns:1fr}
  .photos .cell{height:62vh;min-height:360px;display:block}
  .photos .cell:nth-child(n+2){display:none}
  .photos .cell:nth-child(5){display:block;height:auto;min-height:0}
  .photos .cell:nth-child(5) .img{display:none}
  .photos .cell:nth-child(5) .cta{position:static;padding:20px 16px;font-size:16px}

  /* Secciones: una sola columna, respiración uniforme */
  .section{padding:var(--gap) 0}
  .section .label{margin-bottom:24px;padding:0 10px}
  .section h2,.section .lead{grid-column:1/-1!important;padding:0 10px;max-width:none}
  .grid>*{padding-left:10px;padding-right:10px}

  /* Servicios: apilados, foto ancha */
  .services{margin-top:40px}
  .services .svc{grid-column:1/-1!important;border-top:var(--rail);padding-top:24px;margin-top:24px}
  .svc .n{margin-bottom:8px}
  .svc .t{min-height:0;margin-bottom:20px}
  .svc .img,.svc:nth-child(odd) .img,.svc:nth-child(even) .img{width:100%;aspect-ratio:16/10;margin-bottom:20px}
  .svc p{max-width:none}
  .more{grid-column:1/-1!important;margin-top:40px}

  /* Proyectos: apilados con foto grande */
  .proj{grid-column:1/-1!important;margin-bottom:40px}
  .proj .img{aspect-ratio:4/3;margin-bottom:16px}
  .proj .cap{font-size:16px}

  /* Banda de valores */
  .band,.band .grid{min-height:0}
  .band .frame{grid-column:1/-1;margin:48px 10px;aspect-ratio:1/1.1}
  .band .frame::before{inset:8% 10%}
  .values .v{grid-column:1/-1!important;padding:20px 10px 32px}
  .values .v small{margin-bottom:24px;max-width:none}
  .values .v h3{max-width:none}

  /* Futuro */
  .future .lead,.future .facts{grid-column:1/-1!important;margin-top:32px}
  .future .facts{margin-top:40px}
  .future .wide{grid-column:1/-1!important;margin:40px 0 0;aspect-ratio:16/10}

  /* Nosotros + calendario */
  .about .lead{margin-top:24px}
  .card{grid-column:1/-1!important;margin:40px 0 0;padding:20px 16px}
  .card h3{margin-bottom:16px}
  .cal .days button{padding:12px 0;font-size:16px}
  .slots{grid-template-columns:repeat(2,1fr)}
  .slots button{padding:14px 0;font-size:15px}
  .book{grid-template-columns:1fr}
  .book input{padding:14px 0;font-size:16px}
  .book .go{padding:18px 16px}


  /* zonas táctiles mínimas 44px */
  .more{padding-top:14px;padding-bottom:14px;min-height:44px;align-items:center}
  .cal .mh button{width:44px;height:44px;font-size:18px}
  footer .links a{display:block;padding:14px 0}
  footer .links li+li{margin-top:0}
  footer .meta a{padding:14px 10px}
  .values .more{margin-top:32px}

  /* Footer */
  footer{padding-top:var(--gap)}
  footer .brand,footer .links,footer .mark,footer .meta,footer .copy{grid-column:1/-1!important}
  footer .links{margin-top:24px}
  footer .links li+li{margin-top:14px}
  footer .mark{margin-top:48px;grid-template-columns:repeat(3,1fr)}
  footer .meta{grid-template-columns:1fr 1fr;margin-top:32px}
  footer .copy{padding-bottom:24px}
}
@media (max-width:760px) and (orientation:landscape){
  .photos .cell{height:80vh}
}
/* toques: sin hover pegajoso */
@media (hover:none){
  .btn:hover::after,.cta:hover{background:inherit;transform:none}
  .proj:hover .img div{transform:none}
  .svc:hover .img{filter:grayscale(1)}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== VISTA PRELIMINAR: sin líneas finas ===== */
.rails{display:none}
.nav{border-bottom:0}
.sticky{border-bottom:0;box-shadow:0 1px 0 rgba(26,26,30,.06)}
.band .grid>i{display:none}
.future .wide::before,.future .wide::after,.future .wide i{display:none}
.values .v{border-top:0;padding-top:0;margin-top:8px}
.future .facts p+p{border-top:0;padding-top:0;margin-top:32px}
.cal{border-top:0;margin-top:4px}
@media (max-width:760px){
  .services .svc{border-top:0;padding-top:0;margin-top:40px}
  .navmenu a{border-bottom:0;padding:10px 0}
}


/* ===== COLUMNA FIJA: layout móvil en todos los anchos ===== */

  .nav .last{display:none}
  :root{--cols:2;--gap:56px;--t52:clamp(30px,7.6vw,40px);--t32:26px;--t18:17px}
  html,body{overflow-x:hidden}
  .page{padding:0 6px}
  .rails{inset:0 6px}

  /* Nav: marca + botón menú; el resto se despliega */
  .nav{display:flex;justify-content:space-between;height:52px;border-bottom:var(--rail)}
  .sticky:not(.on){display:none}
  .sticky.on{display:flex}
  .sticky .menu{display:block}
  .nav>*{padding:0 10px}
  .nav ul{display:none}
  .nav .cta{display:none}
  .nav .menu{display:block;background:none;border:0;font:600 var(--t15) var(--sans);text-transform:uppercase;letter-spacing:.4px;padding:0 10px}
  .navmenu{display:none;position:fixed;inset:52px 0 0;z-index:40;background:var(--canvas);padding:24px 16px;flex-direction:column;gap:4px}
  .navmenu.on{display:flex}
  .navmenu a{font:400 30px var(--serif);text-transform:uppercase;padding:14px 0;border-bottom:var(--rail)}
  body.locked{overflow:hidden}

  /* Hero: logo completo en 3+2, luego una foto grande */
  .shapes{grid-template-columns:repeat(6,1fr)}
  .shapes .cell,.shapes .cell:nth-child(n+5){aspect-ratio:1/1;display:block;grid-column:span 2}
  .shapes .cell:nth-child(4){grid-column:2/4}
  .shapes .cell:nth-child(5){grid-column:4/6}
  .photos{grid-template-columns:1fr}
  .photos .cell{height:62vh;min-height:360px;display:block}
  .photos .cell:nth-child(n+2){display:none}
  .photos .cell:nth-child(5){display:block;height:auto;min-height:0}
  .photos .cell:nth-child(5) .img{display:none}
  .photos .cell:nth-child(5) .cta{position:static;padding:20px 16px;font-size:16px}

  /* Secciones: una sola columna, respiración uniforme */
  .section{padding:var(--gap) 0}
  .section .label{margin-bottom:24px;padding:0 10px}
  .section h2,.section .lead{grid-column:1/-1!important;padding:0 10px;max-width:none}
  .grid>*{padding-left:10px;padding-right:10px}

  /* Servicios: apilados, foto ancha */
  .services{margin-top:40px}
  .services .svc{grid-column:1/-1!important;border-top:var(--rail);padding-top:24px;margin-top:24px}
  .svc .n{margin-bottom:8px}
  .svc .t{min-height:0;margin-bottom:20px}
  .svc .img,.svc:nth-child(odd) .img,.svc:nth-child(even) .img{width:100%;aspect-ratio:16/10;margin-bottom:20px}
  .svc p{max-width:none}
  .more{grid-column:1/-1!important;margin-top:40px}

  /* Proyectos: apilados con foto grande */
  .proj{grid-column:1/-1!important;margin-bottom:40px}
  .proj .img{aspect-ratio:4/3;margin-bottom:16px}
  .proj .cap{font-size:16px}

  /* Banda de valores */
  .band,.band .grid{min-height:0}
  .band .frame{grid-column:1/-1;margin:48px 10px;aspect-ratio:1/1.1}
  .band .frame::before{inset:8% 10%}
  .values .v{grid-column:1/-1!important;padding:20px 10px 32px}
  .values .v small{margin-bottom:24px;max-width:none}
  .values .v h3{max-width:none}

  /* Futuro */
  .future .lead,.future .facts{grid-column:1/-1!important;margin-top:32px}
  .future .facts{margin-top:40px}
  .future .wide{grid-column:1/-1!important;margin:40px 0 0;aspect-ratio:16/10}

  /* Nosotros + calendario */
  .about .lead{margin-top:24px}
  .card{grid-column:1/-1!important;margin:40px 0 0;padding:20px 16px}
  .card h3{margin-bottom:16px}
  .cal .days button{padding:12px 0;font-size:16px}
  .slots{grid-template-columns:repeat(2,1fr)}
  .slots button{padding:14px 0;font-size:15px}
  .book{grid-template-columns:1fr}
  .book input{padding:14px 0;font-size:16px}
  .book .go{padding:18px 16px}


  /* zonas táctiles mínimas 44px */
  .more{padding-top:14px;padding-bottom:14px;min-height:44px;align-items:center}
  .cal .mh button{width:44px;height:44px;font-size:18px}
  footer .links a{display:block;padding:14px 0}
  footer .links li+li{margin-top:0}
  footer .meta a{padding:14px 10px}
  .values .more{margin-top:32px}

  /* Footer */
  footer{padding-top:var(--gap)}
  footer .brand,footer .links,footer .mark,footer .meta,footer .copy{grid-column:1/-1!important}
  footer .links{margin-top:24px}
  footer .links li+li{margin-top:14px}
  footer .mark{margin-top:48px;grid-template-columns:repeat(3,1fr)}
  footer .meta{grid-template-columns:1fr 1fr;margin-top:32px}
  footer .copy{padding-bottom:24px}


  .services .svc{border-top:0;padding-top:0;margin-top:40px}
  .navmenu a{border-bottom:0;padding:10px 0}


/* contenedor: misma proporción de celular en cualquier pantalla */
body{display:flow-root}
.page{max-width:720px;margin:0 auto}
.navmenu{inset:52px auto 0 50%;width:min(100%,720px);transform:translateX(-50%)}
.photos .cell{height:min(62vh,460px)}
/* nav en columna: marca + botón menú (como en celular) */
.nav>*{display:none}
.nav .brand{display:flex}
.nav .menu{display:block}
.nav:not(:has(.menu)) .last{display:flex}

/* ===== la columna crece con la pantalla ===== */
@media (min-width:700px){
  :root{--gap:72px;--t52:46px;--t32:30px;--t18:19px;--t16:17px}
  .page{max-width:860px}
  .navmenu{width:min(100%,860px)}
  .photos .cell{height:min(66vh,520px)}
}
@media (min-width:1100px){
  :root{--gap:88px;--t52:58px;--t32:35px;--t18:21px;--t16:18px;--t15:16px}
  .page{max-width:1020px}
  .navmenu{width:min(100%,1020px)}
  .photos .cell{height:min(72vh,640px)}
  .nav{height:64px}
}

/* aire entre el logo y la primera imagen */
.hero .shapes{margin-bottom:clamp(18px,3.2vw,44px)}

/* sin banda: los valores necesitan su propio aire arriba */
.values{padding-top:var(--gap)}

/* banda de valores retirada */
.band{display:none}

/* pie: enlaces en una sola línea horizontal */
footer .meta{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;grid-template-columns:none;margin-top:40px}
footer .meta a{grid-column:auto!important;padding:12px 0;white-space:nowrap;font-size:clamp(11px,2.9vw,var(--t15))}
footer .copy{text-align:center;padding-top:16px;font-size:clamp(11px,2.9vw,var(--t15))}

/* medida de lectura en pantallas grandes */
@media (min-width:700px){
  .section h2,.values .v h3{max-width:20ch}
  .future .lead,.about .lead,.svc p,.values .v small{max-width:60ch}
}
