:root{--ink:#111827;--paper:#f2eee7;--cream:#e7dfd2;--bronze:#9b7654;--brown:#5c402e;--white:#fff;--line:rgba(17,24,39,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}
.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:#fff}.brand{font-size:14px;font-weight:600;letter-spacing:.16em}.nav{display:flex;gap:34px;font-size:14px}.nav a{opacity:.85}.nav a:hover{opacity:1}.menu-button{display:none;background:none;border:0;color:inherit}
.hero{min-height:100vh;background:#182238;color:#fff;display:grid;grid-template-columns:47% 53%;position:relative;overflow:hidden}.hero-copy{padding:20vh 6vw 9vh;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:600;margin:0 0 24px}.hero h1,.section-heading h2,.about h2,.connect h2,blockquote{font-family:"Libre Caslon Display",serif;font-weight:400}.hero h1{font-size:clamp(52px,5.6vw,92px);line-height:.96;letter-spacing:-.035em;margin:0;max-width:850px}.lede{font-size:18px;line-height:1.7;max-width:590px;color:rgba(255,255,255,.72);margin:34px 0}.actions{display:flex;align-items:center;gap:30px}.button{display:inline-block;padding:16px 22px;border:1px solid}.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{font-size:14px}.text-link span{margin-left:8px}.hero-image{height:100vh}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 12%}.hero-index{position:absolute;right:2.5vw;bottom:3vh;font-size:11px;letter-spacing:.15em}
.businesses{padding:130px 5vw;background:var(--paper)}.section-heading{display:grid;grid-template-columns:1fr 2fr;margin-bottom:80px}.section-heading h2{font-size:clamp(45px,5vw,76px);line-height:1.02;margin:0}.business-grid{border-top:1px solid var(--line)}.business-card{display:grid;grid-template-columns:60px 130px 1.1fr 1fr 160px;gap:24px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line);transition:.3s}.business-card[href]:hover{padding-left:14px;background:rgba(255,255,255,.35)}.number,.category,.card-link{font-size:11px;letter-spacing:.14em}.business-card h3{font-family:"Libre Caslon Display",serif;font-size:30px;font-weight:400;margin:0}.business-card p{color:#59606c;line-height:1.6}.card-link{text-align:right}.muted{opacity:.45}.advisory-card{cursor:default}
.about{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;min-height:800px}.about-image{min-height:800px}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy{padding:10vw 8vw;align-self:center}.about h2{font-size:clamp(44px,4.5vw,72px);line-height:1.02;margin:0 0 40px}.about-copy>p:not(.eyebrow){line-height:1.8;color:#4e5157;font-size:16px}
.perspective{padding:130px 5vw;background:#6a4935;color:#fff}.quote{max-width:1100px;margin-bottom:90px}.quote blockquote{font-size:clamp(46px,5vw,78px);line-height:1.08;margin:0}.portrait-strip{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;height:520px}.portrait-strip img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.connect{padding:130px 5vw;background:#111827;color:#fff}.connect-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:end}.connect h2{font-size:clamp(60px,8vw,125px);line-height:.88;margin:0}.connect-copy{padding-bottom:10px}.connect-copy p{color:rgba(255,255,255,.65);max-width:420px;line-height:1.6}.light{margin-top:20px;border-color:#fff}.small{font-size:11px!important}
footer{padding:45px 5vw;background:#0c111c;color:rgba(255,255,255,.7);display:grid;grid-template-columns:1fr 1fr auto;align-items:end;font-size:12px}footer strong{color:#fff;letter-spacing:.12em}.footer-links{display:flex;gap:24px}.copyright{margin:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{position:absolute}.nav{display:none;position:absolute;top:70px;left:5vw;right:5vw;padding:25px;background:#111827;flex-direction:column}.nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:150px 6vw 80px;min-height:75vh}.hero-image{height:70vh}.section-heading{grid-template-columns:1fr;gap:20px}.business-card{grid-template-columns:40px 1fr}.business-card .category{grid-column:2}.business-card h3,.business-card p,.business-card .card-link{grid-column:2;text-align:left}.about{grid-template-columns:1fr}.about-image{min-height:600px}.about-copy{padding:90px 7vw}.portrait-strip{grid-template-columns:1fr;height:auto}.portrait-strip img{height:520px}.connect-grid{grid-template-columns:1fr;gap:60px}footer{grid-template-columns:1fr;gap:25px}}
.dark-link{display:inline-block;margin-top:22px;color:var(--ink);font-weight:600}
.dark-header{position:absolute;color:var(--ink)}
.about-hero{padding:145px 5vw 80px;display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;min-height:92vh;background:var(--paper)}
.about-hero-copy h1,.story-copy h2,.bridge-copy h2{font-family:"Libre Caslon Display",serif;font-weight:400}
.about-hero-copy h1{font-size:clamp(58px,6.5vw,105px);line-height:.93;letter-spacing:-.04em;margin:0}
.lede-dark{font-size:18px;line-height:1.7;color:#565b63;max-width:650px;margin-top:35px}
.about-hero-image{height:68vh;min-height:550px}.about-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.story{padding:130px 8vw;display:grid;grid-template-columns:1fr 2.2fr;gap:8vw;background:#fff}
.story-copy h2{font-size:clamp(40px,4.4vw,68px);line-height:1.08;margin:0 0 45px}
.story-copy p{font-size:17px;line-height:1.85;color:#555b63;max-width:850px}
.principles{padding:120px 5vw;background:var(--cream)}
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:50px}
.principle-grid article{padding:40px 35px 20px 0;border-right:1px solid var(--line);min-height:280px}
.principle-grid article:not(:first-child){padding-left:35px}.principle-grid article:last-child{border-right:0}
.principle-grid span{font-size:11px;letter-spacing:.15em}.principle-grid h3{font-family:"Libre Caslon Display",serif;font-size:35px;font-weight:400;margin:55px 0 18px}.principle-grid p{line-height:1.7;color:#5b5f65}
.about-business-bridge{display:grid;grid-template-columns:1fr 1fr;background:#6a4935;color:#fff;min-height:760px}.bridge-image img{width:100%;height:100%;object-fit:cover;object-position:center 15%}.bridge-copy{padding:9vw 7vw;align-self:center}.bridge-copy h2{font-size:clamp(48px,5vw,78px);line-height:1.02;margin:0 0 30px}.bridge-copy p{line-height:1.75;color:rgba(255,255,255,.72);margin-bottom:35px}.compact-connect{padding-top:110px;padding-bottom:110px}
@media(max-width:900px){.dark-header .nav{background:var(--paper)}.about-hero{grid-template-columns:1fr;padding-top:135px}.about-hero-image{height:65vh;min-height:0}.story{grid-template-columns:1fr;padding:90px 7vw}.principle-grid{grid-template-columns:1fr}.principle-grid article,.principle-grid article:not(:first-child){padding:35px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.principle-grid h3{margin:25px 0 12px}.about-business-bridge{grid-template-columns:1fr}.bridge-image{height:65vh}.bridge-copy{padding:90px 7vw}}

/* Single approved Samuel portrait used throughout */
.hero-image img{object-position:center 18%}
.about-image img,.about-hero-image img,.bridge-image img,.portrait-strip img{object-position:center 18%}

/* V5 refinements */
.hero{grid-template-columns:48% 52%}
.hero-copy{padding-left:5.25vw;padding-right:4.25vw}
.hero h1{font-size:clamp(50px,5.05vw,82px);line-height:.98;max-width:780px}
.hero .lede{max-width:540px;margin-top:30px}
.hero-image img{object-position:center 16%}
.hero-index{display:none}
.businesses .section-heading{grid-template-columns:.8fr 1.7fr;gap:5vw}
.businesses .section-heading h2{max-width:900px}
.business-card{position:relative}
.business-card[href]::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 3px 0 0 transparent;transition:.25s}
.business-card[href]:hover::after{box-shadow:inset 3px 0 0 var(--bronze)}
@media(min-width:901px){
  .site-header{display:grid;grid-template-columns:48% 52%;padding:0}
  .site-header .brand{padding-left:5.25vw}
  .site-header .nav{justify-self:end;padding-right:4vw}
}

/* V6: one portrait per page, no repeated photography */
.about{display:block;min-height:0}
.about-copy{max-width:980px;margin:0 auto;padding:120px 7vw}
.perspective{display:block}
.perspective .quote{margin-bottom:0}
.about-business-bridge{display:block;min-height:0}
.bridge-copy{max-width:1000px;margin:0 auto;padding:120px 7vw}

/* Perspective: headline retains editorial serif; write-up matches regular body typography */
.perspective .quote h2{
  font-family:"Libre Caslon Display",serif;
  font-weight:400;
  font-size:clamp(40px,4.2vw,68px);
  line-height:1.08;
  max-width:1050px;
  margin:0 0 42px;
}
.perspective-copy{
  max-width:760px;
}
.perspective-copy p{
  font-family:"DM Sans",sans-serif;
  font-size:16px;
  line-height:1.8;
  font-weight:400;
  margin:0 0 20px;
}
.perspective-copy p:last-child{margin-bottom:0}
