.ppb-journal { --ink:#263e3a; --paper:#f9f7ef; --line:#d8dcd0; --coral:#ee7058; --coral-dark:#a93628; --muted:#52635c; --sage:#e2e8d9; background:var(--paper); color:var(--ink); }
.ppb-journal :focus-visible { outline:3px solid #a93628; outline-offset:5px; }
.ppb-topline { text-align:center; background:var(--ink); color:#f9f7ef; padding:8px 20px; font-size:9px; letter-spacing:.21em; }
.ppb-header { padding-block:25px; border-bottom:0; }
.ppb-logo { display:flex; flex-direction:column; text-decoration:none; line-height:1.12; }
.ppb-logotype { font:600 clamp(23px,2.2vw,31px)/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.065em; }
.ppb-logotype b { font-style:italic; font-weight:600; }
.ppb-logo-dot { color:var(--coral-dark); }
.ppb-logokana { font-size:9px; letter-spacing:.12em; margin-top:9px; }
.ppb-header nav { gap:28px; }
.ppb-header nav a { border-bottom:1px solid transparent; padding-block:7px; }
.ppb-header nav a:hover,.ppb-header nav a[aria-current] { border-color:var(--coral-dark); }
.ppb-journal .base-main { margin-top:20px; }
.ppb-journal .eyebrow { color:var(--muted); font-size:10px; letter-spacing:.13em; }
.ppb-journal .base-title h1 { font-family:'Yu Mincho','Hiragino Mincho ProN',serif; font-weight:500; letter-spacing:-.03em; font-size:clamp(28px,4vw,46px); }
.ppb-hero { display:grid; grid-template-columns:1fr 1fr; column-gap:30px; position:relative; }
.ppb-hero-copy { padding:35px 0 38px 20px; }
.ppb-hero-copy h1 { font:500 clamp(45px,5.5vw,72px)/1.5 'Yu Mincho','Hiragino Mincho ProN',serif; letter-spacing:-.065em; margin:23px 0; }
.ppb-hero-copy h1 span { color:var(--coral-dark); }
.ppb-hero-intro { color:var(--muted); font-size:14px; line-height:2.2; margin-bottom:28px; }
.ppb-button { display:inline-flex; align-items:center; gap:35px; background:var(--ink); color:var(--paper); border-radius:2px; padding:15px 22px; font-size:12px; text-decoration:none; transition:background .2s; }
.ppb-button:hover { background:#405a53; }
.ppb-button span { font-size:19px; }
.ppb-hero-art { background:#f2c9af; position:relative; overflow:hidden; min-height:560px; border-radius:48% 48% 2px 2px; margin-top:18px; isolation:isolate; }
.ppb-hero-art::before { content:''; position:absolute; width:120%; height:140px; background:#daaf90; bottom:-80px; left:-10%; border-radius:50%; }
.ppb-art-orbit { position:absolute; width:400px; height:400px; border:1px solid #a1634d55; border-radius:50%; left:50%; top:48%; transform:translate(-50%,-50%); }
.ppb-art-orbit::after { content:''; position:absolute; width:115%; height:52%; border:1px solid #a1634d44; border-radius:50%; left:-8%; top:25%; transform:rotate(-40deg); }
.ppb-art-note { position:absolute; top:54px; left:50%; width:80%; text-align:center; transform:translateX(-50%) rotate(-8deg); font:italic 26px/1.2 Georgia,serif; color:#74452f; z-index:3; }
.ppb-art-bottle { width:170px; height:300px; position:absolute; left:24%; bottom:67px; border-radius:38px 38px 12px 12px; background:linear-gradient(100deg,#9e481c,#b96628 23%,#d1883f 48%,#b3642e 80%,#824221); box-shadow:22px 20px 20px #703b222b,inset 3px 0 5px #fff5; transform:rotate(-12deg); z-index:2; }
.ppb-bottle-cap { position:absolute; top:-66px; left:38px; width:94px; height:80px; border-radius:12px 12px 3px 3px; background:repeating-linear-gradient(90deg,#263e3a 0 3px,#334d47 4px 6px); }
.ppb-bottle-label { background:#f9f7ef; position:absolute; top:70px; left:3px; right:3px; bottom:29px; padding:25px 18px; font:500 22px/1.1 Georgia,serif; letter-spacing:.04em; }
.ppb-bottle-label i { font-size:45px; line-height:1.2; }
.ppb-bottle-label small { display:block; font:6px/1.4 sans-serif; letter-spacing:.16em; margin-top:15px; }
.ppb-art-jar { width:165px; height:137px; position:absolute; right:11%; bottom:54px; border-radius:8px 8px 35px 35px; background:linear-gradient(90deg,#e7e8cb,#f8f7da 38%,#dbdfc0); transform:rotate(8deg); box-shadow:14px 17px 20px #6b45312b; z-index:3; }
.ppb-jar-lid { position:absolute; top:-27px; left:-4px; right:-4px; height:39px; border-radius:12px 12px 5px 5px; background:linear-gradient(90deg,#cb503d,#ee7058 55%,#d75540); box-shadow:0 3px 3px #863e241f; }
.ppb-art-jar>span { display:block; font:600 22px/1.1 Georgia,serif; letter-spacing:-.02em; margin:40px 23px; }
.ppb-art-seal { position:absolute; width:110px; height:110px; border-radius:50%; background:#edf0d8; top:42%; right:7%; transform:rotate(13deg); display:flex; flex-direction:column; justify-content:center; align-items:center; font-size:8px; letter-spacing:.1em; z-index:4; border:1px solid #c0c9a3; }
.ppb-art-seal b { font:italic 19px Georgia,serif; letter-spacing:-.03em; }
.ppb-art-seal span { color:#a93628; font-size:25px; line-height:1.2; }
.ppb-hero-caption { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; border-block:1px solid var(--line); padding:18px 0; margin-top:22px; color:var(--muted); font-size:10px; letter-spacing:.07em; }
.ppb-library-feature { display:grid; grid-template-columns:1fr 1.35fr; gap:65px; margin:85px 0; padding:48px; background:var(--sage); }
.ppb-library-feature h2 { font:500 31px/1.7 'Yu Mincho',serif; letter-spacing:-.04em; margin:15px 0; }
.ppb-library-feature p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:2; }
.ppb-text-link { display:inline-flex; align-items:center; gap:35px; margin-top:15px; font-size:12px; }
.ppb-feature-links { align-self:center; }
.ppb-feature-links>a { display:flex; align-items:center; gap:22px; padding:23px 0; text-decoration:none; border-bottom:1px solid #b9c7b9; }
.ppb-feature-links>a:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.ppb-feature-number { color:#657864; font:italic 21px Georgia,serif; }
.ppb-feature-links small { font-size:10px; color:var(--muted); }
.ppb-feature-links h3 { margin:4px 0 0; font:500 18px/1.8 'Yu Mincho',serif; }
.ppb-feature-links>a>span:last-child { margin-left:auto; }
.ppb-feature-links .ppb-category-all { border:0; font-size:11px; padding-bottom:0; }
.ppb-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:22px; margin:55px 0 22px; }
.ppb-section-heading h2 { font:500 clamp(20px,2.5vw,29px)/1.6 'Yu Mincho',serif; margin:0; letter-spacing:-.025em; }
.ppb-section-heading span { flex-shrink:0; font-size:9px; letter-spacing:.1em; color:var(--muted); }
.ppb-section-intro { font-size:13px; color:var(--muted); margin:0 0 32px; }
.ppb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 28px; }
.ppb-card-image { display:grid; place-items:center; aspect-ratio:1.3; background:#eee8dc; margin-bottom:20px; overflow:hidden; text-decoration:none; }
.ppb-card:nth-child(3n+2) .ppb-card-image { background:var(--sage); }
.ppb-card:nth-child(3n) .ppb-card-image { background:#f0cfbd; }
.ppb-card-image img { width:100%; height:100%; object-fit:contain; background:white; transition:transform .25s; }
.ppb-card-image:hover img { transform:scale(1.03); }
.ppb-card-image>span { font:26px/1.2 Georgia,serif; text-align:center; }
.ppb-card-image i { display:block; font-size:42px; }
.ppb-card-image small { display:block; font:8px sans-serif; letter-spacing:.14em; margin-top:15px; }
.ppb-card .eyebrow { font-size:9px; }
.ppb-card h3 { font:500 18px/1.8 'Yu Mincho',serif; margin:8px 0 12px; }
.ppb-card h3 a { text-decoration:none; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.ppb-card h3 a:hover { text-decoration:underline; }
.ppb-card-description { color:var(--muted); font-size:12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ppb-philosophy { margin:100px 0 30px; border-top:2px solid var(--ink); padding:45px 20px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px 65px; }
.ppb-philosophy>.eyebrow { grid-column:1/-1; }
.ppb-philosophy h2 { font:500 clamp(25px,3vw,37px)/1.8 'Yu Mincho',serif; margin-top:0; }
.ppb-philosophy>div>p { font-size:13px; line-height:2.2; margin-top:0; margin-bottom:25px; }
.ppb-philosophy .ppb-philosophy-sign { font:italic 20px Georgia,serif; margin-top:30px; }
.ppb-philosophy-sign span { display:block; font:11px sans-serif; margin-top:12px; }
.ppb-footer { flex-wrap:wrap; align-items:flex-start; padding-block:35px; }
.ppb-footer-logo { font:600 21px Georgia,serif; letter-spacing:-.05em; }
.ppb-footer p { font-size:10px; color:var(--muted); }
.ppb-footer nav { display:flex; gap:23px; flex-wrap:wrap; font-size:11px; }
.ppb-footer small { width:100%; font-size:9px; color:var(--muted); }
.ppb-back,.ppb-breadcrumb { font-size:12px; margin:25px 0 35px; }
.ppb-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; }
.ppb-journal .ppb-detail { max-width:850px; }
.ppb-detail .base-title h1 { font-size:clamp(26px,3.2vw,37px); line-height:1.8; overflow-wrap:anywhere; }
.ppb-article-meta { display:flex; flex-wrap:wrap; gap:10px 25px; font-size:10px; color:var(--muted); border-block:1px solid var(--line); padding-block:18px; margin-bottom:30px; }
.ppb-product-hero { margin:25px 0 40px; background:white; text-align:center; }
.ppb-product-hero img { display:block; width:100%; height:350px; object-fit:contain; }
.ppb-article-body { font-size:16px; line-height:2.25; overflow-wrap:anywhere; }
.ppb-article-body h2 { font:500 26px/1.7 'Yu Mincho',serif; border-bottom:1px solid var(--line); padding-bottom:17px; margin-top:48px; }
.ppb-article-body h3 { font-size:21px; margin-top:35px; }
.ppb-article-body img { display:block; max-width:100%; height:auto; margin:auto; }
.ppb-article-body figure { margin:25px 0; }
.ppb-article-body table { display:block; overflow:auto; }
.ppb-article-body pre { overflow:auto; padding:20px; background:var(--sage); }
.ppb-article-body blockquote { margin-inline:0; padding:20px; background:var(--sage); }
.ppb-article-lead { font-size:18px; }
.ppb-ingredient-link { text-decoration-style:dotted; text-decoration-color:var(--coral-dark); text-decoration-thickness:1.5px; }
.ppb-ingredient-link:hover { color:var(--coral-dark); text-decoration-style:solid; }
.ppb-article-end { margin-top:45px; padding:30px; text-align:center; background:var(--sage); }
.ppb-article-end p { font-family:'Yu Mincho',serif; font-size:19px; }
.ppb-article-end a { font-size:12px; }
.ppb-library-intro { max-width:780px; color:var(--muted); line-height:2.1; margin-bottom:35px; font-size:15px; }
.ppb-ingredient-search { display:grid; grid-template-columns:1.5fr 1fr auto; align-items:end; gap:15px; padding:27px; background:var(--sage); }
.ppb-ingredient-search label { font-size:11px; margin-bottom:8px; }
.ppb-ingredient-search input,.ppb-ingredient-search select { width:100%; min-width:0; height:48px; border:1px solid #a4b4a4; border-radius:2px; background:var(--paper); color:var(--ink); padding:10px 13px; }
.ppb-ingredient-search button { height:48px; border-radius:2px; white-space:nowrap; padding:10px 25px; }
.ppb-popular { display:flex; gap:12px 19px; flex-wrap:wrap; align-items:center; margin:22px 0 45px; font-size:12px; }
.ppb-popular>span { color:var(--muted); font-size:10px; }
.ppb-ingredient-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.ppb-ingredient-card { border-top:2px solid var(--line); padding:22px 0 18px; min-width:0; overflow-wrap:anywhere; }
.ppb-ingredient-card .eyebrow { font-size:9px; margin:0 0 8px; line-height:1.6; }
.ppb-ingredient-card h2 { font:500 21px/1.7 'Yu Mincho',serif; margin:8px 0 12px; }
.ppb-ingredient-card h2 a { display:flex; gap:10px; justify-content:space-between; text-decoration:none; }
.ppb-ingredient-card h2 a span { color:var(--coral-dark); font:18px sans-serif; flex-shrink:0; }
.ppb-ingredient-card h2 a:hover { text-decoration:underline; }
.ppb-ingredient-card p { font-size:12px; line-height:1.9; color:var(--muted); }
.ppb-ingredient-card .ppb-ingredient-subtitle { color:var(--coral-dark); font-size:12px; }
.ppb-detail .ppb-ingredient-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ppb-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.ppb-category-card { background:var(--sage); padding:28px; min-width:0; }
.ppb-category-card:nth-child(3n+2) { background:#f1dbcc; }
.ppb-category-card:nth-child(3n) { background:#eee9d3; }
.ppb-category-meta { display:flex; justify-content:space-between; font-size:9px; color:var(--muted); }
.ppb-category-meta>span:first-child { font:italic 23px Georgia,serif; }
.ppb-category-card h2 { font:500 22px/1.65 'Yu Mincho',serif; margin:20px 0 12px; }
.ppb-category-card h2 a { text-decoration:none; }
.ppb-category-card h2 a:hover { text-decoration:underline; }
.ppb-category-card h2 span { color:var(--coral-dark); white-space:nowrap; }
.ppb-category-card p { font-size:12px; color:var(--muted); line-height:1.9; }
.ppb-category-card .ppb-category-subtitle { color:var(--ink); }
.ppb-reading-note { background:var(--sage); padding:30px 35px; margin:40px 0; border-left:3px solid #70846c; }
.ppb-reading-note h2 { font:500 22px/1.8 'Yu Mincho',serif; margin:12px 0; }
.ppb-reading-note p { line-height:2; font-size:14px; }
.ppb-reading-note a { font-size:12px; }
.ppb-ingredient-identity { padding:20px 25px; border:1px solid var(--line); overflow-wrap:anywhere; margin-bottom:30px; }
.ppb-ingredient-identity p { font:italic 22px/1.5 Georgia,serif; margin:10px 0; }
.ppb-ingredient-identity small { color:var(--muted); font-size:11px; }
.ppb-article-body .ppb-inline-source { font-size:11px; line-height:1.8; color:var(--muted); }
.ppb-sources { font-size:12px; margin:45px 0; }
.ppb-sources h2 { font:500 22px 'Yu Mincho',serif; }
.ppb-sources ul { padding-left:20px; }
.ppb-sources li { margin-block:15px; }
.ppb-sources li p { margin:4px 0; color:var(--muted); font-size:11px; }
.ppb-sources details { border-block:1px solid var(--line); padding-block:18px; margin-top:25px; }
.ppb-sources summary { cursor:pointer; }
.ppb-empty { padding:35px; background:var(--sage); }
.ppb-empty h2 { font:500 22px/1.8 'Yu Mincho',serif; }
.ppb-journal .admin-pagination { justify-content:center; gap:32px; margin-top:40px; font-size:12px; }
@media(max-width:1000px) { .ppb-hero-copy { padding-left:0; } .ppb-hero-art { min-height:520px; } .ppb-art-bottle { left:17%; } .ppb-art-jar { right:5%; } .ppb-library-feature { gap:35px; padding:35px; } .ppb-header nav { gap:18px; } .ppb-ingredient-grid,.ppb-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .ppb-header { gap:20px; } .ppb-header nav { font-size:11px; flex-wrap:wrap; gap:18px; } .ppb-hero { gap:20px; } .ppb-hero-copy h1 { font-size:43px; } .ppb-hero-art { min-height:480px; } .ppb-art-bottle { width:125px; height:230px; left:17%; } .ppb-bottle-cap { width:70px; height:64px; top:-55px; left:28px; } .ppb-bottle-label { top:50px; padding:18px 12px; font-size:17px; } .ppb-bottle-label i { font-size:34px; } .ppb-art-jar { width:125px; height:110px; right:4%; bottom:36px; } .ppb-art-jar>span { font-size:18px; margin:33px 16px; } .ppb-art-seal { width:85px; height:85px; right:3%; top:36%; } .ppb-art-seal b { font-size:15px; } .ppb-art-note { font-size:22px; } .ppb-hero-copy .eyebrow { font-size:8px; } .ppb-hero-intro { font-size:12px; } .ppb-button { font-size:11px; padding:12px 14px; gap:16px; } .ppb-library-feature { grid-template-columns:1fr; margin-block:60px; gap:15px; } .ppb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ppb-philosophy { grid-template-columns:1fr; gap:10px; padding-inline:0; margin-top:70px; } .ppb-ingredient-search { grid-template-columns:1fr 1fr; padding:20px; } .ppb-ingredient-search>div:first-child { grid-column:1/-1; } .ppb-ingredient-search button { justify-self:end; } .ppb-hero-caption { flex-direction:column; gap:8px; } }
@media(max-width:540px) { .ppb-topline { font-size:8px; } .ppb-header { padding-block:22px 15px; } .ppb-logotype { font-size:27px; } .ppb-header nav { width:100%; justify-content:space-between; gap:10px; font-size:10px; } .ppb-hero { grid-template-columns:1fr; gap:0; } .ppb-hero-copy { padding:12px 0 20px; } .ppb-hero-copy h1 { font-size:clamp(43px,12vw,62px); line-height:1.42; margin-block:18px; } .ppb-hero-copy .eyebrow { font-size:8px; letter-spacing:.09em; } .ppb-hero-intro { font-size:13px; margin-bottom:20px; } .ppb-button { padding:14px 20px; font-size:12px; } .ppb-hero-art { min-height:360px; margin-top:15px; border-radius:45% 45% 2px 2px; } .ppb-art-bottle { left:24%; bottom:43px; height:205px; } .ppb-art-jar { right:14%; bottom:27px; } .ppb-art-note { top:32px; left:58%; font-size:18px; width:55%; } .ppb-art-orbit { width:300px; height:300px; } .ppb-art-seal { right:10%; top:31%; } .ppb-hero-caption { margin-top:20px; font-size:9px; } .ppb-library-feature { padding:27px 22px; } .ppb-library-feature h2 { font-size:27px; } .ppb-feature-links>a { gap:16px; padding-block:20px; } .ppb-feature-links h3 { font-size:16px; } .ppb-feature-links .ppb-category-all { font-size:10px; } .ppb-grid { grid-template-columns:1fr; gap:35px; } .ppb-card h3 { font-size:20px; } .ppb-section-heading { align-items:flex-end; gap:10px; } .ppb-section-heading span { font-size:8px; } .ppb-ingredient-grid,.ppb-category-grid,.ppb-detail .ppb-ingredient-grid { grid-template-columns:1fr; } .ppb-library-intro { font-size:14px; } .ppb-ingredient-search { grid-template-columns:1fr; } .ppb-ingredient-search button { width:100%; } .ppb-ingredient-identity p { font-size:19px; } .ppb-article-body { font-size:15px; } .ppb-article-lead { font-size:16px; } .ppb-article-body h2 { font-size:22px; } .ppb-reading-note { padding:22px; } .ppb-reading-note h2 { font-size:20px; } .ppb-product-hero img { height:270px; } .ppb-article-end { padding:22px; } .ppb-article-end p { font-size:16px; } .ppb-footer nav { gap:15px; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .ppb-card-image img,.ppb-button { transition:none; } }
