:root {
    --home-panel: rgba(7,31,26,.82);
    --home-panel-dark: rgba(3,18,15,.92);
    --home-line: rgba(208,171,100,.25);
    --home-gold: #d6b36e;
    --home-cream: #f3ead9;
    --home-muted: #c9c2b3;
}

.uhrgc-content {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 28px 70px;
}

#view-home { padding-top: 0; }
.site-view { min-height: 420px; padding: 36px 0 22px; }

.home-hero {
    max-width: 920px;
    margin: 0 auto 34px;
    padding: 46px clamp(24px,5vw,70px) 42px;
    text-align: left;
    border: 1px solid rgba(209,173,103,.18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 78% 28%, rgba(46,101,81,.28), transparent 34%),
        linear-gradient(145deg, rgba(15,60,49,.86), rgba(2,20,16,.96));
    box-shadow: 0 22px 55px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.035);
}
.home-eyebrow,
.section-kicker,
.info-card-label {
    display: block;
    margin-bottom: 10px;
    color: var(--home-gold);
    font: 800 11px/1.2 Arial, sans-serif;
    letter-spacing: .21em;
    text-transform: uppercase;
}
.home-eyebrow b { padding: 0 4px; }
.home-hero h1 {
    margin: 0;
    color: var(--home-cream);
    font-size: clamp(44px,6.4vw,76px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.025em;
    text-shadow: 0 5px 18px rgba(0,0,0,.45);
}
.home-hero p {
    max-width: 760px;
    margin: 24px 0 0;
    color: #d6d0c4;
    font-size: clamp(17px,1.8vw,22px);
    line-height: 1.58;
}

.outdoor-gateway {
    position: relative;
    display: grid;
    min-height: 390px;
    grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr);
    align-items: stretch;
    overflow: hidden;
    margin: 0 auto 22px;
    border: 1px solid rgba(210,176,108,.24);
    border-radius: 22px;
    background:
        repeating-linear-gradient(132deg, rgba(255,255,255,.025) 0 2px, transparent 2px 14px),
        linear-gradient(135deg, rgba(25,75,60,.83), rgba(3,26,21,.98));
    color: inherit;
    text-decoration: none;
    box-shadow: 0 20px 48px rgba(0,0,0,.28);
}
.outdoor-gateway::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 30% 45%, transparent, rgba(0,0,0,.14) 68%);
}
.gateway-pattern { position: relative; min-height: 390px; overflow: hidden; background: #102d25; }
.gateway-map-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .72;
    filter: saturate(.82) contrast(1.08) brightness(.72);
    transform: scale(1.025);
}
.gateway-pattern::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(3,24,19,.16), rgba(2,20,16,.38)),
        radial-gradient(circle at 52% 50%, transparent 30%, rgba(2,15,12,.26) 82%);
    pointer-events: none;
}
.gateway-orbit {
    position: absolute;
    left: 14%;
    top: 16%;
    width: 64%;
    aspect-ratio: 1.35;
    z-index: 2;
    border: 2px dashed rgba(225,205,159,.52);
    border-radius: 50%;
}
.orbit-two { left: 24%; top: 28%; width: 44%; opacity: .52; }
.gateway-label {
    position: absolute;
    z-index: 3;
    padding: 7px 12px;
    border-radius: 999px;
    background: #efe1bc;
    color: #23352f;
    font: 800 12px/1 Arial, sans-serif;
    box-shadow: 0 7px 18px rgba(0,0,0,.18);
}
.gateway-range { left: 19%; top: 42%; }
.gateway-fishing { right: 18%; top: 27%; }
.gateway-land { right: 27%; bottom: 23%; }
.gateway-compass {
    position: absolute;
    z-index: 3;
    left: 48%; top: 45%;
    display: grid;
    width: 68px; height: 68px;
    place-items: center;
    border: 1px solid rgba(219,188,124,.26);
    border-radius: 50%;
    background: rgba(4,20,17,.78);
    color: #e3c57f;
    font-size: 28px;
    box-shadow: 0 12px 24px rgba(0,0,0,.28);
}
.gateway-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 42px;
    background: linear-gradient(90deg, rgba(2,18,15,.48), rgba(1,12,10,.88));
}
.gateway-copy h2 { margin: 0 0 12px; color: var(--home-cream); font-size: clamp(32px,3.4vw,49px); line-height: 1.04; }
.gateway-copy p { margin: 0; color: #d1c9ba; font-size: 16px; line-height: 1.6; }
.outdoor-gateway:hover { border-color: rgba(226,191,120,.5); }

.home-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    margin: 0 auto 38px;
    overflow: hidden;
    border: 1px solid var(--home-line);
    border-radius: 18px;
    background: rgba(6,35,29,.76);
    box-shadow: 0 14px 35px rgba(0,0,0,.23);
}
.home-quick-card {
    display: flex;
    min-height: 138px;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border-right: 1px solid var(--home-line);
    color: inherit;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}
