:root{--primary-base: #d5788d;--primary-100: #f2dde0;--primary-200: #e2acb6;--primary-300: #d5788d;--primary-400: #b34e68;--primary-500: #7e3547;--primary-600: #4c1d29;--primary-700: #21090f;--secondary-base: #c5d5f1;--secondary-100: #d1dbeb;--secondary-200: #c5d5f1;--secondary-300: #8aafe4;--secondary-400: #588ac6;--secondary-500: #3f6593;--secondary-600: #284363;--secondary-700: #132337;--grey-base: #9c9193;--grey-100: #e3e1e1;--grey-200: #beb8b9;--grey-300: #9c9193;--grey-400: #786c6e;--grey-500: #534b4c;--grey-600: #312b2c;--grey-700: #131011;--color-cream: #fcfaf8;--color-dusty-blue: #c5d5f1;--color-dark: #1b140e;--color-border: #f3ede7;--color-primary: #d5788d;--color-primary-dark: #8e4b5a;--color-text: #5a4e45;--color-footer: #f3ede7;--color-footer-text: #b8a899;--color-footer-light: #978b7e;--color-footer-border: #3a3027;--color-white: #fff;--font-ballet: 'Playfair Display', sans-serif;--font-noto: 'Playfair Display', sans-serif;--font-family: var(--font-noto);--spacing-1: 0.25rem;--spacing-2: 0.5rem;--spacing-3: 0.75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--max-width-2xl: 42rem;--max-width-3xl: 48rem;--max-width-4xl: 56rem;--max-width-5xl: 64rem;--max-width-960: 960px;--max-width-480: 480px;--letter-spacing-tight: -0.033em;--letter-spacing-tight-custom: -0.015em;--letter-spacing-normal: 0.015em;--transition-fast: 150ms;--transition-base: 300ms;--transition-timing: cubic-bezier(0.4, 0, 0.2, 1)}html{font-family:var(--font-family);line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0;background-color:var(--secondary-100);color:var(--primary-500)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:inherit}h1,h2{color:var(--primary-600)}p{margin:0}p+p{margin-top:var(--spacing-8)}a{color:inherit;text-decoration:none;transition-property:color;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-fast)}svg{display:block;width:100%;height:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0;margin:0}.page-wrapper{position:relative;display:flex;width:100%;min-height:100vh;flex-direction:column;overflow-x:hidden;font-family:var(--font-family)}.layout-container{display:flex;height:100%;flex-grow:1;flex-direction:column}main{display:flex;flex:1;flex-direction:column}.container{max-width:var(--max-width-5xl);margin-left:auto;margin-right:auto;padding-left:var(--spacing-6);padding-right:var(--spacing-6)}@media (min-width: 768px){.container{padding-left:var(--spacing-10);padding-right:var(--spacing-10)}}.container-narrow{max-width:var(--max-width-3xl);margin-left:auto;margin-right:auto;padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.grid{display:grid;gap:var(--spacing-8);grid-template-columns:repeat(1, minmax(0, 1fr))}@media (min-width: 768px){.grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (min-width: 640px){.grid-2-col{grid-template-columns:repeat(2, minmax(0, 1fr))}}.header-logo{display:flex;align-items:center;gap:var(--spacing-3);color:#cfbead;left:var(--spacing-4)}.header-logo__icon{width:var(--spacing-10);height:var(--spacing-10);color:#cfbead}.header-logo__text{color:var(--color-dark);font-size:1.25rem;font-weight:300;line-height:1.25;letter-spacing:var(--letter-spacing-tight-custom)}@media (min-width: 768px){.header-logo{position:absolute}}.header-nav__link{transition-property:color;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-fast)}.header-nav__link:hover{color:var(--primary-600)}.header-nav__link--active{color:var(--primary-600)}.site-footer{padding:var(--spacing-12) 0;text-align:center}@media (min-width: 768px){.site-footer{padding:var(--spacing-16) 0}}.site-footer__container{max-width:var(--max-width-5xl);margin:0 auto;padding:0 var(--spacing-6)}@media (min-width: 768px){.site-footer__container{padding:0 var(--spacing-10)}}.site-footer__grid{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));gap:var(--spacing-8);margin-bottom:var(--spacing-8)}@media (min-width: 768px){.site-footer__grid{grid-template-columns:repeat(1, minmax(0, 1fr))}}.site-footer__title{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-3)}.site-footer__description{font-size:0.875rem}.site-footer__links{list-style:none;padding:0;margin:0}.site-footer__links li{margin-bottom:var(--spacing-2)}.site-footer__links a{font-size:0.875rem;transition-property:color;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-fast)}.site-footer__links a:hover{color:var(--color-white)}.site-footer__social{display:flex;gap:var(--spacing-4);justify-content:center}.site-footer__social a{transition-property:color;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-fast)}.site-footer__social a svg{width:24px;height:24px}.site-footer__bottom{border-top:1px solid var(--primary-200);padding-top:var(--spacing-8);display:flex;flex-direction:column;align-items:center;font-size:0.875rem;justify-content:center}@media (min-width: 768px){.site-footer__bottom{flex-direction:row}}.cafe-btn{transition-property:background-color;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-fast);align-items:center;background-color:var(--color-primary);border-radius:9999px;color:var(--color-white);cursor:pointer;display:inline-flex;font-size:1.25rem;font-weight:700;height:3rem;justify-content:center;letter-spacing:var(--letter-spacing-normal);line-height:1.5;margin-left:auto;margin-right:auto;max-width:var(--max-width-480);min-width:84px;overflow:hidden;padding:0 var(--spacing-6)}@media (min-width: 640px){.cafe-btn{font-size:1rem}}.cafe-btn:hover{background-color:var(--color-primary-dark)}.cafe-card{display:flex;flex-direction:column;gap:var(--spacing-4);background-color:var(--color-white);padding:var(--spacing-6);border-radius:0.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);transition-property:box-shadow;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-base)}.cafe-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}.page-section{padding:var(--spacing-16) var(--spacing-6)}@media (min-width: 768px){.page-section{padding:var(--spacing-24) var(--spacing-10)}}.page-section--rosa{background-color:var(--primary-200)}.page-section--blue{background-color:var(--secondary-200)}.page-section__header{text-align:center;margin-bottom:var(--spacing-12)}@media (min-width: 768px){.page-section__header{margin-bottom:var(--spacing-16)}}.page-section__title{color:var(--primary-500);font-size:1.875rem;font-weight:500;line-height:1.25;letter-spacing:-0.025em}@media (min-width: 640px){.page-section__title{font-size:2.25rem}}.page-section__description{color:var(--primary-600);font-size:1.25rem;line-height:1.5;text-align:center;margin-bottom:var(--spacing-4)}@media (min-width: 640px){.page-section__description{font-size:1.125rem}}@media (min-width: 768px){.page-section__description{font-size:1.25rem}}.feature-card{display:flex;flex-direction:column;gap:var(--spacing-4);background-color:var(--color-white);padding:var(--spacing-6);border-radius:0.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);transition-property:box-shadow;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-fast);transition-duration:var(--transition-base)}.feature-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}.feature-card__image{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:0.5rem}.feature-card__title{font-size:1.25rem;font-weight:600;line-height:1.5}.feature-card__description{font-size:0.875rem;font-weight:400;line-height:1.5}.contact-page__grid{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));gap:var(--spacing-12)}@media (min-width: 768px){.contact-page__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.contact-page__section-title{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-6)}.contact-page__info-list{display:flex;flex-direction:column;gap:var(--spacing-6)}.contact-page__info-item-label{color:var(--primary-600);font-size:1.2rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--spacing-1)}@media (min-width: 640px){.contact-page__info-item-label{font-size:0.875rem}}.contact-page__info-item-value{font-size:1.25rem;color:var(--primary-500)}@media (min-width: 640px){.contact-page__info-item-value{font-size:1rem}}.contact-page__social{display:flex;gap:var(--spacing-4)}.contact-page__social a{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);border-radius:0.5rem;transition-property:all;transition-timing-function:var(--transition-timing);transition-duration:var(--transition-fast)}@media (min-width: 640px){.contact-page__social a{padding:var(--spacing-4);width:4rem}}.contact-page__social a:hover{background-color:var(--color-footer);color:var(--primary-500)}.contact-page__social a .icon-wrapper{border-radius:9999px;background-color:var(--color-footer);padding:var(--spacing-3)}.contact-page__social a .icon-wrapper svg{width:1.75rem;height:1.75rem}.contact-page__social a p{font-size:0.875rem;font-weight:500}.contact-page__map{margin-top:var(--spacing-20)}.contact-page__map img{display:block;width:100%;height:auto;filter:brightness(1.05) contrast(0.9) saturate(0.6) hue-rotate(10deg)}.menu-page__section{margin-bottom:var(--spacing-12)}.menu-page__section-title{font-size:1.875rem;font-weight:600;letter-spacing:-0.025em;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--primary-200)}.menu-page__items{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));gap:var(--spacing-6) var(--spacing-8);row-gap:var(--spacing-6)}@media (min-width: 768px){.menu-page__items{grid-template-columns:repeat(2, minmax(0, 1fr))}}.menu-page__item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-3) 0}.menu-page__item-name{color:var(--primary-600);font-size:1.125rem;font-weight:600}.menu-page__item-description{color:var(--color-menu-desc);font-size:1.1rem}@media (min-width: 640px){.menu-page__item-description{font-size:0.875rem}}.menu-page__item-price{color:var(--primary-600);font-size:1.125rem;font-weight:600;white-space:pre}.text-center{text-align:center}.text-justify{text-align:justify}
