/* Guide Hub only — quiet editorial directory. Every rule is scoped under .guide-hub-main so
   article pages never inherit hub layout. Articles load guide.css only. */

/* Hero */
.guide-hub-main .guide-hub-hero{max-width:780px;padding:88px 0 72px}
.guide-hub-main .guide-hub-eyebrow{margin:0 0 18px;color:var(--color-muted);font-family:var(--font-sans-jp);font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.guide-hub-main .guide-hub-hero h1{margin:0;font-family:var(--font-jp);font-size:clamp(2.2rem,4.8vw,3.35rem);font-weight:600;line-height:1.45;letter-spacing:.01em;line-break:strict;text-wrap:pretty}
.guide-hub-main .guide-hub-lead{max-width:730px;margin:26px 0 0;color:var(--color-muted);font-size:1rem;line-height:2;text-wrap:pretty}

/* Section labels — tiny, quiet */
.guide-hub-main .guide-section-label{margin:0 0 14px;color:var(--color-muted);font-family:var(--font-sans-jp);font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}

/* Topic navigation — text links over hairlines */
.guide-hub-main .guide-topic-nav{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:38px}
.guide-hub-main .guide-topic-nav a{display:inline-flex;align-items:center;min-height:0;padding:0 0 7px;border:0;border-bottom:1px solid var(--color-line);border-radius:0;background:none;font-size:.82rem;text-decoration:none;transition:color .18s ease,border-color .18s ease}
.guide-hub-main .guide-topic-nav a:hover{color:var(--color-coral);border-color:rgba(233,121,110,.6)}

/* Editorial note */
.guide-hub-main .guide-editorial-note{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:34px;padding:24px 0;border:0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);border-radius:0;background:transparent;box-shadow:none}
.guide-hub-main .guide-editorial-note p{margin:4px 0 0;color:var(--color-muted);font-size:.84rem;line-height:1.85}
.guide-hub-main .guide-editorial-note strong{display:block;margin:0;font-family:var(--font-jp);font-size:1.02rem;font-weight:600}
.guide-hub-main .guide-editorial-note .button{flex:0 0 auto;white-space:nowrap}

