:root { --navy:#061a30; --navy-soft:#0d2946; --gold:#d5a23e; --gold-light:#f0c86e; --ivory:#f4f0e8; --ink:#071524; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:white; font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.hero { min-height:100svh; position:relative; display:flex; flex-direction:column; overflow:hidden; background:var(--ink); }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:56% center; z-index:0; }
.hero-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(2,12,23,.97) 0%,rgba(3,18,34,.88) 35%,rgba(3,17,31,.25) 70%,rgba(1,8,15,.2) 100%),linear-gradient(0deg,rgba(1,8,15,.72),transparent 38%); }
.site-header { height:112px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:relative; z-index:3; border-bottom:1px solid rgba(255,255,255,.16); }
.brand { display:inline-flex; width:150px; height:100px; align-items:center; overflow:hidden; }
.brand img { object-fit:contain; width:150px; height:100px; mix-blend-mode:screen; }
nav { display:flex; gap:36px; font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,255,255,.74); }
nav a { transition:color .2s ease; }
nav a:hover { color:var(--gold-light); }
.header-cta { justify-self:end; padding:14px 19px; border:1px solid rgba(213,162,62,.65); color:var(--gold-light); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.hero-content { position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:center; padding:74px 0 66px; }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--gold-light); text-transform:uppercase; letter-spacing:.22em; font-size:11px; margin:0 0 26px; }
.eyebrow span { width:36px; height:1px; background:var(--gold); }
h1 { margin:0; max-width:760px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(54px,6.8vw,98px); line-height:.96; font-weight:400; letter-spacing:-.045em; }
h1 em { color:var(--gold-light); font-weight:400; }
.hero-copy { max-width:595px; margin:30px 0 0; color:rgba(255,255,255,.7); font-size:16px; line-height:1.8; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:38px; }
.button { display:inline-flex; align-items:center; gap:30px; padding:17px 21px; text-transform:uppercase; font-size:11px; letter-spacing:.12em; }
.button-gold { background:var(--gold); color:#08182a; }
.button-gold:hover { background:var(--gold-light); }
.text-link { font-size:12px; letter-spacing:.08em; color:rgba(255,255,255,.78); }
.text-link span { margin-left:12px; color:var(--gold-light); }
.hero-foot { position:relative; z-index:2; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.14); padding-block:20px 25px; color:rgba(255,255,255,.48); font-size:10px; letter-spacing:.17em; text-transform:uppercase; }
.hero-foot p { margin:0; }
.scroll-note span { color:var(--gold-light); margin-left:10px; }
@media (max-width:760px) {
  .shell { width:min(100% - 32px,1180px); }
  .site-header { height:88px; grid-template-columns:1fr auto; }
  nav { display:none; }
  .brand { width:112px; height:74px; }
  .brand img { width:112px; height:74px; }
  .header-cta { font-size:9px; padding:11px 12px; }
  .hero-image { object-position:66% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(2,12,23,.97),rgba(2,14,26,.72)),linear-gradient(0deg,rgba(1,8,15,.8),transparent 48%); }
  .hero-content { padding:50px 0 40px; justify-content:flex-end; }
  h1 { font-size:clamp(48px,15vw,68px); }
  .hero-copy { font-size:14px; line-height:1.65; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .hero-foot { padding-bottom:18px; }
  .scroll-note { display:none; }
}

