@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Work+Sans:wght@400;500;600&family=Caveat:wght@500;600&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: oklch(96% .014 75);--bg-muted: oklch(93% .02 70);--bg-dark: oklch(24% .02 40);--text: oklch(24% .02 40);--text-muted: oklch(35% .02 40);--text-light: oklch(45% .015 40);--accent-warm: oklch(62% .1 40);--accent-green: oklch(62% .07 150);--border: oklch(85% .02 70);--cream: oklch(98% .01 75);--on-dark: oklch(96% .014 75)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Work Sans,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:Work Sans,-apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer}input{font-family:Work Sans,-apple-system,BlinkMacSystemFont,sans-serif}.container{max-width:1280px;margin:0 auto}.section-pad{padding:clamp(60px,10vw,120px) clamp(20px,6vw,80px)}.serif{font-family:Cormorant Garamond,serif}.section-title{font-size:clamp(32px,4.5vw,52px);font-weight:500;margin-top:10px;line-height:1.08}.body-text{font-size:16.5px;line-height:1.75;color:var(--text-muted)}.label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.label--warm{color:var(--accent-warm)}.label--warm-light{color:#d4896e}.label--green{color:var(--accent-green)}.btn{display:inline-block;padding:14px 26px;border-radius:999px;font-size:15px;font-weight:500;border:none;cursor:pointer;transition:opacity .18s,transform .12s}.btn:hover{opacity:.88}.btn:active{transform:scale(.97)}.btn--warm{background:var(--accent-warm);color:var(--cream)}.btn--outline{background:transparent;border:1px solid oklch(94% .015 75 / .6);color:#f9f4ee}.tags{display:flex;gap:10px;flex-wrap:wrap}.tag{background:var(--bg-muted);padding:8px 16px;border-radius:999px;font-size:13.5px}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px clamp(20px,5vw,56px);background:#f7f1e8d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);transition:box-shadow .2s}.nav--scrolled{box-shadow:0 2px 12px #00000012}.nav__logo{font-size:22px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.nav__logo-italic{font-style:italic;color:var(--accent-warm)}.nav__links{display:flex;gap:clamp(14px,3vw,28px);flex-wrap:wrap;font-size:15px}.nav__links a{color:var(--text);transition:color .15s}.nav__links a:hover{color:var(--accent-warm)}.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;cursor:pointer}.nav__burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s,opacity .2s}.nav__burger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav__mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#f7f1e8f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:20px clamp(20px,5vw,56px);flex-direction:column;gap:18px;font-size:18px}.nav__mobile-menu a{color:var(--text);font-weight:500}.nav__mobile-menu a:hover{color:var(--accent-warm)}@media(max-width:620px){.nav__links{display:none}.nav__burger,.nav__mobile-menu{display:flex}}.hero{position:relative;min-height:92vh;display:flex;align-items:center}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0}.hero__bg img{width:100%;height:100%;object-fit:cover;display:block}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#281c1859,#281c188c);pointer-events:none}.hero__content{position:relative;z-index:1;padding:0 clamp(20px,6vw,80px);max-width:900px;color:#f9f4ee}.hero__title{font-size:clamp(44px,9vw,96px);line-height:1.02;font-weight:500}.hero__sub{font-size:clamp(16px,1.8vw,20px);margin-top:18px;max-width:520px;line-height:1.5;color:#f1eae0}.hero__cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.about{background:var(--bg)}.about__grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1.1fr);gap:clamp(30px,5vw,64px);align-items:center}.about__img-wrap{width:100%;aspect-ratio:4/5;border-radius:18px;overflow:hidden}.about__img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:680px){.about__grid{grid-template-columns:1fr}.about__img-wrap{aspect-ratio:16/9}}.cafe{background:var(--bg-muted)}.cafe__header{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1.1fr);gap:clamp(30px,5vw,64px);align-items:flex-start}.cafe__img-wrap{width:100%;aspect-ratio:4/3;border-radius:18px;overflow:hidden}.cafe__img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:680px){.cafe__header{grid-template-columns:1fr}}.menu__cat-title{font-size:22px;font-weight:600;margin-bottom:14px}.menu__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border);border-radius:16px;overflow:hidden}.menu__item{background:var(--bg);padding:22px 20px}.menu__item-name{font-size:19px;font-weight:600}.menu__item-desc{font-size:14px;color:#4f4542;margin-top:4px}.menu__item-price{font-size:15px;color:var(--accent-warm);margin-top:10px;font-weight:600}@media(max-width:480px){.menu__grid{grid-template-columns:repeat(2,1fr)}.menu__item{padding:16px 14px}.menu__item-name{font-size:16px}}.boutique__header{text-align:center;max-width:640px;margin:0 auto}.boutique__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.boutique__item-img-wrap{aspect-ratio:3/4;border-radius:16px;overflow:hidden}.boutique__item-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.boutique__item-img-wrap:hover .boutique__item-img{transform:scale(1.04)}.boutique__item-name{margin-top:12px;font-size:19px;font-weight:600}.boutique__item-desc{font-size:14px;color:#4f4542;margin-top:2px}.boutique__footer{margin-top:36px;text-align:center;font-size:15px;color:#4f4542}@media(max-width:560px){.boutique__grid{grid-template-columns:repeat(2,1fr);gap:14px}.boutique__item-name{font-size:15px}}.visit{background:var(--bg-dark);color:var(--on-dark)}.visit__grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1.2fr);gap:clamp(30px,5vw,64px);align-items:center}.visit__address{margin-top:22px;font-size:17px;line-height:1.7}.visit__hours{margin-top:22px;font-size:15px;color:#c4bdb3}.visit__note{margin-top:20px;font-size:15px;line-height:1.6;color:#c4bdb3;max-width:420px}.visit__map-wrap{width:100%;aspect-ratio:4/3;border-radius:18px;overflow:hidden}.visit__map{width:100%;height:100%;border:0;display:block}@media(max-width:680px){.visit__grid{grid-template-columns:1fr}}.connect__inner{max-width:640px;margin:0 auto;text-align:center}.connect__socials{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap}.social-pill{display:flex;align-items:center;gap:8px;background:var(--bg-muted);padding:11px 20px;border-radius:999px;color:var(--text);font-size:14.5px;transition:opacity .15s}.social-pill:hover{opacity:.75}.social-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.social-dot--warm{background:var(--accent-warm)}.social-dot--green{background:var(--accent-green)}.subscribe-form{margin-top:36px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.subscribe-input{flex:1;min-width:200px;max-width:280px;padding:13px 18px;border-radius:999px;border:1px solid oklch(80% .02 70);background:#fdf8f1;font-size:14.5px;outline:none;transition:border-color .15s}.subscribe-input:focus{border-color:var(--accent-warm)}.subscribe-btn{padding:13px 26px;font-size:14.5px}.subscribe-btn:disabled{opacity:.6;cursor:not-allowed}.subscribe-success{margin-top:36px;font-size:17px;color:var(--accent-warm);font-weight:500}.subscribe-error{margin-top:10px;font-size:14px;color:#a83634}@media(max-width:480px){.subscribe-form{flex-direction:column;align-items:center}.subscribe-input{min-width:0;width:100%;max-width:100%}.subscribe-btn{width:100%;text-align:center}}.footer{border-top:1px solid var(--border);padding:28px clamp(20px,6vw,80px);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13.5px;color:var(--text-light)}@media(max-width:480px){.footer{flex-direction:column;gap:6px}}
