/* ===== Player Portfolio — page-specific styles ===== */
/* Base tokens, .container, .btn, .breadcrumb, .hero-navy, .hero__grid,
   .section, .check-badge come from shared/ronin-shell.css — only
   page-unique pieces live here. */

/* ---------- Hero ---------- */
.ronin-page .portfolio-hero__breadcrumb span{color:#8996ad;}
.ronin-page .portfolio-hero__eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--gold);margin:6px 0 14px;}
.ronin-page .portfolio-hero .hero__title{font-size:40px;line-height:1.1;margin-bottom:16px;}
.ronin-page .portfolio-hero__lead{max-width:480px;}
.ronin-page .portfolio-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.ronin-page .portfolio-hero__stats{display:flex;flex-wrap:wrap;gap:10px;}
.ronin-page .portfolio-hero__stats li{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:#dbe2ee;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 14px 6px 6px;}
.ronin-page .portfolio-hero__stats .check-badge{width:20px;height:20px;}
.ronin-page .portfolio-hero__stats .check-badge svg{width:11px;height:11px;}

/* ---------- hero illustration: identity-card diagram (single SVG) ---------- */
.ronin-page .portfolio-hero__art{position:relative;padding-top:18px;}
.ronin-page .portfolio-diagram{display:block;width:100%;height:auto;overflow:visible;}

/* ---------- Published portfolio directory ---------- */
.ronin-page .portfolio-directory{background:var(--white);}
.ronin-page .portfolio-directory__eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--gold-dark);margin-bottom:6px;}
.ronin-page .btn--outline-neutral{border-color:var(--gray-200);color:var(--ink);background:var(--white);transition:background .18s ease,border-color .18s ease;}
.ronin-page .btn--outline-neutral:hover,.ronin-page .btn--outline-neutral:focus-visible{background:var(--bg-tint);border-color:#d3d8e0;}

.ronin-page .portfolio-filters{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:16px;align-items:start;margin:28px 0 32px;}
.ronin-page .portfolio-filters__search{position:relative;display:flex;align-items:center;grid-row:1;margin-top:22px;}
.ronin-page .portfolio-filters__search-icon{position:absolute;left:14px;width:16px;height:16px;color:var(--gray-500);pointer-events:none;}
.ronin-page .portfolio-filters__search input{width:100%;padding:11px 14px 11px 38px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:13px;color:var(--ink);background:var(--white);}
.ronin-page .portfolio-filters__search input:focus{outline:none;border-color:var(--blue-ring);}
.ronin-page .portfolio-filters__field{display:flex;flex-direction:column;gap:6px;}
.ronin-page .portfolio-filters__label{font-size:11px;font-weight:700;color:var(--ink-soft);}
.ronin-page .portfolio-filters__field select{width:100%;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:13px;color:var(--ink);background:var(--white);}
.ronin-page .portfolio-filters__field select:focus{outline:none;border-color:var(--blue-ring);}
.ronin-page .portfolio-filters__hint{font-size:10.5px;color:var(--gray-500);}

.ronin-page .portfolio-carousel{position:relative;display:flex;align-items:stretch;gap:12px;}
.ronin-page .portfolio-carousel__track{flex:1;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:4px;}
.ronin-page .portfolio-carousel__track::-webkit-scrollbar{height:6px;}
.ronin-page .portfolio-carousel__track::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:999px;}
.ronin-page .portfolio-carousel__nav{flex-shrink:0;align-self:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--gray-200);background:var(--white);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-card);}
.ronin-page .portfolio-carousel__nav svg{width:16px;height:16px;}
.ronin-page .portfolio-carousel__nav:hover{background:var(--bg-tint);}
.ronin-page .portfolio-empty{text-align:center;color:var(--gray-500);font-size:13px;padding:32px 0 0;}

