/* Rose City Foundation — base styles */
:root{
  --rc-rose:#9b2c3e; --rc-rose-dk:#76202f; --rc-rose-lt:#f4dfe1;
  --rc-pine:#1f4a3b; --rc-pine-dk:#143328; --rc-pine-lt:#dfeae4;
  --rc-cream:#fbf5ea; --rc-sand:#efe2c9; --rc-clay:#b5532f;
  --rc-ink:#2a201d; --rc-muted:#5f524c; --rc-line:#e2d3bd; --rc-white:#fff;
  --rc-gold:#c8902f;
  --rc-font-body:"Work Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --rc-font-head:"Fraunces",Georgia,"Times New Roman",serif;
  --rc-r:14px; --rc-r-sm:8px;
  --rc-wrap:72rem; --rc-measure:44rem;
  --rc-s1:.25rem; --rc-s2:.5rem; --rc-s3:.75rem; --rc-s4:1rem; --rc-s5:1.5rem; --rc-s6:2rem; --rc-s7:3rem; --rc-s8:4.5rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--rc-font-body);font-size:1.0625rem;line-height:1.65;color:var(--rc-ink);background:var(--rc-cream);padding-bottom:4.75rem}
@media (min-width:900px){body{padding-bottom:0}}
img,svg{max-width:100%;height:auto}
a{color:var(--rc-rose-dk);text-underline-offset:.18em}
a:hover{color:var(--rc-rose)}
:focus-visible{outline:3px solid var(--rc-gold);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--rc-font-head);font-weight:600;line-height:1.18;color:var(--rc-pine-dk);margin:0 0 var(--rc-s3)}
h1{font-size:clamp(1.9rem,4.6vw,2.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.45rem,3vw,1.95rem);margin-top:var(--rc-s6)}
h3{font-size:1.2rem;margin-top:var(--rc-s5)}
p{margin:0 0 var(--rc-s4)}
ul,ol{padding-left:1.25rem;margin:0 0 var(--rc-s4)}
li{margin-bottom:.35rem}
table{border-collapse:collapse;width:100%;margin:0 0 var(--rc-s5);font-size:.97rem;background:var(--rc-white);border-radius:var(--rc-r-sm);overflow:hidden}
th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--rc-line);vertical-align:top}
th{background:var(--rc-pine-lt);color:var(--rc-pine-dk);font-weight:600}
.rc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rc-skip{position:absolute;left:-999px;top:0;background:var(--rc-pine);color:#fff;padding:.6rem 1rem;z-index:100}
.rc-skip:focus{left:.5rem;top:.5rem}
.rc-wrap{max-width:var(--rc-wrap);margin:0 auto;padding:0 1.15rem}
.rc-measure{max-width:var(--rc-measure)}
.rc-muted{color:var(--rc-muted)}
.rc-small{font-size:.9rem}
.rc-kicker{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--rc-rose);margin-bottom:var(--rc-s2)}

