/* Standalone theme for the portfolio pages. Not loaded by candidaturas. */
@media screen {
  body.site-unified {
    --site-bg:#f3f3ed; --site-surface:#fffefa; --site-ink:#273e35;
    --site-green:#2d5546; --site-muted:#627267; --site-line:#dce2d7;
    --ink:var(--site-ink); --paper:var(--site-surface); --muted:var(--site-muted);
    --accent:var(--site-green); --accent-light:#e8efdf; --accent-mid:#456c57;
    --rule:var(--site-line); --rule-strong:var(--site-line);
    --sans:"Segoe UI",system-ui,sans-serif; --serif:Georgia,"Times New Roman",serif;
    --mono:"Segoe UI",system-ui,sans-serif; --font:"Segoe UI",system-ui,sans-serif;
    --bg:var(--site-bg); --bg2:var(--site-bg); --surface:var(--site-surface);
    --card:var(--site-surface); --card2:#edf2e7; --border:var(--site-line);
    --border2:#cbd4c7; --border-strong:#cbd4c7;
    --text:var(--site-ink); --text-2:var(--site-muted); --text-3:var(--site-muted);
    --text-main:var(--site-ink); --text-muted:var(--site-muted); --text2:var(--site-muted);
    --accent-strong:#1e3f31; --accent-soft:#e8efdf;
    --gold:var(--site-green); --gold-lt:#1e3f31; --gold-dim:#e8efdf; --gold-glow:#edf2e7;
    --green:var(--site-green); --radius:14px; --radius-sm:8px;
    background:var(--site-bg); color:var(--site-ink);
    font-family:"Segoe UI",system-ui,sans-serif; font-synthesis:none;
  }
  .site-unified::before { display:none; }
  .site-unified :is(h1,h2,h3) { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; }
  .site-unified a { color:var(--site-green); text-underline-offset:4px; }
  .site-unified :is(button,input,select,textarea) { font-family:"Segoe UI",system-ui,sans-serif; }
  .site-unified :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    border:1px solid #cbd4c7; border-radius:8px; background:var(--site-surface);
    color:var(--site-ink); min-height:44px; padding:11px 13px;
  }
  .site-unified :is(button,.download-btn) { border-radius:8px; }
  .site-unified :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #b4773d; outline-offset:3px; }
  .site-unified :is(input[type=checkbox],input[type=radio]) { accent-color:var(--site-green); }
  .site-unified ::selection { background:#dce9ce; color:#273e35; }
  .site-unified .site-brand { display:inline-flex; align-items:center; gap:10px; font:600 12px "Segoe UI",system-ui,sans-serif; letter-spacing:.025em; text-decoration:none; color:var(--site-ink); }
  .site-unified .site-brand-mark { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; background:var(--site-green); color:#fff; font:400 21px Georgia,serif; letter-spacing:-1px; }
  .site-unified .site-identity { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 auto; padding:24px 32px; border-bottom:1px solid var(--site-line); }
  .site-unified .site-identity-label { color:var(--site-muted); font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
  .site-unified .masthead { border-bottom:1px solid var(--site-line); padding:28px 44px; align-items:center; }
  .site-unified .masthead-name { font-family:Georgia,serif; font-weight:400; }
  .site-unified :is(.masthead-meta,.masthead-back,.nav-strip a,.banner-rule span,.form-section-title,.section-label) { font-family:"Segoe UI",system-ui,sans-serif; font-weight:600; }

  /* Homepage: preserve its editorial composition, soften its cards and controls. */
  .page-home .hero-left,.page-home .hero-right { padding-top:3rem; padding-bottom:3rem; }
  .page-home .hero-title { font-weight:400; }
  .page-home .hero-eyebrow,.page-home .section-heading,.page-home .section-label { color:var(--site-muted); }
  .page-home .project-card { background:var(--site-surface); border:1px solid var(--site-line); border-radius:14px; }
  .page-home .project-card:hover { background:#f7faf1; border-color:#9fb39a; }
  .page-home .project-tag { background:#e8efdf; color:var(--site-green); border-color:var(--site-line); border-radius:5px; }
  .page-home .hero-cta { background:var(--site-green); color:white; border:1px solid var(--site-green); border-radius:8px; font-weight:600; }
  .page-home .hero-cta:hover { background:#1e3f31; color:white; }
  .page-home .nav-strip a:hover { background:#e3e9da; border-radius:8px; }

  /* CV: local type and the same paper, badge and segmented-control vocabulary. */
  body.page-cv { display:block; padding:0 24px 40px; }
  .page-cv .site-identity { max-width:860px; padding:26px 0; }
  .page-cv #cv-root { margin:28px auto 0; background:var(--site-surface); color:var(--site-ink); font-family:"Segoe UI",system-ui,sans-serif; border:1px solid var(--site-line); border-radius:14px; box-shadow:0 4px 20px #22362b03; }
  .page-cv .cv-name { font-family:Georgia,serif; font-weight:400; color:var(--site-ink); }
  .page-cv .lang-btn { padding:3px; border-radius:9px; background:#eff3e7; border-color:var(--site-line); }
  .page-cv .lang-btn span { border-radius:6px; }
  .page-cv .lang-btn span.active { border-radius:6px; }
  .page-cv .lang-btn button { padding:6px 20px; border:0; border-radius:6px; background:transparent; color:var(--site-muted); font-size:12px; font-weight:600; cursor:pointer; }
  .page-cv .lang-btn button.active { background:var(--site-green); color:white; }
  .page-cv .skill-tag { background:#e8efdf; color:var(--site-green); border-radius:5px; }
  .page-cv .download-btn { min-height:38px; border:1px solid var(--site-line); }

  /* Contract application only. The legal document and print rules are untouched. */
  .page-contract .form-title { font-family:Georgia,serif; font-weight:400; }
  .page-contract .form-panel { background:var(--site-bg); }
  .page-contract .field label { font-size:11px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--site-ink); }
  .page-contract .clause-item { background:var(--site-surface); border:1px solid var(--site-line); border-radius:8px; padding:12px 14px; }
  .page-contract .clause-item:has(input:checked) { background:#e7efdf; border-color:#74956f; }
  .page-contract .btn-generate { background:var(--site-green); color:white; font-family:"Segoe UI",system-ui,sans-serif; font-weight:600; letter-spacing:.02em; text-transform:none; border-radius:8px; }
  .page-contract .btn-generate:hover { background:#1e3f31; }
  .page-contract .btn-print { font-family:"Segoe UI",system-ui,sans-serif; font-weight:600; border-radius:8px; letter-spacing:0; text-transform:none; }
  .page-contract .preview-panel { background:#e9ede2; }

  /* Amendments: the analytical structure and semantic chart colors stay readable. */
  .page-amendments .sidebar { background:var(--site-surface); border-right:1px solid var(--site-line); }
  .page-amendments .brand-mark { background:var(--site-green); color:white; text-decoration:none; font:400 21px Georgia,serif; letter-spacing:-1px; border-radius:10px; }
  .page-amendments .brand-name { color:var(--site-ink); font-family:Georgia,serif; font-weight:400; font-size:20px; }
  .page-amendments .brand-sub,.page-amendments .side-foot { color:var(--site-muted); }
  .page-amendments .side-foot { border-color:var(--site-line); }
  .page-amendments .side-nav a { color:var(--site-muted); }
  .page-amendments .side-nav a:hover,.page-amendments .side-nav a.active { background:#e3e9da; color:var(--site-green); }
  .page-amendments .topbar { background:#f3f3edf2; }
  .page-amendments .hero h1 { font-family:Georgia,serif; font-weight:400; font-size:clamp(28px,3vw,43px); }
  .page-amendments .sec-head h2 { font-family:Georgia,serif; font-size:27px; font-weight:400; }
  .page-amendments .card h3 { font-family:Georgia,serif; font-size:20px; font-weight:400; }
  .page-amendments .stat-value { font-family:Georgia,serif; font-weight:400; font-size:29px; }
  .page-amendments .chip,.page-amendments .chip:hover { background:#e8efdf; color:var(--site-green); }
  .page-amendments .pill,.page-amendments .badge { border-radius:6px; }
  .page-amendments thead th { background:#e8efdf; color:#4d654f; }
  .page-amendments tbody tr { border-color:#e8ebe1; }
  .page-amendments tbody tr:hover { background:#f7faf1; }
  .page-amendments .party-badge,.page-amendments .cat-badge.secondary { background:#edf2e7; }

  /* Photography quiz: light, quiet cards, with states preserved. */
  .page-quiz .site-identity { max-width:1000px; }
  .page-quiz .intro-inner { min-height:calc(100vh - 84px); }
  .page-quiz :is(h1,h2,h3,.intro-title) { font-family:Georgia,serif; font-weight:400; }
  .page-quiz .intro-title { color:var(--site-ink); }
  .page-quiz :is(.q-text,.id-item-value,.tool-name) { font-family:Georgia,serif; }
  .page-quiz .intro-title em { color:var(--site-green); }
  .page-quiz :is(.btn-gold,.btn-gold-outline,.btn-outline) { font-family:"Segoe UI",system-ui,sans-serif; border-radius:8px; text-transform:none; letter-spacing:.015em; }
  .page-quiz .btn-gold,.page-quiz .btn-gold:hover,.page-quiz .btn-gold-outline:hover { color:white; }
  .page-quiz .btn-gold:hover { box-shadow:0 2px 6px #233f3215; }
  .page-quiz :is(.option-card,.profile-card,.prompt-card,.result-card) { border-radius:14px; background:var(--site-surface); border-color:var(--site-line); }
  .page-quiz :is(.opt-card,.id-card,.tool-card,.director-note) { border-radius:14px; background:var(--site-surface); border-color:var(--site-line); }
  .page-quiz .opt-card:hover,.page-quiz .opt-card.selected { background:#e7efdf; border-color:#74956f; }
  .page-quiz .opt-card.selected .opt-badge { color:white; }
  .page-quiz .gold-rule { background:var(--site-line); }
  .page-quiz .progress-header { background:var(--site-bg); }
  .page-quiz .prompt-body { color:var(--site-muted); font-weight:400; }
  @media (max-width:1080px) {
    .page-amendments .side-nav { min-width:0; }
    .page-amendments .brand { flex-shrink:0; }
    .page-amendments :is(.grid-2,.grid-fav,.grid-map,.card,.content,.main) { min-width:0; }
  }
  @media (max-width:640px) {
    .site-unified .masthead { padding:22px 20px; }
    .site-unified .site-identity { padding:22px 20px; }
    .site-unified .site-identity-label { font-size:9px; letter-spacing:.1em; }
    body.page-cv { padding:0 14px 24px; }
    .page-cv .site-identity { padding:22px 6px; }
    .page-cv #cv-root { margin-top:20px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .site-unified,.site-unified * { scroll-behavior:auto; animation:none!important; transition:none!important; }
  }
}
@media print { .site-identity { display:none!important; } }
