.roof-home { background:var(--bg); color:var(--fg); }
.rh-shell { max-width:1100px; margin:0 auto; padding:0 28px; }
.rh-header { position:relative; z-index:50; }
.rh-nav { position:fixed; top:20px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; max-width:calc(100% - 32px); padding:9px 9px 9px 22px; border:1px solid var(--line); border-radius:999px; background:rgba(14,15,17,.9); backdrop-filter:blur(20px) saturate(160%); box-shadow:0 10px 40px -10px rgba(0,0,0,.55),0 6px 28px -10px rgba(0,140,254,.18); }
.rh-brand { flex:none; display:flex; align-items:center; padding-right:18px; border-right:1px solid var(--line-soft); }
.rh-brand img { width:128px; height:auto; }
.rh-links { display:flex; align-items:center; gap:20px; color:var(--fg-mute); font-size:13px; white-space:nowrap; }
.rh-links a:hover,.rh-links a[aria-current="page"] { color:var(--fg); }
.rh-nav-cta { flex:none; margin-left:6px; padding:7px 14px; border-radius:999px; color:#fff; background:var(--accent); font-size:12px; font-weight:600; white-space:nowrap; }
.rh-nav-cta:hover,.rh-primary:hover { background:#087eda; }
.rh-hero { padding-top:145px; padding-bottom:78px; text-align:center; }
.rh-hero-copy { max-width:920px; margin:auto; }
.rh-kicker { display:flex; align-items:center; justify-content:center; gap:10px; color:var(--fg-soft); font-size:13px; font-weight:500; }
.rh-kicker-line { display:block; width:15px; height:15px; border-radius:4px; background:var(--accent); box-shadow:0 0 18px rgba(0,140,254,.24); transform:rotate(-10deg); }
.rh-hero h1 { max-width:900px; margin:24px auto; color:var(--fg); font-size:clamp(40px,4.6vw,60px); line-height:1.12; letter-spacing:-.04em; font-weight:600; }
.rh-hero h1 span { color:var(--fg); }
.rh-lead { max-width:650px; margin:0 auto; font-size:clamp(16px,1.2vw,18px); line-height:1.58; color:var(--fg-soft); }
.rh-hero-image { width:min(820px,100%); margin:35px auto 24px; aspect-ratio:16/9; border:1px solid rgba(255,255,255,.14); border-radius:18px; overflow:hidden; background:#0c1115; box-shadow:0 24px 70px -34px rgba(0,140,254,.38); }
.rh-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.rh-actions { display:flex; justify-content:center; align-items:center; gap:10px; }
.rh-primary,.rh-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:41px; padding:10px 20px; border-radius:8px; font-size:13px; font-weight:600; }
.rh-primary { background:var(--accent); color:white; }
.rh-secondary { border:1px solid var(--line-strong); background:var(--bg-elev); color:var(--fg-soft); }
.rh-secondary:hover { color:var(--fg); border-color:var(--fg-dim); }
.rh-model { display:inline-flex; align-items:center; gap:11px; margin:27px auto 0; color:var(--fg-soft); font-size:13px; }
.rh-model span { display:none; }
.rh-model strong { color:var(--fg); font-weight:500; }
.rh-model p::before { content:"·"; margin-right:11px; color:var(--fg-dim); }
.rh-section { padding:75px 0; border-top:1px solid var(--line-soft); }
.rh-section .section-label { margin-bottom:16px; }
.rh-section h2 { max-width:900px; margin:0 auto; font-size:clamp(29px,3.25vw,42px); line-height:1.16; letter-spacing:-.028em; font-weight:600; }
.rh-split { text-align:center; }
.rh-section-copy { max-width:770px; margin:23px auto 0; }
.rh-section-copy p { margin:0 auto 16px; color:var(--fg-soft); font-size:16px; line-height:1.65; }
.rh-section-copy strong { color:var(--fg); }
.rh-text-link,.rh-proof-links a { color:var(--accent-2); font-size:13px; font-weight:600; }
.rh-text-link:hover,.rh-proof-links a:hover { color:var(--fg); }
.rh-opportunity { background:var(--bg); }
.rh-system { background:var(--bg-alt); }
.rh-system > .rh-shell > .section-label,.rh-section-head { text-align:center; }
.rh-section-head p { max-width:650px; margin:18px auto 0; color:var(--fg-soft); font-size:16px; line-height:1.65; }
.rh-section-head h2 span,.rh-fit h2 span { color:var(--fg); }
.rh-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:890px; margin:38px auto 0; }
.rh-capabilities article { min-height:160px; padding:27px 29px; border:1px solid var(--line); border-radius:14px; background:var(--bg-card); text-align:left; }
.rh-capabilities article:last-child { grid-column:1/-1; min-height:0; }
.rh-capabilities article > span { display:none; }
.rh-capabilities h3 { margin:0 0 9px; font-size:17px; font-weight:600; }
.rh-capabilities p { color:var(--fg-soft); font-size:14px; line-height:1.65; }
.rh-proof-line { max-width:890px; margin:18px auto 0; padding:26px 29px; border:1px solid rgba(0,140,254,.34); border-radius:14px; background:rgba(0,140,254,.06); text-align:center; }
.rh-proof-line strong { display:block; font-size:20px; font-weight:600; }
.rh-proof-line p { margin:9px auto 13px; color:var(--fg-soft); font-size:14px; line-height:1.6; }
.rh-proof-line a { color:var(--accent-2); font-size:13px; font-weight:600; }
.rh-proof-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 25px; margin:25px auto 14px; }
.rh-section-copy .rh-proof-context { color:var(--fg-dim); font-size:12px; }
.rh-fit { padding:75px 0 80px; text-align:center; background:radial-gradient(ellipse 750px 340px at 50% 100%,rgba(0,140,254,.11),transparent 75%),var(--bg); }
.rh-fit p:not(.section-label) { max-width:540px; margin:19px auto 25px; color:var(--fg-soft); font-size:16px; line-height:1.6; }
.rh-footer { padding:25px 0; border-top:1px solid var(--line-soft); color:var(--fg-mute); font-size:12px; }
.rh-footer .rh-shell,.rh-footer .rh-shell > div { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.rh-footer-brand { color:var(--fg); font-size:13px; font-weight:600; }
.rh-footer-brand span { color:var(--fg-mute); font-weight:400; }
.rh-footer a:hover { color:var(--fg); }
.roof-home a:focus-visible { outline:2px solid var(--accent-2); outline-offset:4px; }
@media(max-width:720px) {
  .rh-shell { padding:0 18px; }
  .rh-nav { top:11px; max-width:calc(100% - 22px); padding:7px 7px 7px 15px; }
  .rh-brand { padding-right:0; border:0; }
  .rh-brand img { width:118px; }
  .rh-links { display:none; }
  .rh-nav-cta { margin-left:8px; padding:7px 11px; }
  .rh-hero { padding-top:121px; padding-bottom:54px; }
  .rh-hero h1 { font-size:clamp(35px,8vw,47px); line-height:1.16; }
  .rh-hero h1 br { display:none; }
  .rh-kicker { font-size:12px; }
  .rh-hero-image { margin-top:28px; border-radius:12px; }
  .rh-model { display:block; font-size:12px; line-height:1.6; }
  .rh-model p::before { display:none; }
  .rh-section { padding:55px 0; }
  .rh-section-copy p { font-size:15px; }
  .rh-capabilities { grid-template-columns:1fr; gap:11px; margin-top:28px; }
  .rh-capabilities article,.rh-capabilities article:last-child { min-height:0; grid-column:auto; padding:22px; }
  .rh-proof-line { padding:23px 20px; }
  .rh-footer .rh-shell { align-items:flex-start; flex-direction:column; gap:15px; }
}