.ronin-page .portfolio-card-item{flex:0 0 calc((100% - 40px) / 3);scroll-snap-align:start;display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:1fr auto;column-gap:14px;row-gap:0;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px;background:var(--white);}
.ronin-page .portfolio-card-item__media{grid-column:1;grid-row:1;align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;background:var(--gray-100);border-radius:var(--radius-md);padding:16px 10px;color:#aeb4bf;aspect-ratio:4/5;min-height:0;}
.ronin-page .portfolio-card-item__media--photo{padding:0;overflow:hidden;}
.ronin-page .portfolio-card-item__photo{width:100%;height:100%;min-height:0;object-fit:cover;object-position:top center;border-radius:var(--radius-md);display:block;}
.ronin-page .portfolio-card-item__avatar{width:56px;height:56px;}
.ronin-page .portfolio-card-item__avatar svg{width:100%;height:100%;}
.ronin-page .portfolio-card-item__media-caption{font-size:11px;color:var(--gray-500);}
.ronin-page .portfolio-card-item__body{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:4px;}
.ronin-page .portfolio-card-item__name{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.ronin-page .portfolio-card-item__age-label{font-size:10.5px;color:var(--gray-500);margin-top:4px;}
.ronin-page .portfolio-card-item__age-value{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.ronin-page .portfolio-card-item__desc{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:6px 0;}
.ronin-page .portfolio-card-item__verified{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--green);margin-bottom:8px;}
.ronin-page .portfolio-card-item__verified-icon{width:15px;height:15px;flex-shrink:0;}
.ronin-page .portfolio-card-item__verified-icon svg{width:100%;height:100%;}
.ronin-page .portfolio-card-item__actions{grid-column:1 / -1;grid-row:2;display:flex;gap:10px;flex-wrap:nowrap;margin-top:16px;}
.ronin-page .portfolio-card-item__actions .btn{flex:1 1 0;min-width:0;justify-content:center;font-size:12px;padding:10px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---------- Selected portfolio preview ---------- */
.ronin-page .portfolio-preview{background:var(--white);padding-top:0;}
.ronin-page .portfolio-preview__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ronin-page .portfolio-preview__badge{flex-shrink:0;font-size:9.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:999px;padding:6px 14px;white-space:nowrap;margin-top:4px;}
.ronin-page .portfolio-preview__panel{display:grid;grid-template-columns:1.15fr .95fr 1fr 1fr 1fr;gap:0;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:var(--white);margin-top:24px;overflow:hidden;}
.ronin-page .portfolio-preview__identity{padding:22px;display:flex;flex-direction:column;height:100%;}
.ronin-page .portfolio-preview__identity-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;}
.ronin-page .portfolio-preview__media{width:130px;height:130px;flex-shrink:0;min-height:0;padding:10px;}
.ronin-page .portfolio-preview__media .portfolio-card-item__avatar{width:46px;height:46px;}
.ronin-page .portfolio-preview__media .portfolio-card-item__media-caption{font-size:10px;line-height:1.3;}
.ronin-page .portfolio-preview__media.portfolio-card-item__media--photo{padding:0;}
.ronin-page .portfolio-preview__media .portfolio-card-item__photo{min-height:0;}
.ronin-page .portfolio-preview__identity-text{flex:1;min-width:0;}
.ronin-page .portfolio-preview__name{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px;}
.ronin-page .portfolio-preview__label{font-size:10.5px;color:var(--gray-500);}
.ronin-page .portfolio-preview__value{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:8px;}
.ronin-page .portfolio-preview__value--green{color:var(--green);}
.ronin-page .portfolio-preview__cta{margin-top:auto;font-size:12px;width:100%;justify-content:center;}
.ronin-page .portfolio-preview__col{padding:22px 20px;border-left:1px solid var(--gray-200);}
.ronin-page .portfolio-preview__col-title{font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:14px;}
.ronin-page .portfolio-preview__snapshot{display:flex;flex-direction:column;gap:14px;}
.ronin-page .portfolio-preview__snapshot li{display:grid;grid-template-columns:16px 1fr;column-gap:8px;row-gap:3px;}
.ronin-page .portfolio-preview__snapshot-icon{grid-column:1;grid-row:1;width:16px;height:16px;color:var(--ink-soft);}
.ronin-page .portfolio-preview__snapshot-icon svg{width:100%;height:100%;}
.ronin-page .portfolio-preview__snapshot-label{grid-column:2;grid-row:1;font-size:12.5px;font-weight:600;color:var(--ink);}
.ronin-page .portfolio-preview__snapshot-value{grid-column:2;grid-row:2;font-size:11.5px;color:var(--gray-500);}
.ronin-page .portfolio-preview__col--center{display:flex;flex-direction:column;align-items:center;text-align:center;}
.ronin-page .portfolio-preview__col-icon{width:34px;height:34px;color:var(--gray-500);margin-bottom:14px;}
.ronin-page .portfolio-preview__col-icon svg{width:100%;height:100%;}
.ronin-page .portfolio-preview__col-icon--wide{width:44px;height:26px;}
.ronin-page .portfolio-preview__col-text--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ronin-page .portfolio-preview__col-link{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:700;color:var(--blue);}
.ronin-page .portfolio-preview__col-link:hover{text-decoration:underline;}
.ronin-page .portfolio-preview__timeline{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.ronin-page .portfolio-preview__timeline::before{content:"";position:absolute;left:13px;right:13px;top:13px;height:2px;background:var(--gray-200);z-index:0;}
.ronin-page .portfolio-preview__timeline-stop{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--gray-100);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--white);border:1px solid var(--gray-200);cursor:default;}
.ronin-page .portfolio-preview__timeline-stop img{width:100%;height:100%;object-fit:contain;}
.ronin-page .portfolio-preview__timeline-stop--current{border-color:var(--green);}
.ronin-page .portfolio-preview__timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--blue-ring);}
.ronin-page .portfolio-preview__timeline-stop--current .portfolio-preview__timeline-dot{background:var(--green);}
.ronin-page .portfolio-preview__video{position:relative;display:block;width:100%;max-width:180px;aspect-ratio:16/9;margin:0 auto 12px;border-radius:10px;overflow:hidden;background:var(--navy-800);}
.ronin-page .portfolio-preview__video-thumb{width:100%;height:100%;object-fit:cover;display:block;}
.ronin-page .portfolio-preview__video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;}
.ronin-page .portfolio-preview__video-play svg{width:30px;height:30px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));}
.ronin-page .portfolio-preview__col-text{font-size:11.5px;color:var(--gray-500);line-height:1.5;}

