/* Wine Palate Journal. App light surfaces, Manrope typography, Caslon wordmark. */
.journal .nav{border-bottom:1px solid var(--line)}
.journal .nav [aria-current]{color:var(--gold)}
.journal .reviewbar{font-size:11px}
.journal.embedded-review .reviewbar{display:none}
.journal .eyebrow,.homepage-journal .eyebrow{font-size:11px;letter-spacing:.16em}
.journal-intro{padding:62px 0 42px}
.journal-intro h1{font-size:clamp(38px,4.6vw,66px);margin:16px 0 22px;max-width:900px;line-height:1.14}
.journal-intro p{font-size:18px;line-height:1.75}
.journal-feature{display:grid;grid-template-columns:1.08fr 1fr;border-radius:var(--radius);overflow:hidden;background:linear-gradient(115deg,#111827,#1c263a);border:1px solid #ffffff0d;isolation:isolate}
.journal-feature-photo{position:relative;min-height:390px;overflow:hidden;background:#0d121d}
.journal-feature-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%;transition:transform .65s ease}
.journal-feature:hover .journal-feature-photo img{transform:scale(1.025)}
.journal-feature-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#080d18a8);pointer-events:none}
.image-label{position:absolute;left:28px;bottom:24px;z-index:1;font-size:10px;letter-spacing:.17em;color:#ded2b8}
.journal-feature-copy{padding:38px 42px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.article-meta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;color:var(--muted);font-size:13px;line-height:1.7}
.article-meta span+span:before{content:"·";margin-right:18px;color:var(--gold)}
.journal-feature-copy .article-meta{margin:16px 0 14px}
.journal-feature-copy h2,.homepage-journal .journal-feature h2{font-size:clamp(27px,2.5vw,37px);line-height:1.2;letter-spacing:-.035em;margin:0}
.journal-feature-copy>p{font-size:16px;line-height:1.75;margin:17px 0 27px}
.journal-read{color:var(--gold);font-size:15px;font-weight:600;display:flex;gap:32px;align-items:center}
.journal-read span{font-size:22px;transition:translate .2s}.journal-feature:hover .journal-read span{translate:3px -3px}
.journal-latest>.journal-feature+.journal-feature{margin-top:28px}
.inside-guide{padding:57px 0 72px}
.journal-section-label{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:23px}.journal-section-label>span:last-child{color:var(--muted);font-size:13px}
.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.chapter-card{border-top:1px dotted #d4b97960;padding:23px 0 0}
.chapter-number{color:var(--gold);font-size:13px;display:block;margin-bottom:16px}
.chapter-card h3{font-size:22px;letter-spacing:-.03em;margin-bottom:12px}.chapter-card p{font-size:16px;line-height:1.7;margin-bottom:18px}.chapter-card .text-link{font-size:13px}.chapter-card:hover h3{color:var(--gold)}
.journal-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;border-block:1px dotted #d4b97960;padding-block:48px;margin-bottom:14px}
.journal-cta h2{font-size:clamp(29px,3.2vw,44px);margin:13px 0 16px}.journal-cta p{font-size:16px}.journal-cta>.store-buttons{flex:none}
.journal-cta .store-buttons{margin:0 0 12px;justify-content:flex-start;align-items:center;gap:14px}.journal-cta .store-badge img{height:44px;width:auto}.journal-cta .google-badge{margin:-7px -7px -7px 0}.journal-cta .google-badge img{height:57px}.journal-cta p.micro{font-size:12px;text-align:center}
.article-breadcrumb{display:flex;justify-content:space-between;padding-block:29px;color:var(--muted);font-size:13px}.article-breadcrumb a{color:var(--gold)}
.article-heading{max-width:920px;padding:23px 0 36px}.article-heading h1{font-size:clamp(36px,4.4vw,62px);max-width:850px;margin:18px 0 23px;line-height:1.13}.article-deck{font-size:19px;line-height:1.75;max-width:740px}
.article-byline{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:27px;font-size:12px;color:var(--muted)}.article-byline>span:first-child{color:var(--ink)}
.article-cover{margin-top:0;margin-bottom:0;position:relative;aspect-ratio:1672/941;max-width:920px;overflow:hidden;border-radius:var(--radius)}.article-cover img{width:100%;height:100%;object-fit:contain}.article-cover figcaption{position:absolute;left:32px;bottom:25px;font-size:14px;color:#d8cfbc;max-width:220px}
.article-layout{display:grid;grid-template-columns:240px minmax(0,720px);justify-content:center;gap:70px;padding-block:59px 70px}
.article-toc{position:sticky;top:28px;align-self:start}.article-toc ol,.mobile-toc ol{list-style:none;padding:0;margin:21px 0 29px}.article-toc li{margin:15px 0}.article-toc li a,.mobile-toc li a{display:flex;gap:15px;font-size:13px;line-height:1.7;color:var(--muted)}.article-toc li span,.mobile-toc li span{color:var(--gold);font-size:11px;line-height:2;flex-shrink:0}.article-toc li a[aria-current],.article-toc li a:hover{color:var(--ink)}.article-toc>.text-link{padding-top:20px;border-top:1px dotted var(--line);font-size:12px}
.article-body{min-width:0}.article-body p{font-size:17px;line-height:1.9;color:#bdc3cf}.article-body p.article-lead{font-size:20px;line-height:1.8;color:var(--ink)}
.takeaway{border-left:2px solid var(--gold);padding:5px 0 5px 23px;margin:30px 0 10px}.takeaway p{margin-top:9px;font-size:16px}
.article-section{padding-top:41px;scroll-margin-top:25px}.article-number{color:var(--gold);font-size:12px;letter-spacing:.14em}.article-section h2,.article-faq h2{font-size:clamp(26px,2.5vw,33px);letter-spacing:-.035em;line-height:1.25;margin:12px 0 22px}.article-section p+p{margin-top:17px}
.article-body p.source-note{font-size:12px;line-height:1.8;margin-top:19px}.source-note a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.ask-example{background:linear-gradient(110deg,#121a2b,#202a40);border-radius:var(--radius);margin:27px 0 0;padding:28px}.ask-example figcaption{color:var(--gold);font-size:12px}.ask-example blockquote{font-size:22px;line-height:1.6;letter-spacing:-.02em;margin:15px 0 23px}.copy-question{border:0;border-bottom:1px solid #d4b97960;background:transparent;color:var(--gold);padding:5px 0;font-size:13px;min-height:44px;display:inline-flex;gap:14px;align-items:center}.copy-status{display:block;color:var(--muted);font-size:12px;min-height:20px;margin-top:5px}
.app-example{margin:30px 0 0;background:linear-gradient(110deg,#121a2b,#202a40);border-radius:var(--radius);padding:30px;display:grid;grid-template-columns:1fr 270px;gap:20px;align-items:center}.app-example-copy h3{font-size:26px;line-height:1.3;margin:14px 0}.app-example-copy p{font-size:16px;line-height:1.75}.app-example-copy .text-link{font-size:13px;margin-top:22px}.article-phone{position:relative;width:100%;max-width:300px;aspect-ratio:862/1825;justify-self:center;filter:drop-shadow(0 14px 15px #22251f26)}.article-phone .device-frame{display:block;width:100%;height:100%;object-fit:contain}.article-phone .device-screen{position:absolute;left:8.7%;right:8.7%;top:12.3%;aspect-ratio:390/804;overflow:hidden;border-radius:0 0 15% 15% / 0 0 7.3% 7.3%;background:#c4c2bc}.article-phone .device-screen img{display:block;width:100%;height:100%;object-fit:contain}.app-example figcaption{grid-column:1/-1;text-align:center;font-size:11px;color:var(--muted)}
.article-faq{margin-top:50px;padding-top:20px;border-top:1px dotted #d4b97960}.article-faq details{border-bottom:1px solid var(--line);padding:18px 0}.article-faq summary{list-style:none;display:flex;gap:20px;justify-content:space-between;cursor:pointer;font-size:16px;font-weight:600}.article-faq summary:after{content:"+";color:var(--gold);font-size:22px;flex-shrink:0;line-height:1.3}.article-faq details[open] summary:after{content:"−"}.article-faq details p{margin-top:16px;font-size:16px}
.article-end{display:flex;justify-content:space-between;gap:20px;margin-top:34px}.article-end a{font-size:13px;min-height:44px;display:flex;align-items:center}.mobile-toc{display:none}.reading-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:20;pointer-events:none}.reading-progress span{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.homepage-journal .journal-section-label h2{margin:14px 0 5px}.homepage-journal .journal-section-label{align-items:flex-end;margin-bottom:32px}.homepage-journal .journal-feature-photo{min-height:350px}
body[data-theme=b] .homepage-journal .journal-feature{background:#e3ddcf}.homepage-journal{padding-top:70px;padding-bottom:85px}
@media(max-width:1100px){.article-layout{gap:35px;grid-template-columns:190px minmax(0,1fr)}.journal-feature-copy{padding:30px}.journal-cta{gap:24px}.journal .nav nav{gap:22px}}
@media(max-width:850px){.journal .wrap{width:calc(100% - 40px)}.journal-feature{grid-template-columns:1fr 1fr}.journal-feature-photo{min-height:350px}.journal-feature-copy{padding:26px}.journal-feature-copy h2{font-size:29px}.article-toc{display:none}.article-layout{display:block;max-width:720px;padding-top:32px}.mobile-toc{display:block;border-block:1px dotted #d4b97960;margin-bottom:32px;padding:16px 0}.mobile-toc summary{cursor:pointer;display:flex;justify-content:space-between;font-size:14px;color:var(--gold)}.mobile-toc summary:after{content:"+"}.mobile-toc summary span{color:var(--muted);margin-left:auto;margin-right:18px;font-size:12px}.mobile-toc[open] summary:after{content:"−"}.mobile-toc li{margin:14px 0}.article-heading{max-width:720px}.article-cover{aspect-ratio:2.2}.journal-cta{align-items:flex-start;flex-direction:column}.journal-cta p.micro{text-align:left}}
@media(max-width:600px){.journal-intro{padding:34px 0}.journal-intro h1{font-size:38px}.journal-intro p{font-size:16px}.desktop-break{display:none}.journal-feature{grid-template-columns:1fr}.journal-feature-photo,.homepage-journal .journal-feature-photo{min-height:0;aspect-ratio:1.65}.journal-feature-photo img{object-position:50% 50%}.journal-feature-copy{padding:26px}.journal-feature-copy h2{font-size:30px}.journal-feature-copy>p{font-size:16px}.journal-feature-copy .article-meta{margin:14px 0}.chapter-grid{grid-template-columns:1fr;gap:27px}.chapter-card{display:grid;grid-template-columns:28px 1fr;gap:0 12px;padding-top:20px}.chapter-number{grid-column:1;grid-row:1/4;padding-top:4px}.chapter-card h3,.chapter-card p,.chapter-card .text-link{grid-column:2}.chapter-card h3{font-size:22px}.inside-guide{padding-block:37px 43px}.journal-section-label{gap:12px}.journal-section-label>span:last-child{font-size:12px}.journal-cta{padding-block:34px}.journal-cta .store-buttons{gap:10px}.journal-cta .store-badge img{height:40px}.journal-cta .google-badge img{height:52px}.journal .reviewbar{padding:8px 14px;flex-wrap:wrap;font-size:10px;gap:8px}.journal .reviewbar>span{display:none}.article-heading{padding-top:15px;padding-bottom:28px}.article-heading h1{font-size:36px}.article-deck{font-size:17px}.article-breadcrumb{padding-block:24px 15px;gap:12px;font-size:12px}.article-byline{gap:7px;flex-direction:column;font-size:12px}.article-cover{aspect-ratio:1.65}.article-cover img{object-position:50% 50%}.article-cover figcaption{display:none}.article-body p.article-lead{font-size:19px}.article-body p{font-size:17px;line-height:1.85}.article-section{padding-top:33px}.article-section h2,.article-faq h2{font-size:28px}.ask-example{padding:22px}.ask-example blockquote{font-size:21px}.app-example{padding:23px;grid-template-columns:1fr;gap:25px}.app-example-copy h3{font-size:25px}.article-body .app-example-copy p{font-size:16px}.article-layout{padding-bottom:43px}.homepage-journal .journal-section-label{align-items:flex-start;flex-direction:column;gap:18px}.homepage-journal{padding-block:50px}.article-faq{margin-top:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journal-feature-photo img,.journal-read span{transition:none}.journal-feature:hover .journal-feature-photo img{transform:none}}
.journal .article-cover{aspect-ratio:1672/941}
.article-phone .device-status{position:absolute;left:8.7%;right:8.7%;top:7.1%;height:5.3%;background:#cbc8c3;border-radius:15% 15% 0 0 / 100% 100% 0 0}
.article-phone .device-camera{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(8.3% 39.8% 88.7% 40.1% round 100px);pointer-events:none}

/* Champagne & Smoke: AppColors + AppSurface from the current Flutter app.
   Ivory fill at .40 opacity, 13px blur, soft cast shadow, no lit rim. */
body.journal[data-theme=app-light]{--bg:#c4c2bc;--surface:#fffcf5;--ink:#22251f;--muted:#433f36;--gold:#51381f;--accent:#d4b77e;--line:#898271;--radius:20px;color-scheme:light;background-color:var(--bg);background-image:linear-gradient(180deg,#fffcf521,transparent 45%),linear-gradient(180deg,#c4c2bc 35%,#bda989 100%);background-attachment:fixed}
.journal[data-theme=app-light] .journal-feature,.journal[data-theme=app-light] .ask-example,.journal[data-theme=app-light] .app-example,.journal[data-theme=app-light] .takeaway,.journal[data-theme=app-light] .chapter-card{background:rgba(255,252,245,.4);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border:0;border-radius:var(--radius);box-shadow:0 6px 20px rgba(59,64,54,.14)}
.journal[data-theme=app-light] .journal-feature{isolation:auto}
.journal[data-theme=app-light] .article-body p{color:var(--muted)}
.journal[data-theme=app-light] .article-body p.article-lead{color:var(--ink)}
.journal[data-theme=app-light] .chapter-card{padding:24px}
.journal[data-theme=app-light] .chapter-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--gold);padding:0}
.journal[data-theme=app-light] .takeaway{padding:24px;margin-top:28px}
.journal[data-theme=app-light] .article-faq,.journal[data-theme=app-light] .journal-cta,.journal[data-theme=app-light] .mobile-toc{border-color:var(--line)}
.journal[data-theme=app-light] .copy-question{border-color:var(--line)}
.journal[data-theme=app-light] .nav-download{border:0;background:#2c302b;color:#fffaf0;min-height:44px;display:inline-flex;align-items:center;padding:10px 18px}
.journal[data-theme=app-light] .nav-download:hover{background:var(--gold);color:#fffaf0}
.journal[data-theme=app-light] .reviewbar{background:#e4dfd6;color:var(--gold);border-color:#b3ad9f}
.journal[data-theme=app-light] .article-toc li a[aria-current]{color:var(--gold);font-weight:700}
.journal[data-theme=app-light] .nav nav.open{background:#f3efe5;box-shadow:0 6px 20px #3b403624}
@media(max-width:850px) and (min-width:601px){.journal .app-example{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:600px){.journal[data-theme=app-light] .chapter-card{padding:22px;grid-template-columns:32px 1fr;gap:0 15px}.journal .app-example{grid-template-columns:1fr}.journal .article-phone{width:min(300px,100%)}.journal[data-theme=app-light] .takeaway{padding:22px}}
