:root{
    --graphite:#1B1D19;
    --graphite-2:#25271F;
    --paper:#EFEAE0;
    --paper-dim:#E5DECE;
    --stone:#A69E8C;
    --stone-dim:#8B8371;
    --mineral:#24463A;
    --mineral-bright:#3E6E5A;
    --rust:#9C5A3C;
    --ink:#211F1A;
    --ink-soft:#4B473D;
    --cream:#F6F2E9;

    --display:'General Sans', -apple-system, sans-serif;
    --mono:'JetBrains Mono', monospace;

    --gutter: clamp(24px, 5vw, 96px);
    --edge: 1px solid rgba(166,158,140,0.35);
    --edge-dark: 1px solid rgba(166,158,140,0.22);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--display);
    background:var(--paper);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

  .container{
    max-width:1440px;
    margin:0 auto;
    padding-left:var(--gutter);
    padding-right:var(--gutter);
  }

  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:'';
    width:16px;height:1px;
    background:currentColor;
    display:inline-block;
  }

  /* ---------- Assurance line signature ---------- */
  .assurance-line{
    position:relative;
    height:1px;
    background:rgba(166,158,140,0.3);
    width:100%;
    overflow:hidden;
    margin:0;
  }
  .assurance-line .fill{
    position:absolute;
    top:0;left:0;height:100%;
    width:0%;
    background:var(--mineral-bright);
    transition:width 1.4s cubic-bezier(.22,.61,.36,1);
  }
  .assurance-line .fill.on-dark{ background:var(--mineral-bright); }
  .assurance-line.in-view .fill{ width:100%; }
  .assurance-line .node{
    position:absolute;top:-3px;
    width:7px;height:7px;
    border-radius:50%;
    background:var(--mineral-bright);
    left:0%;
    transition:left 1.4s cubic-bezier(.22,.61,.36,1);
  }
  .assurance-line.in-view .node{ left:calc(100% - 7px); }

  /* ---------- Nav ---------- */
  nav.container{
    display:flex;align-items:center;justify-content:space-between;
    height:76px;
  }
  .logo{
    font-family:var(--display);
    font-weight:600;
    font-size:17px;
    letter-spacing:0.01em;
  }
  .logo span{ color:var(--mineral); }
  .logo-sub{
    font-family:var(--mono);
    font-size:10.5px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--stone-dim);
    margin-left:8px;
    vertical-align:1px;
  }

  /* ---------- Dark section base (grid texture retired per brand refinement) ---------- */
  .hero, section.on-dark{
    background-color:var(--graphite);
  }
  .nav-links{
    display:flex;gap:36px;
    font-size:13px;
    font-family:var(--mono);
    letter-spacing:0.03em;
  }
  .nav-links a{ opacity:0.75; transition:opacity .2s; }
  .nav-links a:hover{ opacity:1; }
  .nav-cta{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.05em;
    border:1px solid var(--ink);
    padding:10px 18px;
    transition:background .2s, color .2s;
  }
  .nav-cta:hover{ background:var(--ink); color:var(--paper); }
  @media (max-width:900px){ .nav-links{display:none;} }

  /* ---------- Hero ---------- */
  .hero{
    background:var(--graphite);
    color:var(--paper);
    padding-top:120px;
    padding-bottom:100px;
    position:relative;
  }
  .hero .eyebrow{ color:var(--stone); margin-bottom:36px; }
  .hero h1{
    font-size:clamp(38px, 6vw, 84px);
    font-weight:600;
    line-height:1.02;
    letter-spacing:-0.02em;
    max-width:16ch;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--stone);
  }
  .hero-top{
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:var(--gutter);
    align-items:center;
    margin-top:36px;
  }
  .hero-art{
    position:relative;
    aspect-ratio:6/5;
    border:1px solid rgba(255,255,255,0.1);
    background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0));
    overflow:hidden;
  }
  .hero-art .caption{
    position:absolute; bottom:10px; left:12px;
    font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em;
    color:var(--stone-dim); text-transform:uppercase;
  }

  .hero-grid{
    display:grid;
    grid-template-columns:7fr 5fr;
    gap:var(--gutter);
    align-items:end;
    margin-top:56px;
  }
  .hero-sub{
    font-size:17px;
    line-height:1.6;
    color:#CFC9BA;
    max-width:46ch;
  }
  .hero-actions{
    display:flex;flex-direction:column;gap:22px;align-items:flex-end;
  }
  .btn-primary{
    font-family:var(--mono);
    font-size:13px;
    letter-spacing:0.05em;
    background:var(--mineral-bright);
    color:var(--graphite);
    padding:16px 26px;
    display:inline-block;
    transition:background .2s;
    white-space:nowrap;
  }
  .btn-primary:hover{ background:#4E8069; }
  .hero-stats{
    display:flex;gap:0;
    margin-top:72px;
    border-top:var(--edge-dark);
  }
  .hero-stat{
    flex:1;
    padding:22px 0 0;
    border-right:var(--edge-dark);
  }
  .hero-stat:last-child{ border-right:none; }
  .hero-stat .num{
    font-family:var(--mono);
    font-size:28px;
    color:var(--mineral-bright);
  }
  .hero-stat .label{
    font-size:12.5px;
    color:var(--stone);
    margin-top:6px;
    max-width:22ch;
  }
  @media (max-width:900px){
    .hero-top{grid-template-columns:1fr;}
    .hero-art{margin-top:28px;aspect-ratio:6/4.4;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-actions{align-items:flex-start;margin-top:20px;}
    .hero-stats{flex-direction:column;}
    .hero-stat{border-right:none;border-bottom:var(--edge-dark);padding-bottom:16px;}
  }

  /* ---------- Hero photography ---------- */
  .hero-photo{
    position:absolute; inset:0; overflow:hidden; z-index:0;
  }
  .hero-photo img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0; transform:scale(1.06);
    animation:heroFade 16s infinite;
  }
  .hero-photo img:nth-child(1){ animation-delay:0s; }
  .hero-photo img:nth-child(2){ animation-delay:5.3s; }
  .hero-photo img:nth-child(3){ animation-delay:10.6s; }
  @keyframes heroFade{
    0%{opacity:0; transform:scale(1.06);}
    4%{opacity:1;}
    30%{opacity:1; transform:scale(1.14);}
    34%{opacity:0;}
    100%{opacity:0;}
  }
  .hero-photo::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(27,29,25,0.72) 0%, rgba(27,29,25,0.55) 38%, rgba(27,29,25,0.86) 100%);
  }
  .hero{ overflow:hidden; }
  .hero .container{ position:relative; z-index:2; }
  .hero-annotations{
    position:absolute; bottom:110px; right:var(--gutter); z-index:2;
    text-align:right; font-family:var(--mono); font-size:11.5px; color:var(--stone);
    letter-spacing:0.04em; opacity:0; animation:annotIn 16s infinite;
  }
  .hero-annotations div{ margin-top:6px; }
  .hero-annotations .hl{ color:var(--mineral-bright); }
  @keyframes annotIn{
    0%{opacity:0; transform:translateY(6px);}
    10%{opacity:1; transform:translateY(0);}
    26%{opacity:1;}
    32%{opacity:0;}
    100%{opacity:0;}
  }
  @media (max-width:900px){ .hero-annotations{ display:none; } }

  /* ---------- Nav: transparent-over-hero -> solid on scroll ---------- */
  header{
    position:fixed; top:0; left:0; width:100%; z-index:50;
    background:transparent;
    border-bottom:1px solid transparent;
    color:var(--paper);
    transition:background .3s ease, border-color .3s ease, color .3s ease;
  }
  header.scrolled{
    background:rgba(239,234,224,0.94);
    backdrop-filter:blur(8px);
    border-bottom:var(--edge);
    color:var(--ink);
  }
  .nav-cta{ border:1px solid currentColor; color:inherit; }

  /* ---------- Case study spreads ---------- */
  .case-study{
    display:grid; grid-template-columns:1fr 1fr; gap:var(--gutter);
    align-items:center; padding:70px 0; border-top:var(--edge);
  }
  .case-study.reverse .cs-media{ order:2; }
  .case-study.reverse .cs-text{ order:1; }
  .cs-media{ position:relative; }
  .cs-media img{ width:100%; height:auto; display:block; }
  .cs-media .cs-tag{
    margin-top:14px;
    font-family:var(--mono); font-size:11px; letter-spacing:0.08em;
    color:var(--stone-dim); text-transform:uppercase;
  }
  .cs-text .place{ font-family:var(--mono); font-size:12px; color:var(--stone-dim); }
  .cs-text h3{ font-size:26px; font-weight:600; margin:10px 0 6px; }
  .cs-text .theme{ font-family:var(--mono); font-size:12.5px; color:var(--mineral); margin-bottom:20px; display:block; }
  .cs-figs{ display:flex; gap:32px; margin-bottom:22px; padding-top:16px; border-top:var(--edge); }
  .cs-figs div .v{ font-family:var(--mono); font-size:19px; color:var(--mineral); font-weight:600; }
  .cs-figs div .l{ font-family:var(--mono); font-size:10px; letter-spacing:0.08em; color:var(--stone-dim); text-transform:uppercase; margin-top:3px; }
  .cs-field{ margin-bottom:16px; }
  .cs-field .fk{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.1em; color:var(--stone-dim); text-transform:uppercase; }
  .cs-field .fv{ font-size:14.5px; line-height:1.6; color:var(--ink-soft); margin-top:4px; }
  .cs-field.insight .fk{ color:var(--mineral); }
  .cs-field.insight .fv{ color:var(--ink); font-weight:500; }
  @media (max-width:900px){
    .case-study, .case-study.reverse{ grid-template-columns:1fr; }
    .case-study.reverse .cs-media, .case-study.reverse .cs-text{ order:unset; }
  }

  .exp-row{
    display:grid; grid-template-columns:repeat(2,1fr);
    border-top:var(--edge); margin-top:10px;
  }
  .exp-row > div{ padding:24px 26px 24px 0; border-right:var(--edge); }
  .exp-row > div:last-child{ border-right:none; padding-right:0; padding-left:26px; }
  .exp-row .name{ font-size:16px; font-weight:600; }
  .exp-row .meta{ font-family:var(--mono); font-size:11.5px; color:var(--stone-dim); margin-top:4px; }
  .exp-row .theme{ font-size:13px; color:var(--ink-soft); margin-top:10px; }
  @media (max-width:900px){ .exp-row{grid-template-columns:1fr;} .exp-row > div{border-right:none;border-bottom:var(--edge);padding:20px 0;} }

  /* ---------- Differentiator ---------- */
  .differentiator{ display:grid; grid-template-columns:1fr 1fr; gap:var(--gutter); align-items:center; }
  @media (max-width:900px){ .differentiator{grid-template-columns:1fr;} }

  /* ---------- Contact intent selector ---------- */
  .intent-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(166,158,140,0.3); border:1px solid rgba(166,158,140,0.3); margin-top:48px; }
  .intent-card{
    background:var(--paper); padding:26px 22px; text-align:left; cursor:pointer;
    font-family:var(--display); color:var(--ink); border:none; transition:background .2s;
  }
  .intent-card:hover, .intent-card.active{ background:var(--paper-dim); }
  .intent-card .t{ font-size:14.5px; font-weight:600; }
  .intent-card .arrow{ font-family:var(--mono); font-size:12px; color:var(--mineral); margin-top:10px; display:block; }
  .contact-form{
    max-width:520px; margin:36px auto 0; text-align:left;
    display:none;
  }
  .contact-form.open{ display:block; }
  .contact-form label{ font-family:var(--mono); font-size:11px; letter-spacing:0.06em; color:var(--stone-dim); text-transform:uppercase; display:block; margin-bottom:8px; margin-top:18px; }
  .contact-form input, .contact-form textarea{
    width:100%; background:var(--cream); border:var(--edge); padding:12px 14px;
    font-family:var(--display); font-size:14.5px; color:var(--ink);
  }
  .contact-form textarea{ min-height:90px; resize:vertical; }
  .contact-form .submit-row{ margin-top:24px; }
  @media (max-width:700px){ .intent-grid{grid-template-columns:1fr 1fr;} }

  /* ---------- Section shell ---------- */
  section{ padding:110px 0; }
  section.on-dark{ background:var(--graphite); color:var(--paper); }
  .section-head{
    display:grid;
    grid-template-columns:5fr 7fr;
    gap:var(--gutter);
    margin-bottom:64px;
  }
  .section-head h2{
    font-size:clamp(28px,3.4vw,42px);
    font-weight:600;
    letter-spacing:-0.01em;
    line-height:1.12;
  }
  .section-head p{
    font-size:16px;
    line-height:1.65;
    color:var(--ink-soft);
    align-self:end;
  }
  .on-dark .section-head p{ color:#C9C3B4; }
  @media (max-width:900px){ .section-head{grid-template-columns:1fr;gap:20px;} }

  /* ---------- Who we help ---------- */
  .client-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:var(--edge);
  }
  .client-col{
    padding:30px 26px 0 0;
    border-right:var(--edge);
  }
  .client-col:last-child{ border-right:none; }
  .client-col .idx{ font-family:var(--mono); font-size:12px; color:var(--mineral); }
  .client-col h3{ font-size:19px; font-weight:600; margin:14px 0 12px; line-height:1.3; }
  .client-col .q{ font-style:normal; color:var(--stone-dim); font-family:var(--mono); font-size:12.5px; display:block; margin-bottom:12px; }
  .client-col p{ font-size:14.5px; line-height:1.6; color:var(--ink-soft); }
  @media (max-width:900px){
    .client-grid{grid-template-columns:1fr;}
    .client-col{border-right:none;border-bottom:var(--edge);padding:26px 0;}
  }

  /* ---------- Positioning band ---------- */
  .position-statement{
    font-size:clamp(22px,2.6vw,32px);
    line-height:1.4;
    font-weight:500;
    max-width:22ch;
    letter-spacing:-0.01em;
  }
  .position-statement .accent{ color:var(--mineral-bright); }
  .hierarchy{
    margin-top:70px;
    display:flex;
    flex-wrap:wrap;
    gap:0;
    border-top:var(--edge-dark);
    border-left:var(--edge-dark);
  }
  .hierarchy-item{
    flex:1 1 150px;
    padding:20px 18px;
    border-right:var(--edge-dark);
    border-bottom:var(--edge-dark);
  }
  .hierarchy-item .k{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.1em; color:var(--stone); text-transform:uppercase; }
  .hierarchy-item .v{ font-size:14.5px; margin-top:8px; color:var(--paper); }

  /* ---------- Services ---------- */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:rgba(166,158,140,0.35);
    border:var(--edge);
  }
  .service-card{
    background:var(--paper);
    padding:34px 28px;
    display:flex;flex-direction:column;
    min-height:340px;
  }
  .service-card .idx{ font-family:var(--mono); font-size:12px; color:var(--mineral); }
  .service-card h3{ font-size:21px; font-weight:600; margin:16px 0 6px; }
  .service-card .tag{ font-family:var(--mono); font-size:12px; color:var(--stone-dim); margin-bottom:18px; display:block;}
  .service-card ul{ list-style:none; margin-top:auto; padding-top:18px; border-top:var(--edge); }
  .service-card li{ font-size:13px; color:var(--ink-soft); padding:5px 0; line-height:1.4; }
  .service-card li::before{ content:'— '; color:var(--stone); }
  @media (max-width:900px){ .services-grid{grid-template-columns:1fr;} }

  /* ---------- Signature: MakeSure 9 instrument (quiet, not a dashboard) ---------- */
  .overall-position{
    margin-top:40px; padding-top:28px; border-top:var(--edge-dark);
    display:flex; align-items:baseline; gap:20px; flex-wrap:wrap;
    max-width:900px; margin-left:auto; margin-right:auto;
  }
  .overall-position .op-label{ font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--stone); text-transform:uppercase; }
  .overall-position .op-value{ font-family:var(--display); font-size:22px; font-weight:600; color:#C9A24A; }
  .overall-position .op-traj{ font-family:var(--mono); font-size:12px; color:var(--stone); }
  .illustrative-tag{
    text-align:right; font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em;
    color:var(--stone-dim); text-transform:uppercase; margin-top:18px;
  }
  .instrument-wrap{ padding:56px 0 0; max-width:900px; margin:0 auto; }
  .lens-list{ border-top:var(--edge-dark); }
  .lens-item{
    display:flex; align-items:center; justify-content:space-between;
    width:100%; background:none; cursor:pointer; text-align:left;
    padding:15px 6px 15px 16px; border-bottom:var(--edge-dark);
    border-left:2px solid transparent;
    color:var(--paper); font-family:var(--display);
    transition:border-color .2s ease, background .2s ease;
  }
  .lens-item .num{ font-family:var(--mono); font-size:12px; color:var(--stone); margin-right:18px; }
  .lens-item .name{ font-size:15px; flex:1; }
  .lens-item .stat{ font-family:var(--mono); font-size:11px; letter-spacing:0.05em; color:var(--stone); text-transform:uppercase; }
  .lens-item.active{ border-left-color:var(--mineral-bright); background:rgba(62,110,89,0.07); }
  .lens-item.active .num, .lens-item.active .stat{ color:var(--mineral-bright); }

  .report{
    margin-top:40px;
    background:var(--cream);
    color:var(--ink);
    border:var(--edge);
    padding:48px clamp(24px,5vw,64px);
  }
  .report-header{
    display:flex; align-items:center; justify-content:space-between;
    padding-bottom:24px; border-bottom:var(--edge); margin-bottom:28px;
  }
  .report-header .rh-mark{ display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--stone-dim); }
  .report-header .rh-project{ font-family:var(--mono); font-size:11px; letter-spacing:0.06em; color:var(--stone-dim); text-align:right; }
  .report-status-line{ font-family:var(--mono); font-size:13px; color:var(--ink-soft); letter-spacing:0.02em; }
  .report-status-line .sw{ font-weight:600; }
  .sw-assured{ color:var(--mineral); } .sw-watch{ color:#B8862E; } .sw-action{ color:#9C5A3C; }
  .report h4{ font-size:clamp(22px,3vw,30px); font-weight:600; margin:10px 0 8px; letter-spacing:-0.01em; }
  .report .lens-title{ font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--stone-dim); text-transform:uppercase; }

  .al-block{ margin:34px 0; padding:26px 0; border-top:var(--edge); border-bottom:var(--edge); }
  .al-row{ display:flex; align-items:center; gap:18px; margin-bottom:16px; }
  .al-row:last-child{ margin-bottom:0; }
  .al-label{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; color:var(--stone-dim); text-transform:uppercase; width:100px; flex-shrink:0; }
  .al-date{ font-family:var(--mono); font-size:12.5px; color:var(--ink); width:78px; flex-shrink:0; }
  .al-track{ position:relative; flex:1; height:1px; background:rgba(33,31,26,0.22); }
  .al-track .marker{ position:absolute; top:-4px; width:9px; height:9px; border-radius:50%; }
  .al-track .marker.hollow{ border:1.6px solid var(--ink-soft); background:var(--cream); }
  .al-track .marker.filled{ background:var(--mineral); }
  .al-variance{ text-align:right; margin-top:4px; }
  .al-variance .fk{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; color:var(--stone-dim); text-transform:uppercase; }
  .al-variance .fv{ font-family:var(--mono); font-size:15px; color:#9C5A3C; margin-left:8px; }

  .report-field{ margin-bottom:24px; }
  .report-field:last-child{ margin-bottom:0; }

  /* ---------- Founders / About (understated — Experience remains the lead) ---------- */
  .founders-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:var(--gutter);
    margin-top:48px;
  }
  .founder{
    display:flex; gap:24px; align-items:flex-start;
  }
  .founder-portrait{
    width:210px; aspect-ratio:4/5; flex-shrink:0;
    background:var(--paper-dim); border:var(--edge);
    overflow:hidden;
  }
  .network-note{
    margin-top:44px; padding-top:24px; border-top:var(--edge);
    display:flex; gap:20px; align-items:baseline; flex-wrap:wrap;
  }
  .network-note .fk{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.1em; color:var(--stone-dim); text-transform:uppercase; }
  .network-note p{ font-size:13.5px; line-height:1.6; color:var(--ink-soft); max-width:52ch; }
  .founder-portrait img{ width:100%; height:100%; object-fit:cover; display:block; }
  .founder-text{ flex:1; padding-top:6px; }
  .about-stat{
    margin-top:44px; padding-top:24px; border-top:var(--edge);
    display:flex; align-items:baseline; gap:20px; flex-wrap:wrap;
  }
  .about-stat .op-label{ font-family:var(--mono); font-size:22px; font-weight:600; color:var(--mineral); }
  .about-stat .op-traj{ font-size:13.5px; color:var(--ink-soft); }
  .founder-name{ font-size:17px; font-weight:600; }
  .founder-role{ font-family:var(--mono); font-size:11px; color:var(--mineral); letter-spacing:0.03em; margin-top:3px; margin-bottom:12px; display:block; }
  .founder-bio{ font-size:13.5px; line-height:1.62; color:var(--ink-soft); max-width:42ch; }
  @media (max-width:700px){
    .founders-grid{ grid-template-columns:1fr; gap:36px; }
    .founder-portrait{ width:150px; }
  }
  .report-field .fk{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.1em; color:var(--mineral); text-transform:uppercase; }
  .report-field .fv{ font-size:16px; line-height:1.6; margin-top:6px; max-width:64ch; }
  @media (max-width:700px){
    .lens-item .name{ font-size:14px; }
    .report{ padding:32px 20px; }
    .al-row{ flex-wrap:wrap; gap:8px; }
    .al-label{ width:auto; }
    .al-track{ order:3; width:100%; margin-top:6px; }
  }

  /* ---------- Quiet moments ---------- */
  .quiet-photo{ position:relative; height:78vh; min-height:420px; max-height:720px; overflow:hidden; background:var(--graphite); }
  .quiet-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
  .quiet-photo::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(20,21,18,0) 38%, rgba(20,21,18,0.38) 66%, rgba(20,21,18,0.94) 100%);
  }
  .quiet-photo .qp-line{
    position:absolute; left:var(--gutter); right:var(--gutter); bottom:72px; z-index:2;
    font-family:var(--display); font-weight:500; font-size:clamp(23px,3.2vw,40px);
    color:var(--paper); max-width:23ch; line-height:1.3; letter-spacing:-0.005em;
    text-shadow:0 2px 24px rgba(0,0,0,0.28);
  }
  .quiet-statement{ padding:150px 0; text-align:center; }
  .quiet-statement .qs-eyebrow{ justify-content:center; margin-bottom:32px; }
  .quiet-statement p{
    font-size:clamp(22px,3vw,34px); font-weight:500; line-height:1.45;
    max-width:26ch; margin:0 auto; letter-spacing:-0.005em; color:var(--ink);
  }
  .quiet-statement .qs-sub{ margin-top:28px; font-family:var(--mono); font-size:13px; color:var(--stone-dim); max-width:48ch; margin-left:auto; margin-right:auto; line-height:1.6; }
  @media (max-width:700px){
    .quiet-photo{ height:56vh; min-height:380px; }
    .quiet-photo .qp-line{ bottom:40px; max-width:15ch; }
    .quiet-statement{ padding:90px 0; }
  }

  /* ---------- Breathing-room break + standalone photo ---------- */
  .qp-break{
    background:var(--paper); padding:130px 0 110px; text-align:center;
  }
  .qp-break-line{
    font-family:var(--display); font-weight:500;
    font-size:clamp(24px,3.4vw,42px); line-height:1.4;
    color:var(--ink); letter-spacing:-0.005em;
    max-width:20ch; margin:0 auto;
  }
  .qp-examples{
    margin:56px auto 0; max-width:520px; text-align:left;
    display:flex; flex-direction:column; gap:0;
  }
  .qp-example{
    padding:22px 0; border-top:var(--edge);
    display:flex; flex-direction:column; gap:5px;
  }
  .qp-example:last-child{ border-bottom:var(--edge); }
  .qp-example .a{ font-size:15.5px; color:var(--ink-soft); }
  .qp-example .b{ font-size:16.5px; color:var(--ink); font-weight:600; }
  .qp-photo-solo{
    position:relative; height:70vh; min-height:380px; max-height:640px;
    overflow:hidden; background:var(--graphite);
  }
  .qp-photo-solo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
  @media (max-width:700px){
    .qp-break{ padding:90px 0 70px; }
    .qp-photo-solo{ height:44vh; min-height:280px; }
  }

  /* ---------- Proof ---------- */
  .proof-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    background:rgba(166,158,140,0.35);
    border:var(--edge);
    margin-top:20px;
  }
  .proof-card{ background:var(--paper); padding:32px; }
  .proof-card .name{ font-size:20px; font-weight:600; }
  .proof-card .place{ font-family:var(--mono); font-size:12px; color:var(--stone-dim); margin-top:4px; }
  .proof-figs{ display:flex; gap:26px; margin:20px 0; }
  .proof-figs div .v{ font-family:var(--mono); font-size:16px; color:var(--mineral); }
  .proof-figs div .l{ font-size:11px; color:var(--stone-dim); margin-top:2px; }
  .proof-card .desc{ font-size:14px; line-height:1.6; color:var(--ink-soft); }
  .proof-card .outcome{ font-size:13px; margin-top:16px; padding-top:16px; border-top:var(--edge); color:var(--mineral); font-weight:500; }
  @media (max-width:900px){ .proof-grid{grid-template-columns:1fr;} }

  /* ---------- Partner / lifecycle ---------- */
  .lifecycle{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border:var(--edge-dark);
    margin-top:56px;
  }
  .lifecycle > div{ padding:24px 20px; border-right:var(--edge-dark); }
  .lifecycle > div:last-child{ border-right:none; }
  .lifecycle .stage{ font-family:var(--mono); font-size:11px; color:var(--stone); text-transform:uppercase; letter-spacing:0.08em; }
  .lifecycle .action{ font-size:16px; margin-top:10px; color:var(--paper); font-weight:500; }
  @media (max-width:900px){ .lifecycle{grid-template-columns:1fr;} .lifecycle > div{border-right:none;border-bottom:var(--edge-dark);} }

  /* ---------- Closing ---------- */
  .closing{ text-align:center; padding:140px 0; }
  .closing .line{
    font-size:clamp(30px,4.4vw,56px);
    font-weight:600;
    letter-spacing:-0.01em;
    max-width:18ch;
    margin:0 auto 40px;
    line-height:1.15;
  }
  .closing .sub{ font-family:var(--mono); font-size:13px; color:var(--stone-dim); margin-bottom:40px; }

  footer{
    border-top:var(--edge);
    padding:40px 0;
    font-family:var(--mono);
    font-size:12px;
    color:var(--stone-dim);
    display:flex;
    justify-content:space-between;
  }
  @media (max-width:600px){ footer{flex-direction:column;gap:10px;} }

  .reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in-view{ opacity:1; transform:translateY(0); }