/* ---------- Extra button variant (green ghost, used on this page) ---------- */
.ronin-page .btn--ghost-green{border-color:var(--green);color:var(--green);background:transparent;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.ronin-page .btn--ghost-green:hover,.ronin-page .btn--ghost-green:focus-visible{background:var(--green);color:#fff;}

/* ---------- Anatomy of a public portfolio + Passport comparison ---------- */
.ronin-page .portfolio-anatomy{background:var(--white);}
.ronin-page .portfolio-anatomy__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}

.ronin-page .portfolio-anatomy__diagram{position:relative;width:100%;max-width:320px;aspect-ratio:1/1;margin:56px auto 40px;}
.ronin-page .portfolio-anatomy__ring{position:absolute;inset:0;border:2px dashed #aab2c2;border-radius:50%;}
.ronin-page .portfolio-anatomy__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:90px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;gap:7px;}
.ronin-page .portfolio-anatomy__center-avatar{width:24px;height:24px;color:#aeb4bf;}
.ronin-page .portfolio-anatomy__center-line{display:block;height:5px;width:70%;background:var(--gray-200);border-radius:3px;}
.ronin-page .portfolio-anatomy__center-line--short{width:44%;}
.ronin-page .portfolio-anatomy__center-badge{position:absolute;bottom:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px var(--white);}
.ronin-page .portfolio-anatomy__center-badge svg{width:12px;height:12px;}

/* The icon must sit exactly on the ring regardless of its label's text
   length, so it is centred on the node's anchor point independently of
   the text block (a sibling, positioned outward from that same point)
   — combining them into one flex row and centring the row instead
   shifts the icon off the ring by however wide the text happens to be. */
.ronin-page .portfolio-anatomy__node{position:absolute;width:0;height:0;}
.ronin-page .portfolio-anatomy__node-icon{position:absolute;top:0;left:0;transform:translate(-50%,-50%);width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;color:var(--ink);}
.ronin-page .portfolio-anatomy__node-icon svg{width:18px;height:18px;}
.ronin-page .portfolio-anatomy__node-text{position:absolute;top:0;display:flex;flex-direction:column;gap:2px;width:130px;}
.ronin-page .portfolio-anatomy__node-text strong{font-size:11.5px;font-weight:700;color:var(--ink);}
.ronin-page .portfolio-anatomy__node-text span{font-size:10px;color:var(--gray-500);line-height:1.35;}
.ronin-page .portfolio-anatomy__node--right .portfolio-anatomy__node-text{left:29px;transform:translateY(-50%);text-align:left;align-items:flex-start;}
.ronin-page .portfolio-anatomy__node--left .portfolio-anatomy__node-text{right:29px;left:auto;transform:translateY(-50%);text-align:right;align-items:flex-end;}
.ronin-page .portfolio-anatomy__node--center .portfolio-anatomy__node-text{left:50%;top:29px;transform:translateX(-50%);text-align:center;align-items:center;}

.ronin-page .portfolio-compare-wrap{overflow-x:auto;margin-top:22px;border:1px solid var(--gray-200);border-radius:var(--radius-lg);}
.ronin-page .portfolio-compare{width:100%;border-collapse:collapse;font-size:12.5px;}
.ronin-page .portfolio-compare th{text-align:left;font-size:10.5px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em;padding:12px 16px;border-bottom:1px solid var(--gray-200);background:var(--bg-tint);white-space:nowrap;}
.ronin-page .portfolio-compare td{padding:12px 16px;border-bottom:1px solid var(--gray-200);color:var(--ink-soft);vertical-align:top;line-height:1.45;}
.ronin-page .portfolio-compare tbody tr:last-child td{border-bottom:none;}
.ronin-page .portfolio-compare td:first-child{font-weight:700;color:var(--ink);white-space:nowrap;}
.ronin-page .portfolio-compare__shared{margin-top:14px;font-size:11.5px;color:var(--gray-500);text-align:center;}
.ronin-page .portfolio-anatomy__actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;justify-content:center;}

/* ---------- responsive ---------- */
/* ---------- Compare published portfolios ---------- */
.ronin-page .portfolio-compare-section{background:var(--bg-tint);}
.ronin-page .portfolio-compare-wrap--rows{background:var(--white);margin-top:24px;}
.ronin-page .portfolio-compare--rows th,.ronin-page .portfolio-compare--rows td{white-space:nowrap;}
.ronin-page .portfolio-compare__checkbox-cell{width:36px;white-space:nowrap;}
.ronin-page .portfolio-compare__checkbox-cell input,.ronin-page .portfolio-compare__row-checkbox{width:15px;height:15px;accent-color:var(--blue);cursor:pointer;}
.ronin-page .portfolio-compare__protected{display:inline-flex;align-items:center;gap:6px;color:var(--gold-dark);font-weight:600;font-size:12px;}
.ronin-page .portfolio-compare__protected svg{width:14px;height:14px;}

/* ---------- Player-controlled portfolio builder + Public visibility builder ---------- */
.ronin-page .portfolio-builder-section{background:var(--white);}
.ronin-page .portfolio-builder__grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:10px;align-items:start;}
.ronin-page .portfolio-builder__head-left{grid-column:1 / 3;}
.ronin-page .portfolio-builder__head-left .section__subtitle,.ronin-page .portfolio-builder__head-right .section__subtitle{margin-bottom:0;}
.ronin-page .portfolio-builder__head-right{grid-column:1 / -1;margin-top:18px;}
.ronin-page .portfolio-builder__col-form{grid-column:1 / 3;}
.ronin-page .portfolio-builder__col-aside{grid-column:3;}
.ronin-page .portfolio-builder__col-table{grid-column:1 / -1;}

