/* Five Crowns Capital — shared styles (ivory gallery) */

:root{
  --ivory:#f5f1e8;
  --paper:#fbf8f1;
  --green:#163a2c;
  --green-soft:#3a4d42;
  --gold:#b08a4e;
  --gold-line:#cbb487;
  --muted:#6b7a6f;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ivory);
  color:var(--green-soft);
  font-family:'EB Garamond',Georgia,serif;
  font-size:20px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;}
img{max-width:100%;}

.wrap{max-width:760px;margin:0 auto;padding:0 32px;}
.narrow{max-width:680px;}

.display{font-family:'Cormorant Garamond',Georgia,serif;color:var(--green);font-weight:500;line-height:1.14;}

/* ---------- nav ---------- */
.nav{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  max-width:1080px;margin:0 auto;padding:1.8rem 36px;
}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-brand .crown{color:var(--gold);line-height:0;}
.nav-brand .crown svg{width:30px;height:auto;}
.nav-brand .nb-word{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--green);letter-spacing:0.22em;font-size:18px;padding-left:0.22em;}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{
  text-decoration:none;text-transform:uppercase;letter-spacing:0.28em;font-size:12px;
  color:var(--muted);padding-left:0.28em;transition:color .25s ease;
}
.nav-links a:hover{color:var(--gold);}
.nav-links a.current{color:var(--green);}

/* ---------- eyebrow ---------- */
.eyebrow{
  text-transform:uppercase;letter-spacing:0.42em;font-size:12px;color:var(--gold);
  text-align:center;margin-bottom:2rem;padding-left:0.42em;
}
.eyebrow::before{content:"";display:block;width:30px;height:1px;background:var(--gold-line);margin:0 auto 1.3rem;}
.eyebrow.left{text-align:left;}
.eyebrow.left::before{margin:0 0 1rem;}

/* ---------- hero (home) ---------- */
.hero{min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 32px 4rem;}
.mark{color:var(--gold);line-height:0;margin-bottom:1.5rem;}
.mark svg{width:72px;height:auto;}
.wordmark{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--green);letter-spacing:0.24em;font-size:30px;padding-left:0.24em;}
.wordmark-rule{width:46px;height:1px;background:var(--gold-line);margin:11px auto;}
.wordmark-sub{font-family:'Cormorant Garamond',serif;font-weight:400;color:var(--muted);letter-spacing:0.5em;font-size:13px;padding-left:0.5em;}
.hero-line{font-size:clamp(2.1rem,5.2vw,3.4rem);max-width:15ch;margin:3.4rem auto 2.2rem;}
.hero-intro{font-size:clamp(1.05rem,2.2vw,1.22rem);color:var(--green-soft);max-width:40ch;margin:0 auto;line-height:1.95;}

/* ---------- page header (sub-pages) ---------- */
.page-head{text-align:center;padding:clamp(4rem,12vh,7rem) 0 clamp(2.5rem,7vh,4rem);}
.page-title{font-size:clamp(2.4rem,6vw,3.6rem);margin:0 auto;max-width:20ch;}
.page-sub{font-size:clamp(1.1rem,2.4vw,1.3rem);color:var(--muted);max-width:34ch;margin:1.6rem auto 0;line-height:1.85;font-style:italic;}

/* ---------- essay ---------- */
.essay{max-width:680px;margin:0 auto;padding-bottom:clamp(5rem,12vh,8rem);}
.essay .block{padding:clamp(2.5rem,6vh,4rem) 0;border-top:1px solid var(--gold-line);}
.essay .block:first-of-type{border-top:none;}
.essay .lead{font-family:'Cormorant Garamond',serif;color:var(--green);font-weight:500;font-size:clamp(1.55rem,3.4vw,2.05rem);line-height:1.34;margin-bottom:1.6rem;}
.essay p{margin-bottom:1.4rem;font-size:clamp(1.08rem,2.3vw,1.24rem);}
.essay p:last-child{margin-bottom:0;}

