/* MEHA Institute — Concept A "Institute", responsive. Generated by build_site.py. */
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300;font-display:swap;src:url('../fonts/fraunces-italic-300.ttf') format('truetype');}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/fraunces-italic-400.ttf') format('truetype');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/fraunces-300.ttf') format('truetype');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/fraunces-400.ttf') format('truetype');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/fraunces-500.ttf') format('truetype');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/fraunces-600.ttf') format('truetype');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-400.ttf') format('truetype');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-500.ttf') format('truetype');}

:root{
  --navy:#0F1830;--navy2:#16203C;--navy3:#1E2A4A;--core:#283863;
  --lav:#8C9BC4;--lavs:#A9B4D1;--bone:#EDE6D6;--dim:#B8B2A4;
  --cop:#C9825A;--cops:#DBA488;
  --rule:rgba(140,155,196,.20);--rule2:rgba(140,155,196,.36);
  --serif:"Fraunces","Times New Roman",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
:focus-visible{outline:2px solid var(--cops);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:var(--cops);color:var(--navy);
  padding:10px 16px;border-radius:2px;font-family:var(--mono);font-size:12px}
.wrap{max-width:1180px;margin:0 auto;padding:0 56px}
body{font-family:var(--sans);color:var(--bone);font-weight:300;background:var(--navy);
  overflow-x:hidden}
main{display:block}

.kick{font-family:var(--mono);font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--lav);font-weight:500}
h1{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.015em;color:#fff;
  font-size:clamp(40px,6.2vw,76px)}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(29px,3.6vw,44px);line-height:1.06;
  letter-spacing:-.01em;color:#fff}
h2 em{font-style:italic;color:var(--cops)}
h3{font-family:var(--serif);font-weight:500;font-size:21px;color:#fff;line-height:1.12}
.lead{font-size:19px;line-height:1.55;color:var(--lavs);max-width:62ch}
.body{font-size:15.5px;line-height:1.68;color:#D9DEEC}
.small{font-size:12.5px;line-height:1.6;color:var(--dim)}
b{font-weight:500;color:#fff}

/* Foundation mark — the founder credit is the logo, never the typed name */
.fmark{width:auto;display:block}
.hero-mark{height:34px;margin-top:12px}
.pill-mark{height:21px}
.plist .pmark{display:inline-flex;align-items:center;padding:9px 17px}
.founded{margin-bottom:28px}
.foot-mark{height:36px;margin-top:14px}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(15,24,48,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:30px}
.nav .brandmark{display:flex;align-items:center;gap:14px}
.nav .brandmark img{height:34px;width:auto}
.nav .bn{font-family:var(--serif);font-size:19px;color:#fff;letter-spacing:.01em;white-space:nowrap}
.nav ul{display:flex;gap:34px;list-style:none;align-items:center}
.nav li a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--lavs);padding-bottom:3px;border-bottom:1px solid transparent;display:inline-block}
.nav li a.on{color:var(--cops);border-bottom-color:var(--cop)}
.nav .cta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--navy);background:var(--cops);padding:11px 18px;border-radius:2px;font-weight:500;
  white-space:nowrap}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:9px 4px}
.nav-toggle span{display:block;width:25px;height:1.5px;background:var(--bone);margin:5px 0}

/* hero */
.hero{background:radial-gradient(115% 92% at 76% 8%,var(--core) 0%,var(--navy2) 44%,var(--navy) 80%);
  padding:clamp(64px,9vw,112px) 0 clamp(56px,7vw,88px);border-bottom:1px solid var(--rule)}
.hero h1{margin:26px 0 30px}
.hero .lead{font-size:clamp(17px,1.9vw,21px);max-width:66ch}
.metarow{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;
  border-top:1px solid var(--rule2)}
