/* The homepage follows the warm, editorial direction of the guide hub. */
.home-page { --gg-terracotta:#9e4828; --gg-terracotta-2:#813a20; }
.home-page .gg { --gg-container:1180px; }
.home-page :where(a,button,input,summary):focus-visible { outline:3px solid #344e40; outline-offset:5px; }
.home-page .gg :where(h1,h2,h3) { font-weight:400; letter-spacing:-.035em; text-wrap:balance; }
.home-page .gg h2 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.14; }
.home-page .gg-btn { border-radius:8px; box-shadow:none; }
.home-page .gg-btn-primary { background:#9e4828; border-color:#9e4828; color:#fff; }
.home-page .gg-btn-primary:hover { background:#813a20; border-color:#813a20; box-shadow:none; }
.home-page .gg .home-text-link { display:inline-flex; align-items:center; gap:20px; padding:9px 0; border-bottom:1px solid #bcaa94; color:#813a20; text-decoration:none; font-size:.9rem; font-weight:600; }
.home-page .gg .home-text-link:hover { border-color:currentColor; }
.home-page .home-masthead { display:flex; justify-content:space-between; gap:24px; padding:27px 0 23px; color:#6c5e50; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.home-masthead span:first-child { color:#9e4828; font-weight:700; }
.home-hero { padding-bottom:48px; }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:55px; }
.home-hero-copy { padding:28px 0; }
.home-page .home-kicker { margin:0 0 22px; color:#9e4828; font-size:.78rem; line-height:1.5; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.home-page .gg .home-hero-title { margin:0; font-size:clamp(3rem,5.8vw,4.65rem); line-height:1.06; letter-spacing:-.045em; }
.home-hero-title em { color:#9e4828; font-weight:400; }
.home-page .home-hero-description { max-width:420px; margin:26px 0 28px; color:#605345; font-size:1.06rem; line-height:1.85; }
.home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 27px; }
.home-hero-actions .gg-btn { min-height:53px; padding:15px 22px; gap:26px; font-size:.95rem; }
.home-page .home-hero-note { display:flex; gap:8px; align-items:center; margin-top:21px; color:#6c6053; font-size:.8rem; }
.home-hero-note .gg-icon { color:#344e40; }
.home-hero-visual { position:relative; margin:0; min-width:0; }
.home-hero-visual>img { display:block; width:100%; height:535px; object-fit:cover; object-position:center; border-radius:14px; }
.home-hero-caption { position:absolute; left:20px; bottom:20px; right:20px; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:19px 22px; background:#faf5eef5; border:1px solid #fff8; border-radius:9px; }
.home-hero-caption span { display:block; color:#796953; font-size:.72rem; margin-bottom:5px; }
.home-hero-caption strong { font-family:var(--gg-serif); font-size:1.45rem; font-weight:400; letter-spacing:-.025em; }
.home-hero-caption .gg-icon { width:25px; height:25px; color:#9e4828; }
.home-image-credit { position:absolute; top:13px; right:13px; padding:5px 8px; color:#403629; background:#faf5eeed; border-radius:4px; font-size:.65rem; }
.home-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:36px; border-top:1px solid #ddd1c0; border-bottom:1px solid #ddd1c0; }
.home-page .home-paths a { display:flex; align-items:center; gap:18px; padding:23px 22px; color:#2a1f16; text-decoration:none; }
.home-paths a:first-child { padding-left:0; }
.home-paths a+a { border-left:1px solid #ddd1c0; }
.home-paths small { color:#8b775f; font-size:.73rem; }
.home-paths strong { display:block; font-size:.93rem; font-weight:600; }
.home-paths span>span { display:block; margin-top:5px; color:#736454; font-size:.78rem; }
.home-paths .gg-icon { margin-left:auto; color:#9e4828; transition:transform .18s ease; }
.home-paths a:hover .gg-icon { transform:translateX(4px); }
.home-page .trust-strip { border:0; background:#e9ece3; }
.home-page .trust-strip-inner { justify-content:space-between; gap:16px 24px; padding-top:20px; padding-bottom:20px; color:#344e40; }
.home-page .trust-strip-inner>span { font-size:.8rem; }
.home-page .section { padding-top:68px; padding-bottom:68px; }
.home-page .section-tight-top { padding-top:24px; }
.home-page .eyebrow { font-size:.75rem; color:#9e4828; letter-spacing:.12em; }
.home-page .section-intro p { line-height:1.8; }
.home-page .section-light { background:#f0e9dc; }
.home-page .gg-card { box-shadow:none; border-radius:12px; }
.home-page .home-review-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
.home-page .home-review-card:hover { box-shadow:none; transform:none; }
.home-page .review-card-visual { border-radius:10px; background:#f0e9df; }
.home-page .review-card-content { padding:22px 0 0; }
.home-page .review-card-content h3 { font-size:1.55rem; line-height:1.25; }
.home-page .review-card-footer { padding-top:18px; border-top:1px solid #ddd1c0; }
.home-page .home-reviews-all { color:#813a20; border-radius:0; border:0; border-bottom:1px solid #bcaa94; padding:8px 0; background:transparent; }
.home-page .summer-feature { background:#f1eadf; border:0; padding:55px 0; }
.home-page .summer-copy { position:static; }
.home-page .summer-card { border:0; box-shadow:none; }
.home-page .summer-copy h2 { font-size:clamp(2rem,3vw,2.8rem); }
.home-page .home-guides { padding-top:64px; }
.home-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.home-page .home-guide { display:flex; flex-direction:column; text-decoration:none; }
.home-guide-image { position:relative; display:block; margin-bottom:20px; }
.home-guide-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:70% center; border-radius:9px; }
.home-guide-image small { position:absolute; right:8px; bottom:8px; padding:4px 6px; background:#faf5eef0; color:#4a3c30; font-size:.65rem; border-radius:3px; }
.home-page .home-guide .home-kicker { margin-bottom:9px; font-size:.72rem; }
.home-page .home-guide h3 { font-size:1.9rem; line-height:1.17; margin-bottom:14px; }
.home-page .home-guide p:not(.home-kicker) { color:#605345; font-size:.94rem; line-height:1.75; margin-bottom:16px; }
.home-guide-read { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:auto; padding:16px 0 13px; border-bottom:1px solid #d7cbb9; color:#813a20; font-size:.86rem; font-weight:600; }
.home-guide:hover .home-guide-read { border-color:#813a20; }
.home-page .browse-item { border-radius:7px; }
.home-page .editorial { background:#e9ece3; border:0; }
.home-page .final-cta { background:#efe5d5; }
.home-page .final-cta-box { border-radius:0; background:none; padding-top:58px; padding-bottom:18px; }
.home-page .final-cta-box::before { display:none; }
.home-page .gg-footer { margin-top:0; background:#faf5ee; color:#4a3c30; border-top:1px solid #ddd1c0; }
.home-page .gg-footer a,.home-page .footer-logo span:last-child { color:#4a3c30; }
.home-page .gg-footer a:hover { color:#9e4828; }
.home-page .gg-footer p,.home-page .footer-title { color:#6c6053; }
.home-page .footer-bottom { border-color:#ddd1c0; }
@media(max-width:1000px) {
 .home-hero-grid { gap:30px; }
 .home-hero-visual>img { height:495px; }
 .home-hero-caption { padding:16px; left:14px; right:14px; bottom:14px; }
 .home-hero-caption strong { font-size:1.2rem; }
 .home-paths a { padding:20px 15px; gap:12px; }
}
@media(max-width:760px) {
 .home-page .home-masthead { font-size:.68rem; padding:22px 0; }
 .home-masthead span:last-child { display:none; }
 .home-hero-grid { grid-template-columns:1fr; gap:28px; }
 .home-hero-copy { padding:14px 0 0; }
 .home-page .gg .home-hero-title { font-size:clamp(2.65rem,8.5vw,4rem); }
 .home-page .home-hero-description { margin:21px 0 24px; max-width:510px; font-size:1rem; }
 .home-hero-visual>img { height:auto; aspect-ratio:1; object-position:center; }
 .home-hero-caption strong { font-size:1.4rem; }
 .home-paths { grid-template-columns:1fr; margin-top:28px; }
 .home-paths a,.home-paths a:first-child { padding:18px 0; }
 .home-paths a+a { border-left:0; border-top:1px solid #ddd1c0; }
 .home-hero { padding-bottom:32px; }
 .home-page .trust-strip-inner { display:grid; gap:13px; }
 .home-page .section { padding-top:44px; padding-bottom:44px; }
 .home-page .section-tight-top { padding-top:18px; }
 .home-guide-grid { grid-template-columns:1fr; gap:34px; }
 .home-page .home-guides { padding-top:44px; }
 .home-page .home-reviews-head { align-items:flex-start; }
}
@media(max-width:380px) {
 .home-page .gg-container { padding-left:18px; padding-right:18px; }
 .home-hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
 .home-hero-caption { padding:12px; }
 .home-hero-caption strong { font-size:1.16rem; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .home-page * { transition:none !important; }
}
