/* The Careful Optimist — single source of truth for the global header and hero image frames. */
:root { --tco-cream:#f7ead7; --tco-navy:#0b1f35; --tco-gold:#cba85a; --tco-ink:#16273b; }

.tco-site-header-clean {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  background:var(--tco-cream);
  border-top:3px solid #0c1521;
  border-bottom:1px solid rgba(128,99,31,.28);
}
.tco-site-header-clean__inner {
  width:min(1180px,100%);
  min-height:0;
  margin:0 auto;
  padding:15px 24px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.tco-site-header-clean__link { display:inline-flex; line-height:0; text-decoration:none; }
.tco-site-header-clean__logo {
  display:block;
  width:340px;
  max-width:min(340px,82vw);
  height:auto;
  max-height:118px;
  object-fit:contain;
  margin:0;
  padding:0;
  background:var(--tco-cream);
}

.tco-site-nav-clean {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  background:#fffaf2;
  border-bottom:1px solid rgba(203,168,90,.36);
}
.tco-site-nav-clean__inner {
  width:min(1180px,100%);
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-wrap:wrap;
}
.tco-site-nav-clean a {
  display:block;
  padding:14px 14px 12px;
  color:var(--tco-ink);
  border-bottom:3px solid transparent;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.tco-site-nav-clean a:hover,
.tco-site-nav-clean a:focus,
.tco-site-nav-clean a[aria-current="page"] {
  color:#80631f;
  border-bottom-color:var(--tco-gold);
  outline:none;
}

/* Hero image frames: content-sized and never stretched to match the text column. */
.hero .hero-grid { align-items:center !important; }
.hero .hero-card {
  box-sizing:border-box !important;
  align-self:center !important;
  justify-self:end !important;
  width:min(100%,430px) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:18px !important;
  display:block !important;
  background:#fffdf9 !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.hero .hero-card img,
.hero .hero-card img.cover {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:560px !important;
  margin:0 !important;
  object-fit:contain !important;
  border-radius:11px !important;
}

/* Home hero: one disciplined left edge and strong white editorial headline. */
body.home-page-clean .hero { padding-top:66px !important; padding-bottom:76px !important; text-align:left !important; }
body.home-page-clean .hero .wrap { max-width:1080px !important; }
body.home-page-clean .hero-mark { justify-content:flex-start !important; margin-bottom:22px !important; }
body.home-page-clean .hero h1 {
  max-width:900px !important;
  margin:0 0 28px !important;
  color:#fffaf2 !important;
  text-align:left !important;
  font-weight:700 !important;
  line-height:1.05 !important;
}
body.home-page-clean .hero h1 span { display:block; color:#fffaf2 !important; font-style:normal !important; }
body.home-page-clean .hero h1 span + span { margin-top:7px; }
body.home-page-clean .hero-explanation {
  width:min(680px,100%) !important;
  margin:0 0 28px !important;
  text-align:left !important;
}
body.home-page-clean .hero-explanation p { margin:0 0 12px !important; padding:0 !important; text-align:left !important; }
body.home-page-clean .hero-signature {
  max-width:800px !important;
  margin:24px 0 0 !important;
  text-align:left !important;
}
body.home-page-clean .hero .hero-lead.accent {
  max-width:680px !important;
  margin:18px 0 0 !important;
  text-align:left !important;
}

@media (max-width:760px) {
  .tco-site-header-clean__inner { justify-content:center; padding:12px 18px; }
  .tco-site-header-clean__logo { width:300px; max-width:86vw; max-height:104px; }
  .tco-site-nav-clean__inner { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding:0 12px; scrollbar-width:thin; }
  .tco-site-nav-clean a { white-space:nowrap; padding:13px 12px 11px; }
  .hero .hero-card { justify-self:center !important; width:min(100%,380px) !important; padding:14px !important; }
  body.home-page-clean .hero { padding-top:54px !important; padding-bottom:62px !important; }
}
@media (max-width:420px) {
  .tco-site-header-clean__inner { padding:10px 14px; }
  .tco-site-header-clean__logo { width:255px; max-height:90px; }
}


/* Homepage depth-card actions: calm, visible and consistent. */
.depth-card .depth-copy { margin:0; }
.depth-card .depth-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:42px;
  margin-top:18px;
  padding:11px 18px;
  border:1px solid transparent;
  border-radius:6px;
  background:var(--tco-gold);
  color:#0c1521 !important;
  text-decoration:none !important;
  font-family:'Barlow',Arial,sans-serif;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.075em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(12,21,33,.18);
  transition:background .18s ease,transform .12s ease,box-shadow .18s ease;
}
.depth-card .depth-action:hover,
.depth-card .depth-action:focus {
  background:#e6c97e;
  color:#0c1521 !important;
  outline:3px solid rgba(230,201,126,.30);
  outline-offset:3px;
  box-shadow:0 10px 24px rgba(12,21,33,.24);
}
.depth-card .depth-action:active { transform:translateY(1px); }
@media (max-width:520px) {
  .depth-card .depth-action { width:100%; }
}
