/* Modern readable type system: larger reading text, calmer titles, visible utility copy. */
body{font-size:clamp(20px,calc(18px + .3vw),23px);line-height:1.62;letter-spacing:-.006em}
h1,h2,h3{line-height:1.02;letter-spacing:-.036em}
h1{font-size:clamp(3.25rem,6vw,6.5rem)}
h2{font-size:clamp(2.45rem,4.25vw,4.75rem)}
h3{font-size:clamp(1.5rem,2vw,2.15rem);line-height:1.08}
p{max-width:62ch}
.eyebrow,.folio-label{font-size:1rem;line-height:1.45;letter-spacing:.12em}
.design-strip{font-size:1rem;line-height:1.4}
.brand b{font-size:.95rem}.brand small{font-size:.85rem}
.site-nav a{font-size:1.05rem;letter-spacing:.055em}
.site-footer h2{font-size:1rem}.site-footer a{font-size:1.12rem}.site-footer__brand p,.site-footer__notice p{font-size:1.08rem;line-height:1.55}.site-footer__credit{font-size:1rem}
.button{font-size:1.06rem;letter-spacing:.045em;min-height:60px;padding:1rem 1.45rem}
.text-link{font-size:1.06rem;letter-spacing:.055em}.design-label{font-size:1rem;line-height:1.45}
.hero-home__copy h1{font-size:clamp(4rem,6.4vw,7.25rem);max-width:9ch;line-height:.95}
.hero-home__lede{font-size:clamp(1.35rem,1.5vw,1.62rem);line-height:1.5;max-width:48ch}
.time-switcher>span{font-size:.92rem}.time-switcher button{font-size:1rem}
.hero-home__note span{font-size:.95rem}.hero-home__note strong{font-size:1.9rem;line-height:1.1}.hero-home__note p{font-size:1.12rem;line-height:1.5}
.hero-home__scroll{font-size:.92rem}
.question-band h2{font-size:clamp(3rem,5.2vw,6.25rem)!important}.question-band__list li{font-size:1.06rem}.feeling-rail span{font-size:.95rem}
.coordinate-field span{font-size:.98rem}.coordinate-field p{font-size:1.1rem;line-height:1.55}
.aerial-story__copy h2{font-size:clamp(3rem,4.8vw,5.75rem)}.aerial-story__copy>p{font-size:1.12rem}.aerial-story__answer{font-size:1.36rem!important}.aerial-story__markers li{font-size:.9rem}
.yard-composer__center small,.yard-composer__center span{font-size:.92rem}.yard-point{font-size:1rem}.yard-point span{font-size:.9rem}.yard-composer__answer span{font-size:.94rem}.yard-composer__answer p{font-size:1.1rem;line-height:1.5}
.project-index__thesis{font-size:clamp(1.65rem,2.25vw,2.75rem)}.project-index__facts dt{font-size:.92rem}.project-index__facts dd{font-size:1.08rem}.project-index__media figcaption,.hero-home__media figcaption,.folio-hero__media figcaption{font-size:.9rem;line-height:1.4}
.ledger-list span{font-size:.95rem}.ledger-list p{font-size:1.08rem}
.material-spread__copy h2{font-size:clamp(3rem,4.8vw,5.5rem)}.material-spread__copy p{font-size:1.12rem}.material-spread__detail figcaption{font-size:.9rem}
.night-story__copy h2{font-size:clamp(3.2rem,5.2vw,6rem)}.night-story__copy p{font-size:1.24rem;line-height:1.55}.night-story__caption{font-size:.9rem}
.folio-hero__copy h1,body[data-page=about-this-design] .folio-hero__copy h1,body[data-page=backyard-elements] .folio-hero__copy h1{font-size:clamp(3.25rem,5vw,6rem)}
.folio-hero__copy>p:last-child{font-size:clamp(1.35rem,1.65vw,1.75rem);line-height:1.4}.folio-hero__note{font-size:.98rem;line-height:1.45}
.process-score b,.milestone-line span,.annotation-list span,.material-lab__study dt,.condition-grid span,.tool-boundary dt,.company-roster article>span{font-size:.95rem;line-height:1.4}
.material-rules span{font-size:1.08rem;line-height:1.5}.element-map article p{font-size:1.05rem}.element-questions summary{font-size:1.75rem;line-height:1.2}
.brief-tool__progress{font-size:.95rem}.choice-grid button,.contact-guided__choices button{font-size:1.08rem;line-height:1.4}.contact-boundary li{font-size:1.08rem;line-height:1.55}
@media(max-width:700px){
  body{font-size:20px;line-height:1.62}
  h1{font-size:3.15rem}h2{font-size:2.55rem}h3{font-size:1.55rem}
  .design-strip{font-size:.85rem}.site-nav a{font-size:1.05rem}.menu-button{font-size:1.05rem}
  .hero-home__copy h1,.folio-hero__copy h1,body[data-page=about-this-design] .folio-hero__copy h1,body[data-page=backyard-elements] .folio-hero__copy h1{font-size:clamp(3rem,13vw,3.55rem);line-height:.96}
  .hero-home__lede{font-size:1.28rem}.hero-home__note p{font-size:1.12rem}
  .question-band h2{font-size:clamp(2.75rem,12vw,3.65rem)!important}
  .aerial-story__copy h2,.material-spread__copy h2,.night-story__copy h2{font-size:clamp(2.75rem,11vw,3.45rem)}
  .aerial-story__copy>p,.material-spread__copy p,.night-story__copy p{font-size:1.12rem}
  .yard-point{font-size:.9rem}.yard-point span{font-size:.82rem}.yard-composer__answer p{font-size:1.04rem}
  .project-index__button,.material-lab__index button{font-size:1.04rem}
  .project-index__thesis{font-size:1.65rem}.folio-hero__copy>p:last-child{font-size:1.25rem}
  .site-footer a{font-size:1.05rem}.site-footer__brand p,.site-footer__notice p{font-size:1rem}
}

