@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Jost:wght@400;500;600&display=swap');

:root{
  --emerald: #1B4332;
  --emerald-deep: #10281c;
  --cream: #FAF7F2;
  --cream-alt: #F1E9DA;
  --gold: #C9A96E;
  --terracotta: #B5623E;
  --terracotta-tint: #F1DFD3;
  --honey: #E0A63A;
  --honey-tint: #F7E8C9;
  --ink: #232622;
  --line: rgba(27,58,51,0.14);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-size:17px;
  line-height:1.65;
}
h1,h2,h3,.serif{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  color:var(--emerald);
  letter-spacing:0.01em;
}
h1{font-size:clamp(2.4rem,5vw,3.7rem); line-height:1.07; margin:0 0 0.5em;}
h2{font-size:clamp(1.6rem,3vw,2.3rem); margin:0 0 0.6em;}
p{max-width:62ch; margin:0 0 1.1em;}
a{color:var(--emerald);}

.skip-link{position:absolute; left:-999px; top:auto;}
.skip-link:focus{left:1rem; top:1rem; background:var(--emerald); color:var(--cream); padding:.6em 1em; z-index:200; border-radius:4px;}

header.site{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem clamp(1.2rem,4vw,3rem);
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:100;
  background:var(--cream);
}
.wordmark{
  font-family:'Cormorant Garamond', serif;
  font-size:1.5rem;
  color:var(--emerald);
  text-decoration:none;
  line-height:1.1;
}
nav.primary{display:flex; align-items:center; gap:2rem;}
nav.primary a{
  font-family:'Jost', sans-serif;
  font-size:0.95rem;
  color:var(--ink);
  text-decoration:none;
  padding:0.3em 0;
  border-bottom:1px solid transparent;
}
nav.primary a:hover, nav.primary a:focus-visible, nav.primary a[aria-current="page"]{
  border-bottom-color:var(--terracotta); color:var(--emerald);
}
.btn{
  display:inline-block;
  font-family:'Jost', sans-serif;
  font-size:0.92rem;
  padding:0.65em 1.3em;
  border-radius:2px;
  text-decoration:none;
  border:1px solid var(--emerald);
  color:var(--emerald);
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn.primary{background:var(--emerald); color:var(--cream);}
.btn.primary:hover, .btn.primary:focus-visible{background:var(--emerald-deep);}
.btn:not(.primary):hover, .btn:not(.primary):focus-visible{background:var(--emerald); color:var(--cream);}
.btn.on-dark{border-color:var(--cream); color:var(--cream);}
.btn.on-dark:hover, .btn.on-dark:focus-visible{background:var(--cream); color:var(--emerald);}
.btn.honey{border-color:var(--honey); color:#5c4212; background:var(--honey);}
.btn.honey:hover, .btn.honey:focus-visible{background:#c8912a;}
.btn.terracotta{border-color:var(--terracotta); color:#fff; background:var(--terracotta);}
.btn.terracotta:hover, .btn.terracotta:focus-visible{background:#8f4c30;}

.menu-toggle{display:none; background:none; border:none; font-size:1.6rem; color:var(--emerald); cursor:pointer;}

.section{padding:clamp(2.5rem,6vw,5rem) clamp(1.2rem,4vw,3rem); max-width:1080px; margin:0 auto;}
.section-wrap{border-top:1px solid var(--line);}
.section-wrap.tint-cream{background:var(--cream-alt);}
.section-wrap.tint-emerald{background:var(--emerald); border-top:none;}
.section-wrap.tint-emerald h1, .section-wrap.tint-emerald h2, .section-wrap.tint-emerald h3{color:var(--cream);}
.section-wrap.tint-emerald p{color:var(--cream-alt);}
.section-wrap.tint-terracotta{background:var(--terracotta-tint);}
.eyebrow-title{font-size:0.85rem; color:var(--terracotta); font-family:'Jost'; font-weight:600; margin-bottom:0.5rem;}
.tint-emerald .eyebrow-title{color:var(--terracotta);}

.hero{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:3rem; align-items:center;
  padding:clamp(3rem,7vw,5.5rem) clamp(1.2rem,4vw,3rem);
  max-width:1080px; margin:0 auto;
}
.portrait-block{position:relative;}
.portrait-block::before{
  content:""; position:absolute; top:1.1rem; left:1.1rem; right:-1.1rem; bottom:-1.1rem;
  background:var(--honey-tint); border:1px solid var(--gold); z-index:0;
}
.portrait-frame{
  position:relative; z-index:1;
  aspect-ratio:4/5; background:var(--emerald);
  border-radius:2px; overflow:hidden;
  border:1px solid var(--line);
}
.portrait-frame img{width:100%; height:100%; object-fit:cover; display:block;}
.portrait-frame.placeholder{
  display:flex; align-items:center; justify-content:center; color:var(--cream-alt);
  font-family:'Jost'; font-size:0.85rem; text-align:center; padding:1.5rem;
}

.stats{display:flex; flex-wrap:wrap; gap:0; margin:1.9rem 0 0; border-top:1px solid var(--line); padding-top:1.6rem;}
.stats div{flex:1 1 200px; padding:0 1.4rem 0 0; border-left:3px solid var(--terracotta); padding-left:0.9rem; margin-right:1rem;}
.stats strong{display:block; font-family:'Cormorant Garamond'; font-size:1.9rem; color:var(--emerald); line-height:1.15;}
.stats span{font-size:0.87rem; color:var(--ink); opacity:0.85;}

.cta-row{display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.6rem;}

.card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.6rem; margin-top:1.5rem;}
.card{
  background:var(--cream); border:1px solid var(--line); border-top:3px solid var(--emerald); padding:1.6rem; border-radius:2px;
}
.tint-emerald .card, .tint-emerald .card p{color:var(--ink);}
.card h3{font-family:'Jost'; font-size:1.05rem; font-weight:600; color:var(--emerald); margin:0 0 0.5rem;}
.card p{margin-bottom:0.6rem; font-size:0.97rem;}
.card a{font-size:0.9rem; text-decoration:none; border-bottom:1px solid var(--honey);}

.statement{
  font-family:'Cormorant Garamond', serif; font-style:italic; font-size:clamp(1.4rem,2.6vw,1.9rem);
  color:var(--cream); max-width:46ch; margin:0 0 1.2rem; line-height:1.35;
}

.about-grid{display:grid; grid-template-columns:1fr 1.6fr; gap:3rem;}
.credential-rail{border-left:2px solid var(--honey); padding-left:1.3rem; display:flex; flex-direction:column; gap:1.1rem;}
.credential-rail .item{font-size:0.92rem;}
.credential-rail .item strong{display:block; color:var(--emerald); font-family:'Jost'; font-weight:600; font-size:0.95rem;}

.hh-block{
  background:linear-gradient(135deg, var(--terracotta-tint) 0%, var(--honey-tint) 100%);
  border:1px solid var(--gold); border-radius:3px;
  padding:clamp(1.8rem,4vw,2.8rem);
}
.hh-block h2{color:var(--terracotta);}
.hh-block .hh-kicker{color:var(--terracotta); font-family:'Jost'; font-weight:600; font-size:0.9rem; letter-spacing:0.02em; margin-bottom:0.3rem;}
.hh-block .btn.primary{background:var(--terracotta); border-color:var(--terracotta); color:#fff;}
.hh-block .btn.primary:hover{background:#8f4c30;}

/* Tag pills — bold color-block accents used sparingly for visual rhythm */
.tag-row{display:flex; flex-wrap:wrap; gap:0.6rem; margin:1.4rem 0 0;}
.tag{
  display:inline-block; font-family:'Jost'; font-size:0.85rem; font-weight:500;
  padding:0.45em 1.1em; border-radius:999px; color:#fff;
}
.tag.tag-emerald{background:var(--emerald);}
.tag.tag-terracotta{background:var(--terracotta);}
.tag.tag-gold{background:var(--gold); color:#3d2f14;}

.divider-dots{
  height:1px; margin:0; border:none;
  background-image:radial-gradient(var(--gold) 1.4px, transparent 1.4px);
  background-size:10px 10px; background-repeat:repeat-x; opacity:0.7;
}

.card-tag{
  display:inline-block; font-family:'Jost'; font-size:0.72rem; font-weight:600;
  letter-spacing:0.03em; padding:0.25em 0.7em; border-radius:999px; color:#fff;
  margin-bottom:0.7rem;
}

table.field-table{width:100%; border-collapse:collapse; margin-top:1rem;}
table.field-table th, table.field-table td{text-align:left; padding:0.7em 0.8em; border-bottom:1px solid var(--line); font-size:0.95rem; vertical-align:top;}
table.field-table th{font-family:'Jost'; font-weight:600; color:var(--emerald);}

form.inquiry{margin-top:1.5rem; display:grid; gap:1.1rem; max-width:640px;}
form.inquiry label{font-size:0.92rem; font-weight:500; display:block; margin-bottom:0.35rem;}
form.inquiry input, form.inquiry select, form.inquiry textarea{
  width:100%; padding:0.7em 0.8em; border:1px solid var(--line); border-radius:2px;
  font-family:'Jost'; font-size:0.97rem; background:#fff; color:var(--ink);
}
form.inquiry textarea{min-height:120px; resize:vertical;}
.form-note{font-size:0.85rem; opacity:0.75; max-width:60ch;}

footer.site{
  border-top:1px solid var(--line); padding:2.4rem clamp(1.2rem,4vw,3rem);
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center;
  font-size:0.9rem; color:var(--ink); background:var(--cream);
}
footer.site a{color:var(--emerald); text-decoration:none; margin-left:1rem;}

:focus-visible{outline:2px solid var(--honey); outline-offset:2px;}

@media (max-width:840px){
  nav.primary{
    position:absolute; top:100%; left:0; right:0; background:var(--cream);
    flex-direction:column; align-items:flex-start; gap:0; padding:0.5rem 1.2rem 1.2rem;
    border-bottom:1px solid var(--line); display:none;
    z-index:100;
  }
  nav.primary.open{display:flex;}
  nav.primary a{width:100%; padding:0.7em 0;}
  .menu-toggle{display:block;}
  .hero{grid-template-columns:1fr;}
  .portrait-block{order:-1; max-width:300px; margin:0 auto;}
  .about-grid{grid-template-columns:1fr;}
  .credential-rail{border-left:none; border-top:2px solid var(--honey); padding-left:0; padding-top:1.1rem;}
}
