:root{--bg:#08090b;--panel:#121419;--text:#f7f7f3;--muted:#aeb2ba;--accent:#ff7a00;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% 5%,rgba(255,122,0,.14),transparent 30%),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;min-height:100vh}
a{color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.top{display:flex;justify-content:space-between;align-items:center;padding:24px 0}.brand{text-decoration:none;font-weight:900;font-size:25px;letter-spacing:-.04em}.brand span,.eyebrow,h1 em{color:var(--accent)}.back{text-decoration:none;color:var(--muted);font-weight:700}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;padding:90px 0 70px}.hero>*{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900}
h1{font-size:clamp(48px,8vw,92px);line-height:.92;letter-spacing:-.065em;margin:18px 0 28px}h1 em{font-style:normal}p{color:var(--muted);font-size:18px;line-height:1.7}
.visual{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:24px;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.48);background:#0d0e10}.visual img{display:block;width:100%;height:100%;object-fit:cover}.visual.crop-card img{transform:scale(1.24)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:14px 19px;border-radius:10px;background:var(--accent);color:#090909;text-decoration:none;font-weight:900}.btn.alt{background:transparent;color:#fff;border:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 0 80px}.card{display:block;padding:24px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));border:1px solid var(--line);border-radius:16px;text-decoration:none;transition:.2s}.card:hover{transform:translateY(-4px);border-color:var(--accent)}
.card small{color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.card h2{margin:12px 0 8px;font-size:25px}.card p{font-size:15px;margin:0}
.note{max-width:760px;margin:0 auto 70px;padding:18px 22px;border:1px solid var(--line);background:var(--panel);border-radius:12px}.note p{margin:0;font-size:16px}
footer{border-top:1px solid var(--line);padding:30px 0 45px;color:var(--muted);font-size:14px}
.theme-green,.theme-blue,.theme-pink,.theme-yellow,.theme-clean{--accent:#ff7a00}
@media(max-width:800px){.wrap{width:min(100% - 32px,1120px)}.hero{grid-template-columns:minmax(0,1fr);padding:48px 0 42px;gap:32px}.visual{max-height:none}.grid{grid-template-columns:1fr}h1{font-size:clamp(40px,12vw,54px);overflow-wrap:anywhere}.top{align-items:flex-start;gap:14px;flex-wrap:wrap}.back{font-size:14px;text-align:right;margin-left:auto;max-width:190px}p{font-size:17px}.note{margin-bottom:50px}}


/* V23 — Teddy Playhouse project world */
.mini-nav-v23{display:flex;gap:22px;margin-left:auto;margin-right:26px}
.mini-nav-v23 a{text-decoration:none;color:#aeb2ba;font-size:13px;font-weight:800}
.mini-nav-v23 a:hover{color:#fff}
.teddy-v23{background:
  radial-gradient(circle at 84% 4%,rgba(255,122,0,.15),transparent 29%),
  radial-gradient(circle at 12% 38%,rgba(85,145,255,.07),transparent 25%),
  #08090b}
.teddy-hero-v23{padding-top:72px}
.teddy-hero-v23 h1{font-size:clamp(50px,7vw,88px)}
.teddy-tags-v23{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.teddy-tags-v23 span{border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:#bcc2c9;font-size:10px;font-weight:800;letter-spacing:.04em;background:rgba(255,255,255,.025)}
.teddy-visual-v23{position:relative;aspect-ratio:1/1.08;border-radius:28px}
.teddy-visual-v23 img{object-position:center}
.visual-caption-v23{position:absolute;left:18px;right:18px;bottom:16px;padding:11px 13px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(4,6,9,.72);backdrop-filter:blur(8px);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#dde2e8}
.teddy-world-v23{padding:82px 0;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.005));border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.teddy-world-grid-v23{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.teddy-world-v23 h2,.teddy-section-head-v23 h2,.teddy-tech-v23 h2{font-size:clamp(37px,5vw,61px);line-height:.97;letter-spacing:-.055em;margin:12px 0}
.teddy-world-v23 h2 em,.teddy-section-head-v23 h2 em,.teddy-tech-v23 h2 em{font-style:normal;color:var(--accent)}
.teddy-world-copy-v23>p{margin-top:0}
.teddy-pillars-v23{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px}
.teddy-pillars-v23 article{padding:20px;border:1px solid var(--line);border-radius:13px;background:#0d1015}
.teddy-pillars-v23 strong{font-size:10px;color:var(--accent);letter-spacing:.15em}
.teddy-pillars-v23 h3{font-size:19px;margin:21px 0 8px}
.teddy-pillars-v23 p{font-size:12px;line-height:1.55;margin:0}
.teddy-projects-v23{padding:90px 0}
.teddy-section-head-v23{display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:end;margin-bottom:35px}
.teddy-section-head-v23>p{font-size:15px;margin:0}
.teddy-card-grid-v23{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.teddy-card-v23{position:relative;display:block;min-height:330px;overflow:hidden;border-radius:17px;border:1px solid var(--line);background:#0b0e12;text-decoration:none}
.teddy-card-wide-v23{min-height:390px}
.teddy-card-v23 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.72,.2,1),filter .4s ease}
.teddy-card-shade-v23{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 15%,rgba(0,0,0,.18) 44%,rgba(5,7,10,.93) 100%)}
.teddy-card-copy-v23{position:absolute;left:25px;right:25px;bottom:22px;display:flex;flex-direction:column;align-items:flex-start}
.teddy-card-copy-v23 small{color:#ff8b24;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.teddy-card-copy-v23 strong{font-size:29px;letter-spacing:-.035em;margin:6px 0 5px}
.teddy-card-copy-v23 em{font-style:normal;color:#bdc3ca;font-size:12px;line-height:1.45;max-width:560px}
.teddy-card-copy-v23 b{font-size:10px;margin-top:15px;color:#fff}
.teddy-card-v23:hover{border-color:rgba(255,122,0,.62)}
.teddy-card-v23:hover img{transform:scale(1.045);filter:saturate(1.05) contrast(1.03)}
.teddy-tech-v23{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:20px 0 88px}
.teddy-tech-v23>div>p{font-size:15px}
.teddy-tech-list-v23{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.teddy-tech-list-v23 span{padding:16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,rgba(255,122,0,.07),rgba(255,255,255,.015));font-size:11px;font-weight:850}
.teddy-note-v23{margin-bottom:75px}
.project-card-v10{position:relative}
.project-link-v23{position:absolute;inset:0;z-index:9;border-radius:inherit}
.project-cta-v23{display:inline-block;margin-top:14px;color:#fff;font-size:9px;font-weight:900;letter-spacing:.05em}
.project-motion-v21:has(.project-link-v23):focus-within{outline:2px solid var(--orange);outline-offset:3px}
@media(max-width:800px){
  .mini-nav-v23{order:3;width:100%;margin:4px 0 0;gap:16px}
  .teddy-world-grid-v23,.teddy-section-head-v23,.teddy-tech-v23{grid-template-columns:1fr;gap:28px}
  .teddy-pillars-v23{grid-template-columns:1fr}
  .teddy-card-grid-v23{grid-template-columns:1fr}
  .teddy-card-v23,.teddy-card-wide-v23{min-height:320px}
  .teddy-projects-v23{padding:62px 0}
}
@media(max-width:520px){
  .teddy-hero-v23{padding-top:42px}
  .teddy-hero-v23 h1{font-size:clamp(42px,13vw,56px)}
  .teddy-card-copy-v23{left:18px;right:18px;bottom:17px}
  .teddy-card-copy-v23 strong{font-size:25px}
  .teddy-tech-list-v23{grid-template-columns:1fr}
}


/* V29 — official BRSP mark on standalone landing pages */
.brand.brand-official-landing{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  line-height:1;
}
.brand.brand-official-landing img{
  display:block;
  width:148px;
  max-width:42vw;
  height:auto;
  filter:invert(1);
  opacity:.96;
}
@media(max-width:800px){
  .brand.brand-official-landing img{width:142px;max-width:44vw}
}
@media(max-width:390px){
  .brand.brand-official-landing img{width:128px;max-width:46vw}
}
