/* Editorial guides reuse the site's type, palette and quiet section controls. */
#vp-portal .guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
#vp-portal .guide-card{min-width:0;margin:0}
#vp-portal .guide-card>a{display:block;color:var(--vp-text);text-decoration:none}
#vp-portal .guide-crop{display:block;position:relative;overflow:hidden;aspect-ratio:var(--crop-ratio);border-radius:5px;background:var(--vp-surface)}
#vp-portal .guide-crop img{position:absolute;max-width:none;height:auto;display:block}
#vp-portal .guide-cover{display:flex;align-items:center;overflow:hidden;aspect-ratio:2.2/1;border-radius:5px;background:var(--vp-surface)}
#vp-portal .guide-cover .guide-crop{flex:0 0 100%;border-radius:0}
#vp-portal .guide-card-copy{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:10px 18px;padding-top:0}
#vp-portal .guide-card h3{font:400 21px/1.4 Inter,sans-serif;margin:0}
#vp-portal .guide-card-arrow{color:var(--vp-accent);padding-top:6px}
#vp-portal .guide-card p{grid-column:1/-1;color:var(--vp-muted);font-size:15px;line-height:1.65;margin:0}
#vp-portal .guide-card>a:focus-visible{outline:1px solid var(--vp-accent);outline-offset:7px;border-radius:5px}
#vp-portal .guide-reading{max-width:760px;margin:0 auto;padding:0 0 20px}
#vp-portal .guide-back{display:inline-flex;align-items:center;gap:10px;color:var(--vp-accent);font-size:14px;font-weight:300;line-height:1.5;letter-spacing:normal;text-decoration:none;padding:8px 0;margin:24px 0}
#vp-portal .guide-heading h1{font:300 clamp(32px,3.6vw,46px)/1.2 Inter,sans-serif;letter-spacing:-.02em;margin:0 0 30px;text-wrap:balance}
#vp-portal .guide-reading p{font-size:16px;line-height:1.9;color:var(--vp-muted);margin:0 0 20px}
#vp-portal .guide-reading p.guide-lead{font-size:22px;line-height:1.55;color:var(--vp-text);margin-bottom:22px}
#vp-portal .guide-reading h2{font:400 24px/1.4 Inter,sans-serif;margin:46px 0 20px}
#vp-portal .guide-reading a:not(.guide-back){color:var(--vp-accent);text-decoration:none}
#vp-portal .guide-reading a:hover{color:var(--vp-text)}
#vp-portal .guide-reading blockquote{margin:28px 0;padding:4px 0 4px 24px;border-left:2px solid var(--vp-accent)}
#vp-portal .guide-reading blockquote p{margin:0}
#vp-portal .guide-figure{margin:32px auto 38px;max-width:100%}
#vp-portal .guide-figure-small{max-width:280px}
#vp-portal .guide-figure-controls{max-width:480px}
#vp-portal .guide-figure-settings{max-width:560px}
#vp-portal .guide-figure figcaption{font-size:12px;line-height:1.65;color:var(--vp-muted);margin-top:12px;text-align:center}
#vp-portal .guide-related{margin-top:48px;padding-top:28px;border-top:1px solid var(--vp-border)}
#vp-portal .guide-related h2{margin:0 0 22px}
#vp-portal .guide-related a{display:flex;align-items:center;gap:12px;margin:16px 0;line-height:1.6}
@media(max-width:700px){#vp-portal .guide-grid{grid-template-columns:1fr;gap:32px}#vp-portal .guide-reading{padding-top:0}#vp-portal .guide-heading h1{font-size:32px}#vp-portal .guide-reading p{font-size:15px}#vp-portal .guide-reading p.guide-lead{font-size:20px}#vp-portal .guide-back{margin:16px 0 24px}#vp-portal .guide-reading h2{margin-top:36px;font-size:23px}#vp-portal .guide-card h3{font-size:20px}}

/* Shared fixed-height cards; each listing controls its mobile arrangement. */
#vp-portal .guide-card{border-top:1px solid var(--vp-border);padding-top:20px}
#vp-portal :is(.home-guides,.guides-index) .guide-grid{display:flex;align-items:stretch;gap:18px}
#vp-portal :is(.home-guides,.guides-index) .guide-card{flex:1 1 0;min-width:0;height:184px;box-sizing:border-box;padding:0;border:1px solid var(--vp-border);border-radius:6px;background:#ffffff03;transition:border-color .2s ease}
#vp-portal :is(.home-guides,.guides-index) .guide-card>a{height:100%;padding:18px;box-sizing:border-box;border-radius:6px}
#vp-portal :is(.home-guides,.guides-index) .guide-card-copy{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:52px minmax(0,1fr);align-content:start;gap:12px;min-height:0;height:100%;box-sizing:border-box}
#vp-portal :is(.home-guides,.guides-index) .guide-card h3{grid-column:1;grid-row:1;font-size:18px;line-height:26px;margin:0;color:var(--vp-text)}
#vp-portal :is(.home-guides,.guides-index) .guide-card p{grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.65;margin:0}
#vp-portal :is(.home-guides,.guides-index) .guide-card-arrow{grid-column:2;grid-row:1;margin:0;align-self:start;padding:5px 0 0;display:flex}
#vp-portal :is(.home-guides,.guides-index) .guide-card>a:focus-visible{outline:2px solid var(--vp-accent);outline-offset:3px}
@media(max-width:900px){
 #vp-portal .home-guides .guide-grid{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;padding:4px 4px 14px;margin-inline:-4px;scrollbar-width:none}
 #vp-portal .home-guides .guide-card{flex:0 0 min(244px,calc(100% - 42px));height:176px;scroll-snap-align:start}
 #vp-portal .home-guides .guide-card>a{padding:16px}
 #vp-portal .home-guides .guide-card-copy{grid-template-rows:46px minmax(0,1fr);gap:10px}
 #vp-portal .home-guides .guide-card h3{font-size:16px;line-height:23px}
 #vp-portal .home-guides .guide-card p{font-size:13px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){#vp-portal :is(.home-guides,.guides-index) .guide-card,#vp-portal :is(.home-guides,.guides-index) .guide-card h3{transition:none}}

#vp-portal .guides-index{padding-bottom:32px}
#vp-portal[data-guides-index]>.vp-main{max-width:1200px;margin:0 auto;padding:0 40px 80px}
#vp-portal .guides-index .vp-intro{padding:48px 0 40px}
#vp-portal .guides-index .vp-intro h1{margin:0 0 24px}
#vp-portal .guides-index .vp-intro p{margin:0}
@media(max-width:900px){
 #vp-portal .guides-index .guide-grid{flex-direction:column;gap:16px}
 #vp-portal .guides-index .guide-card{flex:0 0 184px;width:100%}
}

/* A short Guides index keeps its footer at the viewport bottom, in normal flow. */
#vp-portal[data-guides-index]{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
#vp-portal[data-guides-index]>.vp-header{flex-shrink:0}
#vp-portal[data-guides-index]>.vp-main{flex:1;display:flex;flex-direction:column;width:100%}
#vp-portal[data-guides-index] .vp-footer{margin-top:auto}

/* Hero-button palette and layered wash, anchored to the lower-right corner. */
#vp-portal :is(.home-guides,.guides-index) .guide-card{background:#211f20}
#vp-portal :is(.home-guides,.guides-index) .guide-card>a{position:relative;isolation:isolate;overflow:hidden}
#vp-portal :is(.home-guides,.guides-index) .guide-card>a::before{content:"";position:absolute;inset:-25%;pointer-events:none;background:radial-gradient(ellipse at 82% 85%,#d2829b66,transparent 29%),radial-gradient(ellipse at 80% 72%,#d2829b38,transparent 31%),radial-gradient(ellipse at 85% 90%,#f5f2f024,transparent 25%);filter:blur(18px);opacity:.5;z-index:0}
#vp-portal :is(.home-guides,.guides-index) .guide-card>a::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,#17171615,#17171680 48%,#17171620);z-index:0}
#vp-portal :is(.home-guides,.guides-index) .guide-card-copy{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){#vp-portal :is(.home-guides,.guides-index) .guide-card>a::before{transition:none}}

/* Four desktop columns preserve the approved card width and text spacing. */
@media(min-width:901px){
 #vp-portal .guides-index .guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;overflow:visible}
 #vp-portal .guides-index .guide-card{height:184px}
}

/* Match the catalogue and model-page intro spacing on narrow screens too. */
@media(max-width:700px){
 #vp-portal[data-guides-index]>.vp-main{padding:0 24px 48px}
 #vp-portal .guides-index .vp-intro{padding:36px 0 32px}
}

/* One continuous 1px frame: the inset surface exposes the same outer
   background on straight edges and the cut. No overlapping border strokes. */
@supports(clip-path:polygon(0 0,100% 0,100% 90%,90% 100%,0 100%)){
 #vp-portal :is(.home-guides,.guides-index) .guide-card{--guide-cut:28px;--guide-edge:var(--vp-border);position:relative;border:0;border-radius:6px;overflow:hidden;padding:1px;background:var(--guide-edge);clip-path:polygon(0 0,100% 0,100% calc(100% - var(--guide-cut)),calc(100% - var(--guide-cut)) 100%,0 100%);transition:background-color .2s ease}
 #vp-portal :is(.home-guides,.guides-index) .guide-card>a{--guide-inner-cut:calc(var(--guide-cut) - 2px + 1.41421356px);border-radius:5px;background:#211f20;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--guide-inner-cut)),calc(100% - var(--guide-inner-cut)) 100%,0 100%)}
 #vp-portal :is(.home-guides,.guides-index) .guide-card>a:focus-visible{outline:2px solid var(--vp-accent);outline-offset:-4px}
}
@media(prefers-reduced-motion:reduce){#vp-portal :is(.home-guides,.guides-index) .guide-card{transition:none}}

/* Matching creator screenshots: equal crops, columns and outside margins. */
#vp-portal .guide-figure-pair{max-width:480px}
#vp-portal .guide-image-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#vp-portal .guide-image-pair .guide-crop{border-radius:clamp(16px,2.5vw,24px)}

#vp-portal .home-guides .guide-grid::-webkit-scrollbar{display:none}
