/* ============ PACT HR Partners — Shared Site Styles ============ */
:root{
  --charcoal:#20241f;
  --charcoal-soft:#2b2f29;
  --brass:#b3894f;
  --brass-light:#d8b47f;
  --paper:#f4f1e9;
  --paper-warm:#efe9db;
  --slate:#5d655c;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--charcoal);
  background:var(--paper);
  line-height:1.6;
}
.wrap{max-width:920px; margin:0 auto; padding:0 28px;}
a{color:inherit;}
img{max-width:100%; display:block;}

/* ===== NAV ===== */
nav{
  position:sticky; top:0; z-index:10;
  background:rgba(244,241,233,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(32,36,31,0.1);
}
nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px;
}
.nav-wordmark{
  font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.15rem;
  display:flex; align-items:center; gap:0;
}
.nav-wordmark svg{ height:15px; margin:0 -2px; display:block; }
.nav-links{display:flex; gap:26px; font-size:0.85rem; font-weight:500;}
.nav-links a{text-decoration:none; color:var(--slate); margin-right:26px; padding-bottom:2px;}
.nav-links a:last-child{margin-right:0;}
.nav-links a:hover, .nav-links a.active{color:var(--charcoal); border-bottom:2px solid var(--brass);}
.nav-cta{
  font-size:0.78rem; font-weight:600; letter-spacing:0.03em;
  background:var(--charcoal); color:var(--paper);
  padding:8px 16px; border-radius:3px; text-decoration:none; white-space:nowrap;
}

/* ===== PAGE HEADER (non-hero pages) ===== */
.page-header{padding:64px 0 40px;}
.page-header .section-label{margin-bottom:14px;}
.page-header h1{
  font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:2.6rem;
  line-height:1.2; max-width:680px;
}
.page-header h1 em{color:var(--brass); font-style:italic;}
.page-header .deck{
  margin-top:18px; max-width:600px; color:var(--slate); font-size:1.02rem;
}

/* ===== HERO (home page only) ===== */
.hero{padding:96px 0 84px;}
.hero .wordmark{
  font-family:'Fraunces',serif; font-weight:600; font-size:3.4rem;
  display:flex; align-items:center; gap:0; line-height:1;
}
.hero .wordmark svg{ height:40px; margin:0 -6px; }
.hero .sub-word{
  font-size:0.8rem; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--brass); font-weight:600; margin:8px 0 28px;
}
.hero h1{
  font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:2rem;
  max-width:640px; line-height:1.3; margin-bottom:18px;
}
.hero h1 em{color:var(--brass); font-style:italic;}
.hero p{max-width:560px; color:var(--slate); font-size:1.02rem; margin-bottom:32px;}

.btn-primary{
  display:inline-block; background:var(--charcoal); color:var(--paper);
  padding:14px 26px; text-decoration:none; border-radius:3px;
  font-weight:600; font-size:0.9rem; letter-spacing:0.01em;
}
.btn-secondary{
  display:inline-block; background:transparent; color:var(--charcoal);
  padding:13px 25px; text-decoration:none; border-radius:3px;
  font-weight:600; font-size:0.9rem; border:1.5px solid var(--charcoal);
}

/* ===== SECTION SHARED ===== */
section{padding:64px 0;}
.section-label{
  font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--brass); font-weight:700; margin-bottom:10px;
}
.section-title{
  font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:1.7rem;
  margin-bottom:36px; max-width:600px;
}
.bg-warm{background:var(--paper-warm);}

