.rg-hero{position:relative;overflow:hidden;padding-top:var(--space-2xl);padding-bottom:var(--space-2xl);background:linear-gradient(160deg,var(--color-primary) 0%,var(--color-secondary) 55%,var(--color-secondary-dark) 100%)}.rg-hero:before{content:"";position:absolute;bottom:-45%;left:-12%;width:44rem;height:44rem;border-radius:var(--radius-full);background:radial-gradient(circle,rgba(251,181,34,.18),transparent 62%);pointer-events:none}.rg-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:center}.rg-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md)}.rg-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--text-sm);color:#fff9}.rg-crumbs li+li:before{content:"/";margin-right:.5rem;color:#ffffff59}.rg-crumbs a{color:#fffc;transition:color var(--transition)}.rg-crumbs a:hover{color:var(--color-accent)}.rg-crumbs [aria-current]{color:var(--color-white)}.rg-eyebrow{color:var(--color-accent)}.rg-hero h1{color:var(--color-white);font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.5rem);line-height:1;letter-spacing:-.02em}.rg-hero-sub{max-width:24ch;color:#ffffffe0;font-family:var(--font-heading);font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:500;line-height:1.3;text-wrap:balance}.rg-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-top:var(--space-xs)}.rg-hero-image{padding-top:75%;border:1px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.rg-intro{background:var(--color-white)}.rg-intro-copy{display:flex;flex-direction:column;gap:var(--space-md)}.rg-intro-copy p{line-height:1.75}.rg-intro-copy p:first-child{padding-left:var(--space-md);border-left:4px solid var(--color-accent);color:var(--color-dark);font-size:var(--text-lg);line-height:1.6}.rg-why{background:radial-gradient(50rem 24rem at 0% 0%,var(--color-primary-light),transparent 70%),var(--color-hero-bg)}.rg-why-heading{max-width:22ch;margin-bottom:var(--space-xl);font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.2;text-wrap:balance}.rg-why-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.rg-why-card{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-panel)}.rg-why-card p{line-height:1.7}.rg-why-icon{display:inline-grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-white)}.rg-why-card:nth-child(1) .rg-why-icon{background:var(--color-accent);color:var(--color-dark)}.rg-why-card:nth-child(3) .rg-why-icon{background:var(--color-secondary)}.rg-services{background:var(--color-white)}.rg-services-intro{max-width:60ch;line-height:1.7}.rg-cards{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.rg-card{display:flex;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-hero-bg);transition:transform var(--transition),border-color var(--transition)}.rg-card:hover{transform:translateY(-3px);border-color:var(--color-primary)}.rg-card-num{flex:0 0 auto;color:var(--color-accent-on-light);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.rg-card-body{display:flex;flex-direction:column;gap:var(--space-xs)}.rg-card-name{font-size:var(--text-lg);line-height:1.35}.rg-card-name a{color:var(--color-primary);transition:color var(--transition)}.rg-card-name a:hover{color:var(--color-red-deep)}.rg-card-body p{color:var(--color-muted);font-size:var(--text-sm);line-height:1.7}.rg-communities{background:var(--color-white);padding-top:0}.rg-communities-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr;gap:var(--space-xl);padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--color-secondary-dark) 0%,var(--color-secondary) 50%,var(--color-primary) 100%);color:#ffffffd9}.rg-communities-copy{display:flex;flex-direction:column;gap:var(--space-sm)}.rg-communities-copy h2{color:var(--color-white);font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.2;text-wrap:balance}.rg-communities-copy p:last-child{max-width:44ch;line-height:1.7}.rg-town-list{display:grid;grid-template-columns:1fr;gap:var(--space-sm);align-content:start}.rg-town{display:flex;align-items:center;gap:var(--space-sm);min-height:3.5rem;padding:var(--space-sm) var(--space-md);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:#ffffff0f;color:var(--color-white);font-weight:600;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.rg-town svg{flex:0 0 auto;color:var(--color-accent)}.rg-town .rg-town-arrow{margin-left:auto;color:#ffffff80;transition:transform var(--transition),color var(--transition)}.rg-town:hover{background:var(--color-white);border-color:var(--color-white);color:var(--color-secondary)}.rg-town:hover .rg-town-arrow{transform:translate(3px);color:var(--color-primary)}.rg-town:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.rg-schedule{background:var(--color-hero-bg)}.rg-schedule p{line-height:1.75}.rg-schedule p a{color:var(--color-primary);text-decoration:underline;text-underline-offset:.15em}.rg-schedule-image{padding-top:75%;border:1px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.rg-schedule-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-top:var(--space-xs)}@media(max-width:767px){.rg-hero-actions,.rg-schedule-actions{width:100%;flex-direction:column}.rg-hero-actions .btn,.rg-schedule-actions .btn{width:100%;justify-content:center}}@media(min-width:768px){.rg-cards,.rg-town-list{grid-template-columns:1fr 1fr}.rg-communities-panel{padding:var(--space-2xl) var(--space-xl)}}@media(min-width:1024px){.rg-hero{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.rg-hero-inner{grid-template-columns:1.1fr .9fr;gap:var(--space-2xl)}.rg-why-grid,.rg-cards{grid-template-columns:repeat(3,1fr)}.rg-communities-panel{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-2xl);padding:var(--space-3xl)}}
