/* V5 static proposal. Scoped to phase-3 content; no theme/plugin dependencies. */
.matsunoya-phase3 {
 --p3-ink:#292521; --p3-paper:#f6f2e9; --p3-gold:#ad9360; --p3-wine:#783f4c; --p3-line:#ddd4c4;
 color:var(--p3-ink); max-width:1120px; margin:0 auto;
 font-family:"Yu Gothic",Meiryo,sans-serif; font-size:16px; line-height:1.95; overflow-wrap:anywhere; text-align:left;
}
.matsunoya-phase3 * { box-sizing:border-box; }
.matsunoya-phase3.p3-preview-shell { margin:36px auto 72px; padding:0 20px; }
.matsunoya-phase3 h1 { margin:0 0 24px; padding-bottom:18px; border-bottom:1px solid var(--p3-line); color:var(--p3-ink); font-size:19px; font-weight:600; line-height:1.7; letter-spacing:.08em; }
.matsunoya-phase3 h2,.matsunoya-phase3 h3 { color:var(--p3-ink); background:none; line-height:1.65; letter-spacing:.04em; margin:0 0 .8em; padding:0; border:0; }
.matsunoya-phase3 h2 { font-size:clamp(1.4rem,2.6vw,1.85rem); }
.matsunoya-phase3 h3 { font-size:1.12rem; }
.matsunoya-phase3 p { margin:0 0 1em; color:inherit; }
.matsunoya-phase3 a { color:#703443; text-decoration:underline; text-underline-offset:.24em; overflow-wrap:anywhere; }
.matsunoya-phase3 a:focus-visible { outline:3px solid #12628a; outline-offset:5px; }
.matsunoya-phase3 .p3-note { border-left:2px solid var(--p3-gold); padding:10px 16px; background:#faf8f3; font-size:.875rem; color:#5b5348; }
.matsunoya-phase3 .p3-kicker { font-size:.75rem; letter-spacing:.19em; font-weight:700; color:#705c35; margin-bottom:18px; }
.matsunoya-phase3 .p3-hero { padding:clamp(24px,4vw,48px); margin-bottom:64px; background:var(--p3-paper); border-top:1px solid var(--p3-gold); }
.matsunoya-phase3 .p3-hero h2 { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(1.7rem,3.1vw,2.65rem); font-weight:600; line-height:1.65; letter-spacing:.06em; }
.matsunoya-phase3 .p3-hero--monthly { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:44px; align-items:center; }
.matsunoya-phase3 .p3-hero-copy { min-width:0; }
.matsunoya-phase3 .p3-hero-copy > p:not(.p3-kicker) { max-width:31em; }
.matsunoya-phase3 .p3-section { margin:0 0 64px; }
.matsunoya-phase3 .p3-section[id] { padding-top:110px; margin-top:-110px; }
.matsunoya-phase3 .p3-section-title { padding-bottom:14px; border-bottom:1px solid var(--p3-gold); margin-bottom:28px; }
.matsunoya-phase3 .p3-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.matsunoya-phase3 a.p3-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; max-width:100%; padding:12px 24px; background:var(--p3-wine); border:1px solid var(--p3-wine); color:#fff; font-weight:600; font-size:.95rem; letter-spacing:.025em; line-height:1.7; text-decoration:none; text-align:center; }
.matsunoya-phase3 a.p3-button:hover { background:#65313d; border-color:#65313d; }
.matsunoya-phase3 a.p3-button--light { background:#fff; color:#703443; }
.matsunoya-phase3 a.p3-button--light:hover { background:#f6f0ed; }
.matsunoya-phase3 .p3-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.matsunoya-phase3 .p3-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:20px; background:#fff; border:1px solid var(--p3-line); }
.matsunoya-phase3 .p3-card h3 { margin-top:6px; }
.matsunoya-phase3 .p3-card > p { font-size:.95rem; }
.matsunoya-phase3 .p3-card .p3-actions { width:100%; margin-top:auto; padding-top:12px; }
.matsunoya-phase3 .p3-card a.p3-button { width:100%; }
.matsunoya-phase3 .p3-image { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; height:300px; padding:16px; margin:0 0 20px; background:var(--p3-paper); border:1px solid var(--p3-line); }
.matsunoya-phase3 .p3-image img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; margin:0; object-fit:contain; border:0; }
.matsunoya-phase3 .p3-card .p3-image { order:-1; }
.matsunoya-phase3 .p3-hero-photo { height:390px; padding:20px; margin:0; background:#fffdf8; border-color:#c9b68e; }
.matsunoya-phase3 .p3-image--wide { height:auto; max-width:768px; margin:28px auto; padding:18px; background:#fffdf8; }
.matsunoya-phase3 .p3-image--wide img { width:100%; height:auto; }
.matsunoya-phase3 .p3-hero--guide > p:not(.p3-kicker) { max-width:48em; }
.matsunoya-phase3 .p3-tag { display:inline-block; margin-bottom:10px; padding:3px 10px; color:#665330; background:#f7f1e5; border:1px solid #cdbb96; font-size:.75rem; letter-spacing:.04em; line-height:1.7; }
.matsunoya-phase3 .p3-small { font-size:.875rem; color:#5b5348; }
.matsunoya-phase3 .p3-collab { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px; align-items:center; background:#faf8f3; border:1px solid var(--p3-line); padding:28px; }
.matsunoya-phase3 .p3-collab .p3-image { height:auto; margin:0; padding:10px; background:#fff; }
.matsunoya-phase3 .p3-collab img { height:auto; }
.matsunoya-phase3 .p3-guide-panel { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:36px; align-items:center; }
.matsunoya-phase3 .p3-guide-panel h2 { font-size:clamp(1.5rem,2.3vw,2rem); }
.matsunoya-phase3 .p3-guide-thumbnail { height:auto; padding:12px; margin:0; background:#fffdf8; }
.matsunoya-phase3 .p3-guide-thumbnail img { height:auto; }
.matsunoya-phase3 .p3-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:0; }
.matsunoya-phase3 .p3-steps li { margin:0; padding:28px 24px; border:1px solid var(--p3-line); background:#faf8f3; }
.matsunoya-phase3 .p3-step-no { display:block; color:#705c35; font-weight:700; font-size:.85rem; letter-spacing:.16em; margin-bottom:16px; }
.matsunoya-phase3 .p3-lanes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.matsunoya-phase3 .p3-lane { padding:28px; background:var(--p3-paper); border-top:2px solid var(--p3-gold); min-width:0; }
.matsunoya-phase3 .p3-lane > h3 { margin-bottom:24px; }
.matsunoya-phase3 .p3-condition { padding:24px; margin-bottom:20px; background:#fff; border:1px solid var(--p3-line); }
.matsunoya-phase3 .p3-condition p:last-child { margin-bottom:0; }
.matsunoya-phase3 .p3-converge { padding:32px; border:1px solid var(--p3-wine); border-left:4px solid var(--p3-wine); background:#fcf8f7; margin-top:28px; }
.matsunoya-phase3 .p3-converge h3 { font-family:"Yu Mincho",serif; font-size:1.7rem; color:#703443; }
.matsunoya-phase3 .p3-image-slot { padding:14px 18px; margin:20px 0; border:1px dashed #b5a78d; background:#faf8f4; color:#5b5348; font-size:.875rem; text-align:center; }
.matsunoya-phase3 .p3-faq { margin:0; padding:24px 0; border-bottom:1px solid var(--p3-line); }
.matsunoya-phase3 .p3-faq h3 { font-size:1.05rem; }
.matsunoya-phase3 .p3-feature-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0 48px; }
.matsunoya-phase3 a.p3-feature-link { display:grid; grid-template-columns:110px minmax(0,1fr); gap:22px; align-items:center; border:1px solid var(--p3-line); border-top:2px solid var(--p3-gold); background:var(--p3-paper); padding:24px; color:var(--p3-ink); text-decoration:none; min-height:48px; }
.matsunoya-phase3 .p3-feature-copy { font-size:.9rem; }
.matsunoya-phase3 .p3-feature-copy strong { display:inline-block; font-size:1.1rem; margin-bottom:8px; }
.matsunoya-phase3 .p3-feature-thumbnail { height:128px; padding:8px; margin:0; background:#fffdf8; }
.matsunoya-phase3 .p3-product-banner { background:var(--p3-paper); border-top:1px solid var(--p3-gold); padding:28px 32px; margin-top:24px; max-width:840px; }
.matsunoya-phase3 .p3-product-banner h2 { font-size:1.6rem; }
.matsunoya-phase3 .p3-product-banner .p3-image-slot { text-align:left; padding:8px 0; margin-bottom:0; border:none; background:none; }
@media (max-width:1000px) {
 .matsunoya-phase3 .p3-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .matsunoya-phase3 .p3-hero--monthly { gap:28px; }
 .matsunoya-phase3 .p3-hero-photo { height:330px; }
 .matsunoya-phase3 a.p3-feature-link { grid-template-columns:85px minmax(0,1fr); padding:20px; gap:16px; }
 .matsunoya-phase3 .p3-lane { padding:22px; }
}
@media (max-width:640px) {
 .matsunoya-phase3.p3-preview-shell { margin-top:24px; padding:0 12px; }
 .matsunoya-phase3 h1 { font-size:17px; margin-bottom:20px; padding-bottom:14px; }
 .matsunoya-phase3 .p3-grid,.matsunoya-phase3 .p3-steps,.matsunoya-phase3 .p3-lanes,.matsunoya-phase3 .p3-collab,.matsunoya-phase3 .p3-feature-links,.matsunoya-phase3 .p3-guide-panel { grid-template-columns:minmax(0,1fr); }
 .matsunoya-phase3 .p3-hero--monthly { grid-template-columns:minmax(0,1fr); gap:24px; }
 .matsunoya-phase3 .p3-hero--monthly .p3-hero-photo { grid-row:1; height:280px; }
 .matsunoya-phase3 .p3-hero { padding:24px 20px; margin-bottom:44px; }
 .matsunoya-phase3 .p3-hero h2 { font-size:1.7rem; }
 .matsunoya-phase3 .p3-section { margin-bottom:44px; }
 .matsunoya-phase3 .p3-section-title { margin-bottom:24px; }
 .matsunoya-phase3 .p3-image { height:300px; }
 .matsunoya-phase3 .p3-image--wide,.matsunoya-phase3 .p3-collab .p3-image,.matsunoya-phase3 .p3-guide-thumbnail { height:auto; }
 .matsunoya-phase3 .p3-image--wide { padding:8px; margin:24px auto; }
 .matsunoya-phase3 .p3-actions a.p3-button { width:100%; }
 .matsunoya-phase3 .p3-lane,.matsunoya-phase3 .p3-collab,.matsunoya-phase3 .p3-condition { padding:20px; }
 .matsunoya-phase3 .p3-converge { padding:24px 20px; }
 .matsunoya-phase3 .p3-feature-thumbnail { height:112px; }
 .matsunoya-phase3 a.p3-feature-link { grid-template-columns:86px minmax(0,1fr); }
 .matsunoya-phase3 .p3-product-banner { padding:24px 20px; }
}

/* Photo candidate additions: all rules scoped to the existing phase3 wrapper. */
.matsunoya-phase3 .p3-foil-photo { margin:0; text-align:center; min-width:0; }
.matsunoya-phase3 .p3-foil-photo img { display:block; width:100%; height:auto; object-fit:contain; max-width:260px; margin:0 auto; }
.matsunoya-phase3 .p3-foil-photo figcaption { margin-top:10px; font-size:1rem; font-weight:700; }
.matsunoya-phase3 .p3-foil-comparison,.matsunoya-phase3 .p3-foil-halves { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.matsunoya-phase3 .p3-foil-comparison .p3-condition { margin-bottom:0; }
.matsunoya-phase3 .p3-foil-comparison .p3-foil-photo { margin:22px auto; }
.matsunoya-phase3 .p3-foil-half { min-width:0; padding:20px; background:#f7f3e9; border-radius:8px; }
.matsunoya-phase3 .p3-foil-half h4 { margin:0 0 20px; font-size:1.15rem; }
.matsunoya-phase3 .p3-foil-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 12px; }
.matsunoya-phase3 .p3-foil-feature { display:grid; grid-template-columns:minmax(0,260px) minmax(0,1fr); align-items:center; gap:32px; }
.matsunoya-phase3 .p3-foil-copy { min-width:0; }
.matsunoya-phase3 .p3-link-pending { padding:14px 18px; border:1px dashed #82745a; background:#f7f3e9; }
.matsunoya-phase3 .p3-month-nav { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.matsunoya-phase3 .p3-month-nav a { padding:8px 12px; border:1px solid #82745a; border-radius:4px; }
@media(max-width:900px) { .matsunoya-phase3 .p3-foil-halves { grid-template-columns:minmax(0,1fr); } }
@media(max-width:640px) {
 .matsunoya-phase3 .p3-foil-comparison,.matsunoya-phase3 .p3-foil-feature { grid-template-columns:minmax(0,1fr); }
 .matsunoya-phase3 .p3-foil-half { padding:16px 12px; }
 .matsunoya-phase3 .p3-foil-feature { gap:20px; }
}

/* Confirmed offline specification: only new scoped selectors, V5 base retained. */
.matsunoya-phase3 .p3-lineup-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.matsunoya-phase3 .p3-card--foil { background:#fbf7ed; border-color:#ad9360; box-shadow:inset 0 3px #ad9360; }
.matsunoya-phase3 .p3-tag--spotlight { background:#6e5830; color:#fff; border-color:#6e5830; }
.matsunoya-phase3 .p3-foil-summary { padding:28px; border:1px solid var(--p3-line); background:#faf8f3; }
.matsunoya-phase3 .p3-overlap { margin:20px 0; padding:14px 16px; border:1px solid var(--p3-line); background:#fff; }
.matsunoya-phase3 .p3-overlap summary { cursor:pointer; font-weight:700; color:#703443; padding:6px 0; }
.matsunoya-phase3 .p3-overlap[open] summary { margin-bottom:14px; }
.matsunoya-phase3 .p3-toc { margin-bottom:32px; padding:20px 24px; border:1px solid var(--p3-line); background:var(--p3-paper); }
.matsunoya-phase3 .p3-toc ul { display:flex; flex-wrap:wrap; gap:8px 28px; padding-left:20px; margin:0; }
.matsunoya-phase3 .p3-zoom { display:block; text-decoration:none; }
.matsunoya-phase3 .p3-zoom-hint { display:block; font-size:.75rem; line-height:1.6; margin-top:6px; text-decoration:underline; }
.matsunoya-phase3 .p3-foil-comparison { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.matsunoya-phase3 #p3-kurauchi { scroll-margin-top:110px; }
@media(max-width:640px) {
 .matsunoya-phase3 .p3-lineup-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .matsunoya-phase3 .p3-lineup-grid .p3-card { padding:12px 10px; }
 .matsunoya-phase3 .p3-lineup-grid .p3-card h3 { font-size:1rem; line-height:1.65; letter-spacing:0; }
 .matsunoya-phase3 .p3-lineup-grid .p3-card > p { font-size:.85rem; }
 .matsunoya-phase3 .p3-lineup-grid .p3-image { height:190px; padding:8px; }
 .matsunoya-phase3 .p3-lineup-grid .p3-tag { font-size:.7rem; padding:3px 6px; }
 .matsunoya-phase3 .p3-lineup-grid .p3-button { padding:10px 6px; font-size:.8rem; }
 .matsunoya-phase3 .p3-foil-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; }
 .matsunoya-phase3 .p3-foil-comparison { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .matsunoya-phase3 .p3-foil-comparison .p3-condition { padding:12px 10px; font-size:.85rem; }
 .matsunoya-phase3 .p3-foil-comparison h3 { font-size:1rem; letter-spacing:0; }
 .matsunoya-phase3 .p3-foil-comparison figcaption { font-size:.8rem; }
 .matsunoya-phase3 .p3-foil-summary { padding:20px 16px; }
 .matsunoya-phase3 .p3-toc { padding:16px; }
}

/* New mystery visual: conceptual HTML/CSS only, never an actual stamp image. */
.matsunoya-phase3 .p3-mystery { margin:28px auto; text-align:center; max-width:300px; }
.matsunoya-phase3 .p3-mystery-card { width:100%; max-width:260px; aspect-ratio:621 / 875; background:#000; color:#d4bd87; display:grid; place-items:center; border:1px solid #ad9360; margin:0 auto 16px; }
.matsunoya-phase3 .p3-mystery-card span { font-family:"Yu Mincho",serif; font-size:clamp(88px,10vw,132px); line-height:1; }
.matsunoya-phase3 .p3-mystery figcaption { font-size:.95rem; line-height:1.8; }
.matsunoya-phase3 .p3-purchase-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0; }
.matsunoya-phase3 .p3-purchase-routes > div { padding:20px; border:1px solid var(--p3-line); background:#fff; min-width:0; }
@media(max-width:640px) {
 .matsunoya-phase3 .p3-mystery-card { max-width:220px; }
 .matsunoya-phase3 .p3-purchase-routes { grid-template-columns:minmax(0,1fr); gap:16px; }
}
