/* ==========================================================================
   M.I.I Asset & Operations Management — site stylesheet
   Extracted from the inline style block that was duplicated on all four pages.
   Corrections to the original are noted at each rule.
   ========================================================================== */

:root{
  --ivory:#FAF4EE;
  --ivory-2:#F4ECE3;
  --ivory-3:#FFFCF9;
  --green:#28463C;
  --green-deep:#1D3630;
  --body:#3D524B;
  --dim:#63736C;
  --faint:#616D67;
  --terra:#B47850;
  --terra-deep:#9C5F38;
  --line:rgba(40,70,60,.14);
  --line-strong:rgba(40,70,60,.24);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;background:var(--ivory);color:var(--body);
  font-family:var(--sans);-webkit-font-smoothing:antialiased;
  line-height:1.6;min-height:100svh;display:flex;flex-direction:column;overflow-x:hidden;
}

/* ---------- backdrop ---------- */
.backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.backdrop::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(1000px 640px at 82% 10%, rgba(180,120,80,.10), transparent 62%),
    radial-gradient(900px 620px at 4% 92%, rgba(40,70,60,.07), transparent 66%),
    linear-gradient(170deg,#FDF9F5 0%,#FAF4EE 44%,#F3EAE0 100%);
}
.planes{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(760px,72vw);height:auto;opacity:.85;}
.plane{fill:rgba(40,70,60,.022);stroke:rgba(40,70,60,.13);stroke-width:1;}
.plane-1{animation:drift 24s ease-in-out infinite;}
.plane-2{animation:drift 24s ease-in-out infinite -8s;}
.plane-3{fill:rgba(180,120,80,.05);stroke:rgba(180,120,80,.30);animation:drift 24s ease-in-out infinite -16s;}
.plane-accent{stroke:var(--terra);stroke-width:1.4;opacity:.55;}
@keyframes drift{0%,100%{transform:translate(0,0);}50%{transform:translate(-10px,-12px);}}

.grain{
  position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(40,70,60,.055) 1px,transparent 1px);
  background-size:100% 46px;
  mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
}

/* ---------- layout ---------- */
.wrap{
  position:relative;z-index:1;flex:1 0 auto;
  width:100%;max-width:1080px;margin:0 auto;
  padding:44px 28px 24px;display:flex;flex-direction:column;
}

.brand{margin-bottom:auto;}
.brand .logo{width:clamp(180px,22vw,240px);height:auto;display:block;}
.brandline{margin:14px 0 0;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--faint);}
.brandline b{color:var(--terra-deep);font-weight:700;}

main{padding:60px 0 40px;max-width:760px;}

.eyebrow{
  font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--terra-deep);margin:0 0 26px;font-weight:700;
}

h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,5.4vw,3.5rem);line-height:1.14;letter-spacing:-.015em;
  margin:0 0 22px;color:var(--green-deep);
}
h1 em{font-style:italic;color:var(--terra);}

.lede{
  font-family:var(--serif);font-size:clamp(1.02rem,2.1vw,1.28rem);
  color:var(--body);margin:0 0 34px;max-width:52ch;line-height:1.55;
}

.rule{width:64px;height:1px;background:var(--terra);opacity:.85;margin:0 0 30px;}

.status{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--line-strong);
  border-radius:999px;padding:9px 18px;margin-bottom:38px;background:var(--ivory-3);
}
.dot{width:6px;height:6px;border-radius:50%;background:var(--terra);animation:pulse 2.6s ease-out infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(180,120,80,.5);}70%{box-shadow:0 0 0 9px rgba(180,120,80,0);}100%{box-shadow:0 0 0 0 rgba(180,120,80,0);}}

/* ---------- stages ---------- */
.stages{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);margin:0 0 42px;
}
.stage{background:var(--ivory-3);padding:21px 20px 23px;}
.stage-no{font-size:.6rem;letter-spacing:.2em;color:var(--green);font-weight:700;margin:0 0 9px;opacity:.75;}
.stage-name{font-family:var(--serif);font-size:1.05rem;color:var(--green-deep);margin:0 0 7px;letter-spacing:.01em;}
.stage-desc{font-size:.8rem;color:var(--dim);margin:0;line-height:1.5;}

.doors{font-size:.88rem;color:var(--body);margin:-26px 0 42px;}
.doors strong{color:var(--terra-deep);font-weight:700;}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;border-top:1px solid var(--line-strong);padding-top:36px;}
.contact h2{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--green-deep);margin:0 0 14px;}
.contact p{font-size:.88rem;color:var(--body);margin:0 0 20px;max-width:36ch;}
.cline{margin:0 0 12px;font-size:.88rem;color:var(--body);}
.cline span{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:3px;}
.cline a{color:var(--terra-deep);text-decoration:none;border-bottom:1px solid rgba(156,95,56,.35);}
.cline a:hover{border-bottom-color:var(--terra-deep);}

form{display:grid;gap:13px;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
label{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:6px;}
input,textarea{
  width:100%;background:var(--ivory-3);border:1px solid var(--line-strong);
  color:var(--green-deep);font-family:inherit;font-size:.9rem;
  padding:11px 13px;border-radius:2px;transition:border-color .18s,box-shadow .18s;
}
input::placeholder,textarea::placeholder{color:var(--faint);}
input:focus,textarea:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(180,120,80,.13);}
textarea{resize:vertical;min-height:92px;}
.botcheck{position:absolute!important;left:-9999px!important;}

