/* ROUND 64 — Hari review follow-ups (17 Sep 2026). Loads after r63.css on every page.
   §Fluid home · §Account modal + page · §Staff · §Offices · §Misc. Scoped to body.sh-r64. */

/* ============================================================ §Fluid home (item 1)
   Steve approved font autoscaling for every page, homepage included. Same token as the
   inner pages (r63.css): 0.78× at 1024 → 1× at 1440 → 1.2× at 1919. Each homepage text
   style is restated with its 1440 value × --fl; unitless line-heights follow, the few px
   line-heights are scaled too. Below 1024 the approved mobile/tablet sizes are untouched.
   Layout is unaffected: cards grow with their text (build cards already expand upward,
   review / office cards are auto-height), the two fixed heights (hero, step numbers) are
   viewport-based. */
@media (min-width:1024px){
  .sh-r63.sh-r63-home{--fl:clamp(.78, tan(atan2(100vw, 1440px)), 1.2)}
  .sh-r63.sh-r63-home .hero__title{font-size:calc(80px * var(--fl));line-height:calc(86px * var(--fl));letter-spacing:calc(-1px * var(--fl))}
  .sh-r63.sh-r63-home .hero__sub{font-size:calc(20px * var(--fl));line-height:calc(32px * var(--fl))}
  .sh-r63.sh-r63-home .h1,
  .sh-r63.sh-r63-home .image-section__title,.sh-r63.sh-r63-home .section-image__title,
  .sh-r63.sh-r63-home .site-check__title,.sh-r63.sh-r63-home .blog__title,.sh-r63.sh-r63-home .faq__title,
  .sh-r63.sh-r63-home .process__header h2{font-size:calc(59px * var(--fl));letter-spacing:calc(-.59px * var(--fl))}
  .sh-r63.sh-r63-home .founder__title{font-size:calc(52px * var(--fl));line-height:calc(58px * var(--fl))}
  .sh-r63.sh-r63-home .founder__sign{font-size:calc(32.4px * var(--fl))}
  .sh-r63.sh-r63-home .feature__title,.sh-r63.sh-r63-home .local__title{font-size:calc(48px * var(--fl))}
  .sh-r63.sh-r63-home .footer-cta__title{font-size:calc(60px * var(--fl));line-height:calc(66px * var(--fl))}
  .sh-r63.sh-r63-home .step__title{font-size:calc(36px * var(--fl))}
  .sh-r63.sh-r63-home .step__num{font-size:calc(200px * var(--fl));line-height:calc(140px * var(--fl))}
  .sh-r63.sh-r63-home .build__card-title{font-size:calc(27px * var(--fl))}
  .sh-r63.sh-r63-home .body-lg,.sh-r63.sh-r63-home .feature li,.sh-r63.sh-r63-home .blog__desc,.sh-r63.sh-r63-home .faq__sub,.sh-r63.sh-r63-home .office__name{font-size:calc(20px * var(--fl))}
  .sh-r63.sh-r63-home .blog-card__ct,.sh-r63.sh-r63-home .faq-item>summary p{font-size:calc(18px * var(--fl))}
  .sh-r63.sh-r63-home .body,.sh-r63.sh-r63-home .build__intro p,.sh-r63.sh-r63-home .build__card-desc,.sh-r63.sh-r63-home .founder__name,.sh-r63.sh-r63-home .review-card__meta,.sh-r63.sh-r63-home .kd__eyebrow{font-size:calc(16px * var(--fl))}
  .sh-r63.sh-r63-home .office__meta,.sh-r63.sh-r63-home .step__desc,.sh-r63.sh-r63-home .blog-card__date,.sh-r63.sh-r63-home .faq-item__a,.sh-r63.sh-r63-home .review-card__quote,.sh-r63.sh-r63-home .review-card__name,.sh-r63.sh-r63-home .local__search-msg{font-size:calc(14px * var(--fl))}
}

/* ============================================================ §Account (items 2 / 16 / 11)
   One component (.sh-acc) for the nav modal, /account/ and /staff/: tabs, four forms,
   done state. Fields follow the site's form language (white field, 1px shadow, amber
   focus ring); the sage pill button is restated so it also works on the homepage,
   where inner.css does not load. */
