
:root{--navy:#082f63;--gold:#b8780a;--cream:#fbfaf6;--line:#d9d2c7}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--cream);color:var(--navy);font-family:Georgia,"Times New Roman",serif}
a{color:inherit;text-decoration:none}.shell{width:90%;max-width:1180px;margin:auto}
.site-header{padding:15px 0 0;background:var(--cream)}.header-inner{display:flex;justify-content:space-between;align-items:center}
.wordmark img{width:150px;height:auto;display:block}.nav{display:flex;gap:44px;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.nav a.active{border-bottom:2px solid var(--gold);padding-bottom:10px}
.header-rule{height:1px;background:var(--gold);margin-top:8px}
.site-footer{padding:34px 0 42px}.footer-inner{display:grid;grid-template-columns:145px 1fr auto auto;align-items:center;gap:20px}.footer-wordmark img{width:120px}.footer-rule{height:1px;background:var(--gold)}.tagline{font-size:18px;font-style:italic}.linkedin img{width:31px;height:31px;display:block;object-fit:cover}
.eyebrow,.meta,.cta{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em}.eyebrow{font-size:12px}.meta{font-size:11px}.cta{font-size:11px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}.gold-tick{width:48px;height:2px;background:var(--gold);margin:24px 0}
.home-hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:430px}.home-hero-copy{padding:42px 42px 28px 0}.home-hero h1{font-size:61px;line-height:.96;letter-spacing:-.035em;margin-bottom:0}.home-hero p{font-size:18px;line-height:1.42;max-width:520px}.home-hero img{width:100%;height:100%;object-fit:cover}
.home-pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-card{padding:28px 40px 20px 0}.home-card+ .home-card{padding-left:45px;border-left:1px solid var(--line)}
.home-card h2{font-size:35px;line-height:1.02;margin:15px 0 10px}.home-card p{font-size:17px;line-height:1.45;min-height:72px}.home-card .button{display:inline-block;background:var(--navy);color:white;padding:16px 28px;margin:4px 0 17px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.home-card img{width:100%;height:162px;object-fit:cover;display:block}
.home-method{text-align:center;padding:36px 0 18px}.home-method .eyebrow:before{content:"";display:inline-block;width:30px;height:2px;background:var(--gold);vertical-align:middle;margin-right:15px}.home-method p{max-width:720px;margin:20px auto;font-size:15px;line-height:1.45}.home-method .button{display:inline-block;background:var(--navy);color:white;padding:15px 38px;margin-top:3px;font-size:12px}
.signup{background:var(--navy);color:white;padding:28px 0}.signup-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.signup h2{font-size:17px;letter-spacing:.12em;margin-bottom:7px}.signup p{margin:0}.signup form{display:flex;width:440px}.signup input{flex:1;background:transparent;border:1px solid white;color:white;padding:14px}.signup button{background:#c47c08;color:white;border:0;padding:0 28px;letter-spacing:.14em}
.essay-hero{display:grid;grid-template-columns:1.18fr 1fr;border-bottom:1px solid var(--gold)}.essay-copy{padding:95px 38px 90px 0}.essay-copy h1{font-size:62px;line-height:1.04;letter-spacing:-.025em;margin:30px 0}.essay-copy .dek{font-size:23px;line-height:1.35}.essay-copy .button{display:inline-block;background:var(--navy);color:white;border-radius:40px;padding:18px 38px;margin-top:32px;font-size:18px}.essay-hero img{width:100%;height:100%;object-fit:cover}
.lineage{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;padding:62px 0 80px;border-bottom:1px solid var(--gold);align-items:center}.lineage h2{font-size:43px;margin:28px 0 10px}.lineage .date{font-size:21px}.lineage p{font-size:21px;line-height:1.5;max-width:650px}.lineage a{font-size:20px}.lineage img{width:100%;height:340px;object-fit:cover}
.inquiry-definition{text-align:center;padding:40px 8% 48px;border-bottom:1px solid var(--gold)}.inquiry-definition h1{font-size:33px;margin:35px 0 18px}.dictionary{font-size:61px;font-weight:700;font-style:italic;margin-bottom:36px}.dictionary small{font-size:18px;color:var(--gold)}.definition-copy{font-size:16px;line-height:1.3}.definition-copy strong{font-size:24px}
.method{padding:52px 0 28px;border-bottom:1px solid var(--gold)}.method h2{text-align:center;font-size:52px;letter-spacing:.02em;margin-bottom:28px}.flow{position:relative;max-width:820px;margin:auto;text-align:center}.flow-step{position:relative;padding-bottom:30px}.circle{width:38px;height:38px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 9px}.flow-step:not(.branch)::after{content:"";position:absolute;left:50%;bottom:0;height:30px;border-left:1.5px solid var(--gold)}.flow-step h3{font:bold 14px Arial,sans-serif;text-transform:uppercase;margin:0 0 5px}.flow-step p{font-size:14px;max-width:680px;margin:auto;line-height:1.25}
.branch-wrap{height:170px;position:relative;margin-top:-1px}.branch-line-v{position:absolute;left:50%;top:0;height:40px;border-left:1.5px solid var(--gold)}.branch-line-h{position:absolute;left:50%;top:40px;width:27%;border-top:1.5px solid var(--gold)}.branch-drop{position:absolute;left:77%;top:40px;height:42px;border-left:1.5px solid var(--gold)}.sometimes{position:absolute;left:72%;top:16px;font:10px Arial,sans-serif;color:var(--gold);text-transform:uppercase}.branch{position:absolute;left:57%;right:0;top:78px}
.inquiry-records{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:48px 0 58px}.record{padding-right:34px}.public{padding-left:34px;border-left:1px solid var(--gold)}.record-row{display:grid;grid-template-columns:185px 1fr;gap:18px;margin-top:18px}.record img{width:185px;height:210px;object-fit:cover}.record h2,.public h2{font-size:34px;line-height:1.05;margin:4px 0 8px}.record p,.public p{font-size:16px;line-height:1.35}.record .cta{border-top:1px solid var(--gold);padding-top:15px;display:block;margin-top:15px}.public .announcement{font:bold 10px Arial,sans-serif;text-transform:uppercase;border-top:1px solid var(--gold);padding-top:15px;margin-top:24px}
.contact{text-align:center;padding:105px 0 120px}.contact h1{font-size:39px;letter-spacing:.12em}.contact .center-rule{width:88px;height:1px;background:var(--gold);margin:50px auto}.contact .intro{font-size:25px;font-style:italic;margin-bottom:75px}.contact-form{max-width:560px;margin:auto;text-align:left}.contact-form label{display:block;font-size:18px;margin-bottom:8px}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:1px solid #b4afa6;margin-bottom:38px;padding:15px}.contact-form input{height:60px}.contact-form textarea{height:220px}.send{text-align:center}.send button{background:var(--navy);color:white;border:0;padding:17px 70px;letter-spacing:.18em}
@media(max-width:760px){.shell{width:91%}.header-inner{align-items:flex-start}.wordmark img{width:110px}.nav{gap:15px;font-size:10px;margin-top:12px}.home-hero,.home-pair,.essay-hero,.lineage,.inquiry-records{grid-template-columns:1fr}.home-hero-copy{padding-right:0}.home-hero h1{font-size:49px}.home-card,.home-card+.home-card{padding:30px 0;border-left:0}.signup-inner{display:block}.signup form{width:100%;margin-top:20px}.essay-copy{padding:55px 0}.essay-copy h1{font-size:48px}.essay-hero img{max-height:520px}.lineage{gap:30px}.lineage img{height:260px}.method h2{font-size:38px}.record{padding-right:0}.public{padding:40px 0 0;border-left:0;border-top:1px solid var(--gold);margin-top:40px}.record-row{grid-template-columns:130px 1fr}.record img{width:130px;height:170px}.footer-inner{grid-template-columns:110px 1fr auto}.tagline{grid-column:1/3}.footer-rule{display:none}}

/* v4 — requested corrections only */
.essay-copy .button{display:table;margin-left:0;margin-right:auto;text-align:left}
.record-row{grid-template-columns:48% 1fr;align-items:start}
.record img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.inquiry-records{align-items:stretch}
.record,.public{display:flex;flex-direction:column}
.record-row{flex:1}
.record .cta,.public .announcement{margin-top:auto;border-top:1px solid var(--gold);padding-top:15px}
.lineage{border-bottom:0}

/* v5 — alignment corrections only */

/* HOME: keep the two cards on a common visual grid:
   headings/meta/copy -> buttons -> images. */
.home-card{display:flex;flex-direction:column}
.home-card p{min-height:96px}
.home-card .button{align-self:flex-start;margin-top:auto}
.home-card img{margin-top:0}

/* INQUIRIES: remove spacing that belonged to the deleted INQUIRIES eyebrow. */
.inquiry-definition h1{margin-top:0}

/* PRIVATE/PUBLIC: closing gold rules share one eye line. */
.inquiry-records{align-items:stretch}
.record,.public{height:100%}
.record-row{flex:1}
.record .cta,.public .announcement{
  margin-top:auto;
  min-height:42px;
  border-top:1px solid var(--gold);
  padding-top:15px;
}

/* v6 — Essays lineage spacing + CTA treatment only */
.lineage .date{margin-bottom:24px}
.lineage a{
  display:inline-block;
  margin-top:8px;
  padding-bottom:5px;
  border-bottom:1px solid var(--gold);
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* v8 — revert v7; align the two independent section-ending rules without
   changing the internal layout of either inquiry column. */
.inquiry-records{align-items:stretch}
.inquiry-records > .record,
.inquiry-records > .public{
  position:relative;
  display:block;
  padding-bottom:54px;
  height:100%;
}
.record .record-row{display:grid}
.record .cta,
.public .announcement{
  border-top:0 !important;
  margin-top:20px;
  padding-top:0;
  min-height:0;
}
.inquiry-records > .record::after,
.inquiry-records > .public::after{
  content:"";
  position:absolute;
  left:0;
  right:34px;
  bottom:18px;
  height:1px;
  background:var(--gold);
}
.inquiry-records > .public::after{
  left:34px;
  right:0;
}


/* =========================================================
   MOBILE QA v1 — responsive overrides only
   Desktop V8 remains unchanged.
   ========================================================= */

@media (max-width: 768px){

  html, body { overflow-x:hidden; }

  body { font-size:16px; }

  /* Shared page width */
  .page, main, .wrap, .container {
    max-width:100%;
  }

  /* Header */
  header, .site-header {
    padding-left:22px;
    padding-right:22px;
  }

  header nav, .site-header nav {
    flex-wrap:wrap;
    gap:14px;
  }

  /* General sections */
  section {
    max-width:100%;
  }

  img {
    max-width:100%;
    height:auto;
  }

  /* HOME — paired editorial cards become a clean vertical sequence */
  .home-grid,
  .story-grid,
  .linked-story,
  .home-stories,
  .two-col {
    grid-template-columns:1fr !important;
  }

  .home-card {
    min-width:0;
  }

  .home-card p {
    min-height:0 !important;
  }

  .home-card img {
    width:100%;
    height:auto;
  }

  /* Method becomes single-column */
  .method,
  .method-section {
    max-width:100%;
  }

  /* Email capture */
  .subscribe form,
  .email-form,
  .signup-form {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }

  .subscribe input,
  .email-form input,
  .signup-form input,
  .subscribe button,
  .email-form button,
  .signup-form button {
    width:100%;
    box-sizing:border-box;
  }

  /* ESSAYS — hero and lineage stack without image/text collision */
  .essay-hero,
  .essay-grid,
  .lineage,
  .lineage-grid {
    grid-template-columns:1fr !important;
  }

  .essay-hero img,
  .lineage img {
    width:100%;
    height:auto;
    object-fit:contain;
  }

  .lineage .date {
    margin-bottom:24px;
  }

  /* INQUIRIES — preserve sequence and branching meaning while
     translating the desktop diagram to a narrow screen */
  .method-map,
  .inquiry-method,
  .method-flow {
    max-width:100%;
  }

  .method-map *,
  .inquiry-method *,
  .method-flow * {
    max-width:100%;
    box-sizing:border-box;
  }

  /* Bottom Private/Public sections stack on mobile */
  .inquiry-records {
    display:block !important;
  }

  .inquiry-records > .record,
  .inquiry-records > .public {
    width:100%;
    height:auto !important;
    padding-bottom:54px;
  }

  .inquiry-records > .public {
    margin-top:44px;
  }

  /* Once stacked, each section keeps its own closing rule.
     They no longer need desktop eye-line alignment. */
  .inquiry-records > .record::after,
  .inquiry-records > .public::after {
    left:0 !important;
    right:0 !important;
    bottom:18px;
  }

  .record img {
    width:100%;
    height:auto;
    object-fit:contain;
  }

  /* Contact form */
  form input,
  form textarea,
  form button {
    max-width:100%;
    box-sizing:border-box;
  }

  /* Footer */
  footer, .site-footer {
    padding-left:22px;
    padding-right:22px;
  }

  footer img, .site-footer img {
    max-width:100%;
  }
}

@media (max-width: 480px){

  /* Keep the large editorial type dramatic, but prevent overflow */
  h1 {
    font-size:clamp(38px, 12vw, 62px);
    line-height:.98;
    overflow-wrap:break-word;
  }

  h2 {
    font-size:clamp(29px, 9vw, 44px);
    line-height:1.03;
  }

  .inquiry-definition h1 {
    font-size:clamp(36px, 11vw, 54px);
  }

  /* Comfortable phone gutters */
  main, .main, .content {
    padding-left:20px;
    padding-right:20px;
  }

  /* Prevent metadata/navigation from forcing horizontal scrolling */
  .eyebrow, .date, .meta, nav {
    overflow-wrap:anywhere;
  }
}

@media (max-width:768px){
  /* HOME: contain the subscription area that shifted off the right edge. */
  .subscribe,.signup,.email-band{
    width:auto!important;max-width:100%!important;
    margin-left:0!important;margin-right:0!important;
    box-sizing:border-box;overflow:hidden;
  }
  .subscribe form,.signup form,.email-band form{
    width:100%!important;max-width:100%!important;
    display:grid!important;grid-template-columns:1fr!important;gap:0!important;
  }
  .subscribe input,.subscribe button,.signup input,.signup button,
  .email-band input,.email-band button{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:0!important;margin-right:0!important;box-sizing:border-box;
  }

  /* INQUIRIES: true mobile stack for Private/Public records. */
  .inquiry-records{
    display:block!important;width:100%!important;
  }
  .inquiry-records>.record,.inquiry-records>.public{
    display:block!important;width:100%!important;max-width:100%!important;
    height:auto!important;margin-left:0!important;margin-right:0!important;
    padding-left:0!important;padding-right:0!important;box-sizing:border-box;
  }
  .record .record-row{
    display:block!important;width:100%!important;
    grid-template-columns:1fr!important;
  }
  .record .record-row>*{
    width:100%!important;max-width:100%!important;
    margin-left:0!important;margin-right:0!important;
  }
  .record .record-row img,.record img{
    display:block!important;width:100%!important;max-width:100%!important;
    height:auto!important;object-fit:contain!important;margin:22px 0 28px!important;
  }
  .record .record-copy,.record .copy,.public .copy{
    width:100%!important;max-width:100%!important;
  }
  .record .cta,.public .announcement{
    display:block!important;width:100%!important;max-width:100%!important;
    box-sizing:border-box;
  }
  .inquiry-records>.record::after,.inquiry-records>.public::after{
    left:0!important;right:0!important;width:auto!important;
  }
  .inquiry-records>.public{
    clear:both!important;margin-top:56px!important;
  }
  .method-map,.inquiry-method,.method-flow{
    margin-bottom:54px!important;
  }
}


/* =========================================================
   MOBILE QA v3 — approved phone treatment
   Desktop V8 remains unchanged.
   ========================================================= */
@media (max-width:768px){

  /* METHOD: required spine ends at 4. */
  .flow > .flow-step:nth-child(4)::after{
    display:none !important;
  }

  /* Replace desktop sideways branch with approved mobile optional break. */
  .branch-wrap{
    position:static !important;
    height:auto !important;
    margin:42px 0 58px !important;
  }

  .branch-line-v,
  .branch-line-h,
  .branch-drop{
    display:none !important;
  }

  .branch-wrap .sometimes{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    margin:0 0 28px !important;
    font:700 10px Arial,sans-serif !important;
    letter-spacing:.08em;
    color:var(--gold) !important;
    text-transform:uppercase;
  }

  .branch-wrap .sometimes::before,
  .branch-wrap .sometimes::after{
    content:"";
    display:block;
    width:76px;
    height:1px;
    background:var(--gold);
  }

  .branch-wrap .branch{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:100% !important;
    padding-bottom:0 !important;
    text-align:center !important;
  }

  /* PRIVATE INQUIRY: approved breathing room. */
  .record h2{
    margin:8px 0 18px !important;
  }

  .record .meta{
    display:block !important;
    margin:0 0 22px !important;
    line-height:1.45 !important;
  }

  .record .meta + p{
    margin-top:0 !important;
  }

  /* One divider only between Private and Public on mobile.
     Remove V8's pseudo-rules; retain Public's single border-top. */
  .inquiry-records > .record::after,
  .inquiry-records > .public::after{
    display:none !important;
  }

  .inquiry-records > .record{
    padding-bottom:0 !important;
  }

  .inquiry-records > .public{
    border-top:1px solid var(--gold) !important;
    padding-top:40px !important;
    margin-top:48px !important;
    padding-bottom:0 !important;
  }

  .record .cta,
  .public .announcement{
    border-top:0 !important;
  }
}

html{scroll-behavior:smooth}
#method,#proactive-health{scroll-margin-top:32px}
