/* Magister Partners — shared stylesheet
   Projects & Transitions, Owner-Side */

:root{
  --ink:#17233b;--ink2:#2a3646;--paper:#faf9f6;--stone:#5b6675;
  --line:#e6e2d9;--gold:#9a7b4f;--goldd:#7d6440;--wash:#f3f1ea;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;color:var(--ink2);background:var(--paper);line-height:1.65}
.serif{font-family:Georgia,"Times New Roman",serif}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
.accent{height:3px;background:linear-gradient(90deg,var(--gold),#c8ad82 55%,var(--gold))}

/* ---------- nav ---------- */
nav{position:sticky;top:0;background:rgba(250,249,246,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.seal{width:34px;height:34px;border:1.6px solid var(--ink);position:relative;flex:none}
.seal:before{content:"";position:absolute;inset:4px;border:1px solid var(--gold)}
.seal span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--ink);line-height:1}
.bwm .m{font-size:19px;letter-spacing:4px;color:var(--ink);line-height:1}
.bwm .p{font-size:8.5px;letter-spacing:5px;color:var(--gold)}
.navlinks{display:flex;align-items:center;gap:24px}
.navlinks a{font-size:13.5px;letter-spacing:.4px;color:var(--stone);white-space:nowrap}
.navlinks a:hover,.navlinks a.on{color:var(--ink)}
.navlinks a.on{border-bottom:1.5px solid var(--gold);padding-bottom:2px}
.navlinks a.navcta{border:1.3px solid var(--ink);color:var(--ink);padding:8px 16px}
.navlinks a.navcta:hover{background:var(--ink);color:var(--paper)}
.lang{font-size:11.5px;letter-spacing:1.5px;color:var(--stone);border-left:1px solid var(--line);padding-left:20px;white-space:nowrap}
.lang a{color:var(--stone)}
.lang a.on{color:var(--gold)}
.lang a:hover{color:var(--ink)}
@media(max-width:980px){.navlinks{gap:16px}.navlinks a{font-size:12.5px}}
/* Mobile: the two practice links are the site's spine — they stay.
   Nav becomes two rows; secondary anchors drop. */
@media(max-width:860px){
  .nav{height:auto;flex-wrap:wrap;padding:13px 0 0;row-gap:0}
  .navlinks{width:100%;flex-wrap:wrap;justify-content:center;gap:9px 14px;border-top:1px solid var(--line);margin-top:13px;padding:10px 0}
  .navlinks a.navcta{padding:6px 13px;font-size:11.5px}
  .navlinks a.sec{display:none}
  .navlinks a{font-size:12px}
  .lang{border-left:0;padding-left:0;font-size:11px}
}
@media(max-width:400px){.navlinks{gap:12px}.navlinks a{font-size:11.2px}}

/* ---------- hero ---------- */
.hero{padding:96px 0 80px;border-bottom:1px solid var(--line)}
.kicker{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.hero h1{font-family:Georgia,serif;font-size:46px;line-height:1.15;color:var(--ink);font-weight:600;max-width:19ch}
.hero p{font-size:18px;color:var(--stone);max-width:62ch;margin-top:22px}
.cta{display:inline-block;margin-top:30px;border:1.5px solid var(--ink);color:var(--ink);padding:12px 26px;font-size:14px;letter-spacing:.5px;transition:.15s}
.cta:hover{background:var(--ink);color:var(--paper)}
@media(max-width:640px){.hero h1{font-size:31px}.hero{padding:60px 0 52px}.hero p{font-size:16.5px}}

/* ---------- dark band (sectors / method / stance) ---------- */
.band{background:var(--ink);color:#cdd4de}
.band .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 30px;padding:22px 28px}
.band .st{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:#8fa0b4;margin-right:6px}
.band .it{font-size:14px;color:#e8ddc7;font-family:Georgia,serif}
.band .dot{color:var(--gold)}
.band.method .wrap{justify-content:center;gap:10px 34px}
.band.method .it{letter-spacing:3px;text-transform:uppercase;font-size:12.5px;font-family:"Segoe UI",system-ui,Arial,sans-serif}

/* ---------- sections ---------- */
section{padding:72px 0}
section.tight{padding:56px 0}
.lbl{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
h2{font-family:Georgia,serif;font-size:28px;color:var(--ink);font-weight:600;margin-bottom:12px}
.lead{font-size:16.5px;color:var(--stone);max-width:66ch;margin-bottom:6px}

/* thesis */
.thesis{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.thesis p{font-size:17px;color:var(--ink2);max-width:74ch;line-height:1.72}
.thesis p+p{margin-top:16px}
.thesis p.first{font-family:Georgia,serif;font-size:20px;color:var(--ink);line-height:1.55}
@media(max-width:640px){.thesis p{font-size:15.5px}.thesis p.first{font-size:18px}}

/* numbered grid (services / stages) */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-top:28px}
@media(max-width:720px){.grid{grid-template-columns:1fr}}
.svc{background:var(--paper);padding:26px 28px}
.svc .n{font-size:12px;color:var(--gold);letter-spacing:1px}
.svc h3{font-family:Georgia,serif;font-size:18px;color:var(--ink);font-weight:600;margin:6px 0 8px}
.svc p{font-size:14px;color:var(--stone);line-height:1.6}

/* method — 4 steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-top:28px}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.step{background:var(--paper);padding:26px 24px}
.step .n{font-family:Georgia,serif;font-size:13px;color:var(--gold);letter-spacing:2px}
.step h3{font-family:Georgia,serif;font-size:18px;color:var(--ink);font-weight:600;margin:8px 0 10px}
.step p{font-size:13.8px;color:var(--stone);line-height:1.6}

/* two doors */
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px}
@media(max-width:760px){.doors{grid-template-columns:1fr}}
.door{border:1px solid var(--line);background:var(--paper);padding:32px 30px 28px;transition:.15s;display:block}
.door:hover{border-color:var(--gold);background:#fdfcf9}
.door .dk{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}
.door h3{font-family:Georgia,serif;font-size:22px;color:var(--ink);font-weight:600;margin:10px 0 12px}
.door p{font-size:14.5px;color:var(--stone);line-height:1.65}
.door .go{margin-top:18px;font-size:13px;letter-spacing:.5px;color:var(--goldd);border-bottom:1px solid var(--gold);display:inline-block;padding-bottom:2px}

/* experience / mandates */
.exp{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
@media(max-width:720px){.mgrid{grid-template-columns:1fr}}
.mcard{background:var(--paper);border:1px solid var(--line);padding:24px 26px}
.mcard .reg{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.mcard h3{font-family:Georgia,serif;font-size:18.5px;color:var(--ink);font-weight:600;margin:8px 0 8px}
.mcard p{font-size:14px;color:var(--stone);line-height:1.6}
.mcard .role{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ink2);margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.bg{margin-top:34px;font-size:15.5px;color:var(--ink2);max-width:78ch;line-height:1.7}
.note{font-size:12.5px;color:var(--stone);margin-top:14px;font-style:italic;max-width:78ch}

/* dark section (approach / closing) */
.dark{background:var(--ink);color:var(--paper)}
.dark .lbl{color:#cdb892}
.dark h2{color:var(--paper)}
.dark .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:30px}
@media(max-width:720px){.dark .cols{grid-template-columns:1fr;gap:24px}}
.dark h3{font-family:Georgia,serif;color:#e8ddc7;font-size:18px;margin-bottom:8px}
.dark p{color:#b9c2cf;font-size:14.5px}
.dark .big{font-family:Georgia,serif;font-size:19px;color:#e8ddc7;max-width:74ch;line-height:1.6}

/* scope statement */
.scope{border-left:3px solid var(--gold);padding:4px 0 4px 26px;margin-top:26px;max-width:76ch}
.scope p{font-size:16px;color:var(--ink2);line-height:1.72}

/* engagement */
.eng{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-top:28px}
@media(max-width:820px){.eng{grid-template-columns:1fr}}
.eng .e{background:var(--paper);padding:24px 26px}
.eng .e h3{font-family:Georgia,serif;font-size:17px;color:var(--ink);margin-bottom:8px}
.eng .e p{font-size:14px;color:var(--stone)}
.eng .e.lead-e{grid-column:1/-1;background:#fdfcf9;border-bottom:2px solid var(--gold)}
.eng .e .dur{font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}

/* about */
.about p{font-size:16px;color:var(--ink2);max-width:74ch}
.about p+p{margin-top:16px}
.facts{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.fact{border:1px solid var(--line);padding:14px 20px;min-width:150px}
.fact .k{font-family:Georgia,serif;font-size:15px;color:var(--ink)}
.fact .v{font-size:12.5px;color:var(--stone);margin-top:2px}

/* contact + footer */
.contact{border-top:1px solid var(--line)}
.contact .big{font-family:Georgia,serif;font-size:24px;color:var(--ink);overflow-wrap:anywhere}
.contact a.mail{color:var(--gold);border-bottom:1px solid var(--gold)}
@media(max-width:640px){.contact .big{font-size:18px}}
@media(max-width:400px){.contact .big{font-size:16px}}
.contact .sub{color:var(--stone);margin-top:10px}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--stone);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
footer a{color:var(--stone)}
footer a:hover{color:var(--ink)}
