:root{--brand:#5d3f3d;--dark:#442d2b;--cream:#faf7f2;--accent:#e3c9b5;--ink:#442f2d;--muted:#75615b;--line:#e3d8d1;--white:#fffdf9;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #90634e;outline-offset:5px}::selection{background:#e3c9b5;color:#442d2b}.announcement{background:var(--brand);color:var(--cream);text-align:center;padding:9px 20px;font-size:12px;letter-spacing:1.8px;font-weight:600}.site-header{position:sticky;top:0;z-index:8;background:var(--white);border-bottom:1px solid var(--line)}.nav-wrap{height:108px;max-width:var(--max);margin:auto;padding:0 5%;display:flex;align-items:center;gap:46px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-image{width:138px;height:72px;object-fit:contain}.brand-name{font-family:Georgia,serif;font-size:27px;line-height:1;letter-spacing:-1.2px}.brand-name small{display:block;font:10px Arial,sans-serif;letter-spacing:4px;margin-top:9px}.main-nav{display:flex;align-items:center;gap:29px;flex:1}.main-nav a{font-size:14px;font-weight:700;padding:12px 0;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav a.active{border-color:var(--brand)}.nav-location{margin-left:auto;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center}.nav-location svg{width:18px;height:18px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid currentColor;border-radius:99px;padding:11px 24px;font-size:14px;font-weight:700;line-height:1.5;transition:background .2s,color .2s}.pill:hover{background:var(--brand);color:var(--white)}.pill.light{background:var(--cream);color:var(--brand);border-color:var(--cream)}.pill.light:hover{background:var(--accent);border-color:var(--accent)}.pill.solid{background:var(--brand);color:var(--white);border-color:var(--brand)}.pill.solid:hover{background:#754f49}.pill.gold{background:var(--accent);border-color:var(--accent);color:var(--dark)}.nav-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:8px;color:var(--brand)}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:auto;min-height:640px}.hero-copy{background:var(--brand);color:var(--cream);padding:70px 12% 62px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 22px}.hero .eyebrow{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.08}h1{font-size:clamp(48px,5.5vw,78px);margin-bottom:26px}h1 em{font-weight:400;color:var(--accent)}.hero p:not(.eyebrow){font-size:17px;max-width:370px;line-height:1.75;margin:0 0 33px;color:#efe1d6}.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid;padding-bottom:3px}.hero-media{position:relative;background:#c4a18b;min-height:520px}.hero-media>img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-label{position:absolute;bottom:22px;right:22px;padding:10px 17px;border-radius:99px;background:#fff9f2ed;color:var(--brand);font-size:12px;font-weight:600}.address-strip{max-width:var(--max);margin:auto;padding:21px 5%;background:#efe5dc;display:flex;align-items:center;justify-content:center;gap:32px;font-size:13px;font-weight:600}.address-strip span+span{border-left:1px solid #d1beb1;padding-left:32px}.section{max-width:var(--max);margin:auto;padding:90px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:35px}.section-heading h2,h2{font-size:clamp(34px,3.5vw,51px);margin:0}.section-heading p{max-width:430px;font-size:16px;color:var(--muted);margin:16px 0 0}.section .eyebrow{color:#785446;margin-bottom:14px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.category-card{display:block}.category-image{height:280px;overflow:hidden;background:#eee0d2}.category-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.category-card:hover img{transform:scale(1.04)}.category-info{padding:22px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.category-info h3{font:26px/1.2 Georgia,serif;margin:0}.category-card p{font-size:14px;color:var(--muted);margin:0}.arrow{width:37px;height:37px;border:1px solid #d1beb1;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.split{display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:auto}.split-image{min-height:490px;position:relative;background:#dac0aa}.split-image img{width:100%;height:100%;position:absolute;object-fit:cover}.split-copy{padding:75px 13%;background:#eadbcf;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.split-copy h2{margin-bottom:25px}.split-copy p{font-size:16px;margin-bottom:26px}.quote-band{background:var(--brand);color:var(--cream);text-align:center;padding:77px 22px}.quote-band blockquote{font:clamp(30px,3.4vw,48px)/1.3 Georgia,serif;max-width:810px;margin:0 auto 20px;letter-spacing:-1px}.quote-band p{font-size:12px;letter-spacing:2.5px;color:var(--accent);margin:0}.visit-section{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.visit-section h2{margin-bottom:23px}.visit-section p{color:var(--muted)}.visit-details{border-top:1px solid var(--line)}.detail-row{border-bottom:1px solid var(--line);padding:19px 0;display:flex;justify-content:space-between;gap:24px;font-size:14px}.detail-row span{color:var(--muted)}.detail-row strong{font-weight:500;text-align:right}.site-footer{background:#f0e7df;border-top:1px solid #e3d5c9;padding:55px 6% 22px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:50px;max-width:1268px;margin:0 auto 45px}.footer-main p{font-size:14px;color:var(--muted);max-width:250px;margin:18px 0 0}.footer-main h3{font-size:14px;margin-bottom:17px}.footer-main a:not(.brand){display:block;font-size:14px;color:#6c5048;margin:9px 0}.footer-main a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ddcec2;max-width:1268px;margin:auto;padding-top:21px;font-size:12px;color:#75615b;display:flex;justify-content:space-between;gap:22px}.breadcrumb{font-size:12px;color:var(--muted);padding:27px 6%;max-width:var(--max);margin:auto}.page-heading{max-width:var(--max);margin:auto;padding:26px 6% 65px}.page-heading h1{font-size:clamp(48px,5.5vw,76px);max-width:900px;margin-bottom:23px}.page-heading p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:660px;margin-bottom:0}.page-heading .eyebrow{color:#785446}.prose{font-size:17px;line-height:1.9}.prose p{margin-bottom:22px}.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.intro-split h2{margin-bottom:27px}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.feature{border-top:1px solid #ccb5a5;padding-top:23px}.feature-number{font:18px Georgia,serif;color:#785446;display:block;margin-bottom:25px}.feature h3{font:28px/1.2 Georgia,serif;margin-bottom:15px}.feature p{font-size:15px;color:var(--muted);margin:0}.band{background:#f0e7df}.menu-layout{display:grid;grid-template-columns:210px 1fr;gap:55px}.menu-aside{position:sticky;top:138px;align-self:start;display:flex;flex-direction:column;gap:7px}.menu-aside a{padding:12px 16px;border-radius:5px;font-size:15px}.menu-aside a:hover,.menu-aside a.current{background:var(--brand);color:var(--cream)}.menu-group{margin-bottom:55px;scroll-margin-top:130px}.menu-group h2{font-size:36px;margin-bottom:10px}.menu-group>p{font-size:15px;color:var(--muted);margin-bottom:25px}.menu-item{border-bottom:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:25px}.menu-item h3{font-size:17px;font-weight:600;margin:0 0 6px}.menu-item p{font-size:14px;color:var(--muted);margin:0}.menu-tag{font-size:12px;white-space:nowrap;color:#785446}.content-note{font-size:13px;color:#75615b;border-left:3px solid #bb9680;padding:12px 20px;line-height:1.7;background:#f1e5da}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-panel{background:var(--white);padding:38px;border:1px solid var(--line)}.contact-panel h2{font-size:34px;margin-bottom:27px}.contact-panel .pill{margin-top:25px}.hours-table{width:100%;border-collapse:collapse;font-size:15px}.hours-table td{padding:12px 0;border-bottom:1px solid var(--line)}.hours-table td:last-child{text-align:right;color:#75615b}.faq-list{max-width:840px;margin:auto}.faq-list details{border-bottom:1px solid #ddcec2;padding:0}.faq-list summary{padding:25px 38px 25px 0;cursor:pointer;font-size:18px;font-weight:600;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:8px;font-weight:400;font-size:23px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:var(--muted);font-size:16px;margin:0;padding:0 35px 28px 0}.map-panel{background:var(--brand);color:var(--cream);padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:40px}.map-panel h2{font-size:40px;margin-bottom:18px}.map-panel p{margin:0;color:#efe1d6}.skip-link{position:absolute;left:20px;top:-100px;background:var(--brand);color:white;padding:12px 20px;z-index:99}.skip-link:focus{top:10px}.hidden{display:none!important}.sticky-mobile{display:none}@media(min-width:1600px){body{background:#eae0d7}main{background:linear-gradient(var(--cream),var(--cream)) center/min(100%,var(--max)) 100% no-repeat;display:flow-root}.site-header,.site-footer{max-width:var(--max);margin:auto}.section:not(.band),.page-heading,.breadcrumb{background:var(--cream)}}@media(max-width:1100px){.nav-wrap{gap:25px}.main-nav{gap:18px}.nav-location{display:none}.hero-copy{padding:50px 9%}.hero{min-height:570px}.hero-media{min-height:500px}.footer-main{gap:30px}.visit-section{gap:40px}.section{padding:70px 6%}.hero-copy h1{font-size:58px}}@media(max-width:760px){.announcement{font-size:10px;letter-spacing:1.1px;padding:8px 12px}.nav-wrap{height:83px;padding:0 6%;gap:18px}.brand-image{width:113px;height:59px}.brand-name{font-size:25px}.brand-name small{font-size:8px}.nav-wrap>.pill{margin-left:auto;font-size:12px;padding:8px 14px}.nav-toggle{display:block;flex-shrink:0}.main-nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);padding:18px 6% 25px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 20px #5d3f3d10}.main-nav.open{display:flex}.main-nav a{font-size:16px;padding:13px 0}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 8% 47px}.hero-copy h1{font-size:57px;max-width:420px}.hero-copy .eyebrow{font-size:11px;margin-bottom:20px}.hero p:not(.eyebrow){font-size:16px;margin-bottom:27px}.hero-media{height:360px;min-height:0}.hero-media img{object-position:50% 56%}.photo-label{font-size:11px;right:15px;bottom:15px}.address-strip{font-size:12px;gap:9px;padding:18px 6%;flex-wrap:wrap}.address-strip span+span{padding-left:10px}.section{padding:55px 7%}.section-heading{display:block;margin-bottom:26px}.section-heading .text-link{display:inline-block;margin-top:20px}.section-heading h2,h2{font-size:37px}.category-grid{grid-template-columns:1fr;gap:33px}.category-image{height:310px}.category-info{padding-top:16px}.split{grid-template-columns:1fr}.split-image{min-height:350px}.split-copy{padding:48px 8%}.quote-band{padding:55px 8%}.quote-band blockquote{font-size:32px}.visit-section{grid-template-columns:1fr;gap:27px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.site-footer{padding:45px 7% 22px}.footer-bottom{display:block;font-size:11px}.footer-bottom span{display:block;margin-top:9px}.page-heading{padding:15px 7% 45px}.page-heading h1{font-size:49px}.page-heading p:not(.eyebrow){font-size:16px}.breadcrumb{padding:22px 7%;font-size:12px}.intro-split,.contact-grid{grid-template-columns:1fr;gap:30px}.feature-list{grid-template-columns:1fr;gap:35px}.menu-layout{grid-template-columns:1fr;gap:30px}.menu-aside{position:static;flex-direction:row;flex-wrap:wrap;gap:5px}.menu-aside a{font-size:13px;padding:8px 12px;border:1px solid #ddcec2}.menu-item{gap:15px}.menu-item h3{font-size:16px}.menu-tag{white-space:normal;text-align:right;max-width:95px}.menu-group h2{font-size:33px}.contact-panel{padding:25px}.map-panel{display:block;padding:45px 8%}.map-panel h2{font-size:35px}.map-panel .pill{margin-top:25px}.faq-list summary{font-size:17px}.faq-list details p{font-size:15px}.eyebrow{font-size:11px}.hero-actions{gap:15px}.pill{font-size:13px;padding:11px 21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-image{width:68px;height:68px;border-radius:50%;object-fit:contain}.brand-name{font-size:24px}.brand-name small{font-size:9px;letter-spacing:2.5px}.brand{gap:13px}.nav-wrap{gap:35px}.main-nav{gap:25px}@media(max-width:1150px){.brand-name{display:none}.nav-wrap{gap:28px}}@media(max-width:760px){.brand-name{display:block;font-size:19px}.brand-name small{font-size:7px;letter-spacing:1.5px}.brand-image{width:50px;height:50px}.brand{gap:9px}.nav-wrap{gap:10px}.nav-wrap>.pill{padding:8px 12px;font-size:11px}}@media(max-width:390px){.brand-name{display:none}.brand-image{width:53px;height:53px}}
.storefront{margin:0 auto;width:100%;max-width:408px}.storefront img{width:100%;height:auto}.storefront figcaption{font-size:12px;color:var(--muted);margin-top:12px}.storefront figcaption a{text-decoration:underline}.schedule-note{font-size:13px;color:var(--muted);margin:22px 0 0;line-height:1.6}.schedule-note a{text-decoration:underline}.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}.site-footer .brand-name{display:block}.site-footer .brand-image{width:64px;height:64px}@media(max-width:760px){.hero-copy h1{letter-spacing:-1.6px}.footer-main{column-gap:18px}.feature-list{gap:32px}.storefront{max-width:360px}}@media(max-width:350px){.hero-copy h1{font-size:48px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.detail-row{font-size:13px}}

/* Ubicaciones Barcelona y Sabadell */
.location-links{max-width:var(--max);margin:0 auto;padding:0 6% 38px;display:flex;flex-wrap:wrap;gap:14px}.location-map-link{display:inline-block;margin-top:25px}.footer-main .footer-location-heading{margin-top:26px;margin-bottom:12px}.visit-section.band{background:#f0e7df}.address-strip a:hover{text-decoration:underline}@media(max-width:760px){.location-links{padding:0 7% 30px}.address-strip{column-gap:20px;row-gap:8px}}

/* Mismo estilo para los títulos de contacto */
.page-heading .contact-title,.section-heading .contact-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,5.5vw,76px);font-weight:400;font-style:normal;letter-spacing:-2px;line-height:1.08;color:var(--ink);text-transform:none;max-width:900px;margin:0 0 23px}@media(max-width:760px){.page-heading .contact-title,.section-heading .contact-title{font-size:49px}}

