/*
Theme Name: Student Voices
Description: Independent student reviews with a moderated discussion.
Version: 3.3
*/
:root{--ink:#162c2b;--paper:#fbf8ef;--green:#193c35;--line:#d5d8c9;--gold:#e3b963}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,sans-serif}a{color:inherit;text-underline-offset:.24em}a:focus-visible,button:focus-visible{outline:3px solid #b47700;outline-offset:4px}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.bar{border-bottom:1px solid var(--line)}.bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;font-weight:750;text-decoration:none}.brand svg{width:46px;height:46px}nav{display:flex;flex-wrap:wrap;gap:18px;font-size:.9rem}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.hero{background:var(--green);color:var(--paper);padding:clamp(55px,10vw,125px) 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800}.hero .eyebrow{color:#f1cb7e}h1,h2,h3{font-family:Georgia,serif;line-height:1.1;font-weight:normal}h1{font-size:clamp(2.7rem,7vw,5.7rem);max-width:13ch;margin:.22em 0 .28em}h2{font-size:clamp(1.8rem,4vw,3rem);margin:.2em 0 .5em}.hero p:not(.eyebrow){max-width:48ch;font-size:1.16rem}.button,input[type=submit]{display:inline-block;background:var(--gold);color:#192a26;border:0;padding:12px 20px;border-radius:4px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:27px}.section{padding:55px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:16px}.card{border:1px solid var(--line);background:#fffdf7;padding:24px;border-radius:8px}.card h3{font-size:1.6rem;margin:.35em 0}.reading{max-width:740px}.reading h1{font-size:clamp(2.5rem,6vw,4.2rem);max-width:18ch}footer{border-top:1px solid var(--line);padding:30px 0;font-size:.92rem}textarea,input:not([type=submit]):not([type=checkbox]){width:100%;max-width:38rem;border:1px solid #7a8e82;border-radius:4px;padding:9px;font:inherit;background:#fff}img{max-width:100%;height:auto}.comment-list{padding-left:1.5rem}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:99999;padding:10px}

/* Editorial homepage */
:root{--ink:#20201f;--paper:#faf7f0;--green:#1b1b1a;--line:#d9d1c3;--gold:#f0c468}
.brand-label{display:block;font-weight:500;font-size:.72rem}.brand svg rect{fill:#1b1b1a}.hero{border-bottom:5px solid #a8342b}.hero h1{max-width:15ch}.hero .lede{max-width:63ch!important}.subject{margin-top:28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#f1dfbc}.subject img{width:auto;max-width:130px;max-height:54px;object-fit:contain;background:#fff;padding:5px}.rule{border-top:1px solid var(--line)}.section p{max-width:72ch}.section .eyebrow{color:#902c24}.review-empty{border-left:4px solid #a8342b;padding:0 0 0 16px}.section h2{scroll-margin-top:18px}

.anonymous-account{max-width:740px;margin-top:24px}
.anonymous-account textarea{width:100%;max-width:100%}
.sv-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.subject img{height:auto;max-width:min(180px,100%);max-height:none}

/* Truth & Honesty editorial design */
:root {
  --ink: #152b37;
  --paper: #f7f4ec;
  --line: #d8d6cc;
  --gold: #e9b970;
  --sv-navy: #122834;
  --sv-teal: #185950;
}
.bar { background: #fffdf7; }
.bar .wrap { padding-block: 15px; }
.brand { gap: 11px; font-size: 1.08rem; letter-spacing: -.025em; }
.brand svg rect { fill: var(--sv-navy); }
.brand-label { color: #4d5a60; letter-spacing: .015em; }
.bar nav { align-items: center; gap: 10px 22px; font-weight: 650; }
.bar nav a[href$="#share"] {
  padding: 8px 13px;
  background: var(--sv-teal);
  border-radius: 5px;
  color: #fff;
}
.sv-elementor-home { background: var(--paper); }
.elementor .sv-el-hero.e-con {
  --gap: 16px;
  --display: grid;
  --padding-top: clamp(46px, 7vw, 96px);
  --padding-bottom: clamp(46px, 7vw, 96px);
  --padding-left: max(24px, calc((100% - 1120px) / 2));
  --padding-right: var(--padding-left);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
  background:
    radial-gradient(ellipse at 95% 25%, #285354 0%, transparent 48%),
    var(--sv-navy);
  color: #f8f3e8;
  border-bottom: 4px solid var(--gold);
}
.elementor .sv-el-hero > .elementor-element { min-width: 0; width: auto; }
.elementor .sv-el-hero .elementor-heading-title {
  color: inherit;
  font-family: Georgia, serif;
  font-size: clamp(2.35rem, 5.2vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.02;
  max-width: 17ch;
  margin: 0;
}
.elementor .sv-el-hero .eyebrow,
.elementor .sv-el-section .eyebrow {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .17em;
}
.elementor .sv-el-hero .eyebrow { color: var(--gold); }
.sv-el-hero .eyebrow p, .sv-el-section .eyebrow p { margin: 0; }
.sv-el-hero .sv-el-lede { max-width: 61ch; color: #e6ede9; }
.sv-el-hero .sv-el-lede p { margin: 0 0 12px; }
.sv-el-hero a:not(.elementor-button) { color: inherit; }
.elementor .sv-el-hero .elementor-button {
  background: var(--gold);
  color: var(--sv-navy);
  font-family: inherit;
  font-weight: 750;
  border: 1px solid var(--gold);
  border-radius: 5px;
  padding: 12px 18px;
}
.elementor .sv-el-hero .elementor-element-00000005 .elementor-button {
  background: transparent;
  color: #fff;
  border-color: #a9b9b4;
}
.sv-el-hero .sv-el-logo { max-width: 260px; }
.sv-el-hero .sv-el-logo img {
  display: block;
  width: 100%;
  padding: 12px;
  background: #fff;
  border-radius: 9px;
  box-shadow: 0 14px 40px #0a1b2860;
}
.sv-el-hero .elementor-element-00000007 {
  color: #e6ede9;
  font-size: .9rem;
}
.sv-el-hero .elementor-element-00000007 p { margin: 0; }
@media (min-width: 860px) {
  .elementor .sv-el-hero.e-con:has(> .sv-el-logo + .elementor-element-00000007) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(200px, 32%);
    column-gap: clamp(18px, 3vw, 50px);
  }
  .sv-el-hero > :is(.eyebrow, .elementor-widget-heading, .sv-el-lede) { grid-column: 1 / 3; }
  .sv-el-hero > .elementor-element-00000004 { grid-column: 1; grid-row: 4; }
  .sv-el-hero > .elementor-element-00000005 { grid-column: 2; grid-row: 4; }
  .sv-el-hero > .sv-el-logo { grid-column: 3; grid-row: 2; align-self: end; }
  .sv-el-hero > .elementor-element-00000007 { grid-column: 3; grid-row: 3; }
}
.elementor .sv-el-section.e-con {
  --gap: 14px;
  --width: min(1120px, calc(100% - 48px));
  --padding-top: clamp(36px, 5.5vw, 72px);
  --padding-bottom: var(--padding-top);
  --padding-left: 0;
  --padding-right: 0;
  width: var(--width);
  margin-inline: auto;
  padding: var(--padding-top) 0 var(--padding-bottom);
  border-bottom: 1px solid var(--line);
}
.elementor .sv-el-section .eyebrow { color: var(--sv-teal); }
.elementor .sv-el-section .elementor-heading-title {
  font-family: Georgia, serif;
  color: var(--ink);
  font-weight: 400;
  line-height: 1.12;
  margin: 0;
}
.sv-el-section h2.elementor-heading-title { font-size: clamp(1.9rem, 3.7vw, 3.35rem); letter-spacing: -.035em; }
.sv-el-section h3.elementor-heading-title { font-size: clamp(1.3rem, 2vw, 1.65rem); }
.sv-el-section p { max-width: 69ch; }
.elementor .sv-el-cards.e-con {
  --display: grid;
  --gap: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 16px;
}
.elementor .sv-el-cards > .sv-el-card.e-con {
  --width: 100%;
  --padding-top: 24px;
  --padding-bottom: 24px;
  --padding-left: 24px;
  --padding-right: 24px;
  width: 100%;
  padding: 24px;
  background: #fffdf8;
  border: 1px solid var(--line);
  border-top: 3px solid var(--sv-teal);
  box-shadow: 0 8px 22px #1228340a;
}
.sv-el-card p { margin: 0 0 12px; }
.sv-el-section a:not(.button) { color: #17564e; }
.sv-el-section .review-empty {
  border-left-color: var(--sv-teal);
  padding: 15px 20px;
  background: #edf2ec;
}
.sv-el-section .anonymous-account {
  padding: clamp(18px, 4vw, 34px);
  border-top: 3px solid var(--sv-teal);
  box-shadow: 0 12px 24px #1228340b;
}
.sv-el-section .anonymous-account .button,
.sv-el-section a.button { background: var(--sv-teal); color: #fff; }
footer { background: var(--sv-navy); color: #edf1e9; }
@media (max-width: 570px) {
  .bar .wrap { gap: 12px; }
  .bar nav { font-size: .82rem; gap: 8px 14px; }
  .elementor .sv-el-hero.e-con { --padding-left: 20px; }
  .elementor .sv-el-section.e-con { --width: calc(100% - 40px); }
}
