/* Guide-specific editorial layout; shared product chrome stays in site.css. */
.guide-shell { max-width:1320px; padding-top:32px; }
.guide-shell .breadcrumbs { margin-bottom:34px; font-size:.8rem; }
.guide-hub-header { position:relative; max-width:none; margin:0 0 46px; padding:20px 0 36px; border-bottom:1px solid var(--rule); }
.guide-hub-header::after { content:""; position:absolute; right:10px; top:10px; width:160px; height:160px; background:url('/assets/manhole-cover.svg') center/contain no-repeat; opacity:.065; pointer-events:none; }
.guide-hub-header h1 { max-width:800px; font-size:clamp(2.8rem,5.5vw,5.4rem); line-height:1; letter-spacing:-.05em; }
.guide-hub-header p { margin:18px 0; font-size:1.15rem; }
.guide-hub-header small { color:var(--muted); font-size:.8rem; }
.guide-shell .guide-eyebrow { margin:0 0 16px; color:var(--vermilion); font:700 .72rem/1.5 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.guide-index { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; border:0; }
.guide-card { display:block; min-width:0; padding:0; border:1px solid var(--rule); border-radius:12px; overflow:hidden; background:var(--paper-bright); transition:border-color .2s,transform .2s; }
.guide-card:hover { border-color:var(--vermilion); transform:translateY(-3px); }
.guide-card-link { display:flex; flex-direction:column; height:100%; text-decoration:none; }
.guide-card-link:focus-visible { outline-offset:-4px; }
[data-guide-tone] { --art-bg:#dce5e9; --art-ink:#244260; }
[data-guide-tone="poke-lids"] { --art-bg:#ece4c9; --art-ink:#716031; }
[data-guide-tone="tokyo-walks"] { --art-bg:#ecdcd6; --art-ink:#8c4f42; }
[data-guide-tone="offline"] { --art-bg:#dce4d4; --art-ink:#476048; }
[data-guide-tone="scanning"] { --art-bg:#d9ddeb; --art-ink:#484c78; }
[data-guide-tone="public-art"] { --art-bg:#e9d8bf; --art-ink:#78542e; }
[data-guide-tone="collections"] { --art-bg:#e7dce9; --art-ink:#704c72; }
[data-guide-tone="safety"] { --art-bg:#d5e6e0; --art-ink:#366c61; }
.guide-card-art { position:relative; height:218px; overflow:hidden; background:var(--art-bg); color:var(--art-ink); border-bottom:1px solid var(--rule); }
.guide-card-art::after { content:""; position:absolute; inset:26px; border:1px solid currentColor; border-radius:50%; opacity:.14; }
.guide-art-label { position:absolute; top:22px; left:22px; font:10px/1.3 var(--mono); letter-spacing:.08em; }
.guide-art-mark { position:absolute; width:110px; height:110px; left:22px; bottom:24px; opacity:.25; }
.guide-card-phone { position:absolute; z-index:1; top:38px; right:26px; width:134px; border:5px solid #152033; border-radius:22px; overflow:hidden; transform:rotate(8deg); box-shadow:0 14px 28px #16233735; }
.guide-card-phone img { display:block; width:100%; height:auto; }
.guide-card-copy { display:flex; flex:1; flex-direction:column; padding:24px; }
.guide-card .guide-card-meta { margin:0 0 14px; color:var(--muted); font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.guide-card h2 { font:600 clamp(1.5rem,2.3vw,1.9rem)/1.12 var(--display); letter-spacing:-.025em; }
.guide-card-copy > p:not(.guide-card-meta) { margin:14px 0 24px; color:var(--muted); font-size:.91rem; line-height:1.6; }
.guide-card-cta { display:flex; justify-content:space-between; margin-top:auto; padding-top:16px; border-top:1px solid var(--rule); color:var(--vermilion); font-size:.8rem; font-weight:700; }
.guide-card-cta > span { font-size:1.1rem; }
.guide-article > header { max-width:100%; }
.guide-article > header h1 { max-width:980px; font-size:clamp(2.5rem,4.7vw,4.4rem); line-height:1.04; letter-spacing:-.045em; }
.guide-deck { max-width:760px; margin:20px 0 0; color:var(--muted); font-size:1.15rem; }
.guide-article .byline { margin:18px 0 28px; font-size:.78rem; }
.guide-device-stage { min-height:0; height:360px; padding:26px 8%; display:flex; justify-content:space-between; gap:32px; border-radius:12px; color:var(--art-ink); background:var(--art-bg); }
.guide-device-stage::before { width:450px; right:-80px; opacity:.35; }
.guide-device-stage::after { display:none; }
.guide-stage-copy { position:relative; z-index:1; max-width:410px; }
.guide-stage-copy > img { opacity:.5; }
.guide-stage-copy p { margin:22px 0; font:500 clamp(1.8rem,3.3vw,3.1rem)/1.06 var(--display); letter-spacing:-.03em; }
.guide-stage-copy small { font:10px/1.3 var(--mono); letter-spacing:.13em; }
.guide-device-frame { flex-shrink:0; width:142px; border-width:5px; border-radius:20px; box-shadow:0 14px 35px #18233430; }
.guide-reading-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:48px; margin:52px auto 0; }
.guide-contents { align-self:start; position:sticky; top:110px; padding-top:8px; }
.guide-contents p { margin:0 0 14px; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.guide-contents ol { padding:0; margin:0; list-style:none; border-left:1px solid var(--rule); }
.guide-contents a { display:block; padding:8px 0 8px 16px; color:var(--muted); font-size:.8rem; line-height:1.4; text-decoration:none; }
.guide-contents a:hover { color:var(--vermilion); }
.guide-body { min-width:0; width:100%; max-width:760px; margin:0 auto; }
.guide-body > .direct-answer { margin:0 0 42px; padding:20px 24px; background:var(--paper-bright); font-size:1.05rem; }
.guide-body > section { margin-top:44px; scroll-margin-top:110px; }
.guide-body h2 { font-size:clamp(1.8rem,2.7vw,2.4rem); }
.guide-body p,.guide-body li { font-size:1rem; line-height:1.8; }
.guide-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.guide-related-grid .guide-card-art { height:130px; }
.guide-related-grid .guide-art-label,.guide-related-grid .guide-card-copy > p:not(.guide-card-meta),.guide-related-grid .guide-art-mark { display:none; }
.guide-related-grid .guide-card-phone { width:90px; top:18px; right:24px; border-width:3px; border-radius:15px; }
.guide-related-grid .guide-card-copy { padding:16px; }
.guide-related-grid .guide-card-meta { font-size:.6rem; }
.guide-related-grid .guide-card-meta span { display:block; }
.guide-related-grid h2 { font-size:1.25rem; margin:0 0 14px; }
.guide-related-grid .guide-card-cta { font-size:.65rem; }
@media(max-width:1050px) {
 .guide-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .guide-reading-layout { grid-template-columns:170px minmax(0,1fr); gap:28px; }
 .guide-related-grid { grid-template-columns:1fr; }
 .guide-related-grid .guide-card-art { display:none; }
}
@media(max-width:700px) {
 .guide-shell { padding:26px 20px 70px; }
 .guide-hub-header { margin-bottom:28px; padding:8px 0 26px; }
 .guide-hub-header::after { display:none; }
 .guide-index { gap:20px; }
 .guide-card-copy { padding:20px; }
 .guide-card-art { height:190px; }
 .guide-art-mark { width:80px; height:80px; left:16px; }
 .guide-card-phone { right:18px; width:110px; }
 .guide-reading-layout { grid-template-columns:1fr; gap:32px; margin-top:32px; }
 .guide-contents { position:static; }
 .guide-contents ol { columns:2; }
 .guide-contents li { break-inside:avoid; }
 .guide-device-stage { height:285px; gap:20px; padding:24px; }
 .guide-device-frame { width:108px; border-radius:16px; border-width:4px; }
 .guide-stage-copy > img { width:40px; height:40px; }
 .guide-stage-copy p { font-size:1.8rem; }
 .guide-stage-copy small { font-size:8px; }
 .guide-article .article-cta { padding:24px; }
 .article-cta .text-link { margin:20px 0 0; }
}
@media(max-width:540px) { .guide-index { grid-template-columns:1fr; } .guide-card-art { height:220px; } .guide-card-phone { width:140px; right:40px; } .guide-art-mark { width:110px; height:110px; left:30px; } }
@media(prefers-reduced-motion:reduce) { .guide-card { transition:none; } .guide-card:hover { transform:none; } }
@media print { .guide-contents,.article-narration,.guide-related-grid { display:none; } .guide-reading-layout { display:block; } .guide-device-stage { break-inside:avoid; } }
