.ll-journey { --thelawn-shell: 78rem; --ll-green:#234229; --ll-muted:#605d56; padding-block:2rem 4rem; }
.ll-journey [hidden] { display:none !important; }
/* Task 32: a small, guided address finder, not another map dashboard. */
.ll-matchmaker { padding-block:2rem; }
.ll-journey:has(.ll-matchmaker) .ll-journey-heading h1 { max-width:34ch; }
.ll-match-questions { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(2rem,5vw,4rem); }
.ll-match-questions fieldset { border:0; padding:0; margin:0; min-width:0; }
.ll-match-questions legend { font-size:1.375rem; font-weight:700; line-height:1.3; }
.ll-match-questions fieldset>p { font-size:.9375rem; color:var(--ll-muted); max-width:50ch; line-height:1.5; margin:.75rem 0 1rem; }
.ll-trait-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.ll-trait-options label,.ll-roast label { display:flex; align-items:center; gap:.75rem; min-height:48px; padding:.75rem; cursor:pointer; border:1px solid var(--thelawn-line); }
.ll-match-questions input { accent-color:var(--ll-green); width:1.125rem; height:1.125rem; flex-shrink:0; margin:0; }
.ll-match-questions label:has(input:checked) { background:color-mix(in srgb,var(--ll-green) 7%,var(--thelawn-canvas)); border-color:var(--ll-green); }
.ll-match-questions label:has(input:focus-visible) { outline:2px solid var(--ll-green); outline-offset:3px; }
.ll-trait-options span { font-size:.9375rem; line-height:1.4; }
.ll-roast label { border:0; padding:.625rem .75rem; }
.ll-roast small { display:block; font-size:.8125rem; color:var(--ll-muted); line-height:1.5; margin-top:.25rem; }
.ll-match-questions .ll-match-feedback { min-height:1.5rem; margin-bottom:0; color:#7c231f; }
.ll-match-actions { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; margin-top:1.5rem; }
.ll-match-actions>a,.ll-matches-heading>a,.ll-kept-selection>a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; font-size:.9375rem; }
.ll-match-actions>small { width:100%; font-size:.875rem; color:var(--ll-muted); }
.ll-matches { border-top:1px solid var(--thelawn-line); padding-top:2rem; scroll-margin-top:1.5rem; }
.ll-matches-heading { display:flex; justify-content:space-between; align-items:start; gap:1.5rem; }
.ll-matches h2 { font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.2; margin:0; }
.ll-match-disclaimer { color:var(--ll-muted); font-size:.875rem; line-height:1.6; margin:1rem 0 1.5rem; }
.ll-match-list { list-style:none; padding:0; margin:0; counter-reset:shortlist; }
.ll-match-result { counter-increment:shortlist; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr) auto; align-items:start; gap:1.5rem; padding:1.75rem 0; border-top:1px solid var(--thelawn-line); }
.ll-match-address h3 { font-size:1.5rem; line-height:1.2; margin:0 0 .75rem; }
.ll-match-address h3::before { content:counter(shortlist,decimal-leading-zero) '. '; color:var(--ll-muted); font-size:1rem; font-weight:400; }
.ll-match-why { font-size:.875rem; color:var(--ll-muted); line-height:1.5; margin:0; }
.ll-match-story blockquote,.ll-gift-joke blockquote { padding:0; margin:0 0 1rem; border:0; font-size:1.125rem; font-style:italic; line-height:1.55; }
.ll-match-story p { font-size:.875rem; line-height:1.5; margin:0 0 .75rem; }
.ll-match-story p span { display:block; font-weight:700; }
.ll-match-story small,.ll-match-choice small { font-size:.8125rem; line-height:1.5; color:var(--ll-muted); }
.ll-match-choice { display:flex; flex-direction:column; align-items:stretch; text-align:center; gap:.5rem; }
.ll-match-choice>a:not(.ll-button) { display:flex; min-height:44px; align-items:center; justify-content:center; font-size:.9375rem; }
.ll-kept-selection { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.25rem; margin-top:1.5rem; background:color-mix(in srgb,var(--ll-green) 6%,var(--thelawn-canvas)); }
.ll-kept-selection strong,.ll-kept-selection small { display:block; }
.ll-kept-selection .ll-eyebrow { display:block; margin-bottom:.5rem; }
.ll-kept-selection small { font-size:.875rem; color:var(--ll-muted); margin-top:.5rem; line-height:1.5; }
#ll-explore { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--thelawn-line); scroll-margin-top:1.5rem; }
#ll-explore h2 { font-size:1.75rem; margin:0; }
#ll-certificate-control { scroll-margin-top:1.5rem; }
#ll-certificate-control>a { font-weight:700; font-size:1rem; }
#ll-certificate-control small { line-height:1.6; max-width:65ch; }
.ll-gift-joke { margin-top:1.25rem; padding:1.25rem; background:color-mix(in srgb,var(--ll-green) 5%,var(--thelawn-canvas)); }
.ll-gift-joke .ll-eyebrow { font-size:.75rem; }
.ll-gift-joke .ll-text-button { text-align:left; }
#ll-joke-confirm { border-top:1px solid var(--thelawn-line); margin-top:.75rem; padding-top:.75rem; }
#ll-joke-confirm button+button { margin-left:1.25rem; }
#ll-joke-feedback { font-size:.875rem; margin:.5rem 0 0; }
@media(max-width:980px) {
 .ll-match-result { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }
 .ll-match-choice { grid-column:1/-1; flex-direction:row; align-items:center; gap:1.5rem; text-align:left; }
}
@media(max-width:700px) {
 .ll-match-questions,.ll-match-result { grid-template-columns:1fr; }
 .ll-match-questions { gap:1.5rem; }
 .ll-match-result { gap:1rem; }
 .ll-matches-heading,.ll-kept-selection { flex-direction:column; gap:.75rem; }
 .ll-match-choice { flex-wrap:wrap; gap:.5rem 1rem; }
 .ll-match-choice small { flex-basis:100%; }
 .ll-match-actions .ll-button { width:100%; }
}
@media(max-width:360px) { .ll-trait-options { grid-template-columns:1fr; } }
/* Task 32: offer clarity; intentionally scoped away from map and checkout. */
.ll-offer { --ll-offer-wash:color-mix(in srgb,var(--ll-green) 5%,var(--thelawn-canvas)); }
.ll-offer .ll-section-title { margin-bottom:.75rem; font-size:clamp(1.5rem,2.5vw,2rem); }
.ll-offer-intro { max-width:70ch; color:var(--ll-muted); line-height:1.6; margin:0 0 1.5rem; }
.ll-offer .ll-membership { grid-template-columns:104px minmax(0,1fr); grid-template-rows:auto 1fr auto; gap:1.25rem; padding:1.5rem; background:transparent; }
.ll-offer .ll-membership.is-selected { background:var(--ll-offer-wash); }
.ll-offer .ll-membership img { width:104px; height:104px; }
.ll-offer .ll-membership h3 { font-size:clamp(1.375rem,2vw,1.75rem); }
.ll-offer .ll-membership-copy p:last-child { margin:0; color:var(--ll-muted); }
.ll-offer .ll-inclusions { grid-column:1/-1; margin:0; padding:0; list-style:none; display:grid; gap:.625rem; font-size:.9375rem; }
.ll-inclusions li { display:flex; gap:.75rem; line-height:1.45; }
.ll-inclusions li::before { content:'✓'; color:var(--ll-green); flex-shrink:0; }
.ll-offer-card-bottom { grid-column:1/-1; border-top:1px solid var(--thelawn-line); padding-top:1.25rem; }
.ll-offer .ll-option-cost { gap:1rem; align-items:center; }
.ll-offer .ll-option-price { font-size:2rem; font-weight:700; line-height:1; }
.ll-offer .ll-option-detail { font-size:.8125rem; line-height:1.5; }
.ll-offer .ll-money,.ll-offer .woocommerce-Price-amount { white-space:nowrap; font-variant-numeric:lining-nums tabular-nums; }
.ll-offer .woocommerce-Price-currencySymbol { display:inline; vertical-align:baseline; font-size:inherit; position:static; }
.ll-offer .ll-membership-action { min-height:24px; }
.ll-offer-disclosure { margin:1rem 0 0; font-size:.875rem; line-height:1.6; color:var(--ll-muted); max-width:85ch; }
.ll-offer .ll-configure { border-top:1px solid var(--thelawn-line); padding-top:2rem; margin-top:2rem; gap:2rem; }
.ll-offer .ll-title-choice p { line-height:1.6; }
.ll-offer .ll-certificate-option { grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr); gap:clamp(1.5rem,4vw,3rem); padding-block:2rem 0; align-items:start; }
.ll-offer .ll-certificate-option h2 { max-width:24ch; }
.ll-offer .ll-certificate-preview { max-width:360px; justify-self:center; }
.ll-offer .ll-certificate-choice label { padding:1rem; min-height:72px; }
.ll-offer .ll-certificate-choice label>span { flex:1; min-width:0; }
.ll-offer .ll-certificate-choice strong { display:flex; justify-content:space-between; gap:.75rem; line-height:1.4; }
.ll-offer .ll-certificate-choice b { margin:0; }
.ll-offer .ll-certificate-choice small,.ll-offer .ll-certificate-note,.ll-offer .ll-certificate-preview figcaption { font-size:.875rem; line-height:1.5; }
.ll-offer .ll-certificate-selected { display:none; font-size:.875rem; color:var(--ll-green); font-weight:700; line-height:1.5; }
.ll-offer .ll-certificate-option:has(input[value=print]:checked) .ll-certificate-selected { display:block; }
.ll-offer .ll-choice-continue { padding:1.5rem; background:var(--ll-offer-wash); border:1px solid var(--thelawn-line); }
.ll-offer .ll-configure-total output { font-size:2rem; }
.ll-offer .ll-next-action small { font-size:.875rem; }
@media(max-width:760px) {
 .ll-offer .ll-memberships { grid-template-columns:1fr; }
 .ll-offer .ll-certificate-option { grid-template-columns:1fr; }
 .ll-offer .ll-certificate-preview { justify-self:start; }
}
@media(max-width:420px) {
 .ll-offer .ll-membership { grid-template-columns:72px minmax(0,1fr); padding:1rem; gap:1rem; }
 .ll-offer .ll-membership img { width:72px; height:72px; }
 .ll-offer .ll-certificate-choice strong { flex-wrap:wrap; }
 .ll-offer .ll-title-choice label { margin-right:.5rem; padding-inline:1rem; }
}
/* Anchor navigation focuses the main landmark, not a page-sized control. */
#primary.ll-journey:focus { outline:none; }
/* Results are an anchor destination, not an interactive control. */
.ll-journey #ll-matches:focus { outline:none; }
.ll-certificate-option,.ll-certificate-review { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,340px); gap:2rem; padding-block:2rem; border-top:1px solid var(--thelawn-line); align-items:center; }
.ll-certificate-option h2,.ll-certificate-review h3 { font-size:clamp(1.6rem,2.5vw,2rem); margin:0 0 1rem; line-height:1.15; }
.ll-certificate-option p,.ll-certificate-review p { max-width:65ch; }
.ll-certificate-choice { padding:0; border:0; margin:1.5rem 0 0; }
.ll-certificate-choice legend { font-size:1rem; font-weight:700; margin-bottom:.75rem; }
.ll-certificate-choice label { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; border:1px solid var(--thelawn-line); margin-top:.5rem; cursor:pointer; }
.ll-certificate-choice label:has(input:checked) { border-color:var(--ll-green); background:#eef0e5; }
.ll-certificate-choice input { margin-top:.25rem; accent-color:var(--ll-green); width:1rem; height:1rem; flex-shrink:0; }
.ll-certificate-choice strong { font-size:1rem; display:block; }
.ll-certificate-choice b { white-space:nowrap; margin-left:.5rem; }
.ll-certificate-choice small { display:block; margin-top:.375rem; color:var(--ll-muted); font-size:.8125rem; }
.ll-certificate-note { color:var(--ll-muted); font-size:.8125rem; line-height:1.6; }
.ll-certificate-preview { margin:0; }
.ll-certificate-preview img { display:block; width:100%; height:auto; }
.ll-certificate-preview a { display:block; font-size:.875rem; text-underline-offset:3px; }
.ll-certificate-preview a span { display:block; margin:.75rem 0; }
.ll-certificate-preview figcaption { font-size:.75rem; color:var(--ll-muted); line-height:1.6; }
@media(max-width:650px) { .ll-certificate-option,.ll-certificate-review { grid-template-columns:1fr; gap:1rem; } .ll-certificate-preview { max-width:340px; } }
.ll-breadcrumb { display:flex; gap:.75rem; font-size:.875rem; margin-bottom:2rem; }
.ll-journey-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; }
.ll-eyebrow { margin:0 0 .75rem; text-transform:uppercase; letter-spacing:.11em; font-size:.7rem; font-weight:700; color:#7c231f; }
.ll-journey h1 { font-size:clamp(2rem,3.8vw,3.5rem); line-height:1.06; letter-spacing:-.03em; max-width:22ch; margin:0; }
.ll-intro { max-width:65ch; margin:1rem 0 0; font-size:1.0625rem; color:var(--ll-muted); }
.ll-preview-label { margin:0; flex-shrink:0; text-align:right; color:var(--ll-green); font-size:.8125rem; font-weight:700; }
.ll-preview-label span { display:block; color:var(--ll-muted); font-size:.75rem; font-weight:400; margin-top:.25rem; }
.ll-progress { list-style:none; padding:0; margin:2rem 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-block:1px solid var(--thelawn-line); }
.ll-progress li { padding:1rem 0; margin:0; color:var(--ll-muted); }
.ll-progress li[aria-current] { box-shadow:inset 0 -2px var(--ll-green); color:var(--ll-green); font-weight:700; }
.ll-progress a,.ll-progress-label { display:flex; gap:.75rem; align-items:center; font-size:.9375rem; }
.ll-progress a { color:inherit; text-underline-offset:4px; }
.ll-progress-label>span,.ll-progress a>span { font-size:.75rem; }
.ll-section-title { font-size:1.5rem; margin:0 0 1.5rem; }
.ll-memberships { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.ll-membership { display:grid; grid-template-columns:144px 1fr; gap:1.25rem; padding:1rem; border:1px solid var(--thelawn-line); color:inherit; text-decoration:none; }
.ll-membership.is-selected { outline:2px solid var(--ll-green); outline-offset:-2px; background:color-mix(in srgb,var(--ll-green) 4%,var(--thelawn-canvas)); }
.ll-membership:hover { border-color:var(--ll-green); }
.ll-membership-copy { display:flex; flex-direction:column; min-width:0; }
.ll-option-cost { margin-top:auto; display:flex; align-items:baseline; flex-wrap:wrap; gap:.25rem .75rem; }
.ll-option-cost .ll-option-price { margin:0; }
.ll-membership-action { display:block; margin-top:1rem; font-size:.875rem; font-weight:700; color:var(--ll-green); }
.ll-membership--titled { background:color-mix(in srgb,var(--ll-green) 4%,var(--thelawn-canvas)); }
.ll-membership img { border-radius:3px; }
.ll-membership img { width:144px; height:144px; object-fit:cover; }
.ll-membership h3 { font-size:1.5rem; line-height:1.1; margin:0 0 .75rem; }
.ll-membership p:not(.ll-eyebrow) { font-size:.9375rem; line-height:1.5; margin:0 0 .75rem; }
.ll-option-price { display:inline-block; font-size:1.25rem; margin-right:.75rem; }
.ll-option-detail { display:inline-block; color:var(--ll-muted); font-size:.75rem; }
.ll-configure { margin-top:1.75rem; display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.ll-configure>.ll-controls { grid-column:1/-1; margin-top:0; }
.ll-configure>input[type=hidden] { display:none; }
.ll-title-choice { border:0; padding:0; margin:0; }
.ll-title-choice legend { font-size:1.25rem; font-weight:700; margin-bottom:1rem; }
.ll-title-choice label { display:inline-flex; align-items:center; gap:.625rem; min-height:44px; border:1px solid var(--thelawn-line); padding:.625rem 1.5rem; margin-right:.75rem; cursor:pointer; }
.ll-title-choice label:has(input:checked) { border-color:var(--ll-green); background:color-mix(in srgb,var(--ll-green) 5%,var(--thelawn-canvas)); }
.ll-title-choice input { accent-color:var(--ll-green); width:1rem; height:1rem; }
.ll-title-choice p,.ll-random-note { font-size:.875rem; color:var(--ll-muted); max-width:65ch; }
.ll-controls { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid var(--thelawn-line); }
.ll-controls p { margin:0; font-size:.875rem; color:var(--ll-muted); }
.ll-journey .ll-button { display:inline-flex; gap:.75rem; align-items:center; justify-content:center; background:var(--ll-green); color:#fbf7ef; border:1px solid var(--ll-green); border-radius:2px; min-height:48px; padding:.75rem 1.25rem; font-family:inherit; font-size:1rem; font-weight:700; line-height:1.4; cursor:pointer; text-decoration:none; }
.ll-journey .ll-button:hover { background:#19341f; }
.ll-journey .ll-button:disabled { cursor:not-allowed; background:#e2e5db; border-color:#bec4b5; color:#485540; }
.ll-journey :is(a,button,input,summary):focus-visible { outline:3px solid #145da0; outline-offset:4px; }
.ll-selection-summary { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--thelawn-line); }
.ll-selection-summary>div { display:flex; align-items:center; gap:1rem; }
.ll-selection-summary img { width:72px; height:72px; object-fit:cover; }
.ll-selection-summary p { margin:0; }
.ll-selection-summary strong { display:block; font-size:1.25rem; }
.ll-selection-summary span:not(.amount):not(.woocommerce-Price-currencySymbol) { display:block; color:var(--ll-muted); font-size:.8125rem; margin-top:.25rem; }
.ll-inline-total { font-size:1.5rem; font-weight:700; }
.ll-inline-total>span:not(.amount) { font-weight:400; }
.ll-selection-summary>a { font-size:.875rem; }
.ll-map-instructions { font-size:.9375rem; margin:1.25rem 0; }
.ll-journey #lawnland-map-frame { height:950px; }
.ll-reference-fallback { padding-block:1rem; border-block:1px solid var(--thelawn-line); margin-top:1rem; }
.ll-reference-fallback summary,.ll-fine-print summary { cursor:pointer; min-height:44px; display:list-item; align-content:center; font-size:.9375rem; }
.ll-reference-fallback label { display:block; margin:.75rem 0; }
.ll-reference-fallback details>div { display:flex; gap:1rem; }
.ll-reference-fallback input { min-width:0; padding:.75rem; border:1px solid #aaa094; background:var(--thelawn-canvas); font:inherit; }
.ll-reference-fallback p { max-width:65ch; font-size:.875rem; color:var(--ll-muted); }
.ll-review { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr); gap:4rem; }
.ll-review h2 { font-size:2rem; line-height:1.1; margin:0 0 1.5rem; }
.ll-review-art { margin:0; }
.ll-review-art img { width:100%; height:auto; }
.ll-review-art figcaption { margin-top:.75rem; font-size:.875rem; font-style:italic; color:var(--ll-muted); }
.ll-review-facts { margin:0; }
.ll-review-facts>div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:1.5rem; padding:1rem 0; border-top:1px solid var(--thelawn-line); }
.ll-review-facts dt { color:var(--ll-muted); font-size:.875rem; }
.ll-review-facts dd { margin:0; font-size:1rem; }
.ll-review-facts dd>span:not(.amount) { display:block; color:var(--ll-muted); font-size:.8125rem; margin-top:.375rem; }
.ll-review-facts a { display:block; margin-top:.5rem; font-size:.8125rem; }
.ll-review-facts .ll-review-total dd { font-size:1.75rem; font-weight:700; }
.ll-not-open { padding:1.5rem 0; border-top:1px solid var(--thelawn-line); }
.ll-not-open h3 { font-size:1.25rem; margin:0 0 .75rem; }
.ll-not-open p { color:var(--ll-muted); font-size:.875rem; line-height:1.6; }
.ll-back-link { font-size:.875rem; }
.ll-fine-print { margin-top:2.5rem; padding-top:.75rem; border-top:1px solid var(--thelawn-line); }
.ll-fine-print p { max-width:75ch; font-size:.875rem; color:var(--ll-muted); }
.ll-form-notice { padding:1rem; border:1px solid #7c231f; color:#7c231f; }
.ll-journey-heading h1 { font-size:clamp(2rem,3.3vw,3rem); }
.ll-progress { margin-block:1.5rem; }
.ll-breadcrumb { margin-bottom:1.5rem; }
.ll-place-preview { align-self:start; padding:2rem; background:#eef0e5; border-block:3px solid #38533b; }
.ll-place-preview h3 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.1; margin:.5rem 0 1rem; }
.ll-address-district { font-size:.875rem; color:var(--ll-green); margin:1.5rem 0 .5rem; }
.ll-place-preview>p:not(.ll-eyebrow) { line-height:1.6; }
.ll-local-place { border-top:1px solid #c6cebe; padding-top:1rem; font-size:.875rem; }
.ll-place-preview code { display:block; margin-top:1.5rem; font-size:.875rem; }
.ll-place-preview .ll-small-print { font-size:.75rem; color:#515b4d; }
.ll-place-preview>img { width:96px; height:96px; object-fit:cover; margin-top:1rem; }
@media(max-width:650px) { .ll-configure { grid-template-columns:1fr; } .ll-place-preview { padding:1.5rem; } .ll-title-choice label { margin-bottom:.5rem; } }
@media(max-width:1000px) { .ll-membership { grid-template-columns:96px 1fr; gap:1rem; } .ll-membership img { width:96px; height:96px; } .ll-selection-summary { flex-wrap:wrap; } .ll-review { gap:2rem; } }
@media(max-width:650px) { .ll-journey { padding-block:1.5rem 3rem; } .ll-breadcrumb { margin-bottom:1.5rem; } .ll-journey-heading { flex-direction:column; gap:1rem; } .ll-preview-label { text-align:left; } .ll-preview-label br { display:none; } .ll-preview-label span { display:inline; margin-left:.5rem; } .ll-progress { margin-block:1.5rem; gap:.5rem; } .ll-progress a,.ll-progress-label { gap:.375rem; font-size:.8125rem; align-items:flex-start; } .ll-memberships { grid-template-columns:1fr; gap:1rem; } .ll-membership h3 { font-size:1.25rem; } .ll-controls { align-items:stretch; flex-direction:column; } .ll-selection-summary { gap:1rem; } .ll-selection-summary strong { font-size:1.0625rem; } .ll-selection-summary img { width:56px; height:56px; } .ll-selection-summary>div { width:100%; } .ll-selection-summary>a { max-width:13ch; } .ll-review { grid-template-columns:1fr; gap:2rem; } .ll-review-art { max-width:300px; } .ll-reference-fallback details>div { flex-direction:column; } .ll-review-facts>div { grid-template-columns:85px minmax(0,1fr); gap:1rem; } }
/* Task 22: composed review, clear selected extras and consistent price alignment. */
.ll-journey .ll-journey-heading h1 { max-width:30ch; font-size:clamp(2rem,3vw,2.75rem); }
.ll-configure-total>span { display:block; font-size:.875rem; }
.ll-configure-total output { display:block; font-size:1.5rem; font-weight:700; margin-block:.25rem; }
.ll-configure-total small { display:block; font-size:.8125rem; }
.ll-choice-continue { background:color-mix(in srgb,var(--ll-green) 4%,var(--thelawn-canvas)); padding:1.25rem; border:0; }
.ll-next-action { display:grid; gap:.5rem; text-align:center; }
.ll-next-action small { font-size:.75rem; color:var(--ll-muted); }
.ll-journey .ll-option-price,.ll-journey .ll-money,.ll-journey .amount { font-variant-numeric:lining-nums tabular-nums; white-space:nowrap; }
.ll-certificate-option .ll-certificate-preview { max-width:260px; justify-self:center; }
.ll-certificate-option { grid-template-columns:minmax(0,1fr) minmax(180px,260px); align-items:start; }
.ll-certificate-option .ll-certificate-choice { margin-top:1rem; }
.ll-certificate-choice label { min-height:48px; }
@media(max-width:650px) { .ll-certificate-option { grid-template-columns:1fr; } .ll-certificate-option .ll-certificate-preview { max-width:220px; justify-self:start; } .ll-next-action { width:100%; } }
.ll-journey .ll-review { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.ll-review-product { display:flex; align-items:center; gap:1rem; padding-bottom:1.5rem; }
.ll-review-product>img { width:72px; height:72px; object-fit:cover; flex-shrink:0; }
.ll-review-product .ll-eyebrow { margin-bottom:.5rem; }
.ll-review-product h2 { font-size:1.5rem; margin:0; }
.ll-review-product p:last-child { margin:.5rem 0 0; font-size:.875rem; color:var(--ll-muted); }
.ll-journey .ll-review-facts>div { grid-template-columns:80px minmax(0,1fr) auto; gap:1rem; padding-block:1rem; }
.ll-journey .ll-review-facts .ll-edit { align-self:start; }
.ll-journey .ll-review-facts a { margin:0; display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; }
.ll-journey .ll-review-facts .ll-fact-note { font-size:.875rem; line-height:1.5; }
.ll-add-print { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:baseline; padding-block:.75rem; margin:0; font-size:.875rem; }
.ll-add-print a { display:inline-flex; min-height:44px; align-items:center; }
.ll-add-print small { width:100%; color:var(--ll-muted); font-size:.8125rem; }
.ll-cost-summary { border-top:2px solid var(--ll-green); margin-top:1.5rem; padding-top:1.5rem; }
.ll-cost-summary h3 { font-size:1.25rem; margin:0 0 1rem; }
.ll-cost-summary dl { margin:0; }
.ll-cost-summary dl>div { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding-block:.5rem; }
.ll-cost-summary dt { font-size:.9375rem; }
.ll-cost-summary dd { margin:0; text-align:right; font-size:1rem; }
.ll-cost-summary .ll-review-total { border-top:1px solid var(--thelawn-line); margin-top:.75rem; padding-top:1rem; font-weight:700; }
.ll-cost-summary .ll-review-total dt { font-size:1.125rem; }
.ll-cost-summary .ll-review-total dd { font-size:1.75rem; }
.ll-cost-note { font-size:.8125rem; color:var(--ll-muted); line-height:1.6; }
.ll-journey .ll-not-open { border:0; padding:1.5rem 0 0; }
.ll-not-open .ll-button { width:100%; }
.ll-not-open summary { cursor:pointer; min-height:44px; align-content:center; font-size:.875rem; }
.ll-review-aside { display:flex; flex-direction:column; gap:1.5rem; }
.ll-review-aside .ll-place-preview { padding:1.5rem; border-block-width:2px; }
.ll-review-aside .ll-place-preview h3 { font-size:clamp(1.5rem,2.5vw,2rem); }
.ll-review-aside .ll-address-district { margin-top:1rem; }
.ll-review-aside .ll-certificate-review { display:block; padding:1.5rem 0 0; border-top:1px solid var(--thelawn-line); scroll-margin-top:1.5rem; }
.ll-review-aside .ll-certificate-review h3 { font-size:1.5rem; margin-bottom:.75rem; }
.ll-review-aside .ll-certificate-review>p:not(.ll-eyebrow) { font-size:.875rem; line-height:1.6; }
.ll-review-aside .ll-certificate-preview { max-width:360px; }
.ll-review-aside .ll-small-print { color:var(--ll-muted); }
@media(max-width:760px) { .ll-journey .ll-review { grid-template-columns:1fr; } }
@media(max-width:400px) { .ll-journey .ll-review-facts>div { grid-template-columns:64px minmax(0,1fr); gap:.5rem 1rem; } .ll-journey .ll-review-facts .ll-edit { grid-column:2; } .ll-review-product { align-items:flex-start; } .ll-review-product>img { width:56px; height:56px; } }

/* Task 28: a no-payment rehearsal in the publication's existing visual language. */
.ll-test-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); gap:clamp(1.5rem,5vw,4rem); align-items:start; }
.ll-test-layout h2 { font-size:1.5rem; line-height:1.2; margin:0 0 1rem; }
.ll-test-layout p { max-width:65ch; line-height:1.6; }
.ll-test-layout :is(dd,strong,p,small) { overflow-wrap:anywhere; }
.ll-test-form>p { color:var(--ll-muted); font-size:.9375rem; }
.ll-test-field { margin-block:1.25rem; }
.ll-test-field label { display:block; font-weight:700; margin-bottom:.5rem; }
.ll-test-field :is(input,textarea) { display:block; width:100%; min-width:0; box-sizing:border-box; padding:.75rem; min-height:48px; background:var(--thelawn-canvas,#faf7ef); border:1px solid #8f8c80; border-radius:2px; font:inherit; font-size:1rem; }
.ll-test-field textarea { resize:vertical; }
.ll-test-field small { display:block; font-size:.8125rem; line-height:1.5; color:var(--ll-muted); margin-top:.5rem; }
.ll-test-field [aria-invalid] { border-color:#7c231f; }
.ll-test-field .ll-field-error { color:#7c231f; font-weight:700; }
.ll-journey :is(textarea,.ll-text-button):focus-visible { outline:3px solid var(--ll-green); outline-offset:3px; }
.ll-test-form .ll-test-delivery-heading { padding-top:1.5rem; border-top:1px solid var(--thelawn-line); margin-top:2rem; }
.ll-test-total { padding:1.5rem; background:#eef0e5; }
.ll-test-total dl { margin:1rem 0; }
.ll-test-total dl>div { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.625rem 0; }
.ll-test-total dt { font-size:.875rem; }
.ll-test-total dd { margin:0; text-align:end; white-space:nowrap; }
.ll-test-total .ll-test-zero { border-top:1px solid #bdc7b8; margin-top:.75rem; padding-top:1rem; font-weight:700; }
.ll-test-zero dd { font-size:1.5rem; }
.ll-test-layout .ll-small-print { font-size:.8125rem; color:var(--ll-muted); }
.ll-test-certificate { padding-top:2rem; }
.ll-test-certificate .ll-certificate-preview { max-width:360px; }
.ll-personalisation-proof { margin-top:1.5rem; padding:1.5rem; background:#e9efeb; }
.ll-personalisation-proof h3 { font-size:1rem; margin:0 0 1.5rem; }
.ll-personalisation-proof strong { display:block; font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.3; }
.ll-personalisation-proof small { display:block; color:var(--ll-muted); line-height:1.5; }
.ll-test-layout .ll-test-name { font-size:clamp(1.75rem,3vw,2.5rem); overflow-wrap:anywhere; }
.ll-test-facts { margin:1.5rem 0; }
.ll-test-facts>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:1rem; padding:1rem 0; border-top:1px solid var(--thelawn-line); }
.ll-test-facts dt { font-size:.875rem; color:var(--ll-muted); }
.ll-test-facts dd { margin:0; }
.ll-test-facts dd>span,.ll-test-facts small { display:block; }
.ll-test-facts small { margin-top:.5rem; color:var(--ll-muted); line-height:1.5; }
.ll-test-message { white-space:pre-wrap; }
.ll-test-complete { background:#eef0e5; padding:1.5rem; margin-top:1.5rem; }
.ll-test-complete h3 { margin:0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; font-size:1.25rem; }
.ll-test-actions { display:grid; gap:1.5rem; margin-top:1.5rem; }
.ll-test-approval label { display:flex; align-items:flex-start; gap:.75rem; font-size:.9375rem; line-height:1.5; margin-bottom:1rem; }
.ll-test-approval input { flex-shrink:0; width:1.125rem; height:1.125rem; margin-top:.2rem; accent-color:var(--ll-green); }
.ll-test-approval .ll-button { width:100%; }
.ll-journey .ll-text-button { background:none; color:#7c231f; border:0; padding:.5rem 0; min-height:44px; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.ll-test-layout .ll-form-notice h2 { font-size:1.25rem; }
@media(max-width:760px) { .ll-test-layout { grid-template-columns:1fr; } }
@media(max-width:500px) { .ll-progress :is(a,.ll-progress-label) { flex-direction:column; gap:.375rem; font-size:.75rem; overflow-wrap:anywhere; } .ll-test-facts>div { grid-template-columns:80px minmax(0,1fr); } .ll-test-form .ll-controls { align-items:stretch; } }