.ronin-page .portfolio-builder__steps{grid-column:1 / -1;display:flex;gap:26px;margin:2px 0 0;border-bottom:1px solid var(--gray-200);flex-wrap:nowrap;}
.ronin-page .portfolio-builder__step{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:none;border:none;border-bottom:2px solid transparent;padding:0 0 12px;cursor:pointer;color:var(--gray-500);font-family:inherit;}
.ronin-page .portfolio-builder__step-num{font-size:10px;font-weight:700;letter-spacing:.03em;}
.ronin-page .portfolio-builder__step-label{font-size:12.5px;font-weight:600;white-space:nowrap;}
.ronin-page .portfolio-builder__step.is-active{color:var(--blue);border-bottom-color:var(--blue);}
.ronin-page .portfolio-builder__step-note{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:14px;}

.ronin-page .portfolio-builder__form{display:flex;flex-direction:column;gap:14px;}
.ronin-page .portfolio-builder__form .portfolio-builder__step-panel{display:flex;flex-direction:column;gap:14px;}
.ronin-page .portfolio-builder__form label,.ronin-page .portfolio-builder__message{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;color:var(--ink-soft);}
.ronin-page .portfolio-builder__row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ronin-page .portfolio-builder__form input,.ronin-page .portfolio-builder__form select,.ronin-page .portfolio-builder__form textarea{font-size:13px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--ink);font-family:inherit;background:var(--white);width:100%;}
.ronin-page .portfolio-builder__form input:focus,.ronin-page .portfolio-builder__form select:focus,.ronin-page .portfolio-builder__form textarea:focus{outline:none;border-color:var(--blue-ring);}
.ronin-page .portfolio-builder__form input[type="file"]{padding:8px;font-size:11.5px;}
.ronin-page .portfolio-builder__input-icon{position:relative;display:flex;}
.ronin-page .portfolio-builder__input-icon input{padding-right:34px;}
.ronin-page .portfolio-builder__input-icon svg{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--gray-500);pointer-events:none;}
.ronin-page .portfolio-builder__message textarea{resize:vertical;}
.ronin-page .portfolio-builder__submit{width:100%;justify-content:center;margin-top:4px;}
.ronin-page .portfolio-builder__note{font-size:11px;color:var(--gray-500);display:flex;gap:6px;align-items:flex-start;line-height:1.5;}
.ronin-page .portfolio-builder__review{margin-top:8px;padding:14px 16px;background:var(--bg-tint);border-radius:var(--radius-md);font-size:12px;color:var(--ink-soft);line-height:1.6;}

