/* Montvannah Capital — site styles */
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --navy:#0F1B2D; --navy-2:#13213A; --harbour:#22324A; --rule:#2A3A52;
  --slate:#5B6675; --mist:#8E9AAB; --stone:#C9C1B0; --ivory:#F4F1EA;
  --brass:#C2A574; --brass-deep:#A88A5A; --brass-text:#7A6036;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
  --gutter:clamp(20px,6vw,96px); --max:1240px; --nav-h:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--navy)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--navy);color:var(--ivory);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ivory);color:var(--navy);padding:10px 16px;z-index:100;text-decoration:none}
.skip:focus{left:8px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
[id]{scroll-margin-top:calc(var(--nav-h) + 16px)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:50;transition:background .4s ease,border-color .4s ease;border-bottom:1px solid transparent}
.site-header.scrolled,.site-header.solid{background:rgba(15,27,45,.94);border-bottom-color:var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.site-header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{height:34px;width:auto}
.nav{display:flex;gap:36px;align-items:center}
.nav a{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:#D9D4C7;padding:8px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--brass);border-bottom-color:var(--brass)}
.menu-btn{display:none;background:none;border:0;color:var(--ivory);width:44px;height:44px;padding:10px;cursor:pointer}
.menu-btn span{display:block;height:1.5px;background:currentColor;margin:6px 0;transition:transform .3s,opacity .3s}
@media (max-width:820px){
  .menu-btn{display:block}
  .nav{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--navy);border-bottom:1px solid var(--rule);padding:8px var(--gutter) 24px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
  .nav a{display:block;width:100%;padding:16px 0;font-size:13px;border-bottom:1px solid var(--rule)}
  .nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--rule)}
  .menu-open .nav{opacity:1;transform:none;visibility:visible}
  .menu-open .site-header{background:var(--navy);border-bottom-color:var(--rule)}
  .menu-open .menu-btn span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .menu-open .menu-btn span:nth-child(2){opacity:0}
  .menu-open .menu-btn span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .brand img{height:28px}
}

/* Type */
.eyebrow{display:block;font:500 12px/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--brass);margin:0 0 28px}
.light .eyebrow{color:var(--brass-text)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.005em}
h1{font-size:clamp(46px,7.4vw,96px)}
h2{font-size:clamp(36px,4.8vw,60px)}
h3{font-size:clamp(26px,2.4vw,32px);font-weight:500;line-height:1.2}
p{margin:0 0 1em;max-width:62ch}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.6;color:var(--mist)}
.light .lead{color:var(--slate)}
.rule{height:1px;background:var(--brass);border:0;margin:0}

/* Buttons */
.btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid var(--brass);transition:background .25s,color .25s}
.btn-solid{background:var(--brass);color:var(--navy)}
.btn-solid:hover{background:var(--ivory);border-color:var(--ivory)}
.btn-line{color:var(--ivory);border-color:rgba(244,241,234,.4)}
.btn-line:hover{border-color:var(--brass);color:var(--brass)}

/* Hero */
.hero{--ridge-h:clamp(170px,28vh,320px);position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--nav-h) + 48px) 0 calc(var(--ridge-h) + 32px)}
.hero .wrap{position:relative;z-index:2}
.hero h1{max-width:16ch}
.hero .lead{max-width:44ch;margin-top:32px}
.ridges{position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none}
.ridges svg{width:100%;height:var(--ridge-h)}
.ridge{will-change:transform}
.scroll-cue{position:absolute;left:50%;bottom:28px;z-index:3;transform:translateX(-50%);width:1px;height:56px;background:linear-gradient(var(--brass),transparent);opacity:.7}
@media (prefers-reduced-motion:no-preference){.scroll-cue{animation:cue 2.4s ease-in-out infinite}}
@keyframes cue{0%,100%{transform:translateX(-50%) scaleY(.4);transform-origin:top}50%{transform:translateX(-50%) scaleY(1);transform-origin:top}}

/* Sections */
section{position:relative}
.band{padding:clamp(96px,14vw,184px) 0}
.light{background:var(--ivory);color:var(--navy)}
.light .rule{background:var(--brass-deep)}

/* Statement */
.statement{background:var(--navy-2);border-bottom:1px solid var(--rule)}
.statement p{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.9vw,52px);line-height:1.22;max-width:24ch;margin:0;color:var(--ivory)}
.js .statement p .w{opacity:.16;transition:opacity .35s ease}
.js .statement p .w.on{opacity:1}

