/* Homepage only. Uploaded-document workspace retains its existing layout. */
.sft-homepage header.site-header {height:72px}
.sft-homepage .hero:not(.document-workspace) {padding:32px 0 36px}
.sft-homepage .hero:not(.document-workspace) .hero-grid {grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;align-items:center}
.sft-homepage .hero:not(.document-workspace) .hero-copy {align-self:center;min-width:0}
.sft-homepage .hero:not(.document-workspace) .hero-copy h1 {font-size:46px;line-height:1.16;letter-spacing:-1.8px;margin-bottom:18px}
.sft-homepage .hero:not(.document-workspace) .hero-copy h1 .serif {font-size:1em;letter-spacing:-1.5px}
.sft-homepage .hero:not(.document-workspace) .hero-description {font-size:17px;line-height:1.65;max-width:390px;margin-bottom:20px}
.sft-homepage .hero:not(.document-workspace) .hero-checks {gap:12px;flex-wrap:wrap;margin-bottom:20px}
.sft-homepage .hero:not(.document-workspace) .hero-checks span {font-size:13px}
.sft-homepage .hero:not(.document-workspace) .hero-copy>.text-button {font-size:15px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.sft-homepage .hero:not(.document-workspace) .file-types {display:none}
.sft-homepage .hero:not(.document-workspace) .upload-wrap {min-width:0}
.sft-homepage .hero:not(.document-workspace) .upload-card {padding:22px}
.sft-homepage .hero:not(.document-workspace) .card-heading {margin:0 0 16px}
.sft-homepage .hero:not(.document-workspace) .card-heading h2 {font-size:19px;margin-bottom:3px}
.sft-homepage .hero:not(.document-workspace) .card-heading p {font-size:14px;line-height:1.5}
.sft-homepage .hero:not(.document-workspace) .input-tabs {margin-bottom:14px}
.sft-homepage .hero:not(.document-workspace) .input-tabs button {font-size:14px;min-height:44px;padding-bottom:10px}
.sft-homepage .hero:not(.document-workspace) .drop-zone {min-height:0;padding:18px 16px 16px}
.sft-homepage .hero:not(.document-workspace) .document-stack {display:none}
.sft-homepage .hero:not(.document-workspace) .drop-zone h3 {font-size:17px;line-height:1.4}
.sft-homepage .hero:not(.document-workspace) .drop-zone p {font-size:14px;line-height:1.4;margin-bottom:12px;color:#617159}
.sft-homepage .hero:not(.document-workspace) .upload-button {font-size:15px;min-height:46px}
.sft-homepage .hero:not(.document-workspace) .file-limit {font-size:13px;line-height:1.6;color:#52644c;margin-top:12px}
.sft-homepage .hero:not(.document-workspace) .file-limit small {font-size:12px;line-height:1.5}
.sft-homepage .hero:not(.document-workspace) .sft-wallet-strip {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;padding:12px 0 0;border:0;border-top:1px solid #e1e6dc;border-radius:0;background:transparent}
.sft-homepage .hero:not(.document-workspace) .sft-wallet-strip p {flex:1;min-width:0;margin:0;line-height:1.4;font-size:14px}
.sft-homepage .hero:not(.document-workspace) .sft-wallet-strip strong {font-size:14px}
.sft-homepage .hero:not(.document-workspace) .sft-wallet-strip small {display:block;font-size:12px;margin-top:3px;color:#52644c;max-width:290px}
.sft-homepage .hero:not(.document-workspace) .sft-wallet-strip .button {flex:none;background:transparent;color:#154e3a;border:1px solid #bccdb5;box-shadow:none;font-size:13px;min-height:44px;padding:10px 14px}
.sft-homepage .hero:not(.document-workspace) .sample-row {margin-top:12px;font-size:13px;gap:7px}
.sft-homepage .hero:not(.document-workspace) .sample-row button {font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.sft-homepage .hero:not(.document-workspace) .privacy-note {font-size:12px;margin-top:4px;line-height:1.5}
.sft-homepage .hero:not(.document-workspace) .input-error:empty {display:none}
.sft-homepage .hero:not(.document-workspace) .decor-spark {display:none}
.sft-homepage .hero:not(.document-workspace) .sft-account-banner {margin:24px 0 0;padding:16px 20px;background:#edf2e5;color:#154e3a;border-color:#d6e1cc;box-shadow:none}
.sft-homepage .hero:not(.document-workspace) .sft-account-banner h3 {font-size:18px;color:#154e3a;margin-bottom:4px}
.sft-homepage .hero:not(.document-workspace) .sft-account-banner p {font-size:14px;color:#52644c}
.sft-homepage .hero:not(.document-workspace) .sft-account-banner .sft-register-secondary {color:#154e3a;border-color:#b3c5aa}
.sft-homepage .hero:not(.document-workspace) textarea {font-size:16px;min-height:160px}
.sft-homepage .hero:not(.document-workspace) button:focus-visible,.sft-homepage .hero:not(.document-workspace) a:focus-visible {outline:3px solid #6a873f;outline-offset:3px}
@media(max-width:1100px) {
 .sft-homepage .hero:not(.document-workspace) .hero-grid {gap:28px}
 .sft-homepage .hero:not(.document-workspace) .hero-copy h1 {font-size:40px}
}
@media(max-width:380px) {
 .sft-homepage .header-cta {display:none}
 .sft-homepage .hero:not(.document-workspace) .hero-copy h1 {font-size:32px}
}
@media(max-width:760px) {
 .sft-homepage .menu-toggle {width:44px;height:44px;align-items:center;margin-left:auto}
}
@media(max-width:760px) {
 .sft-homepage header.site-header {height:64px}
 .sft-homepage .hero:not(.document-workspace) {padding:22px 0 28px}
 .sft-homepage .hero:not(.document-workspace) .hero-grid {grid-template-columns:minmax(0,1fr);gap:20px}
 .sft-homepage .hero:not(.document-workspace) .hero-copy {text-align:left}
 .sft-homepage .hero:not(.document-workspace) .hero-copy h1 {font-size:34px;line-height:1.17;letter-spacing:-1px;margin-bottom:12px}
 .sft-homepage .hero:not(.document-workspace) .hero-copy h1 .serif {letter-spacing:-1px}
 .sft-homepage .hero:not(.document-workspace) .hero .eyebrow,.sft-homepage .hero:not(.document-workspace) .eyebrow {justify-content:flex-start;font-size:10px;margin-bottom:12px}
 .sft-homepage .hero:not(.document-workspace) .hero-description {font-size:15px;line-height:1.5;margin-bottom:0}
 .sft-homepage .hero:not(.document-workspace) .hero-checks,.sft-homepage .hero:not(.document-workspace) .hero-copy>.text-button {display:none}
 .sft-homepage .hero:not(.document-workspace) .upload-card {padding:18px}
 .sft-homepage .hero:not(.document-workspace) .card-heading h2 {font-size:18px}
 .sft-homepage .hero:not(.document-workspace) .drop-zone {padding:16px 12px}
 .sft-homepage .hero:not(.document-workspace) .sft-wallet-strip {gap:8px;flex-wrap:wrap}
 .sft-homepage .hero:not(.document-workspace) .sft-wallet-strip small {max-width:230px}
 .sft-homepage .hero:not(.document-workspace) .sft-account-banner {padding:16px}
}
@media(prefers-reduced-motion:reduce) {.sft-homepage {scroll-behavior:auto}}

/* Mobile homepage: one header row; the upload form is already on this page. */
@media (max-width:760px) {
 .sft-homepage header.site-navigation {height:auto;min-height:64px}
 .sft-homepage .site-navigation .header-inner {min-height:64px;grid-template-columns:minmax(0,1fr) 44px;padding-block:10px}
 .sft-homepage .site-navigation .header-cta {display:none}
 .sft-homepage .site-navigation .menu-toggle {grid-column:2;grid-row:1}
 .sft-homepage .hero:not(.document-workspace) {padding-top:14px}
 .sft-homepage .hero:not(.document-workspace) .hero-grid {gap:14px}
}

/* RC11: defer layout/paint of below-the-fold decorative comparison cards.
   No changes to upload, security verification, document or payment components. */
@supports (content-visibility:auto) {
  .sft-homepage .sft-mobile-comparison-card {
    content-visibility:auto;
    contain-intrinsic-size:auto 650px;
  }
}