/* Concern panel — directory rows */
.guide-hub-main .guide-concern-panel{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:20px 56px;margin-top:88px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.guide-hub-main .guide-concern-heading h2{margin:0;font-family:var(--font-jp);font-size:clamp(1.45rem,2.8vw,1.85rem);font-weight:600;line-height:1.6;text-wrap:balance}
.guide-hub-main .guide-concern-heading>p:last-child{margin:12px 0 0;color:var(--color-muted);font-size:.9rem;line-height:1.9}
.guide-hub-main .guide-concern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--color-line)}
.guide-hub-main .guide-concern-grid a{display:flex;align-items:baseline;justify-content:space-between;gap:18px;min-height:0;padding:16px 0;border:0;border-bottom:1px solid var(--color-line);border-radius:0;background:transparent;text-decoration:none;transition:color .18s ease}
.guide-hub-main .guide-concern-grid strong{font-size:.92rem;font-weight:600;line-height:1.7;transition:color .18s ease}
.guide-hub-main .guide-concern-grid span{flex:0 0 auto;color:var(--color-muted);font-size:.72rem}
.guide-hub-main .guide-concern-grid a:hover strong{color:#a9554c}

/* Considering NIREO — numbered index */
.guide-hub-main .guide-consideration-panel{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:20px 56px;margin-top:80px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.guide-hub-main .guide-consideration-heading h2{margin:0;font-family:var(--font-jp);font-size:clamp(1.45rem,2.8vw,1.85rem);font-weight:600;line-height:1.6;text-wrap:balance}
.guide-hub-main .guide-consideration-heading>p:last-child{margin:12px 0 0;color:var(--color-muted);font-size:.9rem;line-height:1.9}
.guide-hub-main .guide-consideration-steps{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--color-line)}
.guide-hub-main .guide-consideration-steps li{margin:0;padding:0}
.guide-hub-main .guide-consideration-steps li:last-child{grid-column:auto}
.guide-hub-main .guide-consideration-steps a{display:grid;grid-template-columns:2.4em minmax(0,1fr);gap:12px;align-items:baseline;height:auto;padding:16px 0;border:0;border-bottom:1px solid var(--color-line);border-radius:0;background:transparent;text-decoration:none}
.guide-hub-main .guide-consideration-steps span{color:var(--color-muted);font-size:.74rem;font-weight:500;letter-spacing:.06em}
.guide-hub-main .guide-consideration-steps strong{font-size:.92rem;font-weight:600;line-height:1.7;transition:color .18s ease}
.guide-hub-main .guide-consideration-steps a:hover strong{color:#a9554c}

/* Principles */
.guide-hub-main .guide-principles{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:20px 56px;margin-top:80px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.guide-hub-main .guide-principles h2{margin:0;font-family:var(--font-jp);font-size:clamp(1.45rem,2.8vw,1.85rem);font-weight:600;line-height:1.6;text-wrap:balance}
.guide-hub-main .guide-principles ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding:0;list-style:none;border-top:1px solid var(--color-line)}
.guide-hub-main .guide-principles li{padding:10px 0;border-bottom:1px solid var(--color-line);font-size:.88rem;line-height:1.8}
.guide-hub-main .guide-principles li::before{content:none}

/* Categories */
.guide-hub-main .guide-category{padding-top:96px;scroll-margin-top:20px}
.guide-hub-main .guide-category-header{max-width:none;margin-bottom:34px;padding-right:0}
.guide-hub-main .guide-category-header h2{margin:0;font-family:var(--font-jp);font-size:clamp(1.55rem,3vw,2rem);font-weight:600;line-height:1.6;text-wrap:balance}
.guide-hub-main .guide-category-header>p:last-child{margin:12px 0 0;color:var(--color-muted);font-size:.92rem}
.guide-hub-main .guide-category-count{display:block;margin-top:12px;color:var(--color-muted);font-size:.68rem;font-weight:500;letter-spacing:.14em;white-space:nowrap}

/* Directory cards — photo, title, summary; no chrome */
.guide-hub-main .guide-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px}
.guide-hub-main .guide-card{display:flex;min-height:0;flex-direction:column;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transition:none}
.guide-hub-main .guide-card:hover{border:0;box-shadow:none;transform:none}
.guide-hub-main .guide-card-content{display:flex;flex:1;flex-direction:column;padding:0}
.guide-hub-main .guide-card-text{position:relative;grid-column:auto;min-height:0;overflow:visible;border:0;background:transparent;box-shadow:none}
.guide-hub-main .guide-card-text::before{content:"";display:block;width:100%;aspect-ratio:1200/630;margin:0 0 15px;border:1px solid var(--color-line);border-radius:6px;background-color:#f0e9e0;background-position:center;background-size:cover;background-repeat:no-repeat;transition:none}
.guide-hub-main .guide-card-text:hover::before{transform:none;filter:none}
.guide-hub-main .guide-card-text .guide-card-content{min-height:0;padding:0;background:transparent}
.guide-hub-main .guide-card-text h3{display:-webkit-box;overflow:hidden;margin:0 0 8px;-webkit-box-orient:vertical;font-family:var(--font-jp);font-size:1.06rem;font-weight:600;line-height:1.75;-webkit-line-clamp:3}
.guide-hub-main .guide-card-text h3 a{text-decoration:none;transition:color .18s ease}
.guide-hub-main .guide-card-text h3 a:hover{color:#a9554c}
.guide-hub-main .guide-card-text h3 a::after{content:"";position:absolute;inset:0;z-index:2}
.guide-hub-main .guide-card-text .guide-card-content>p:not(.guide-card-category){display:-webkit-box;overflow:hidden;margin:0 0 14px;-webkit-box-orient:vertical;color:var(--color-muted);font-size:.86rem;line-height:1.9;-webkit-line-clamp:3}
.guide-hub-main .guide-card-text .guide-card-link{position:relative;z-index:3;align-self:flex-start;margin-top:auto;color:var(--color-muted);font-size:.78rem;font-weight:500;text-decoration:none;transition:color .18s ease}
.guide-hub-main .guide-card-text .guide-card-link:hover{color:#a9554c}
.guide-hub-main .guide-card-category{margin:0 0 9px;color:var(--color-coral);font-size:.72rem;font-weight:500;letter-spacing:.06em}
.guide-hub-main .guide-card h3 a:focus-visible,.guide-hub-main .guide-card-link:focus-visible{outline:3px solid var(--color-coral);outline-offset:3px}

/* Lead story — first card of each category */
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:32px;align-items:center;border:0}
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child::before{height:100%;min-height:320px;aspect-ratio:auto;margin:0}
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child .guide-card-content{min-height:0}
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child h3{font-size:clamp(1.25rem,2.2vw,1.5rem);-webkit-line-clamp:3}
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child .guide-card-content>p:not(.guide-card-category){font-size:.9rem;-webkit-line-clamp:4}

/* Per-card cover mapping. */
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-cropping/"])::before{background-image:url('/assets/images/guide/profile-photo-cropping/profile-photo-cropping-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-set-consistency/"])::before{background-image:url('/assets/images/guide/profile-photo-set-consistency/profile-photo-set-consistency-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/photo-verification-vs-profile-photo/"])::before{background-image:url('/assets/images/guide/photo-verification-vs-profile-photo/photo-verification-vs-profile-photo-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/ai-edited-photo-app-rules/"])::before{background-image:url('/assets/images/guide/ai-edited-photo-app-rules/ai-edited-photo-app-rules-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/matching-app-photo-no-photo/"])::before{background-image:url('/assets/images/guide/matching-app-photo-no-photo/matching-app-photo-no-photo-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/photo-preparation-comparison/"])::before{background-image:url('/assets/images/guide/photo-preparation-comparison/photo-preparation-comparison-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-cost/"])::before{background-image:url('/assets/images/guide/profile-photo-cost/profile-photo-cost-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-preparation-schedule/"])::before{background-image:url('/assets/images/guide/profile-photo-preparation-schedule/profile-photo-preparation-schedule-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/no-one-to-take-photo/"])::before{background-image:url('/assets/images/guide/no-one-to-take-photo/no-one-to-take-photo-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/selfie-or-other-photo/"])::before{background-image:url('/assets/images/guide/selfie-or-other-photo/selfie-or-other-photo-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/selfie-to-natural-profile-photo/"])::before{background-image:url('/assets/images/guide/selfie-to-natural-profile-photo/selfie-to-natural-profile-photo-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/smartphone-profile-photo-settings/"])::before{background-image:url('/assets/images/guide/smartphone-profile-photo-settings/smartphone-profile-photo-settings-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-without-tripod/"])::before{background-image:url('/assets/images/guide/profile-photo-without-tripod/profile-photo-without-tripod-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-lighting/"])::before{background-image:url('/assets/images/guide/profile-photo-lighting/profile-photo-lighting-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-posing-men/"])::before{background-image:url('/assets/images/guide/profile-photo-posing-men/profile-photo-posing-men-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/natural-profile-photo-expression/"])::before{background-image:url('/assets/images/guide/natural-profile-photo-expression/natural-profile-photo-expression-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-clothing-men/"])::before{background-image:url('/assets/images/guide/profile-photo-clothing-men/profile-photo-clothing-men-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-background/"])::before{background-image:url('/assets/images/guide/profile-photo-background/profile-photo-background-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-grooming-men/"])::before{background-image:url('/assets/images/guide/profile-photo-grooming-men/profile-photo-grooming-men-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/matching-app-photo-men/"])::before{background-image:url('/assets/images/guide/matching-app-photo-men/matching-app-photo-men-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-glasses-accessories/"])::before{background-image:url('/assets/images/guide/profile-photo-glasses-accessories/profile-photo-glasses-accessories-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-cleanliness-check/"])::before{background-image:url('/assets/images/guide/profile-photo-cleanliness-check/profile-photo-cleanliness-check-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/ai-profile-photo-service-comparison/"])::before{background-image:url('/assets/images/guide/ai-profile-photo-service-comparison/ai-profile-photo-service-comparison-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/ai-profile-photo-style-choice/"])::before{background-image:url('/assets/images/guide/ai-profile-photo-style-choice/ai-profile-photo-style-choice-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/source-photo-guide/"])::before{background-image:url('/assets/images/guide/source-photo-guide/source-photo-guide-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/ai-photo-data-privacy/"])::before{background-image:url('/assets/images/guide/ai-photo-data-privacy/ai-photo-data-privacy-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/ai-photo-looks-different/"])::before{background-image:url('/assets/images/guide/ai-photo-looks-different/ai-photo-looks-different-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/ai-profile-photo-natural/"])::before{background-image:url('/assets/images/guide/ai-profile-photo-natural/ai-profile-photo-natural-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/matching-app-photo-editing/"])::before{background-image:url('/assets/images/guide/matching-app-photo-editing/matching-app-photo-editing-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/matching-app-photo-count-order/"])::before{background-image:url('/assets/images/guide/matching-app-photo-count-order/matching-app-photo-count-order-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/main-profile-photo-selection/"])::before{background-image:url('/assets/images/guide/main-profile-photo-selection/main-profile-photo-selection-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-currentness/"])::before{background-image:url('/assets/images/guide/profile-photo-currentness/profile-photo-currentness-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/matching-app-sub-photo-types/"])::before{background-image:url('/assets/images/guide/matching-app-sub-photo-types/matching-app-sub-photo-types-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/matching-app-photo-ng-checklist/"])::before{background-image:url('/assets/images/guide/matching-app-photo-ng-checklist/matching-app-photo-ng-checklist-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-camera-angle/"])::before{background-image:url('/assets/images/guide/profile-photo-camera-angle/profile-photo-camera-angle-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/mirror-selfie-profile-photo/"])::before{background-image:url('/assets/images/guide/mirror-selfie-profile-photo/mirror-selfie-profile-photo-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/full-body-profile-photo/"])::before{background-image:url('/assets/images/guide/full-body-profile-photo/full-body-profile-photo-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-location-guide/"])::before{background-image:url('/assets/images/guide/profile-photo-location-guide/profile-photo-location-guide-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/matching-app-photo-women/"])::before{background-image:url('/assets/images/guide/matching-app-photo-women/matching-app-photo-women-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-clothing-women/"])::before{background-image:url('/assets/images/guide/profile-photo-clothing-women/profile-photo-clothing-women-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-posing-women/"])::before{background-image:url('/assets/images/guide/profile-photo-posing-women/profile-photo-posing-women-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-hair-makeup-women/"])::before{background-image:url('/assets/images/guide/profile-photo-hair-makeup-women/profile-photo-hair-makeup-women-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/profile-photo-privacy-background/"])::before{background-image:url('/assets/images/guide/profile-photo-privacy-background/profile-photo-privacy-background-cover-1200x630.webp')}
.guide-hub-main .guide-card-text:has(a[href="/guide/photo-exif-location-metadata/"])::before{background-image:url('/assets/images/guide/photo-exif-location-metadata/photo-exif-location-metadata-cover-1200x630.webp')}

/* Hub CTA */
.guide-hub-main .guide-hub-cta{margin-top:96px;padding:56px 0 0;border:0;border-top:1px solid var(--color-line);border-radius:0;background:transparent;box-shadow:none}
.guide-hub-main .guide-hub-cta h2{margin:0 0 13px;font-family:var(--font-jp);font-size:clamp(1.45rem,2.8vw,1.85rem);font-weight:600;line-height:1.6}
.guide-hub-main .guide-hub-cta>p{max-width:640px;color:var(--color-muted)}

@media(max-width:1020px){
.guide-hub-main .guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
.guide-hub-main .guide-concern-panel,.guide-hub-main .guide-consideration-panel,.guide-hub-main .guide-principles{grid-template-columns:1fr;gap:22px}
.guide-hub-main .guide-concern-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
.guide-hub-main .guide-hub-hero{padding:60px 0 52px}
.guide-hub-main .guide-topic-nav{gap:12px 20px;margin-top:30px}
.guide-hub-main .guide-editorial-note{align-items:flex-start;flex-direction:column;gap:16px;margin-top:28px;padding:20px 0}
.guide-hub-main .guide-concern-panel,.guide-hub-main .guide-consideration-panel,.guide-hub-main .guide-principles{margin-top:60px}
.guide-hub-main .guide-principles ul{grid-template-columns:1fr}
.guide-hub-main .guide-category{padding-top:68px}
.guide-hub-main .guide-card-grid{grid-template-columns:1fr;gap:36px}
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child{display:flex;grid-column:auto;flex-direction:column;gap:0;align-items:stretch}
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child::before{width:100%;height:auto;min-height:0;aspect-ratio:1200/630}
.guide-hub-main .guide-card-grid-compact>.guide-card-text:first-child h3{font-size:1.15rem}
}
@media(prefers-reduced-motion:reduce){
.guide-hub-main .guide-topic-nav a,.guide-hub-main .guide-concern-grid strong,.guide-hub-main .guide-consideration-steps strong,.guide-hub-main .guide-card-text h3 a,.guide-hub-main .guide-card-text .guide-card-link{transition:none}
}
