/* The Truvian Group site stylesheet
   v11, 3 August 2026. Design system lifted from homepage mockup v10.
   Rule: the five part colors are surfaces and rules only, never text. */

:root{
  --blue:#485778; --blue-deep:#3A4762; --ink:#2B3348;
  --parch:#F7F3EC; --parch-2:#EDE5D8;
  --brick:#B4492A; --coral:#DD7454; --bronze:#6E5B3A;
  --teal:#98B8B5; --sage:#98B486; --ochre:#CEAF6E; --peri:#9291B1;
  --teal-t:#E7EDEC; --ochre-t:#F6EFDF; --sage-t:#E9EEE3; --peri-t:#EBEAEF; --coral-t:#F7EAE5;
  --square:#A89272; --circle:#DCD3C6;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --display:"Instrument Sans",var(--sans);
  --dtrack:-.006em; --dweight:600;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--parch);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.62}
.wrap{max-width:1120px;margin:0 auto;padding:0 48px}
h1,h2,h3,.mark span,.q,.lead,.bignum,.orient p{font-family:var(--display);font-weight:var(--dweight);letter-spacing:var(--dtrack);margin:0;color:var(--blue);text-wrap:balance}
.hero .sub,.phead .sub,.strip p,.policy,.boutique{text-wrap:pretty}
h1{font-size:64px;line-height:1.12}
h2{font-size:38px;line-height:1.2}
h3{font-size:24px;line-height:1.28}
p{margin:0 0 1.15rem}
a{color:var(--brick)}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin:0 0 18px}
#warn{display:none;background:#B4492A;color:#fff;font-size:13px;padding:8px 16px;text-align:center}

/* Nav */
nav{background:var(--parch);border-bottom:1px solid rgba(110,91,58,.22)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:102px}
.mark{display:flex;align-items:center;gap:15px;text-decoration:none}
.mark img{height:70px;width:auto;display:block}
.mark span.wm{font-family:var(--display);font-weight:600;letter-spacing:var(--dtrack);font-size:23px;color:var(--blue);line-height:1.02;display:block}
.navlinks{display:flex;gap:30px;font-size:15px;align-items:center}
.has-sub{position:relative;padding:34px 0;margin:-34px 0}
.has-sub>a{display:block}
.submenu{position:absolute;top:100%;left:-18px;background:var(--parch);border:1px solid rgba(110,91,58,.22);min-width:238px;padding:8px 0;display:none;z-index:60;box-shadow:0 12px 28px rgba(43,51,72,.12)}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{display:block}
.submenu a{display:block;padding:10px 18px;border-bottom:0;color:var(--bronze);font-size:15px}
.submenu a:hover{background:var(--parch-2);color:var(--blue);border-bottom:0}
.navlinks a{color:var(--bronze);text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent}
.navlinks a:hover{color:var(--blue);border-bottom-color:var(--coral)}
.navlinks a.on{color:var(--blue);font-weight:500;border-bottom-color:var(--coral)}

