:root{--violet:#6d28d9;--ink:#1c1824;--muted:#6d6776;--line:#e9e5ed;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--violet);outline-offset:6px}img{max-width:100%;height:auto;display:block}.wrap{max-width:1248px;width:calc(100% - 112px);margin:auto}.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:25px 0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;font-size:1.875rem;font-weight:800;letter-spacing:-1.6px;white-space:nowrap;gap:7px}.brand-mark{display:inline-block;flex:none;width:42px;height:42px;background:var(--violet);-webkit-mask:url(assets/logo.png) center/contain no-repeat;mask:url(assets/logo.png) center/contain no-repeat}.header nav{display:flex;gap:34px;font-size:1rem;flex-wrap:wrap}.header nav a:hover,.text-link:hover,.map-link:hover,.branch-phone:hover,.author-note a:hover{color:var(--violet)}.header-location{font-size:1rem;font-weight:600}.header-location span{margin-left:14px;color:var(--violet)}
.hero{display:flex;flex-wrap:wrap;min-height:668px;align-items:center;gap:28px;padding:36px 0 48px}.hero-copy{flex:1.35 1 34rem;min-width:0;padding-top:12px}.hero-art{flex-direction:column;flex:1 1 23rem;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;align-self:stretch}.hero-art img{width:430px;height:570px;object-fit:contain}.eyebrow{font-size:1rem;letter-spacing:1.35px;text-transform:uppercase;font-weight:600;margin:0 0 24px;color:var(--muted)}.hashtag{text-transform:none;letter-spacing:.45px;font-size:1rem}.mini-star{font-size:1.3125rem;color:var(--violet);vertical-align:-2px;margin-right:7px}h1{font-size:clamp(4.5rem,6.05vw,5.375rem);line-height:1.02;letter-spacing:-.058em;margin:0 0 24px;font-weight:750}h1 span,.violet{color:var(--violet)}.hero-text{font-size:1.125rem;line-height:1.6;color:var(--muted);margin:0 0 22px}.coffee-price{display:flex;gap:44px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:420px;padding:16px 0;margin-bottom:26px}.coffee-price p{font-size:1.125rem;font-weight:600;margin:7px 0 0}.coffee-price p span{font-weight:400;color:var(--muted);font-size:1.125rem;margin-left:10px}.coffee-price strong{font-size:3.5rem;letter-spacing:-.07em;line-height:1;color:var(--violet);white-space:nowrap}.coffee-price strong span{font-size:1.5rem;font-weight:400;letter-spacing:0}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{min-height:54px;border-radius:100px;padding:18px 24px;display:inline-flex;align-items:center;gap:24px;font-size:1rem;font-weight:600;transition:background .15s,transform .15s}.primary{background:var(--violet);color:white}.primary:hover{background:#541ba9;color:#fff;transform:translateY(-2px)}.text-link{font-size:1rem;font-weight:600;display:inline-flex;align-items:center;gap:15px;min-height:44px}.new-location{margin-top:26px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:1rem}.location-label{color:var(--violet);font-size:1rem;border:1px solid #dccbf4;border-radius:100px;padding:6px 9px}.new-location>span:last-child{font-weight:600}.new-location>span:last-child>span{color:var(--violet);margin-left:8px}.floating-note{position:static;align-self:flex-end;margin-bottom:25px;max-width:100%;z-index:2;transform:rotate(4deg);font-size:1.25rem;font-weight:600;line-height:1.4;color:var(--violet);text-align:center;width:260px}.floating-note>span{display:block;font-size:62px;font-weight:400;line-height:1.1;margin-bottom:7px}
.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 4px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1rem;font-weight:600;flex-wrap:wrap}.ribbon>span:nth-child(even){color:var(--violet);font-size:1.5rem;font-weight:400}.section{padding-top:96px;padding-bottom:96px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:44px}h2{font-size:4rem;line-height:1.03;letter-spacing:-.06em;font-weight:700;margin:0}.section-intro{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 5px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:20px}.menu-card{border:1px solid var(--line);border-radius:3px;padding:26px 28px;position:relative;min-width:0}.drink-art{height:250px;margin:6px 0 20px;display:flex;align-items:center;justify-content:center}.drink-art img{height:100%;width:100%;object-fit:contain}.drink-type{font-size:1.125rem;color:var(--muted)}.menu-card h3{font-size:1.875rem;line-height:1.08;letter-spacing:-.045em;margin:9px 0 22px;font-weight:650}.drink-price{display:flex;gap:16px;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:16px}.drink-price>span{font-size:1.125rem;color:var(--muted)}.drink-price strong{font-size:1.5rem;color:var(--violet);letter-spacing:-.035em}.full-menu{border-top:1px solid var(--line)}.menu-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));gap:72px}.menu-column{min-width:0;display:flex;flex-direction:column;gap:38px}.menu-category h3{font-size:1.5rem;letter-spacing:-.04em;margin:0 0 14px}.menu-category table{width:100%;border-collapse:collapse;font-size:1.125rem;table-layout:fixed}.menu-category th{text-align:left;font-weight:400;line-height:1.4;padding:12px 8px 12px 0;overflow-wrap:anywhere}.menu-category thead th{font-size:1.125rem;color:var(--muted);border-bottom:1px solid var(--line);padding:9px 0}.menu-category thead th span{display:block;font-size:1.125rem;margin-top:2px}.menu-category thead th:first-child{width:auto}.menu-category thead th:not(:first-child){width:3.6rem;text-align:right}.menu-category td{text-align:right;padding:12px 0;border-bottom:1px solid #f2eef5;white-space:nowrap;font-variant-numeric:tabular-nums}.menu-category tbody th{border-bottom:1px solid #f2eef5}.espresso-list{font-size:1.125rem;margin-top:13px}.espresso-list p{display:flex;justify-content:space-between;gap:15px;margin:0;padding:9px 0}.espresso-list strong{font-weight:400}.espresso-list small{color:var(--muted);margin-left:6px;font-size:1rem}.category-note{font-size:1rem;line-height:1.6;color:var(--muted);margin:12px 0 0}.menu-options{font-size:1rem;color:var(--muted);line-height:1.7;margin-top:14px}.menu-options p{margin:0 0 12px}.menu-options strong{font-weight:600;color:var(--ink)}.additions dl{margin:0;font-size:1.125rem}.additions dl>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #f2eef5}.additions dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.cold-note{margin-top:40px;display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:26px}.cold-note>span{color:var(--violet);font-size:2.5rem;line-height:1}.cold-note p{font-size:1.25rem;line-height:1.4;margin:0;letter-spacing:-.035em}.cold-note strong{font-weight:400;color:var(--violet)}
.bakery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));gap:80px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bakery-art{height:370px;position:relative;min-width:0}.tubes-art{position:absolute;width:310px;height:270px;object-fit:contain;left:0;top:0;transform:rotate(-12deg)}.pie-art{position:absolute;width:275px;height:260px;object-fit:contain;right:0;bottom:0;transform:rotate(8deg)}.bakery-stamp{position:absolute;right:5px;top:0;display:flex;flex-direction:column;justify-content:center;text-align:center;width:140px;height:140px;border-radius:50%;background:var(--violet);color:white;font-size:1rem;font-weight:600;letter-spacing:1px;transform:rotate(10deg)}.bakery-stamp span{font-size:29px;line-height:1;margin-top:6px}.bakery-items{margin-top:30px;display:flex;flex-direction:column;font-size:1.125rem;font-weight:600}.bakery-items span{padding:16px 0;border-top:1px solid var(--line)}.reviews{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:40px}.reviews .text-link{margin-top:27px}.rating{min-width:0;max-width:100%}.rating-score{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:7.625rem;font-weight:700;line-height:1;letter-spacing:-.065em}.rating-score span{font-size:1.5rem;font-weight:400;letter-spacing:0;color:var(--muted)}.stars{font-size:1.4375rem;letter-spacing:6px;color:var(--violet);margin:18px 0}.rating p{font-size:1rem;margin:0 0 10px}.rating small{color:var(--muted);font-size:1rem;line-height:1.7;display:block}
.branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:24px}.branch{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--line);padding-top:22px;min-height:278px}.branch h3{font-size:1.875rem;font-weight:600;letter-spacing:-.045em;line-height:1.12;margin:22px 0 16px}.branch-hours{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 10px}.branch-phone{font-size:1rem;font-weight:600;margin-bottom:14px}.branch-links{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start}.map-link{font-size:1rem;color:var(--muted);min-height:28px;display:flex;align-items:center}.new-badge{border:1px solid #d8c3f5;border-radius:100px;padding:5px 9px;color:var(--violet);font-size:1rem;letter-spacing:0}.new-branch{border-color:var(--violet)}.map-soon{color:var(--muted);font-size:1rem;margin:auto 0 9px;line-height:1.5}.footer{border-top:1px solid var(--line);padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.footer .brand{font-size:1.5rem}.footer .brand-mark{width:34px;height:34px}.author-note{font-size:1rem;line-height:1.55;display:flex;gap:25px;align-items:center;flex-wrap:wrap}.author-note p{color:var(--muted);margin:0}.author-note a{color:var(--violet);font-weight:600;white-space:nowrap}.concept{border:1px solid var(--line);border-radius:100px;padding:9px 13px;font-size:1rem;color:var(--muted)}.skip{position:fixed;left:20px;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3{overflow-wrap:anywhere}.bakery-copy{min-width:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


.review-invitation{font-size:1.5rem;line-height:1.4;margin:22px 0 0;color:var(--violet)}.new-branch>.new-badge{align-self:flex-start}.menu-category th,.menu-category td{padding-top:16px;padding-bottom:16px}
.cup-figure{position:relative;width:26.875rem;max-width:100%;aspect-ratio:2/3;margin:0}.hero-art .cup-figure img{width:100%;height:100%;object-fit:contain}.cup-wish{position:absolute;left:12%;right:12%;top:39%;font-size:1.25rem;font-weight:600;line-height:1.4;margin:0;text-align:center}.cup-instagram{position:absolute;left:12%;right:12%;top:64%;font-size:1.125rem;line-height:1.4;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;color:#1c1824;text-decoration:none;border-radius:6px}.cup-instagram svg{width:1.25rem;height:1.25rem;flex:none}.cup-instagram:hover{color:#6d28d9}.cup-instagram:focus-visible{outline:3px solid #6d28d9;outline-offset:4px}

.header-phone{font-size:1.125rem;min-height:44px;display:inline-flex;align-items:center}.cafe-contact{border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.contact-instagram{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:1.125rem;font-weight:600}.contact-instagram svg{width:1.25rem;height:1.25rem}.contact-instagram:hover{color:var(--violet)}
/* Existing responsive rules retained; mobile revision deferred. */
@media(min-width:1500px){.hero{min-height:725px}.hero-art img{height:570px}.hero-orbit{top:82px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}h1{font-size:5.5rem;letter-spacing:-5px}.hero{min-height:620px}.hero-art img{width:310px;height:485px}.hero-orbit{width:340px;height:340px;top:89px}.floating-note{right:0;top:52px}.actions{gap:14px}.hero-text{font-size:1.0625rem}h2{font-size:3.3125rem;letter-spacing:-2.8px}.bakery{gap:45px}.menu-card{padding:22px}.menu-card h3{font-size:1.75rem}.rating{min-width:280px}.visit-details p{font-size:1.125rem}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:83px}.brand{font-size:1.625rem}.header nav{gap:22px;font-size:0.875rem}.header nav a:first-child{display:none}.header-location{display:none}.hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:26px;min-height:0}.hero-copy{padding-top:0}.eyebrow{font-size:0.6875rem;margin-bottom:20px}h1{font-size:5.25rem;letter-spacing:-5px;margin-bottom:23px}.hero-text{font-size:1.0rem;margin-bottom:23px}.actions{gap:10px 22px}.button{padding:16px 20px;min-height:50px;font-size:0.8125rem;gap:17px}.text-link{font-size:0.8125rem}.hero-bottom{margin-top:22px;font-size:0.875rem}.hero-art{height:395px;margin-top:24px}.hero-art img{height:385px;width:270px}.hero-orbit{width:300px;height:300px;top:45px}.floating-note{right:4px;top:20px;font-size:0.75rem}.floating-note>span{font-size:2.75rem}.art-label{bottom:0}.ribbon{font-size:0.6875rem;padding:19px 0;gap:12px;flex-wrap:wrap;justify-content:center}.ribbon>span:nth-child(even){font-size:1.125rem}.ribbon>span:last-child,.ribbon>span:nth-last-child(2){display:none}.section{padding-top:64px;padding-bottom:64px}.section-heading{display:block;margin-bottom:29px}h2{font-size:3.0rem;letter-spacing:-2.5px}.section-intro{font-size:0.9375rem;margin:20px 0 0}.section-intro br{display:none}.menu-grid{grid-template-columns:1fr;gap:14px}.menu-card{min-height:235px;padding:22px 25px}.menu-card h3{font-size:1.75rem;margin:35px 0 14px;max-width:200px}.menu-card p{margin-bottom:19px}.cup-icon{top:52px;right:32px}.flavour-art,.berry-art{right:35px;top:60px}.more-menu{gap:14px;font-size:0.8125rem}.more-menu p span{padding:0 5px}.menu-note{line-height:1.6}.bakery{grid-template-columns:1fr;gap:38px}.bakery-art{height:275px;max-width:380px;width:100%;margin:auto;grid-row:2}.bakery-copy{grid-row:1}.bakery-stamp{width:95px;height:95px;right:10px}.body-copy{font-size:0.9375rem}.reviews{align-items:flex-start;gap:45px;flex-direction:column}.rating{min-width:0}.rating-score{font-size:6.75rem;letter-spacing:-7px}.reviews .text-link{margin-top:18px}.visit-top{display:block}.visit-top .button{margin-top:28px}.visit-details{grid-template-columns:1fr;gap:30px;margin-top:30px;padding-top:26px}.visit-details p{font-size:1.375rem;margin:10px 0}.footer{flex-wrap:wrap;padding:25px 0;gap:20px 15px}.footer>span:nth-child(2){display:none}.footer .brand{font-size:1.4375rem}}
@media(max-width:370px){h1{font-size:4.75rem}.header nav{gap:16px}.hero-art{height:365px}.hero-art img{height:355px}.hero-orbit{width:270px;height:270px}.floating-note{right:0}.ribbon{gap:9px;font-size:0.625rem}.ribbon>span:nth-child(even){font-size:1.0rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Approved desktop refinement */
[hidden]{display:none!important}
@media (min-width:1101px){
  .hero{min-height:0;padding-top:22px;padding-bottom:30px;gap:18px}
  .hero-art{height:610px;align-self:center;flex-basis:23rem;overflow:visible}
  .hero-art .cup-figure{width:25.5rem;margin-top:12px}
  .floating-note{position:absolute;top:16px;right:-12px;align-self:auto;margin:0;width:250px;z-index:3}
  .section{padding-top:82px;padding-bottom:82px}
  .full-menu{padding-bottom:76px}
  .reviews{padding-top:74px;padding-bottom:74px;gap:30px}
  .visit{padding-top:82px;padding-bottom:80px}
}
.cup-figure{transform:rotate(-8deg);transform-origin:50% 50%;animation:cup-float 5.5s ease-in-out infinite;will-change:transform}
.cup-figure:hover,.cup-figure:focus-within{animation-play-state:paused}
@keyframes cup-float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-9.5deg)}}
.floating-note>span{display:inline-block;transition:transform .25s ease}
.hero-art:hover .floating-note>span{transform:rotate(18deg)}
.menu-card{display:flex;flex-direction:column;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease}
.menu-card:hover{transform:translateY(-6px);border-color:#cdb4f2;box-shadow:0 18px 42px rgba(66,30,106,.1);background:#fdfbff}
.menu-card .drink-art{height:264px;margin:0 0 19px;overflow:visible}
.menu-card .drink-art img{height:240px;width:100%;object-fit:contain;transition:transform .28s ease}
.menu-card:hover .drink-art img{transform:translateY(-10px) scale(1.03)}
.menu-card h3{min-height:2.16em;margin-bottom:22px}
.menu-card .drink-price{margin-top:auto}
.menu-tabs{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:28px;position:relative}
.menu-tabs::after{content:"";position:absolute;bottom:-2px;left:var(--indicator-left,0);width:var(--indicator-width,0);height:3px;background:var(--violet);border-radius:3px;transition:left .28s ease,width .28s ease}
.menu-tabs button{appearance:none;border:1px solid transparent;border-radius:100px;background:transparent;color:var(--muted);font:600 1.125rem/1.2 Arial,Helvetica,sans-serif;padding:13px 17px;min-height:50px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.menu-tabs button:hover{color:var(--violet);background:#f7f1ff}
.menu-tabs button[aria-selected="true"]{color:var(--violet);background:#f2e9ff;border-color:#d7c2f6}
.menu-tabs button:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.menu-panels{min-height:0}
.menu-panel{max-width:1100px;margin:0 auto 38px}
.js-menu .menu-panel{margin:0 auto}
.menu-panel h3{font-size:1.5rem;margin:0 0 14px}
.js-menu .menu-panel h3{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu-panel table{width:100%;font-size:1.25rem;table-layout:fixed}
.menu-panel thead th{font-size:1.125rem;font-weight:600;padding:14px 4px}
.menu-panel thead th span{font-size:1.125rem}
.menu-panel thead th:not(:first-child){width:8.1rem;text-align:right}
.menu-panel tbody th{font-size:1.25rem;font-weight:600;padding:17px 10px 17px 0;line-height:1.35}
.menu-panel tbody td{font-size:1.25rem;padding:17px 0}
.menu-item-note{display:block;color:var(--muted);font-size:1rem;font-weight:400;line-height:1.5;margin-top:3px;overflow-wrap:normal}
.menu-panel .espresso-list{font-size:1.25rem;border-top:1px solid var(--line);margin-top:16px}
.menu-panel .espresso-list p{padding:16px 0;border-bottom:1px solid #f2eef5}
.menu-panel .espresso-list small{font-size:1rem}
.menu-panel.additions dl{font-size:1.25rem;max-width:820px}
.menu-panel.additions dl>div{padding:18px 0}
.menu-panel .category-note{font-size:1rem}
.menu-panel[aria-hidden="false"]{animation:panel-enter .24s ease both}
@keyframes panel-enter{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.cold-note{margin-top:28px}
.reviews .review-invitation{margin-top:15px}
.reviews .text-link{margin-top:20px}
.rating{flex-shrink:0}
.rating.is-counting .stars span{opacity:0;transform:translateY(12px)}
.rating.show-stars .stars span{opacity:1;transform:translateY(0);transition:opacity .28s ease,transform .28s ease;transition-delay:calc(var(--star-index) * 90ms)}
.branch h3{margin-top:22px}
.new-badge{align-self:flex-start;margin:0 0 12px;display:inline-block}
.map-soon{margin:0 0 9px}
.footer{width:100%;max-width:none;margin:0;background:#32125d;color:#fff;border:0}
.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px 90px;padding:70px 0 40px}
.footer .brand{font-size:1.875rem}
.footer .brand-mark{background:#fff;width:42px;height:42px}
.footer .cafe-contact{border:0;margin-top:26px;padding:0}
.footer .contact-instagram{color:#e3d1ff;line-height:1.55}
.footer .contact-instagram:hover{color:#fff}
.footer .author-note{display:flex;flex-direction:column;align-items:flex-start;align-self:end;gap:14px;max-width:370px;font-size:1.125rem}
.footer .author-note p{color:#f0e9fb}
.footer .author-note a{color:#fff;font-size:1.125rem;line-height:1.55;min-height:44px;display:inline-flex;align-items:center;gap:8px;white-space:normal}
.footer .author-note a:hover{color:#e5cfff}
.footer .concept{grid-column:1/-1;justify-self:end;color:#e3d1ff;border-color:#8d6caf}
.footer a:focus-visible{outline-color:#fff}
.button span[aria-hidden],.text-link span[aria-hidden],.new-location span[aria-hidden],.author-note a span[aria-hidden]{display:inline-block;transition:transform .25s ease}
.button:hover span[aria-hidden],.text-link[href$="#coffee"]:hover span[aria-hidden]{transform:translateY(4px)}
.text-link:hover span[aria-hidden],.new-location:hover span[aria-hidden],.author-note a:hover span[aria-hidden]{transform:translate(4px,-4px)}
.heading-line{display:block}
.motion-enabled .heading-line{opacity:0;transform:translateY(36px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--line-index,0) * 90ms)}
.motion-enabled .is-revealed .heading-line{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.menu-panel thead th:not(:first-child){width:6.5rem}.footer-inner{gap:36px}}
@media(max-width:760px){.menu-tabs{gap:4px}.menu-tabs button{font-size:1rem;padding:10px 13px}.menu-panel thead th:not(:first-child){width:4.5rem}.menu-panel table{font-size:1.125rem}.menu-panel tbody th,.menu-panel tbody td{font-size:1.125rem}.menu-item-note{font-size:1rem}.footer-inner{display:flex;flex-direction:column;padding:48px 0 32px}.footer .concept{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cup-figure{transform:rotate(-8deg)}.motion-enabled .heading-line{opacity:1;transform:none}.rating.is-counting .stars span{opacity:1;transform:none}}

@media(min-width:1101px){.floating-note{top:-6px;right:270px;width:335px;display:flex;align-items:center;gap:14px;text-align:left;transform:rotate(3deg)}.floating-note>span:first-child{font-size:52px;line-height:1;margin:0;flex:none}.floating-note .note-copy{display:block;white-space:nowrap}}

@media(min-width:1101px){.floating-note .note-copy{font-size:1.25rem;line-height:1.4;margin:0}}

.menu-panel tbody td{font-weight:600}

/* Allow the desktop composition to grow with 200% text */
@media(min-width:1101px){
  .hero-art{height:auto;min-height:610px;container-type:inline-size}
  .hero-art .cup-figure{width:min(25.5rem,100%)}
  .menu-panel thead th:not(:first-child){width:clamp(4.5rem,9vw,8.1rem)}
}
@container (min-width:700px){
  .floating-note{position:relative;top:auto;right:auto;align-self:center;transform:rotate(3deg);margin:20px auto 0;max-width:100%}
  .hero-art .cup-figure{margin-top:12px}
}

.rating-score .rating-number{font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}

/* Mobile and tablet layout, approved after desktop review */
@media (min-width:761px) and (max-width:1100px){
  .header{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:0;gap:15px 24px;padding:22px 0}
  .header .brand{grid-column:1;grid-row:1}
  .header-phone{grid-column:2;grid-row:1}
  .header nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:30px}
  .hero{display:block;min-height:0;padding:48px 0 56px}
  .hero-copy{padding:0}
  .hero h1{font-size:clamp(3.75rem,8vw,4.75rem);letter-spacing:-.055em;overflow-wrap:normal}
  .hero-art{height:auto;min-height:0;margin:40px auto 0;max-width:620px}
  .hero-art .cup-figure{width:25.5rem;margin:0}
  .floating-note{position:relative;top:auto;right:auto;align-self:flex-start;display:flex;align-items:center;gap:14px;transform:rotate(3deg);width:auto;margin:0 0 10px}
  .floating-note>span:first-child{font-size:52px;line-height:1;margin:0}
  .floating-note .note-copy{font-size:1.25rem;line-height:1.4;white-space:nowrap}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:42% minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:24px}
  .menu-card:last-child .drink-art{grid-column:1;grid-row:1/4;height:230px;margin:0}
  .menu-card:last-child .drink-type{grid-column:2;grid-row:1;align-self:end}
  .menu-card:last-child h3{grid-column:2;grid-row:2;min-height:0;margin:8px 0 20px}
  .menu-card:last-child .drink-price{grid-column:2;grid-row:3;align-self:end}
  .bakery{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .bakery-art{width:100%;height:330px}
  .tubes-art{width:58%;height:auto;left:0;top:40px}
  .pie-art{width:55%;height:auto;right:0;bottom:0}
  .branch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .branch h3{font-size:1.625rem;overflow-wrap:normal}
  .footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
}
@media (max-width:760px){
  .wrap{width:calc(100% - 36px)}
  .header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px 10px;min-height:0;height:auto;padding:16px 0 13px;align-items:center}
  .header .brand{grid-column:1;grid-row:1;font-size:1.5rem;gap:4px;letter-spacing:-.06em}
  .header .brand-mark{width:34px;height:34px}
  .header-phone{display:inline-flex;grid-column:2;grid-row:1;white-space:nowrap;font-size:1rem;min-height:40px}
  .header nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:8px;font-size:1rem;white-space:nowrap}
  .header nav a:first-child{display:inline}
  .hero{display:block;min-height:0;padding:30px 0 34px}
  .hero-copy{padding:0}
  .eyebrow{font-size:1rem;letter-spacing:.4px;margin:0 0 19px}
  .mini-star{font-size:1.25rem}
  .hero h1{font-size:clamp(2.6rem,11.5vw,3.2rem);line-height:1.06;letter-spacing:-.055em;margin:0 0 22px;overflow-wrap:normal;word-break:normal}
  .hero-text{font-size:1rem;line-height:1.5;margin:0 0 21px}
  .coffee-price{max-width:none;gap:12px;margin:0 0 19px;padding:14px 0}
  .coffee-price p,.coffee-price p span{font-size:1rem}
  .coffee-price p span{margin-left:6px}
  .coffee-price strong{font-size:3rem}
  .coffee-price strong span{font-size:1.5rem}
  .actions{display:grid;grid-template-columns:1fr;gap:7px}
  .button{width:100%;min-height:54px;padding:15px 20px;justify-content:space-between;font-size:1rem;gap:16px}
  .text-link{font-size:1rem;min-height:44px}
  .actions .text-link{justify-content:center}
  .new-location{margin-top:19px;gap:8px;font-size:1rem;line-height:1.35}
  .new-location>span:last-child>span{margin-left:2px}
  .hero-art{display:flex;flex-direction:column;align-items:center;height:auto;min-height:0;margin:31px 0 0;align-self:auto}
  .floating-note{position:relative;top:auto;right:auto;align-self:flex-start;display:flex;align-items:center;gap:12px;transform:rotate(-3deg);width:auto;max-width:100%;margin:0 0 10px;text-align:left;line-height:1.35}
  .floating-note>span:first-child{font-size:3rem;line-height:1;margin:0;flex:none}
  .floating-note .note-copy{display:block;font-size:1.25rem;line-height:1.35;white-space:normal;margin:0}
  .hero-art .cup-figure{width:min(20.625rem,94%);max-width:100%;margin:0 auto;aspect-ratio:2/3}
  .cup-wish{font-size:clamp(14px,3.9vw,16px);line-height:1.35;top:40%;left:16%;right:16%}
  .cup-instagram{font-size:clamp(1rem,4.5vw,1.125rem);top:64%;left:10%;right:10%;min-height:44px;gap:6px}
  .cup-instagram svg{width:1.125rem;height:1.125rem}
  .ribbon{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;justify-content:stretch;padding:18px 0;font-size:1rem;line-height:1.35}
  .ribbon>span:nth-child(even){display:none}
  .ribbon>span:last-child{display:block}
  .section{padding-top:58px;padding-bottom:58px}
  .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0 0 25px}
  h2{font-size:clamp(2.375rem,10vw,3rem);line-height:1.06;letter-spacing:-.05em;overflow-wrap:normal}
  .section-intro{font-size:1rem;line-height:1.55;margin:0}
  .section-intro br{display:none}
  .menu-grid{display:grid;grid-template-columns:1fr;gap:16px}
  .menu-card{min-height:0;padding:19px 20px 21px}
  .menu-card .drink-art{height:190px;margin:0 0 14px}
  .menu-card .drink-art img{height:185px}
  .drink-type{font-size:1.125rem}
  .menu-card h3{font-size:1.75rem;line-height:1.15;min-height:0;max-width:none;margin:6px 0 20px}
  .drink-price{padding-top:13px}
  .drink-price>span{font-size:1.125rem}
  .drink-price strong{font-size:1.5rem}
  .full-menu{padding-top:58px;padding-bottom:57px}
  .menu-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:0 0 11px;margin:0 0 19px;scrollbar-width:thin;scroll-snap-type:x proximity}
  .menu-tabs button{flex:none;scroll-snap-align:start;font-size:1rem;min-height:48px;padding:11px 14px;white-space:nowrap}
  .menu-panels{min-width:0}
  .menu-panel{max-width:none;margin-bottom:26px}
  .menu-panel table,.menu-panel tbody{display:block;width:100%;table-layout:auto}
  .menu-panel thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .menu-panel tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
  .menu-panel tbody th{display:block;grid-column:1/-1;font-size:1.25rem;line-height:1.3;padding:0 0 9px;border:0}
  .menu-panel tbody td{display:flex;align-items:baseline;justify-content:space-between;gap:4px;white-space:nowrap;min-height:38px;padding:8px 0;border:0;font-size:1.125rem;font-variant-numeric:tabular-nums}
  .menu-panel tbody td::before{content:attr(data-volume);color:var(--muted);font-size:1rem;font-weight:400}
  .menu-item-note{font-size:1rem;line-height:1.45;margin-top:5px}
  .menu-panel .espresso-list{font-size:1.125rem}
  .menu-panel .espresso-list p{padding:13px 0}
  .menu-panel .espresso-list small{font-size:1rem}
  .menu-panel.additions dl{font-size:1.125rem}
  .menu-panel.additions dl>div{padding:15px 0}
  .cold-note{margin-top:27px;gap:13px;padding-top:18px}
  .cold-note>span{font-size:2rem}
  .cold-note p{font-size:1.125rem}
  .bakery{display:flex;flex-direction:column;gap:10px}
  .bakery-copy{order:0}
  .bakery-art{order:1;position:relative;width:100%;max-width:350px;height:265px;margin:8px auto 0;grid-row:auto}
  .tubes-art{width:59%;height:auto;max-height:215px;left:0;top:25px}
  .pie-art{width:55%;height:auto;max-height:205px;right:0;bottom:0}
  .bakery-stamp{width:100px;height:100px;right:2px;top:0;font-size:1rem}
  .bakery-stamp span{font-size:1.75rem}
  .bakery-items{font-size:1.125rem;margin-top:23px}
  .reviews{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
  .review-invitation{font-size:1.5rem}
  .rating{min-width:0}
  .rating-score{font-size:6rem;letter-spacing:-.07em}
  .rating-score .rating-number{font-size:inherit}
  .stars{font-size:1.5rem}
  .branch-grid{display:grid;grid-template-columns:1fr;gap:20px}
  .branch{min-height:0;padding:18px 0 20px}
  .branch h3{font-size:1.75rem;margin:0 0 12px}
  .branch-hours,.branch-phone,.map-link,.map-soon,.new-badge{font-size:1rem}
  .branch-links{margin-top:18px}
  .new-badge{margin:0 0 9px}
  .footer-inner{display:flex;flex-direction:column;gap:28px;padding:45px 0 30px}
  .footer .brand{font-size:1.75rem}
  .footer .brand-mark{width:36px;height:36px}
  .footer .contact-instagram{font-size:1.125rem}
  .footer .author-note{font-size:1rem;gap:12px;align-self:flex-start}
  .footer .author-note a{font-size:1.125rem}
  .footer .concept{align-self:flex-start;font-size:1rem}
}

@media(max-width:760px){.hero-art .cup-figure{width:min(19.375rem,88%)}}

@media(max-width:760px){.menu-panel tbody td{background:#faf8fc;border-radius:6px;padding:9px 10px;min-height:42px;margin:2px 0;align-items:center}}

@media(min-width:761px) and (max-width:1100px){.menu-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}.menu-tabs button{flex:none;white-space:nowrap;scroll-snap-align:start}}

/* Text zoom can wrap mobile controls without widening the document */
@media(max-width:760px){
  .header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .header .brand{flex:none}
  .header-phone{flex:none;margin-left:auto;white-space:normal;overflow-wrap:anywhere}
  .header nav{flex:1 0 100%;width:100%;order:3;flex-wrap:wrap;gap:8px 16px}
  .hero h1{font-size:clamp(2rem,11.5vw,3.2rem);overflow-wrap:anywhere}
  .cup-wish{font-size:clamp(14px,3.9vw,16px)}
  .cup-instagram{font-size:min(1.125rem,4.5vw)}
  .menu-panel tbody td{flex-wrap:wrap;white-space:normal}
  .footer .contact-instagram{max-width:100%}
  .footer .contact-instagram span{min-width:0;overflow-wrap:anywhere}
}

@media(max-width:760px){.bakery-stamp{font-size:min(1rem,4.2vw)}}

@media(min-width:761px) and (max-width:1100px){.hero h1{font-size:clamp(2rem,8vw,4.75rem);overflow-wrap:anywhere}.branch h3{overflow-wrap:anywhere}.bakery-stamp{font-size:clamp(16px,2vw,1rem)}}

@media(max-width:760px){.coffee-price{flex-wrap:wrap}.coffee-price strong{max-width:100%}}

@media(min-width:1101px){.bakery-art .tubes-art{left:25px}.bakery-art .pie-art{right:25px}}
@media(max-width:760px){.bakery-art .bakery-stamp{top:-34px;right:-7px}}