/* header */
.rc-top{background:var(--rc-cream);border-bottom:1px solid var(--rc-line);position:sticky;top:0;z-index:40}
.rc-top__in{display:flex;align-items:center;gap:var(--rc-s4);min-height:4rem}
.rc-logo{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--rc-pine-dk);font-family:var(--rc-font-head);font-weight:700;font-size:1.18rem;line-height:1}
.rc-logo svg{width:34px;height:34px;flex:none}
.rc-logo small{display:block;font-family:var(--rc-font-body);font-weight:500;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rc-rose);margin-top:.2rem}
.rc-nav{display:none;margin-left:auto}
.rc-nav a,.rc-nav button{white-space:nowrap;font:inherit;font-size:.95rem;font-weight:500;color:var(--rc-ink);text-decoration:none;background:none;border:0;padding:.5rem .6rem;border-radius:6px;cursor:pointer}
.rc-nav a:hover,.rc-nav button:hover{background:var(--rc-sand)}
.rc-nav a[aria-current="page"]{color:var(--rc-rose-dk);font-weight:600}
.rc-menu{position:relative;display:inline-block}
.rc-menu__list{display:none;position:absolute;right:0;top:100%;background:var(--rc-white);border:1px solid var(--rc-line);border-radius:var(--rc-r-sm);box-shadow:0 12px 30px rgba(42,32,29,.14);padding:.4rem;min-width:16rem;z-index:50}
.rc-menu.is-open .rc-menu__list{display:grid}
.rc-menu__list a{display:block;padding:.45rem .7rem}
.rc-top__cta{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.rc-top__tel{display:none;font-weight:600;color:var(--rc-pine-dk);text-decoration:none;white-space:nowrap}
.rc-burger{font:inherit;font-weight:600;font-size:.9rem;background:var(--rc-white);border:1px solid var(--rc-line);border-radius:8px;padding:.45rem .75rem;color:var(--rc-ink);cursor:pointer}
@media (min-width:1180px){
  .rc-nav{display:flex;align-items:center;gap:.1rem}
  .rc-top__cta{margin-left:var(--rc-s3)}
  .rc-top__tel{display:inline}
  .rc-burger{display:none}
}
@media (max-width:1179px){
  .rc-nav.is-open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--rc-cream);border-bottom:1px solid var(--rc-line);padding:.5rem 1rem 1rem}
  .rc-nav.is-open a,.rc-nav.is-open button{display:block;width:100%;text-align:left}
  .rc-nav.is-open .rc-menu{display:block}
  .rc-nav.is-open .rc-menu__list{position:static;box-shadow:none;border:0;padding:0 0 0 .75rem;min-width:0}
}