/* Mobile header lockup: keep the brand and full Menu control inside the pill. */
@media(max-width:700px){
  .site-header{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    min-height:72px;
    width:calc(100% - 20px);
    margin-top:10px;
    padding:0 12px;
  }
  .brand{
    display:grid;
    grid-template-columns:46px auto;
    grid-template-rows:1fr 1fr;
    column-gap:8px;
    row-gap:0;
    width:max-content;
    max-width:100%;
    min-width:0;
    align-items:stretch;
  }
  .brand__mark{
    grid-column:1;
    grid-row:1/3;
    width:44px;
    height:44px;
    align-self:center;
  }
  .brand span{
    grid-column:2;
    grid-row:1;
    align-self:end;
    font-size:1.45rem;
    line-height:.9;
  }
  .brand b{
    grid-column:2;
    grid-row:2;
    align-self:start;
    padding:3px 0 0;
    font-size:.68rem;
    line-height:1;
    letter-spacing:.16em;
    white-space:nowrap;
  }
  .brand small{display:none}
  .menu-button{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-end;
    gap:.45rem;
    min-width:78px;
    min-height:48px;
    padding:0;
    font-size:1rem;
    line-height:1;
    white-space:nowrap;
  }
  .menu-button span{flex:0 0 22px;width:22px;gap:5px}
  .site-nav{
    top:calc(100% + 8px);
    left:0;
    right:0;
    z-index:60;
    max-height:calc(100vh - 110px);
    overflow-y:auto;
    border:1px solid rgba(20,39,47,.12);
    border-radius:22px;
  }
}

/* Audit remediation: direct contact paths and concise planner outcomes. */
.contact-options{background:var(--paper)}
.contact-options__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:var(--max);margin:2.5rem auto 0;background:var(--line)}
.contact-options__grid article{display:flex;flex-direction:column;align-items:flex-start;min-height:320px;padding:clamp(2rem,5vw,5rem);background:var(--paper-2)}
.contact-options__grid article>span{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--line);border-radius:50%;font-size:1.7rem;color:var(--water)}
.contact-options__grid h3{margin:1.4rem 0 .4rem}
.contact-options__grid .button{margin-top:auto;max-width:100%;overflow-wrap:anywhere}
.brief-tool__result ol{display:grid;gap:.7rem;padding:0;list-style:none}
.brief-tool__result li{display:grid;grid-template-columns:minmax(130px,.55fr) 1fr;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}
.brief-tool__result li span{font-size:1.05rem}
.brief-tool__result [data-brief-edit]{margin-top:1.5rem;background:none;border:0;padding:.75rem 0;cursor:pointer;color:inherit}
.tool-boundary{text-align:center}
.tool-boundary p{margin-left:auto;margin-right:auto}
.site-footer__notice a{overflow-wrap:anywhere}
@media(max-width:700px){
  .contact-options__grid{grid-template-columns:1fr}
  .contact-options__grid article{min-height:280px}
  .brief-tool__result li{grid-template-columns:1fr;gap:.2rem}
}
