/* Shared application forms: persistent labels, clear required fields and consistent spacing. */
.lsz-site .lsz-readable-form .gfield > .gfield_label{display:block!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;margin:0 0 .4rem!important;font-size:.95rem!important;line-height:1.4!important;font-weight:650!important}
.lsz-site .lsz-readable-form .gfield_required{display:inline!important;color:#a32927;font-weight:700}
.lsz-site .lsz-readable-form .gfield_required::after{content:none!important}
.lsz-site .lsz-readable-form .lsz-optional{font-size:.8em;font-weight:400;color:#526471}
.lsz-site .lsz-readable-form .gform_required_legend{display:block!important;font-size:.85rem;margin:0 0 1rem;color:#526471}
.lsz-site .lsz-readable-form .gfield{margin-bottom:.35rem}
.lsz-site .lsz-readable-form .gform_button,.lsz-site .lsz-readable-form .gform_next_button,.lsz-site .lsz-readable-form .gform_previous_button{min-height:48px;white-space:normal}
.lsz-site .lsz-readable-form .gform_page_footer{display:flex;flex-wrap:wrap;gap:.75rem}
.lsz-site .lsz-readable-form .lsz-field-help,.lsz-site .lsz-form-explanation{font-size:.85rem;line-height:1.6;color:#425b68;margin:.6rem 0 1rem;max-width:70ch}
.lsz-site .lsz-form-explanation a{color:#174e63;text-decoration:underline}
.lsz-site .lsz-readable-form .gform_page{scroll-margin-top:calc(var(--lsz-header-height,80px) + 20px)}
.lsz-site .lsz-assessment-intro{max-width:72ch;margin-bottom:2rem}
.lsz-site .lsz-assessment-intro h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.2;margin-bottom:1rem}
.lsz-site .lsz-step-heading{font-size:1.35rem;margin:1.5rem 0}
.lsz-site #gf_page_steps_5{display:flex;justify-content:space-between;gap:1rem}
.lsz-site #gf_page_steps_5 .gf_step{display:flex;align-items:center;gap:.5rem;flex:1;margin:0!important}
.lsz-site #gf_page_steps_5 .gf_step_label{display:block;font-size:.9rem;line-height:1.3}
.lsz-site .lsz-knowledge-search{width:100%;max-width:640px;margin-top:1.5rem}
.lsz-site .lsz-knowledge-search label{display:block;font-weight:600;margin-bottom:.5rem}
.lsz-site .lsz-knowledge-search > div{display:flex;gap:.5rem}
.lsz-site .lsz-knowledge-search input{min-width:0;flex:1;border:1px solid #a1bac5;border-radius:8px;background:white;color:#1e3e51;padding:.85rem;font:inherit}
.lsz-site .lsz-knowledge-search button,.lsz-site [data-search-more]{border:0;border-radius:8px;background:#214e61;color:white;padding:.8rem 1.2rem;font:inherit;font-weight:600;min-height:48px;cursor:pointer}
.lsz-site .lsz-knowledge-results ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.lsz-site .lsz-knowledge-results li{padding:1.5rem;border:1px solid #d4e2e6;border-radius:12px;background:#fff}
.lsz-site .lsz-knowledge-results li a{color:#1e3e51;font-size:1.15rem;font-weight:650;text-decoration:underline}
.lsz-site .lsz-knowledge-results li p{margin:.75rem 0 0;font-size:.95rem}
.lsz-site .lsz-about-author-inner{display:flex;align-items:center;gap:1.5rem;max-width:850px}
.lsz-site .lsz-about-author-inner img{border-radius:50%;flex:none;object-fit:cover}
/* Topic guide: a light, narrow section like its neighbours (classes section_light and section_small are added on render). */
.lsz-site .lsz-topic-guide h3{font-size:1.2rem;line-height:1.35;margin:1.75rem 0 .75rem}
.lsz-site .lsz-topic-guide p{margin:0 0 1rem}
.lsz-site .lsz-topic-guide ul{margin:0 0 1rem}
.lsz-site .lsz-topic-guide li{margin-bottom:.5rem}
.lsz-site .lsz-topic-guide .lsz-sources{font-size:.85rem;margin:1.5rem 0 0}
@media(max-width:600px){
.lsz-site #gf_page_steps_5{gap:.4rem}
.lsz-site #gf_page_steps_5 .gf_step{flex-direction:column;text-align:center}
.lsz-site #gf_page_steps_5 .gf_step_label{font-size:.78rem}
.lsz-site .lsz-knowledge-search > div{flex-direction:column}
.lsz-site .lsz-knowledge-results ul{grid-template-columns:1fr}
.lsz-site .lsz-about-author-inner{align-items:flex-start;gap:1rem}
.lsz-site .lsz-about-author-inner img{width:64px;height:64px}
}

.lsz-site.single-post .post_inner>.ct-inner-content p>a.ct-link.btn{display:inline-flex;align-items:center;color:#fff;font-weight:600;line-height:1.4;text-decoration:none}
.lsz-site.single-post .post_inner>.ct-inner-content p>a.ct-link.btn:is(.btn_alt,.btn_sec){color:var(--on-sec)}
.lsz-site.single-post .post_inner>.ct-inner-content p>a.ct-link.btn.btn_white{color:var(--prim-strong)}

@media(max-width:600px){.lsz-site #gform_wrapper_5 .lsz-assessment-intro,.lsz-site #gform_wrapper_5 .lsz-step-heading,.lsz-site #gf_page_steps_5,.lsz-site #gform_5>.gform_required_legend{padding-left:18px;padding-right:18px}.lsz-site #gform_wrapper_5 .lsz-assessment-intro{padding-top:24px}.lsz-site #gform_wrapper_5 .lsz-assessment-intro p{margin-bottom:1rem}}

/* The imported calculator floated a fixed 120px yes/no column to the right. Three choices need the full width. */
.lsz-site .lsz-readable-form .ginput_container_radio{float:none!important;width:100%!important;margin:.5rem 0 0!important}
.lsz-site #gform_5.lsz-readable-form .gfield_radio{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:.5rem}
.lsz-site #gform_5.lsz-readable-form .gfield_radio .gchoice{min-width:0;width:auto!important;margin:0!important}
.lsz-site #gform_5.lsz-readable-form .gfield_radio .gchoice label{width:100%!important;min-height:52px;padding:.45rem .3rem!important;text-align:center;font-size:.9rem;line-height:1.35}

.lsz-site #gform_wrapper_5 .lsz-assessment-intro{padding:32px var(--lsz-form-inset,32px) 0;max-width:none;margin-bottom:1.25rem}
.lsz-site #gform_wrapper_5 .lsz-step-heading,.lsz-site #gform_5>.gform_required_legend{padding-left:var(--lsz-form-inset,32px);padding-right:var(--lsz-form-inset,32px)}
.lsz-site #gform_5 #gf_page_steps_5{gap:0;padding:0 var(--lsz-form-inset,32px);margin:1.25rem 0!important}
.lsz-site #gform_5 #gf_page_steps_5>.gf_step{flex-direction:column;text-align:center;justify-content:flex-start;gap:.6rem}
.lsz-site #gform_5 #gf_page_steps_5>.gf_step::before{top:20px;margin-top:0}
.lsz-site #gform_5 #gf_page_steps_5 .gf_step_label{padding:0 .3rem}

.lsz-site #gform_wrapper_5{--lsz-form-inset:50px}
.lsz-site #gform_5 .gform_page_fields{padding-top:20px}
.lsz-site #gform_5 .lsz-form-explanation{padding:0 var(--lsz-form-inset);max-width:none}
@media(max-width:767px){.lsz-site #gform_wrapper_5{--lsz-form-inset:18px}}

/* Review sources remain readable and distinct on both imported and article layouts. */
.lsz-source-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.lsz-source-link:hover{text-decoration-thickness:2px}
.lsz-review-date{display:block;font-size:.75rem;font-weight:400;line-height:1.5;color:inherit}
.lsz-review-profiles{margin:12px 0 0;font-size:.875rem;line-height:1.6}
.banner_trust .lsz-score{white-space:normal}
.lz-article-page .lz-trustline{align-items:flex-start}

/* Article template hero: the Google score line in the colour of the line itself, logo and figures on one row. */
.lz-article-page .lz-trustline .lsz-google-score-link{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none}
.lz-article-page .lz-trustline .lsz-google-score-link:hover{text-decoration:underline;text-underline-offset:3px}
.lz-article-page .lz-trustline img.lsz-google{width:16px;height:16px;flex:none}
.lsz-google-score-link{color:inherit;text-decoration:none}
.lsz-google-score-link:hover{text-decoration:underline;text-underline-offset:3px}

/* Restore the compact contact forms: four short rows, small labels and a brief privacy note. */
.lsz-site .lsz-compact-card{padding:24px!important}
.lsz-site .lsz-compact-card h2,.lsz-site .lsz-compact-card h2.ct-headline{font-size:1.75rem!important;line-height:1.2!important;margin:0 0 12px!important}
.lsz-site .lsz-compact-card>.ct-shortcode{margin:0 0 12px!important}
.lsz-site .lsz-compact-card .banner_trust{margin:12px 0 0!important}
.lsz-site .lsz-compact-form .gform_fields{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:10px!important}
.lsz-site .lsz-compact-form .gfield_visibility_visible{grid-column:1/-1!important;min-width:0;margin:0!important;padding:0!important}
.lsz-site .lsz-compact-form .gfield_visibility_visible.gfield--width-half{grid-column:span 6!important}
.lsz-site .lsz-compact-form .gfield>.gfield_label{font-size:.8125rem!important;line-height:1.25!important;margin-bottom:4px!important}
.lsz-site .lsz-compact-form .lsz-optional{display:none}
.lsz-site .lsz-compact-form .gform_required_legend{font-size:.75rem;margin:0 0 10px!important;line-height:1.4}
.lsz-site .lsz-compact-form .gfield_visibility_visible input,.lsz-site .lsz-compact-form select,.lsz-site .lsz-compact-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px!important;height:44px!important;padding:10px 12px!important;font-size:16px!important;line-height:1.4!important}
.lsz-site .lsz-compact-form select{padding-right:32px!important}
.lsz-site .lsz-compact-form textarea{height:64px!important;min-height:64px!important;resize:vertical}
.lsz-site .lsz-compact-form .lsz-form-explanation{font-size:.75rem;line-height:1.45;margin:10px 0!important}
.lsz-site .lsz-compact-form .gform_footer{margin:8px 0 0!important;padding:0!important}
.lsz-site .lsz-compact-form .gform_button{min-height:46px!important;margin:0!important;padding:10px 18px!important}
@media(max-width:767px){.lsz-site .lsz-compact-card{padding:18px!important}.lsz-site .lsz-compact-card h2,.lsz-site .lsz-compact-card h2.ct-headline{font-size:1.4rem!important}}

.lsz-site .lsz-compact-form .gform-body,.lsz-site .lsz-compact-form .gform_fields{margin:0!important;padding:0!important}
.lsz-site .lsz-compact-form .gfield_visibility_visible input,.lsz-site .lsz-compact-form select,.lsz-site .lsz-compact-form textarea{display:block}
.lsz-site .lsz-compact-form .akismet-fields-container{margin:0!important}

/* Newsletter in the archive hero: the label above the field, the button beside the field and the privacy note
   below. The hero lays this form out as a two-column grid; the legend and note added to every form broke that. */
.lsz-site .banner_blog #gform_4.lsz-readable-form{align-items:end}
.lsz-site .banner_blog #gform_4.lsz-readable-form>.gform_body{grid-row:1}
.lsz-site .banner_blog #gform_4.lsz-readable-form>.gform_footer{grid-row:1;align-self:end}
.lsz-site .banner_blog #gform_4.lsz-readable-form>.gform_required_legend{display:none!important}
.lsz-site .banner_blog #gform_4.lsz-readable-form .gfield{margin-bottom:0}
.lsz-site .banner_blog #gform_4.lsz-readable-form>.lsz-form-explanation{margin:.25rem 0 0;font-size:.8125rem;line-height:1.5}

/* The help card beside an article is narrow. Less side padding keeps the longer button label on one line;
   where it still wraps (a translation, a narrower card) the two lines are balanced and close together. */
.lsz-site .lsz-post-help-button{padding:10px var(--space-4);line-height:1.3}
.lsz-site .lsz-post-help-button>span{text-wrap:balance}


/* Landing layout (src/lib/landing-layout.ts): text beside a photo, in the 60/40 split the other landing pages
   set per section id. Below 992px the columns stack, like every other column row on the site. */
.lsz-site .lsz-landing-columns>.lsz-landing-text{width:60%}
.lsz-site .lsz-landing-columns>.lsz-landing-side{width:40%}
@media (max-width:991px){.lsz-site .lsz-landing-columns>.ct-div-block{width:100%}}

/* Who wrote the page and when it was updated, beside the closing list. */
.lsz-site .lsz-landing-closing .lsz-landing-columns{align-items:center}
.lsz-site .lsz-landing-author{display:flex;align-items:center;gap:16px;width:100%;padding:24px;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(5,22,76,.08)}
.lsz-site .lsz-landing-author img{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover}
.lsz-site .lsz-landing-author p{margin:0}
.lsz-site .lsz-landing-author-name{font-weight:600;color:var(--color-title,#05164c)}
.lsz-site .lsz-landing-author-date{margin-top:4px!important;font-size:.9375rem}
@media (max-width:1199px){.lsz-site .lsz-landing-author{gap:12px;padding:16px 18px}.lsz-site .lsz-landing-author img{width:56px;height:56px}}
/* The Google line of the closing list: room between the logo and the score, as in the form card. */
.lsz-site .lsz-landing-closing .lsz-google-score-link{display:inline-flex;align-items:center;gap:.5rem}

/* Hero buttons between 992 and 1099px (a tablet held sideways): since the first button got its longer label the
   pair is a pixel wider than its column, which pushed both arrows to a second line. The second button may now
   move below the first instead. */
@media (min-width:992px) and (max-width:1099px){.lsz-site section.banner .btn_group{flex-wrap:wrap;gap:12px}}