.manifesto { background:var(--ivory); color:var(--ink); padding:130px 0; position:relative; overflow:hidden; }
.manifesto-grid { display:grid; grid-template-columns:.75fr 1.15fr .65fr; gap:70px; align-items:center; }
.kicker { margin:0 0 20px; color:#a37421; font-size:10px; text-transform:uppercase; letter-spacing:.24em; font-weight:700; }
h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(44px,5vw,72px); line-height:1.03; font-weight:400; letter-spacing:-.04em; }
h2 em { color:#b78529; font-weight:400; }
.manifesto-copy .lead { margin:0 0 24px; font-family:Georgia,'Times New Roman',serif; font-size:26px; line-height:1.45; }
.manifesto-copy .lead strong { color:#a37421; font-weight:400; }
.manifesto-copy > p:not(.lead) { color:#57616b; font-size:15px; line-height:1.85; }
.signature { display:flex; align-items:center; gap:18px; margin-top:32px; padding-top:24px; border-top:1px solid #d7cdbd; }
.signature-mark { width:50px; height:50px; display:grid; place-items:center; color:#b78529; font:italic 34px Georgia,serif; border:1px solid #c7ad75; border-radius:50%; }
.signature div { display:flex; flex-direction:column; gap:6px; }
.signature strong { font:17px Georgia,serif; }
.signature small { color:#8a8c8d; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.arch-art { height:390px; position:relative; border-left:1px solid #c9b88f; border-right:1px solid #c9b88f; display:grid; place-items:center; }
.arch-line { position:absolute; bottom:0; border:1px solid rgba(183,133,41,.42); border-bottom:0; border-radius:200px 200px 0 0; }
.arch-one { width:100%; height:88%; }
.arch-two { width:76%; height:68%; }
.arch-three { width:50%; height:48%; }
.arch-art b { color:#b78529; font:italic 44px Georgia,serif; z-index:1; }
.expertise { background:#f8f6f1; color:var(--ink); padding:130px 0; position:relative; overflow:hidden; }
.section-heading-row { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; margin-bottom:65px; }
.section-heading-row > p { max-width:450px; color:#68717b; font-size:14px; line-height:1.8; margin:0 0 4px; }
.expertise-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; border-top:1px solid #d9d4cb; border-bottom:1px solid #d9d4cb; }
.expertise-card { min-height:490px; padding:34px; border-right:1px solid #d9d4cb; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.expertise-card:last-child { border-right:0; }
.expertise-card.featured { background:var(--navy); color:white; }
.card-number { color:#b78529; font-size:10px; letter-spacing:.18em; }
.expertise-card h3 { font:30px/1.1 Georgia,serif; margin:0 0 18px; }
.expertise-card p { color:#68717b; font-size:14px; line-height:1.75; margin:0; }
.expertise-card.featured p { color:rgba(255,255,255,.62); }
.expertise-card a { display:inline-flex; justify-content:space-between; width:100%; margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.16); color:var(--gold-light); text-transform:uppercase; font-size:9px; letter-spacing:.15em; }
.card-arch { position:absolute; width:260px; height:320px; right:-25px; top:48px; border:1px solid rgba(213,162,62,.25); border-bottom:0; border-radius:160px 160px 0 0; }
.principles { background:var(--navy); padding:130px 0; }
.principles-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:120px; }
.kicker.light { color:var(--gold-light); }
.principles-title h2 em { color:var(--gold-light); }
.principle-list article { display:grid; grid-template-columns:60px 1fr; gap:22px; padding:32px 0; border-top:1px solid rgba(255,255,255,.15); }
.principle-list article:last-child { border-bottom:1px solid rgba(255,255,255,.15); }
.principle-list article > span { color:var(--gold-light); font-size:10px; letter-spacing:.18em; }
.principle-list h3 { margin:0 0 10px; font:26px Georgia,serif; }
.principle-list p { margin:0; max-width:540px; color:rgba(255,255,255,.58); font-size:14px; line-height:1.7; }
.legacy { background:#e7dfd1; color:var(--ink); padding:120px 0; }
.legacy-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.year-block { display:flex; flex-direction:column; color:#b78529; font:clamp(120px,19vw,250px)/.63 Georgia,serif; letter-spacing:-.1em; opacity:.9; }
.year-block span:last-child { margin-left:24%; color:var(--navy); }
.legacy-copy > p:not(.kicker) { color:#56606a; font-size:15px; line-height:1.85; max-width:550px; }
.asrep-seal { width:190px; height:190px; border:1px solid #b78529; border-radius:50%; margin-top:36px; display:flex; flex-direction:column; justify-content:center; align-items:center; color:var(--navy); }
.asrep-seal strong { font:30px Georgia,serif; letter-spacing:.15em; }
.asrep-seal span { font-size:8px; letter-spacing:.26em; margin-top:4px; }
.asrep-seal small { color:#9b7025; font-size:8px; letter-spacing:.1em; margin-top:17px; text-transform:uppercase; }
.process { background:#f8f6f1; color:var(--ink); padding:120px 0; position:relative; overflow:hidden; }
.section-heading-row.compact { margin-bottom:55px; align-items:center; }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #d6d0c7; }
.process-steps article { padding:30px 28px 10px 0; border-right:1px solid #d6d0c7; min-height:245px; }
.process-steps article + article { padding-left:28px; }
.process-steps article:last-child { border-right:0; }
.process-steps span { color:#b78529; font-size:10px; letter-spacing:.17em; }
.process-steps h3 { font:23px Georgia,serif; margin:48px 0 14px; }
.process-steps p { color:#6b7278; font-size:13px; line-height:1.7; margin:0; }
.contact { min-height:620px; background:#020b15; position:relative; overflow:hidden; display:flex; align-items:center; text-align:center; }
.contact::before,.contact::after { content:''; position:absolute; left:50%; bottom:-55%; transform:translateX(-50%); width:820px; height:820px; border:1px solid rgba(213,162,62,.25); border-radius:50% 50% 0 0; }
.contact::after { width:600px; height:650px; bottom:-38%; }
.contact-glow { position:absolute; inset:0; background:radial-gradient(circle at 50% 80%,rgba(181,125,28,.22),transparent 43%); }
.contact-inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.contact h2 em { color:var(--gold-light); }
.contact-inner > p:not(.kicker) { color:rgba(255,255,255,.58); margin:26px 0 0; }
.contact-details { width:min(940px,100%); display:grid; grid-template-columns:1.5fr .75fr .9fr; gap:0; margin:42px 0 0; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); font-style:normal; text-align:left; }
.contact-details > * { min-height:105px; display:flex; flex-direction:column; justify-content:center; padding:20px 30px; border-right:1px solid rgba(255,255,255,.14); }
.contact-details > *:last-child { border-right:0; }
.contact-details span { color:var(--gold-light); font-size:9px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:12px; }
.contact-details p,.contact-details strong { margin:0; color:rgba(255,255,255,.78); font-size:12px; line-height:1.65; font-weight:400; }
.contact-details a { transition:background .2s ease; }
.contact-details a:hover { background:rgba(213,162,62,.08); }
.contact-button { margin-top:34px; }
footer { background:#01070d; padding:55px 0 26px; }
.footer-top { display:grid; grid-template-columns:.8fr 1fr 1fr; align-items:center; padding-bottom:42px; }
.footer-brand { width:180px; height:120px; overflow:hidden; display:block; }
.footer-brand img { width:180px; height:120px; object-fit:contain; mix-blend-mode:screen; }
.footer-top > p { color:rgba(255,255,255,.52); font:18px/1.5 Georgia,serif; }
.footer-top nav { justify-self:end; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.36); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.footer-bottom a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }

@media (max-width:900px) {
  .manifesto-grid { grid-template-columns:1fr 1.2fr; }
  .arch-art { display:none; }
  .expertise-grid { grid-template-columns:1fr; }
  .expertise-card { min-height:330px; border-right:0; border-bottom:1px solid #d9d4cb; }
  .principles-grid,.legacy-grid { gap:60px; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .process-steps article:nth-child(2) { border-right:0; }
  .footer-top { grid-template-columns:auto 1fr; }
  .footer-top nav { display:none; }
}

@media (max-width:760px) {
  .manifesto,.expertise,.principles,.legacy,.process { padding:86px 0; }
  .manifesto-grid,.section-heading-row,.principles-grid,.legacy-grid { grid-template-columns:1fr; gap:48px; }
  .section-heading-row { margin-bottom:44px; }
  .expertise-card { padding:28px; min-height:310px; }
  .principle-list article { grid-template-columns:42px 1fr; }
  .year-block { font-size:42vw; }
  .process-steps { grid-template-columns:1fr; }
  .process-steps article,.process-steps article + article { min-height:auto; padding:26px 0 28px; border-right:0; border-bottom:1px solid #d6d0c7; }
  .process-steps h3 { margin-top:24px; }
  .contact { min-height:580px; }
  .contact h2 { font-size:44px; }
  .contact { padding:86px 0; }
  .contact-details { grid-template-columns:1fr; margin-top:34px; }
  .contact-details > * { min-height:auto; padding:20px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); text-align:center; }
  .contact-details > *:last-child { border-bottom:0; }
  .footer-top { grid-template-columns:1fr; gap:14px; }
  .footer-top > p { font-size:16px; }
  .footer-bottom { flex-direction:column; gap:12px; line-height:1.5; }
}

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

.manifesto::after,.expertise::after,.process::after {
  content:'';
  position:absolute;
  width:min(760px,72vw);
  aspect-ratio:3/2;
  top:50%;
  transform:translateY(-50%);
  background:url('misi-logo.png') center/contain no-repeat;
  opacity:.035;
  filter:grayscale(1);
  mix-blend-mode:multiply;
  pointer-events:none;
  z-index:0;
}
.manifesto::after,.process::after { right:-180px; }
.expertise::after { left:-210px; }
.manifesto > .shell,.expertise > .shell,.process > .shell { position:relative; z-index:1; }

@media (max-width:760px) {
  .manifesto::after,.expertise::after,.process::after { width:620px; opacity:.028; }
  .manifesto::after,.process::after { right:-300px; }
  .expertise::after { left:-330px; }
}
