/* Little Hearts Cafe — responsive, accessible, intentionally unbranded neutral editorial UI */
:root{--paper:#f8f5ef;--paper-2:#f2ece4;--paper-3:#eee7dd;--ink:#2a211b;--muted:#665e56;--hairline:#ddd3c8;--accent:#2d231b;--white:#fffdf9;--shadow:0 18px 56px rgba(50,32,18,.075);--round:22px;--display:var(--font-display);--body:var(--font-body)}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}video{max-width:100%;display:block}a{color:inherit}button,input{font:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid #7c644d;outline-offset:4px}::selection{background:#e0ccaf;color:#20180f}
.container{max-width:1290px;margin:0 auto;padding-left:clamp(20px,4vw,54px);padding-right:clamp(20px,4vw,54px)}
.skip-link{position:absolute;z-index:999;top:-60px;left:20px;padding:10px 16px;background:var(--ink);color:white}.skip-link:focus{top:12px}
.site-header{height:88px;position:sticky;top:0;z-index:40;background:rgba(250,247,241,.96);border-bottom:1px solid rgba(84,62,42,.08);backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}
.wordmark{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1;white-space:nowrap}.wordmark-main{font-family:var(--display);font-weight:700;font-size:clamp(25px,2.65vw,35px);letter-spacing:-1.6px}.wordmark-sub{font-size:10px;letter-spacing:3.7px;font-weight:800;text-align:center;margin-top:7px}.primary-nav{display:flex;align-items:center;gap:clamp(12px,2vw,33px)}.primary-nav>a{font-size:14px;font-weight:600;text-decoration:none;padding:7px 0;position:relative;white-space:nowrap}.primary-nav>a:after{content:'';height:2px;width:0;background:var(--ink);position:absolute;bottom:0;left:0;transition:width .22s}.primary-nav>a:hover:after,.primary-nav>a.active:after{width:100%}.header-cta,.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);border:1px solid var(--accent);border-radius:99px;color:white;font-weight:700;padding:13px 22px;text-decoration:none;white-space:nowrap;font-size:14px;transition:transform .2s,background .2s}.header-cta:hover,.pill:hover{transform:translateY(-2px);background:#4c3827}.pill-outline{color:var(--ink);background:transparent}.pill-outline:hover{color:white}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
.eyebrow{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2.4px;margin:0 0 17px}.eyebrow.muted{color:#756756}.display{font-family:var(--display);font-weight:700;letter-spacing:-.055em;line-height:.98;margin:0}.display-xl{font-size:clamp(53px,6.1vw,94px)}.display-lg{font-size:clamp(46px,5.6vw,76px)}.section-title{font-family:var(--display);font-size:clamp(35px,3.8vw,56px);line-height:1.08;letter-spacing:-.045em;margin:0}.sub-heading{font-family:var(--display);font-size:clamp(27px,2.6vw,41px);letter-spacing:-.035em;line-height:1.13;margin:0}.lead{font-size:clamp(16px,1.5vw,20px);line-height:1.58;color:#50453c;max-width:620px}.intro{max-width:720px}.muted{color:var(--muted)}.section-space{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(56px,7vw,112px)}.section-space-sm{padding-top:52px;padding-bottom:52px}.section-heading{margin-bottom:30px}.line-link{font-size:14px;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap}.line-link:hover{opacity:.65}
.hero{display:grid;grid-template-columns:48% 52%;min-height:580px;overflow:hidden;background:#f3ebdf}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(45px,5vw,80px) 24px clamp(45px,5vw,80px) max(30px,calc((100vw - 1190px)/2));z-index:1;position:relative}.hero-copy:after{content:'';position:absolute;right:-62px;top:-8%;height:116%;width:135px;background:#f3ebdf;z-index:-1;border-radius:0 53% 53% 0}.hero-copy .lead{max-width:480px;margin:24px 0 28px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-art{overflow:hidden;position:relative;min-height:520px}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 51%}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,19,10,.04),transparent 44%)}
.benefits{background:#faf7f1;border-bottom:1px solid #ede5db}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-top:23px;padding-bottom:23px}.benefit{display:flex;gap:14px;align-items:center;justify-content:center;padding:6px 20px;border-right:1px solid #d8cabd}.benefit:first-child{padding-left:0}.benefit:last-child{border:0;padding-right:0}.benefit-icon{flex:0 0 35px;font-size:29px;line-height:1;text-align:center;font-family:var(--display)}.benefit h2{font-family:var(--display);font-size:20px;margin:0;line-height:1.15;letter-spacing:-.5px}.benefit p{font-size:12px;margin:3px 0 0;color:#5d5248;line-height:1.35}
.story-news{padding-top:62px;padding-bottom:60px}.feature-grid{display:grid;grid-template-columns:1.03fr 1.03fr 1.4fr;gap:22px}.feature-card{border-radius:15px;overflow:hidden;position:relative;min-height:408px;background:#baa58f;color:white;display:block;text-decoration:none;isolation:isolate}.feature-card img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;transition:transform .55s}.feature-card:hover img{transform:scale(1.045)}.feature-card:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(16,12,9,.82));z-index:1}.feature-overlay{z-index:2;position:absolute;left:24px;right:24px;bottom:23px}.feature-overlay h2{font-family:var(--display);font-size:34px;line-height:1;margin:0 0 6px;letter-spacing:-1px}.feature-overlay p{margin:0;font-size:14px}.feature-arrow{position:absolute;right:0;bottom:0;font-size:28px;font-weight:300}.news-panel{border-left:1px solid var(--hairline);padding-left:25px}.news-panel .section-title{font-size:37px}.news-panel .muted{font-size:14px;margin:4px 0 17px}.news-row{display:grid;grid-template-columns:115px 1fr 24px;align-items:center;gap:14px;text-decoration:none;padding:10px 0;border-bottom:1px solid #ddd2c6;min-height:110px}.news-row:last-child{border-bottom:0}.news-row img{width:115px;height:91px;object-fit:cover;border-radius:9px}.news-row h3{font-family:var(--display);font-size:21px;line-height:1.11;letter-spacing:-.6px;margin:0 0 7px}.news-row p{font-size:12px;line-height:1.42;color:var(--muted);margin:0}.news-row .row-arrow{font-size:24px;transition:transform .2s}.news-row:hover .row-arrow{transform:translateX(4px)}
.reviews-wrap{padding-bottom:65px}.reviews-section{border-radius:23px;padding:30px 33px;background:#f1e9df;display:grid;grid-template-columns:1.03fr .97fr 1.45fr;align-items:center;gap:0;min-height:198px}.reviews-heading{padding-right:24px}.reviews-heading h2{font-family:var(--display);font-size:35px;line-height:.99;letter-spacing:-1.5px;margin:0 0 9px}.reviews-heading p{font-size:14px;color:#665b51;margin:0}.review-score{border-left:1px solid #cfc0b1;border-right:1px solid #cfc0b1;padding:3px 25px}.google-lockup{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px}.google-g{font-size:25px;line-height:1;font-family:Arial,sans-serif;font-weight:800;background:conic-gradient(#4285f4 0deg 84deg,#34a853 84deg 168deg,#fbbc05 168deg 235deg,#ea4335 235deg 315deg,#4285f4 315deg);-webkit-background-clip:text;background-clip:text;color:transparent}.rating-line{display:flex;align-items:baseline;gap:10px;margin-top:9px}.rating-number{font-family:var(--display);font-size:55px;line-height:1}.star-icons{letter-spacing:1px;color:#b77e19;font-size:24px}.review-score .muted{margin:4px 0 0;font-size:13px}.review-feature{padding-left:30px;min-width:0}.review-feature h3{font-family:var(--display);font-size:24px;line-height:1.1;letter-spacing:-.6px;margin:0 0 8px}.review-feature p{font-size:14px;line-height:1.47;margin:0 0 15px;color:#5c5148}.review-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.review-card{padding:12px;border-radius:11px;background:rgba(255,255,255,.6);font-size:13px}.review-card .review-stars{color:#aa731c;font-size:16px;letter-spacing:2px}.review-card p{margin:6px 0;font-size:13px}.review-card small{color:#675e53}.review-buttons{display:flex;flex-wrap:wrap;gap:9px}.text-action{border-radius:999px;border:1px solid var(--accent);padding:9px 16px;font-size:12px;font-weight:750;text-decoration:none}.text-action.dark{background:var(--ink);color:white}
.visit-preview{display:grid;grid-template-columns:1.1fr 1fr .86fr;gap:30px;padding-bottom:68px}.visit-photo{height:346px;width:100%;object-fit:cover;object-position:center 48%;border-radius:19px}.visit-intro{padding:14px 0}.visit-intro h2{font-family:var(--display);font-size:clamp(31px,3.2vw,46px);line-height:1.07;letter-spacing:-1.8px;margin:0 0 20px}.visit-intro h2 span{font-size:.57em;letter-spacing:-.6px;display:block;margin-top:5px}.icon-text{display:flex;gap:13px;margin:13px 0;align-items:flex-start;font-size:14px;line-height:1.5}.icon-text>span:first-child{font-size:23px;line-height:1}.visit-intro .pill{margin-top:15px}.hours-card{background:#f2e9de;border-radius:18px;padding:23px 22px;align-self:start}.hours-card h2{font-family:var(--display);font-size:27px;line-height:1;margin:0 0 16px;letter-spacing:-.75px}.hours-list{margin:0}.hours-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #d8ccbd;font-size:13px}.hours-line:last-child{border:0}.hours-line dt{font-weight:500}.hours-line dd{margin:0;font-weight:650;text-align:right}.hours-line.sunday{font-weight:800;color:#21180e}.hours-line.sunday dt{font-weight:800}.hours-card .small-note{font-size:11px;color:#72695e;margin:12px 0 0}
.site-footer{border-top:1px solid var(--hairline);background:#faf7f2}.footer-main{display:grid;grid-template-columns:1.65fr .8fr 1.1fr .8fr;gap:35px;padding-top:43px;padding-bottom:43px}.footer-main p{font-size:13px;color:#5b544e;line-height:1.65;max-width:300px}.footer-wordmark .wordmark-main{font-size:31px}.footer-main h2{font-family:var(--display);font-size:20px;margin:0 0 14px}.footer-links{display:flex;flex-direction:column}.footer-links a{font-size:13px;line-height:2;text-decoration:none}.footer-links a:hover{text-decoration:underline}.underline-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--hairline);padding-top:17px;padding-bottom:17px;font-size:11px;color:#807367}.mobile-quicklinks{display:none}
/* Inner pages */
.page-hero{background:#f2ece4;overflow:hidden}.page-hero-inner{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:70px;min-height:390px}.page-hero .eyebrow{margin-bottom:14px}.page-hero .lead{max-width:630px}.page-hero-image{height:390px;width:100%;object-fit:cover;object-position:center 54%}.page-hero .display{font-size:clamp(51px,5vw,76px)}.page-hero.without-image .page-hero-inner{grid-template-columns:1fr;min-height:320px;padding-top:35px;padding-bottom:35px}.page-hero.without-image .page-hero-image{display:none}.split-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,85px)}.split-section>img{width:100%;height:470px;object-fit:cover;border-radius:19px}.split-section p{font-size:16px;color:#594e44;line-height:1.8}.split-section .pill{margin-top:15px}.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.image-grid img{height:340px;width:100%;object-fit:cover;border-radius:15px}.image-grid figcaption{font-size:13px;color:#655a50;margin-top:11px}.image-grid figure{margin:0}.callout-strip{background:var(--ink);color:var(--paper);padding:48px 0}.callout-strip .container{display:flex;gap:30px;justify-content:space-between;align-items:center}.callout-strip h2{font-family:var(--display);font-size:clamp(29px,3vw,42px);line-height:1.15;margin:0}.callout-strip p{margin:8px 0 0;color:#e4d7c9}.callout-strip .pill{background:#fff9ee;border-color:#fff9ee;color:var(--ink)}
.menu-category{margin-bottom:48px}.menu-category-header{display:flex;gap:18px;align-items:baseline;border-bottom:1px solid #d7cabd;padding-bottom:18px;margin-bottom:24px}.menu-category-header h2{font-family:var(--display);font-size:39px;line-height:1;margin:0}.menu-category-header span{font-size:13px;color:#685f55}.menu-items{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 50px}.menu-item{padding-bottom:16px;border-bottom:1px solid #e1d7cb}.menu-item h3{margin:0 0 3px;font-family:var(--display);font-size:23px}.menu-item p{margin:0;font-size:14px;color:#6b6056}.menu-disclaimer{background:#f0e6da;border-radius:15px;padding:23px 28px;font-size:14px;color:#63564a}.menu-disclaimer strong{color:var(--ink)}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.post-card{border-radius:18px;background:#fffaf4;border:1px solid #e7ddd1;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.post-card img{height:265px;width:100%;object-fit:cover}.post-body{padding:23px;flex:1;display:flex;flex-direction:column}.post-tag{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;color:#80705d}.post-body h2{font-family:var(--display);font-size:28px;line-height:1.08;letter-spacing:-.8px;margin:13px 0}.post-body p{font-size:14px;line-height:1.55;color:#665a4e;margin:0 0 15px}.post-body .line-link{margin-top:auto;align-self:flex-start}.article{max-width:850px;margin:0 auto;padding:70px 24px 100px}.article .post-tag{display:block;margin-bottom:14px}.article h1{font-family:var(--display);font-size:clamp(43px,5.8vw,72px);line-height:1;letter-spacing:-.055em;margin:0 0 24px}.article .intro{font-size:20px;line-height:1.56;color:#55473c}.article .article-meta{font-size:12px;color:#7c6d60;margin-bottom:25px}.article .article-image{width:100%;height:min(56vw,490px);object-fit:cover;object-position:center;border-radius:19px;margin:28px 0 35px}.article .prose{max-width:710px;margin:0 auto}.article .prose p{font-size:17px;line-height:1.86;color:#50453a;margin:0 0 24px}.article .back{display:inline-block;margin-top:28px;font-weight:750}
.about-video{width:100%;max-width:450px;aspect-ratio:9/16;object-fit:cover;border-radius:20px;background:#ddd;box-shadow:var(--shadow);margin:auto}.visit-detail-grid{display:grid;grid-template-columns:1.2fr .85fr;gap:45px}.map-embed{border:0;border-radius:18px;width:100%;min-height:410px;background:#e8e2da}.visit-detail-grid .hours-card{align-self:stretch}.contact-block{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-tile{background:#f1e9df;padding:26px;border-radius:17px}.contact-tile h3{font-family:var(--display);font-size:25px;margin:0 0 10px}.contact-tile p{font-size:14px;color:#65584d;margin:0;overflow-wrap:anywhere}.contact-tile a{font-weight:700;text-underline-offset:4px}
@media(max-width:1120px){.primary-nav{gap:14px}.primary-nav>a{font-size:13px}.header-cta{padding:11px 16px}.wordmark-main{font-size:27px}.wordmark-sub{font-size:8px;letter-spacing:3px}.hero{grid-template-columns:51% 49%}.hero-copy{padding-left:40px}.display-xl{font-size:clamp(54px,6vw,78px)}.feature-grid{grid-template-columns:1fr 1fr}.news-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--hairline);padding:26px 0 0}.news-panel .news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news-row{grid-template-columns:90px 1fr;gap:12px;align-content:start}.news-row img{width:90px;height:86px}.news-row .row-arrow{display:none}.news-row h3{font-size:18px}.reviews-section{grid-template-columns:1fr 1fr}.review-feature{grid-column:1/-1;border-top:1px solid #d1c0af;padding:20px 0 0;margin-top:20px}.review-score{border-right:0}.visit-preview{grid-template-columns:1fr 1fr}.hours-card{grid-column:1/-1}.footer-main{grid-template-columns:1.3fr 1fr 1.1fr 1fr}}
@media(max-width:760px){html{scroll-padding-top:70px}.site-header{height:73px}.header-inner{gap:10px}.wordmark-main{font-size:27px}.wordmark-sub{font-size:8.5px;letter-spacing:3px}.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.primary-nav{position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:17px 25px 25px;box-shadow:0 20px 26px rgba(25,20,17,.1);display:none;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav>a{font-size:16px;padding:12px 0;border-bottom:1px solid var(--hairline)}.primary-nav>a:after{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:50px 24px 38px}.hero-copy:after{display:none}.hero-copy .lead{margin:18px 0 22px}.hero-art{min-height:0;height:460px}.hero-art img{object-position:center 50%}.display-xl{font-size:clamp(51px,11vw,72px)}.benefit-grid{grid-template-columns:repeat(2,1fr);gap:0;padding-top:17px;padding-bottom:17px}.benefit{justify-content:flex-start;padding:16px 8px 16px 0;border-right:0;border-bottom:1px solid #ded3c8}.benefit:nth-child(odd){border-right:1px solid #ded3c8}.benefit:nth-child(even){padding-left:15px}.benefit:nth-last-child(-n+2){border-bottom:0}.benefit h2{font-size:17px}.benefit-icon{font-size:23px;flex-basis:26px}.benefit p{font-size:11px}.story-news{padding-top:37px;padding-bottom:40px}.feature-grid{gap:12px}.feature-card{min-height:285px;border-radius:13px}.feature-overlay{left:15px;right:12px;bottom:16px}.feature-overlay h2{font-size:26px}.feature-overlay p{font-size:12px;max-width:90%}.feature-arrow{font-size:21px}.news-panel{padding-top:22px;margin-top:18px}.news-panel .section-title{font-size:34px}.news-panel .news-list{display:block}.news-row{grid-template-columns:100px 1fr 18px;min-height:100px}.news-row img{width:100px;height:80px}.news-row .row-arrow{display:block}.news-row h3{font-size:20px}.reviews-wrap{padding-bottom:42px}.reviews-section{padding:25px 22px;grid-template-columns:1fr;border-radius:17px}.reviews-heading h2{font-size:34px}.reviews-heading{padding-right:0}.review-score{border:0;border-top:1px solid #d1c0af;padding:19px 0 0;margin-top:18px}.rating-number{font-size:50px}.review-feature{margin-top:22px}.visit-preview{grid-template-columns:1fr;gap:15px;padding-bottom:52px}.visit-photo{height:340px}.visit-intro{padding:12px 0}.visit-intro h2{font-size:40px}.hours-card{grid-column:auto}.footer-main{grid-template-columns:1fr 1fr;gap:22px;padding-bottom:35px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:3px;padding-bottom:90px}.mobile-quicklinks{position:fixed;bottom:0;left:0;right:0;z-index:32;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,252,247,.98);backdrop-filter:blur(10px);box-shadow:0 -6px 26px rgba(35,23,13,.12);padding:7px 12px max(9px,env(safe-area-inset-bottom));border-top:1px solid #e6dbce}.mobile-quicklinks a{display:flex;flex-direction:column;align-items:center;gap:0;text-decoration:none;font-size:11px;font-weight:750}.mobile-quicklinks a span{font-size:21px;line-height:1.35}.page-hero-inner{grid-template-columns:1fr;gap:22px;padding-top:50px;padding-bottom:0}.page-hero .display{font-size:clamp(48px,10vw,67px)}.page-hero-image{height:280px}.page-hero.without-image .page-hero-inner{min-height:280px;padding-bottom:40px}.split-section{grid-template-columns:1fr;gap:28px}.split-section>img{height:350px}.image-grid{grid-template-columns:1fr 1fr}.image-grid img{height:240px}.callout-strip .container{flex-direction:column;align-items:start}.menu-items{grid-template-columns:1fr}.posts-grid{grid-template-columns:1fr 1fr;gap:14px}.post-card img{height:190px}.post-body{padding:16px}.post-body h2{font-size:25px}.post-body p{font-size:13px}.visit-detail-grid{grid-template-columns:1fr}.contact-block{grid-template-columns:1fr}.contact-tile{padding:23px}}
@media(max-width:500px){.container{padding-left:19px;padding-right:19px}.hero-art{height:400px}.hero-actions{gap:10px}.hero-actions .pill{font-size:12px;padding:12px 15px}.display-xl{font-size:53px}.feature-card{min-height:240px}.feature-overlay h2{font-size:24px}.feature-overlay p{font-size:11px}.feature-grid{gap:9px}.news-row h3{font-size:19px}.reviews-heading h2{font-size:32px}.review-cards{grid-template-columns:1fr}.image-grid{grid-template-columns:1fr}.image-grid img{height:320px}.posts-grid{grid-template-columns:1fr}.post-card img{height:250px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.footer-main h2{font-size:19px}.page-hero .display{font-size:51px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* Menu catalogue: typography, hairlines, spacing and tone follow the existing cafe website. */
.menu-catalog{padding-top:78px}
.menu-page-intro{margin-bottom:20px}
.menu-page-intro .lead{margin-bottom:0}
.menu-jump-links{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 74px}
.menu-jump-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--ink);border-radius:999px;color:var(--ink);padding:12px 22px;text-decoration:none;font-size:14px;font-weight:700;transition:background .2s,color .2s}
.menu-jump-links a:hover,.menu-jump-links a:focus-visible{background:var(--ink);color:var(--paper)}
.menu-section{scroll-margin-top:110px;margin-top:0;margin-bottom:82px}
.menu-section-intro{padding:25px 0 33px;border-top:2px solid var(--ink);margin-bottom:13px}
.menu-section-intro .eyebrow{margin-bottom:12px}
.menu-section-intro .section-title{font-size:clamp(38px,4vw,58px);margin:0}
.menu-catalog .menu-category{margin-bottom:38px}
.menu-catalog .menu-category-header{border-bottom:1px solid #d7cabd;display:block;margin-bottom:6px;padding-bottom:14px}
.menu-catalog .menu-category-header h3{font-family:var(--display);font-size:clamp(27px,3vw,34px);letter-spacing:-.025em;line-height:1.08;margin:0}
.menu-catalog .menu-items--names{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px}
.menu-catalog .menu-items--names .menu-item{padding:16px 0 15px;border-bottom:1px solid #e1d7cb;min-width:0}
.menu-catalog .menu-items--names .menu-item p{font-family:var(--display);font-size:21px;line-height:1.22;color:var(--ink);margin:0;letter-spacing:-.015em}
.menu-catalog .menu-disclaimer{margin:14px 0 0}
@media(max-width:760px){.menu-catalog{padding-top:54px}.menu-jump-links{margin-bottom:54px}.menu-section{margin-bottom:58px}.menu-catalog .menu-items--names{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.menu-catalog .menu-items--names .menu-item p{font-size:20px}.menu-catalog .menu-category{margin-bottom:31px}}
@media(max-width:500px){.menu-jump-links a{flex:1;gap:8px;padding:12px 15px}.menu-catalog .menu-category-header h3{font-size:27px}.menu-catalog .menu-items--names .menu-item p{font-size:18px}.menu-section-intro{padding-top:23px;padding-bottom:25px}.menu-catalog .menu-items--names{gap:0 16px}}

/* Radio news: same cream, ink, serif headlines, pill links and paper cards as the rest of the cafe site. */
.radio-featured-wrap{padding-top:60px}
.radio-featured{display:grid;grid-template-columns:minmax(240px,36%) 1fr;align-items:stretch;gap:0;border:1px solid var(--hairline);border-radius:22px;overflow:hidden;text-decoration:none;background:#fffaf4;transition:box-shadow .2s}
.radio-featured:hover{box-shadow:var(--shadow)}
.radio-featured-media{background:#ece4d9;overflow:hidden;max-height:490px}
.radio-featured-media img{width:100%;height:100%;object-fit:contain;object-position:center}
.radio-featured-copy{padding:clamp(28px,5vw,65px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.radio-featured-copy h2{font-family:var(--display);font-size:clamp(38px,4.7vw,63px);letter-spacing:-.045em;line-height:1.04;margin:0 0 18px}
.radio-featured-copy>p{font-size:17px;line-height:1.65;max-width:540px;color:var(--muted);margin:0 0 24px}
.radio-featured-meta{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}
.radio-featured-meta span{border:1px solid #d5c8b9;border-radius:100px;padding:7px 12px;font-size:12px;font-weight:700;white-space:nowrap}
.radio-featured .pill{pointer-events:none}
.radio-article{max-width:1190px}
.radio-article-head{max-width:840px;margin:34px auto 45px;text-align:center}
.radio-article-head h1{font-size:clamp(44px,5.3vw,75px);margin-bottom:21px}
.radio-article-head .intro{margin:0 auto 18px}
.radio-story-grid{display:grid;grid-template-columns:minmax(285px,.84fr) minmax(0,1.16fr);align-items:start;gap:clamp(25px,5vw,72px)}
.radio-flyer{margin:0;position:sticky;top:112px}
.radio-flyer-image{height:auto;width:100%;border-radius:17px;border:1px solid #e2d6c8}
.radio-flyer figcaption{font-size:12px;line-height:1.6;color:#7c6d60;margin:11px 4px}
.radio-story-copy{max-width:unset}
.radio-story-copy h2{font-family:var(--display);font-size:clamp(27px,2.6vw,38px);line-height:1.1;letter-spacing:-.03em;margin:28px 0 13px}
.radio-story-copy h2:first-of-type{margin-top:28px}
.radio-story-copy p{font-size:17px;line-height:1.72;margin:0 0 19px}
.radio-story-copy .pill{font-family:var(--body);max-width:100%;white-space:normal;text-align:center;margin:4px 0 9px}
.radio-story-copy .radio-listen-caption{font-size:13px;color:var(--muted)}
.radio-story-copy .radio-listen-caption a{font-weight:700;text-underline-offset:3px}
.radio-article-footer{margin:54px auto 0;padding:28px 0 0;border-top:1px solid var(--hairline);max-width:820px;text-align:center}
.radio-article-footer>p:first-child{font-family:var(--display);font-size:clamp(23px,3vw,34px);line-height:1.25;margin:0 0 20px}
.radio-article-footer .radio-keywords{font-family:var(--body);font-size:11px;line-height:1.8;color:#7c6d60;overflow-wrap:anywhere;margin-top:30px}
@media(max-width:760px){.radio-featured-wrap{padding-top:30px}.radio-featured{grid-template-columns:1fr}.radio-featured-media{max-height:370px}.radio-featured-media img{max-height:370px;object-fit:contain}.radio-featured-copy{padding:27px 25px 30px}.radio-featured-copy h2{font-size:43px}.radio-featured-copy>p{font-size:15px}.radio-story-grid{grid-template-columns:1fr}.radio-flyer{position:static;max-width:440px;margin:auto}.radio-article-head{margin:25px auto 32px}.radio-article-head h1{font-size:clamp(40px,9vw,60px)}.radio-story-copy{padding-top:10px}.radio-article{padding-top:45px}.radio-article-footer{margin-top:38px}}
@media(max-width:500px){.radio-featured-media{max-height:340px}.radio-featured-media img{max-height:340px}.radio-featured-copy h2{font-size:37px}.radio-featured-meta span{font-size:11px}.radio-article-head h1{font-size:42px}.radio-story-copy h2{font-size:29px}}

/* StrongHearts coffee tasting: native Little Hearts editorial palette and typography */
.tasting-featured-wrap{padding-top:60px}
.tasting-featured{display:grid;grid-template-columns:minmax(260px,35%) minmax(0,1fr);border:1px solid var(--hairline);border-radius:22px;overflow:hidden;text-decoration:none;background:#fffaf4;transition:box-shadow .2s}
.tasting-featured:hover{box-shadow:var(--shadow)}
.tasting-featured-media{background:#f0e8db;height:500px;overflow:hidden}
.tasting-featured-media img{width:100%;height:100%;object-fit:contain}
.tasting-featured-copy{padding:clamp(30px,5vw,65px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.tasting-featured-copy h2{font-family:var(--display);font-size:clamp(36px,4.5vw,61px);letter-spacing:-.047em;line-height:1.04;margin:21px 0 18px}
.tasting-featured-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:555px;color:var(--muted);margin:0 0 24px}
.tasting-status{display:inline-block;border:1px solid #bba393;border-radius:100px;background:#efe4d8;color:#543d2d;font-size:12px;font-weight:800;letter-spacing:.045em;padding:8px 13px;text-transform:uppercase}
.tasting-featured-details{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.tasting-featured-details span{font-size:12px;font-weight:700;border:1px solid #d7c8b9;border-radius:100px;padding:7px 10px}
.tasting-featured .pill{pointer-events:none}
.tasting-featured-wrap + .radio-featured-wrap{padding-top:28px}
.tasting-article{max-width:1190px}
.tasting-article-head{text-align:center;max-width:880px;margin:30px auto 36px}
.tasting-article-head h1{font-size:clamp(43px,5.3vw,71px);margin:22px 0 20px}
.tasting-article-head .intro{margin:0 auto}
.tasting-quick-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#eee7dd;border-radius:16px;margin:0 0 45px;overflow:hidden}
.tasting-quick-facts>div{padding:23px 20px;border-right:1px solid #d7c9bb}
.tasting-quick-facts>div:last-child{border:0}
.tasting-quick-facts span{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#776758;display:block;margin-bottom:9px}
.tasting-quick-facts strong{font-size:15px;line-height:1.35;display:block}
.tasting-story-grid{display:grid;grid-template-columns:minmax(260px,.79fr) minmax(0,1.21fr);gap:clamp(30px,5vw,68px);align-items:start}
.tasting-flyer{position:sticky;top:110px;margin:0}
.tasting-flyer-image{width:100%;height:auto;border-radius:15px;box-shadow:0 11px 35px rgba(40,25,10,.08)}
.tasting-flyer figcaption{font-size:12px;line-height:1.6;margin-top:12px;color:var(--muted)}
.tasting-story-copy{max-width:unset}
.tasting-story-copy h2{font-family:var(--display);font-size:clamp(28px,2.65vw,39px);line-height:1.12;letter-spacing:-.04em;margin:35px 0 15px}
.tasting-story-copy h2:first-of-type{margin-top:22px}
.tasting-story-copy p{font-size:16px;line-height:1.75;margin:0 0 19px}
.tasting-story-copy .tasting-lead{font-family:var(--display);font-size:29px;line-height:1.23;color:var(--ink);margin-bottom:25px}
.tasting-coffee-grid{list-style:none;padding:0;margin:17px 0 35px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.tasting-coffee{padding:21px 19px;background:#f0e8dd;border:1px solid #e2d8ca;border-radius:14px}
.tasting-coffee-origin{font-size:11px;letter-spacing:.075em;text-transform:uppercase;font-weight:800;color:#8c7363}
.tasting-coffee h3{font-family:var(--display);font-size:27px;line-height:1.12;letter-spacing:-.025em;margin:9px 0}
.tasting-coffee p{font-size:13px;line-height:1.6;margin:0}
.tasting-expect{padding-left:23px;margin:12px 0 30px}
.tasting-expect li{padding-left:6px;margin:8px 0;line-height:1.6}
.tasting-booked-note{border-left:4px solid #836855;background:#eee4d8;padding:22px 25px;border-radius:0 13px 13px 0;margin-top:34px}
.tasting-booked-note strong{font-size:17px}
.tasting-booked-note p{margin:7px 0 0;font-size:14px}
.tasting-article-footer{margin:55px auto 0;padding:35px 0;border-top:1px solid var(--hairline);max-width:800px;text-align:center}
.tasting-article-footer h2{font-family:var(--display);font-size:clamp(30px,3.5vw,48px);letter-spacing:-.04em;line-height:1.1;margin:0 0 15px}
.tasting-article-footer p{font-size:16px;line-height:1.65;margin:0 auto 23px;max-width:640px}
.tasting-article-footer a{margin:5px 10px}
@media(max-width:900px){.tasting-quick-facts{grid-template-columns:repeat(2,1fr)}.tasting-quick-facts>div:nth-child(2){border-right:0}.tasting-quick-facts>div:nth-child(-n+2){border-bottom:1px solid #d7c9bb}}
@media(max-width:760px){.tasting-featured-wrap{padding-top:32px}.tasting-featured{grid-template-columns:1fr}.tasting-featured-media{height:auto;max-height:370px}.tasting-featured-media img{height:100%;max-height:370px;object-fit:contain}.tasting-featured-copy{padding:28px 25px 32px}.tasting-featured-copy h2{font-size:42px}.tasting-featured-copy>p:not(.eyebrow){font-size:15px}.tasting-featured-wrap + .radio-featured-wrap{padding-top:20px}.tasting-article{padding-top:44px}.tasting-article-head{margin:24px auto 32px}.tasting-article-head h1{font-size:clamp(42px,9vw,58px)}.tasting-story-grid{grid-template-columns:1fr}.tasting-flyer{position:static;margin:0 auto;max-width:430px}.tasting-story-copy{padding-top:6px}.tasting-coffee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.tasting-featured-copy h2{font-size:37px}.tasting-featured-media{max-height:330px}.tasting-featured-media img{max-height:330px}.tasting-quick-facts>div{padding:17px 15px}.tasting-quick-facts strong{font-size:13px}.tasting-article-head h1{font-size:41px}.tasting-coffee-grid{grid-template-columns:1fr}.tasting-story-copy .tasting-lead{font-size:27px}.tasting-story-copy h2{font-size:30px}}

/* Contact page, social links and home call-to-action (native site design) */
.footer-social{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:16px}
.footer-social a{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-home-cta .eyebrow{color:#ddd0c0;margin-bottom:8px}
.contact-hero .page-hero-inner{min-height:390px}
.contact-hero .pill{margin-top:14px}
.contact-page{padding-bottom:30px}
.contact-page .section-heading{max-width:775px;margin-bottom:37px}
.contact-page .section-heading .lead{max-width:690px}
.contact-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.contact-method{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(26px,4vw,49px);min-height:350px;background:#f0e8dd;border:1px solid #e2d8cb;border-radius:19px}
.contact-method:nth-child(2){background:#f7f1e9}
.contact-method-number{display:block;color:#756557;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;font-size:11px}
.contact-method h3{font-family:var(--display);font-size:clamp(31px,3vw,43px);line-height:1.05;letter-spacing:-.04em;margin:20px 0 12px}
.contact-method p{margin:0 0 22px;max-width:440px;color:#5b5047;line-height:1.72}
.contact-method .contact-email{font-size:clamp(14px,1.6vw,18px);font-weight:700;overflow-wrap:anywhere;text-underline-offset:5px;margin:0 0 22px}
.contact-method .pill{margin-top:auto;white-space:normal;text-align:center}
.contact-method-note{display:block;margin-top:13px;font-size:12px;color:var(--muted)}
.contact-social-section{padding-bottom:70px}
.contact-social-inner{display:flex;gap:35px;align-items:center;justify-content:space-between;border-top:1px solid var(--hairline);padding-top:48px}
.contact-social-inner p:not(.eyebrow){color:var(--muted);max-width:550px}
.contact-social-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.visit-contact-link{margin-top:10px!important}
@media(max-width:1100px) and (min-width:761px){.header-inner{gap:9px}.primary-nav{gap:11px}.primary-nav>a{font-size:12px}.header-cta{padding:10px 13px;font-size:12px}.wordmark-main{font-size:25px}.wordmark-sub{font-size:8px;letter-spacing:2.5px}}
@media(max-width:760px){.contact-methods{grid-template-columns:1fr}.contact-method{min-height:unset}.contact-social-inner{flex-direction:column;align-items:flex-start}.contact-social-buttons{justify-content:flex-start}.contact-hero .page-hero-inner{min-height:auto}}
@media(max-width:500px){.contact-method{padding:28px 22px}.contact-method h3{font-size:36px}.contact-social-buttons{width:100%}.contact-social-buttons .pill{white-space:normal;text-align:center}}