/* Etiquetas de ubicacion con el mismo formato */
.page-heading .contact-eyebrow,.section .section-heading .contact-eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:700;font-style:normal;line-height:1.65;letter-spacing:2.5px;text-transform:uppercase;color:#785446;margin:0 0 14px}

/* Subtitulos de contacto iguales en ambas ubicaciones */
.page-heading p.contact-subtitle,.section-heading p.contact-subtitle{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;font-style:normal;line-height:1.65;letter-spacing:normal;color:var(--muted);max-width:430px;margin:16px 0 0}

/* Selector de cafeteria visible al desplazarse, debajo de la cabecera. */
.location-links{position:sticky;top:109px;z-index:7;background:var(--cream);padding-top:12px;padding-bottom:12px;margin-bottom:26px}
#barcelona,#sabadell{scroll-margin-top:90px}
@media(max-width:760px){.location-links{top:84px;padding-top:12px;padding-bottom:12px;margin-bottom:18px}#barcelona,#sabadell{scroll-margin-top:150px}}

/* La visita y la fotografia forman parte de cada ubicacion. */
.location-visit{margin-top:60px;padding-top:50px;border-top:1px solid var(--line)}
.location-directions{margin-top:50px}
@media(max-width:760px){.location-visit{margin-top:40px;padding-top:35px}.location-directions{margin-top:35px}}

/* Pie de pagina marron oscuro con letras blancas. */
.site-footer{background:var(--dark);color:#fff;border-top-color:var(--dark)}
.site-footer .footer-main p,.site-footer .footer-main a:not(.brand),.site-footer .footer-bottom{color:#fff}
.site-footer .footer-bottom{border-top-color:#ffffff33}
.site-footer a:focus-visible{outline-color:#fff}

/* Misma distancia del subtitulo a los paneles en ambas cafeterias. */
#sabadell > .section-heading{margin-bottom:65px}
@media(max-width:760px){#sabadell > .section-heading{margin-bottom:45px}}

/* Barra de anuncio y navegacion unidas en una sola cabecera fija. */
:root{--header-height:147px}
.site-header{max-width:var(--max);margin:0 auto}
html{scroll-padding-top:calc(var(--header-height) + 1px)}
.location-links{top:var(--header-height)}
.menu-aside{top:calc(var(--header-height) + 29px)}
@media(max-width:760px){:root{--header-height:117px}.main-nav{top:100%}}

#barcelona,#sabadell{scroll-margin-top:calc(var(--location-nav-height,69px) + 24px)}
