/* ============================================================================
   REFINE — brand stylesheet
   Education, designed around the individual.
   Teal · cream · mint, with the logo's line running through the site.
   Young Serif for headlines, Work Sans for everything else,
   Nothing You Could Do for the tutor's hand (sparingly). Self-hosted OFL fonts.
   Loaded last on every page. Functionality and markup hooks are unchanged.
   ========================================================================== */
@font-face{font-family:'Young Serif';font-style:normal;font-weight:400 900;font-display:swap;src:url('/fonts/YoungSerif-Regular.woff') format('woff')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'Work Sans';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'Nothing You Could Do';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/NothingYouCouldDo-Regular.woff') format('woff')}
/* Legacy webfont names used by page CSS (Google Fonts are not loaded) aliased to the Refine faces */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/YoungSerif-Regular.woff') format('woff')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/YoungSerif-Regular.woff') format('woff')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'Inter Tight';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}
@font-face{font-family:'Gloock';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'Gloock';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'Gloock';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}
@font-face{font-family:'Crimson Pro';font-style:normal;font-weight:100 500;font-display:swap;src:url('/fonts/WorkSans-Regular.woff') format('woff')}
@font-face{font-family:'Crimson Pro';font-style:normal;font-weight:600 900;font-display:swap;src:url('/fonts/WorkSans-Bold.woff') format('woff')}
@font-face{font-family:'Crimson Pro';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/WorkSans-Italic.woff') format('woff')}

/* Brand tokens: forced everywhere */
:root,html{
  --paper:#FAF7F0!important;
  --sh-lift:0 28px 56px -32px rgba(23,59,58,.28)!important;
  --sh-soft:0 12px 32px -20px rgba(23,59,58,.2)!important;
  --ease:cubic-bezier(.22,1,.36,1)!important;
  --warm:#F3A38F!important;
  --mint:#DDF3EE!important;
  --aqua:#35BDB2!important;
  --teal:#0B948B!important;
  --teal-deep:#087F78!important;
  --char:#173B3A!important;
  --cream:#FAF7F0!important;
  --teal:#087F78!important;
  --mint:#EEF9F6!important;
  --r-xs:10px!important;
  --r-sm:12px!important;
  --r-md:16px!important;
  --r-lg:20px!important;
  --r-xl:24px!important;
}
/* Legacy token names: defaults only — a page that defines its own (already on-palette) values wins */
:where(:root){
  --ink:#173B3A;
  --ink-2:#1F4A48;
  --navy:#265956;
  --slate:#2F5F5C;
  --white:#FFFFFF;
  --grey:#EEF9F6;
  --grey-2:#E3E9E3;
  --stone:#9CCFC8;
  --violet:#0B948B;
  --violet-deep:#087F78;
  --violet-light:#35BDB2;
  --violet-soft:#DDF3EE;
  --text-main:#1B2A29;
  --text-mid:#4D605E;
  --text-light:#7C8B89;
  --border:#E3E9E3;
  --hairline:rgba(23,59,58,.12);
  --forest:#173B3A;
  --forest-deep:#1F4A48;
  --green-mid:#087F78;
  --green-soft:#DDF3EE;
  --green-wash:#EEF9F6;
  --coral:#0B948B;
  --coral-dark:#087F78;
  --coral-soft:#DDF3EE;
  --sand:#EEF9F6;
  --sand-deep:#E3E9E3;
  --teal-dark:#173B3A;
  --teal-mid:#087F78;
  --teal-light:#EEF9F6;
  --teal-pale:#F4FBF9;
  --teal-soft:#DDF3EE;
  --navy-dark:#173B3A;
  --gold:#0B948B;
  --gold-light:#5FC7BD;
  --gold-bg:#EEF9F6;
  --beige:#EEF9F6;
  --beige-dark:#E3E9E3;
  --send-bg:#EEF9F6;
  --mint-bg:#EEF9F6;
  --mint-mid:#DDF3EE;
  --sky:#EEF9F6;
  --sky-2:#E3E9E3;
  --sky-soft:#DDF3EE;
  --apricot:#0B948B;
  --powder:#FAF7F0;
  --wash:#FAF7F0;
  --grad:linear-gradient(135deg,#173B3A,#265956);
  --grad-gold:linear-gradient(135deg,#0B948B,#087F78);
  --primary:#173B3A;
  --primary-dark:#1F4A48;
  --primary-glow:rgba(11,148,139,.18);
  --dark-green:#1F4A48;
  --gradient-vibrant:linear-gradient(135deg,#173B3A,#265956);
  --muted:#7C8B89;
  --line:#E3E9E3;
  --bord:#E3E9E3;
  --text:#1B2A29;
  --text-dark:#1B2A29;
  --border-light:#EAF0EC;
  --bg-color:#FAF7F0;
  --shadow-sm:0 1px 2px rgba(23,59,58,.06);
  --shadow-glow:0 18px 40px -24px rgba(23,59,58,.3);
  --deep:#1F4A48;
  --dark:#087F78;
  --bg:#FAF7F0;
  --pill-bg:#EEF9F6;
  --gold-soft:#5FC7BD;
  --primary-soft:rgba(11,148,139,.08);
  --soft:rgba(23,59,58,.06);
  --gradient-light:linear-gradient(135deg,#EEF9F6 0%,#EEF9F6 100%);
  --hairline-strong:rgba(23,59,58,.4);
  --bp-line:#E3E9E3;
  --navy-deep:#173B3A;
  --teal-bright:#35BDB2;
  --gold-dark:#087F78;
  --copy:#4D605E;
  --line-light:rgba(255,255,255,.16);
  --sh-sm:0 2px 10px rgba(23,59,58,.06);
  --sh-md:0 10px 30px rgba(23,59,58,.10);
  --sh-lg:0 22px 55px rgba(23,59,58,.14);
  --shadow-md:0 4px 16px rgba(23,59,58,.07);
  --shadow-lg:0 20px 50px rgba(23,59,58,.08);
}
/* Public pages: legacy names forced onto the Refine palette */
body.el-site{
  --ink:#173B3A!important;
  --ink-2:#1F4A48!important;
  --navy:#265956!important;
  --slate:#2F5F5C!important;
  --white:#FFFFFF!important;
  --grey:#EEF9F6!important;
  --grey-2:#E3E9E3!important;
  --stone:#9CCFC8!important;
  --violet:#0B948B!important;
  --violet-deep:#087F78!important;
  --violet-light:#35BDB2!important;
  --violet-soft:#DDF3EE!important;
  --text-main:#1B2A29!important;
  --text-mid:#4D605E!important;
  --text-light:#7C8B89!important;
  --border:#E3E9E3!important;
  --hairline:rgba(23,59,58,.12)!important;
  --forest:#173B3A!important;
  --forest-deep:#1F4A48!important;
  --green-mid:#087F78!important;
  --green-soft:#DDF3EE!important;
  --green-wash:#EEF9F6!important;
  --coral:#0B948B!important;
  --coral-dark:#087F78!important;
  --coral-soft:#DDF3EE!important;
  --sand:#EEF9F6!important;
  --sand-deep:#E3E9E3!important;
  --teal-dark:#173B3A!important;
  --teal-mid:#087F78!important;
  --teal-light:#EEF9F6!important;
  --teal-pale:#F4FBF9!important;
  --teal-soft:#DDF3EE!important;
  --navy-dark:#173B3A!important;
  --gold:#0B948B!important;
  --gold-light:#5FC7BD!important;
  --gold-bg:#EEF9F6!important;
  --beige:#EEF9F6!important;
  --beige-dark:#E3E9E3!important;
  --send-bg:#EEF9F6!important;
  --mint-bg:#EEF9F6!important;
  --mint-mid:#DDF3EE!important;
  --sky:#EEF9F6!important;
  --sky-2:#E3E9E3!important;
  --sky-soft:#DDF3EE!important;
  --apricot:#0B948B!important;
  --powder:#FAF7F0!important;
  --wash:#FAF7F0!important;
  --grad:linear-gradient(135deg,#173B3A,#265956)!important;
  --grad-gold:linear-gradient(135deg,#0B948B,#087F78)!important;
  --primary:#173B3A!important;
  --primary-dark:#1F4A48!important;
  --primary-glow:rgba(11,148,139,.18)!important;
  --dark-green:#1F4A48!important;
  --gradient-vibrant:linear-gradient(135deg,#173B3A,#265956)!important;
  --muted:#7C8B89!important;
  --line:#E3E9E3!important;
  --bord:#E3E9E3!important;
  --text:#1B2A29!important;
  --text-dark:#1B2A29!important;
  --border-light:#EAF0EC!important;
  --bg-color:#FAF7F0!important;
  --shadow-sm:0 1px 2px rgba(23,59,58,.06)!important;
  --shadow-glow:0 18px 40px -24px rgba(23,59,58,.3)!important;
  --deep:#1F4A48!important;
  --dark:#087F78!important;
  --bg:#FAF7F0!important;
  --pill-bg:#EEF9F6!important;
  --gold-soft:#5FC7BD!important;
  --primary-soft:rgba(11,148,139,.08)!important;
  --soft:rgba(23,59,58,.06)!important;
  --gradient-light:linear-gradient(135deg,#EEF9F6 0%,#EEF9F6 100%)!important;
  --hairline-strong:rgba(23,59,58,.4)!important;
  --bp-line:#E3E9E3!important;
  --navy-deep:#173B3A!important;
  --teal-bright:#35BDB2!important;
  --gold-dark:#087F78!important;
  --copy:#4D605E!important;
  --line-light:rgba(255,255,255,.16)!important;
  --sh-sm:0 2px 10px rgba(23,59,58,.06)!important;
  --sh-md:0 10px 30px rgba(23,59,58,.10)!important;
  --sh-lg:0 22px 55px rgba(23,59,58,.14)!important;
  --shadow-md:0 4px 16px rgba(23,59,58,.07)!important;
  --shadow-lg:0 20px 50px rgba(23,59,58,.08)!important;
}

/* ============================================================================
   REFINE — internal tools layer (staff, ops, reports, scripts, comms).
   Colours already live on-palette in each page's own CSS; this layer only
   carries the type system, brand lockups and a few shared affordances.
   ========================================================================== */
h1,h2,h3,.panel-title,.card-title,.section-title,.cover-title,.report-title{font-family:var(--font-display)!important;font-weight:400!important;letter-spacing:-.015em!important;font-synthesis:none}
h1 em,h2 em{font-style:normal;color:var(--teal-deep)}
strong,b{font-synthesis:none}
/* brand lockups: "Refine <span>Tutoring</span>" */
svg.rf-logo-mark,svg.el-mark{display:none!important}
img.rf-leaf-img{height:1.6em;width:auto;vertical-align:middle;object-fit:contain}
.spl-name,.wb-brand,.topbar b,.logo:not(:has(img)),.brand>b,.brand>.name,.brand-name{font-family:var(--font-display)!important;font-weight:400!important;letter-spacing:0!important}
.spl-name>span,.wb-brand>span,.topbar b>span,.logo:not(:has(img))>span{font-family:var(--font-body)!important;font-size:.55em!important;letter-spacing:.22em!important;text-transform:uppercase;font-weight:700!important;opacity:.85;margin-left:.45em;vertical-align:.15em;color:inherit}
.cover-logo{font-family:var(--font-body)!important;letter-spacing:.28em!important;font-weight:600!important}
/* shared affordances */
::selection{background:var(--mint);color:var(--char)}
:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}
input,select,textarea,button{font-family:inherit}
