:root{color-scheme:dark;--bg:#061326;--bg2:#091d39;--line:#254365;--cyan:#28caff;--blue:#1a71ff;--txt:#f4f8ff;--muted:#b1c2dc;--faint:#7892b6;--max:1180px;font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(160deg,#051023 0%,#091b36 48%,#06152d 100%);color:var(--txt);font-size:15px;line-height:1.65;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer}p{margin:0 0 1em}.wrap{max-width:var(--max);padding:0 24px;margin:0 auto}.ambient{position:absolute;pointer-events:none;z-index:0;filter:blur(20px);opacity:.56}.ambient-one{width:650px;height:650px;border-radius:50%;top:-340px;right:-130px;background:radial-gradient(circle,#064dba77 0%,transparent 70%)}.ambient-two{width:450px;height:500px;top:500px;left:-200px;background:radial-gradient(circle,#0456bb44,transparent 70%)}.topbar{position:relative;z-index:5;border-bottom:1px solid #2442616e;background:#07172aa8;backdrop-filter:blur(18px);position:sticky;top:0}.navrow{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:inline-flex;gap:12px;align-items:center;font-weight:800;letter-spacing:.1px;font-size:17px;line-height:1.2}.logo-mark{display:flex;align-items:center;gap:3px;height:38px;width:38px;border:1px solid #2977cd88;border-radius:12px;padding:9px;background:linear-gradient(135deg,#184b9a,#081f48)}.logo-mark span{height:14px;width:5px;background:#66caff;display:block;border-radius:2px;transform:skew(-15deg)}.logo-mark span:nth-child(2){height:22px;background:#f2faff}.logo-mark span:nth-child(3){height:18px;background:#168fff}.navlinks{display:flex;gap:33px;align-items:center;font-size:13px;font-weight:600;color:#c3d4f1}.navlinks>a:hover{color:#39cbff}.navcontact{background:linear-gradient(125deg,#166de3,#008bdc);border-radius:8px;padding:11px 18px;color:white!important;box-shadow:0 8px 28px #0065ca42}.navcontact span{margin-left:9px}.mobile-nav{display:none}.hero{min-height:640px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:80px;padding-bottom:110px;gap:40px}.hero-content{position:relative;z-index:2}.eyebrow,.kicker{font-size:11px;letter-spacing:2.3px;font-weight:800;color:#49d7ff;display:inline-flex;align-items:center;gap:12px}.eyebrow{padding:9px 15px;border:1px solid #24639988;border-radius:100px;background:#10336580}.pulse,.dot{height:6px;width:6px;border-radius:50%;background:#29efff;box-shadow:0 0 15px #24efff;display:inline-block}h1,h2,h3{line-height:1.14;letter-spacing:-.045em;margin:0}h1{font-size:clamp(46px,5.9vw,77px);font-weight:780;margin:27px 0 23px}h2{font-size:clamp(34px,4.1vw,53px);margin:12px 0 0}h1 em,h2 em{font-style:normal;color:#31c9ff;background:linear-gradient(90deg,#75e4ff,#0c92ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-desc{font-size:18px;color:var(--muted);line-height:1.75;max-width:550px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 51px}.btn{border:1px solid #267dde77;border-radius:9px;padding:13px 21px;display:inline-flex;gap:25px;align-items:center;justify-content:space-between;font-size:13px;font-weight:780;min-height:48px;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(110deg,#1472ed,#049adf);color:white;box-shadow:0 12px 33px #0255b36b}.btn.subtle{background:#12335a60;color:#dcecff}.hero-foot{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1.8px;color:#789bbb;font-weight:800}.tiny-line{width:32px;height:1px;background:#28c5fe}.visual{position:relative;min-height:465px;display:grid;place-items:center;isolation:isolate}.visual:before{content:'';position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#0864f366,transparent 72%);filter:blur(10px)}.visual-grid{position:absolute;inset:10%;transform:perspective(350px) rotateX(65deg) scale(1.3);background:linear-gradient(#164e8238 1px,transparent 1px),linear-gradient(90deg,#164e8238 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle,#000 15%,transparent 75%)}.visual-orbit{position:absolute;border:1px solid #177dd588;box-shadow:inset 0 0 25px #075ed01c,0 0 20px #003e6d13;border-radius:50%;width:72%;aspect-ratio:1;transform:rotateX(65deg) rotateZ(-10deg)}.orbit-two{width:88%;transform:rotateX(70deg) rotateZ(40deg);border-color:#148fe968}.orbit-three{width:96%;transform:rotateX(80deg) rotateZ(-50deg);border-color:#138be63d}.visual-center{width:240px;height:240px;border:1px solid #1f9cd9bb;display:grid;place-items:center;border-radius:50%;box-shadow:0 0 0 18px #0885d80b,0 0 0 42px #1181e30a,0 0 65px #127fff76;background:radial-gradient(circle at 40% 33%,#0f417b,#03152e 70%);position:relative;z-index:2}.visual-ring{width:175px;height:175px;border:1px dashed #7edfff7e;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-direction:column;background:radial-gradient(circle,#085399a6,transparent 70%)}.visual-ring span{font-weight:900;font-size:61px;letter-spacing:-5px;line-height:1}.visual-ring small{font-size:8px;line-height:1.6;color:#9bdaf8;font-weight:800;letter-spacing:2px;text-align:center}.float-chip{position:absolute;z-index:3;padding:12px 14px;font-size:9px;letter-spacing:1px;font-weight:800;border:1px solid #2c90d391;background:#071f41e8;box-shadow:0 12px 25px #0009;border-radius:9px;display:flex;gap:10px;align-items:center}.chip-one{top:13%;left:2%}.chip-two{right:-4%;top:43%}.chip-three{bottom:15%;left:10%}.strip{border-top:1px solid #24497477;border-bottom:1px solid #24497477;background:linear-gradient(90deg,#091c39d9,#0e2e5dd9,#0a2146d9)}.strip-inner{min-height:77px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;font-weight:800;color:#9dbada;letter-spacing:1.9px}.strip-inner span{display:flex;align-items:center;gap:10px}.strip-inner i{width:5px;height:5px;border-radius:50%;background:#1faeff;display:inline-block}.section-space{padding-top:115px;padding-bottom:115px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading>div{max-width:630px}.section-heading>p{max-width:365px;color:var(--muted);font-size:15px}.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.business-card{background:linear-gradient(145deg,#112c51d9,#0a1c37);border:1px solid #24507e99;border-radius:15px;display:flex;flex-direction:column;min-height:350px;padding:26px 26px 22px;transition:transform .2s,border-color .2s,box-shadow .2s}.business-card:hover{border-color:#19baff;transform:translateY(-5px);box-shadow:0 18px 50px #006aff23}.card-top{display:flex;align-items:center;justify-content:space-between}.card-num{font-size:12px;letter-spacing:2px;color:#6b99c5}.card-arrow{height:33px;width:33px;border:1px solid #2e608b;display:grid;place-items:center;border-radius:50%;color:#60d5ff}.card-icon{font-size:28px;color:#39c9ff;margin:48px 0 19px}.category{font-size:10px;color:#61d8ff;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:9px;font-weight:800}.business-card h3{font-size:24px;letter-spacing:-.5px}.business-card p{color:var(--muted);font-size:13px;margin-top:12px}.card-bottom{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#6fd9ff;border-top:1px solid #295077}.empty{color:var(--faint);padding:30px}.about-area{background:linear-gradient(115deg,#091a34,#0d2b53,#081d3b);border-top:1px solid #214675;border-bottom:1px solid #214675}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;min-height:515px;padding-top:70px;padding-bottom:70px}.about-inner p{color:var(--muted);font-size:15px;max-width:510px;margin-top:18px}.about-inner h2{margin-bottom:24px}.about-graphic{height:340px;border:1px solid #285c9e6b;border-radius:18px;background:radial-gradient(ellipse at center,#1663b445,#071428 68%);position:relative;overflow:hidden;display:grid;place-items:center}.network-grid{position:absolute;inset:0;background-image:linear-gradient(#16488655 1px,transparent 1px),linear-gradient(90deg,#16488655 1px,transparent 1px);background-size:30px 30px;display:grid;place-items:center;mask-image:radial-gradient(circle,#000 45%,transparent 85%)}.network-symbol{width:190px;height:190px;display:grid;place-items:center;border:2px solid #2899e6;border-radius:50%;background:#0c3465;box-shadow:0 0 0 30px #1d75c61b,0 0 0 60px #136b9e11,0 0 80px #137dfe88;font-size:67px;font-weight:850;letter-spacing:-5px}.network-symbol span{color:#36d3ff}.link-arrow{font-size:13px;font-weight:850;color:#5bd2ff;display:inline-flex;gap:24px;margin-top:24px}.contact-panel{border:1px solid #2a608f;border-radius:19px;padding:55px;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;background:linear-gradient(135deg,#102d55,#071d3c);box-shadow:0 28px 90px #0004}.contact-panel h2{margin-bottom:22px}.contact-panel p{color:#b7c9df}.meta{font-size:13px;color:#a7dfff!important;overflow-wrap:anywhere}.contact-form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form label{font-size:12px;font-weight:700;color:#d8e9fa;display:grid;gap:7px}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #36608a;border-radius:8px;background:#071a31;color:white;padding:11px 12px;min-width:0;font-size:14px}.contact-form input:focus,.contact-form textarea:focus{border-color:#3cbefb;outline:1px solid #3cbefb}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7792af}.contact-form .consent{display:flex;align-items:flex-start;gap:10px;color:#9bb0cc;font-size:11px;font-weight:400}.contact-form .consent input{margin:3px 0 0;accent-color:#199eff}.contact-form button{justify-self:start}.contact-form .status{font-size:12px;color:#89e0ff;min-height:12px;margin:0}.honeypot{position:absolute!important;opacity:0;pointer-events:none;left:-9000px}.footer{border-top:1px solid #224064;background:#051021;padding-top:55px}.footer-inner{display:flex;justify-content:space-between;gap:25px;padding-bottom:48px}.footer-inner p{color:#819db8;font-size:13px;margin:14px 0}.footlinks{display:flex;gap:23px;font-size:13px;color:#aac8de}.copyright{border-top:1px solid #223e60;padding-top:18px;padding-bottom:25px;color:#7191b1;font-size:11px;display:flex;justify-content:space-between;gap:14px}.subhero{padding-top:90px;padding-bottom:75px;border-bottom:1px solid #285278}.subhero h1{max-width:950px;margin:18px 0}.breadcrumb{display:inline-block;font-size:13px;color:#8dcdf2;margin-bottom:50px}.mini-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.mini-pills span{border:1px solid #315a86;border-radius:40px;padding:5px 12px;color:#9dcde7;font-size:11px}.subintro{padding-top:85px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.subintro p{color:var(--muted);font-size:17px;line-height:1.9;white-space:normal}.content-section{padding-top:55px;padding-bottom:65px;border-bottom:1px solid #284a6e55;scroll-margin-top:100px}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.detail-card{border:1px solid #2a5682;background:#0c2342;border-radius:13px;padding:27px}.detail-icon{font-size:25px;color:#21c8ff;margin-bottom:18px}.detail-card h3{font-size:19px;letter-spacing:-.02em}.detail-card p{color:#a9c0dc;font-size:13px;margin-top:11px}.type-stats .detail-card h3{font-size:32px;color:#4ed9ff}.section-media{width:100%;max-height:450px;object-fit:cover;border-radius:14px;margin:0 0 30px}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0;padding-top:80px;padding-bottom:70px}.visual{min-height:390px;max-width:520px;width:100%;margin:auto}.business-grid,.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-inner{gap:35px}.contact-panel{gap:27px;padding:35px}.hero h1{font-size:62px}}@media(max-width:650px){.navrow{min-height:72px}.logo{font-size:14px}.logo-mark{flex-shrink:0}.mobile-nav{display:block;border:1px solid #2e628a;padding:7px 11px;border-radius:7px;background:#113054;color:white;font-size:12px}.navlinks{display:none;position:absolute;top:71px;left:0;right:0;background:#07172df8;flex-direction:column;align-items:stretch;gap:0;padding:16px 25px;border-bottom:1px solid #37608d}.navlinks.open{display:flex}.navlinks a{padding:10px}.hero{padding-top:65px;gap:0}.hero h1{font-size:clamp(42px,10vw,58px)}.hero-desc{font-size:15px}.hero-actions{margin-bottom:29px}.visual{min-height:345px}.visual-center{width:173px;height:173px}.visual-ring{width:133px;height:133px}.visual-ring span{font-size:48px}.float-chip{font-size:7px;padding:8px}.chip-two{right:0}.strip-inner{justify-content:center;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px 21px;font-size:9px}.section-space{padding-top:75px;padding-bottom:75px}.section-heading{display:block}.section-heading>p{margin-top:19px}.business-grid,.content-grid,.about-inner,.subintro,.contact-panel,.form-row{grid-template-columns:1fr}.business-card{min-height:300px}.card-icon{margin-top:30px}.about-inner{padding-top:65px;padding-bottom:65px;gap:45px}.about-graphic{height:250px;order:2}.network-symbol{width:145px;height:145px;font-size:49px}.contact-panel{padding:25px}.footer-inner,.copyright{display:block}.copyright span{display:block}.subhero{padding-top:60px;padding-bottom:55px}.breadcrumb{margin-bottom:30px}.subintro{gap:25px;padding-top:60px;padding-bottom:55px}.content-section{padding-top:45px;padding-bottom:45px}.footer-inner .footlinks{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* SINGLE-PAGE / FULL-VIEWPORT RESPONSIVE EXPERIENCE */
[id]{scroll-margin-top:98px}
.hero{min-height:calc(100svh - 88px);min-height:calc(100dvh - 88px);width:100%;padding-top:55px;padding-bottom:86px}
.hero .scroll-cue{position:absolute;left:24px;bottom:18px;color:#86b9de;font-weight:800;letter-spacing:2px;font-size:10px;display:flex;gap:16px;align-items:center}
.scroll-cue span{font-size:19px;color:#28caff}
.business-profile{border-top:1px solid #31619666;background:linear-gradient(160deg,#071b36 0%,#091d39 50%,#061427 100%);padding:78px 0 50px}
.business-profile:nth-of-type(even){background:linear-gradient(160deg,#091d3a 0%,#09234a 55%,#05152b 100%)}
.profile-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center;padding-bottom:46px}
.profile-head h2{margin-top:25px;margin-bottom:20px}
.profile-head .hero-desc{margin-bottom:0}
.profile-description{font-size:16px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}
.profile-contact{padding-top:16px;padding-bottom:24px}
.visual .city-silhouette{position:absolute;inset:auto 4% 4% 4%;height:42%;opacity:.58;filter:drop-shadow(0 0 14px #117dff88);background:repeating-linear-gradient(90deg,#0b3d7b 0px,#0a3a80 18px,transparent 18px,transparent 27px,#115fbd 28px,#124888 55px,transparent 55px,transparent 66px);clip-path:polygon(0 100%,0 67%,7% 67%,7% 43%,14% 43%,14% 73%,20% 73%,20% 34%,26% 34%,26% 56%,33% 56%,33% 22%,39% 22%,39% 61%,46% 61%,46% 6%,51% 6%,51% 39%,58% 39%,58% 64%,66% 64%,66% 16%,73% 16%,73% 47%,81% 47%,81% 28%,88% 28%,88% 67%,96% 67%,96% 43%,100% 43%,100% 100%);z-index:1}
@media(max-width:900px){.hero{min-height:calc(100svh - 88px);min-height:calc(100dvh - 88px)}.profile-head{gap:30px}}
@media(max-width:650px){[id]{scroll-margin-top:76px}.hero{min-height:calc(100svh - 72px);min-height:calc(100dvh - 72px);padding-top:35px;padding-bottom:65px}.hero .scroll-cue{bottom:8px}.profile-head{grid-template-columns:1fr;gap:22px}.business-profile{padding:70px 0 40px}.visual{min-height:265px}.city-silhouette{height:34%!important}}
/* Full-viewport, single-page portfolio: anchors scroll in place; no subpages. */
main{position:relative;z-index:1}
.screen-section{min-height:calc(100svh - 88px);scroll-margin-top:88px}
.hero.screen-section{min-height:calc(100svh - 88px);padding-top:48px;padding-bottom:58px}
.business-detail{padding:94px 0;border-top:1px solid #295277;background:linear-gradient(155deg,#091d3e,#071529)}
.business-detail:nth-of-type(odd){background:linear-gradient(155deg,#0b274c,#07192f)}
.detail-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding-bottom:45px}
.detail-intro>div:nth-child(2){font-size:16px;color:var(--muted);line-height:1.9}
.detail-intro h2{margin-top:15px}
.detail-tagline{color:#55d4ff;font-size:17px;margin-top:14px}
.section-h3{font-size:clamp(28px,3.5vw,42px);line-height:1.18}
.detail-card h4{font-size:19px;margin:0;letter-spacing:-.02em;line-height:1.25}
.legal-hint{font-size:12px!important;line-height:1.6;color:#8ea9c6!important;max-width:430px}
.back-link{margin-top:34px}
#contact{display:flex;align-items:center}
#contact>.contact-panel{width:100%}
#about{display:flex;align-items:center}
#about>.about-inner{width:100%}
@media(max-width:900px){.hero.screen-section{padding-top:65px;padding-bottom:65px;min-height:calc(100svh - 88px)}.detail-intro{gap:30px}}
@media(max-width:650px){.screen-section{min-height:calc(100svh - 72px);scroll-margin-top:72px}.hero.screen-section{min-height:calc(100svh - 72px);padding-top:52px}.business-detail{padding:70px 0}.detail-intro{grid-template-columns:1fr;gap:20px;padding-bottom:18px}.detail-intro h2{font-size:35px}#contact{display:block}}

.business-cta{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:32px}.business-cta .back-link{margin-top:0}.business-cta .btn{max-width:100%}

/* v1.0.2: Real user-uploaded branding (same image in header and hero). */
.brand-logo{width:39px;height:39px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 6px #3c9eff33)}
.brand-logo-fallback{font-size:22px;line-height:1;font-weight:900;color:#e9f7ff;letter-spacing:-.05em;flex-shrink:0}
.hero-logo{display:block;max-width:75%;max-height:66%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 0 12px #4dd8ff75)}
.hero-logo-fallback{font-weight:850;color:white;letter-spacing:-.05em;font-size:clamp(45px,6vw,80px)}
.visual-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
/* v1.0.6 – CLEAN VIEWPORT-STAGE SHELL.
   One CSS owner for stage positioning (no child 100vw or centering margins).
   The body is anchored to exactly the same viewport used by fixed UI.
   Content panels stay inside that shell and only scroll internally. */
html:has(body.rbp-stage-mode){height:100%;width:100%;overflow:hidden}
body.rbp-stage-mode{
  position:fixed!important;inset:0!important;
  width:auto!important;height:auto!important;
  max-width:none!important;min-height:0!important;
  margin:0!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:auto minmax(0,1fr);
  isolation:isolate;
}
.rbp-stage-mode .topbar{
  position:relative!important;top:auto!important;left:auto!important;right:auto!important;
  grid-row:1;grid-column:1;min-width:0;width:100%!important;max-width:none!important;
  margin:0!important;z-index:100;
}
.rbp-stage-mode .topbar .wrap{max-width:none!important;width:100%;margin:0!important;padding-inline:clamp(18px,5vw,84px)}
.rbp-stage-mode .navrow{min-height:88px}
.rbp-stage-mode main{
  position:relative!important;grid-row:2;grid-column:1;min-width:0;min-height:0!important;
  width:100%!important;max-width:none!important;height:100%!important;
  margin:0!important;overflow:hidden!important;
  background:radial-gradient(ellipse at 80% 30%,#0c2d59 0%,#071b37 45%,#06162e 90%);
}
.rbp-stage-mode main > section{display:none!important}
.rbp-stage-mode main > section.stage-active{
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  height:100%!important;max-height:100%!important;min-height:0!important;
  margin:0!important;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:contain;scrollbar-width:thin;
}
.rbp-stage-mode main > section.hero.stage-active{
  display:grid!important;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  align-items:center;gap:clamp(12px,2.8vw,45px);
  padding-block:clamp(10px,2dvh,28px);
  padding-inline:clamp(20px,5.2vw,100px);
}
.rbp-stage-mode main > section#businesses.stage-active,
.rbp-stage-mode main > section#contact.stage-active{padding:clamp(18px,4dvh,44px) clamp(20px,5.2vw,100px)}
.rbp-stage-mode main > section#about.stage-active{display:flex!important;align-items:center}
.rbp-stage-mode main > section#about.stage-active >.wrap{width:100%;max-width:1400px}
.rbp-stage-mode .footer,.rbp-stage-mode .strip,.rbp-stage-mode .hero .scroll-cue{display:none!important}
.rbp-stage-mode .navlinks a.selected:not(.navcontact){color:#59d8ff}
.rbp-stage-mode .navlinks a.selected:not(.navcontact):after{content:'';display:block;height:2px;background:#27c8ff;margin-top:4px}
.rbp-stage-mode .hero-content,.rbp-stage-mode .visual{min-width:0}
.rbp-stage-mode .hero h1{line-height:1.08;margin:clamp(8px,2dvh,19px) 0 clamp(8px,1.5dvh,16px)}
.rbp-stage-mode .hero-desc{margin-bottom:0;line-height:1.45}
.rbp-stage-mode .hero-actions{margin:clamp(10px,2.2dvh,23px) 0 clamp(8px,2dvh,20px)}
.rbp-stage-mode .hero .visual{
  width:100%;max-width:none;height:min(63dvh,500px);max-height:100%;
  min-height:0;align-self:center;justify-self:center;
}
.rbp-stage-mode .visual-center{width:min(22vw,37dvh,224px);height:auto;aspect-ratio:1}
.rbp-stage-mode .visual-ring{width:75%;height:75%}
.rbp-stage-mode .visual-ring .hero-logo-fallback{font-size:clamp(29px,5vw,70px)}
.rbp-stage-mode .float-chip{max-width:43%;white-space:nowrap;font-size:8px;padding:8px 10px}
.rbp-stage-mode .chip-two{right:0}
.rbp-stage-mode #businesses.section-space{padding-block:clamp(15px,3dvh,32px)}
.rbp-stage-mode .business-profile{padding:30px 0}
.rbp-stage-mode .business-profile .content-section{padding:24px 0}
.rbp-stage-mode #contact .contact-panel{width:100%}
/* Portrait tablet: headline above graphic; no huge interstitial space. */
@media(orientation:portrait) and (min-width:651px){
 .rbp-stage-mode main>section.hero.stage-active{
   grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr);
   align-content:start;gap:clamp(5px,1.5dvh,18px);
   padding:clamp(16px,3dvh,40px) clamp(24px,5vw,70px);
 }
 .rbp-stage-mode .hero-content{align-self:start;max-width:780px;margin-inline:auto;text-align:center;width:100%}
 .rbp-stage-mode .hero .eyebrow{margin-inline:auto}
 .rbp-stage-mode .hero h1{font-size:clamp(36px,6.4vw,66px);margin:12px 0}
 .rbp-stage-mode .hero-desc{margin-inline:auto}
 .rbp-stage-mode .hero-actions{justify-content:center;margin:clamp(12px,2dvh,23px) 0}
 .rbp-stage-mode .hero-foot{justify-content:center}
 .rbp-stage-mode .hero .visual{height:100%;max-height:50dvh;width:min(100%,720px);place-self:center}
 .rbp-stage-mode .visual-center{width:min(38vw,26dvh,270px)}
}
/* Wide tablet or short landscape screen. */
@media(orientation:landscape) and (max-height:900px){
 .rbp-stage-mode main>section.hero.stage-active{padding-block:clamp(8px,2dvh,23px)}
 .rbp-stage-mode .hero h1{font-size:clamp(29px,min(4.8vw,7.2dvh),65px)}
 .rbp-stage-mode .hero .eyebrow{font-size:clamp(8px,1.1vw,11px);padding:7px 12px}
 .rbp-stage-mode .hero .hero-desc{font-size:clamp(12px,1.4vw,17px)}
 .rbp-stage-mode .hero .btn{min-height:40px;padding:10px 14px;gap:10px}
 .rbp-stage-mode .hero .visual{height:min(61dvh,500px)}
}
/* Phones portrait: switch to stacked screen, hamburger nav, inner scroll only. */
@media(max-width:650px){
 .brand-logo{width:30px;height:30px}.brand-logo-fallback{font-size:18px}
 .rbp-stage-mode .topbar .wrap{padding-inline:18px}
 .rbp-stage-mode .navrow{min-height:72px}
 .rbp-stage-mode .logo{min-width:0;max-width:calc(100% - 84px);font-size:clamp(11px,3.3vw,14px)}
 .rbp-stage-mode .logo>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .rbp-stage-mode .navlinks{top:100%}
 .rbp-stage-mode main>section.hero.stage-active{
  grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr);
  align-content:start;align-items:stretch;gap:8px;
  padding:clamp(10px,2dvh,24px) 18px clamp(9px,1.8dvh,22px);
 }
 .rbp-stage-mode .hero-content{align-self:start;text-align:left}
 .rbp-stage-mode .hero .eyebrow{font-size:9px;letter-spacing:1px;padding:7px 10px}
 .rbp-stage-mode .hero h1{font-size:clamp(29px,7.6vw,43px);margin:9px 0 8px}
 .rbp-stage-mode .hero .hero-desc{font-size:clamp(12px,3.1vw,15px)}
 .rbp-stage-mode .hero .hero-actions{margin:12px 0 0;justify-content:start;gap:8px;flex-wrap:wrap}
 .rbp-stage-mode .hero .hero-actions .btn{min-height:38px;max-width:100%;padding:8px 10px;gap:8px;font-size:10px}
 .rbp-stage-mode .hero-foot{display:none}
 .rbp-stage-mode .hero .visual{width:min(100%,390px);height:100%;max-height:40dvh;min-height:0;align-self:center;justify-self:center}
 .rbp-stage-mode .visual-center{width:min(39vw,24dvh,175px)}
 .rbp-stage-mode .visual .float-chip{font-size:6px;padding:5px 6px}
 .rbp-stage-mode .business-grid,.rbp-stage-mode .content-grid{grid-template-columns:1fr}
 .rbp-stage-mode .business-card{min-height:180px;padding:20px}
 .rbp-stage-mode .business-card .card-icon{margin-top:4px}
 .rbp-stage-mode .business-profile{padding:20px 0}
 .rbp-stage-mode #contact.stage-active,.rbp-stage-mode #about.stage-active{display:block!important}
 .rbp-stage-mode .contact-panel{padding:18px}
 .rbp-stage-mode .contact-panel h2{font-size:clamp(26px,7vw,38px)}
 .rbp-stage-mode .about-inner{padding-block:24px}
}
@media(orientation:landscape) and (max-height:550px){
 .rbp-stage-mode .navrow{min-height:60px}
 .rbp-stage-mode main>section.hero.stage-active{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto;
  padding:7px clamp(12px,4vw,35px);gap:12px
 }
 .rbp-stage-mode .hero h1{font-size:clamp(22px,5.6dvh,38px);margin:4px 0 6px}
 .rbp-stage-mode .hero .eyebrow{font-size:8px;padding:5px 8px}
 .rbp-stage-mode .hero .hero-desc{font-size:12px}
 .rbp-stage-mode .hero .hero-actions{margin:7px 0;gap:6px}
 .rbp-stage-mode .hero .btn{padding:6px 8px;min-height:32px;font-size:10px}
 .rbp-stage-mode .hero-foot{display:none}
 .rbp-stage-mode .hero .visual{height:min(72dvh,290px)}
 .rbp-stage-mode .visual-center{width:min(23vw,40dvh,160px)}
}
/* v1.0.6 opt-in version diagnostic: bounded to the viewport independently. */
.rbp-version-diagnostic{position:fixed;bottom:12px;right:12px;z-index:1000;padding:8px 12px;border:1px solid #38bdf8;border-radius:10px;background:#061527;color:#cdefff;font:600 12px/1.3 system-ui,sans-serif;box-shadow:0 8px 25px #0009;pointer-events:none}

/* v1.0.7 – compact persistent audio player, floating over the viewport, never adding document scroll. */
.rbp-radio[hidden]{display:none!important}
.rbp-radio{position:fixed;z-index:120;right:clamp(12px,2vw,32px);bottom:clamp(10px,2vh,22px);width:min(365px,calc(100vw - 24px));background:linear-gradient(120deg,#07182ff2,#09294bef);border:1px solid #2e79b4bb;border-radius:15px;box-shadow:0 15px 40px #000a,0 0 25px #008bff20;padding:12px 14px;color:#f4f8ff;backdrop-filter:blur(14px)}
.rbp-radio-head,.rbp-radio-row{display:flex;align-items:center;gap:9px}.rbp-radio-head{font-size:10px;letter-spacing:.6px}.rbp-radio-head strong{white-space:nowrap}.rbp-radio-head #rbp-radio-info{font-size:9px;color:#b9cfe8;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rbp-radio-pulse{color:#a4c9e8}.rbp-radio.on-air .rbp-radio-pulse{color:#0ff5af;text-shadow:0 0 12px #00eeaa}.rbp-radio-row{margin-top:8px;justify-content:space-between}.rbp-radio-song{font-weight:750;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.rbp-radio-row button{background:#1477cf;border:1px solid #31bbff;border-radius:8px;color:white;font-size:11px;font-weight:700;padding:8px 10px;white-space:nowrap}.rbp-radio-row button:disabled{opacity:.5;cursor:default}.rbp-radio-progress{height:3px;border-radius:10px;background:#255075;margin-top:9px;overflow:hidden}.rbp-radio-progress>div{width:0;height:100%;background:#35d5ff;transition:width 1s linear}.rbp-radio>a{display:inline-block;font-size:10px;color:#78dfff;margin-top:6px}.rbp-radio>a[hidden]{display:none}
@media(max-width:650px){.rbp-radio{width:min(315px,calc(100vw - 20px));right:10px;bottom:8px;padding:9px 11px}.rbp-radio-head{font-size:9px}.rbp-radio-head #rbp-radio-info{font-size:8px}.rbp-radio-song{font-size:11px}.rbp-radio-row button{font-size:10px;padding:6px 8px}}
@media(orientation:landscape) and (max-height:550px){.rbp-radio{bottom:5px;width:275px;padding:6px 10px}.rbp-radio-head{font-size:8px}.rbp-radio-row{margin-top:3px}.rbp-radio-row button{padding:4px 7px}.rbp-radio-progress{margin-top:4px}}


/* v1.0.10: one sleek full-width HORIZONTAL fixed radio dock, not a floating card.
   Hiding/showing changes CSS presentation only: never pauses or destroys audio. */
.rbp-radio[hidden], .rbp-radio-dock[hidden], .rbp-radio-show[hidden]{display:none!important}
.rbp-radio{left:50%;right:auto;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);
 width:min(1420px,calc(100vw - 28px));max-width:calc(100vw - 28px);padding:0;
 border:0;border-radius:14px;background:none;box-shadow:none;overflow:visible;z-index:125}
.rbp-radio-dock{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr) auto auto;
 grid-template-rows:auto 3px;align-items:center;column-gap:clamp(10px,2vw,28px);row-gap:9px;
 min-width:0;padding:12px clamp(13px,2vw,24px) 13px;
 border:1px solid #318fd6ad;border-radius:15px;
 background:linear-gradient(110deg,#06172df5,#092b4df2);box-shadow:0 14px 45px #0009,0 0 30px #0179f822;
 backdrop-filter:blur(18px)}
.rbp-radio-dock .rbp-radio-head{grid-column:1;grid-row:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px 8px;align-content:center;font-size:11px}
.rbp-radio-dock .rbp-radio-head strong{letter-spacing:1px}
.rbp-radio-dock .rbp-radio-head #rbp-radio-info{flex-basis:100%;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbp-radio-track{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px}
.rbp-radio-track .rbp-radio-song{font-size:14px;line-height:1.3;font-weight:760;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rbp-radio-track #rbp-radio-yt{font-size:10px;color:#7ddcff;text-decoration:underline;text-underline-offset:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rbp-radio-dock .rbp-radio-play{grid-column:3;grid-row:1;border:1px solid #31bbff;border-radius:9px;color:#fff;background:#1477cf;
 min-height:38px;padding:8px 13px;font-weight:750;font-size:12px;line-height:1.1;white-space:nowrap;cursor:pointer}
.rbp-radio-dock .rbp-radio-play:disabled{opacity:.5;cursor:default}
.rbp-radio-dock .rbp-radio-hide{grid-column:4;grid-row:1;border:1px solid #315b89;border-radius:9px;color:#d8eeff;background:#113256;
 min-height:38px;padding:7px 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:12px;line-height:1.1;white-space:nowrap}
.rbp-radio-dock .rbp-radio-hide:hover,.rbp-radio-show:hover{border-color:#4fd0ff;background:#0a427c}
.rbp-radio-dock .rbp-radio-hide span:first-child{font-size:18px;line-height:.7}
.rbp-radio-dock .rbp-radio-progress{grid-column:1/-1;grid-row:2;min-height:3px;height:3px;border-radius:10px;background:#25496d;margin:0;overflow:hidden}
.rbp-radio-dock .rbp-radio-progress>div{height:100%}
.rbp-radio.rbp-radio-collapsed{width:auto;max-width:calc(100vw - 24px);left:auto;right:clamp(10px,2vw,30px);transform:none}
.rbp-radio-show{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:8px 13px;border-radius:100px;
 border:1px solid #31a9e8;background:linear-gradient(120deg,#07182ff5,#0a3966f5);box-shadow:0 8px 22px #0009;
 color:#f1faff;cursor:pointer;white-space:nowrap;font-size:11px;letter-spacing:.4px}
.rbp-radio-show-symbol{font-size:17px;color:#4fd5ff}
#rbp-radio-show-status{font-size:9px;color:#96ddff}
.rbp-radio.on-air .rbp-radio-show-symbol{color:#23f1b2}
@media(max-width:700px){
 .rbp-radio{width:calc(100vw - 18px);max-width:calc(100vw - 18px);bottom:max(6px,env(safe-area-inset-bottom))}
 .rbp-radio-dock{grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto auto 3px;
  gap:6px 8px;padding:9px 10px 10px;border-radius:12px}
 .rbp-radio-dock .rbp-radio-head{grid-column:1;grid-row:1;display:flex;flex-wrap:nowrap;gap:6px;font-size:10px}
 .rbp-radio-dock .rbp-radio-head #rbp-radio-info{flex-basis:auto;min-width:0;font-size:9px}
 .rbp-radio-track{grid-column:1;grid-row:2;min-width:0}
 .rbp-radio-track .rbp-radio-song{font-size:11px}
 .rbp-radio-dock .rbp-radio-play{grid-column:2/4;grid-row:2;min-height:32px;padding:6px 9px;font-size:10px}
 .rbp-radio-dock .rbp-radio-hide{grid-column:2/4;grid-row:1;min-height:30px;padding:5px 8px;font-size:10px}
 .rbp-radio-dock .rbp-radio-progress{grid-column:1/4;grid-row:3}
 .rbp-radio.rbp-radio-collapsed{right:9px;width:auto}
 .rbp-radio-show{padding:8px 11px;gap:6px;font-size:10px}
}
@media(orientation:landscape) and (max-height:550px){
 .rbp-radio{width:calc(100vw - 18px);max-width:calc(100vw - 18px);bottom:max(4px,env(safe-area-inset-bottom))}
 .rbp-radio-dock{grid-template-columns:minmax(100px,155px) minmax(0,1fr) auto auto;
   grid-template-rows:auto 2px;gap:5px 9px;padding:5px 10px 6px}
 .rbp-radio-dock .rbp-radio-head{grid-column:1;grid-row:1;flex-wrap:wrap;font-size:9px}
 .rbp-radio-dock .rbp-radio-head #rbp-radio-info{flex-basis:100%;font-size:8px}
 .rbp-radio-track{grid-column:2;grid-row:1}
 .rbp-radio-dock .rbp-radio-play{grid-column:3;grid-row:1;min-height:29px}
 .rbp-radio-dock .rbp-radio-hide{grid-column:4;grid-row:1;min-height:29px}
 .rbp-radio-dock .rbp-radio-progress{grid-column:1/5;grid-row:2;height:2px;min-height:2px}
}

/* v1.0.43 · Optional card backgrounds; original gradient is the no-image fallback. */
.business-card.has-card-image,.detail-card.has-card-image{position:relative;isolation:isolate;overflow:hidden;background:#07172b;}
.business-card .rbp-card-bg,.detail-card .rbp-card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;z-index:-2;transition:transform .35s ease;}
.business-card:hover .rbp-card-bg{transform:scale(1.045)}
.business-card .rbp-card-shade,.detail-card .rbp-card-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(150deg,rgba(3,13,34,.65),rgba(3,15,36,.85));}
.has-card-image.rbp-card-overlay-40 .rbp-card-shade{background:linear-gradient(145deg,rgba(3,12,30,.35),rgba(3,12,30,.65))}
.has-card-image.rbp-card-overlay-55 .rbp-card-shade{background:linear-gradient(145deg,rgba(3,12,30,.48),rgba(3,12,30,.72))}
.has-card-image.rbp-card-overlay-70 .rbp-card-shade{background:linear-gradient(145deg,rgba(3,12,30,.60),rgba(3,12,30,.84))}
.has-card-image.rbp-card-overlay-80 .rbp-card-shade{background:linear-gradient(145deg,rgba(3,12,30,.73),rgba(3,12,30,.90))}
.has-card-image.rbp-card-pos-top .rbp-card-bg{object-position:center top}
.has-card-image.rbp-card-pos-bottom .rbp-card-bg{object-position:center bottom}
.has-card-image.rbp-card-pos-left .rbp-card-bg{object-position:left center}
.has-card-image.rbp-card-pos-right .rbp-card-bg{object-position:right center}
.has-card-image h3,.has-card-image p,.has-card-image .category,.has-card-image .card-bottom,.has-card-image .card-num,.has-card-image .detail-icon{color:#f6fbff;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.has-card-image .card-bottom{border-color:rgba(255,255,255,.33)}
@media(prefers-reduced-motion:reduce){.business-card .rbp-card-bg{transition:none}.business-card:hover .rbp-card-bg{transform:none}}
