/* ==========================================================================
   MP Strategy Partners
   Forest #123D31 · Brass #B98B45 · Stock #FCFAF6
   Pagella for headings, Heros for text.
   ========================================================================== */

@font-face{font-family:"Pagella"; src:url("fonts/pagella-regular.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap}
@font-face{font-family:"Pagella"; src:url("fonts/pagella-bold.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap}
@font-face{font-family:"Pagella"; src:url("fonts/pagella-italic.woff2") format("woff2");
  font-weight:400; font-style:italic; font-display:swap}
@font-face{font-family:"Heros"; src:url("fonts/heros-regular.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap}
@font-face{font-family:"Heros"; src:url("fonts/heros-bold.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap}

:root{
  --forest:#123D31;
  --forest-deep:#0D2C24;
  --brass:#B98B45;
  --stock:#FCFAF6;
  --ivory:#F7F4EE;
  --tint:#638076;
  --body:#2F4D44;
  --rule:#E2DCD2;
  --rule-hard:#C9C0B2;
  --gut:clamp(18px, 3.8vw, 44px);
  --serif:"Pagella","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Heros","Helvetica Neue",Helvetica,Arial,sans-serif;
  --pad:clamp(40px, 4.6vw, 64px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:74px; -webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--stock); color:var(--body);
  font:400 15.5px/1.55 var(--sans);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg{max-width:100%; height:auto; display:block}
a{color:inherit}
.wrap{max-width:1200px; margin:0 auto; padding-left:var(--gut); padding-right:var(--gut)}

/* --- type -------------------------------------------------------------- */
h1,h2{font-family:var(--serif); font-weight:400; margin:0; color:var(--forest);
  letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,2.85vw,2.5rem); line-height:1.12}
h2{font-size:clamp(1.18rem,1.55vw,1.48rem); line-height:1.24}
h3{font-family:var(--sans); font-size:.875rem; font-weight:700; line-height:1.3;
  margin:0; color:var(--forest); letter-spacing:.005em}
p{margin:0 0 .85em}
p:last-child{margin-bottom:0}

.eyebrow{
  font-size:.61rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase;
  color:var(--forest); margin:0 0 .7rem; display:flex; align-items:baseline; gap:.6em;
}
.eyebrow .i{color:var(--brass); font-family:var(--serif); font-weight:400;
  font-size:.78rem; letter-spacing:.04em}
.lede{font-size:clamp(.98rem,1vw,1.06rem); line-height:1.5; color:var(--body)}
.small{font-size:.8rem; line-height:1.5}

section{padding-top:var(--pad); padding-bottom:var(--pad)}
section + section{border-top:1px solid var(--rule)}
.sec-head{margin-bottom:clamp(22px,2.4vw,32px)}
.sec-head h2{max-width:30ch}

/* --- header ------------------------------------------------------------ */
.site-head{
  position:sticky; top:0; z-index:50;
  background:var(--stock);
  background:color-mix(in srgb, var(--stock) 93%, transparent);
  backdrop-filter:saturate(180%) blur(9px);
  border-bottom:1px solid var(--rule-hard);
}
.site-head .wrap{display:flex; align-items:center; gap:20px; height:56px}
.site-head img{width:clamp(140px,15vw,168px); flex-shrink:0}
.nav{margin-left:auto; display:flex; gap:clamp(12px,1.7vw,24px)}
.nav a{
  font-size:.665rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; color:var(--forest); padding-top:4px; padding-bottom:4px; white-space:nowrap;
  border-bottom:1.5px solid transparent; transition:border-color .16s;
}
.nav a:hover,.nav a:focus-visible{border-bottom-color:var(--brass)}
.nav-toggle{display:none}

/* --- hero -------------------------------------------------------------- */
.hero{padding-top:clamp(40px,5.2vw,72px); padding-bottom:clamp(28px,3.2vw,40px)}
.hero-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(24px,3.6vw,56px);
  align-items:end}
.hero h1{max-width:20ch}
.hero .brass-rule{width:48px; height:2.5px; background:var(--brass); margin-bottom:1.15rem}
.hero .lede{max-width:44ch}
.actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:1.3rem}
.btn{
  display:inline-block; text-decoration:none; font-family:var(--sans); font-size:.665rem;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:11px 19px;
  border:1.5px solid var(--forest); color:var(--forest);
  transition:background .16s, color .16s;
}
.btn-solid{background:var(--forest); color:var(--ivory)}
.btn-solid:hover,.btn-solid:focus-visible{background:var(--forest-deep)}
.btn-line:hover,.btn-line:focus-visible{background:var(--forest); color:var(--ivory)}

/* --- index strip ------------------------------------------------------- */
.index{
  border-top:1px solid var(--rule-hard); border-bottom:1px solid var(--rule-hard); display:grid;
  grid-template-columns:repeat(6,1fr);
}
.index a{
  display:block; text-decoration:none; padding:13px 0 13px 14px;
  border-left:1px solid var(--rule); font-size:.665rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--forest);
  transition:background .16s;
}
.index a:first-child{border-left:none; padding-left:0}
.index a span{display:block; font-family:var(--serif); font-weight:400; font-size:.75rem;
  letter-spacing:.04em; color:var(--brass); margin-bottom:3px; text-transform:none}
.index a:hover{background:rgba(185,139,69,.09)}

/* --- grids ------------------------------------------------------------- */
.grid{display:grid; gap:clamp(16px,1.9vw,26px)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.split{display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(22px,3.4vw,54px)}

.item{border-top:2px solid var(--forest); padding-top:11px}
.item h3{margin-bottom:.3rem}
.item p{font-size:.855rem; line-height:1.5; margin:0}

.step{border-top:1px solid var(--rule-hard); padding-top:11px; display:grid;
  grid-template-columns:28px 1fr; gap:3px 10px}
.step .n{font-family:var(--serif); font-size:.88rem; color:var(--brass); grid-row:span 2}
.step h3{margin-bottom:.28rem}
.step p{font-size:.855rem; line-height:1.5; margin:0}

/* --- dark band --------------------------------------------------------- */
.dark{background:var(--forest); color:#C4D4CE; border-top:none}
.dark h2,.dark h3{color:var(--ivory)}
.dark .eyebrow{color:var(--ivory)}
.dark .eyebrow .i{color:var(--brass)}
.dark .item{border-top-color:var(--brass)}
.dark .terms{
  margin-top:clamp(20px,2.4vw,32px); padding-top:14px;
  border-top:1px solid rgba(247,244,238,.2); font-size:.83rem; max-width:78ch;
}

/* --- standards --------------------------------------------------------- */
.notes{list-style:none; margin:0; padding:0}
.notes li{
  padding:10px 0 10px 22px; border-bottom:1px solid var(--rule); position:relative;
  font-size:.875rem;
}
.notes li:first-child{border-top:1px solid var(--rule)}
.notes li::before{
  content:""; position:absolute; left:2px; top:17px;
  width:5px; height:5px; background:var(--brass); transform:rotate(45deg);
}

/* --- form -------------------------------------------------------------- */
.field{margin-bottom:12px}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
label{
  display:block; font-size:.61rem; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--tint); margin-bottom:5px;
}
input,textarea,select{
  width:100%; font-family:var(--sans); font-size:.875rem; color:var(--forest);
  background:#fff; border:1px solid var(--rule-hard); padding:9px 11px; border-radius:0;
  transition:border-color .16s;
}
input:focus,textarea:focus,select:focus{outline:none; border-color:var(--brass)}
textarea{min-height:76px; resize:vertical}
button{
  font-family:var(--sans); cursor:pointer; font-size:.665rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; padding:11px 21px;
  border:1.5px solid var(--forest); background:var(--forest); color:var(--ivory);
  transition:background .16s;
}
button:hover,button:focus-visible{background:var(--forest-deep)}

/* --- footer ------------------------------------------------------------ */
.site-foot{background:var(--forest); color:#B2C4BD;
  padding-top:clamp(32px,3.6vw,48px); padding-bottom:clamp(32px,3.6vw,48px)}
.site-foot img{width:clamp(132px,14vw,158px); margin-bottom:14px}
.site-foot .cols{display:grid; grid-template-columns:1.6fr 1fr 1fr;
  gap:clamp(18px,2.6vw,38px); align-items:start}
.site-foot a{color:var(--ivory); text-decoration:none}
.site-foot h3{font-size:.61rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--brass); margin-bottom:.55rem}
.site-foot ul{list-style:none; margin:0; padding:0; font-size:.82rem}
.site-foot li{margin-bottom:.38rem}
.site-foot li a:hover{color:var(--brass)}
.legal{
  margin-top:clamp(22px,2.6vw,34px); padding-top:13px;
  border-top:1px solid rgba(247,244,238,.18); font-size:.735rem; color:#8AA298;
  max-width:96ch;
}

/* --- responsive -------------------------------------------------------- */
@media (max-width:980px){
  .g3{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .site-foot .cols{grid-template-columns:1fr 1fr}
  .index{grid-template-columns:repeat(3,1fr)}
  .index a:nth-child(4){border-left:none; padding-left:0}
}
@media (max-width:700px){
  .g2,.g3,.hero-grid{grid-template-columns:1fr}
  .hero-grid{align-items:start}
  .index{grid-template-columns:repeat(2,1fr)}
  .index a:nth-child(odd){border-left:none; padding-left:0}
  .field-row{grid-template-columns:1fr}
  .site-foot .cols{grid-template-columns:1fr}
  .nav{display:none}
  .nav.open{
    display:flex; position:absolute; top:56px; left:0; right:0; flex-direction:column;
    gap:0; background:var(--stock); border-bottom:1px solid var(--rule-hard);
    padding:4px var(--gut) 12px;
  }
  .nav.open a{padding:10px 0; border-bottom:1px solid var(--rule)}
  .nav-toggle{
    display:block; margin-left:auto; background:none; border:1px solid var(--rule-hard);
    color:var(--forest); padding:7px 11px; font-size:.61rem; font-weight:700;
    letter-spacing:.13em; text-transform:uppercase;
  }
  .site-head .wrap{position:relative}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important}
}

@media print{
  .site-head,.actions,form,.nav-toggle,.index{display:none}
  body{background:#fff}
  section{padding-top:14px; padding-bottom:14px; break-inside:avoid}
}