.ronin-page .portfolio-builder__col-aside{display:flex;flex-direction:column;gap:10px;}
.ronin-page .portfolio-builder__aside-title{font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:2px;}
.ronin-page .portfolio-builder__checkbox{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink-soft);cursor:pointer;line-height:1.4;}
.ronin-page .portfolio-builder__checkbox input{margin-top:2px;width:14px;height:14px;flex-shrink:0;accent-color:var(--blue);}
.ronin-page .portfolio-builder__consent{margin-top:8px;background:var(--blue-tint);border-radius:var(--radius-md);padding:14px 16px;}
.ronin-page .portfolio-builder__consent-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.ronin-page .portfolio-builder__consent-text{font-size:11.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:8px;}
.ronin-page .portfolio-builder__consent-link{font-size:12px;font-weight:700;color:var(--blue);}

.ronin-page .portfolio-visibility-table th,.ronin-page .portfolio-visibility-table td{padding:8px 6px;font-size:10.5px;white-space:normal;}
.ronin-page .portfolio-visibility-table td:first-child{white-space:normal;font-weight:600;}
.ronin-page .portfolio-visibility-table th:not(:first-child),.ronin-page .portfolio-visibility-table td:not(:first-child){text-align:center;}
.ronin-page .portfolio-visibility-table input[type="radio"]{width:15px;height:15px;accent-color:var(--blue);cursor:pointer;}
.ronin-page .portfolio-visibility-table__check{color:var(--green);width:16px;height:16px;display:inline-flex;}
.ronin-page .portfolio-visibility-table__lock{color:var(--gold-dark);width:15px;height:15px;display:inline-flex;}
.ronin-page .portfolio-visibility-table__check svg,.ronin-page .portfolio-visibility-table__lock svg{width:100%;height:100%;}
.ronin-page .portfolio-visibility-table__legend{display:flex;gap:22px;margin-top:14px;font-size:11.5px;color:var(--gray-500);flex-wrap:wrap;}
.ronin-page .portfolio-visibility-table__legend span{display:flex;align-items:center;gap:6px;}

