/* Gaby's Barbershop: aubergine + blush + cream, editorial serif italics, bilingual. */
:root{--plum:#2b1630;--plum-2:#4a2950;--blush:#f3d9d3;--cream:#fbf6f0;--gold:#b5701a;--ink:#1d1220;--muted:#5c4a5f}
body{font-family:"Manrope",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.6}
a{color:var(--plum-2)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.08;margin:0 0 .4em}
.demo-note{margin:0;background:var(--ink);color:var(--blush);font-size:.8rem;text-align:center;padding:6px 12px}
.photo-note{display:inline-block;font-size:.75rem;background:#fff4c9;color:#5b4500;border:1px dashed #b38b00;padding:3px 8px;margin-top:8px}

/* header: monogram + language switch, no CTA pill */
.top{display:flex;align-items:center;gap:16px;padding:14px clamp(16px,4vw,48px);border-bottom:1px solid #e6d6d0;position:relative}
.mono{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:"DM Serif Display",serif;font-size:1.35rem;margin-right:auto}
.mono svg{width:44px;height:44px}
.mono em{color:var(--plum-2)}
.links{display:none;gap:22px}
.links a{font-family:"DM Serif Display",serif;font-style:italic;font-size:1.1rem;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.links a:hover{border-color:var(--ink)}
.lang{display:flex;border:1px solid var(--plum);border-radius:3px;overflow:hidden}
.lang-btn{border:0;background:transparent;padding:6px 10px;font-weight:800;font-size:.8rem;cursor:pointer;color:var(--plum)}
.lang-btn[aria-pressed="true"]{background:var(--plum);color:var(--blush)}
.nav-toggle{width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:22px;height:2px;background:var(--ink);position:relative}
.nav-toggle span::before{position:absolute;top:-7px}.nav-toggle span::after{position:absolute;top:7px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--plum);padding:16px 24px 24px;display:grid;gap:4px;transition:opacity .2s}
.mobile-menu a{color:var(--blush);font-family:"DM Serif Display",serif;font-size:1.6rem;text-decoration:none;padding:6px 0}
@media(min-width:960px){.links{display:flex}.nav-toggle,.mobile-menu{display:none}}

/* hero: copy left, polaroid stack right */
.hero{display:grid;gap:40px;padding:clamp(40px,7vw,96px) clamp(16px,5vw,64px);grid-template-columns:minmax(0,1fr)}
.hello{font-family:"DM Serif Display",serif;font-style:italic;font-size:1.5rem;color:var(--gold);margin:0 0 8px}
.hero h1{font-size:clamp(2.2rem,5.4vw,4.1rem);max-width:15ch}
.lead{font-size:1.15rem;color:var(--muted);max-width:46ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.btn-ink,.btn-line{display:inline-block;padding:14px 26px;font-weight:800;text-decoration:none;border-radius:0 18px 0 18px;border:2px solid var(--plum);cursor:pointer;font-size:1rem}
.btn-ink{background:var(--plum);color:var(--blush)}
.btn-ink:hover{background:var(--plum-2);color:#fff}
.btn-line{color:var(--plum);background:transparent}
.btn-line:hover{background:var(--blush)}
.polaroids{position:relative;margin:0;min-height:420px}
.pol{position:absolute;background:#fff;padding:12px 12px 44px;box-shadow:0 18px 40px rgba(43,22,48,.18)}
.pol img{background:var(--blush);object-fit:cover}
.pol--a{width:min(68%,320px);right:6%;top:0;transform:rotate(3deg)}
.pol--a img{aspect-ratio:5/6;width:100%}
.pol--b{width:min(48%,220px);left:2%;top:46%;transform:rotate(-5deg)}
.pol--b img{aspect-ratio:1;width:100%}
.polaroids .photo-note{position:absolute;left:0;bottom:-8px}
@media(min-width:900px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}.polaroids{min-height:520px}}

/* price list: three columns of menu with dotted leaders */
.prices{padding:clamp(56px,8vw,104px) clamp(16px,5vw,64px);background:var(--plum);color:var(--cream)}
.prices-head{display:grid;gap:8px;margin-bottom:36px}
.prices-head h2{font-size:clamp(2.4rem,6vw,4.6rem);font-style:italic;color:var(--blush);margin:0}
.prices-head p{color:#e9dbe4;max-width:52ch;margin:0}
.menu{display:grid;gap:36px;grid-template-columns:minmax(0,1fr)}
.menu h3{font-size:1.4rem;color:var(--blush);border-bottom:1px solid rgba(243,217,211,.35);padding-bottom:6px}
.menu dl{margin:0 0 20px}
.menu dl div{display:flex;align-items:baseline;gap:8px;padding:8px 0}
.menu dt{flex:0 1 auto;min-width:0}
.menu dd{margin:0;font-weight:800;font-size:1.1rem;color:#fff}
.menu dl div::after{content:"";order:1;flex:1 1 20px;border-bottom:2px dotted rgba(243,217,211,.45);transform:translateY(-4px)}
.menu dd{order:2}
.menu-col--senior{background:var(--blush);color:var(--ink);padding:24px;align-self:start;border-radius:0 28px 0 28px}
.menu-col--senior dd{color:var(--plum)}
.menu-col--senior dl div::after{border-color:rgba(43,22,48,.35)}
.ribbon{font-family:"DM Serif Display",serif;font-style:italic;font-size:2rem;color:var(--plum);margin:0 0 6px}
.small{font-size:.85rem;opacity:.85;margin-top:16px}
@media(min-width:900px){.menu{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* gaby: photo offset into the copy, bilingual quote */
.gaby{display:grid;gap:32px;padding:clamp(56px,8vw,110px) clamp(16px,5vw,64px);grid-template-columns:minmax(0,1fr)}
.gaby-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--blush);border-radius:200px 200px 0 0}
.gaby-words h2{font-size:clamp(2rem,4.5vw,3.2rem)}
.gaby blockquote{margin:0;border-left:4px solid var(--gold);padding-left:20px}
.gaby blockquote p{font-size:1.15rem}
.gaby blockquote p[lang="es"]{font-style:italic;color:var(--muted)}
.gaby blockquote footer{font-size:.9rem;font-weight:600}
.aside{margin-top:18px;font-weight:600}
@media(min-width:900px){.gaby{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end}}

/* reviews: one big score, themes as an underlined list */
.said{padding:clamp(48px,7vw,90px) clamp(16px,5vw,64px);border-top:1px solid #e6d6d0;text-align:right}
.said h2{font-size:clamp(1.8rem,4vw,2.8rem)}
.score{font-family:"DM Serif Display",serif;font-size:clamp(4rem,12vw,8rem);line-height:1;color:var(--plum);margin:0}
.score span{display:block;font-family:"Manrope",sans-serif;font-size:1rem;color:var(--muted)}
.themes{list-style:none;padding:0;margin:24px 0 0 auto;max-width:640px}
.themes li{font-family:"DM Serif Display",serif;font-size:1.35rem;padding:14px 0;border-bottom:1px solid #e6d6d0}

/* photo strip */
.strip-wrap{padding:clamp(40px,6vw,72px) 0 0 clamp(16px,5vw,64px)}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.strip button{padding:0;border:0;background:var(--blush);cursor:zoom-in;scroll-snap-align:start}
.strip button:nth-child(even){margin-top:36px}
.strip img{width:100%;aspect-ratio:5/6;object-fit:cover}

/* footer: signature line */
.foot{background:var(--ink);color:var(--blush);padding:48px clamp(16px,5vw,64px) 32px}
.foot a{color:var(--blush)}
.sig{font-family:"DM Serif Display",serif;font-style:italic;font-size:clamp(2rem,6vw,3.6rem);line-height:1.1;margin-bottom:18px}
.tiny{font-size:.8rem;opacity:.75;margin:0}
.form .btn-ink{justify-self:start}
.lang{flex:none}

/* find: full-bleed map with the address card overlapping it */
.find{position:relative;background:var(--blush)}
.find iframe{display:block;width:100%;height:340px;border:0;background:#e9d0c9}
.find-card{position:relative;margin:-60px clamp(16px,5vw,64px) 0;background:var(--cream);padding:28px clamp(20px,4vw,40px) 32px;border-top:6px solid var(--plum);max-width:560px;box-shadow:0 20px 40px rgba(43,22,48,.15)}
.find-card h2{font-style:italic;font-size:clamp(2rem,4.5vw,3rem);color:var(--plum)}
.addr{font-family:"DM Serif Display",serif;font-size:1.5rem;line-height:1.2}
.find-card .tel a{font-family:"DM Serif Display",serif;font-size:1.6rem;text-decoration:none}
.amen{font-size:.9rem;color:var(--muted);margin:0}
.find::after{content:"";display:block;height:clamp(32px,5vw,56px)}
@media(min-width:900px){.find iframe{height:440px}.find-card{position:absolute;right:clamp(24px,6vw,96px);top:50%;transform:translateY(-50%);margin:0}.find::after{display:none}}

/* booking form inside the dark price band */
.book{margin-top:48px;padding-top:36px;border-top:1px solid rgba(243,217,211,.35);max-width:900px}
.book h3{font-size:clamp(1.6rem,3.5vw,2.3rem);color:var(--blush);font-style:italic}
.demo-form{font-size:.85rem;color:#e9dbe4}
.book .form{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.book .form{grid-template-columns:repeat(2,minmax(0,1fr))}.book .form .btn-blush{grid-column:1/-1}}
.book .field label{display:block;font-weight:800;font-size:.9rem;margin-bottom:4px;color:var(--blush)}
.book .field input,.book .field select{width:100%;min-height:46px;border:0;border-bottom:2px solid var(--blush);background:transparent;color:var(--cream);padding:8px 2px}
.book .field select option{color:var(--ink)}
.book .field input:focus,.book .field select:focus{outline:none;border-bottom-color:var(--gold);background:rgba(255,255,255,.06)}
.book .field.has-error input,.book .field.has-error select{border-bottom-color:#ff9a9a}
.book .field-error{color:#ffb4b4}
.btn-blush{justify-self:start;padding:14px 28px;border:0;border-radius:0 18px 0 18px;background:var(--blush);color:var(--plum);font-weight:800;cursor:pointer}
.btn-blush:hover{background:#fff}
.book .form-success p{font-family:"DM Serif Display",serif;font-size:1.8rem;color:var(--blush)}
.said{text-align:right}
.gaby{border-top:1px solid #e6d6d0}
