/* ============================================================
   REEF REMIX — Shared Stylesheet v1.0
   Link from every team page: <link rel="stylesheet" href="/team/rr-styles.css">
   ============================================================ */
:root {
  --rr-hotpink:#FF3D85; --rr-hotpink-deep:#E62575;
  --rr-lime:#7FD636;    --rr-lime-deep:#5BB81E;
  --rr-turquoise:#3CC4D4; --rr-turquoise-deep:#1A9FAF;
  --rr-coral:#FF7BA8;   --rr-orange:#FF8A3D;
  --rr-navy:#1A4A8A;    --rr-navy-deep:#0E3266;
  --rr-yellow:#FFD93D;  --rr-purple:#9B6DFF;
  --ink:#0E3266; --ink-soft:#3A5A8C; --ink-faint:#8FA3AF;
  --rule:#C9D8E8; --on-dark:#FFF8E8; --on-dark-soft:#B8D4F0;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Nunito',sans-serif;line-height:1.5;
  color:var(--on-dark);-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(ellipse 1200px 400px at 30% -10%,rgba(255,217,61,.18),transparent),
    radial-gradient(ellipse 800px 300px at 70% -5%,rgba(127,214,54,.12),transparent),
    radial-gradient(ellipse 800px 600px at 0% 30%,rgba(60,196,212,.3),transparent),
    radial-gradient(ellipse 700px 500px at 100% 50%,rgba(255,61,133,.16),transparent),
    radial-gradient(ellipse 1400px 300px at 50% 105%,rgba(255,217,61,.2),transparent),
    linear-gradient(180deg,#0E3266 0%,#1A4A8A 40%,#1A4A8A 70%,#2A5FA0 100%);
  background-attachment:fixed;min-height:100vh;
  padding-bottom:80px;overflow-x:hidden;
}
.bubbles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden;}
.bubble{position:absolute;bottom:-40px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.45) 0%,rgba(255,255,255,.05) 70%,transparent 100%);border-radius:50%;animation:bubble-rise linear infinite;opacity:0;}
.bubble:nth-child(1){left:8%;width:18px;height:18px;animation-duration:22s;animation-delay:0s}
.bubble:nth-child(2){left:22%;width:12px;height:12px;animation-duration:28s;animation-delay:4s}
.bubble:nth-child(3){left:35%;width:24px;height:24px;animation-duration:18s;animation-delay:8s}
.bubble:nth-child(4){left:48%;width:10px;height:10px;animation-duration:32s;animation-delay:2s}
.bubble:nth-child(5){left:62%;width:16px;height:16px;animation-duration:24s;animation-delay:12s}
.bubble:nth-child(6){left:76%;width:20px;height:20px;animation-duration:26s;animation-delay:6s}
.bubble:nth-child(7){left:88%;width:14px;height:14px;animation-duration:30s;animation-delay:14s}
.bubble:nth-child(8){left:15%;width:8px;height:8px;animation-duration:20s;animation-delay:16s}
@keyframes bubble-rise{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.7}50%{transform:translateY(-50vh) translateX(15px);opacity:.6}90%{opacity:.4}100%{transform:translateY(-110vh) translateX(-10px);opacity:0}}
@media(prefers-reduced-motion:reduce){.bubble{animation:none;opacity:0}}
.app-nav{background:white;border-bottom:4px solid var(--rr-navy);box-shadow:0 4px 0 var(--rr-navy);padding:12px 16px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-logo{width:36px;height:36px;background:var(--rr-hotpink);border:3px solid var(--rr-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-family:'Fredoka',sans-serif;font-weight:700;font-size:14px;box-shadow:0 3px 0 var(--rr-navy);overflow:hidden;}
.nav-logo img{width:100%;height:100%;object-fit:cover;}
.nav-brand-text{font-family:'Fredoka',sans-serif;font-weight:700;font-size:18px;color:var(--rr-navy);line-height:1;}
.nav-brand-text small{display:block;font-family:'Nunito',sans-serif;font-size:9px;color:var(--ink-faint);letter-spacing:.15em;text-transform:uppercase;margin-top:2px;font-weight:700;}
.nav-right{display:flex;align-items:center;gap:8px;}
.nav-back-btn{background:white;border:2px solid var(--rr-navy);color:var(--rr-navy);padding:6px 12px;border-radius:10px;font-family:'Fredoka',sans-serif;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 0 var(--rr-navy);text-transform:uppercase;letter-spacing:.05em;text-decoration:none;transition:transform .1s,box-shadow .1s;display:flex;align-items:center;gap:5px;}
.nav-back-btn:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--rr-navy);}
.nav-internal-badge{background:var(--rr-yellow);border:2px solid var(--rr-navy);color:var(--rr-navy);padding:5px 10px;border-radius:10px;font-family:'Fredoka',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 2px 0 var(--rr-navy);}
.container{max-width:860px;margin:0 auto;padding:32px 16px;position:relative;z-index:2;}
.container-narrow{max-width:680px;margin:0 auto;padding:32px 16px;position:relative;z-index:2;}
.container-wide{max-width:1060px;margin:0 auto;padding:32px 16px;position:relative;z-index:2;}
.page-header{text-align:center;padding:36px 0 32px;}
.page-eyebrow{display:inline-block;background:white;color:var(--rr-hotpink);border:3px solid var(--rr-hotpink);padding:6px 16px;border-radius:30px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;box-shadow:0 3px 0 var(--rr-hotpink-deep);}
.page-title{font-family:'Fredoka',sans-serif;font-size:clamp(30px,5vw,48px);font-weight:700;line-height:1.05;color:var(--on-dark);text-shadow:2px 3px 0 rgba(0,0,0,.2);margin-bottom:12px;}
.page-title .pk{color:var(--rr-hotpink);}.page-title .yw{color:var(--rr-yellow);}.page-title .tl{color:var(--rr-turquoise);}.page-title .lm{color:var(--rr-lime);}
.page-subtitle{font-size:clamp(14px,2vw,16px);font-weight:700;color:var(--on-dark-soft);max-width:520px;margin:0 auto 24px;line-height:1.6;}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--on-dark-soft);margin-bottom:28px;}
.breadcrumb a{color:var(--rr-turquoise);text-decoration:none;}.breadcrumb a:hover{text-decoration:underline;}.breadcrumb-sep{color:rgba(255,255,255,.3);}
.card{background:white;border:3px solid var(--rr-navy);border-radius:20px;box-shadow:0 6px 0 var(--rr-navy);padding:24px;color:var(--ink);margin-bottom:16px;}
.card-sm{background:white;border:3px solid var(--rr-navy);border-radius:16px;box-shadow:0 4px 0 var(--rr-navy);padding:16px 18px;color:var(--ink);}
.card-accented{background:white;border:3px solid var(--rr-navy);border-radius:20px;box-shadow:0 6px 0 var(--rr-navy);overflow:hidden;color:var(--ink);margin-bottom:16px;}
.card-accented .card-accent-bar{height:6px;width:100%;}.card-accented .card-inner{padding:22px 24px;}
.card-pink{background:var(--rr-hotpink);border-color:var(--rr-navy);box-shadow:0 6px 0 var(--rr-navy);color:white;}
.card-teal{background:var(--rr-turquoise);border-color:var(--rr-navy);box-shadow:0 6px 0 var(--rr-navy);color:white;}
.card-navy{background:var(--rr-navy);border-color:var(--rr-navy-deep);box-shadow:0 6px 0 var(--rr-navy-deep);color:var(--on-dark);}
.card-lime{background:var(--rr-lime);border-color:var(--rr-navy);box-shadow:0 6px 0 var(--rr-navy);color:var(--rr-navy);}
.card-yellow{background:var(--rr-yellow);border-color:var(--rr-navy);box-shadow:0 6px 0 var(--rr-navy);color:var(--rr-navy);}
.card-glass{background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);border-radius:20px;padding:24px;color:var(--on-dark);}
.card-title{font-family:'Fredoka',sans-serif;font-size:18px;font-weight:700;color:var(--rr-navy);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.card-title .icon{font-size:22px;}
.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;}
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.grid-2-fixed{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:600px){.grid-2,.grid-3,.grid-4,.grid-2-fixed{grid-template-columns:1fr;}}
.h1{font-family:'Fredoka',sans-serif;font-size:clamp(28px,4vw,42px);font-weight:700;color:var(--rr-navy);line-height:1.1;margin-bottom:12px;}
.h2{font-family:'Fredoka',sans-serif;font-size:clamp(20px,3vw,28px);font-weight:700;color:var(--rr-navy);margin-bottom:10px;}
.h3{font-family:'Fredoka',sans-serif;font-size:18px;font-weight:700;color:var(--rr-navy);margin-bottom:8px;}
.h1.on-dark,.h2.on-dark,.h3.on-dark{color:var(--on-dark);}
.body-text{font-size:14px;font-weight:700;color:var(--ink-soft);line-height:1.7;}
.body-text.on-dark{color:var(--on-dark-soft);}
.body-text p{margin-bottom:12px;}.body-text p:last-child{margin-bottom:0;}
.label-text{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);}
.label-text.on-dark{color:var(--on-dark-soft);}
.code-text{font-family:'Fira Code',monospace;font-size:12px;font-weight:500;}
.section-divider{display:flex;align-items:center;gap:10px;margin:36px 0 16px;}
.section-divider .dot{width:12px;height:12px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);flex-shrink:0;}
.section-divider .label{font-family:'Fredoka',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--on-dark-soft);}
.section-divider .line{flex:1;height:1px;background:rgba(255,255,255,.15);}
.btn{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;border-radius:30px;font-family:'Fredoka',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:3px solid var(--rr-navy);text-decoration:none;transition:transform .1s,box-shadow .1s;}
.btn:hover{transform:translateY(-2px);}.btn:active{transform:translateY(2px);}
.btn-yellow{background:var(--rr-yellow);color:var(--rr-navy);box-shadow:0 4px 0 var(--rr-navy);}.btn-yellow:hover{box-shadow:0 6px 0 var(--rr-navy);}
.btn-pink{background:var(--rr-hotpink);color:white;box-shadow:0 4px 0 var(--rr-hotpink-deep);}.btn-pink:hover{box-shadow:0 6px 0 var(--rr-hotpink-deep);}
.btn-white{background:white;color:var(--rr-navy);box-shadow:0 4px 0 var(--rr-navy);}.btn-white:hover{box-shadow:0 6px 0 var(--rr-navy);}
.btn-teal{background:var(--rr-turquoise);color:white;box-shadow:0 4px 0 var(--rr-turquoise-deep);}.btn-teal:hover{box-shadow:0 6px 0 var(--rr-turquoise-deep);}
.btn-ghost{background:transparent;color:var(--on-dark);border-color:rgba(255,255,255,.4);box-shadow:0 3px 0 rgba(0,0,0,.2);}
.btn-sm{padding:7px 14px;font-size:12px;border-width:2px;box-shadow:0 2px 0 var(--rr-navy);}
.btn-lg{padding:16px 28px;font-size:16px;box-shadow:0 5px 0 var(--rr-navy);}
.badge{display:inline-block;padding:3px 9px;border-radius:8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border:1.5px solid;}
.badge-ready{background:#e8faf0;color:#1a7a3a;border-color:#1a7a3a;}.badge-draft{background:#fff8e0;color:#a06000;border-color:#a06000;}.badge-soon{background:#f0f4f8;color:var(--ink-faint);border-color:var(--ink-faint);}.badge-new{background:#fff0f5;color:var(--rr-hotpink-deep);border-color:var(--rr-hotpink);}.badge-ext{background:#f0f4fb;color:var(--rr-navy);border-color:var(--rr-navy);}.badge-warn{background:#fff5ef;color:#c05000;border-color:var(--rr-orange);}.badge-key{background:var(--rr-yellow);color:var(--rr-navy);border-color:var(--rr-navy);}
.status-pill{display:inline-block;background:white;color:var(--rr-hotpink);border:3px solid var(--rr-hotpink);padding:7px 18px;border-radius:30px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 0 var(--rr-hotpink-deep);}
.tag-group{display:flex;flex-wrap:wrap;gap:6px;}
.tag{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;border:2px solid;}
.tag-pink{background:#fff0f5;border-color:var(--rr-hotpink);color:var(--rr-hotpink-deep);}.tag-teal{background:#f0fbfc;border-color:var(--rr-turquoise);color:var(--rr-turquoise-deep);}.tag-lime{background:#f2fce8;border-color:var(--rr-lime-deep);color:var(--rr-lime-deep);}.tag-navy{background:#f0f4fb;border-color:var(--rr-navy);color:var(--rr-navy);}.tag-orange{background:#fff5ef;border-color:var(--rr-orange);color:#c05000;}.tag-yellow{background:#fffde0;border-color:#c08000;color:#a06000;}.tag-purple{background:#f5f0ff;border-color:var(--rr-purple);color:#6030b0;}.tag-gray{background:#f0f4f8;border-color:var(--rule);color:var(--ink-faint);}
.rr-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-weight:700;}
.rr-table th{background:var(--rr-navy);color:white;padding:10px 14px;text-align:left;font-family:'Fredoka',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.rr-table th:first-child{border-radius:12px 0 0 0;}.rr-table th:last-child{border-radius:0 12px 0 0;}
.rr-table td{padding:10px 14px;border-bottom:2px solid #e8eef5;vertical-align:top;color:var(--ink);}
.rr-table tr:last-child td{border-bottom:none;}.rr-table tr:nth-child(even) td{background:#f8fafc;}
.callout{border-radius:14px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.callout-icon{font-size:22px;flex-shrink:0;margin-top:1px;}
.callout-body{font-size:13px;font-weight:700;color:var(--ink);line-height:1.6;}
.callout-body strong{font-weight:900;}.callout-body.on-dark{color:var(--rr-navy);}
.callout-yellow{background:var(--rr-yellow);border:3px solid var(--rr-navy);box-shadow:0 4px 0 var(--rr-navy);}
.callout-pink{background:#fff0f5;border:2px solid var(--rr-hotpink);}.callout-teal{background:#f0fbfc;border:2px solid var(--rr-turquoise);}.callout-navy{background:#f0f4fb;border:2px solid var(--rr-navy);}.callout-lime{background:#f2fce8;border:2px solid var(--rr-lime-deep);}.callout-warn{background:#fff5ef;border:2px solid var(--rr-orange);}
.code-block{background:var(--rr-navy);border-radius:14px;padding:18px 22px;font-family:'Fira Code',monospace;font-size:12px;font-weight:500;color:var(--on-dark);line-height:2;overflow-x:auto;margin-bottom:16px;}
.code-block .co-yellow{color:var(--rr-yellow);}.code-block .co-pink{color:var(--rr-coral);}.code-block .co-teal{color:var(--rr-turquoise);}.code-block .co-lime{color:var(--rr-lime);}.code-block .co-faint{color:rgba(255,255,255,.4);}
.pipeline{display:flex;gap:8px;overflow-x:auto;padding:4px;}
.pipe-step{flex:1;min-width:110px;border-radius:14px;border:3px solid var(--rr-navy);box-shadow:0 4px 0 var(--rr-navy);overflow:hidden;}
.pipe-header{padding:10px 12px 8px;text-align:center;}
.pipe-name{font-family:'Fredoka',sans-serif;font-size:14px;font-weight:700;color:white;}
.pipe-body{background:white;padding:10px 12px;font-size:11px;font-weight:700;color:var(--ink-soft);line-height:1.5;min-height:56px;}
.ph-gray .pipe-header{background:#999;}.ph-orange .pipe-header{background:var(--rr-orange);}.ph-teal .pipe-header{background:var(--rr-turquoise);}.ph-yellow .pipe-header{background:var(--rr-yellow);}.ph-yellow .pipe-name{color:var(--rr-navy);}.ph-lime .pipe-header{background:var(--rr-lime-deep);}.ph-pink .pipe-header{background:var(--rr-hotpink);}.ph-navy .pipe-header{background:#777;}
.step-list{display:flex;flex-direction:column;gap:10px;}
.step-item{display:flex;gap:14px;padding:12px 16px;background:#f8fafc;border-radius:12px;border-left:4px solid;align-items:flex-start;}
.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fredoka',sans-serif;font-size:14px;font-weight:700;color:white;flex-shrink:0;margin-top:1px;}
.step-title{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.step-desc{font-size:12px;font-weight:700;color:var(--ink-soft);line-height:1.5;}
.page-footer{text-align:center;padding:32px 16px 16px;color:var(--on-dark-soft);font-size:11px;font-weight:700;position:relative;z-index:2;}
.page-footer .footer-tagline{font-family:'Fredoka',sans-serif;font-size:16px;font-weight:700;color:var(--rr-yellow);margin-bottom:6px;text-shadow:2px 2px 0 rgba(0,0,0,.2);}
.page-footer .footer-info{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;}
.page-footer .footer-info span{color:var(--rr-hotpink);margin:0 6px;}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.anim-1{animation:fadeSlideUp .5s .1s ease both}.anim-2{animation:fadeSlideUp .5s .2s ease both}.anim-3{animation:fadeSlideUp .5s .3s ease both}.anim-4{animation:fadeSlideUp .5s .4s ease both}.anim-5{animation:fadeSlideUp .5s .5s ease both}
