/* R3 - residential "landed exterior" stage: tint wave on the glass wall, benefits, glass estimate card.
   Self-contained + scoped to .r3 so it can be dropped into residential/index.html or draft-site later.
   Card styles are a renamed copy of draft-site/s1-cards.css (Devon-approved look); draft-site itself is untouched. */
.r3{--cy:#3fe6f0;--mono:"JB Mono",ui-monospace,Menlo,monospace;--sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  position:relative;width:100%;height:100vh;height:100svh;overflow:hidden;background:#07080a;color:#fff;font-family:var(--sans)}
.r3-gl{position:absolute;inset:0;width:100%;height:100%;display:block}
.r3-masks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none;overflow:visible}
.r3-show-masks .r3-masks{display:block}
.r3-masks polygon{fill:rgba(63,230,240,.08);stroke:#3fe6f0;stroke-width:1.2;vector-effect:non-scaling-stroke}
.r3-masks text{fill:#3fe6f0;font:600 11px var(--mono);letter-spacing:.06em}
/* left scrim so the benefit list reads over the brick + tree */
.r3-scrim{position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(60% 75% at 0% 50%,rgba(5,6,7,.7) 0%,rgba(5,6,7,.42) 45%,rgba(5,6,7,0) 100%)}
.r3-ben{position:absolute;left:clamp(24px,4.4vw,84px);top:50%;transform:translateY(-50%);width:min(330px,28vw)}
.r3-ben ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.r3-ben-k{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--cy);margin:0 0 6px;opacity:0}
.r3-ben li{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:14px;opacity:0;transform-origin:0 50%;
  font-size:16.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2;
  background:linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.03) 50%,rgba(63,230,240,.05));
  -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  border:1px solid rgba(63,230,240,.26);box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 0 22px rgba(63,230,240,.12),0 14px 34px rgba(0,0,0,.4)}
