:root{--ink:#442c1d;--cream:#f1e8de;--paper:#fbf8f4;--copper:#76523c;--muted:#6d5a4d;--line:#d8c7ba}
.logo-link{display:block;width:64px;height:64px;overflow:hidden;border-radius:50%;flex:0 0 auto}
.kona-wordmark{font-family:"Playfair Display",serif;font-size:2.15rem;font-style:italic;font-weight:500;line-height:1;text-decoration:none;letter-spacing:-.06em;color:var(--ink)}
.header-lockup-link{display:block;width:clamp(235px,27vw,365px);height:72px;text-decoration:none;overflow:hidden}
.header-lockup{width:100%;height:100%;object-fit:contain;object-position:left center;display:block}
.logo-img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;transform:scale(1.15)}
.hero-visual>img{object-position:center 50%;opacity:.96}
.hero-copy h1{width:100%;margin-top:0;margin-bottom:16px;text-align:center;transform:translateY(-20px)}
.logo-seal{width:148px;height:148px;border-radius:50%;padding:0;overflow:hidden;background:#770514;border:0;box-shadow:0 14px 42px #0006}
.logo-seal img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.13)}
.gallery{padding:clamp(80px,10vw,140px) clamp(24px,7vw,110px);display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,6vw,90px);align-items:center;background:#e9e1d6}
.gallery figure{margin:0;overflow:hidden}
.gallery-main{height:min(78vh,850px)}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-copy h2{font-size:clamp(2.7rem,5vw,5.2rem);line-height:1.03;margin:16px 0 24px}
.gallery-copy>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:1.08rem}
.gallery-copy figure{height:320px;margin-top:46px}
.intro{grid-template-columns:1fr;padding-top:clamp(42px,6vw,80px)}
.moments{padding:clamp(80px,10vw,140px) clamp(24px,7vw,110px);background:var(--paper)}
.moments-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(36px,5vw,70px)}
.moments-heading .eyebrow{grid-column:1/-1;margin:0}
.moments-heading>p:last-child{grid-column:1/-1;max-width:680px;margin:0;color:var(--muted);font-size:1.08rem}
.moments-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:repeat(2,minmax(290px,32vw));gap:18px}
.moment{margin:0;overflow:hidden;background:#d8c7ba}
.moment img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}
.moment:hover img{transform:scale(1.025)}
.moment-event{grid-row:1/3}
.moment-event img{object-position:center 53%}
.moment-detail img{object-position:center 55%}
.moment-coffee img{object-position:center 48%}
.moment-cup img{object-position:center 48%}
.moment-pastry img{object-position:center 44%}
.services article span{color:#f1e8de;font-size:.9rem;font-weight:600;opacity:.95}
.footer-logo{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.06)}
.footer-brand{width:112px;height:138px;border-radius:0;background:#fff}
.music-toggle{position:fixed;right:18px;bottom:18px;z-index:30;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(24,18,14,.88);color:#fff;box-shadow:0 7px 20px rgba(24,18,14,.22);backdrop-filter:blur(10px);cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}
.music-toggle:hover{transform:translateY(-1px);background:rgba(68,44,29,.96)}
.music-toggle:focus-visible{outline:3px solid #d8a45b;outline-offset:3px}
.music-icon{width:20px;height:20px}
.music-toggle .sound-on{display:none}
.music-toggle[aria-pressed="true"] .sound-on{display:block}
.music-toggle[aria-pressed="true"] .sound-off{display:none}
.promotions{padding:clamp(72px,9vw,128px) clamp(24px,7vw,110px);display:grid;grid-template-columns:.9fr 1.1fr;column-gap:clamp(30px,7vw,100px);row-gap:28px;align-items:center;background:#eee4d9}
.promotions-intro{max-width:520px}
.promotions-intro h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.03;margin:14px 0 20px}
.promotions-intro>p:last-child{max-width:420px;color:var(--muted);font-size:1.08rem}
.price-card{padding:clamp(22px,4vw,42px);background:#442c1d;color:#fbf8f4;box-shadow:0 18px 48px rgba(55,35,23,.16)}
.price-card-heading,.price-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.price-card-heading{padding-bottom:14px;color:#ddc7b2;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.price-row{padding:14px 0;border-top:1px solid rgba(255,255,255,.19);font-size:clamp(1rem,1.6vw,1.2rem)}
.price-row strong{font-family:"Playfair Display",serif;font-size:clamp(1.35rem,2.3vw,1.9rem);font-weight:600;white-space:nowrap}
.promotion-terms{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.24);color:#e2d6cb;font-size:.9rem;line-height:1.7}
.promotion-cta{grid-column:2;justify-self:start;background:#442c1d;color:#fff}
@media(max-width:980px){.promotions{grid-template-columns:1fr}.promotions-intro{max-width:700px}.promotion-cta{grid-column:1}.nav nav{gap:14px}.nav nav>a[href="#promociones"]{display:inline-block}}
@media(max-width:620px){.promotions{padding:68px 24px;row-gap:20px}.price-card{padding:22px 18px}.price-row{gap:12px}.price-row strong{font-size:1.4rem}.promotion-terms{font-size:.82rem}.nav nav{gap:8px}.nav nav>a[href="#promociones"]{font-size:.76rem}.nav .nav-cta{font-size:.72rem!important}}
@media(max-width:980px){.gallery{grid-template-columns:1fr}.gallery-main{height:70vh}.gallery-copy figure{height:58vh}.moments-heading{grid-template-columns:1fr}.moments-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.moment-event{grid-column:1/-1;grid-row:auto;height:70vh}.moment:not(.moment-event){height:52vw}}
@media(max-width:620px){.nav .logo-link{width:52px;height:52px}.header-lockup-link{width:205px;height:58px}.logo-seal{width:118px;height:118px}.hero-copy{padding-bottom:42px}.intro{padding-top:40px}.gallery-main{height:68vh}.gallery-copy figure{height:62vh;margin-top:30px}.moments-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:12px}.moment-event{grid-column:auto;grid-row:auto;height:72vh}.moment:not(.moment-event){height:54vh}.footer-brand{width:104px!important;height:128px}.footer-logo{width:100%;height:100%}.music-toggle{right:12px;bottom:12px;width:40px;height:40px}.music-icon{width:19px;height:19px}}
@media(max-width:430px){.header-lockup-link{width:168px;height:50px}.nav{padding-left:16px;padding-right:16px}.nav-cta{padding:8px 10px!important}}

.store-cta{background:var(--ink);color:#fff!important;border-color:var(--ink)!important;text-align:center;white-space:nowrap}
@media(max-width:620px){.nav .nav-cta:not(.store-cta){display:none}.store-cta{padding:9px 13px!important;font-size:.78rem!important}}
