/* ============================================================
   Morhiby Investment Group — shared stylesheet
   Evergreen + warm sand + gold. Corporate, restrained, premium.
   ============================================================ */

:root {
  --ink: #1c2620;
  --evergreen: #21443a;
  --evergreen-soft: #2f5a4d;
  --sand: #f5f0e6;
  --sand-deep: #ebe2d2;
  --cream: #fbf8f2;
  --gold: #c8a86a;
  --gold-deep: #b08f4f;
  --muted: #6f7a72;
  --line: #e2dccd;
  --white: #ffffff;

  --serif: "Cormorant Garamond", "Hoefler Text", Georgia, serif;
  --sans: "Outfit", "Helvetica Neue", Arial, sans-serif;

  --maxw: 1180px;
  --shadow: 0 18px 50px -22px rgba(28,38,32,0.35);
  --shadow-soft: 0 10px 30px -18px rgba(28,38,32,0.28);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--sans); color: var(--ink); background: var(--cream); line-height: 1.65; font-size: 17px; -webkit-font-smoothing: antialiased; overflow-x: hidden; }

h1,h2,h3,h4 { font-family: var(--serif); font-weight: 500; line-height: 1.08; color: var(--evergreen); }
h1 { font-size: clamp(2.6rem,6vw,4.6rem); letter-spacing: -0.01em; }
h2 { font-size: clamp(1.9rem,4vw,3rem); letter-spacing: -0.01em; }
h3 { font-size: clamp(1.3rem,2.5vw,1.8rem); }
p { margin-bottom: 1rem; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }
.eyebrow { font-family: var(--sans); text-transform: uppercase; letter-spacing: 0.28em; font-size: 0.72rem; font-weight: 600; color: var(--gold-deep); margin-bottom: 1rem; display: inline-block; }