.home-quick-card:last-child { border-right: 0; }
.home-quick-card:hover { background: rgba(44,88,72,.26); }
.home-quick-icon { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; color: var(--home-gold); }
.home-quick-icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.home-quick-card strong { display: block; color: #f1e8d6; font-size: 19px; line-height: 1.2; }
.home-quick-card small { display: block; margin-top: 8px; color: #bdb6a9; font-size: 13px; line-height: 1.45; }

.resource-preview {
    display: grid;
    grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr);
    gap: clamp(28px,5vw,72px);
    align-items: center;
    margin: 0 auto 42px;
    padding: clamp(30px,5vw,64px);
    border: 1px solid rgba(210,176,108,.2);
    border-radius: 22px;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 8px),
        linear-gradient(140deg, rgba(3,22,18,.95), rgba(10,46,38,.82));
    box-shadow: 0 22px 55px rgba(0,0,0,.27);
}
.resource-preview-copy h2 { margin: 0 0 18px; color: var(--home-cream); font-size: clamp(38px,4.5vw,61px); font-weight: 500; line-height: 1.02; }
.resource-preview-copy p { margin: 0 0 20px; color: #d0c9bc; font-size: 17px; line-height: 1.68; }
.text-link { color: #e2c47f; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(226,196,127,.38); }

.resource-map-stack { position: relative; min-height: 430px; }
.resource-map-card {
    position: absolute;
    width: 76%;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(227,199,139,.28);
    border-radius: 16px;
    background: #10251f;
    box-shadow: 0 22px 40px rgba(0,0,0,.37);
}
.resource-map-card img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.resource-map-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 4/3;
    background:
        radial-gradient(circle at 30% 35%, rgba(218,184,112,.15) 0 2px, transparent 3px),
        radial-gradient(circle at 68% 62%, rgba(218,184,112,.12) 0 2px, transparent 3px),
        repeating-radial-gradient(ellipse at 50% 48%, rgba(218,184,112,.08) 0 1px, transparent 1px 18px),
        linear-gradient(145deg, #173a30, #0c271f);
}
.resource-map-placeholder span {
    padding: 8px 12px;
    border: 1px solid rgba(226,196,127,.34);
    border-radius: 999px;
    background: rgba(3,22,18,.72);
    color: #ead8af;
    font: 700 11px/1 Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.resource-map-card { color: inherit; text-decoration: none; }
.resource-map-caption {
    position: absolute;
    right: 12px; bottom: 12px;
    padding: 7px 10px;
    border-radius: 7px;
    background: rgba(2,16,13,.86);
    color: #f1e6d0;
    font: 700 11px/1 Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.resource-map-card:hover img { transform: scale(1.02); filter: brightness(1.04); }
.resource-map-card img { transition: transform .3s ease, filter .3s ease; }
.resource-map-hunt { top: 0; left: 0; transform: rotate(-2deg); }
.resource-map-fish { right: 0; bottom: 0; transform: rotate(2deg); }

.home-updates { margin: 0 auto 28px; }
.home-updates-heading { max-width: 780px; margin-bottom: 24px; }
.home-updates-heading h2 { margin: 0 0 10px; color: var(--home-cream); font-size: clamp(35px,4vw,52px); }
.home-updates-heading p { margin: 0; color: #c8c1b4; font-size: 16px; }
.updates-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.events-panel, .news-panel, .club-glance-panel {
    padding: 24px;
    border: 1px solid var(--home-line);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(12,54,44,.76), rgba(3,24,20,.88));
    box-shadow: 0 15px 36px rgba(0,0,0,.24);
}
.panel-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.panel-heading h3 { margin: 0; color: #f0e5d0; font-size: 23px; }
.panel-heading a { color: #d8b872; font-size: 13px; font-weight: 700; text-decoration: none; }
.event-list { display: grid; gap: 9px; }
.event-row {
    display: grid;
    grid-template-columns: 55px minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px;
    border: 1px solid rgba(215,181,112,.15);
    border-radius: 12px;
    background: rgba(0,0,0,.15);
    color: inherit;
    text-decoration: none;
}
.event-row:hover { background: rgba(255,255,255,.035); border-color: rgba(215,181,112,.33); }
.event-date { display: grid; min-height: 52px; place-items: center; align-content: center; border-right: 1px solid rgba(211,175,105,.21); }
.event-date b { color: #d7b46e; font: 800 10px/1 Arial, sans-serif; letter-spacing: .12em; }
.event-date strong { color: #fff3dd; font-size: 23px; line-height: 1.05; }
.event-copy strong { display: block; color: #f2e9d8; font-size: 16px; line-height: 1.25; }
.event-copy small { display: block; margin-top: 5px; color: #bdb5a7; font-size: 12px; line-height: 1.35; }
.event-arrow { color: #d8b872; font-size: 21px; }

.home-news-grid { grid-template-columns: minmax(290px,.72fr) minmax(0,1.28fr); }
.club-glance-list { display: grid; gap: 12px; }
.club-glance-row {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 14px;
    align-items: start;
    padding: 16px;
    border: 1px solid rgba(215,181,112,.15);
    border-radius: 13px;
    background: rgba(0,0,0,.14);
}
.club-glance-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #d8b872;
}
.club-glance-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.club-glance-row small { display: block; color: #bca46f; font: 800 10px/1.2 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.club-glance-row strong { display: block; margin-top: 5px; color: #f2e9d8; font-size: 18px; line-height: 1.25; }
.club-glance-row em { display: block; margin-top: 5px; color: #bfb8aa; font-size: 13px; font-style: normal; line-height: 1.45; }
.news-panel-full { max-width: 980px; margin: 0 auto; }

.home-news-list { display: grid; gap: 0; }
.home-news-item { padding: 14px 2px; border-bottom: 1px solid rgba(215,181,112,.14); }
.home-news-item:last-child { border-bottom: 0; }
.home-news-item time { color: #bca46f; font: 700 10px/1 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.home-news-item h4 { margin: 6px 0; color: #f2e8d5; font-size: 18px; line-height: 1.25; }
.home-news-item p { margin: 0; color: #bfb8aa; font-size: 13px; line-height: 1.48; }
.empty-note { color: #bfb8aa; font-size: 14px; }

.view-hero { max-width: 880px; margin: 10px auto 30px; text-align: center; }
.view-hero h2 { margin: 0 0 12px; color: var(--home-cream); font-size: clamp(36px,4vw,54px); }
.view-hero p { color: #d0c9bc; }
.view-hero-compact { padding: 30px; border: 1px solid var(--home-line); border-radius: 18px; background: rgba(4,27,22,.52); }

.outdoor-guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.outdoor-guide-card { display: block; margin: 0; overflow: hidden; border: 1px solid var(--home-line); border-radius: 16px; background: rgba(4,27,22,.74); box-shadow: 0 14px 34px rgba(0,0,0,.24); color: inherit; text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.outdoor-guide-card:hover { transform: translateY(-2px); border-color: rgba(215,181,112,.4); }
.outdoor-guide-card img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.outdoor-guide-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 4/3;
    border-bottom: 1px solid rgba(215,181,112,.16);
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px),
        radial-gradient(circle at 50% 50%, rgba(202,168,98,.11), transparent 55%),
        linear-gradient(145deg, #12352b, #081f19);
}
.outdoor-guide-placeholder span {
    color: #d8b872;
    font: 700 12px/1 Arial, sans-serif;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.outdoor-guide-caption { display: flex; flex-direction: column; gap: 5px; padding: 18px; }
.outdoor-guide-caption strong { color: #f0e6d3; font-size: 20px; }
.outdoor-guide-caption span { color: #bbb4a7; font-size: 14px; }

.updates-grid-full { align-items: start; }
.updates-grid-full .news-panel .news-card { margin-bottom: 14px; }
.club-info-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.info-card { padding: 24px; border: 1px solid var(--home-line); border-radius: 16px; background: rgba(5,35,29,.72); }
.info-card h3 { margin: 6px 0 8px; color: #f0e6d3; font-size: 22px; }
.info-card p { margin: 0; color: #c5beb0; }
.legacy-embed { margin-top: 24px; }

@media (max-width: 980px) {
    .home-quick-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .home-quick-card:nth-child(2) { border-right: 0; }
    .home-quick-card:nth-child(-n+2) { border-bottom: 1px solid var(--home-line); }
    .resource-preview { grid-template-columns: 1fr; }
    .resource-map-stack { min-height: 460px; max-width: 760px; width: 100%; margin: 0 auto; }
}

@media (max-width: 760px) {
    .uhrgc-content { padding: 0 14px 55px; }
    .site-view { padding-top: 24px; }
    #view-home { padding-top: 0; }
    .home-hero { margin-bottom: 22px; padding: 34px 24px 31px; border-radius: 18px; }
    .home-hero h1 { font-size: clamp(42px,12vw,58px); }
    .home-hero p { font-size: 17px; }
    .outdoor-gateway { grid-template-columns: 1fr; min-height: 0; }
    .gateway-pattern { min-height: 280px; }
    .gateway-copy { padding: 25px 24px 28px; background: rgba(2,18,15,.74); }
    .gateway-copy h2 { font-size: 34px; }
    .updates-grid, .home-news-grid, .outdoor-guide-grid, .club-info-grid { grid-template-columns: 1fr; }
    .resource-preview { padding: 30px 22px; }
    .resource-map-stack { min-height: 350px; }
    .resource-map-card { width: 82%; }
}

@media (max-width: 500px) {
    .home-quick-card { min-height: 132px; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; }
    .home-quick-icon { width: 36px; height: 36px; flex-basis: 36px; }
    .home-quick-icon svg { width: 27px; height: 27px; }
    .home-quick-card strong { font-size: 17px; }
    .home-quick-card small { font-size: 12px; }
    .gateway-label { padding: 6px 10px; font-size: 11px; }
    .gateway-range { left: 15%; }
    .gateway-fishing { right: 11%; }
    .gateway-land { right: 18%; }
    .gateway-compass { width: 58px; height: 58px; font-size: 24px; }
    .resource-preview-copy h2 { font-size: 41px; }
    .resource-map-stack { min-height: 300px; }
    .events-panel, .news-panel, .club-glance-panel { padding: 18px; }
    .event-row { grid-template-columns: 49px minmax(0,1fr); }
    .event-arrow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .home-quick-card { transition: none; }
}