button{
  justify-self:start;background:var(--terra-deep);color:#FFF9F3;border:none;
  font-family:inherit;font-weight:700;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;padding:13px 30px;border-radius:2px;cursor:pointer;
  transition:background .18s,transform .18s;
}
button:hover{background:#8E5531;}
button:active{transform:translateY(1px);}
button:disabled{opacity:.55;cursor:default;}

.consent{font-size:.68rem;color:var(--faint);line-height:1.5;margin:0;}
.consent a{color:var(--dim);}
.msg{font-size:.82rem;margin:0;padding:10px 13px;border-radius:2px;}
.msg.ok{color:#25563E;background:rgba(60,130,90,.10);border:1px solid rgba(60,130,90,.32);}
.msg.err{color:#8C2F2F;background:rgba(160,60,60,.08);border:1px solid rgba(160,60,60,.30);}

/* ---------- footer ---------- */
footer{position:relative;z-index:1;flex-shrink:0;border-top:1px solid var(--line-strong);padding:24px 28px 30px;margin-top:20px;background:rgba(244,236,227,.5);}
.finner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;align-items:baseline;}
.finner p{margin:0;font-size:.7rem;color:var(--faint);line-height:1.7;}
.finner strong{color:var(--green);}
.finner a{color:var(--faint);text-decoration:none;}
.finner a:hover{color:var(--terra-deep);}
.flinks{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.7rem;}

/* ---------- skip link + focus (fixed: the accessibility statement promised
   both; neither existed in the original markup) ---------- */
.skip{
  position:absolute;left:16px;top:-64px;z-index:99;
  background:var(--green-deep);color:#FFF9F3;text-decoration:none;
  font-size:.78rem;letter-spacing:.08em;padding:12px 18px;border-radius:2px;
  transition:top .16s ease;
}
.skip:focus{top:16px;}
:focus-visible{outline:3px solid var(--terra-deep);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){ .skip{transition:none;} }

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(14px);animation:rise .85s cubic-bezier(.22,.7,.3,1) forwards;}
.d1{animation-delay:.05s}.d2{animation-delay:.16s}.d3{animation-delay:.27s}
.d4{animation-delay:.38s}.d5{animation-delay:.49s}.d6{animation-delay:.60s}.d7{animation-delay:.71s}
@keyframes rise{to{opacity:1;transform:none;}}

/* ==========================================================================
   LEGAL / POLICY PAGES
   The original build inlined only the homepage stylesheet on every page, so
   these four pages carried markup — tables, lists, .legal-back, .legal-date —
   that had no rules at all and fell back to browser defaults. Styled here to
   the same system: serif headings, ivory grounds, terra accents.
   ========================================================================== */

.legal-back{
  display:inline-block;margin:0 0 26px;font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--terra-deep);text-decoration:none;font-weight:700;
}
.legal-back:hover{color:var(--green-deep);}

.legal-date,.policy-date{
  display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint);margin:0 0 34px;padding-bottom:22px;border-bottom:1px solid var(--line-strong);
}
.policy-hero{margin:0 0 30px;}

main h2{
  font-family:var(--serif);font-weight:400;font-size:clamp(1.15rem,2.4vw,1.42rem);
  color:var(--green-deep);letter-spacing:-.005em;line-height:1.3;margin:36px 0 12px;
}
main h3{
  font-family:var(--sans);font-weight:700;font-size:.84rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--green);margin:26px 0 10px;
}
main p{margin:0 0 15px;max-width:68ch;}
main ul,main ol{margin:0 0 18px;padding-left:20px;max-width:68ch;}
main li{margin-bottom:8px;}
main li::marker{color:var(--terra);}
main a{color:var(--terra-deep);text-decoration:none;border-bottom:1px solid rgba(156,95,56,.35);}
main a:hover{border-bottom-color:var(--terra-deep);}
main a.legal-back{border-bottom:0;}

code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;
  background:var(--ivory-2);color:var(--green-deep);
  padding:2px 6px;border-radius:2px;border:1px solid var(--line);
}

/* tables were unstyled and overflowed the viewport below ~520px */
.table-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 26px;
  border:1px solid var(--line-strong);background:var(--ivory-3);
}
.table-wrap table{width:100%;min-width:560px;border-collapse:collapse;font-size:.8rem;margin:0;}
.table-wrap th,.table-wrap td{
  text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line);
}
.table-wrap th{
  background:var(--ivory-2);color:var(--green-deep);font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;white-space:nowrap;
}
.table-wrap td{color:var(--body);line-height:1.55;}
.table-wrap tr:last-child td{border-bottom:0;}

@media (max-width:860px){ .contact{grid-template-columns:1fr;gap:34px;} }
@media (max-width:620px){
  .wrap{padding:30px 20px 20px;}
  main{padding:42px 0 30px;}
  .stages{grid-template-columns:1fr;}
  .row{grid-template-columns:1fr;}
  .planes{opacity:.4;right:-28%;}
  footer{padding:22px 20px 26px;}
}
@media (prefers-reduced-motion:reduce){
  .rv{animation:none;opacity:1;transform:none;}
  .plane-1,.plane-2,.plane-3,.dot{animation:none;}
}