/* ---------- responsive ---------- */
@media (max-width:1024px){
	.ronin-page .portfolio-hero__art{margin-top:24px;}
	.ronin-page .portfolio-filters{grid-template-columns:1fr 1fr;}
	.ronin-page .portfolio-filters__search{grid-column:1 / -1;margin-top:0;}
	.ronin-page .portfolio-preview__panel{grid-template-columns:1fr 1fr;}
	.ronin-page .portfolio-preview__col{border-left:none;border-top:1px solid var(--gray-200);}
	.ronin-page .portfolio-anatomy__grid{grid-template-columns:1fr;gap:40px;}
	.ronin-page .portfolio-builder__grid3{grid-template-columns:1fr 1fr;}
	.ronin-page .portfolio-builder__head-left{grid-column:1 / 3;}
	.ronin-page .portfolio-builder__col-form{grid-column:1 / 3;}
	.ronin-page .portfolio-builder__col-aside{grid-column:1 / 3;}
}
@media (max-width:720px){
	.ronin-page .portfolio-filters{grid-template-columns:1fr;}
	.ronin-page .portfolio-card-item{flex-basis:88%;grid-template-columns:1fr;}
	.ronin-page .portfolio-preview__panel{grid-template-columns:1fr;}
	.ronin-page .portfolio-anatomy__node{max-width:110px;}
	.ronin-page .portfolio-anatomy__node-text span{display:none;}
	.ronin-page .portfolio-compare-wrap--rows{overflow-x:auto;}
	.ronin-page .portfolio-builder__row2{grid-template-columns:1fr;}
	.ronin-page .portfolio-builder__grid3{grid-template-columns:1fr;}
	.ronin-page .portfolio-builder__head-left,.ronin-page .portfolio-builder__head-right,.ronin-page .portfolio-builder__col-form,.ronin-page .portfolio-builder__col-aside,.ronin-page .portfolio-builder__col-table{grid-column:1;}
	.ronin-page .portfolio-workflow__grid{grid-template-columns:1fr;}
	.ronin-page .portfolio-upload-grid{grid-template-columns:1fr 1fr;}
	.ronin-page .portfolio-workflow-steps{flex-wrap:wrap;}
}

/* ---------- Upload sources for review + Portfolio publication workflow ---------- */
.ronin-page .portfolio-workflow-section{background:var(--white);}
.ronin-page .portfolio-workflow__head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.ronin-page .portfolio-workflow__player-select{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:700;color:var(--ink-soft);flex-shrink:0;}
.ronin-page .portfolio-workflow__player-select select{font-size:12.5px;font-weight:600;color:var(--ink);padding:8px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);min-width:200px;}
.ronin-page .portfolio-workflow__player-select select:focus{outline:none;border-color:var(--blue-ring);}
.ronin-page .portfolio-workflow__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}

.ronin-page .portfolio-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 24px;}
.ronin-page .portfolio-upload-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px 14px;display:flex;flex-direction:column;gap:8px;background:var(--white);}
.ronin-page .portfolio-upload-card.is-uploaded{border-color:var(--green);background:var(--green-tint);}
.ronin-page .portfolio-upload-card.is-uploaded .portfolio-upload-card__icon{color:var(--green);}
.ronin-page .portfolio-upload-card.is-uploaded .portfolio-upload-card__status{color:var(--green);font-weight:600;word-break:break-word;}
.ronin-page .portfolio-upload-card__icon{width:22px;height:22px;color:var(--gray-500);}
.ronin-page .portfolio-upload-card__icon svg{width:100%;height:100%;}
.ronin-page .portfolio-upload-card__title{font-size:12px;font-weight:600;color:var(--ink);line-height:1.35;}
.ronin-page .portfolio-upload-card__status{font-size:10.5px;color:var(--gray-500);}

.ronin-page .portfolio-workflow__safeguards-label{font-size:11px;font-weight:700;color:var(--ink);margin-bottom:12px;text-transform:uppercase;letter-spacing:.02em;}
.ronin-page .portfolio-workflow__safeguards-label{text-align:center;}
.ronin-page .portfolio-safeguards-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gray-200);padding-top:16px;}
.ronin-page .portfolio-safeguard{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 10px;border-left:1px solid var(--gray-200);}
.ronin-page .portfolio-safeguard:first-child{border-left:none;}
.ronin-page .portfolio-safeguard__icon{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:flex;align-items:center;justify-content:center;}
.ronin-page .portfolio-safeguard__icon svg{width:16px;height:16px;}
.ronin-page .portfolio-safeguard__label{font-size:10.5px;color:var(--ink-soft);font-weight:600;text-align:center;line-height:1.35;}

.ronin-page .portfolio-workflow-steps{display:flex;justify-content:space-between;gap:6px;margin:26px 0 4px;position:relative;}
.ronin-page .portfolio-workflow-steps::before{content:"";position:absolute;top:20px;left:20px;right:20px;height:2px;background:var(--gray-200);z-index:0;}
.ronin-page .portfolio-workflow-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;flex:1;}
.ronin-page .portfolio-workflow-step__circle{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:2px solid var(--gold);color:var(--gold-dark);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--white);}
.ronin-page .portfolio-workflow-step__circle svg{width:16px;height:16px;}
.ronin-page .portfolio-workflow-step__label{font-size:10.5px;font-weight:600;color:var(--ink);line-height:1.3;max-width:92px;}
.ronin-page .portfolio-workflow-step__status{font-size:9.5px;color:var(--gray-500);}
.ronin-page .portfolio-workflow-step.is-done .portfolio-workflow-step__circle{border-color:var(--green);color:var(--green);background:var(--green-tint);}
.ronin-page .portfolio-workflow-step.is-done .portfolio-workflow-step__status{color:var(--green);font-weight:700;}

