/* Owner-confirmed learning, contact and operator details. */
.theme-b > .header { gap:12px 20px; padding-block:15px; }
.theme-b > .header > nav { grid-column:1/-1; grid-row:2; justify-content:center; flex-wrap:wrap; gap:6px 22px; }
.theme-b > .header nav a { font-size:14px; }
.opening-banner { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; margin:22px 0 16px; color:#1648ce; font-size:16px; line-height:1.6; }
.opening-banner strong { padding:6px 11px; background:#1648ce; color:#fff; border-radius:4px; }
.opening-banner span { font-weight:700; border-bottom:2px solid #dfba34; padding-block:4px; }
.about-learning { margin:25px 0 20px; padding:24px; background:#edf3ff; border-left:3px solid #1648ce; border-radius:0 15px 15px 0; }
.about-learning h3 { color:#163da8; font-size:21px; margin:0 0 15px; }
.about-learning p { font-size:16px; margin:12px 0; }
.about-learning .text-link { font-size:15px; }
.monogram-signature { display:flex; gap:20px; align-items:center; margin:24px 0; }
.monogram-signature .brand-monogram { width:100px; flex:none; height:100px; stroke:#172f52; stroke-width:2.5; }
.monogram-signature p { font-size:12px; color:#435984; line-height:1.9; margin:0; }
.monogram-signature strong,.monogram-signature span { display:block; }
.monogram-signature strong { letter-spacing:.16em; }
.brand-monogram.is-playing .monogram-b { animation-duration:1.5s; }
.brand-monogram.is-playing .monogram-l { animation-duration:1.1s; animation-delay:.35s; }
.brand-monogram.is-playing .monogram-c { animation-duration:1.3s; animation-delay:.65s; }
.learning-post-links { color:#435984; margin:0 0 30px; font-size:15px; }
.learning-post-links a { display:inline-block; margin-left:10px; color:#143ca6; }
.theme-b .learning-first-feed { display:grid; grid-template-columns:1.45fr 1fr 1fr; gap:25px; align-items:start; }
.learning-first-feed .post-study .post-image { height:430px; }
.learning-first-feed .post-study img { object-fit:contain; background:#e9e2d6; transform:none; }
.learning-first-feed .post-study:hover img { transform:none; }
.learning-first-feed .post-study .post-text { border-top:4px solid #1648ce; }
.community { background:#fffdf7; }
.community-layout { display:grid; grid-template-columns:1fr minmax(300px,480px); gap:70px; align-items:center; }
.community-copy h2 { font-family:'Noto Serif JP',serif; color:#143b9b; font-size:clamp(29px,3.2vw,43px); line-height:1.6; margin:14px 0 28px; }
.community-copy p:not(.eyebrow) { color:#435984; margin:18px 0; line-height:2; }
.instagram-embed-card { min-width:0; }
.instagram-embed-card iframe { display:block; width:100%; height:760px; background:white; border:1px solid #d8e1ee; border-radius:12px; }
.instagram-embed-card > p { margin:12px 0 0; font-size:12px; color:#60738c; line-height:1.8; }
.booking-inline { position:relative; z-index:3; padding-top:40px; }
.booking-heading { color:white; margin-bottom:24px; }
.booking-heading h3 { font-size:clamp(22px,3vw,30px); margin:10px 0; }
.booking-heading p { margin:10px 0; }
.booking-inline iframe { display:block; width:100%; height:780px; background:white; border:0; border-radius:18px; }
.booking-inline > p { margin:15px 0; }
.booking-inline > p a { color:white; text-decoration:underline; text-underline-offset:5px; }
.contact-email { margin:24px 0 0; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 15px; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.contact-email strong { font-size:18px; font-weight:600; }
.contact-email small { font-size:13px; }
.visit .contact-email { color:white; }
.operator-detail { margin-top:25px; padding-top:23px; border-top:1px solid #bdcde7; }
.operator-detail h3 { font-size:19px; line-height:1.8; margin:0 0 14px; }
.operator-detail p { font-size:15px; line-height:2; }
.operator-detail .text-link { margin-top:15px; font-size:14px; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px 30px; padding-top:18px; }
.footer-links a { font-size:14px; color:inherit; text-decoration:underline; text-underline-offset:5px; }
.footer-operator > a { color:inherit; text-underline-offset:5px; }
.footer-mail { margin-top:20px; padding-bottom:25px; color:#435984; }
.voice-story { grid-column:1/-1; }
.voice-grid .cafe-voice { grid-column:1/-1; }
.voice-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 34px; margin-top:25px; }
.voice-story-part { border-top:1px solid #d5dfed; padding-top:20px; }
.voice-story-part h3 { font-size:18px; line-height:1.8; color:#173f9f; margin:0 0 10px; }
.voice-story-part p { line-height:2; }
@media(max-width:800px) {
 .theme-b > .header > nav { display:grid; gap:5px 9px; }
 .theme-b > .header nav a:last-child { grid-column:auto; }
 .theme-b > .header nav a { font-size:13px; }
 .opening-banner { font-size:13px; gap:7px 12px; margin-top:18px; }
 .about-learning { padding:20px 18px; }
 .about-learning h3 { font-size:19px; }
 .about-learning p { font-size:15px; }
 .theme-b .learning-first-feed { grid-template-columns:1fr 1fr; gap:22px 16px; }
 .learning-first-feed .post-study { grid-column:1/-1; }
 .learning-first-feed .post-study .post-image { height:auto; }
 .learning-first-feed .post-study img { width:100%; height:auto; aspect-ratio:842/986; }
 .community-layout { grid-template-columns:1fr; gap:30px; }
 .community-copy h2 { font-size:29px; }
 .instagram-embed-card iframe { height:790px; }
 .booking-inline { padding-top:30px; }
 .booking-inline iframe { height:860px; border-radius:12px; }
 .contact-email { display:block; }
 .contact-email > * { display:block; }
 .contact-email strong { font-size:17px; }
 .footer-links { gap:14px 22px; }
 .voice-story-grid { grid-template-columns:1fr; }
}
@media(max-width:420px) { .theme-b .learning-first-feed { grid-template-columns:1fr; } .learning-first-feed .post-study { grid-column:auto; } }