/* buttons */
.rc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:inherit;font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;border-radius:999px;padding:.8rem 1.3rem;border:2px solid transparent;cursor:pointer;min-height:48px}
.rc-btn--rose{background:var(--rc-rose);color:#fff}
.rc-btn--rose:hover{background:var(--rc-rose-dk);color:#fff}
.rc-btn--pine{background:var(--rc-pine);color:#fff}
.rc-btn--pine:hover{background:var(--rc-pine-dk);color:#fff}
.rc-btn--line{background:transparent;border-color:var(--rc-pine);color:var(--rc-pine-dk)}
.rc-btn--line:hover{background:var(--rc-pine-lt);color:var(--rc-pine-dk)}
.rc-btn--sm{padding:.5rem .95rem;min-height:40px;font-size:.92rem}
.rc-btn--full{width:100%}
.rc-btns{display:flex;flex-wrap:wrap;gap:.65rem;margin:var(--rc-s4) 0}

/* hero */
.rc-hero{background:linear-gradient(180deg,var(--rc-cream) 0%,var(--rc-sand) 100%);padding:var(--rc-s7) 0 var(--rc-s6);border-bottom:1px solid var(--rc-line)}
.rc-hero__grid{display:grid;gap:var(--rc-s6)}
@media (min-width:960px){.rc-hero__grid{grid-template-columns:1.05fr .95fr;align-items:center}}
.rc-hero__lede{font-size:1.15rem;color:var(--rc-muted);max-width:38rem}
.rc-chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:var(--rc-s4) 0 0}
.rc-chips li{background:var(--rc-white);border:1px solid var(--rc-line);border-radius:999px;padding:.3rem .75rem;font-size:.86rem;margin:0}

/* sections */
.rc-sec{padding:var(--rc-s7) 0}
.rc-sec--alt{background:var(--rc-white);border-top:1px solid var(--rc-line);border-bottom:1px solid var(--rc-line)}
.rc-sec--pine{background:var(--rc-pine-dk);color:#f3eee4}
.rc-sec--pine h2,.rc-sec--pine h3{color:#fff}
.rc-sec--pine a{color:#f7cfd5}
.rc-head{max-width:46rem;margin-bottom:var(--rc-s5)}
.rc-head h2{margin-top:0}
.rc-grid{display:grid;gap:var(--rc-s4)}
@media (min-width:640px){.rc-grid--2{grid-template-columns:repeat(2,1fr)}.rc-grid--3{grid-template-columns:repeat(2,1fr)}.rc-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.rc-grid--3{grid-template-columns:repeat(3,1fr)}.rc-grid--4{grid-template-columns:repeat(4,1fr)}}
.rc-card{background:var(--rc-white);border:1px solid var(--rc-line);border-radius:var(--rc-r);padding:var(--rc-s5);display:block;color:inherit;text-decoration:none}
a.rc-card:hover{border-color:var(--rc-rose);box-shadow:0 8px 22px rgba(155,44,62,.10)}
.rc-card h3{margin-top:0}
.rc-card p{margin:0;color:var(--rc-muted)}
.rc-card__go{display:inline-block;margin-top:.6rem;font-weight:600;color:var(--rc-rose-dk)}
.rc-towns{columns:2;column-gap:1.5rem;list-style:none;padding:0}
@media (min-width:760px){.rc-towns{columns:3}}
.rc-towns li{break-inside:avoid;margin-bottom:.55rem}
.rc-towns small{color:var(--rc-muted);display:block;font-size:.82rem}
.rc-steps{counter-reset:rcstep;list-style:none;padding:0;display:grid;gap:var(--rc-s4)}
@media (min-width:860px){.rc-steps{grid-template-columns:repeat(4,1fr)}}
.rc-steps li{counter-increment:rcstep;background:var(--rc-white);border:1px solid var(--rc-line);border-radius:var(--rc-r);padding:var(--rc-s5);margin:0}
.rc-steps li::before{content:counter(rcstep);display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--rc-rose);color:#fff;font-weight:700;margin-bottom:.5rem}
.rc-steps h3{margin-top:0;font-size:1.08rem}
.rc-steps p{margin:0;color:var(--rc-muted);font-size:.97rem}
.rc-note{border-left:4px solid var(--rc-pine);background:var(--rc-pine-lt);padding:var(--rc-s4) var(--rc-s5);border-radius:0 var(--rc-r-sm) var(--rc-r-sm) 0;margin:var(--rc-s5) 0}
.rc-note--rose{border-color:var(--rc-rose);background:var(--rc-rose-lt)}
.rc-note p:last-child{margin-bottom:0}
.rc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:var(--rc-s5) 0;padding:0;list-style:none}
.rc-facts li{background:var(--rc-white);border:1px solid var(--rc-line);border-radius:var(--rc-r-sm);padding:.75rem .85rem;margin:0}
.rc-facts b{display:block;font-family:var(--rc-font-head);font-size:1.35rem;color:var(--rc-rose-dk);line-height:1.15}
.rc-facts span{font-size:.85rem;color:var(--rc-muted)}
.rc-src{font-size:.85rem;color:var(--rc-muted)}

/* page body */
.rc-page{padding:var(--rc-s6) 0 var(--rc-s5)}
.rc-crumbs{font-size:.88rem;color:var(--rc-muted);margin-bottom:var(--rc-s4)}
.rc-crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}
.rc-crumbs li{margin:0}
.rc-crumbs li+li::before{content:"›";margin-right:.35rem;color:var(--rc-line)}
.rc-prose{max-width:var(--rc-measure)}
.rc-prose h2:first-child{margin-top:0}
.rc-lede{font-size:1.14rem}
.rc-updated{font-size:.85rem;color:var(--rc-muted);margin-bottom:var(--rc-s4)}
.rc-layout{display:grid;gap:var(--rc-s6)}
@media (min-width:1040px){.rc-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}.rc-aside{position:sticky;top:5.5rem}}
.rc-aside .rc-card{padding:var(--rc-s5)}
.rc-aside h2{font-size:1.2rem;margin-top:0}

/* faq */
.rc-faq details{background:var(--rc-white);border:1px solid var(--rc-line);border-radius:var(--rc-r-sm);margin-bottom:.6rem}
.rc-faq summary{cursor:pointer;font-weight:600;padding:.9rem 1rem;list-style:none;position:relative;padding-right:2.5rem}
.rc-faq summary::-webkit-details-marker{display:none}
.rc-faq summary::after{content:"+";position:absolute;right:1rem;top:.75rem;font-size:1.3rem;color:var(--rc-rose)}
.rc-faq details[open] summary::after{content:"–"}
.rc-faq .rc-faq__a{padding:0 1rem 1rem}
.rc-faq .rc-faq__a p:last-child{margin:0}

/* proof slot */
.rc-proof{border:2px dashed var(--rc-line);border-radius:var(--rc-r);padding:var(--rc-s5);background:var(--rc-cream)}
.rc-proof__cells{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:var(--rc-s3)}
.rc-proof__cells div{border:1px dashed var(--rc-line);border-radius:var(--rc-r-sm);min-height:4.25rem;display:grid;place-items:center;font-size:.82rem;color:var(--rc-muted);text-align:center;padding:.4rem;background:var(--rc-white)}
.rc-bar{list-style:none;padding:0;margin:0}
.rc-bar li{padding-left:1.7rem;position:relative}
.rc-bar li::before{content:"";position:absolute;left:0;top:.45em;width:1rem;height:1rem;border-radius:4px;border:2px solid var(--rc-pine)}

/* lead form */
.rc-ask{display:grid;gap:var(--rc-s6)}
@media (min-width:960px){.rc-ask{grid-template-columns:.9fr 1.1fr;align-items:start}}
.rc-form{background:var(--rc-white);border:1px solid var(--rc-line);border-radius:var(--rc-r);padding:var(--rc-s5);box-shadow:0 10px 28px rgba(31,74,59,.08)}
.rc-form__progress{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rc-pine);margin:0 0 var(--rc-s3)}
.rc-form fieldset{border:0;padding:0;margin:0 0 var(--rc-s4)}
.rc-form legend,.rc-form label.rc-lbl{font-weight:600;margin-bottom:.4rem;display:block;padding:0}
.rc-opt{font-weight:400;color:var(--rc-muted);font-size:.9rem}
.rc-input,.rc-select,.rc-textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1.5px solid #cdbca3;border-radius:var(--rc-r-sm);background:#fffdf8;color:var(--rc-ink);min-height:48px}
.rc-input:focus,.rc-select:focus,.rc-textarea:focus{border-color:var(--rc-pine);outline:3px solid rgba(31,74,59,.18);outline-offset:0}
.rc-textarea{min-height:6rem}
.rc-input--zip{max-width:9rem;letter-spacing:.08em}
.rc-field{margin-bottom:var(--rc-s4)}
.rc-row{display:grid;gap:var(--rc-s3)}
@media (min-width:600px){.rc-row{grid-template-columns:1fr 1fr}}
.rc-hint{font-size:.86rem;color:var(--rc-muted);margin:.35rem 0 0}
.rc-hint.is-error{color:var(--rc-rose-dk);font-weight:600}
.rc-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}
@media (min-width:520px){.rc-tiles{grid-template-columns:repeat(3,1fr)}}
.rc-tile{position:relative;display:block;cursor:pointer}
.rc-tile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.rc-tile__box{display:flex;flex-direction:column;align-items:center;gap:.35rem;border:2px solid var(--rc-line);border-radius:var(--rc-r-sm);padding:.6rem .4rem;background:#fffdf8;text-align:center;font-size:.88rem;font-weight:500;line-height:1.25;height:100%}
.rc-tile__box svg{width:64px;height:48px}
.rc-tile input:checked+.rc-tile__box{border-color:var(--rc-rose);background:var(--rc-rose-lt)}
.rc-tile input:focus-visible+.rc-tile__box{outline:3px solid var(--rc-gold);outline-offset:2px}
.rc-pills{display:flex;flex-wrap:wrap;gap:.45rem}
.rc-pill{position:relative}
.rc-pill input{position:absolute;opacity:0}
.rc-pill span{display:inline-block;border:1.5px solid var(--rc-line);border-radius:999px;padding:.45rem .85rem;font-size:.92rem;cursor:pointer;background:#fffdf8}
.rc-pill input:checked+span{border-color:var(--rc-pine);background:var(--rc-pine-lt);font-weight:600}
.rc-pill input:focus-visible+span{outline:3px solid var(--rc-gold);outline-offset:2px}
.rc-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;margin-bottom:var(--rc-s3)}
.rc-check input{margin-top:.25rem;width:1.15rem;height:1.15rem;flex:none;accent-color:var(--rc-pine)}
.rc-form__actions{display:flex;gap:.6rem;margin-top:var(--rc-s4)}
.rc-form__actions .rc-btn{flex:1}
.rc-form__actions .rc-btn--line{flex:0 0 auto}
.rc-form__status{font-size:.92rem;margin-top:var(--rc-s3);min-height:1.2em}
[hidden]{display:none!important}

/* footer */
.rc-foot{background:var(--rc-ink);color:#e9dfd2;padding:var(--rc-s7) 0 var(--rc-s5);margin-top:var(--rc-s6);font-size:.95rem}
.rc-foot a{color:#f2d3d7}
.rc-foot .rc-logo{color:#fff}
.rc-foot__grid{display:grid;gap:var(--rc-s6)}
@media (min-width:860px){.rc-foot__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.rc-foot h2{font-family:var(--rc-font-body);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#cbb9a6;margin:0 0 .6rem}
.rc-foot ul{list-style:none;padding:0;margin:0}
.rc-foot li{margin-bottom:.4rem}
.rc-foot__legal{border-top:1px solid #4a3d38;margin-top:var(--rc-s6);padding-top:var(--rc-s4);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:.85rem;color:#bfae9c}

/* sticky mobile bar */
.rc-dock{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:.4rem;padding:.5rem .55rem calc(.5rem + env(safe-area-inset-bottom));background:var(--rc-pine-dk);box-shadow:0 -6px 18px rgba(0,0,0,.18)}
.rc-dock a{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:48px;border-radius:10px;text-decoration:none;font-weight:600;font-size:.95rem}
.rc-dock__call{background:#fff;color:var(--rc-pine-dk)}
.rc-dock__text{background:var(--rc-rose);color:#fff}
.rc-dock__req{background:var(--rc-sand);color:var(--rc-ink)}
@media (min-width:900px){.rc-dock{display:none}}

/* ground explorer */
.rc-gx{background:var(--rc-white);border:1px solid var(--rc-line);border-radius:var(--rc-r);padding:var(--rc-s4);box-shadow:0 10px 28px rgba(42,32,29,.08)}
.rc-gx__title{font-family:var(--rc-font-head);font-weight:600;font-size:1.1rem;color:var(--rc-pine-dk);margin:0 0 .5rem}
.rc-gx__svg{display:block;width:100%;height:auto;border-radius:var(--rc-r-sm);background:#e9f1f3}
.rc-gx__controls{display:grid;gap:.6rem;margin-top:.75rem}
.rc-gx__seg{display:flex;border:1.5px solid var(--rc-pine);border-radius:999px;overflow:hidden}
.rc-gx__seg button{flex:1;font:inherit;font-size:.9rem;font-weight:600;padding:.5rem;border:0;background:#fff;color:var(--rc-pine-dk);cursor:pointer;min-height:42px}
.rc-gx__seg button[aria-pressed="true"]{background:var(--rc-pine);color:#fff}
.rc-gx__range label{font-size:.9rem;font-weight:600;display:flex;justify-content:space-between}
.rc-gx__range input{width:100%;accent-color:var(--rc-rose)}
.rc-gx__toggles{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.9rem}
.rc-gx__toggles label{display:flex;gap:.4rem;align-items:center}
.rc-gx__toggles input{accent-color:var(--rc-pine);width:1.05rem;height:1.05rem}
.rc-gx__read{font-size:.93rem;background:var(--rc-cream);border-radius:var(--rc-r-sm);padding:.65rem .8rem;margin:.75rem 0 0}
.rc-gx svg *{transition:all .5s ease}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{.rc-dock,.rc-top,.rc-form,.rc-foot{display:none}}