.metarow .m{padding:24px 26px 0 0}
.metarow .ml{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--lav)}
.metarow .mv{font-family:var(--serif);font-size:24px;color:#fff;margin-top:9px;line-height:1.2}

/* sections */
section{padding:clamp(56px,7.4vw,92px) 0;border-bottom:1px solid var(--rule)}
section.bone{background:#EDE6D6;color:var(--navy)}
section.bone h2,section.bone h3{color:#0F1830}
section.bone .lead{color:#283863}
section.bone .body{color:#1E2A4A}
section.bone .kick{color:#C9825A}
section.bone b{color:#0F1830}
/* the bone ground needs its own rules — the lavender hairlines vanish on it */
section.bone .pillars,section.bone .stats{border-top-color:rgba(15,24,48,.28);
  border-bottom-color:rgba(15,24,48,.28)}
section.bone .pillars .p{border-right-color:rgba(15,24,48,.14)}
section.bone .ag .r{border-top-color:rgba(15,24,48,.14)}
section.bone .ag .r:last-child{border-bottom-color:rgba(15,24,48,.14)}
section.bone .stats .n{color:#0F1830} section.bone .stats .l{color:#283863}
section.bone .ros .gl{color:#C9825A}
section.bone .ros .gl,section.bone .ros .f{border-bottom-color:rgba(15,24,48,.14)}
section.bone .pt{border-top-color:rgba(15,24,48,.28)}
section.bone .pt .r{border-top-color:rgba(15,24,48,.14)}
section.bone .pt .h > *{color:#283863}
section.bone .pt .nm{color:#0F1830} section.bone .pt .ds{color:#1E2A4A}
section.bone .pt .pr{color:#C9825A}
section.bone .pt .av{color:#283863}
section.bone .call{background:rgba(255,255,255,.55);border-color:rgba(15,24,48,.2)}
section.bone .call p{color:#1E2A4A}
section.bone .call .k{border-top-color:rgba(15,24,48,.14)}
section.bone .call .k .kv{color:#C9825A} section.bone .call .k .kl{color:#283863}
section.bone .pillars .p p{color:#1E2A4A}
section.bone .ag h4{color:#0F1830} section.bone .ag p{color:#1E2A4A}
section.bone .ag .sl{color:#C9825A}
section.bone .ros .fn{color:#0F1830} section.bone .ros .fi{color:#1E2A4A}
section.bone .ros .fd{color:#C9825A}
.shead{display:flex;gap:20px;align-items:baseline;margin-bottom:26px}
.shead .n{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;color:var(--cop)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;
  border-top:1px solid var(--rule2)}
.pillars .p{padding:26px 28px 4px 0;border-right:1px solid var(--rule)}
.pillars .p:last-child{border-right:0}
.pillars .pn{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--cop)}
.pillars .p h3{margin:11px 0 10px}
.pillars .p p{font-size:13.5px;line-height:1.62;color:var(--lavs)}

/* convening cards */
.conv{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.cv{background:linear-gradient(158deg,var(--navy3),var(--navy2));border:1px solid var(--rule);
  border-radius:3px;padding:34px 32px 30px;display:flex;flex-direction:column}
.cv .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cop)}
.cv h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:14px 0 6px;color:#fff}
.cv .sub{font-size:14px;color:var(--lavs);margin-bottom:22px}
.cv dl{display:grid;grid-template-columns:88px 1fr;gap:10px 16px;border-top:1px solid var(--rule);
  padding-top:18px;margin-bottom:20px}
.cv dt{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lav);padding-top:3px}
.cv dd{font-size:14.5px;color:#fff}
.cv p.n{font-size:13.5px;line-height:1.6;color:var(--lavs);flex:1}
.cv a.go{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cops);margin-top:22px;border-top:1px solid var(--rule);padding-top:18px}

/* agenda */
.ag{margin-top:40px}
.ag .r{display:grid;grid-template-columns:190px 1fr;gap:26px;padding:22px 0;
  border-top:1px solid var(--rule)}
.ag .r:last-child{border-bottom:1px solid var(--rule)}
.ag .dl{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--cop);
  text-transform:uppercase;padding-top:4px}
.ag h4{font-family:var(--serif);font-weight:500;font-size:21px;color:#fff;margin-bottom:6px}
.ag .sl{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--cops);
  margin-bottom:8px}
.ag p{font-size:14px;line-height:1.62;color:var(--lavs);max-width:70ch}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;
  border-top:1px solid var(--rule2);border-bottom:1px solid var(--rule2)}
.stats .s{padding:26px 10px 26px 0}
.stats .n{font-family:var(--serif);font-size:48px;color:#fff;line-height:1}
.stats .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lav);margin-top:10px}

/* faculty roster */
.ros{margin-top:40px}
.ros .g{margin-bottom:32px}
.ros .gl{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cop);padding-bottom:12px;border-bottom:1px solid var(--rule2)}
.ros .f{display:grid;grid-template-columns:1.3fr 1fr 110px;gap:20px;padding:15px 0;
  border-bottom:1px solid var(--rule);align-items:baseline}
.ros .fn{font-family:var(--serif);font-size:19px;color:#fff}
.ros .fi{font-size:13.5px;color:var(--lavs)}
.ros .fd{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cops);text-align:right}

/* price table */
.pt{margin-top:36px;border-top:1px solid var(--rule2)}
.pt .h,.pt .r{display:grid;gap:20px;align-items:baseline;
  grid-template-columns:1.25fr 1.7fr 150px 150px}
.pt .h > *{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lav);padding:14px 0}
.pt .r{padding:19px 0;border-top:1px solid var(--rule)}
.pt .nm{font-family:var(--serif);font-size:19px;color:#fff}
.pt .ds{font-size:13.5px;color:var(--lavs);line-height:1.5}
.pt .pr{font-family:var(--mono);font-size:17px;color:var(--cops)}
.pt .av{font-family:var(--mono);font-size:12px;color:var(--lav)}

/* callout */
.call{border:1px solid var(--rule2);border-left:3px solid var(--cop);border-radius:2px;
  padding:26px 30px;margin-top:34px;background:rgba(40,56,99,.28)}
.call .cl{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cop);margin-bottom:12px}
.call p{font-size:14.5px;line-height:1.68;color:#D9DEEC}
.call .k{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:22px;
  border-top:1px solid var(--rule);padding-top:20px}
.call .k .kv{font-family:var(--mono);font-size:22px;color:var(--cops)}
.call .k .kl{font-size:12px;color:var(--lav);margin-top:7px;line-height:1.5}

/* partner strip */
.plist{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.plist span{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--lavs);border:1px solid var(--rule2);padding:10px 15px;border-radius:2px}

/* ---------- enquiry form ---------- */
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:8px;align-items:start}
.field{margin-bottom:20px}
.field label{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cop);display:block;margin-bottom:9px}
.field label .opt{color:var(--lav);letter-spacing:.14em;margin-left:7px}
.field .in,.field select,.field textarea,
.wpforms-container input[type=text],.wpforms-container input[type=email],
.wpforms-container input[type=tel],.wpforms-container select,
.wpforms-container textarea{background:rgba(15,24,48,.75);border:1px solid var(--rule2);
  border-radius:2px;width:100%;display:block;font-family:var(--sans);font-size:15.5px;
  font-weight:300;color:#fff;padding:14px 15px;outline:none;-webkit-appearance:none}
.field .in,.field select,.wpforms-container input,.wpforms-container select{height:52px}
.field textarea,.wpforms-container textarea{height:auto;min-height:118px;resize:vertical;
  line-height:1.55}
.field .in:focus,.field select:focus,.field textarea:focus{border-color:var(--cop)}
.field .in::placeholder,.field textarea::placeholder{color:rgba(169,180,209,.5)}
.btn-send{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--navy);background:var(--cops);padding:16px 26px;border:0;border-radius:2px;
  font-weight:500;cursor:pointer;width:100%}
.btn-send:hover{background:#E6B79E}
.formnote{font-size:12px;line-height:1.6;color:var(--dim);margin-top:16px}

/* WPForms skin — the plugin's own markup, dressed in the Institute's system */
.wpforms-container{max-width:none!important}
.wpforms-container .wpforms-field{padding:0 0 20px 0!important}
.wpforms-container .wpforms-field-label{font-family:var(--mono)!important;font-size:10.5px!important;
  font-weight:500!important;letter-spacing:.2em;text-transform:uppercase;color:#C9825A!important;
  margin-bottom:9px!important}
.wpforms-container .wpforms-required-label{color:#DBA488!important}
.wpforms-container .wpforms-field-description{font-size:12px!important;color:#B8B2A4!important}
.wpforms-container button[type=submit]{font-family:var(--mono)!important;font-size:11px!important;
  letter-spacing:.16em;text-transform:uppercase;color:#0F1830!important;background:#DBA488!important;
  padding:16px 26px!important;border:0!important;border-radius:2px!important;font-weight:500!important;
  cursor:pointer;width:100%}
.wpforms-confirmation-container,.wpforms-confirmation-container-full,
div[class*="wpforms-confirmation"]{background:rgba(40,56,99,.28)!important;
  border:1px solid #C9825A!important;border-left:3px solid #C9825A!important;border-radius:2px;
  padding:24px 28px!important}
.wpforms-confirmation-container *,.wpforms-confirmation-container-full *,
div[class*="wpforms-confirmation"] *{color:#DBA488!important;font-size:15px;line-height:1.6}

/* footer */
footer{background:#16203C;padding:64px 0 44px}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px}
footer .fb{font-family:var(--serif);font-size:26px;color:#fff;margin-bottom:14px}
footer .fl{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--cop);margin-bottom:14px}
footer a.em{font-family:var(--serif);font-size:20px;color:var(--cops);word-break:break-word}
footer ul{list-style:none}
footer ul li{font-size:13.5px;color:var(--lavs);padding:5px 0}
footer .rule{height:1px;background:var(--rule);margin:44px 0 24px}
footer .fin{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(169,180,209,.6)}
footer .dis{font-size:11.5px;line-height:1.6;color:var(--dim);max-width:78ch;margin-top:16px}

/* ============================ responsive ============================
   The static concept simply hid the nav below 1000px with nothing in its
   place — fine for a PDF render, a dead end on a phone. Hence the toggle. */
@media(max-width:1080px){
  .wrap{padding:0 40px}
  .nav ul{gap:24px}
  .pt .h,.pt .r{grid-template-columns:1.1fr 1.5fr 120px 120px;gap:14px}
}
@media(max-width:900px){
  .wrap{padding:0 30px}
  .nav .wrap{flex-wrap:wrap;gap:14px;padding-top:16px;padding-bottom:16px}
  .nav-toggle{display:block;order:3}
  .nav .cta{order:2;margin-left:auto}
  .nav ul{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;gap:0;
    padding:6px 0 4px}
  .nav ul.open{display:flex}
  .nav li a{padding:15px 2px;border-bottom:1px solid var(--rule);width:100%}
  .conv{grid-template-columns:1fr;gap:24px}
  .pillars{grid-template-columns:1fr 1fr}
  .pillars .p:nth-child(2){border-right:0}
  .stats{grid-template-columns:1fr 1fr}
  .metarow{grid-template-columns:1fr}
  .metarow .m{padding:20px 0 0 0;border-top:1px solid var(--rule)}
  .metarow .m:first-child{border-top:0}
  .formgrid{grid-template-columns:1fr;gap:34px}
  footer .fg{grid-template-columns:1fr;gap:34px}
  .pt .h,.pt .r{grid-template-columns:1fr;gap:6px}
  .pt .h{display:none}
  .pt .r{padding:20px 0}
  .ag .r{grid-template-columns:1fr;gap:8px}
  .ros .f{grid-template-columns:1fr;gap:4px}
  .ros .fd{text-align:left}
  .call .k{grid-template-columns:1fr;gap:18px}
}
@media(max-width:640px){
  .wrap{padding:0 20px}
  /* the wordmark goes; the compass mark carries the brand and the whole bar
     then fits one row alongside the CTA and the menu button */
  .nav .bn{display:none}
  .nav .cta{font-size:10px;padding:10px 13px;letter-spacing:.12em}
  .pillars{grid-template-columns:1fr}
  .pillars .p{border-right:0;border-top:1px solid var(--rule);padding:22px 0 4px}
  .pillars .p:first-child{border-top:0}
  .stats{grid-template-columns:1fr}
  .stats .s{padding:20px 0;border-top:1px solid var(--rule)}
  .stats .s:first-child{border-top:0}
  .cv{padding:28px 24px 26px}
  .call{padding:22px 22px}
  .hero-mark{height:29px}.pill-mark{height:18px}.foot-mark{height:31px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
