/* =========================================================
   OTSI PMS - Clubs & Academies page (Ronin blocks)
   Reference: "Clubs & Academies.png" mockup, crop-zoomed section by
   section before build. Reuses shared tokens/buttons from ronin-shell.css
   (--navy-950/--blue/--green/--gold/--ink-soft/--gray-200, .btn--*).
   ========================================================= */
.ronin-clubs-academies .container{max-width:1240px;margin:0 auto;padding:0 24px;}

/* Page-scoped button overrides — required. The bare global .btn--outline-blue
   /.btn--blue-solid rules in ronin-shell.css do not resolve to a visible
   button on their own (confirmed: without this, the outline button renders
   with no border/background at all); every other Ronin page defines this
   same override locally (see club-partnerships-ronin.css) and this page
   needs the identical pattern. */
.ronin-page.ronin-clubs-academies .btn--outline-blue{background:#fff;color:var(--blue);border:1.5px solid var(--blue);transition:background .18s ease,color .18s ease;}
.ronin-page.ronin-clubs-academies .btn--outline-blue:hover,.ronin-page.ronin-clubs-academies .btn--outline-blue:focus-visible{background:var(--blue);color:#fff;}
.ronin-page.ronin-clubs-academies .btn--blue-solid{background:var(--blue);color:#fff;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;}
.ronin-page.ronin-clubs-academies .btn--blue-solid:hover,.ronin-page.ronin-clubs-academies .btn--blue-solid:focus-visible{background:#2c56ab;box-shadow:0 14px 28px rgba(53,104,201,.24);transform:translateY(-1px);}
.ronin-page.ronin-clubs-academies .btn--gold-solid{background:var(--gold);color:var(--navy-950);transition:background .18s ease,box-shadow .18s ease,transform .18s ease;}
.ronin-page.ronin-clubs-academies .btn--gold-solid:hover,.ronin-page.ronin-clubs-academies .btn--gold-solid:focus-visible{background:#f4bd5c;box-shadow:0 14px 28px rgba(246,182,48,.24);transform:translateY(-1px);}
.ronin-page.ronin-clubs-academies .btn--green-solid{background:var(--green);color:#fff;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;}
.ronin-page.ronin-clubs-academies .btn--green-solid:hover,.ronin-page.ronin-clubs-academies .btn--green-solid:focus-visible{background:#188055;box-shadow:0 14px 28px rgba(31,157,100,.24);transform:translateY(-1px);}

/* ---------------------------------------------------------
   HERO (otsi-pms/ronin-clubsacademies-hero)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-hero{background:#fff;padding:24px 0 0;}
.ronin-clubs-academies .ca-hero__crumb{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink-soft);margin:0 0 22px;}
.ca-hero__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:center;padding-bottom:36px;}
.ronin-clubs-academies .ca-hero__eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;line-height:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green);margin:0 0 16px;}
.ronin-clubs-academies .ca-hero__title{font-size:42px;line-height:1.12;font-weight:800;letter-spacing:-.02em;color:var(--navy-950);margin:0 0 20px;}
.ronin-clubs-academies .ca-hero__desc{font-size:14.5px;line-height:23px;color:var(--ink-soft);margin:0 0 28px;}
.ca-hero__actions{display:flex;gap:14px;flex-wrap:wrap;}
.ca-hero__actions .btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;border-radius:8px;font-size:13.5px;font-weight:700;white-space:nowrap;}

/* Diagram: 660x420 canvas, 160px centre shield at (330,210) spanning
   x:250-410 / y:130-290. Node widths are deliberately NOT uniform — First-
   Team Club and Development Partner (longer titles) are wider than Academy
   and Recruitment Partner, matching the reference exactly rather than
   normalizing all four to one size. */
.ca-hero__diagram{position:relative;width:100%;max-width:660px;height:350px;margin:0 auto;}
.ca-hero__diagram-map{position:absolute;inset:0;opacity:.6;border-radius:16px;background:radial-gradient(ellipse at center,rgba(53,104,201,.06),transparent 70%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='660' height='350' viewBox='0 0 660 350'><g stroke='%233568c9' stroke-opacity='0.14' stroke-width='1'><line x1='330' y1='175' x2='20' y2='0'/><line x1='330' y1='175' x2='640' y2='0'/><line x1='330' y1='175' x2='20' y2='350'/><line x1='330' y1='175' x2='640' y2='350'/><line x1='330' y1='175' x2='330' y2='0'/><line x1='330' y1='175' x2='330' y2='350'/><line x1='330' y1='175' x2='0' y2='175'/><line x1='330' y1='175' x2='660' y2='175'/></g><g fill='%233568c9' fill-opacity='0.16'><circle cx='75' cy='55' r='2'/><circle cx='145' cy='105' r='1.5'/><circle cx='215' cy='45' r='2'/><circle cx='60' cy='150' r='1.5'/><circle cx='485' cy='65' r='1.5'/><circle cx='565' cy='115' r='2'/><circle cx='600' cy='55' r='1.5'/><circle cx='600' cy='160' r='2'/><circle cx='95' cy='255' r='2'/><circle cx='175' cy='295' r='1.5'/><circle cx='60' cy='300' r='1.5'/><circle cx='500' cy='275' r='2'/><circle cx='580' cy='245' r='1.5'/><circle cx='610' cy='300' r='2'/></g></svg>");background-size:cover;background-position:center;}
.ca-hero__diagram-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:160px;height:176px;z-index:3;filter:drop-shadow(0 16px 24px rgba(4,22,44,.28));}
.ca-hero__shield-shape{position:absolute;inset:0;width:100%;height:100%;display:block;}
.ca-hero__shield-text{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);text-align:center;width:100%;}
.ca-hero__shield-text strong{display:block;font-size:22px;font-weight:800;letter-spacing:.02em;color:#fff;line-height:1;}
.ca-hero__shield-text span{display:block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c3cee3;margin-top:5px;}
.ca-hero__diagram-center .ca-hero__check{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;background:var(--green);border:2.5px solid #fff;display:flex;align-items:center;justify-content:center;z-index:4;}
.ca-hero__diagram-center .ca-hero__check svg{width:17px;height:17px;}

.ca-hero__node{position:absolute;display:flex;align-items:flex-start;gap:10px;background:#fff;border-radius:10px;padding:12px 14px;box-shadow:none;z-index:2;}
.ca-hero__node.is-top{top:0;left:50%;transform:translateX(-50%);width:220px;border:1.5px solid var(--gray-200);}
.ca-hero__node.is-bottom{bottom:0;left:50%;transform:translateX(-50%);width:210px;border:1.5px solid var(--blue);}
.ca-hero__node.is-left{top:50%;left:0;transform:translateY(-50%);width:200px;border:1.5px solid var(--green);}
.ca-hero__node.is-right{top:50%;right:0;left:auto;transform:translateY(-50%);width:220px;border:1.5px solid var(--gold-dark);}

.ca-hero__node-icon{flex:0 0 auto;}
.ca-hero__node-icon--tile{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;}
.ca-hero__node-icon--tile svg{width:17px;height:17px;}
.ca-hero__node-icon--plain{width:28px;height:28px;display:inline-flex;}
.ca-hero__node-icon--plain svg{width:100%;height:100%;}
.ca-hero__node-text{min-width:0;}
.ronin-clubs-academies .ca-hero__node strong{display:block;font-size:11.5px;line-height:15px;font-weight:800;letter-spacing:.01em;color:var(--navy-950);white-space:nowrap;}
.ronin-clubs-academies .ca-hero__node-text{min-width:0;flex:1 1 auto;}
.ronin-clubs-academies .ca-hero__node-text span{display:block;font-size:9.5px;line-height:13px;color:var(--ink-soft);margin-top:2px;white-space:normal;}

/* Connector lines: exact pixel geometry for the 660x420 canvas above, one
   real element per line (not a border trick) so length/position is exact,
   plus a small solid dot marker per line as specified. Colors match each
   destination box's border color, except the top connector, which stays
   neutral navy because First-Team Club has no unique accent color. */
.ca-hero__connector{position:absolute;z-index:1;border:0 dashed;}
.ca-hero__connector .ca-hero__connector-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:currentColor;}
.ca-hero__connector.is-top{top:65px;left:50%;width:0;height:22px;margin-left:-1px;border-left-width:2px;border-color:#54607a;color:#54607a;}
.ca-hero__connector.is-top .ca-hero__connector-dot{top:50%;left:50%;transform:translate(-50%,-50%);}
.ca-hero__connector.is-bottom{top:263px;left:50%;width:0;height:22px;margin-left:-1px;border-left-width:2px;border-color:var(--blue);color:var(--blue);}
.ca-hero__connector.is-bottom .ca-hero__connector-dot{top:50%;left:50%;transform:translate(-50%,-50%);}
/* Left/right connectors span from the (fixed-width) node's inner edge to
   the shield's edge — computed with left/right + calc() instead of a fixed
   width, so the line always reaches the shield regardless of the diagram's
   actual rendered width (it is not always the 660px design canvas; on a
   594px-wide render, a hardcoded width left this connector short of the
   shield entirely, which is why it looked "missing"). Shield half-width is
   80px (160px shield, centered at 50%). */
.ca-hero__connector.is-left{top:175px;left:200px;right:calc(50% + 80px);height:0;margin-top:-1px;border-top-width:2px;border-color:var(--green);color:var(--green);}
.ca-hero__connector.is-left .ca-hero__connector-dot{top:50%;right:-3px;transform:translateY(-50%);}
.ca-hero__connector.is-right{top:175px;left:calc(50% + 80px);right:220px;height:0;margin-top:-1px;border-top-width:3px;border-color:var(--gold);color:var(--gold);}
.ca-hero__connector.is-right .ca-hero__connector-dot{top:50%;left:-3px;transform:translateY(-50%);background:var(--gold);}

.ca-hero__trustrow{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;border-top:1px solid var(--gray-200);padding:24px 0;}
.ca-hero__trust-item{display:flex;align-items:center;gap:9px;}
.ca-hero__trust-item .icon{width:17px;height:17px;color:var(--blue);flex:0 0 auto;}
.ronin-clubs-academies .ca-hero__trust-item span{font-size:11px;font-weight:600;color:var(--navy-950);}
@media(max-width:1000px){.ca-hero__grid{grid-template-columns:1fr;}.ca-hero__diagram{max-width:460px;}.ca-hero__trustrow{grid-template-columns:repeat(2,1fr);}}

/* ---------------------------------------------------------
   ORG TYPE PICKER (otsi-pms/ronin-clubsacademies-orgtype)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-org{background:#f7f9fc;padding:44px 0;}
.ca-org__panel{background:#fff;border:1px solid var(--gray-200);border-radius:16px;padding:24px;box-shadow:0 8px 20px rgba(18,36,62,.05);}
.ronin-clubs-academies .ca-org__heading{font-size:19px;font-weight:700;color:var(--navy-950);margin:0 0 18px;}
.ca-org__grid{display:grid;grid-template-columns:1.3fr 1.3fr 1fr;gap:16px;margin-bottom:20px;}
.ca-org__card{border:1px solid var(--gray-200);border-radius:14px;padding:18px;}
.ca-org__card.is-academy{border-color:var(--green-tint);background:#fbfdfc;}
.ca-org__card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.ca-org__icon{flex:0 0 auto;width:36px;height:40px;display:inline-flex;}
.ca-org__icon svg{width:100%;height:100%;}
.ronin-clubs-academies .ca-org__card strong{display:block;font-size:14px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--navy-950);margin-bottom:4px;}
.ronin-clubs-academies .ca-org__card.is-academy strong{color:var(--green);}
.ronin-clubs-academies .ca-org__card p{font-size:11.5px;line-height:17px;color:var(--ink-soft);margin:0;}
.ca-org__links{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.ronin-clubs-academies .ca-org__links a{font-size:11.5px;font-weight:600;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.ronin-clubs-academies .ca-org__card.is-academy .ca-org__links a{color:var(--green);}
.ronin-clubs-academies .ca-org__links a:hover{text-decoration:underline;}
.ca-org__link-arrow{font-size:9px;opacity:.85;}
.ca-org__small-stack{display:flex;flex-direction:column;gap:16px;}
.ca-org__small-card{position:relative;border:1px solid var(--gray-200);border-radius:14px;padding:16px 16px 16px 58px;min-height:96px;}
.ca-org__small-icon{position:absolute;top:16px;left:16px;width:28px;height:28px;display:inline-flex;}
.ca-org__small-icon svg{width:100%;height:100%;}
.ronin-clubs-academies .ca-org__small-card strong{display:block;font-size:12px;font-weight:800;letter-spacing:.01em;text-transform:uppercase;line-height:15px;color:var(--navy-950);margin-bottom:4px;}
.ronin-clubs-academies .ca-org__small-card p{font-size:11px;line-height:16px;color:var(--ink-soft);margin:0 0 8px;}
.ronin-clubs-academies .ca-org__small-card a{font-size:11px;font-weight:700;color:var(--blue);text-decoration:none;}

.ca-org__pathway{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;border-top:1px solid var(--gray-200);padding-top:20px;}
.ca-org__pathway label{display:block;font-size:10.5px;font-weight:700;color:var(--navy-950);margin-bottom:6px;}
.ca-org__pathway select{width:100%;height:40px;border:1px solid var(--gray-200);border-radius:8px;padding:0 12px;font-size:12px;color:var(--ink-soft);background:#fff;}
@media(max-width:1000px){.ca-org__grid{grid-template-columns:1fr;}.ca-org__pathway{grid-template-columns:1fr;}}

/* ---------------------------------------------------------
   VERIFIED RELATIONSHIPS (otsi-pms/ronin-clubsacademies-verified)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-verified{background:#fff;padding:44px 0;}
.ca-verified__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:20px;}
.ronin-clubs-academies .ca-verified__heading{font-size:19px;font-weight:700;color:var(--navy-950);margin:0 0 6px;}
.ronin-clubs-academies .ca-verified__intro{font-size:11.5px;line-height:16px;color:var(--ink-soft);margin:0;max-width:56ch;}
.ca-verified__filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.ca-verified__filters select{height:34px;border:1px solid var(--gray-200);border-radius:8px;padding:0 10px;font-size:11px;color:var(--ink-soft);background:#fff;}
.ronin-clubs-academies .ca-verified__count{font-size:11px;font-weight:700;color:var(--green);display:inline-flex;align-items:center;gap:5px;}

.ca-verified__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.ca-verified__card{border:1px solid var(--gray-200);border-radius:14px;padding:20px;background:#fff;box-shadow:0 8px 20px rgba(18,36,62,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;}
.ca-verified__card:hover{background:var(--navy-950);border-color:var(--navy-950);color:#fff;box-shadow:0 14px 32px rgba(234,176,64,.3);transform:translateY(-3px);}
.ca-verified__badge{display:inline-flex;width:44px;height:44px;margin-bottom:10px;color:var(--blue);}
.ca-verified__badge svg{width:100%;height:100%;}
.ca-verified__card:hover .ca-verified__badge{color:var(--gold);}
.ronin-clubs-academies .ca-verified__type{display:block;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:4px;}
.ronin-clubs-academies .ca-verified__card:hover .ca-verified__type{color:var(--gold);}
.ronin-clubs-academies .ca-verified__record-tag{display:block;font-size:8.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;}
.ronin-clubs-academies .ca-verified__card:hover .ca-verified__record-tag{color:var(--gold);}
.ronin-clubs-academies .ca-verified__club-name{font-size:15px;font-weight:800;color:var(--navy-950);margin:0 0 8px;}
.ronin-clubs-academies .ca-verified__card:hover .ca-verified__club-name{color:#fff;}
.ronin-clubs-academies .ca-verified__desc{font-size:11px;line-height:16px;color:var(--ink-soft);margin:0 0 14px;}
.ronin-clubs-academies .ca-verified__card:hover .ca-verified__desc{color:#c7d2e6;}
.ca-verified__rows{border-top:1px solid var(--gray-200);margin-bottom:14px;transition:border-color .18s ease;}
.ca-verified__card:hover .ca-verified__rows{border-top-color:rgba(255,255,255,.15);}
.ca-verified__row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--gray-200);font-size:10.5px;transition:border-color .18s ease;}
.ca-verified__card:hover .ca-verified__row{border-bottom-color:rgba(255,255,255,.15);}
.ronin-clubs-academies .ca-verified__row span:first-child{color:var(--ink-soft);transition:color .18s ease;}
.ronin-clubs-academies .ca-verified__row span:last-child{font-weight:700;color:var(--navy-950);transition:color .18s ease;}
.ronin-clubs-academies .ca-verified__card:hover .ca-verified__row span:first-child{color:#c7d2e6;}
.ronin-clubs-academies .ca-verified__card:hover .ca-verified__row span:last-child{color:#fff;}
.ronin-clubs-academies .ca-verified__cta{display:block;text-align:center;width:100%;box-sizing:border-box;border:1.5px solid var(--blue);color:var(--blue);border-radius:8px;padding:10px;font-size:11.5px;font-weight:700;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.ronin-clubs-academies .ca-verified__card:hover .ca-verified__cta{background:var(--gold);border-color:var(--gold);color:var(--navy-950);}
.ronin-clubs-academies .ca-verified__notice{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-soft);background:#f7f9fc;border-radius:10px;padding:12px 16px;margin:16px 0 0;}
@media(max-width:1000px){.ca-verified__grid{grid-template-columns:1fr;}}

/* ---------------------------------------------------------
   PROCESS PANEL (otsi-pms/ronin-clubsacademies-process)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-process{background:#f7f9fc;padding:44px 0;}
.ca-process__panel{background:#fff;border:1px solid var(--gray-200);border-radius:16px;padding:24px;box-shadow:0 8px 20px rgba(18,36,62,.05);}
.ca-process__cols{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;}
.ronin-clubs-academies .ca-process__col-heading{font-size:15px;font-weight:800;color:var(--navy-950);margin:0 0 18px;}

.ca-process__steps{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.ca-process__step{display:flex;flex-direction:column;align-items:center;text-align:center;width:19%;}
.ca-process__step-num{width:30px;height:30px;border-radius:50%;border:2px solid var(--blue);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-bottom:8px;}
.ronin-clubs-academies .ca-process__step span{font-size:9.5px;line-height:13px;font-weight:700;color:var(--navy-950);}
.ca-process__step-arrow{color:var(--gray-200);font-size:16px;flex:0 0 auto;margin:0 2px 24px;}

.ca-process__grid{display:grid;grid-template-columns:110px repeat(5,1fr);gap:1px;background:var(--gray-200);border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.ca-process__grid > div{background:#fff;padding:10px;font-size:9.5px;line-height:13px;color:var(--navy-950);}
.ca-process__row-label{display:flex;align-items:center;gap:6px;font-weight:800;color:var(--navy-950);background:#fbfcfe !important;}
.ca-process__row-dot{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ca-process__row-dot svg{width:9px;height:9px;}
.ca-process__row-label.is-club .ca-process__row-dot{background:var(--blue);}
.ca-process__row-label.is-otsi .ca-process__row-dot{background:var(--green);}
.ca-process__row-label.is-output .ca-process__row-dot{background:var(--gold-dark);}
.ca-process__row-label.is-output,.ca-process__grid > div.is-output-cell{color:var(--gold-dark);}
.ronin-clubs-academies .ca-process__foot-note{font-size:10px;color:var(--ink-soft);margin:0 0 16px;}
.ca-process__actions{display:flex;gap:12px;flex-wrap:wrap;}

.ca-process__academy-stepper{list-style:none;margin:0 0 0;padding:0;position:relative;}
.ca-process__academy-item{display:flex;gap:12px;padding-bottom:20px;position:relative;}
.ca-process__academy-item:not(:last-child)::before{content:"";position:absolute;left:11px;top:26px;bottom:0;width:0;border-left:2px dotted var(--green-tint);}
.ca-process__academy-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--green);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;background:#fff;z-index:1;}
.ronin-clubs-academies .ca-process__academy-item strong{display:block;font-size:12px;font-weight:700;color:var(--navy-950);line-height:16px;}
.ca-process__checklist{list-style:none;margin:16px 0 12px;padding:0;border:1px solid var(--gray-200);border-radius:12px;padding:16px;}
.ronin-clubs-academies .ca-process__checklist-heading{font-size:12.5px;font-weight:800;color:var(--navy-950);margin:0 0 12px;}
.ca-process__check-item{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:11px;color:var(--navy-950);cursor:pointer;}
.ca-process__check-input{position:absolute;width:1px;height:1px;opacity:0;}
.ca-process__check-circle{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--gray-200);flex:0 0 auto;transition:background .15s ease,border-color .15s ease;}
.ca-process__check-input:checked + .ca-process__check-circle{background:var(--green);border-color:var(--green);}
.ca-process__check-input:focus-visible + .ca-process__check-circle{outline:2px solid var(--green);outline-offset:2px;}
.ronin-clubs-academies .ca-process__check-count{display:block;font-size:11px;font-weight:700;color:var(--ink-soft);margin:8px 0 12px;}
@media(max-width:1000px){.ca-process__cols{grid-template-columns:1fr;}.ca-process__steps{flex-wrap:wrap;}.ca-process__step{width:32%;margin-bottom:12px;}.ca-process__grid{grid-template-columns:1fr;}}

/* ---------------------------------------------------------
   COOPERATION TABLE (otsi-pms/ronin-clubsacademies-cooperation)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-coop{background:#fff;padding:44px 0;}
.ronin-clubs-academies .ca-coop__heading{font-size:19px;font-weight:700;color:var(--navy-950);margin:0 0 18px;}
.ca-coop__scroll{overflow-x:auto;border:1px solid var(--gray-200);border-radius:14px;}
.ca-coop__table{width:100%;border-collapse:collapse;min-width:900px;}
.ronin-clubs-academies .ca-coop__table thead th{background:var(--navy-950);color:#fff;text-align:left;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:12px 14px;}
.ronin-clubs-academies .ca-coop__table td{font-size:11px;line-height:15px;color:var(--navy-950);padding:12px 14px;border-bottom:1px solid var(--gray-200);vertical-align:top;}
.ca-coop__route{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap;}
.ca-coop__route .icon{width:15px;height:15px;color:var(--blue);flex:0 0 auto;}
.ronin-clubs-academies .ca-coop__table td a{color:var(--blue);font-weight:600;text-decoration:none;white-space:nowrap;}
.ronin-clubs-academies .ca-coop__table td a:hover{text-decoration:underline;}

/* ---------------------------------------------------------
   STANDARDS + MAP (otsi-pms/ronin-clubsacademies-standards)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-std{background:#f7f9fc;padding:44px 0;}
.ca-std__cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;}
.ca-std__panel{background:var(--navy-950);border-radius:16px;padding:24px;color:#fff;}
.ronin-clubs-academies .ca-std__panel-heading{font-size:16px;font-weight:800;color:#fff;margin:0 0 16px;}
.ca-std__subgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;margin-bottom:16px;}
.ca-std__sub{background:rgba(255,255,255,.03);padding:14px;}
.ronin-clubs-academies .ca-std__sub strong{display:block;font-size:11.5px;font-weight:800;color:#fff;margin-bottom:10px;}
.ca-std__sub ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.ca-std__sub li{display:flex;align-items:flex-start;gap:8px;font-size:10.5px;line-height:14px;color:#dce4f3;}
.ca-std__sub .icon{width:14px;height:14px;flex:0 0 auto;margin-top:1px;}
.ca-std__sub.is-verified .icon{color:var(--green);}
.ca-std__sub.is-protected .icon{color:var(--gold);}
.ca-std__dataframe{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px;margin-bottom:16px;}
.ronin-clubs-academies .ca-std__dataframe-heading{text-align:center;font-size:12px;font-weight:800;color:#fff;margin:0 0 12px;}
.ca-std__pills{display:flex;align-items:stretch;gap:8px;}
.ca-std__pill{flex:1;border-radius:8px;padding:10px;text-align:center;}
.ca-std__pill.is-public{background:rgba(31,157,100,.18);border:1px solid rgba(31,157,100,.4);}
.ca-std__pill.is-verified{background:rgba(31,157,100,.32);border:1px solid var(--green);}
.ca-std__pill.is-case{background:rgba(234,176,64,.18);border:1px solid var(--gold);}
.ronin-clubs-academies .ca-std__pill strong{display:block;font-size:10px;font-weight:800;letter-spacing:.03em;margin-bottom:4px;}
.ca-std__pill.is-public strong{color:var(--green);}
.ca-std__pill.is-verified strong{color:#5fe3a3;}
.ca-std__pill.is-case strong{color:var(--gold);}
.ronin-clubs-academies .ca-std__pill span{font-size:8.5px;line-height:12px;color:#dce4f3;}
.ca-std__pill-arrow{flex:0 0 auto;display:flex;align-items:center;color:var(--gray-200);font-size:14px;}
.ca-std__trust{border-top:1px solid rgba(255,255,255,.15);padding-top:14px;}
.ronin-clubs-academies .ca-std__trust-heading{text-align:center;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;margin:0 0 12px;}
.ca-std__trust-items{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.ca-std__trust-item{display:flex;align-items:center;gap:6px;font-size:9.5px;color:#dce4f3;flex:1;min-width:150px;}
.ca-std__trust-item .icon{width:14px;height:14px;color:var(--green);flex:0 0 auto;}

.ca-map__panel{background:#fff;border:1px solid var(--gray-200);border-radius:16px;padding:24px;display:flex;flex-direction:column;}
.ronin-clubs-academies .ca-map__heading{font-size:16px;font-weight:800;color:var(--navy-950);margin:0 0 16px;}
.ca-map__graphic{position:relative;height:220px;border-radius:12px;background:#fbfcfe;margin-bottom:16px;overflow:hidden;}
.ca-map__land{position:absolute;inset:0;width:100%;height:100%;display:block;}
.ca-map__connectors{position:absolute;inset:0;width:100%;height:100%;}
.ca-map__node{position:absolute;transform:translate(-50%,-50%);font-size:9.5px;font-weight:800;border-radius:999px;padding:5px 12px;white-space:nowrap;z-index:1;}
.ca-map__node.is-hq{background:var(--green);color:#fff;}
.ca-map__node.is-region{background:#fff;border:1.5px solid var(--blue);color:var(--blue);}
.ca-map__node.is-region.is-africa{border-color:var(--green);color:var(--green);}
.ca-map__caption{font-size:10.5px;color:var(--ink-soft);text-align:center;margin:0 0 16px;}
.ca-map__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:auto;}
.ca-map__card{border:1px solid var(--gray-200);border-radius:10px;padding:12px;}
.ronin-clubs-academies .ca-map__card strong{display:block;font-size:11px;font-weight:800;color:var(--navy-950);margin-bottom:6px;line-height:14px;}
.ronin-clubs-academies .ca-map__card p{font-size:10px;line-height:14px;color:var(--ink-soft);margin:0;}
@media(max-width:1000px){.ca-std__cols{grid-template-columns:1fr;}.ca-std__subgrid{grid-template-columns:1fr;}.ca-map__grid{grid-template-columns:1fr;}}

/* ---------------------------------------------------------
   ENQUIRY FORM (otsi-pms/ronin-clubsacademies-enquiry)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-enquiry{background:#fff;padding:44px 0;}
.ronin-clubs-academies .ca-enquiry__heading{font-size:19px;font-weight:700;color:var(--navy-950);margin:0 0 18px;}
.ca-enquiry__layout{display:grid;grid-template-columns:170px 1fr 220px;gap:20px;align-items:start;}
.ca-enquiry__topics{display:flex;flex-direction:column;gap:8px;}
.ronin-clubs-academies .ca-enquiry__topics-label{font-size:10.5px;font-weight:700;color:var(--navy-950);margin:0 0 4px;}
.ca-enquiry__topic{display:flex;align-items:center;gap:8px;border:1px solid var(--gray-200);border-radius:10px;padding:10px;font-size:11px;font-weight:600;color:var(--ink-soft);cursor:pointer;background:none;text-align:left;width:100%;}
.ca-enquiry__topic .icon{width:16px;height:16px;flex:0 0 auto;}
.ca-enquiry__topic.is-active{border-color:var(--blue);background:#eef4fd;color:var(--blue);}
.ca-enquiry__topic.is-active .icon{color:var(--blue);}

.ca-enquiry__form{border:1px solid var(--gray-200);border-radius:14px;padding:20px;}
.ca-enquiry__row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;}
.ca-enquiry__field label{display:block;font-size:10.5px;font-weight:700;color:var(--navy-950);margin-bottom:6px;}
.ca-enquiry__field label .req{color:#d64545;}
.ca-enquiry__field input[type=text],.ca-enquiry__field input[type=email],.ca-enquiry__field input[type=url],.ca-enquiry__field input[type=tel],.ca-enquiry__field select,.ca-enquiry__field textarea{width:100%;box-sizing:border-box;height:38px;border:1px solid var(--gray-200);border-radius:8px;padding:0 12px;font-size:11.5px;color:var(--navy-950);font-family:inherit;}
.ca-enquiry__field textarea{height:64px;padding:8px 12px;resize:vertical;}
.ca-enquiry__upload{display:block;position:relative;border:1.5px dashed var(--gray-200);border-radius:10px;padding:14px;text-align:center;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:border-color .18s ease,background .18s ease;}
.ca-enquiry__upload:hover{border-color:var(--blue);background:#f7f9fc;}
.ronin-clubs-academies .ca-enquiry__upload strong{display:block;font-size:11.5px;font-weight:700;color:var(--navy-950);margin-bottom:4px;}
.ca-enquiry__upload input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ronin-clubs-academies .ca-enquiry__upload-hint{font-size:11px;color:var(--ink-soft);}
.ca-enquiry__consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0;}
.ca-enquiry__consent input{margin-top:3px;flex:0 0 auto;}
.ronin-clubs-academies .ca-enquiry__consent span{font-size:10.5px;line-height:15px;color:var(--ink-soft);}
.ca-enquiry__errors{background:#fdecec;border:1px solid #f3b8b8;border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:11px;color:#a12a2a;}
.ca-enquiry__errors ul{margin:0;padding-left:16px;}
.ca-enquiry__success{background:var(--green-tint);border:1px solid var(--green);border-radius:10px;padding:14px 16px;font-size:12px;font-weight:600;color:var(--green);}

.ca-enquiry__next{border:1px solid var(--gray-200);border-radius:14px;padding:18px;background:#f7f9fc;}
.ronin-clubs-academies .ca-enquiry__next-heading{font-size:13px;font-weight:800;color:var(--navy-950);margin:0 0 4px;}
.ronin-clubs-academies .ca-enquiry__next-copy{font-size:10.5px;line-height:15px;color:var(--ink-soft);margin:0 0 16px;}
.ca-enquiry__next-steps{list-style:none;margin:0;padding:0;}
.ca-enquiry__next-step{display:flex;gap:10px;padding-bottom:18px;position:relative;}
.ca-enquiry__next-step:not(:last-child)::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:1px;background:var(--gray-200);}
.ca-enquiry__next-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--blue);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:800;background:#fff;z-index:1;}
.ronin-clubs-academies .ca-enquiry__next-step strong{display:block;font-size:11px;font-weight:700;color:var(--navy-950);line-height:14px;}
.ronin-clubs-academies .ca-enquiry__next-step p{font-size:10px;line-height:14px;color:var(--ink-soft);margin:4px 0 0;}
@media(max-width:1000px){.ca-enquiry__layout{grid-template-columns:1fr;}.ca-enquiry__topics{flex-direction:row;flex-wrap:wrap;}.ca-enquiry__row{grid-template-columns:1fr;}}

/* ---------------------------------------------------------
   FAQ (otsi-pms/ronin-clubsacademies-faq)
   --------------------------------------------------------- */
.ronin-clubs-academies .ca-faq{background:#fff;padding:0 0 48px;}
.ronin-clubs-academies .ca-faq__heading{font-size:19px;font-weight:700;color:var(--navy-950);margin:0 0 16px;}
.ca-faq__item{border:1px solid var(--gray-200);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.ca-faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:0;padding:14px 16px;font-size:12px;font-weight:700;color:var(--navy-950);text-align:left;cursor:pointer;font-family:inherit;}
.ca-faq__q .icon{width:14px;height:14px;color:var(--ink-soft);flex:0 0 auto;transition:transform .18s ease;}
.ca-faq__item.is-open .ca-faq__q .icon{transform:rotate(180deg);}
.ca-faq__a{max-height:0;overflow:hidden;transition:max-height .2s ease;}
.ca-faq__item.is-open .ca-faq__a{max-height:200px;}
.ronin-clubs-academies .ca-faq__a p{font-size:11.5px;line-height:17px;color:var(--ink-soft);margin:0;padding:0 16px 16px;}
