:root{
  --navy:#17364F;
  --deep:#0F2637;
  --gold:#B89052;
  --ivory:#F6F1E8;
  --paper:#FFFDF9;
  --mist:#E7EEF1;
  --text:#4D6270;
  --line:#D7DED9;
  --white:#FFFFFF;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--navy);
  background:var(--ivory);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--gold);
  font-size:14px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.star{
  color:var(--gold);
  font-size:17px;
  line-height:1;
}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
h1{
  font-size:clamp(56px,7.5vw,102px);
  line-height:.98;
  letter-spacing:-.045em;
  margin:22px 0 28px;
  max-width:820px;
}
h2{
  font-size:clamp(39px,5vw,64px);
  line-height:1.06;
  letter-spacing:-.03em;
  margin:16px 0 22px;
}
h3{
  font-size:28px;
  line-height:1.15;
  margin-bottom:12px;
}
.lead{
  color:var(--text);
  font-size:21px;
  line-height:1.7;
  max-width:760px;
}
.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid var(--navy);
  font-weight:800;
  font-size:14px;
}
.button.primary{background:var(--navy);color:#fff}
.button.secondary{background:rgba(255,255,255,.72)}
header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(247,243,235,.95);
  border-bottom:1px solid rgba(23,54,79,.12);
  backdrop-filter:blur(10px);
}
.nav{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand{
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  font-weight:700;
}
.brand small{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  margin-top:5px;
  color:var(--text);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
nav{display:flex;gap:22px;align-items:center;font-size:14px}
.hero{
  position:relative;
  overflow:hidden;
  padding:82px 0 88px;
  background:
    radial-gradient(circle at 82% 18%,rgba(184,144,82,.13),transparent 30%),
    linear-gradient(120deg,var(--paper) 0%,#F4EFE7 47%,var(--mist) 100%);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:56px;
  align-items:center;
}
.hero-copy{position:relative;z-index:2}
.hero-copy .lead strong{color:var(--navy)}
.intro{
  margin-top:34px;
  padding-left:20px;
  border-left:3px solid var(--gold);
  max-width:680px;
}
.intro strong{
  display:block;
  color:var(--navy);
  font-size:19px;
  margin-bottom:4px;
}
.intro span{color:var(--text);font-size:17px}
.photo-wrap{
  position:relative;
  max-width:430px;
  margin-left:auto;
}
.photo-wrap:before{
  content:"";
  position:absolute;
  inset:22px -20px -20px 22px;
  border:1px solid rgba(184,144,82,.5);
  border-radius:2px;
}
.photo-wrap img{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  box-shadow:0 24px 55px rgba(15,38,55,.18);
}
.credibility{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px 20px;
  font-size:14px;
  color:var(--text);
}
.credibility span:before{
  content:"★";
  color:var(--gold);
  margin-right:8px;
  font-size:10px;
}
section{padding:92px 0;border-top:1px solid rgba(23,54,79,.10)}
.advisory{background:var(--paper)}
.advisory-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:72px;
  align-items:start;
}
.advisory-copy p{font-size:19px;color:var(--text)}
.practice-list{border-top:1px solid var(--line)}
.practice-item{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:24px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}
.practice-number{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--gold);
  font-size:28px;
}
.practice-item p{margin:0;color:var(--text);font-size:17px}
.signature{
  background:var(--deep);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.signature:after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid rgba(184,144,82,.24);
  border-radius:50%;
  right:-180px;
  top:-170px;
}
.signature-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:70px;
  align-items:center;
}
.signature .eyebrow{color:#D8B878}
.signature h2{color:#fff}
.signature p{color:#D8E1E6;font-size:19px}
.pullquote{
  font-family:Georgia,"Times New Roman",serif;
  color:#fff;
  font-size:clamp(28px,4vw,48px);
  line-height:1.25;
  border-left:3px solid var(--gold);
  padding-left:28px;
}
.model{background:#F1ECE3}
.model-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:60px;
  align-items:center;
}
.model-copy p{font-size:19px;color:var(--text)}
.diagram{
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 18px 40px rgba(15,38,55,.08);
}
.diagram img{width:100%;height:auto}
.connect{background:var(--paper)}
.connect-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:66px;
  align-items:center;
}
.connect p{font-size:19px;color:var(--text)}
.connect-note{
  padding:28px;
  background:var(--ivory);
  border-left:4px solid var(--gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  line-height:1.45;
}
footer{
  text-align:center;
  background:var(--deep);
  color:#fff;
  padding:54px 0 48px;
}
footer .brandline{
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  font-weight:700;
}
footer .subline{margin-top:8px;color:#D8B878;font-style:italic}
footer .idea{
  margin-top:25px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
}
footer .copy{margin-top:28px;color:#D8E1E6;font-size:13px}
@media(max-width:1000px){
  nav{display:none}
  .hero-grid,.advisory-grid,.signature-grid,.model-grid,.connect-grid{grid-template-columns:1fr}
  .photo-wrap{margin:10px auto 0}
}
@media(max-width:640px){
  .container{width:min(var(--max),calc(100% - 30px))}
  .hero,section{padding:64px 0}
  h1{font-size:52px}
  .credibility{grid-template-columns:1fr}
  .practice-item{grid-template-columns:40px 1fr}
}


/* Homepage v2.1 refinements */

/* Stronger section labels */
.eyebrow{
  font-size:16px;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:4px;
}
.eyebrow .star{
  font-size:19px;
}

/* Hero: navy field with high-contrast editorial treatment */
.hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(184,144,82,.16),transparent 30%),
    linear-gradient(120deg,#0F2637 0%,#17364F 62%,#244E67 100%);
  color:#fff;
}
.hero h1,
.hero .intro strong{
  color:#fff;
}
.hero .lead,
.hero .intro span,
.hero .credibility{
  color:#D8E1E6;
}
.hero .lead strong{
  color:#fff;
}
.hero .eyebrow{
  color:#D8B878;
}
.hero .photo-wrap:before{
  border-color:rgba(216,184,120,.58);
}
.hero .button.primary{
  background:#F1ECE3;
  color:#17364F;
  border-color:#F1ECE3;
}
.hero .button.secondary{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.7);
}
.hero .credibility span:before{
  color:#D8B878;
}

/* Remove the card-like numbering column */
.practice-item{
  grid-template-columns:1fr;
  gap:0;
  padding:30px 0;
}

/* Light blue-gray buttons on dark sections need dark text */
.signature .button.secondary{
  background:#DCE7EC;
  color:#17364F;
  border-color:#DCE7EC;
}

/* Give the Worth Following statement more presence */
.pullquote{
  font-size:clamp(26px,3.4vw,43px);
  line-height:1.3;
}


/* Homepage v2.2 refinements */

.brand small{
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  color:#405867;
}

/* Clarify the platform immediately after the hero */
.platform-bridge{
  padding:30px 0;
  background:#E8EFF2;
  border-top:1px solid rgba(23,54,79,.12);
  border-bottom:1px solid rgba(23,54,79,.12);
}
.platform-bridge-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:48px;
  align-items:center;
}
.platform-bridge .eyebrow{
  margin:0;
  color:#A97934;
}
.platform-bridge p{
  margin:0;
  color:#17364F;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  line-height:1.5;
  max-width:900px;
}

@media(max-width:900px){
  .platform-bridge-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
}


/* Homepage v2.3 refinements */

.platform-bridge{
  display:none !important;
}

.hero .lead strong + strong{
  display:block;
  margin-top:18px;
  color:#D8E1E6;
  font-weight:600;
}


/* Homepage Prototype v3.0 — production-quality review layer */
.mobile-menu-button{
  display:none;
  min-width:44px;
  min-height:44px;
  padding:8px 10px;
  border:1px solid rgba(23,54,79,.2);
  border-radius:9px;
  background:#fff;
}
.mobile-menu-button span{
  display:block;
  width:22px;
  height:2px;
  margin:4px 0;
  background:#17364F;
}
.hero .lead{
  max-width:780px;
}
.hero .lead strong:first-of-type{
  color:#fff;
}
.hero .lead strong:last-of-type{
  display:block;
  margin-top:18px;
  color:#D8E1E6;
  font-weight:600;
}
.photo-wrap img{
  object-position:center 12%;
}
.diagram img{
  width:100%;
}
@media(max-width:1000px){
  .mobile-menu-button{display:block}
  header .nav{position:relative}
  header nav[aria-label="Primary navigation"]{
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    background:#FFFDF9;
    padding:18px;
    border:1px solid rgba(23,54,79,.14);
    box-shadow:0 18px 40px rgba(15,38,55,.16);
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    z-index:50;
  }
  header nav[aria-label="Primary navigation"].open{
    display:flex;
  }
  header nav[aria-label="Primary navigation"] a{
    padding:10px 12px;
    border-radius:7px;
  }
  header nav[aria-label="Primary navigation"] a:hover{
    background:#F1ECE3;
  }
}


/* Homepage Prototype v3.2 — portrait spacing refinement */
.photo-wrap{
  max-width:420px;
  margin:0 auto;
}
.photo-wrap:before{
  display:none !important;
}
.photo-wrap img{
  display:block;
  width:100%;
  margin:0;
  border:0;
  box-shadow:0 24px 55px rgba(15,38,55,.18);
}
@media(min-width:1001px){
  .photo-wrap{
    margin-left:auto;
    margin-right:18px;
  }
}


/* Homepage Prototype v3.3 — requested hero refinements */
.hero-main-copy{
  display:block;
  color:#FFFFFF;
}
.hero-platform-copy{
  display:block;
  margin-top:18px;
  color:#D8E1E6;
  font-weight:600;
}
.photo-wrap{
  padding:10px;
  border:2px solid #D8B878;
  background:rgba(255,255,255,.025);
}
.photo-wrap img{
  box-shadow:0 24px 55px rgba(15,38,55,.20);
}

/* v3.4 header refinements */
.brand small{
  font-weight:800 !important;
  font-size:13px !important;
  color:#314a5c !important;
}
nav a{
  font-weight:700;
  letter-spacing:.01em;
}
.photo-wrap{
  padding:0 !important;
  border:2px solid #D8B878;
  background:none !important;
}
.photo-wrap img{
  display:block;
}


/* Homepage Prototype v3.5 — site-wide visual rhythm standard */

/* Section color grammar */
.section-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(184,144,82,.16),transparent 30%),
    linear-gradient(120deg,#0F2637 0%,#17364F 62%,#244E67 100%) !important;
}
.section-white{
  background:#FFFDF9 !important;
}
.section-navy{
  background:#0F2637 !important;
}
.section-tan{
  background:#F1ECE3 !important;
}

/* Chapter vs. interlude pacing */
.section-chapter{
  padding-top:92px !important;
  padding-bottom:92px !important;
}
.section-interlude{
  padding-top:76px !important;
  padding-bottom:76px !important;
}

/* Gentle reflective transition into the footer */
.footer-transition{
  height:34px;
  background:#F1ECE3;
  border-top:1px solid rgba(23,54,79,.08);
  border-bottom:1px solid rgba(23,54,79,.08);
}

@media(max-width:640px){
  .section-chapter{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
  .section-interlude{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
  .footer-transition{
    height:24px;
  }
}


/* Version 2.0.4 — definitive active navigation state */
nav[aria-label="Primary navigation"] a[aria-current="page"],
nav[aria-label="Primary navigation"] a.active,
nav[aria-label="Primary navigation"] a.current-page {
  color: #B89052 !important;
}


/* Version 2.0.5 — homepage portrait CTA */
.hero-photo-column{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  max-width:440px;
  justify-self:end;
}
.hero-photo-column .photo-wrap{
  width:100%;
  max-width:420px;
  margin:0 !important;
}
.hero-connect-button{
  margin-top:22px;
  min-width:190px;
  justify-content:center;
  text-align:center;
}
@media(max-width:1000px){
  .hero-photo-column{
    justify-self:center;
    max-width:420px;
  }
}