.ronin-page .portfolio-workflow__loop{margin-top:22px;padding-top:18px;}
.ronin-page .portfolio-workflow__loop-line{display:block;border-top:2px dashed #c7ccd6;margin-bottom:12px;}
.ronin-page .portfolio-workflow__loop-text{font-size:11.5px;color:var(--gray-500);text-align:center;line-height:1.5;}
.ronin-page .portfolio-workflow__loop-text strong{color:var(--ink);}

/* ---------- Share approved profiles and enquire ---------- */
.ronin-page .portfolio-enquiry-section{background:var(--bg-tint);}
.ronin-page .portfolio-enquiry__grid{display:grid;grid-template-columns:1fr 2.2fr;gap:40px;align-items:start;}

.ronin-page .portfolio-share-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px;}
.ronin-page .portfolio-share-action{display:flex;align-items:flex-start;gap:12px;text-align:left;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:14px 16px;cursor:pointer;font-family:inherit;width:100%;}
.ronin-page .portfolio-share-action:disabled{cursor:not-allowed;opacity:.55;}
.ronin-page .portfolio-share-action:not(:disabled):hover{border-color:var(--blue-ring);}
.ronin-page .portfolio-share-action__icon{width:20px;height:20px;color:var(--ink-soft);flex-shrink:0;margin-top:2px;}
.ronin-page .portfolio-share-action__icon svg{width:100%;height:100%;}
.ronin-page .portfolio-share-action__text{display:flex;flex-direction:column;gap:3px;}
.ronin-page .portfolio-share-action__text strong{font-size:12.5px;color:var(--ink);font-weight:600;}
.ronin-page .portfolio-share-action__text span{font-size:11px;color:var(--gray-500);}

.ronin-page .portfolio-enquiry__form{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:24px;margin-top:20px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:16px;}
.ronin-page .portfolio-enquiry__body{display:flex;gap:24px;align-items:flex-start;}
.ronin-page .portfolio-enquiry__player-col{flex:0 0 200px;border-right:1px solid var(--gray-200);padding-right:24px;}
.ronin-page .portfolio-enquiry__details-col{flex:1;min-width:0;}
.ronin-page .portfolio-enquiry__row-wrap{display:flex;gap:14px;align-items:flex-start;}
.ronin-page .portfolio-enquiry__row{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.ronin-page .portfolio-enquiry__purpose-box{flex:0 0 180px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:10px 12px;background:var(--bg-tint);}
.ronin-page .portfolio-enquiry__form label,.ronin-page .portfolio-enquiry__message{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:var(--ink-soft);}
.ronin-page .portfolio-enquiry__form input,.ronin-page .portfolio-enquiry__form select,.ronin-page .portfolio-enquiry__form textarea{font-size:12.5px;padding:9px 10px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);width:100%;font-family:inherit;}
.ronin-page .portfolio-enquiry__purpose-box select{background:var(--white);}
.ronin-page .portfolio-enquiry__form input:focus,.ronin-page .portfolio-enquiry__form select:focus,.ronin-page .portfolio-enquiry__form textarea:focus{outline:none;border-color:var(--blue-ring);}
.ronin-page .portfolio-enquiry__message textarea{resize:vertical;}
.ronin-page .portfolio-enquiry__footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;}
.ronin-page .portfolio-enquiry__submit{flex:0 0 auto;}
.ronin-page .portfolio-enquiry__notice{display:flex;align-items:flex-start;gap:10px;background:var(--green-tint);border-radius:var(--radius-md);padding:12px 14px;flex:0 0 300px;max-width:300px;}
.ronin-page .portfolio-enquiry__notice-icon{width:18px;height:18px;color:var(--green);flex-shrink:0;margin-top:1px;}
.ronin-page .portfolio-enquiry__notice-icon svg{width:100%;height:100%;}
.ronin-page .portfolio-enquiry__notice p{font-size:11px;color:var(--ink-soft);line-height:1.5;}
.ronin-page .portfolio-enquiry__submit{align-self:flex-start;}
.ronin-page .portfolio-enquiry__error{color:#c0392b;font-size:12px;font-weight:600;}

@media (max-width:1024px){
	.ronin-page .portfolio-enquiry__grid{grid-template-columns:1fr;}
	.ronin-page .portfolio-enquiry__body{flex-direction:column;}
	.ronin-page .portfolio-enquiry__player-col{border-right:none;border-bottom:1px solid var(--gray-200);padding-right:0;padding-bottom:16px;flex-basis:auto;width:100%;}
	.ronin-page .portfolio-enquiry__row{grid-template-columns:1fr 1fr;}
	.ronin-page .portfolio-enquiry__row-wrap{flex-wrap:wrap;}
	.ronin-page .portfolio-enquiry__purpose-box{flex-basis:100%;}
}
@media (max-width:720px){
	.ronin-page .portfolio-enquiry__row{grid-template-columns:1fr;}
	.ronin-page .portfolio-enquiry__footer-row{flex-wrap:wrap;}
	.ronin-page .portfolio-enquiry__notice{flex-basis:100%;max-width:none;}
}

/* ---------- Public vs protected data + Data integrity + FAQ ---------- */
.ronin-page .portfolio-faq-section{background:var(--white);}
.ronin-page .portfolio-faq__grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:32px;align-items:start;}

