:root{--cream:#fff4da;--purple:#552479;--light:#eee2fa;--ink:#372047}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--purple);font:18px/1.6 'DM Sans',sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #b86b12;outline-offset:5px}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;background:white;z-index:10}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #55247930;gap:25px}.brand{text-decoration:none;font:900 30px/1 'Fraunces',Georgia,serif;letter-spacing:-1px}.brand small{display:block;font:12px/2 'DM Sans',sans-serif;letter-spacing:3px;text-align:center}nav{display:flex;gap:27px;flex-wrap:wrap;font-size:15px}nav a{text-decoration:none}nav a[aria-current=page]{border-bottom:2px solid}main{max-width:1440px;margin:auto}.hero{padding:65px 5% 60px;display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center}.eyebrow{text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:2px}.hero h1{font:900 clamp(48px,6.5vw,92px)/1.02 'Fraunces',Georgia,serif;letter-spacing:-3px;margin:25px 0}.hero h1 em{font-weight:500}.hero p{max-width:500px;color:var(--ink)}.hero-photo{width:100%;height:570px;object-fit:cover;object-position:50% 46%;border-radius:210px 210px 12px 12px}.caption{font-size:12px;text-align:center;letter-spacing:2px;margin-top:12px}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-block;background:var(--purple);color:var(--cream);padding:13px 24px;border:1px solid var(--purple);border-radius:30px;text-decoration:none;font-size:16px;font-weight:600}.button.alt{background:transparent;color:var(--purple)}.ribbon{background:var(--purple);color:var(--cream);padding:20px;text-align:center;font-size:14px;letter-spacing:2px}.section{padding:78px 5%}.section h2,.page h1{font:700 clamp(35px,4vw,58px)/1.12 'Fraunces',Georgia,serif;letter-spacing:-1px;margin:12px 0 30px}.section-intro{display:flex;justify-content:space-between;gap:35px;align-items:end}.section-intro p{max-width:430px}.locations{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #55247940;margin-top:32px}.location{padding:28px 22px 25px 0;border-bottom:1px solid #55247940}.location+.location{padding-left:24px;border-left:1px solid #55247940}.num{font-size:13px;letter-spacing:2px}.location h3{font:700 28px/1.2 'Fraunces',Georgia,serif;margin:24px 0 12px}.location p{font-size:15px;min-height:65px}.location a{font-size:15px;font-weight:600}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split img{width:100%;height:450px;object-fit:cover;border-radius:12px 12px 160px 12px}.lavender{background:var(--light)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.products article{border-top:1px solid #55247940;padding-top:25px}.products h3{font:700 29px/1.2 'Fraunces',Georgia,serif}.products p{font-size:16px;color:var(--ink)}.page{padding:55px 5% 85px;max-width:1000px}.page .lead{font-size:23px;max-width:760px}.page h2{font:700 32px/1.2 'Fraunces',Georgia,serif;margin-top:45px}.page h3{font-size:20px}.crumb{font-size:14px}.address{font:500 30px/1.3 'Fraunces',Georgia,serif}.details{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:32px 0;border-top:1px solid #55247940;border-bottom:1px solid #55247940;margin-top:40px}details{border-bottom:1px solid #55247940;padding:20px 0}summary{cursor:pointer;font-weight:600}.menu-list{list-style:none;padding:0}.menu-list li{padding:18px 0;border-bottom:1px solid #55247930}.menu-list strong{display:block}.menu-list span{font-size:16px;color:var(--ink)}footer{background:var(--purple);color:var(--cream);padding:50px 5% 25px}footer .inner{max-width:1296px;margin:auto;display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}footer .brand{font-size:40px}footer p,footer a{font-size:15px}.copyright{max-width:1296px;margin:40px auto 0;border-top:1px solid #fff4da50;padding-top:20px;font-size:12px}.contact{background:var(--purple);color:var(--cream);padding:65px 5%;display:flex;justify-content:space-between;align-items:center;gap:35px}.contact h2{font:700 42px/1.15 'Fraunces',Georgia,serif;max-width:550px}.contact .button{background:var(--cream);color:var(--purple);white-space:nowrap}@media(max-width:900px){header{align-items:flex-start;flex-direction:column;gap:22px}nav{gap:18px;font-size:14px}.hero{padding-top:40px;gap:35px}.hero-photo{height:440px}.locations{grid-template-columns:1fr 1fr}.location:nth-child(3){padding-left:0;border-left:0}.hero h1{letter-spacing:-2px}.section-intro{display:block}}@media(max-width:600px){body{font-size:17px}.hero,.split{grid-template-columns:1fr}.hero h1{font-size:58px}.hero-photo{height:410px;max-width:410px;display:block;margin:auto}.section{padding:50px 6%}.hero{padding:35px 6% 45px}.ribbon{font-size:11px;letter-spacing:1px}.locations{grid-template-columns:1fr}.location+.location{padding-left:0;border-left:0}.location p{min-height:0}.products,.details{grid-template-columns:1fr}.products{gap:15px}.section-intro h2{margin-bottom:20px}.split img{height:370px}.contact{display:block;padding:40px 6%}.contact h2{font-size:35px}.page{padding:35px 6% 60px}.page .lead{font-size:20px}footer .inner{flex-direction:column}.buttons{gap:10px}.button{padding:12px 20px}.location h3{margin-top:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Fiorentina editorial redesign */
header{max-width:none;background:var(--cream);padding:26px 4%;border:0}.brand{font-size:38px}nav{font-size:14px;gap:24px}.announce{background:var(--purple);color:var(--cream);padding:9px 15px;text-align:center;font-size:13px;letter-spacing:.3px}.editorial-hero{min-height:660px;background:var(--purple);color:var(--cream);margin:0 28px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:75px 30px;text-align:center}.editorial-hero .eyebrow{letter-spacing:4px}.editorial-hero h1{font:900 clamp(72px,12vw,170px)/.9 Fraunces,Georgia,serif;letter-spacing:-7px;margin:48px 0 30px}.editorial-hero h1 small{display:block;font:500 clamp(25px,3vw,43px)/1.4 Fraunces,Georgia,serif;letter-spacing:0;margin-top:24px}.editorial-hero p{max-width:520px;font-size:18px}.editorial-hero .button{border-color:var(--cream);color:var(--cream);background:transparent;border-radius:0}.editorial-hero .button:hover{background:var(--cream);color:var(--purple)}.brand-line{text-align:center;padding:55px 20px;font:500 clamp(25px,3vw,40px)/1.4 Fraunces,Georgia,serif}.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 28px 65px}.tile{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:45px 20px;text-decoration:none;background:#e5d8ee;color:var(--purple);border:1px solid #55247925;text-align:center}.tile:nth-child(2){background:#e9d7b4}.tile:nth-child(3){background:#683b84;color:var(--cream)}.tile-number{font-size:13px;letter-spacing:3px}.tile-word{font:500 clamp(38px,4vw,60px)/1.1 Fraunces,Georgia,serif;max-width:300px}.tile-label{border:1px solid currentColor;padding:11px 20px;font-size:17px}.tile:hover .tile-label{background:var(--purple);color:var(--cream)}.tile:nth-child(3):hover .tile-label{background:var(--cream);color:var(--purple)}.section h2{font-family:Fraunces,Georgia,serif}.section{padding:65px 4%}.location h3{font-size:27px}.button{border-radius:0}.statement{text-align:center;padding:80px 8%;background:var(--light)}.statement h2{font:500 clamp(35px,5vw,62px)/1.15 Fraunces,Georgia,serif;max-width:850px;margin:0 auto 25px}.statement p{max-width:670px;margin:20px auto}.text-hero{padding:85px 5%;background:var(--light)}.text-hero h1{font:700 clamp(52px,7vw,90px)/1 Fraunces,Georgia,serif;max-width:900px;margin:20px 0}.text-hero p{max-width:670px;font-size:21px}.photo-space{min-height:230px;background:#e4d8ee;display:flex;align-items:center;justify-content:center;font:500 44px Fraunces,Georgia,serif;letter-spacing:-1px;margin-top:35px}footer{margin-top:0}.location a{font-weight:500}.contact{margin:0 28px 55px}.copyright{font-size:13px}.page{max-width:1050px}.page .lead{line-height:1.7}@media(max-width:1000px){header{align-items:center}nav{justify-content:center}.triptych{gap:12px}.tile{min-height:350px}.tile-label{font-size:15px;padding:10px}.editorial-hero{min-height:570px}.editorial-hero h1{letter-spacing:-4px}}@media(max-width:600px){header{padding:22px 5%}.brand{font-size:36px}nav{gap:12px 18px;font-size:13px}.editorial-hero{margin:0 12px;min-height:530px;padding:55px 20px}.editorial-hero h1{font-size:73px;letter-spacing:-3px;margin:40px 0 20px}.editorial-hero h1 small{font-size:28px}.editorial-hero .eyebrow{font-size:11px;letter-spacing:2px}.editorial-hero p{font-size:16px}.brand-line{padding:35px 25px;font-size:26px}.triptych{grid-template-columns:1fr;padding:0 12px 35px;gap:12px}.tile{min-height:330px;padding:30px 20px}.tile-word{font-size:48px}.tile-label{font-size:17px}.contact{margin:0 12px 35px}.text-hero{padding:50px 6%}.text-hero h1{font-size:53px}.statement{padding:55px 7%}.photo-space{min-height:180px;font-size:34px}}
.editorial-hero{position:relative;isolation:isolate;overflow:hidden;min-height:730px;justify-content:flex-end;padding-bottom:65px}.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;z-index:-2}.editorial-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,23,.10) 0%,rgba(20,10,23,.24) 35%,rgba(20,10,23,.79) 100%);z-index:-1}.editorial-hero h1{font-size:clamp(70px,9vw,125px);margin:26px 0 20px}.editorial-hero h1 small{font-size:clamp(25px,3vw,37px);margin-top:15px}.editorial-hero p{margin:12px 0;text-shadow:0 1px 8px #0009}.editorial-hero .button{background:rgba(20,10,23,.30)}@media(max-width:600px){.editorial-hero{min-height:640px;padding:35px 20px}.cover-photo{object-position:50% 32%}.editorial-hero h1{font-size:68px;letter-spacing:-3px}.editorial-hero h1 small{font-size:25px}.editorial-hero .eyebrow{font-size:10px}.editorial-hero p{font-size:15px}}

.tile-photo{position:relative;isolation:isolate;overflow:hidden;color:var(--cream)!important}.tile-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;z-index:-2}.tile-photo:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,12,24,.5),rgba(22,12,24,.12) 35%,rgba(22,12,24,.62))}.tile-photo .tile-word{text-shadow:0 2px 14px #0008}.tile-photo .tile-label{background:rgba(22,12,24,.23)}.tile-photo:hover .tile-label{background:var(--cream);color:var(--purple)}

/* Edge-to-edge cover with navigation over the photograph */
.home header{position:absolute;top:0;left:0;right:0;z-index:5;background:transparent;color:var(--cream);padding:30px 4%;flex-direction:row;align-items:center;text-shadow:0 1px 8px #0008}.home main{max-width:none}.home .editorial-hero{margin:0;min-height:850px;min-height:100svh;padding:170px 30px 65px}.home .cover-photo{object-position:50% 34%}.home .editorial-hero:before{background:linear-gradient(180deg,rgba(20,10,23,.62) 0%,rgba(20,10,23,.08) 25%,rgba(20,10,23,.27) 50%,rgba(20,10,23,.83) 100%)}.home header nav{font-size:16px;gap:30px}.home header nav a{padding:8px 0;border-bottom:1px solid #fff4da80}.home .section,.home .triptych{max-width:1440px;margin-left:auto;margin-right:auto}@media(max-width:600px){.home header{padding:22px 5%;gap:15px;align-items:flex-start}.home header .brand{font-size:30px}.home header .brand small{font-size:9px;letter-spacing:2px}.home header nav{font-size:13px;gap:8px;flex-direction:column;align-items:flex-end}.home header nav a{padding:3px 0}.home .editorial-hero{min-height:720px;min-height:100svh;padding:145px 20px 45px}.home .cover-photo{object-position:50% 35%}}

/* Stable cover framing and text sizing across Safari and narrow screens */
.home .editorial-hero{min-height:760px;min-height:max(760px,100svh);height:auto;justify-content:flex-end;padding:160px 24px 55px}.home .cover-photo{object-position:center top}.home .editorial-hero h1{font-size:clamp(48px,7vw,108px);letter-spacing:-.035em;line-height:1.12;max-width:100%;overflow-wrap:normal;margin:20px 0;flex-shrink:0;text-shadow:0 2px 18px #0008}.home .editorial-hero h1 small{font-size:clamp(22px,2.4vw,35px);line-height:1.4;letter-spacing:0;max-width:100%;margin-top:14px}.home .editorial-hero p{max-width:660px;line-height:1.65}.home .editorial-hero .buttons{justify-content:center}.home .editorial-hero:before{background:linear-gradient(180deg,rgba(20,10,23,.5),rgba(20,10,23,.15) 28%,rgba(20,10,23,.7) 70%,rgba(20,10,23,.82))}@media(max-width:600px){.home .editorial-hero{min-height:700px;min-height:max(700px,100svh);padding:145px 18px 40px}.home .editorial-hero h1{font-size:clamp(44px,12vw,70px);letter-spacing:-.035em}.home .editorial-hero h1 small{font-size:clamp(20px,5.5vw,26px)}.home .cover-photo{object-position:center top}.home .editorial-hero p{font-size:16px}.home header .brand{font-size:28px}}

.locations{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.location{padding:28px 26px 30px 0}.location+.location{padding-left:26px}.location:nth-child(odd){padding-left:0;border-left:0}.location-photo{display:block;width:100%;height:360px;object-fit:cover;object-position:50% 35%;margin:0 0 25px}.location h3{margin-top:18px}.location p{min-height:65px}@media(max-width:600px){.locations{grid-template-columns:1fr}.location,.location+.location{padding:25px 0;border-left:0}.location-photo{height:340px}.location p{min-height:0}}

/* Compact location photographs with text overlaid */
.locations{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-top:0}.location,.location+.location,.location:nth-child(odd){padding:24px 16px;border:1px solid #55247930;min-height:250px}.location h3{font-size:25px;margin:0 0 12px}.location p{font-size:14px;min-height:64px}.location-overlay{position:relative;isolation:isolate;overflow:hidden;color:var(--cream);display:flex;align-items:flex-end}.location-overlay .location-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%;margin:0;z-index:-2}.location-overlay:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,10,23,.08),rgba(20,10,23,.48) 40%,rgba(20,10,23,.86))}.location-copy{width:100%;text-shadow:0 1px 5px #0008}.location-copy a{font-size:14px}.location-overlay .location-copy p{margin:12px 0 18px}@media(max-width:1000px){.locations{grid-template-columns:repeat(2,minmax(0,1fr))}.location,.location+.location{min-height:250px}}@media(max-width:600px){.locations{gap:12px}.location,.location+.location{padding:20px 12px;min-height:240px}.location h3{font-size:23px}.location p{font-size:13px;min-height:70px}.location-copy a,.location a{font-size:13px}}@media(max-width:370px){.locations{grid-template-columns:1fr}.location,.location+.location{min-height:230px}}

/* Reveal location photography on pointer hover and keyboard focus. */
.location-overlay:before{background:linear-gradient(180deg,rgba(20,10,23,0),rgba(20,10,23,.12) 40%,rgba(20,10,23,.64));opacity:1;transition:opacity .35s ease}
.location-overlay .location-photo{transition:filter .35s ease;filter:brightness(1)}
.location-copy{text-shadow:0 1px 4px #000,0 2px 12px #0008}
.location-overlay:hover:before,.location-overlay:focus-within:before{opacity:.4}
.location-overlay:hover .location-photo,.location-overlay:focus-within .location-photo{filter:brightness(1.12)}
@media(hover:none){.location-overlay:before{opacity:.7}}
@media(prefers-reduced-motion:reduce){.location-overlay:before,.location-overlay .location-photo{transition:none}}

.triptych .tile{justify-content:space-between}.triptych .tile-word{margin-top:auto;margin-bottom:auto}

/* Nuestro café: ritual y granos */
.coffee-ritual{position:relative;isolation:isolate;overflow:hidden;background:var(--purple);color:var(--cream);padding:75px 5%;min-height:700px;display:flex;align-items:center}
.coffee-ritual-photo{position:absolute;inset:0 0 0 auto;width:53%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.coffee-ritual:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#552479 0%,#552479 41%,#552479ee 48%,#55247966 62%,transparent 80%)}
.coffee-ritual-copy{width:57%;max-width:740px}
.coffee-ritual h1{font-size:clamp(38px,4.5vw,65px);line-height:1.08;max-width:680px;margin:24px 0 30px}
.coffee-ritual p{font-size:18px;line-height:1.7;max-width:600px;margin:20px 0}
@media(max-width:800px){.coffee-ritual{display:block;padding:0;min-height:0}.coffee-ritual-photo{position:relative;display:block;width:100%;height:340px;object-position:center 48%;z-index:auto}.coffee-ritual:before{display:none}.coffee-ritual-copy{width:auto;max-width:none;padding:40px 6% 50px}.coffee-ritual h1{font-size:clamp(36px,7vw,50px)}.coffee-ritual p{font-size:17px}}

/* Frase de transición compacta */
.home .brand-line{padding:18px 4%;font-size:clamp(18px,2.3vw,30px);line-height:1.3;letter-spacing:-.3px;white-space:nowrap}
@media(max-width:600px){.home .brand-line{padding:16px 5%;font-size:18px;white-space:normal;text-wrap:balance}}

/* Quiénes somos: origen y filosofía */
.story-page{max-width:1440px}
.story-intro{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--light)}
.story-intro-copy{padding:clamp(36px,5vw,74px);align-self:center}
.story-intro h1{font:700 clamp(44px,5.2vw,74px)/1.06 Fraunces,Georgia,serif;letter-spacing:-.035em;margin:24px 0 28px}
.story-intro p{max-width:570px;font-size:17px;line-height:1.75;margin:0 0 20px}
.story-intro p.story-lead{font-size:23px;line-height:1.5}
.story-photo{display:block;width:100%;height:100%;min-height:650px;max-height:880px;object-fit:cover;object-position:center 48%}
.story-philosophy{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;padding:80px 6%;border-bottom:1px solid #55247930}
.story-page h2{font:500 clamp(35px,4.2vw,58px)/1.12 Fraunces,Georgia,serif;letter-spacing:-.025em;margin:18px 0 26px}
.story-prose{max-width:640px}.story-prose p{font-size:18px;line-height:1.75;margin:0 0 22px}.story-prose .story-lead{font-size:25px;line-height:1.45}
.story-recipes{max-width:900px;margin:auto;padding:75px 6%;text-align:center}.story-recipes p{font-size:18px;line-height:1.8}.story-recipes .button{margin-top:15px}
.story-closing{background:var(--purple);color:var(--cream);padding:75px 6%;text-align:center}.story-closing h2{max-width:900px;margin:22px auto 30px}.story-closing p{max-width:650px;margin:0 auto 30px;line-height:1.8}.story-closing .button{background:var(--cream);color:var(--purple);border-color:var(--cream)}
@media(max-width:800px){.story-intro{grid-template-columns:1fr}.story-photo{min-height:0;height:440px;max-height:none;object-position:center 45%}.story-intro-copy{padding:45px 6% 25px}.story-intro h1{font-size:clamp(43px,8vw,64px)}.story-philosophy{grid-template-columns:1fr;gap:8px;padding:50px 6%}.story-recipes,.story-closing{padding:50px 6%}.story-prose p,.story-recipes p{font-size:17px}.story-prose .story-lead{font-size:23px}}

/* Alternating photographs in the Fiorentina story */
.story-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center;max-width:none;margin:0;padding:0;border:0;text-align:left}
.story-section-copy{padding:clamp(32px,5vw,72px);min-width:0}
.story-section-copy .story-prose{max-width:none}
.story-section-copy p{font-size:18px;line-height:1.75}
.story-section-photo{display:block;width:100%;height:clamp(580px,58vw,780px);object-fit:cover;object-position:center}
.story-section-photo.tempo-di-caffe{object-position:center 64%}
.story-section-photo.tortita-negra-y-cafe{object-position:center bottom}
.story-recipes.story-photo-row{background:var(--light)}
@media(max-width:800px){.story-photo-row{grid-template-columns:1fr}.story-section-copy{padding:42px 6%}.story-section-copy p{font-size:17px}.story-section-photo{height:auto;max-height:none;aspect-ratio:2/3;object-fit:cover}.story-philosophy.story-photo-row .story-section-copy{grid-row:1}.story-section-copy .story-lead{font-size:23px}}

/* Product photo galleries */
.product-photo-sections{padding:48px 4% 28px}
.product-gallery-heading{text-align:center;max-width:700px;margin:0 auto 30px}
.product-gallery-heading h2{font:500 clamp(38px,5vw,60px)/1.1 Fraunces,Georgia,serif;letter-spacing:-1.5px;margin:0 0 18px}
.product-gallery-heading p{font-size:17px;line-height:1.65;margin:0}
.product-gallery{display:grid;gap:18px}.focaccia-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.pastry-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}
.product-gallery figure{margin:0;min-width:0}.product-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.focaccia-gallery figure:first-child img{object-position:center 42%}.focaccia-gallery figure:nth-child(2) img{object-position:center 58%}.focaccia-gallery figure:nth-child(3) img{object-position:center 60%}
.pastry-gallery img{aspect-ratio:2/3}.product-gallery figcaption{text-align:center;font-size:16px;line-height:1.4;padding-top:12px}
.pastry-product-section{margin-top:48px;padding-top:40px;border-top:1px solid #55247930}.pastry-product-section h2{font-size:clamp(32px,4vw,48px)}
@media(max-width:600px){.product-photo-sections{padding:35px 5% 15px}.product-gallery{gap:12px}.pastry-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.pastry-gallery figure:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}.product-gallery figcaption{font-size:14px}.product-gallery-heading p{font-size:16px}}
@media(max-width:520px){.focaccia-gallery{grid-template-columns:1fr 1fr}.focaccia-gallery figure:first-child{grid-column:1/-1}.focaccia-gallery figure:first-child img{aspect-ratio:4/3}}

.special-products-section{padding:40px 4% 36px;margin:20px 0 0}
.special-products-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.special-products-gallery img{aspect-ratio:3/4}
.special-products-gallery figure:first-child img{object-position:center 65%}
.special-products-gallery figure:nth-child(2) img{object-position:center 42%}
.special-products-gallery figure:last-child img{object-position:center 60%}
@media(max-width:600px){.special-products-section{padding:35px 5% 20px}.special-products-gallery{grid-template-columns:1fr}.special-products-gallery img{aspect-ratio:3/4}}

/* Diagonal product cover */
.products-diagonal-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--cream);padding:80px 5%;min-height:650px;display:flex;align-items:center}
.products-diagonal-photo{position:absolute;top:0;right:0;width:70%;height:100%;object-fit:cover;object-position:center 58%;clip-path:polygon(45% 0,100% 0,100% 100%,0 100%);z-index:-2}
.products-diagonal-copy{position:relative;width:76%;max-width:980px}
.products-diagonal-hero h1{font-size:clamp(48px,6.4vw,90px);line-height:1.07;letter-spacing:-.035em;margin:25px 0 30px;text-shadow:0 1px 1px #fff4da,0 0 12px #fff4da,0 0 28px #fff4dac9}
.products-diagonal-hero p{max-width:510px;font-size:18px;line-height:1.65;padding:12px 16px 12px 0;background:linear-gradient(90deg,#fff4da 78%,#fff4da00)}
@media(max-width:700px){.products-diagonal-hero{min-height:680px;padding:45px 6% 260px;align-items:flex-start}.products-diagonal-photo{width:100%;height:62%;top:auto;bottom:0;clip-path:polygon(80% 0,100% 0,100% 100%,0 100%,0 62%);object-position:center 60%}.products-diagonal-copy{width:100%}.products-diagonal-hero h1{font-size:clamp(39px,9vw,63px);margin:20px 0}.products-diagonal-hero p{max-width:390px;font-size:16px}}

/* Coffee collection: photographic diagonal panels */
.coffee-collection{background:#fff4da;padding:64px 0 70px;overflow:hidden}
.coffee-collection-copy{max-width:1100px;margin:0 auto;padding:0 36px 42px;color:#552479}
.coffee-collection-copy h2{font-family:Fraunces,Georgia,serif;font-size:clamp(44px,6vw,82px);line-height:1.06;letter-spacing:-.035em;margin:16px 0 22px;font-weight:500}
.coffee-collection-copy p{max-width:580px;font-size:18px;line-height:1.65;margin:0}
.coffee-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 0;max-width:1440px;margin:0 auto;padding:0 24px}
.coffee-collage-item{margin:0;grid-column:span 3;height:420px;position:relative;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);width:114%;margin-left:-7%;background:#552479}
.coffee-collage-item:nth-child(n+5){grid-column:span 4;height:410px;width:110%;margin-left:-5%}
.coffee-collage-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.coffee-collage-item:hover img{transform:scale(1.035)}
.coffee-photo-2 img{object-position:50% 48%}.coffee-photo-3 img{object-position:50% 50%}.coffee-photo-4 img{object-position:55% 50%}
.coffee-collection-actions{max-width:1100px;margin:40px auto 0;padding:0 36px}
@media(max-width:900px){.coffee-collage-item,.coffee-collage-item:nth-child(n+5){height:320px}.coffee-collection{padding-top:42px}}
@media(max-width:600px){.coffee-collection-copy{padding:0 24px 30px}.coffee-collection-copy h2{font-size:clamp(40px,10vw,58px)}.coffee-collection-copy p{font-size:17px}.coffee-collage{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px;gap:10px 0}.coffee-collage-item,.coffee-collage-item:nth-child(n+5){grid-column:span 1;height:300px;width:112%;margin-left:-6%}.coffee-collage-item:last-child{grid-column:1/-1;height:360px;width:100%;margin-left:0;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}.coffee-collection-actions{padding:0 24px;margin-top:30px}.coffee-collection{padding-bottom:44px}}
@media(prefers-reduced-motion:reduce){.coffee-collage-item img{transition:none}}

/* Preserve the complete four-drink photograph within the diagonal panel. */
.coffee-photo-7{background:#f2a228}.coffee-photo-7 img{object-fit:contain;object-position:center center}.coffee-photo-7:hover img{transform:none}

.coffee-drinks{max-width:1120px;margin:38px auto 0;padding:0 36px;text-align:center;color:#552479;font-family:Fraunces,Georgia,serif;font-size:clamp(19px,2.05vw,27px);font-weight:400;line-height:1.95}.coffee-drink{display:inline-block}.coffee-middle-dot{display:inline-block;margin:0 .22em}.coffee-collection-actions{justify-content:center;margin-top:28px}@media(max-width:600px){.coffee-drinks{padding:0 24px;margin-top:28px;font-size:19px;line-height:1.9}.coffee-middle-dot{margin:0 .12em}}

/* Delicate, compact drink list. */
.coffee-drinks{font-family:"DM Sans",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.7;letter-spacing:.01em;color:#705b7e;margin-top:24px;max-width:1120px}.coffee-middle-dot{margin:0 .15em}.coffee-collection-actions{margin-top:22px}@media(max-width:600px){.coffee-drinks{font-size:12px;line-height:1.65;margin-top:20px;padding:0 24px}}

.pet-friendly-answer img{display:block;width:140px;max-width:100%;height:auto;border-radius:6px;margin:12px 0 8px}.location-photo[src*="local-colegiales"]{object-position:50% 45%}.location-photo[src*="local-palermo"]{object-position:50% 60%}

.trattoria-local{position:relative;isolation:isolate;min-height:510px;margin:32px 0 38px;overflow:hidden;border-radius:4px;background:#552479}.trattoria-local img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;z-index:-2}.trattoria-local:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(28,15,35,.8));z-index:-1}.trattoria-local-copy{position:absolute;bottom:0;left:0;padding:36px;color:#fff4da;max-width:650px}.trattoria-local-copy .eyebrow,.trattoria-local-copy h2,.trattoria-local-copy p{color:#fff4da}.trattoria-local-copy h2{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:12px 0 16px}.trattoria-local-copy p{font-size:18px;line-height:1.6;margin:0}@media(max-width:600px){.trattoria-local{min-height:480px}.trattoria-local-copy{padding:26px}.trattoria-local-copy p{font-size:17px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