/* ===== CARDS / GRIDS ===== */
.card-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:20px;}
.card{
  background:var(--paper); border-left:3px solid var(--brass);
  padding:22px 24px; border-radius:2px;
  flex:0 1 calc(50% - 20px); box-sizing:border-box; min-width:260px;
}
.card .name{font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.1rem; margin-bottom:6px;}
.card .price{font-size:0.8rem; font-weight:600; color:var(--brass); margin-bottom:10px;}
.card .desc{font-size:0.88rem; color:var(--slate);}
.card .fit{font-size:0.78rem; color:#7a7f76; font-style:italic; margin-top:8px;}

/* ===== ABOUT/CONTENT GRID ===== */
.content-grid{display:flex; gap:56px; align-items:flex-start;}
.content-grid > .content-text{flex:1.3;}
.content-grid > div:last-child{flex:1;}
.content-text p{color:var(--slate); font-size:0.98rem; margin-bottom:18px; max-width:560px;}
.depth-list{list-style:none;}
.depth-list li{
  font-size:0.9rem; color:var(--charcoal); padding:10px 0;
  border-bottom:1px solid rgba(32,36,31,0.1);
}
.depth-list li:first-child{padding-top:0;}

/* ===== FOUNDER / PHOTO BLOCK ===== */
.founder-photo{
  width:100%; max-width:340px; border-radius:6px; margin-bottom:24px;
}
.founder-photo-circle{
  width:180px; height:180px; border-radius:50%;
}

/* ===== SEAL / MEANING SECTION ===== */
.meaning{
  background:var(--charcoal); color:var(--paper-warm);
  padding:72px 0; text-align:center;
}
.meaning svg{width:80px; height:80px; margin-bottom:24px;}
.meaning h2{
  font-family:'Fraunces',Georgia,serif; font-weight:500; font-style:italic;
  font-size:1.5rem; max-width:560px; margin:0 auto 14px;
}
.meaning p{color:#c9c4b4; max-width:500px; margin:0 auto; font-size:0.9rem;}

/* ===== PULL QUOTE ===== */
.pull-quote{
  border-left:3px solid var(--brass);
  padding:8px 0 8px 24px;
  margin:32px 0;
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-size:1.3rem;
  color:var(--charcoal);
  line-height:1.5;
  max-width:640px;
}

/* ===== TESTIMONIAL ===== */
.testimonial{
  background:var(--paper-warm);
  border-radius:4px;
  padding:36px 40px;
  max-width:680px;
}
.testimonial .mark{
  font-family:'Fraunces',Georgia,serif;
  font-size:2.6rem;
  color:var(--brass);
  line-height:1;
  margin-bottom:4px;
}
.testimonial p{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-size:1.15rem;
  line-height:1.6;
  color:var(--charcoal);
  margin-bottom:18px;
}
.testimonial .attribution{
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-size:0.85rem;
  font-weight:600;
  color:var(--brass);
  letter-spacing:0.02em;
}
.testimonial-grid{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:center;
}
.testimonial-grid .testimonial{
  flex:0 1 calc(50% - 20px);
  max-width:none;
  padding:28px 30px;
  box-sizing:border-box;
  min-width:260px;
}
.testimonial-grid .testimonial .mark{ font-size:2rem; margin-bottom:2px; }
.testimonial-grid .testimonial p{ font-size:1rem; line-height:1.55; margin-bottom:14px; }

/* ===== CONTACT FORM ===== */
.contact-section{text-align:center; padding:88px 0;}
.contact-section .section-title{margin:0 auto 14px; max-width:520px; text-align:center;}
.contact-section p{color:var(--slate); max-width:460px; margin:0 auto 32px;}
.contact-details{
  display:flex; justify-content:center; gap:32px; flex-wrap:wrap;
  font-size:0.9rem; margin-top:36px;
}
.contact-details div{color:var(--slate); margin:0 16px;}
.contact-details strong{display:block; color:var(--charcoal); font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:4px;}

.contact-form{max-width:520px; margin:0 auto; text-align:left;}
.form-row{display:flex; gap:16px;}
.form-row .form-field{flex:1;}
.form-field{margin-bottom:18px;}
.form-field label{display:block; font-size:0.76rem; font-weight:600; letter-spacing:0.03em; color:var(--charcoal); margin-bottom:6px;}
.form-field input, .form-field textarea{
  width:100%; padding:11px 13px; font-family:'Inter',sans-serif; font-size:0.9rem;
  border:1px solid rgba(32,36,31,0.25); border-radius:3px; background:var(--paper);
  color:var(--charcoal); resize:vertical;
}
.form-field input:focus, .form-field textarea:focus{ outline:none; border-color:var(--brass); }
.contact-form .btn-primary{ margin-top:4px; border:none; cursor:pointer; }

/* ===== FOOTER ===== */
footer{
  border-top:1px solid rgba(32,36,31,0.12);
  padding:28px 0; text-align:center;
  font-size:0.76rem; color:var(--slate);
}

@media (max-width:680px){
  .card-grid, .content-grid{grid-template-columns:1fr;}
  .content-grid{display:block;}
  .hero .wordmark{font-size:2.4rem;}
  .page-header h1{font-size:2rem;}
  .nav-links{display:none;}
  .form-row{flex-direction:column; gap:0;}
}

/* ===== CARD ICONS ===== */
.card-icon{ width:42px; height:42px; margin-bottom:14px; display:block; }

/* ===== FEATURED TESTIMONIAL ===== */
.featured-testimonial{
  background:var(--charcoal); color:var(--paper-warm);
  border-radius:4px; padding:48px 52px; margin-bottom:44px;
}
.featured-testimonial .mark{
  font-family:'Fraunces',Georgia,serif; font-size:2.8rem; color:var(--brass);
  line-height:1; margin-bottom:6px;
}
.featured-testimonial p{
  font-family:'Fraunces',Georgia,serif; font-style:italic; font-size:1.3rem;
  line-height:1.6; color:var(--paper-warm); margin-bottom:18px; max-width:760px;
}
.featured-testimonial .attribution{
  font-family:'Inter',sans-serif; font-style:normal; font-size:0.88rem;
  font-weight:600; color:var(--brass-light); letter-spacing:0.02em;
}

/* ===== TESTIMONIAL SCROLL STRIP ===== */
.scroll-strip-label-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:16px;
}
.scroll-arrows{ display:flex; gap:10px; }
.scroll-arrow-btn{
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--charcoal);
  background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:var(--charcoal); transition:background 0.15s, color 0.15s;
}
.scroll-arrow-btn:hover{ background:var(--charcoal); color:var(--paper); }
.scroll-strip{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:12px; -webkit-overflow-scrolling:touch;
}
.scroll-strip .testimonial{
  flex:0 0 300px; scroll-snap-align:start; max-width:none;
}
.scroll-strip::-webkit-scrollbar{ height:6px; }
.scroll-strip::-webkit-scrollbar-thumb{ background:rgba(32,36,31,0.2); border-radius:3px; }
.scroll-strip::-webkit-scrollbar-track{ background:transparent; }

@media (max-width:680px){
  .featured-testimonial{ padding:32px 26px; }
  .featured-testimonial p{ font-size:1.1rem; }
  .scroll-strip .testimonial{ flex:0 0 260px; }
}