/* Approach */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,64px);margin-top:clamp(56px,7vw,96px)}
@media (max-width:900px){.grid-3{grid-template-columns:1fr}}
.principle .num{display:block;font:500 13px/1 var(--sans);letter-spacing:.2em;color:var(--brass);margin:24px 0 20px}
.principle h3{margin-bottom:16px}
.principle p{color:var(--mist)}

/* Pillars */
.pillars .head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:end}
@media (max-width:900px){.pillars .head{grid-template-columns:1fr;gap:24px}}
.pillar{border-top:1px solid var(--brass-deep);padding-top:28px}
.pillar .roman{display:block;font:600 56px/1 var(--serif);color:var(--brass-text);margin-bottom:28px}
.pillar h3{margin-bottom:16px;color:var(--navy)}
.pillar p{color:var(--slate)}
.pillar ul{list-style:none;margin:24px 0 0;padding:0}
.pillar li{font-size:15px;padding:12px 0;border-top:1px solid var(--stone);color:var(--navy)}

/* Geography */
.geo{overflow:hidden}
.geo-mark{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(64vw,760px);opacity:.06;pointer-events:none}
.geo .wrap{position:relative}
.countries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);margin-top:clamp(56px,7vw,96px);max-width:900px}
@media (max-width:700px){.countries{grid-template-columns:1fr}}
.country{border-top:1px solid var(--rule);padding-top:28px}
.country h3{font-size:clamp(30px,3vw,40px);margin-bottom:14px}
.country p{color:var(--mist)}

/* Working with us */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);margin-top:clamp(56px,7vw,96px)}
@media (max-width:800px){.two{grid-template-columns:1fr}}
.two article{border-top:1px solid var(--brass-deep);padding-top:28px}
.two h3{margin-bottom:16px}
.two p{color:var(--slate)}

/* CTA */
.cta{text-align:left}
.mt{margin-top:28px}
.cta h2{max-width:14ch}
.cta .lead{margin-top:24px}

/* Footer */
.site-footer{border-top:1px solid var(--rule);padding:72px 0 40px;font-size:14px;color:var(--mist)}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--rule)}
.foot-top img{height:40px;width:auto}
.foot-nav{display:flex;flex-wrap:wrap;gap:28px}
.foot-nav a{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:#D9D4C7}
.foot-nav a:hover{color:var(--brass)}
.legal{padding-top:32px;display:grid;gap:10px}
.legal p{max-width:90ch;margin:0;font-size:13px;line-height:1.6}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.12s}.js .reveal.d2{transition-delay:.24s}.js .reveal.d3{transition-delay:.36s}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.js .statement p .w{opacity:1}}

/* Inner pages */
.page-head{padding:calc(var(--nav-h) + clamp(72px,10vw,140px)) 0 clamp(56px,7vw,96px);border-bottom:1px solid var(--rule)}
.page-head h1{font-size:clamp(44px,6vw,80px)}
.page-head .lead{margin-top:28px;max-width:52ch}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(48px,7vw,120px)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.form{display:grid;gap:28px}
.field{display:grid;gap:10px}
.field label{font:500 12px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.field input,.field select,.field textarea{width:100%;font:400 17px/1.5 var(--sans);color:var(--ivory);background:transparent;border:0;border-bottom:1px solid #3A4A63;border-radius:0;padding:12px 0;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C2A574' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:28px}
.field select option{background:var(--navy);color:var(--ivory)}
.field textarea{min-height:160px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--brass)}
.field .hint{font-size:13px;color:var(--mist)}
.row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
@media (max-width:640px){.row-2{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{font-size:13px;color:var(--mist);max-width:60ch}
.consent a{color:var(--brass)}
.notice{padding:20px 24px;border:1px solid var(--brass);color:var(--ivory);margin-bottom:32px}
.notice[hidden]{display:none}
.notice.err{border-color:#C98A7A}
.aside h3{font-size:26px;margin-bottom:14px}
.aside p{color:var(--mist);font-size:15px}
.aside .block{border-top:1px solid var(--rule);padding-top:24px;margin-bottom:40px}
.aside a{color:var(--brass)}

/* Prose (privacy) */
.prose{max-width:760px}
.prose h2{font-size:clamp(26px,2.6vw,34px);font-weight:500;margin:56px 0 16px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#C9CFD8;max-width:none}
.prose ul{padding-left:20px;margin:0 0 1em}
.prose li{margin-bottom:8px}
.prose a{color:var(--brass)}
.prose .meta{font-size:14px;color:var(--mist)}

/* 404 */
.nf{min-height:100vh;display:flex;align-items:center}