.ronin-page .portfolio-pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;}
.ronin-page .portfolio-pp-card{border-radius:var(--radius-lg);padding:18px;}
.ronin-page .portfolio-pp-card--public{background:var(--green-tint);border:1px solid #cdeadd;}
.ronin-page .portfolio-pp-card--protected{background:#fdeeee;border:1px solid #f6d2d2;}
.ronin-page .portfolio-pp-card__title{font-size:10.5px;font-weight:800;letter-spacing:.03em;margin-bottom:14px;}
.ronin-page .portfolio-pp-card--public .portfolio-pp-card__title{color:var(--green);}
.ronin-page .portfolio-pp-card--protected .portfolio-pp-card__title{color:#c0392b;}
.ronin-page .portfolio-pp-card ul{display:flex;flex-direction:column;gap:9px;}
.ronin-page .portfolio-pp-card li{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink-soft);line-height:1.4;}
.ronin-page .portfolio-pp-card__icon{width:15px;height:15px;flex-shrink:0;margin-top:1px;}
.ronin-page .portfolio-pp-card--public .portfolio-pp-card__icon{color:var(--green);}
.ronin-page .portfolio-pp-card--protected .portfolio-pp-card__icon{color:#c0392b;}
.ronin-page .portfolio-pp-card__icon svg{width:100%;height:100%;}

.ronin-page .portfolio-faq__principles-title{font-size:10.5px;font-weight:800;letter-spacing:.03em;color:var(--ink);margin-bottom:20px;text-align:center;}
.ronin-page .portfolio-principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.ronin-page .portfolio-principle{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;}
.ronin-page .portfolio-principle__icon{width:34px;height:34px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:4px;}
.ronin-page .portfolio-principle__icon svg{width:16px;height:16px;}
.ronin-page .portfolio-principle strong{font-size:11px;color:var(--ink);font-weight:700;}
.ronin-page .portfolio-principle span:last-child{font-size:10px;color:var(--gray-500);line-height:1.35;}

.ronin-page .portfolio-accordion{display:flex;flex-direction:column;gap:8px;margin-top:16px;}
.ronin-page .portfolio-accordion__item{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;}
.ronin-page .portfolio-accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--white);border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink);text-align:left;}
.ronin-page .portfolio-accordion__chevron{width:16px;height:16px;flex-shrink:0;color:var(--gray-500);transition:transform .18s ease;}
.ronin-page .portfolio-accordion__chevron svg{width:100%;height:100%;}
.ronin-page .portfolio-accordion__trigger[aria-expanded="true"] .portfolio-accordion__chevron{transform:rotate(180deg);}
.ronin-page .portfolio-accordion__panel{padding:0 14px 14px;font-size:11.5px;color:var(--ink-soft);line-height:1.55;}

@media (max-width:1024px){
	.ronin-page .portfolio-faq__grid{grid-template-columns:1fr;}
	.ronin-page .portfolio-pp-grid{grid-template-columns:1fr;}
}