.sh-r64 .btn--sage{background-color:var(--sage);color:var(--off-white);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.sh-r64 .btn--sage:hover{background-color:var(--sage-dark)}
.sh-r64 .sh-acc{--gap:14px;display:flex;flex-direction:column;gap:var(--gap);text-align:left}
.sh-r64 .sh-acc__tabs{display:flex;gap:4px;border-bottom:1px solid rgba(66,64,64,.14);margin-bottom:6px}
.sh-r64 .sh-acc__tab{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 14px;font:600 12px/1.2 var(--sans);letter-spacing:1.44px;text-transform:uppercase;color:rgba(66,64,64,.6);cursor:pointer;transition:color .2s,border-color .2s}
.sh-r64 .sh-acc__tab:hover{color:var(--charcoal)}
.sh-r64 .sh-acc__tab.is-on{color:var(--charcoal);border-bottom-color:var(--amber)}
.sh-r64 .sh-acc[data-sh-acc-ctx="staff"] .sh-acc__tab[data-sh-acc-go="register"]{display:none}
.sh-r64 .sh-acc__form{display:flex;flex-direction:column;gap:var(--gap)}
.sh-r64 .sh-acc__form[hidden]{display:none}
.sh-r64 .sh-acc__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.sh-r64 .sh-field{display:block}
.sh-r64 .sh-field__label{display:block;font:500 12px/1.4 var(--sans);letter-spacing:.24px;color:var(--charcoal);margin-bottom:6px}
.sh-r64 .sh-field__label small{font-weight:400;color:rgba(66,64,64,.6)}
.sh-r64 .sh-field input{width:100%;border:0;border-radius:4px;background:#fff;padding:10px 12px;font:400 15px/1.5 var(--sans);color:var(--charcoal);box-shadow:0 1px 2px rgba(0,0,0,.15);outline:none}
.sh-r64 .sh-field input:focus-visible{box-shadow:0 1px 2px rgba(0,0,0,.15),0 0 0 2px var(--amber)}
.sh-r64 .sh-field.has-error input{box-shadow:0 1px 2px rgba(0,0,0,.15),0 0 0 2px #c96a4c}
.sh-r64 .sh-check{display:flex;align-items:flex-start;gap:10px;font:400 14px/1.5 var(--sans);color:var(--charcoal);cursor:pointer}
.sh-r64 .sh-check input{margin:4px 0 0;accent-color:var(--sage);flex:0 0 auto}
.sh-r64 .sh-acc__row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sh-r64 .sh-acc__link{appearance:none;background:transparent;border:0;padding:0;font:500 13px/1.4 var(--sans);color:var(--sage-dark);text-decoration:underline;text-underline-offset:3px;cursor:pointer;align-self:flex-start}
.sh-r64 .sh-acc__link:hover{color:var(--charcoal)}
.sh-r64 .sh-acc__msg{margin:0;padding:10px 12px;border-radius:4px;font:400 14px/1.5 var(--sans);background:#f9e9e2;color:#8d3d24}
.sh-r64 .sh-acc__msg.is-ok{background:#e8efe9;color:#3e5a44}
.sh-r64 .sh-acc__msg[hidden]{display:none}
.sh-r64 .sh-acc__submit{align-self:flex-start;min-width:180px}
.sh-r64 .sh-acc__form.is-busy .sh-acc__submit{opacity:.6;pointer-events:none}
.sh-r64 .sh-acc__fine{margin:0;color:rgba(66,64,64,.7)}
.sh-r64 .sh-acc__fine a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.sh-r64 .sh-acc__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.sh-r64 .sh-acc__done{display:flex;flex-direction:column;gap:12px;padding:8px 0}
.sh-r64 .sh-acc__done[hidden]{display:none}
.sh-r64 .sh-acc__done-title{margin:0}
.sh-r64 .sh-acc__done-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
@media (max-width:520px){.sh-r64 .sh-acc__grid{grid-template-columns:1fr}}

/* modal shell (same scrim + easing as the round-63 modals) */
.sh-r64 .sh-acc-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px}
.sh-r64 .sh-acc-modal[hidden]{display:none}
.sh-r64 .sh-acc-modal .sh-modal__backdrop{position:absolute;inset:0;background:rgba(40,38,38,.72);opacity:0;transition:opacity .32s var(--ease-soft,ease)}
.sh-r64 .sh-acc-modal.is-open .sh-modal__backdrop{opacity:1}
.sh-r64 .sh-acc-modal__panel{position:relative;width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--cream);border-radius:16px;padding:40px 40px 36px;box-shadow:0 24px 80px rgba(0,0,0,.28);opacity:0;transform:translateY(16px);transition:opacity .32s var(--ease-soft,ease),transform .4s var(--ease-soft,ease)}
.sh-r64 .sh-acc-modal.is-open .sh-acc-modal__panel{opacity:1;transform:none}
.sh-r64 .sh-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--charcoal);font:300 28px/1 var(--sans);cursor:pointer;display:grid;place-items:center}
.sh-r64 .sh-modal__close:hover{background:rgba(66,64,64,.08)}
.sh-r64 .sh-acc-modal__eyebrow{margin:0 0 10px;color:var(--sage-dark)}
.sh-r64 .sh-acc-modal__title{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.15;color:var(--charcoal)}
.sh-r64 .sh-acc-modal__sub{margin:0 0 22px;color:rgba(66,64,64,.78)}
@media (max-width:600px){.sh-r64 .sh-acc-modal{padding:0;align-items:end}.sh-r64 .sh-acc-modal__panel{width:100%;max-height:92vh;border-radius:16px 16px 0 0;padding:32px 24px 28px}}

/* /account/ and /staff/ pages */
.sh-r64 .acc .lg__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--global-padding) var(--section-spacing)}
.sh-r64 .acc .kd__head{max-width:760px}
.sh-r64 .acc__intro{margin:16px 0 0;max-width:640px}
.sh-r64 .acc__panel{max-width:560px;margin-top:40px;background:var(--off-white);border-radius:16px;padding:36px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.sh-r64 .acc__panel .sh-acc{--gap:16px}
.sh-r64 .acc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px}
.sh-r64 .acc__card{display:flex;flex-direction:column;gap:14px;background:var(--off-white);border-radius:16px;padding:32px;box-shadow:0 1px 4px rgba(0,0,0,.06);color:var(--charcoal);text-decoration:none}
.sh-r64 .acc__card .btn,.sh-r64 .acc__card .link-btn{align-self:flex-start}
.sh-r64 .acc__card--quiet{background:transparent;box-shadow:inset 0 0 0 1px rgba(66,64,64,.14)}
.sh-r64 .acc__card--link{transition:transform .35s var(--ease-soft,ease),box-shadow .35s var(--ease-soft,ease)}
.sh-r64 .acc__card--link:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.sh-r64 .acc__card--link.is-soon{opacity:.6;pointer-events:none}
.sh-r64 .acc__card-title{margin:0}
.sh-r64 .acc__big{margin:0;font-family:var(--serif);font-weight:400;font-size:56px;line-height:1;color:var(--charcoal)}
.sh-r64 .acc__note{margin:0;color:rgba(66,64,64,.6)}
.sh-r64 .sh-acc__logout{align-self:flex-start;background:transparent;color:var(--charcoal);box-shadow:inset 0 0 0 1px var(--charcoal)}
.sh-r64 .sh-acc__logout:hover{background:var(--charcoal);color:var(--off-white)}
.sh-r64.sh-inner .acc .kd__head{padding-top:0}

/* nav: members get "Account" beside the S badge */
.sh-r64 .nav__account{margin-left:6px}
@media (max-width:1023px){.sh-r64 .nav__account{display:none}}

/* ============================================================ §Offices (items 7 / 8 / 10)
   Contact details copied from the live site carry a small "to be confirmed" line until an
   editor confirms them in wp-admin — nothing placeholder is shown as verified. */
.sh-r64 .office__note{margin:-6px 0 12px;font-size:12px;line-height:1.4;color:rgba(66,64,64,.55);font-style:italic}
.sh-r64 .office__note::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-right:8px;vertical-align:1px}

/* ============================================================ §Misc */
.sh-r64 .footer__bottom .links a[data-sh-login]{cursor:pointer}
