html { scroll-behavior: smooth; }
body { margin:0; background:#FFFFFF; color:#14181B; font-family:"Instrument Sans", system-ui, sans-serif; -webkit-font-smoothing:antialiased; text-wrap:pretty; }
* { box-sizing:border-box; }
img, svg { max-width:100%; }
button { max-width:100%; }
h1,h2,h3,h4 { font-family:"Archivo", system-ui, sans-serif; }
a { color:#D2181D; text-decoration:none; }
a:hover { color:#A81217; }
input, select, button, textarea { font:inherit; color:inherit; }
select { appearance:none; -webkit-appearance:none; }
::selection { background:#D2181D; color:#fff; }
@keyframes rasIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes rasPulse { 0%,100% { opacity:.35; } 50% { opacity:1; } }
.honeypot { position:absolute; left:-9999px; opacity:0; height:0; width:0; overflow:hidden; }
[x-cloak] { display:none !important; }

.ras-page { width:100%; overflow-x:hidden; background:#FFFFFF; }
.ras-wrap { max-width:1240px; margin:0 auto; }
.ras-pad { padding-left:clamp(16px,4vw,40px); padding-right:clamp(16px,4vw,40px); }

.ras-header {
  position:fixed; top:0; left:0; right:0; z-index:60;
  background:rgba(255,255,255,0);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  transition:background .25s ease, box-shadow .25s ease;
}
.ras-header.is-scrolled {
  background:rgba(255,255,255,0.94);
  border-bottom:1px solid #EAEAE8;
  box-shadow:0 8px 28px -20px rgba(20,24,27,0.45);
}
.ras-header-inner {
  max-width:1240px; margin:0 auto;
  padding:0 clamp(16px,4vw,40px);
  height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.ras-logo-link { display:flex; align-items:center; flex:0 0 auto; }
.ras-logo { height:36px; width:auto; display:block; max-width:min(180px, 46vw); }
.ras-logo-footer { height:34px; width:auto; display:block; max-width:min(200px, 70vw); }
.ras-nav { display:none; align-items:center; gap:26px; }
@media (min-width:1120px) { .ras-nav { display:flex; } }

.ras-hero-grid {
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1fr;
  gap:clamp(30px,4.5vw,60px); align-items:start;
}
@media (min-width:1040px) { .ras-hero-grid { grid-template-columns:1.02fr 0.98fr; } }

.ras-promo-grid {
  max-width:1240px; margin:0 auto;
  background:#fff; border:1px solid #E7E7E5; border-radius:20px;
  padding:clamp(24px,3.5vw,44px);
  display:grid; grid-template-columns:1fr;
  gap:clamp(24px,4vw,52px); align-items:center;
}
@media (min-width:1040px) { .ras-promo-grid { grid-template-columns:1.35fr 0.65fr; } }

.ras-two-col { display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:1040px) { .ras-two-col { grid-template-columns:1fr 1fr; } }
.ras-quote-grid { display:grid; grid-template-columns:1fr; gap:16px; align-items:start; margin-top:22px; }
@media (min-width:1040px) { .ras-quote-grid { grid-template-columns:1.1fr 0.9fr; } }

.ras-options { margin:22px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.ras-gate-form { margin:20px 0 0; display:grid; gap:14px; }
.ras-form-grid { margin:22px 0 0; display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:1040px) { .ras-form-grid { grid-template-columns:1fr 1fr; } }
.ras-options button {
  cursor:pointer; text-align:left; padding:18px; border-radius:13px;
  font-size:15.5px; font-weight:500; background:#fff; color:#14181B; border:1px solid #E4E4E2;
}
@media (max-width:1120px) {
  body { padding-bottom:76px; }
}
@media (max-width:520px) {
  .ras-header-inner { gap:10px; }
  .ras-header-cta { font-size:12.5px !important; padding:10px 12px !important; }
}

.ras-diagram {
  display:none; position:relative; width:100%; max-width:640px;
  aspect-ratio:1/1; margin:44px auto 0;
}
.ras-diagram-list {
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:30px 0 0;
}
@media (min-width:760px) {
  .ras-diagram { display:block; }
  .ras-diagram-list { display:none; }
}

.ras-sticky {
  display:flex; position:fixed; left:0; right:0; bottom:0; z-index:70; gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.95); backdrop-filter:blur(14px);
  border-top:1px solid #E7E7E5;
}
@media (min-width:1120px) { .ras-sticky { display:none; } }

.ras-compare-grid { margin:22px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; }
.ras-zone-grid { margin:38px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.ras-card-grid { margin:38px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:14px; }
.ras-metric-grid { margin:34px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(178px,1fr)); gap:2px; background:#E7E7E5; border:1px solid #E7E7E5; border-radius:14px; overflow:hidden; }
.ras-why-grid { margin:30px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:14px; }
.ras-steps-grid { margin:38px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(228px,1fr)); gap:2px; background:#E7E7E5; border:1px solid #E7E7E5; border-radius:16px; overflow:hidden; }
.ras-table-wrap { margin:20px 0 0; border:1px solid #E7E7E5; border-radius:16px; overflow-x:auto; background:#fff; }

.admin-detail { display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:900px) { .admin-detail { grid-template-columns:1.2fr .8fr; } }
.admin-table-wrap { overflow-x:auto; }