/* buttons */
.btn { display:inline-block; font-family:var(--sans); font-weight:600; font-size:0.86rem; letter-spacing:0.06em; text-transform:uppercase; padding:16px 34px; border-radius:2px; cursor:pointer; border:1.5px solid transparent; transition:all .35s cubic-bezier(.2,.8,.2,1); }
.btn-gold { background:var(--gold); color:var(--ink); }
.btn-gold:hover { background:var(--gold-deep); transform:translateY(-2px); box-shadow:var(--shadow-soft); }
.btn-outline { border-color:var(--evergreen); color:var(--evergreen); background:transparent; }
.btn-outline:hover { background:var(--evergreen); color:var(--cream); }
.btn-ghost-light { border-color:rgba(255,255,255,0.6); color:#fff; }
.btn-ghost-light:hover { background:#fff; color:var(--evergreen); }

/* header */
.site-header { position:sticky; top:0; z-index:50; background:rgba(251,248,242,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav { display:flex; align-items:center; justify-content:space-between; padding-top:20px; padding-bottom:20px; }
.brand { font-family:var(--serif); font-size:1.6rem; color:var(--evergreen); line-height:1; }
.brand span { display:block; font-family:var(--sans); font-size:0.58rem; letter-spacing:0.32em; text-transform:uppercase; color:var(--gold-deep); margin-top:5px; }
.nav-links { display:flex; gap:32px; align-items:center; list-style:none; }
.nav-links a { font-size:0.92rem; font-weight:500; position:relative; padding:4px 0; }
.nav-links a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--gold); transition:width .3s; }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.burger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px; }
.burger span { width:26px; height:2px; background:var(--evergreen); transition:.3s; }

/* hero */
.hero { position:relative; background:linear-gradient(135deg,var(--evergreen) 0%,var(--ink) 100%); color:var(--cream); overflow:hidden; }
.hero::after { content:""; position:absolute; inset:0; background-image:radial-gradient(circle at 78% 25%,rgba(200,168,106,0.16),transparent 45%); pointer-events:none; }
.hero .wrap { position:relative; z-index:2; padding-top:120px; padding-bottom:120px; max-width:880px; }
.hero h1 { color:var(--cream); }
.hero h1 em { font-style:italic; color:var(--gold); }
.hero p.lead { font-size:1.22rem; color:rgba(251,248,242,0.85); max-width:40em; margin:26px 0 36px; }
.hero-cta { display:flex; gap:16px; flex-wrap:wrap; }

/* page hero */
.page-hero { background:linear-gradient(135deg,var(--evergreen),var(--ink)); color:var(--cream); padding:84px 0 70px; position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; inset:0; background-image:radial-gradient(circle at 85% 30%,rgba(200,168,106,0.15),transparent 45%); }
.page-hero .wrap { position:relative; z-index:2; max-width:820px; }
.page-hero h1 { color:var(--cream); }
.page-hero .eyebrow { color:var(--gold); }
.page-hero p { color:rgba(251,248,242,0.85); font-size:1.12rem; margin-top:16px; max-width:42em; }
.crumbs { font-size:0.84rem; color:rgba(251,248,242,0.7); margin-top:18px; }
.crumbs a:hover { color:var(--gold); }

/* sections */
.section { padding:92px 0; }
.section.alt { background:var(--sand); }
.section-head { max-width:38em; margin-bottom:54px; }
.section-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.section-head p { color:var(--muted); font-size:1.08rem; margin-top:14px; }

/* division cards (home) */
.divisions { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.div-card { position:relative; background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden; padding:42px 38px; transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s; display:flex; flex-direction:column; }
.div-card::before { content:""; position:absolute; left:0; top:0; height:3px; width:0; background:var(--gold); transition:width .4s; }
.div-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.div-card:hover::before { width:100%; }
.div-card .ico { width:48px; height:48px; color:var(--evergreen); margin-bottom:22px; }
.div-card h3 { margin-bottom:12px; }
.div-card p { color:var(--muted); font-size:0.98rem; margin-bottom:22px; }
.div-card .more { margin-top:auto; font-size:0.82rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); }
.div-card .more::after { content:" \2192"; }

/* stat / values row */
.values { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.value { text-align:center; }
.value .ico { width:46px; height:46px; margin:0 auto 16px; color:var(--evergreen); }
.value h4 { font-family:var(--serif); font-size:1.4rem; color:var(--evergreen); margin-bottom:8px; }
.value p { color:var(--muted); font-size:0.96rem; margin:0; }

/* split */
.split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.split .figure { aspect-ratio:5/4; border-radius:3px; overflow:hidden; box-shadow:var(--shadow); }
.split ul { list-style:none; margin-top:20px; display:grid; gap:14px; }
.split ul li { padding-left:30px; position:relative; }
.split ul li::before { content:""; position:absolute; left:0; top:9px; width:14px; height:14px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(200,168,106,0.2); }

/* division detail page feature list */
.feature-list { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:8px; }
.feature { background:var(--white); border:1px solid var(--line); border-radius:6px; padding:30px 28px; }
.feature .ico { width:38px; height:38px; color:var(--evergreen); margin-bottom:16px; }
.feature h3 { font-size:1.3rem; margin-bottom:8px; }
.feature p { color:var(--muted); font-size:0.96rem; margin:0; }

/* image placeholder */
.img-ph { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:10px; background:repeating-linear-gradient(45deg,rgba(200,168,106,0.06) 0 12px,transparent 12px 24px),var(--sand-deep); color:var(--muted); font-size:0.74rem; letter-spacing:0.08em; text-transform:uppercase; border:1px dashed var(--gold-deep); }
.img-ph svg { width:36px; height:36px; opacity:0.5; }

/* banner */
.banner { background:linear-gradient(135deg,var(--evergreen),var(--ink)); color:var(--cream); text-align:center; padding:86px 0; position:relative; overflow:hidden; }
.banner::after { content:""; position:absolute; inset:0; background-image:radial-gradient(circle at 20% 80%,rgba(200,168,106,0.18),transparent 50%); }
.banner .wrap { position:relative; z-index:2; }
.banner h2 { color:var(--cream); max-width:18em; margin:0 auto 28px; }
.banner h2 em { font-style:italic; color:var(--gold); }

/* contact */
.contact-grid { display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start; }
.info-block { margin-bottom:28px; }
.info-block h4 { font-family:var(--sans); font-size:0.76rem; text-transform:uppercase; letter-spacing:0.16em; color:var(--gold-deep); margin-bottom:8px; }
.info-block p, .info-block a { color:var(--ink); font-size:1.05rem; }
.info-block a:hover { color:var(--gold-deep); }
.form-card { background:var(--white); border:1px solid var(--line); border-radius:4px; padding:44px; box-shadow:var(--shadow-soft); }
.field { margin-bottom:20px; }
.field label { display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.1em; font-weight:600; color:var(--evergreen); margin-bottom:8px; }
.field input, .field select, .field textarea { width:100%; padding:14px 16px; font-family:var(--sans); font-size:1rem; border:1px solid var(--line); border-radius:3px; background:var(--cream); color:var(--ink); transition:border-color .3s, box-shadow .3s; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,168,106,0.18); }
.field textarea { resize:vertical; min-height:120px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-msg { margin-top:14px; font-size:0.92rem; min-height:1.2em; }
.form-msg.ok { color:var(--evergreen); }
.form-msg.err { color:#b3402e; }

/* footer */
.site-footer { background:var(--ink); color:rgba(251,248,242,0.78); padding:72px 0 32px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; }
.site-footer h4 { font-family:var(--sans); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.16em; color:var(--gold); margin-bottom:18px; }
.site-footer .brand { color:var(--cream); }
.site-footer a:hover { color:var(--gold); }
.site-footer ul { list-style:none; display:grid; gap:10px; font-size:0.94rem; }
.foot-bottom { margin-top:54px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.12); display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; font-size:0.82rem; color:rgba(251,248,242,0.55); }

/* reveal */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.in { opacity:1; transform:none; }

/* contrast safety on green/dark */
.hero, .hero h1, .hero p, .page-hero, .page-hero h1, .page-hero p, .banner, .banner h2, .banner p,
.site-footer, .site-footer p, .site-footer li, .site-footer a, .site-footer span { color:var(--cream); }
.hero h1 em, .banner h2 em, .page-hero .eyebrow, .site-footer h4, .site-footer .brand span { color:var(--gold); }
.hero .eyebrow { color:var(--gold); }
.site-footer ul, .site-footer p { color:rgba(251,248,242,0.78); }

/* responsive */
@media (max-width:980px){
  .divisions, .split, .contact-grid, .feature-list { grid-template-columns:1fr; gap:36px; }
  .values { grid-template-columns:1fr; gap:30px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px){
  body { font-size:16px; }
  .nav-links { position:fixed; inset:0 0 0 30%; background:var(--cream); flex-direction:column; justify-content:center; padding:40px; gap:26px; transform:translateX(100%); transition:transform .4s; box-shadow:var(--shadow); z-index:60; }
  .nav-links.open { transform:none; }
  .burger { display:flex; z-index:61; }
  .field-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .section { padding:64px 0; }
}

/* Division card images (homepage) */
.div-card .card-img { width: calc(100% + 72px); margin: -40px -36px 24px; height: 180px; overflow: hidden; }
.div-card .card-img img { width: 100%; height: 100%; object-fit: cover; }
