/* NovaCat public portfolio: professional hierarchy, fluid grid, touch-first controls. */
.novacat-creator-public{max-width:1240px;margin:0 auto;padding:clamp(22px,4vw,60px) clamp(16px,4vw,42px) 84px;color:var(--novacat-ink,#202936)}
.novacat-creator-intro{text-align:center;margin:0 auto 30px;max-width:830px}
.novacat-creator-intro h2{font-size:clamp(26px,4vw,48px);line-height:1.1;margin:0 0 12px;font-weight:650;letter-spacing:-.025em}
.novacat-creator-intro p,.novacat-creator-note{text-align:center;color:var(--novacat-muted,#596577)}
.novacat-creator-bio{display:grid;grid-template-columns:minmax(220px,0.8fr) minmax(0,1.4fr);gap:clamp(24px,4vw,54px);align-items:center;margin:0 auto 36px;max-width:1060px}
.novacat-creator-bio:not(:has(figure)){grid-template-columns:1fr;max-width:850px;text-align:center}
.novacat-creator-bio figure{margin:0;overflow:hidden;border-radius:18px;aspect-ratio:4/5;background:#f2f0ed}
.novacat-creator-bio img{width:100%;height:100%;object-fit:cover}
.novacat-creator-bio h2{font-size:clamp(28px,4vw,50px);line-height:1.06;margin:0 0 20px}
.novacat-creator-profession{text-transform:none;letter-spacing:.035em;font-size:.95rem;font-weight:600;margin:0 0 10px}
.novacat-creator-headline{font-size:clamp(18px,2vw,24px);font-weight:500}
.novacat-creator-location{font-size:.9rem;opacity:.8}
.novacat-creator-details,.novacat-creator-links,.novacat-creator-featured,.novacat-creator-media{max-width:1160px;margin:0 auto 48px;padding:0}
.novacat-creator-details h2,.novacat-creator-links h2,.novacat-creator-featured h2,.novacat-creator-media h2{font-size:clamp(21px,2.5vw,30px);font-weight:650;margin:0 0 18px}
.novacat-creator-details dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:0}
.novacat-creator-details dl>div{background:#f5f6f7;border:1px solid #e5e8ed;border-radius:14px;padding:20px;min-width:0;overflow-wrap:anywhere}
.novacat-creator-details dt{font-weight:600;margin-bottom:7px;font-size:.9rem}
.novacat-creator-details dd{margin:0;white-space:pre-wrap;line-height:1.6}
.novacat-creator-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.novacat-creator-links h2{width:100%}
.novacat-creator-links a,.novacat-creator-filters button{border:1px solid #bdc6d3;padding:12px 18px;border-radius:10px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.novacat-creator-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.novacat-creator-head h2{margin:0}
.novacat-creator-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(14px,2.5vw,24px)}
.novacat-creator-project{min-width:0;border:1px solid #e0e5eb;background:white;border-radius:16px;overflow:hidden}
.novacat-creator-project a{display:block;text-decoration:none;color:inherit;height:100%}
.novacat-creator-project figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#f2f4f6}
.novacat-creator-project img{display:block;width:100%;height:100%;object-fit:cover}
.novacat-creator-project-copy{padding:18px}
.novacat-creator-project h3{font-size:1.15rem;line-height:1.3;margin:0 0 8px}
.novacat-creator-project p{font-size:.9rem;margin:0;opacity:.8}
.novacat-creator-filters{display:flex;justify-content:center;align-items:end;flex-wrap:wrap;gap:12px;margin:0 0 26px}
.novacat-creator-filters label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;min-width:min(100%,230px)}
.novacat-creator-filters input,.novacat-creator-filters select{max-width:100%;min-height:44px;padding:10px 12px;border:1px solid #c5cbd4;border-radius:10px}
.novacat-creator-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:20px}
.novacat-creator-media-grid .novacat-media-card{min-width:0}
.novacat-approved-home>.novacat-creator-featured{padding:clamp(20px,3vw,34px);}
.novacat-presentation-editor .novacat-presentation-choice{display:flex;align-items:flex-start;gap:12px;margin:12px 0;padding:12px;border:1px solid #dae0e7;border-radius:10px;cursor:pointer}
.novacat-presentation-choice input{margin:4px 0 0;flex-shrink:0}
.novacat-presentation-choice span{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}
.novacat-presentation-choice small{font-weight:400;white-space:normal}
.novacat-presentation-fields{border:1px solid #dae0e7;border-radius:12px;margin:20px 0;padding:12px 20px}
.novacat-presentation-fields legend{padding:0 8px;font-weight:650}
@media(max-width:700px){.novacat-creator-bio{grid-template-columns:1fr;text-align:center}.novacat-creator-bio figure{width:min(100%,380px);justify-self:center}.novacat-creator-project-grid,.novacat-creator-media-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.novacat-creator-head{justify-content:center;text-align:center}.novacat-creator-filters{align-items:stretch}.novacat-creator-filters label,.novacat-creator-filters button{width:100%}}

/* v1.00.06 — control sizing and overflow safety at narrow and zoomed widths. */
.novacat-creator-public,.novacat-creator-public *{box-sizing:border-box}
.novacat-creator-public img,.novacat-creator-public video{max-width:100%}
.novacat-creator-public :is(a,button,input,select){touch-action:manipulation}
.novacat-creator-public :is(a,button,input,select):focus-visible{outline:3px solid #3269a2;outline-offset:3px}
.novacat-creator-head,.novacat-creator-links,.novacat-creator-intro{overflow-wrap:anywhere}
@media(max-width:480px){
  .novacat-creator-public{padding:20px 14px 70px}
  .novacat-creator-project-grid,.novacat-creator-media-grid{grid-template-columns:minmax(0,1fr)}
  .novacat-creator-project-copy{padding:16px}
  .novacat-creator-links a,.novacat-creator-filters button{width:100%}
  .novacat-presentation-fields{padding:12px}
}
@media(prefers-reduced-motion:reduce){.novacat-creator-public *{scroll-behavior:auto!important;transition-duration:0.01ms!important;animation-duration:0.01ms!important}}

/* NovaCat v1.00.12 — unified public-facing creator presentation.
   Scoped rules avoid changes to private member/Command Center layouts. */
body.novacat-approved-public{
  --nc-public-ink:#172a43;
  --nc-public-muted:#4e6074;
  --nc-public-line:#dce4ed;
  --nc-public-surface:#fff;
  --nc-public-soft:#f5f7fa;
  --nc-public-accent:#d1a73c;
}
body.novacat-approved-public .novacat-creator-landing{
  width:min(100% - 36px,1190px);margin:clamp(18px,3vw,38px) auto 38px;
  padding:clamp(24px,4vw,54px);border:1px solid var(--nc-public-line);
  border-radius:22px;background:linear-gradient(125deg,#fff 0%,#f6f8fb 100%);
  color:var(--nc-public-ink);text-align:center;
}
body.novacat-approved-public .novacat-creator-landing-copy{max-width:790px;margin:auto}
body.novacat-approved-public .novacat-creator-landing h2{
  font-size:clamp(24px,3.3vw,42px);font-weight:620;letter-spacing:-.022em;
  line-height:1.16;color:var(--nc-public-ink);margin:0 auto 16px;overflow-wrap:anywhere;
}
body.novacat-approved-public .novacat-creator-landing p{
  max-width:740px;margin:0 auto 22px;font-size:clamp(15px,1.3vw,18px);
  color:var(--nc-public-muted);line-height:1.7;white-space:normal;overflow-wrap:anywhere;
}
body.novacat-approved-public .novacat-creator-landing-actions{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;
}
body.novacat-approved-public .novacat-creator-action{
  display:inline-flex;justify-content:center;align-items:center;min-height:46px;
  padding:11px 22px;border-radius:11px;background:#123566;border:1px solid #123566;
  color:#fff;text-decoration:none;font-weight:600;line-height:1.3;
}
body.novacat-approved-public .novacat-creator-action.is-outline{background:#fff;color:#123566}
body.novacat-approved-public .novacat-creator-action:hover{background:#0a2447;color:#fff}
body.novacat-approved-public .novacat-creator-action:focus-visible{outline:3px solid #bf9328;outline-offset:3px}
body.novacat-approved-public .novacat-creator-public{
  width:100%;max-width:1250px;padding:clamp(22px,3.5vw,54px) clamp(16px,4vw,44px) 82px;
  margin-inline:auto;color:var(--nc-public-ink);
}
body.novacat-approved-public .novacat-creator-intro{max-width:800px;margin:0 auto clamp(25px,4vw,44px)}
body.novacat-approved-public .novacat-creator-intro h2{color:var(--nc-public-ink);font-weight:650;letter-spacing:-.025em}
body.novacat-approved-public .novacat-creator-intro p{font-size:clamp(15px,1.4vw,18px);line-height:1.6;color:var(--nc-public-muted)}
body.novacat-approved-public .novacat-creator-project-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2.2vw,26px);
}
body.novacat-approved-public .novacat-creator-project{
  min-width:0;overflow:hidden;border:1px solid var(--nc-public-line);
  border-radius:17px;background:var(--nc-public-surface);
  box-shadow:0 8px 28px rgba(18,43,78,.055);
}
body.novacat-approved-public .novacat-creator-project a{
  display:flex;flex-direction:column;height:100%;color:var(--nc-public-ink);text-decoration:none;
}
body.novacat-approved-public .novacat-creator-project figure{
  width:100%;aspect-ratio:4/3;margin:0;overflow:hidden;background:#e8edf4;
}
body.novacat-approved-public .novacat-creator-project figure img{width:100%;height:100%;object-fit:cover}
body.novacat-approved-public .novacat-creator-project-copy{
  display:grid;align-content:start;gap:8px;padding:clamp(18px,2vw,23px);min-height:100px;
}
body.novacat-approved-public .novacat-creator-project-medium{
  color:#385c88;font-size:12px;font-weight:600;letter-spacing:.02em;overflow-wrap:anywhere;
}
body.novacat-approved-public .novacat-creator-project h3{
  color:var(--nc-public-ink);font-size:clamp(17px,1.5vw,21px);
  font-weight:650;line-height:1.25;margin:0;overflow-wrap:anywhere;
}
body.novacat-approved-public .novacat-creator-project p{
  margin:0;font-size:14px;line-height:1.5;color:var(--nc-public-muted);overflow-wrap:anywhere;
}
body.novacat-approved-public .novacat-creator-project a:hover h3{text-decoration:underline;text-underline-offset:3px}
body.novacat-approved-public .novacat-creator-featured,
body.novacat-approved-public .novacat-creator-media,
body.novacat-approved-public .novacat-creator-details{
  margin-block-end:clamp(32px,4.5vw,60px);
}
body.novacat-approved-public .novacat-creator-head h2,
body.novacat-approved-public .novacat-creator-media h2,
body.novacat-approved-public .novacat-creator-details h2{
  color:var(--nc-public-ink);letter-spacing:-.02em;
}
body.novacat-approved-public .novacat-creator-head a{
  display:inline-flex;min-height:44px;align-items:center;padding:8px 4px;
  color:#164b86;text-decoration:underline;text-underline-offset:4px;font-weight:600;
}
body.novacat-approved-public .novacat-creator-filters{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;
  align-items:end;gap:14px;max-width:900px;padding:18px;margin:0 auto 30px;
  background:var(--nc-public-soft);border:1px solid var(--nc-public-line);border-radius:14px;
}
body.novacat-approved-public .novacat-creator-filters label{
  min-width:0;display:grid;gap:7px;font-weight:600;color:var(--nc-public-ink);
}
body.novacat-approved-public .novacat-creator-filters input,
body.novacat-approved-public .novacat-creator-filters select{
  width:100%;min-width:0;min-height:46px;margin:0;font:inherit;
  background:#fff;border:1px solid #aebed0;color:#142741;border-radius:10px;
}
body.novacat-approved-public .novacat-creator-filters button{
  min-height:46px;background:#123566;border:1px solid #123566;color:#fff;
  font:inherit;font-weight:650;cursor:pointer;
}
body.novacat-approved-public .novacat-creator-pagination{
  display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:30px auto;
}
body.novacat-approved-public .novacat-creator-pagination .page-numbers{
  display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;
  padding:8px 12px;text-decoration:none;color:#123566;background:#fff;
  border:1px solid #bdc9d8;border-radius:9px;
}
body.novacat-approved-public .novacat-creator-pagination .page-numbers.current{
  background:#123566;color:#fff;border-color:#123566;
}
body.novacat-approved-public .novacat-creator-bio{align-items:start;gap:clamp(20px,4.5vw,65px)}
body.novacat-approved-public .novacat-creator-bio h2{color:var(--nc-public-ink);font-weight:650}
body.novacat-approved-public .novacat-creator-bio p{line-height:1.75;overflow-wrap:anywhere}
body.novacat-approved-public .novacat-creator-details dl>div{
  background:var(--nc-public-soft);border-color:var(--nc-public-line);
}
body.novacat-approved-public .novacat-creator-media-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);
}
body.novacat-approved-public .novacat-creator-media-grid>*{min-width:0;max-width:100%}
body.novacat-approved-public .novacat-news127-empty{
  padding:32px 20px;margin:20px auto;text-align:center;
  background:#f5f7fa;border:1px solid #dce4ed;border-radius:14px;
}
body.novacat-approved-public :is(.novacat-creator-public,.novacat-creator-landing) :is(a,button,input,select):focus-visible{
  outline:3px solid #bd9128;outline-offset:3px;
}
@media(max-width:1000px){
  body.novacat-approved-public .novacat-creator-project-grid,
  body.novacat-approved-public .novacat-creator-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  body.novacat-approved-public .novacat-creator-project-grid,
  body.novacat-approved-public .novacat-creator-media-grid{grid-template-columns:minmax(0,1fr)}
  body.novacat-approved-public .novacat-creator-filters{grid-template-columns:minmax(0,1fr);padding:16px}
  body.novacat-approved-public .novacat-creator-filters :is(label,button){width:100%}
  body.novacat-approved-public .novacat-creator-bio{grid-template-columns:minmax(0,1fr);text-align:center}
  body.novacat-approved-public .novacat-creator-bio figure{width:min(100%,350px);justify-self:center}
  body.novacat-approved-public .novacat-creator-landing{width:calc(100% - 26px);padding:24px 18px;border-radius:16px}
  body.novacat-approved-public .novacat-creator-landing-actions{flex-direction:column}
  body.novacat-approved-public .novacat-creator-action{width:100%}
  body.novacat-approved-public .novacat-creator-head{justify-content:center;text-align:center}
}
/* Keep the public banner as the one page title, with descriptive supporting copy beneath. */
body.novacat-approved-public .novacat-creator-archive .novacat-creator-intro,
body.novacat-approved-public .novacat-creator-media-page .novacat-creator-intro{margin-bottom:24px}
body.novacat-approved-public .novacat-creator-archive .novacat-creator-intro p,
body.novacat-approved-public .novacat-creator-media-page .novacat-creator-intro p{max-width:700px;margin-inline:auto}
body.novacat-approved-public .novacat-news115-heading{max-width:900px;margin-inline:auto;text-align:center}
body.novacat-approved-public .novacat-news115-heading p{margin:0 auto 24px;color:#4e6074;line-height:1.6;font-size:clamp(15px,1.4vw,18px)}