/* Hero */
.hero{background:var(--blue-deep);color:#fff;padding:112px 0 118px}
.hero h1{color:#fff;max-width:820px}
.hero .sub{font-size:22px;line-height:1.5;color:#C4CCDC;max-width:600px;margin-top:32px}
.btn{display:inline-block;background:var(--brick);color:#fff;font-size:16px;font-weight:500;padding:16px 34px;border-radius:2px;text-decoration:none}
.btn:hover{background:#93381E;color:#fff}
.hero .btn{background:var(--coral);color:#3A1508;margin-top:44px;font-weight:600}
.hero .btn:hover{background:#E88566;color:#3A1508}

/* Page header for interior pages */
.phead{background:var(--blue-deep);color:#fff;padding:78px 0 84px}
.phead h1{color:#fff;max-width:900px;font-size:52px}
.phead .eyebrow{color:#A9B4CA}
.phead .sub{font-size:21px;line-height:1.5;color:#C4CCDC;max-width:640px;margin-top:26px}

.orient{padding:78px 0 72px}
.orient p{font-weight:500;font-size:34px;line-height:1.3;max-width:780px}

.reach{background:var(--parch-2);padding:48px 0}
.reach .wrap{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.bignum{font-size:46px;line-height:1;flex:none;white-space:nowrap}
.reach p{font-size:17.5px;color:var(--bronze);max-width:560px;margin:0;line-height:1.55}

.qhead{padding:86px 0 6px}
.qs{padding:52px 0;border-bottom:1px solid rgba(110,91,58,.16)}
.qs .wrap{display:flex;gap:52px;align-items:flex-start}
.qs .edge{width:6px;align-self:stretch;flex:none;min-height:120px}
.q{font-size:34px;line-height:1.2;margin:0 0 16px;max-width:660px}
.qs p{max-width:620px;margin:0}
.go{display:inline-block;margin-top:18px;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--brick);text-decoration:none;border-bottom:2px solid rgba(180,73,42,.28);padding-bottom:2px}
.go:hover{border-bottom-color:var(--brick)}

.sizing{padding:88px 0;background:var(--parch-2)}
.lead{font-size:30px;line-height:1.34;max-width:760px;margin:0}

.where{background:var(--blue);color:#fff;padding:88px 0}
.where h2{color:#fff}
.wcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:40px;margin-top:44px;max-width:960px}
.wcols h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans);font-weight:600;color:#A9B4CA;margin-bottom:14px}
.wcols div p{font-family:var(--display);font-weight:500;letter-spacing:var(--dtrack);font-size:21px;line-height:1.75;color:#fff;margin:0}
.policy{border-left:4px solid var(--coral);padding-left:26px;max-width:660px;color:#D6DBE5;font-size:17px;margin-top:52px}

.people{padding:88px 0 84px}
.boutique{font-family:var(--display);font-weight:500;letter-spacing:var(--dtrack);font-size:27px;line-height:1.36;color:var(--blue);max-width:740px;margin:0}

.strip{padding:92px 0;text-align:center;background:var(--parch-2)}
.strip h2{margin:0 auto 18px;max-width:760px}
.strip p{max-width:560px;margin:0 auto;color:var(--bronze)}
.strip .btn{margin-top:30px}

/* Interior prose */
.prose{padding:82px 0}
.prose .wrap{max-width:1120px}
.prose h2{margin:0 0 20px}
.prose h3{margin:44px 0 12px}
.prose p{max-width:660px}
.prose ul{max-width:660px;padding-left:0;list-style:none;margin:0 0 1.4rem}
.prose ul:not(.legend) li{padding:12px 0 12px 26px;border-bottom:1px solid rgba(110,91,58,.16);position:relative}
.prose ul:not(.legend) li:before{content:"";position:absolute;left:0;top:22px;width:10px;height:10px;border-radius:2px;background:var(--accent,var(--bronze))}
.tintband{padding:70px 0;background:var(--tint,var(--parch-2));border-top:6px solid var(--accent,var(--bronze))}
.tintband p{max-width:660px}
.tintband .lead{font-size:27px;line-height:1.35}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.card{display:block;text-decoration:none;padding:34px 34px 30px;border-radius:2px;border-top:6px solid var(--accent);background:var(--tint)}
.card h3{color:var(--blue);margin:0 0 10px}
.card p{color:var(--ink);margin:0;font-size:16.5px;line-height:1.55}
.card .nm{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-bottom:14px}
.cardgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}
.bio{max-width:660px;padding:26px 0;border-top:1px solid rgba(110,91,58,.2)}
.bio h3{margin:0 0 8px}
.bio .role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-bottom:12px}
.bio p{margin:0}
.dl{max-width:660px;margin:0}
.dl div{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid rgba(110,91,58,.18)}
.dl dt{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze);font-weight:600;padding-top:3px}
.dl dd{margin:0;font-family:var(--display);font-weight:500;font-size:19px;color:var(--blue)}

/* Profile page */
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.pf-art{background:var(--circle);padding:26px;border-radius:2px}
.pf-art img{width:100%;height:auto;display:block}
.pf-art figcaption{font-size:14.5px;color:var(--bronze);margin-top:16px}
.legend{list-style:none;margin:0;padding:0}
.legend li{display:grid;grid-template-columns:16px 1fr;gap:16px;align-items:start;padding:13px 0;border-bottom:1px solid rgba(110,91,58,.16)}
.legend li:last-child{border-bottom:0}
.chip{width:16px;height:16px;border-radius:2px;margin-top:7px}
.legend .nm{font-family:var(--display);font-weight:600;color:var(--blue);font-size:18px}
.legend .wh{color:var(--bronze);font-size:15.5px}
.legend .nm a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(110,91,58,.35)}
.legend .nm a:hover,.legend .nm a:focus{color:var(--brick);border-bottom-color:var(--brick)}
.part{scroll-margin-top:18px;padding:34px 0;border-top:1px solid rgba(110,91,58,.2);display:grid;grid-template-columns:6px 1fr;gap:28px}
.part .bar{border-radius:2px}
.part h3{margin:0 0 10px}
.part p{margin:0;max-width:660px}
.outcomes{background:var(--parch-2);padding:38px 40px;border-radius:2px;margin-top:44px;border-left:6px solid var(--bronze)}
.outcomes h3{margin:0 0 10px}
.outcomes p{margin:0;max-width:660px}

/* Footer */
footer{background:var(--ink);color:#AAB3C6;padding:56px 0 44px;font-size:15px}
footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px}
footer a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
footer a:hover{border-bottom-color:#fff}
footer .fmark{display:flex;align-items:center;gap:13px;margin-bottom:16px}
footer .fmark img{height:52px;width:auto}
footer .fmark span.wm{font-family:var(--display);font-weight:600;letter-spacing:var(--dtrack);font-size:16px;color:#fff;line-height:1.0}
footer .hd{color:#fff;margin-bottom:9px}
footer .ln{margin-bottom:5px}
.fine{grid-column:1/-1;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);font-size:13px;color:#8390A8}

@media(max-width:860px){
  h1{font-size:38px}.phead h1{font-size:34px}h2{font-size:28px}.q{font-size:26px}
  .lead,.orient p,.boutique{font-size:24px}.wrap{padding:0 26px}
  .qs .wrap{gap:24px}.mark img{height:56px}
  nav .wrap{height:auto;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;gap:14px}
  .navlinks{gap:18px;font-size:13.5px}.has-sub{padding:0;margin:0}.submenu{display:none!important}.mark span.wm{font-size:21px}
  .cols2,.pf-grid,.cardgrid{grid-template-columns:1fr;gap:32px}
  .dl div{grid-template-columns:1fr;gap:4px}
  .hero{padding:72px 0 78px}.phead{padding:56px 0 60px}
  .bignum{font-size:40px}
}

/* 2026-09-29 additions */
.hero .what{font-family:var(--display);font-weight:500;letter-spacing:var(--dtrack);font-size:26px;line-height:1.3;color:#fff;max-width:720px;margin:26px 0 0}
.hero .what+.sub{margin-top:14px}
.mailalt{font-size:14.5px;margin:14px 0 0;color:var(--bronze)}
.mailalt a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.hero .mailalt{color:#C4CCDC}
.strip p.mailalt{margin-top:16px}
.prose .dl-cap,.dl-cap{margin:32px 0 44px}
@media(max-width:860px){.hero .what{font-size:21px}}
.caplink{margin:40px 0 0}
.where .go{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
.where .go:hover{border-bottom-color:#fff}
.caplink-top{margin:0}
/* books (v3.3) */
.bookband{padding:76px 0;border-top:1px solid rgba(110,91,58,.18)}
.book{display:grid;grid-template-columns:190px 1fr;gap:44px;align-items:center;max-width:780px}
.book h2{margin:0 0 14px}
.book .booksub{font-family:var(--display);font-weight:500;font-size:20px;line-height:1.35;color:var(--blue);margin:-6px 0 14px}
.book p{margin:0 0 16px}
.book .eyebrow{margin-bottom:12px}
.cov{display:block;line-height:0}
.cov img{width:100%;height:auto;box-shadow:0 12px 30px rgba(43,51,72,.24);transition:transform .15s ease}
.cov:hover img{transform:translateY(-3px)}
.books{display:flex;gap:30px;flex-wrap:wrap;margin:26px 0 42px}
.books figure{margin:0;width:130px}
.books figcaption{margin-top:12px;font-size:14px;white-space:nowrap}
.books figcaption a{color:var(--brick)}
@media(max-width:860px){.book{grid-template-columns:120px 1fr;gap:24px}.bookband{padding:56px 0}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
