/* Greta Müm · rediseño editorial 2026 */
@font-face{font-family:"Cormorant Garamond";font-weight:300;font-style:normal;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:300;font-style:italic;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-300-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2")}
:root{--bg:#F3EEE6;--paper:#FBF8F3;--ink:#211C18;--muted:#5F564C;--olive:#4A5540;--line:#C9BDAC;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--pad:clamp(20px,5vw,96px);--cab:76px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--cab)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
.gm-skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100}
.gm-skip:focus{left:8px}
.gm-wrap{max-width:1360px;margin:0 auto;padding:0 var(--pad)}
.gm-eyebrow{margin:0 0 20px;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--olive)}
.gm-h1,.gm-h2,.gm-nom,.gm-srv-n{font-family:var(--serif);font-weight:300;letter-spacing:-.01em;margin:0}
.gm-h1{font-size:clamp(46px,7vw,104px);line-height:1}
.gm-h1 em{font-style:italic;font-weight:300;color:var(--olive)}
.gm-h2{font-size:clamp(34px,4.6vw,66px);line-height:1.06}
.gm-lead{font-size:clamp(17px,1.5vw,20px);color:var(--muted);margin:24px 0 0;max-width:34em}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font:500 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s,color .3s}
.gm-btn:hover,.gm-btn:focus-visible{background:var(--olive);border-color:var(--olive)}
.gm-btn--res{background:var(--olive);border-color:var(--olive);box-shadow:0 6px 20px -8px rgba(74,85,64,.7)}
.gm-btn--res:hover,.gm-btn--res:focus-visible{background:var(--ink);border-color:var(--ink)}
.gm-reservas .gm-btn--grande{background:var(--bg);color:var(--ink);border-color:var(--bg);min-height:68px;padding:0 56px;font-size:15px;box-shadow:none}
.gm-reservas .gm-btn--grande:hover,.gm-reservas .gm-btn--grande:focus-visible{background:var(--paper);border-color:var(--paper);transform:translateY(-2px)}
.gm-res-tel{margin:20px 0 0;font-size:15px;color:#E6DCCE}
.gm-res-tel a{text-decoration:none;border-bottom:1px solid #E6DCCE}
.gm-flota{display:none}
.gm-btn--sm{min-height:44px;padding:0 22px}
.gm-link{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}
:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
/* cabecera */
.gm-cab{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .35s,border-color .35s;border-bottom:1px solid transparent}
.gm-cab.es-scroll,.gm-cab.abierto{background:rgba(243,238,230,.94);backdrop-filter:blur(8px);border-color:var(--line)}
.gm-cab-in{max-width:1360px;margin:0 auto;padding:0 var(--pad);height:var(--cab);display:flex;align-items:center;justify-content:space-between}
.gm-logo-img{display:block;height:44px;width:auto}
.gm-logo-pie{display:block;height:84px;width:auto}
.gm-logo{display:block;line-height:0;font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.01em;text-decoration:none}
.gm-nav{display:flex;align-items:center;gap:clamp(20px,3vw,44px)}
.gm-nav a:not(.gm-btn){font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.gm-nav a:not(.gm-btn):hover{color:var(--olive)}
.gm-burger{display:none;width:44px;height:44px;background:none;border:0;padding:0;cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-end;gap:7px}
.gm-burger span{display:block;height:1px;background:var(--ink);width:26px;transition:transform .3s,width .3s}
.gm-burger span+span{width:18px}
.gm-cab.abierto .gm-burger span{width:26px}
.gm-cab.abierto .gm-burger span:first-child{transform:translateY(4px) rotate(45deg)}
.gm-cab.abierto .gm-burger span+span{transform:translateY(-4px) rotate(-45deg)}
/* hero */
.gm-hero{padding:calc(var(--cab) + 40px) 0 clamp(60px,8vw,120px);min-height:100svh;display:flex;align-items:center}
.gm-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,96px);align-items:center;width:100%}
.gm-acciones{display:flex;align-items:center;gap:32px;margin-top:40px;flex-wrap:wrap}
.gm-hero-media{position:relative;aspect-ratio:4/5;max-height:78vh;width:100%;justify-self:end;overflow:hidden;background:#D9CDBD}
.gm-video{width:100%;height:100%;object-fit:cover;object-position:60% center}
/* filosofía */
.gm-filo{background:var(--paper);padding:clamp(72px,10vw,140px) 0}
.gm-filo-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,7vw,110px);align-items:center}
.gm-filo-img{aspect-ratio:1/1;overflow:hidden}
.gm-filo-img img{width:100%;height:100%;object-fit:cover}
/* servicios */
.gm-servicios{padding:clamp(72px,10vw,140px) 0}
.gm-srv-in{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,7vw,110px);align-items:start}
.gm-srv-img{margin-top:40px;aspect-ratio:3/4;overflow:hidden;max-width:400px}
.gm-srv-img img{width:100%;height:100%;object-fit:cover}
.gm-lista{list-style:none;margin:0;padding:8px 0 0}
.gm-srv{display:grid;grid-template-columns:40px 1fr;column-gap:20px;padding:26px 0;border-top:1px solid var(--line);transition:padding-left .35s}
.gm-srv:hover{padding-left:12px}
.gm-num{grid-row:span 2;font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--olive);padding-top:12px}
.gm-srv-n{font-size:clamp(28px,3vw,40px);line-height:1.15}
.gm-srv-d{margin:6px 0 0;color:var(--muted);font-size:16px}
/* equipo */
.gm-equipo{background:var(--paper);padding:clamp(72px,10vw,140px) 0}
.gm-miembros{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.gm-foto{aspect-ratio:4/5;overflow:hidden;background:#D9CDBD}
.gm-foto img{width:100%;height:100%;object-fit:cover}
.gm-foto--logo{background:var(--olive)}
.gm-foto--logo img{object-fit:contain;padding:22%}
.gm-nom{font-size:32px;margin-top:20px}
.gm-cargo{margin:4px 0 0;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
/* atmósfera */
.gm-atm{padding:clamp(72px,10vw,140px) 0}
.gm-mosaico{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2vw,24px);margin-top:56px;align-items:end}
.gm-mosaico>div{overflow:hidden;background:#D9CDBD}
.gm-mosaico img{width:100%;height:100%;object-fit:cover}
.gm-mosaico{align-items:stretch}
.gm-m1{grid-column:1/8;grid-row:1;aspect-ratio:4/3}
.gm-m2{grid-column:8/13;grid-row:1/3;min-height:100%}
.gm-m3{grid-column:1/8;grid-row:2;aspect-ratio:16/9}
/* reservas */
.gm-reservas{background:var(--olive);color:var(--bg);padding:clamp(72px,9vw,120px) 0;text-align:center}
.gm-reservas .gm-eyebrow{color:#CFC6B8}
.gm-reservas .gm-lead{color:#E6DCCE;margin-left:auto;margin-right:auto}
.gm-booksy{margin-top:32px;min-height:56px}
/* contacto */
.gm-contacto{padding:clamp(72px,10vw,140px) 0}
.gm-con-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,110px)}
.gm-datos{font-size:18px;line-height:1.9;margin:32px 0 0}
.gm-datos a,.gm-redes a{text-decoration:none;border-bottom:1px solid var(--line)}
.gm-datos a:hover,.gm-redes a:hover{border-color:var(--ink)}
.gm-redes{margin:24px 0 0;display:flex;gap:24px;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.gm-form{display:flex;flex-direction:column;gap:22px}
.gm-campo{display:flex;flex-direction:column;gap:6px}
.gm-campo label{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.gm-campo input,.gm-campo textarea{font:400 17px var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:10px 0;min-height:44px;resize:vertical}
.gm-campo input:focus,.gm-campo textarea:focus{outline:0;border-bottom-color:var(--olive);box-shadow:0 1px 0 var(--olive)}
.gm-trampa{position:absolute;left:-9999px;opacity:0}
.gm-form .gm-btn{align-self:flex-start}
.gm-aviso{margin:0;min-height:1.6em;font-size:15px}
.gm-aviso.ok{color:var(--olive)}
.gm-aviso.error{color:#8A3A2A}
.gm-pie{background:var(--ink);color:#CFC6B8;padding:44px 0}
.gm-pie-in{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.gm-pie .gm-logo{color:var(--bg);font-size:28px}
.gm-copy{margin:0;font-size:13px}
/* aparición suave */
.gm-anim{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.gm-anim.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gm-anim{opacity:1;transform:none;transition:none}}
/* móvil */
@media (max-width:900px){
 .gm-logo-img{height:38px}
 .gm-flota{display:flex;position:fixed;left:16px;bottom:16px;right:92px;z-index:40;min-height:56px;align-items:center;justify-content:center;background:var(--olive);color:var(--paper);font:500 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;box-shadow:0 10px 28px -10px rgba(33,28,24,.6);transform:translateY(120%);opacity:0;visibility:hidden;transition:transform .4s,opacity .4s,visibility .4s}
 .gm-flota.visible{transform:none;opacity:1;visibility:visible}
 .gm-pie{padding-bottom:96px}
 :root{--cab:68px}
 .gm-burger{display:flex}
 .gm-nav{position:fixed;left:0;right:0;top:var(--cab);flex-direction:column;align-items:flex-start;gap:0;background:var(--bg);padding:8px var(--pad) 28px;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility .3s}
 .gm-cab.abierto .gm-nav{opacity:1;transform:none;visibility:visible}
 .gm-nav a:not(.gm-btn){padding:16px 0;width:100%;font-size:14px;border-bottom:1px solid var(--line)}
 .gm-nav .gm-btn{margin-top:20px}
 .gm-hero{min-height:0;padding-top:calc(var(--cab) + 24px)}
 .gm-hero-in,.gm-filo-in,.gm-srv-in,.gm-con-in{grid-template-columns:1fr}
 .gm-hero-media{aspect-ratio:4/5;max-height:none}
 .gm-filo-img{aspect-ratio:4/3}
 .gm-srv-img{aspect-ratio:4/3;max-width:none}
 .gm-miembros{grid-template-columns:1fr;gap:36px}
 .gm-foto{aspect-ratio:4/5}
 .gm-m1{grid-column:1/13;grid-row:auto}.gm-m2{grid-column:1/8;grid-row:auto;aspect-ratio:3/4;min-height:0}.gm-m3{grid-column:6/13;grid-row:auto;aspect-ratio:1/1}
 .gm-srv:hover{padding-left:0}
}

.gm-clientas{background:var(--paper);padding:clamp(72px,9vw,120px) 0}
.gm-cl-nota{color:var(--muted);margin:14px 0 0;font-size:15px}
.gm-cl-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(20px,3vw,40px);margin-top:48px;align-items:start}
.gm-cl-card{margin:0;padding:clamp(24px,3vw,44px);background:var(--bg);border:1px solid var(--line)}
.gm-cl-q{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:300;font-size:clamp(21px,2.2vw,28px);line-height:1.4;margin:0 0 22px;color:var(--ink)}
.gm-cl-card--larga .gm-cl-q{font-size:clamp(19px,2vw,24px)}
.gm-cl-a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--olive)}
.gm-cl-src{margin:32px 0 0;font-size:13px;color:var(--muted)}
.gm-cl-src a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.gm-cl-grid{grid-template-columns:1fr}}

/* ---------- WhatsApp (Joinchat) a juego con la web ---------- */
.joinchat{--ch:95;--cs:15%;--cl:30%;--bw:1;--joinchat-font:var(--sans)}
.joinchat .joinchat__button{background-image:none;background-color:var(--olive);box-shadow:0 12px 30px -10px rgba(33,28,24,.55);transition:background-color .25s,transform .25s}
.joinchat .joinchat__button:hover,.joinchat .joinchat__button:active{background-color:#3B4533;transform:translateY(-2px)}
.joinchat .joinchat__tooltip{background:var(--paper);color:var(--ink);border-radius:2px;font:400 13px/31px var(--sans);letter-spacing:.04em;filter:drop-shadow(0 6px 14px rgba(33,28,24,.25))}
.joinchat .joinchat__tooltip:after{border-left-color:var(--paper)}
.joinchat .joinchat__chatbox{background:var(--paper);border:1px solid var(--line);border-radius:4px;box-shadow:0 30px 70px -24px rgba(33,28,24,.5);max-width:380px}
.joinchat .joinchat__header{background:var(--olive);color:#F3EEE6}
.joinchat .joinchat__header span{font:300 25px/1 var(--serif);letter-spacing:.01em;opacity:1}
.joinchat .joinchat__close{background-color:rgba(243,238,230,.16)}
.joinchat .joinchat__close:hover{background-color:rgba(243,238,230,.3)}
.joinchat .joinchat__scroll{background:var(--paper)}
.joinchat .joinchat__content:after{background:var(--paper)}
.joinchat .joinchat__bubble{background:#F3EEE6;color:var(--ink);border:1px solid var(--line);border-radius:2px 18px 18px 18px;font:400 16px/1.55 var(--sans);filter:none;padding:16px 20px}
.joinchat .joinchat__bubble:before{display:none}
.joinchat .joinchat__open{background:var(--olive);border-radius:2px;box-shadow:none}
.joinchat .joinchat__open:hover,.joinchat .joinchat__open:active{background:#3B4533}
.joinchat .joinchat__open__text{font:500 13px/60px var(--sans);letter-spacing:.16em;text-transform:uppercase}

/* icono de WhatsApp como SVG propio (evita deformaciones del fondo SVG en Safari) */
.joinchat .gm-wa{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;fill:#F3EEE6;pointer-events:none;display:block}

/* ---------- aviso de cookies ---------- */
.gm-cookies{position:fixed;left:20px;bottom:20px;z-index:9500;max-width:440px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:26px 28px;box-shadow:0 30px 70px -24px rgba(33,28,24,.5);font:400 15px/1.6 var(--sans)}
.gm-cookies[hidden]{display:none}
.gm-cookies h2{font:300 26px/1.1 var(--serif);margin:0 0 10px}
.gm-cookies p{margin:0 0 18px;color:var(--muted);font-size:14.5px}
.gm-cookies a{color:var(--ink);text-underline-offset:3px}
.gm-cookies-bt{display:flex;gap:12px;flex-wrap:wrap}
.gm-cookies-bt button{flex:1 1 140px;min-height:48px;padding:0 20px;font:500 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:1px solid var(--olive);background:transparent;color:var(--olive);transition:background .25s,color .25s}
.gm-cookies-bt button:hover,.gm-cookies-bt button:focus-visible{background:var(--olive);color:var(--paper)}
@media(max-width:900px){.gm-cookies{left:12px;right:12px;bottom:12px;max-width:none;padding:22px}}

/* ---------- enlaces legales del pie y páginas legales ---------- */
.gm-legal{display:flex;gap:22px;flex-wrap:wrap;width:100%;padding-top:18px;border-top:1px solid rgba(207,198,184,.25);font-size:13px}
.gm-legal a{color:#CFC6B8;text-underline-offset:3px}
.gm-legal a:hover{color:#fff}
.gm-doc-cab{border-bottom:1px solid var(--line);background:var(--bg)}
.gm-doc-cab .gm-wrap{display:flex;justify-content:space-between;align-items:center;min-height:var(--cab)}
.gm-doc-cab .gm-volver{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.gm-doc{max-width:760px;margin:0 auto;padding:clamp(48px,7vw,96px) var(--pad) clamp(64px,8vw,110px)}
.gm-doc h1{font:300 clamp(40px,5vw,64px)/1.05 var(--serif);margin:0 0 12px;letter-spacing:-.01em}
.gm-doc .gm-act{color:var(--muted);font-size:14px;margin:0 0 40px}
.gm-doc h2{font:400 clamp(24px,2.4vw,30px)/1.2 var(--serif);margin:44px 0 12px}
.gm-doc p,.gm-doc li{font-size:16.5px;line-height:1.7;color:var(--ink)}
.gm-doc ul{padding-left:20px;margin:12px 0}
.gm-doc a{color:var(--olive);text-underline-offset:3px}
.gm-doc table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px}
.gm-doc th,.gm-doc td{text-align:left;padding:12px 14px;border:1px solid var(--line);vertical-align:top}
.gm-doc th{background:var(--paper);font-weight:500}
.gm-doc .gm-tabla{overflow-x:auto}