/* ---------- Production additions: accessibility, motion, print ---------- */

/* Skip link */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--paper); color:var(--ink);
  padding:12px 20px; font-family:var(--mono); font-size:13px;
  border:1px solid var(--ink);
}
.skip-link:focus{ left:12px; top:12px; }

/* Visible keyboard focus states throughout */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
.lens-item:focus-visible,
.intent-card:focus-visible{
  outline:2px solid var(--mineral-bright);
  outline-offset:2px;
}

/* Honeypot field — hidden from sighted users, still present for screen readers/bots to reveal itself */
.hp-field{
  position:absolute;
  left:-9999px;
  width:1px; height:1px;
  overflow:hidden;
}

/* Form status message */
.form-status{
  margin-top:16px;
  font-family:var(--mono);
  font-size:13px;
  color:var(--mineral);
  min-height:1.2em;
}

/* Footer link styling */
footer a{ opacity:0.75; transition:opacity .2s; }
footer a:hover, footer a:focus-visible{ opacity:1; }

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{ opacity:1; transform:none; }
  .hero-photo img{ opacity:1 !important; animation:none !important; }
  .hero-photo img:first-child{ opacity:1 !important; }
  .hero-photo img:not(:first-child){ display:none; }
  .hero-annotations{ display:none; }
}

/* Print: information must survive a static PDF/printout */
@media print{
  header{ position:static; background:var(--paper) !important; color:var(--ink) !important; }
  .hero-photo, .quiet-photo, .qp-photo-solo{ display:none; }
  .hero, section.on-dark{ background:var(--paper) !important; color:var(--ink) !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
  .btn-primary, .intent-grid, .contact-form{ display:none; }
}