/* ---------- teasers (home) ---------- */
.teasers{max-width:760px;margin:0 auto;padding:clamp(4rem,10vh,7rem) 0;}
.teaser{padding:clamp(2.3rem,6vh,3.4rem) 0;border-top:1px solid var(--gold-line);}
.teaser:first-child{border-top:none;}
.teaser h2{font-family:'Cormorant Garamond',serif;color:var(--green);font-weight:500;font-size:clamp(1.5rem,3.4vw,2rem);line-height:1.3;margin-bottom:1rem;}
.teaser p{font-size:clamp(1.05rem,2.2vw,1.2rem);margin-bottom:1.2rem;}
.more{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:0.28em;font-size:12px;color:var(--gold);padding-left:0.28em;border-bottom:1px solid var(--gold-line);padding-bottom:3px;transition:color .25s ease,border-color .25s ease;}
.more:hover{color:var(--green);border-color:var(--green);}

/* ---------- portfolio ---------- */
.intro-line{font-family:'Cormorant Garamond',serif;color:var(--green);font-weight:500;font-size:clamp(1.4rem,3.2vw,1.9rem);line-height:1.4;text-align:center;max-width:30ch;margin:0 auto clamp(3rem,7vh,4.5rem);}
.holdings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;max-width:980px;margin:0 auto;padding:0 32px;}
.holding{
  background:var(--paper);border:1px solid var(--gold-line);border-radius:4px;
  padding:2.2rem 2rem;display:flex;flex-direction:column;
}
.holding .logo-frame{
  height:74px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:1.5rem;
}
.holding .logo-frame img{max-height:42px;max-width:210px;width:auto;object-fit:contain;}
.holding .logo-frame a{display:inline-flex;}
.holding .h-name{font-family:'Cormorant Garamond',serif;color:var(--green);font-weight:500;font-size:1.5rem;margin-bottom:0.6rem;letter-spacing:0.01em;}
.holding .h-name.standalone{height:74px;display:flex;align-items:center;margin-bottom:0;}
.holding p{font-size:1.05rem;line-height:1.7;color:var(--green-soft);margin-bottom:1.4rem;}
.holding .visit{margin-top:auto;text-decoration:none;text-transform:uppercase;letter-spacing:0.24em;font-size:11px;color:var(--gold);padding-left:0.24em;transition:color .25s ease;}
.holding .visit:hover{color:var(--green);}
.holding .h-private{font-size:1.05rem;line-height:1.7;color:var(--muted);font-style:italic;}
.portfolio-note{text-align:center;color:var(--muted);font-style:italic;font-size:1.1rem;margin:clamp(3.5rem,8vh,5rem) auto 0;max-width:30ch;}

/* ---------- about ---------- */
.about{max-width:680px;margin:0 auto;padding-bottom:clamp(4rem,10vh,6rem);}
.about .lead{font-family:'Cormorant Garamond',serif;color:var(--green);font-weight:500;font-size:clamp(1.55rem,3.4vw,2.05rem);line-height:1.34;margin-bottom:1.8rem;}
.about p{margin-bottom:1.4rem;font-size:clamp(1.08rem,2.3vw,1.24rem);}
.about .block{padding:clamp(2.5rem,6vh,3.8rem) 0;border-top:1px solid var(--gold-line);}
.steward{text-align:center;padding:clamp(4rem,10vh,7rem) 0 clamp(2rem,5vh,3rem);}
.steward-line{font-size:clamp(2rem,5vw,3rem);max-width:18ch;margin:0 auto 2.2rem;line-height:1.16;}
.steward-body{font-size:clamp(1.1rem,2.4vw,1.28rem);max-width:32ch;margin:0 auto;line-height:1.9;}

/* ---------- footer ---------- */
footer{padding:4.5rem 0 5.5rem;text-align:center;border-top:1px solid var(--gold-line);margin-top:2rem;}
.foot-mark{color:var(--gold);line-height:0;}
.foot-mark svg{width:30px;height:auto;}
.foot-name{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--green);letter-spacing:0.28em;font-size:18px;margin:1.3rem 0 1.5rem;padding-left:0.28em;}
.foot-people{font-size:15px;color:var(--muted);line-height:2;}
.foot-people .role{color:var(--green-soft);}
.foot-nav{margin-top:1.8rem;display:flex;justify-content:center;gap:1.6rem;flex-wrap:wrap;}
.foot-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:0.26em;font-size:11px;color:var(--gold);padding-left:0.26em;transition:color .25s ease;}
.foot-nav a:hover{color:var(--green);}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease;}
.js .reveal.in{opacity:1;transform:none;}

@media (max-width:560px){
  body{font-size:18px;}
  .nav{padding:1.4rem 22px;}
  .nav-links{gap:1.3rem;}
  .wordmark{font-size:25px;}
}
