:root{--primary:#0f4c5c;--accent:#e36414;--surface:#f7f9fa;--text:#12232b;--muted:#5b6b73;--border:#d7dfe3;--radius:8px;--shadow:0 2px 10px rgba(18,35,43,.10);--gap:1.25rem}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
img{max-width:100%;display:block;height:auto}
a{color:var(--primary)}
h1,h2,h3{line-height:1.2;margin:0 0 .5rem}
p{margin:0 0 .75rem}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.rs-shell{max-width:1180px;margin:0 auto;padding:0 1rem}

/* header */
.rs-util{border-bottom:1px solid var(--border);background:var(--primary);color:#fff;font-size:.82rem}
.rs-util-row{display:flex;justify-content:flex-end;gap:1rem;padding:.4rem 1rem;max-width:1180px;margin:0 auto}
.rs-util-link{color:#fff;text-decoration:none}
.rs-util-link:hover{text-decoration:underline}
.rs-head{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.rs-head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;max-width:1180px;margin:0 auto}
.rs-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--primary);text-decoration:none;font-size:1.15rem}
.rs-logo-mark{width:26px;height:26px;flex:none}
.rs-navlist{list-style:none;margin:0;padding:0;display:none;flex-direction:column;gap:.25rem}
.rs-navlist.rs-open{display:flex}
.rs-nav{position:relative}
.rs-navlist a{display:block;padding:.55rem .6rem;color:var(--text);text-decoration:none;border-radius:var(--radius);font-weight:500}
.rs-navlist a:hover{background:var(--surface);color:var(--primary)}
.rs-navtoggle{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:var(--radius);padding:.5rem .75rem;font:inherit;font-weight:600;cursor:pointer}
.rs-navtoggle span{font-size:.95rem}

/* hero */
.rs-banner{position:relative;background:var(--primary);color:#fff;overflow:hidden}
.rs-banner img{width:100%;height:340px;object-fit:cover;opacity:.55}
.rs-banner-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.75rem;padding:1.5rem 1rem;max-width:1180px;margin:0 auto;width:100%}
.rs-banner h1{font-size:clamp(1.5rem,4vw,2.4rem);max-width:22ch}
.rs-banner p{max-width:40ch;color:#e8f0f2;margin:0}
.rs-cta{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:.8rem 1.3rem;border-radius:var(--radius);align-self:flex-start;box-shadow:var(--shadow)}
.rs-cta:hover{filter:brightness(1.08)}

/* sections */
.rs-sec{padding:2.25rem 0}
.rs-sec-head{border-bottom:1px solid var(--border);padding-bottom:.6rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.2rem}
.rs-sec-head h2{font-size:1.4rem;color:var(--primary);margin:0}
.rs-sec-head p{margin:0;color:var(--muted);font-size:.92rem}
.rs-grid{display:grid;gap:var(--gap);grid-template-columns:1fr;list-style:none;margin:0;padding:0}
.rs-tile{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.rs-tile figure{margin:0;background:var(--surface)}
.rs-tile img{width:100%;height:170px;object-fit:cover}
.rs-tile img.rs-ready{opacity:1}
.rs-tile img[loading]{opacity:.35;transition:opacity .35s}
.rs-tile-body{padding:1rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.rs-meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-weight:700}
.rs-tile h3{font-size:1.05rem;margin:0}
.rs-tile p{color:var(--muted);font-size:.92rem;margin:0;flex:1}
.rs-more{color:var(--primary);font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent);align-self:flex-start;padding-bottom:1px}
.rs-more:hover{color:var(--accent)}

/* faq */
.rs-ques{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:.6rem;overflow:hidden}
.rs-ques-btn{width:100%;text-align:left;background:none;border:0;padding:1rem;font:inherit;font-weight:600;color:var(--primary);cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.rs-ques-btn::after{content:"+";color:var(--accent);font-size:1.3rem;line-height:1}
.rs-ques-item.rs-open .rs-ques-btn::after{content:"\2013"}
.rs-ques-panel{display:none;padding:0 1rem 1rem;color:var(--muted)}
.rs-ques-item.rs-open .rs-ques-panel{display:block}

/* breadcrumb */
.breadcrumb{padding:.9rem 0}
.breadcrumb__list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;font-size:.85rem}
.breadcrumb__item::after{content:"/";margin-left:.4rem;color:var(--muted)}
.breadcrumb__item:last-child::after{content:""}
.breadcrumb__link{color:var(--primary);text-decoration:none}
.breadcrumb__link:hover{text-decoration:underline}

/* footer */
.rs-foot{background:var(--text);color:#dfe7ea;padding:2rem 0 1rem;margin-top:2rem}
.rs-foot-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
.rs-foot h3{color:#fff;font-size:1rem;margin:0 0 .6rem}
.rs-foot p{color:#aebbc1;font-size:.9rem;margin:0 0 .5rem}
.rs-foot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.rs-foot-list a{color:#dfe7ea;text-decoration:none;font-size:.92rem}
.rs-foot-list a:hover{color:var(--accent);text-decoration:underline}
.rs-foot addr{font-style:normal;font-size:.92rem;color:#aebbc1}
.rs-foot-base{border-top:1px solid #2c424c;margin-top:1.5rem;padding-top:1rem;font-size:.82rem;color:#8fa0a8}

/* to top */
.rs-top{position:fixed;right:1rem;bottom:1rem;background:var(--accent);color:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:1.1rem;cursor:pointer;display:none;z-index:30;box-shadow:var(--shadow)}
.rs-top.rs-open{display:block}

@media (min-width:640px){.rs-foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
@media (min-width:1000px){
.rs-navlist{display:flex;flex-direction:row;gap:.2rem;position:static}
.rs-navtoggle{display:none}
.rs-grid{grid-template-columns:repeat(3,1fr)}
.rs-banner img{height:420px}
.rs-banner-copy{padding:2.5rem 1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}