
:root{
  --ink:#123f33;
  --ink-2:#1b4c3f;
  --paper:#f6f0e4;
  --paper-2:#ede2cc;
  --white:#fffaf0;
  --gold:#b58a3d;
  --gold-dark:#8a672c;
  --line:#d9c9a6;
  --muted:#6f756d;
  --green:#123f33;
  --green-deep:#0b342b;
  --green-soft:#dfe8df;
  --radius:2px;
  --shadow:0 18px 50px rgba(18,63,51,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.shell{width:min(1180px,calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;z-index:999}
.skip-link:focus{left:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,239,228,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(24,23,19,.12)}
.nav-shell{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;min-width:max-content}
.brand-mark{width:54px;height:54px;border:1px solid var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:.92;font-family:Georgia,serif}
.brand-mark span{font-size:19px;letter-spacing:.08em}
.brand-mark small{font-size:9px;letter-spacing:.24em;margin-left:.24em;margin-top:5px}
.brand-name{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.08}
.site-nav{display:flex;align-items:center;gap:20px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.site-nav a{padding:31px 0 27px;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current=page]{border-color:var(--gold)}
.site-nav .nav-portal{background:var(--ink);color:var(--white);padding:12px 16px;border:0}
.menu-toggle{display:none;border:1px solid var(--ink);background:transparent;padding:9px 12px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);font-weight:700}
.hero{padding:84px 0 42px}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:end}
.hero h1,.page-hero h1,.section-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98;letter-spacing:-.035em;margin:14px 0}
.hero h1{font-size:clamp(54px,8vw,104px);max-width:950px}
.hero-copy{font-family:Georgia,serif;font-size:21px;color:var(--ink-2);max-width:580px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid var(--ink);text-transform:uppercase;font-size:11px;letter-spacing:.12em}
.btn-dark{background:var(--ink);color:var(--white)}
.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.hero-aside{border-top:1px solid var(--ink);padding-top:18px}
.hero-aside strong{font-family:Georgia,serif;font-size:36px;font-weight:400;display:block}
.hero-aside p{color:var(--muted);margin-bottom:0}
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:46px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:24px 18px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .num{font-family:Georgia,serif;font-size:34px;display:block}
.stat .label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.section{padding:92px 0}
.section-tight{padding:54px 0}
.section-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:40px;margin-bottom:44px}
.section-title{font-size:clamp(38px,5vw,68px);max-width:840px}
.section-copy{font-size:18px;color:var(--muted);max-width:690px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink)}
.timeline-item{padding:24px 24px 26px 0;border-right:1px solid var(--line);min-height:205px}
.timeline-item:not(:first-child){padding-left:22px}
.timeline-item:last-child{border-right:0}
.timeline-year{font-family:Georgia,serif;font-size:30px;color:var(--gold-dark)}
.timeline-item h3{font-family:Georgia,serif;font-weight:400;font-size:20px}
.timeline-item p{font-size:14px;color:var(--muted)}
.dark{background:var(--ink);color:var(--white)}
.dark .eyebrow{color:#d8bd83}.dark .section-copy{color:#c7c1b5}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--white);padding:28px;border:1px solid var(--line);min-height:260px;display:flex;flex-direction:column;justify-content:space-between}
.card.dark-card{background:#211f1a;border-color:#3a372f}
.card-index{font-size:11px;letter-spacing:.14em;color:var(--gold-dark)}
.card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.05;margin:18px 0 10px}
.card p{color:var(--muted);font-size:14px}
.dark-card p{color:#bbb5aa}
.status{display:inline-flex;align-self:flex-start;padding:6px 9px;border:1px solid var(--line);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.status.active{border-color:#789985;color:#2f5c43;background:#e6efe8}
.status.review{border-color:#c8a966;color:#765a22;background:#f7edcf}
.status.build{border-color:#9a7651;color:#6d492a;background:#f2e5d8}
.pathway{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);background:var(--white)}
.step{padding:26px;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:0}
.step b{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400;margin:10px 0}
.step span{font-size:11px;color:var(--gold-dark);letter-spacing:.14em}
.step p{font-size:13px;color:var(--muted)}
.matter-list{border-top:1px solid var(--line)}
.matter{display:grid;grid-template-columns:1fr 2fr auto;gap:25px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.matter h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0}
.matter p{margin:0;color:var(--muted)}
.portal-band{background:var(--gold);padding:62px 0;color:#fff}
.portal-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.portal-grid h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,6vw,76px);line-height:1;margin:0}
.portal-grid p{max-width:650px}
.portal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.portal-actions .btn{border-color:#fff}
.page-hero{padding:72px 0 50px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(48px,7vw,88px);max-width:900px}
.page-hero p{font-size:19px;color:var(--muted);max-width:720px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.prose h2{font-family:Georgia,serif;font-size:36px;font-weight:400}
.prose h3{font-family:Georgia,serif;font-size:24px;font-weight:400}
.prose p,.prose li{color:var(--muted)}
.quote{border-left:2px solid var(--gold);padding:4px 0 4px 24px;font-family:Georgia,serif;font-size:27px;line-height:1.25}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.service{background:var(--white);border:1px solid var(--line);padding:30px}
.service h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:12px 0}
.service a{display:inline-block;margin-top:16px;border-bottom:1px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.doc-table{width:100%;border-collapse:collapse;background:var(--white)}
.doc-table th,.doc-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}
.doc-table th{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.doc-table td:first-child{font-family:Georgia,serif;font-size:18px}
.notice{padding:18px 20px;border:1px solid var(--line);background:var(--white);font-size:14px;color:var(--muted)}
.site-footer{background:#12110e;color:#ddd7cb;padding:70px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
.footer-brand{color:#fff}.footer-brand .brand-mark{border-color:#fff}
.footer-note{color:#928c80;max-width:360px;font-size:14px}
.site-footer h3{font-family:Georgia,serif;font-weight:400;color:#fff}
.site-footer div>a,.site-footer div>span{display:block;margin:9px 0;color:#a8a195;font-size:13px}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #34312b;margin-top:50px;padding-top:20px;color:#777166;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:980px){
  .site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:18px 20px 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
  .site-nav.open{display:flex}.site-nav a{padding:10px 0}.menu-toggle{display:block}
  .hero-grid,.section-head,.portal-grid,.two-col{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)} .stat:nth-child(2){border-right:0}
  .timeline{grid-template-columns:1fr}.timeline-item{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}
  .project-grid{grid-template-columns:1fr 1fr}.pathway{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}
  .matter{grid-template-columns:1fr}.portal-actions{justify-content:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .shell{width:min(100% - 28px,1180px)}.nav-shell{min-height:72px}.site-nav{top:72px}
  .brand-mark{width:48px;height:48px}.brand-name{font-size:13px}
  .hero{padding-top:48px}.hero h1{font-size:50px}.hero-copy{font-size:18px}
  .stats-grid,.project-grid,.service-grid,.footer-grid{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line)}
  .section{padding:64px 0}.footer-bottom{display:block}
}


/* v4.1 — Heritage visual continuity
   Keeps the expanded v4 information architecture while preserving the
   established cream / ink / restrained-gold Commonage visual language. */

.dark{
  background:var(--paper);
  color:var(--ink);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.dark .eyebrow{color:var(--gold-dark)}
.dark .section-copy{color:var(--muted)}

.card.dark-card{
  background:var(--white);
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:none;
}
.dark-card p{color:var(--muted)}

.portal-band{
  background:var(--paper-2);
  color:var(--ink);
  border-top:1px solid var(--line);
}
.portal-band .eyebrow{color:var(--gold-dark)!important}
.portal-actions .btn{border-color:var(--ink);color:var(--ink)}
.portal-actions .btn:first-child{background:var(--ink);color:var(--white)}

.card{
  box-shadow:none;
}
.card:hover{
  border-color:#b9aa8d;
}


/* v4.2 EXECUTIVE-APPROVED VISUAL SYSTEM
   Locked palette: deep Commonage green + restrained heritage gold + warm cream.
   The site structure is expanded; the approved brand identity remains constant. */

body{background:var(--paper);color:var(--green-deep)}
.site-header{
  background:rgba(246,240,228,.96);
  border-bottom:1px solid var(--gold);
}
.brand{gap:12px}
.brand-mark{
  width:58px;height:58px;border:0;overflow:hidden;border-radius:50%;
  background:var(--paper);
}
.brand-mark img{width:100%;height:100%;object-fit:cover}
.brand-name{color:var(--green-deep)}
.site-nav a{color:var(--green-deep)}
.site-nav a:hover,.site-nav a[aria-current=page]{border-color:var(--gold);color:var(--green)}
.site-nav .nav-portal{background:var(--green);color:#fff;border:1px solid var(--green)}

.menu-toggle{
  color:var(--green);
  border-color:var(--green);
  background:transparent;
}

.eyebrow,.card-index,.timeline-year{color:var(--gold-dark)}
.hero h1,.page-hero h1,.section-title,.card h3,.matter h3,.service h3,.prose h2,.prose h3{
  color:var(--green-deep);
}

.btn{border-color:var(--green);color:var(--green)}
.btn-dark{background:var(--green);border-color:var(--green);color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}

.stats{border-color:var(--gold)}
.stat{border-color:var(--line)}
.stat .num{color:var(--green-deep)}

.dark{
  background:var(--green-deep);
  color:#fff;
  border-top:4px solid var(--gold);
  border-bottom:4px solid var(--gold);
}
.dark .section-title{color:#fff}
.dark .section-copy{color:#d9e2dc}
.dark .eyebrow{color:#d6b66e}

.card.dark-card{
  background:var(--green);
  color:#fff;
  border:1px solid rgba(181,138,61,.75);
}
.card.dark-card h3{color:#fff}
.dark-card p{color:#d8e2dc}
.card.dark-card .card-index{color:#d6b66e}

.status{border-color:var(--gold);color:var(--green-deep);background:#f7efd9}
.status.active{border-color:#6f967d;color:#275943;background:#e6efe8}
.status.review{border-color:#c9aa67;color:#75591f;background:#f7edd2}
.status.build{border-color:#b58a3d;color:#6d4e17;background:#f3e6c7}

.portal-band{
  background:var(--green);
  color:#fff;
  border-top:4px solid var(--gold);
}
.portal-band h2{color:#fff}
.portal-band .eyebrow{color:#d6b66e!important}
.portal-actions .btn{border-color:#fff;color:#fff}
.portal-actions .btn:first-child{background:var(--gold);border-color:var(--gold);color:#fff}

.site-footer{
  background:var(--green-deep);
  border-top:4px solid var(--gold);
}
.footer-brand .brand-mark{border:0}
.footer-brand .brand-name{color:#fff}

.service,.card,.doc-table,.notice{
  background:var(--white);
  border-color:var(--line);
}
.service a{border-color:var(--gold-dark);color:var(--green)}

.timeline{border-color:var(--gold)}
.timeline-item{border-color:var(--line)}
.pathway{border-color:var(--gold)}
.step{border-color:var(--line)}

.document-identity{
  display:flex;align-items:center;gap:18px;padding:22px 0 12px;
  border-bottom:2px solid var(--gold);
  margin-bottom:28px;
}
.document-identity img{
  width:72px;height:72px;border-radius:50%;object-fit:cover;
}
.document-identity strong{
  display:block;font-family:Georgia,serif;font-size:26px;font-weight:400;color:var(--green-deep);
}
.document-identity span{
  display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin-top:4px;
}

@media(max-width:640px){
  .brand-mark{width:52px;height:52px}
  .document-identity img{width:62px;height:62px}
}


/* v4.3 — EXECUTIVE LOCKED CIRCULAR INTERACTION LANGUAGE
   Preserve approved green/gold/cream palette and sailboat-land emblem.
   Replace restrictive square controls with pill/circular forms. */

:root{
  --pill:999px;
  --soft-radius:28px;
}

.btn,
.site-nav .nav-portal,
.menu-toggle{
  border-radius:var(--pill);
}

.btn{
  padding-left:24px;
  padding-right:24px;
}

.card,
.service,
.notice{
  border-radius:var(--soft-radius);
}

.status{
  border-radius:var(--pill);
  padding-left:12px;
  padding-right:12px;
}

.pathway{
  border-radius:36px;
  overflow:hidden;
}

.step{
  background:rgba(255,250,240,.55);
}

.stat .num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  min-height:74px;
  border:1px solid var(--gold);
  border-radius:50%;
  padding:8px;
}

.hero-actions .btn{
  min-height:52px;
}

.portal-actions .btn{
  border-radius:var(--pill);
}

.service a{
  border:1px solid var(--green);
  border-radius:var(--pill);
  padding:10px 16px;
  text-decoration:none;
}

.document-identity img,
.brand-mark{
  border-radius:50%;
}

@media(max-width:640px){
  .hero-actions{gap:10px}
  .hero-actions .btn{width:auto;min-width:0}
  .card,.service{border-radius:24px}
}