.r3-ben i{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(63,230,240,.14);border:1px solid rgba(63,230,240,.55);box-shadow:0 0 14px rgba(63,230,240,.35)}
.r3-ben i svg{width:13px;height:13px;stroke:var(--cy);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---- glass card: copy of s1-cards.css, s1- -> r3- ---- */
.r3-dim{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;
  background:radial-gradient(120% 90% at 50% 52%,rgba(5,6,7,.38) 0%,rgba(5,6,7,.72) 60%,rgba(5,6,7,.9) 100%);
  -webkit-backdrop-filter:saturate(.85);backdrop-filter:saturate(.85)}
.r3-card{position:absolute;z-index:9;left:50%;top:50%;width:min(760px,calc(100vw - 32px));transform:translate(-50%,-50%);
  visibility:hidden;opacity:0;pointer-events:none;color:#fff;border-radius:26px;padding:38px 40px 32px;
  background:linear-gradient(155deg,rgba(255,255,255,.13),rgba(255,255,255,.035) 42%,rgba(63,230,240,.05));
  -webkit-backdrop-filter:blur(22px) saturate(1.35);backdrop-filter:blur(22px) saturate(1.35);
  border:1px solid rgba(63,230,240,.32);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 1px 0 rgba(255,255,255,.22) inset,0 0 38px rgba(63,230,240,.22),0 0 110px rgba(63,230,240,.1),0 40px 90px rgba(0,0,0,.55)}
.r3-card.is-in{visibility:visible;pointer-events:auto}
.r3-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--ga,0deg),transparent 0 55%,rgba(63,230,240,.0) 60%,rgba(130,245,255,.95) 72%,rgba(63,230,240,0) 84%,transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.r3-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.14) 45%,transparent 60%) no-repeat;background-size:250% 100%;background-position:var(--sh,130%) 0}
.r3-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--cy);margin:0 0 10px}
.r3-h{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.04em;margin:0 0 26px}
.r3-tiers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.r3-tier{position:relative;border-radius:18px;padding:22px 22px 20px;background:rgba(8,12,14,.42);border:1px solid rgba(255,255,255,.1)}
.r3-tier-hi{border-color:rgba(63,230,240,.55);background:linear-gradient(160deg,rgba(63,230,240,.13),rgba(8,12,14,.45) 60%);box-shadow:0 0 28px rgba(63,230,240,.16) inset}
.r3-k{font-family:var(--mono);font-size:11px;letter-spacing:.2em;margin:0 0 14px;opacity:.9}
.r3-tier-hi .r3-k{color:var(--cy)}
.r3-big{font-size:30px;line-height:1.02;font-weight:800;letter-spacing:-.035em;margin:0 0 12px}
.r3-tier-hi .r3-big{text-shadow:0 0 28px rgba(63,230,240,.35)}
.r3-list{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;line-height:1.75;opacity:.78}
.r3-list li:before{content:"+ ";color:var(--cy)}
.r3-cap{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;line-height:1.55;opacity:.7;margin:0}
.r3-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap}
.r3-chips{display:flex;gap:8px;margin:0;flex-wrap:wrap}
.r3-chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04)}
.r3-chip-cy{color:var(--cy);border-color:rgba(63,230,240,.5);background:rgba(63,230,240,.07)}
/* button = draft-site .ds-btn */
.r3-btn{display:inline-flex;align-items:center;gap:9px;background:var(--cy);color:#031113;font-weight:700;font-size:15px;padding:14px 22px;border-radius:999px;box-shadow:0 0 26px rgba(63,230,240,.35);white-space:nowrap;text-decoration:none;transition:transform .15s,box-shadow .15s}
.r3-btn:hover{transform:translateY(-1px);box-shadow:0 0 34px rgba(63,230,240,.55)}
.r3-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.r3-btn svg{width:17px;height:17px;fill:currentColor}

@media (max-width:767px){
  .r3-scrim{background:linear-gradient(180deg,rgba(5,6,7,0) 0,rgba(5,6,7,0) calc(var(--r3-band,40vh) - 30px),rgba(5,6,7,.9) calc(var(--r3-band,40vh) + 20px))}
  .r3-ben{left:16px;right:16px;width:auto;top:calc(var(--r3-band,40vh) + 14px);transform:none}
  .r3-ben ul{gap:8px}
  .r3-ben{pointer-events:none} /* fades out under the card on narrow screens (r3.js bo) */
  .r3-ben li{font-size:14.5px;padding:9px 12px 9px 9px;border-radius:12px}
  .r3-ben i{width:22px;height:22px}
  .r3-card{top:auto;bottom:84px;padding:22px 18px 18px;border-radius:22px}
  .r3-dim{background:linear-gradient(180deg,rgba(5,6,7,.22) 0%,rgba(5,6,7,.3) 30%,rgba(5,6,7,.78) 52%,rgba(5,6,7,.92) 100%)}
  .r3-eyebrow{font-size:9.5px;margin-bottom:8px}
  .r3-h{font-size:26px;margin-bottom:14px}
  .r3-tiers{gap:10px}
  .r3-tier{padding:16px 13px 14px;border-radius:15px}
  .r3-k{font-size:9.5px;letter-spacing:.14em;margin-bottom:10px}
  .r3-big{font-size:20px;margin-bottom:9px}
  .r3-list,.r3-cap{font-size:9.5px;letter-spacing:.02em;line-height:1.5}
  .r3-foot{margin-top:14px;gap:12px}
  .r3-chip{font-size:9px;padding:7px 10px}
  .r3-foot .r3-btn{width:100%;justify-content:center}
}

.r3-noui .r3-scrim,.r3-noui .r3-ben,.r3-noui .r3-dim,.r3-noui .r3-card{display:none}

/* embedded in residential/ (data-r3-embed): sits over the room stage, the host drives it frame by frame */
.r3[data-r3-embed]{position:absolute;inset:0;width:auto;height:auto;background:transparent;pointer-events:none}
.r3[data-r3-embed] .r3-gl{opacity:0}
.r3[data-r3-embed] .r3-card.is-in{pointer-events:auto}
