/* Issue #41. Scoped core blocks; PC follows pc-approved.png, not the alternate PC. */
.reform-guide-page,.editor-styles-wrapper { --guide-green:#58694a; --guide-pale:#e9ede3; --guide-cream:#f8f4e4; }
.reform-guide-page { color:#42463b; font:16px/1.9 var(--serif,serif); }
.reform-guide-page .wp-block-group,.reform-guide-page figure { margin-block:0; }
.reform-guide-page h1,.reform-guide-page h2,.reform-guide-page h3 { font-family:var(--serif,serif); font-weight:500; }
.guide-wrap { width:min(1264px,calc(100% - 128px)); margin-inline:auto; }
.guide-hero { position:relative; min-height:425px; isolation:isolate; overflow:hidden; display:flex; align-items:center; }
.guide-hero > .wp-block-group__inner-container { width:100%; }
.guide-hero .guide-hero-image { position:absolute; inset:0; z-index:-2; }
.guide-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.guide-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 28%,rgba(255,255,255,.55) 52%,transparent 78%); }
.guide-cta::before { content:""; position:absolute; left:0; top:12px; width:290px; height:215px; background:#e9d9ac; -webkit-mask:url('plum-heading.svg') center / contain no-repeat; mask:url('plum-heading.svg') center / contain no-repeat; pointer-events:none; opacity:.6; z-index:-1; }
.guide-hero-copy { width:min(1120px,calc(100% - 160px)); margin-inline:auto; padding:80px 0 24px; }
.guide-hero h1 { font-size:44px; line-height:1.45; letter-spacing:.08em; margin:0 0 18px; color:#30332d; }
.guide-hero .guide-lead { font-size:20px; line-height:1.8; margin:0; letter-spacing:.05em; }
.guide-costs { padding-top:52px; }
.reform-guide-page .guide-band { background:var(--guide-pale); color:#435437; text-align:center; font-size:30px; line-height:1.5; margin:0 0 16px; padding:16px 20px; }
.guide-work { display:grid; grid-template-columns: minmax(0, .95fr) minmax(0, .95fr) minmax(0, 1.1fr); gap:44px; align-items:center; padding:26px 8px; border-bottom:1px solid #d7dbd1; }
.guide-work:last-child { border-bottom:0; }
.guide-illustration { aspect-ratio:1.6; }
.guide-illustration img { width:100%; height:auto; aspect-ratio:1.6; object-fit:contain; }
.guide-description h3 { font-size:25px; line-height:1.6; letter-spacing:.04em; margin:0 0 12px; }
.guide-description p { font-size:18px; line-height:1.8; margin:0; }
.guide-facts { overflow:visible; }
.guide-facts table { border-collapse:collapse; width:100%; table-layout:fixed; background:#f3f5ee; }
.guide-facts td { padding:10px 14px; border:0; border-bottom:1px solid #e1e5da; vertical-align:middle; line-height:1.5; }
.guide-facts tr:last-child td { border-bottom:0; }
.guide-facts td:first-child { width:35%; color:#526347; font-size:17px; white-space:nowrap; }
.guide-facts strong { font-weight:500; font-size:28px; }
.guide-condition { font-size:16px; margin:12px 20px 0; line-height:1.8; }
.guide-note { text-align:center; font-size:15px; margin:20px 0 0; }
.guide-review-note { font-size:15px; margin:10px auto 0; max-width:1050px; }
.reform-guide-page .guide-flow { margin-top:64px; }
.guide-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:38px; padding-top:22px; }
.guide-step { position:relative; background:#f5f6f0; padding:16px 16px 20px; text-align:center; }
.guide-step:not(:last-child)::after { content:""; position:absolute; right:-24px; top:50%; width:12px; height:12px; border-top:2px solid #738568; border-right:2px solid #738568; transform:rotate(45deg); }
.guide-step-number { display:flex; justify-content:center; align-items:center; width:44px; height:44px; margin:-8px auto 12px; border-radius:50%; background:#63745c; color:#fff; font-size:23px; line-height:1; }
.guide-step-icon { width:76px; margin:0 auto 10px!important; }
.guide-step-icon img { width:100%; height:56px; object-fit:contain; }
.guide-step h3 { font-size:18px; line-height:1.7; margin:0 0 12px; font-weight:600; }
.guide-step p:not(.guide-step-number) { font-size:16px; line-height:1.8; margin:0; }
.reform-guide-page .guide-faq { margin-top:84px; padding:20px 28px 28px; background:var(--guide-cream); }
.guide-faq h2 { font-size:30px; text-align:center; margin:0 0 20px; line-height:1.5; }
.guide-faq-item { background:#fff; border-bottom:1px solid #e6ddc7; padding:22px 24px; }
.guide-faq-item:last-child { border-bottom:0; }
.guide-question { position:relative; padding-left:52px; font-size:22px; line-height:1.8; margin:0 0 12px; }
.guide-answer { position:relative; padding-left:52px; margin:0; font-size:18px; line-height:1.9; }
.guide-question::before,.guide-answer::before { position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; text-align:center; line-height:36px; font-size:24px; }
.guide-question::before { content:"Q"; background:#9a8f59; color:#fff; }
.guide-answer::before { content:"A"; background:#e2e7d5; color:#37422f; }
.guide-cta { position:relative; isolation:isolate; background:#f6f7f0; margin-top:40px!important; padding:30px 24px 36px; text-align:center; }
.guide-cta h2 { margin:0 0 12px; font-size:30px; line-height:1.6; }
.guide-cta p { margin:0 0 18px; font-size:16px; }
.guide-buttons { display:flex; justify-content:center; }
.guide-buttons .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:56px; width:min(100%,550px); padding:12px 60px; background:#627a49; border:1px solid #52683d; border-radius:5px; color:#fff; font:24px/1.5 var(--serif,serif); letter-spacing:.08em; text-decoration:none; }
.guide-buttons .wp-block-button__link::before { content:"✉"; margin-right:20px; }
.guide-buttons .wp-block-button__link::after { content:"›"; margin-left:30px; }
.guide-buttons .wp-block-button__link:hover { background:#50663b; text-decoration:underline; }
.guide-buttons a:focus-visible { outline:3px solid #49536f; outline-offset:5px; }
/* Classic group markup remains editable in the core block editor. */
.guide-work > .wp-block-group__inner-container,.guide-step > .wp-block-group__inner-container,.guide-steps > .wp-block-group__inner-container { display:contents; }
.guide-work > *, .guide-step,.guide-description,.guide-estimate { min-width:0; }
@media(min-width:1024px) {
    .guide-step { min-height:286px; }
}
@media(min-width:1024px) and (max-width:1200px) {
    .guide-wrap { width:calc(100% - 80px); }
    .guide-work { gap:24px; }
    .guide-description h3 { font-size:22px; }
    .guide-description p { font-size:16px; }
    .guide-facts td { padding:9px; }
    .guide-facts td:first-child { font-size:15px; }
    .guide-facts strong { font-size:21px; }
    .guide-steps { gap:26px; }
    .guide-step { padding-inline:10px; }
    .guide-step h3 { font-size:16px; }
    .guide-step p:not(.guide-step-number) { font-size:15px; }
    .guide-step:not(:last-child)::after { right:-18px; width:9px; height:9px; }
}
@media(max-width:1023px) {
    .guide-wrap { width:calc(100% - 40px); }
    .guide-hero { min-height:300px; }
    .guide-hero-copy { width:calc(100% - 64px); }
    .guide-hero h1 { font-size:36px; }
    .guide-hero .guide-lead { font-size:17px; }
    .guide-costs { padding-top:32px; }
    .guide-works { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
    .guide-work { display:flex; flex-direction:column; align-items:stretch; gap:14px; border:1px solid #dedfd7; padding:12px; }
    .guide-work:last-child { border-bottom:1px solid #dedfd7; }
    .guide-description h3 { font-size:22px; margin-bottom:8px; }
    .guide-description p { font-size:16px; }
    .guide-facts td { padding:8px; }
    .guide-facts td:first-child { font-size:15px; }
    .guide-facts strong { font-size:22px; }
    .guide-condition { margin:10px 0 0; }
    .guide-steps { gap:16px; }
    .guide-step { padding:12px 8px; }
    .guide-step:not(:last-child)::after { right:-12px; width:7px; height:7px; }
    .guide-step h3 { font-size:16px; }
    .guide-step p:not(.guide-step-number) { font-size:14px; }
    .guide-step p br { display:none; }
}
@media(max-width:767px) {
    .reform-guide-page { font-size:16px; }
    .guide-wrap { width:calc(100% - 36px); }
    .guide-hero { min-height:270px; }
    .guide-hero-copy { width:calc(100% - 40px); padding-block:30px; }
    .guide-hero h1 { font-size:28px; line-height:1.6; letter-spacing:.03em; }
    .guide-hero .guide-lead { font-size:15px; line-height:1.85; }
    .guide-hero::before { background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.87) 60%,rgba(255,255,255,.25)); }
    .reform-guide-page .guide-band { font-size:22px; padding:13px 12px; margin-bottom:18px; }
    .guide-works { display:block; }
    .guide-work { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; padding:14px 10px; margin-top:14px!important; }
    .guide-illustration { grid-column:1; grid-row:1; aspect-ratio:auto; height:94px; }
    .guide-illustration img { height:94px; aspect-ratio:auto; object-fit:contain; background:#eeeade; }
    .guide-description { grid-column:2; grid-row:1; align-self:center; }
    .guide-description h3 { font-size:19px; line-height:1.6; margin:0; }
    .guide-description p { font-size:14px; margin-top:6px; line-height:1.75; }
    .guide-estimate { grid-column:1/-1; }
    .guide-facts td { padding:8px 10px; }
    .guide-facts td:first-child { width:37%; font-size:15px; }
    .guide-facts strong { font-size:21px; }
    .guide-condition { font-size:15px; }
    .guide-note { font-size:14px; text-align:left; }
    .guide-review-note { font-size:14px; }
    .reform-guide-page .guide-flow { margin-top:40px; }
    .guide-steps { display:flex; flex-direction:column; gap:20px; padding-top:6px; }
    .guide-step { display:grid; grid-template-columns:44px 42px minmax(0,1fr); gap:4px 12px; padding:16px 14px; text-align:left; }
    .guide-step-number { grid-column:1; grid-row:1/3; margin:0; }
    .guide-step-icon img { height:40px; }
    .guide-step-icon { grid-column:2; grid-row:1; width:38px; margin:0!important; }
    .guide-step h3 { grid-column:3; grid-row:1; align-self:center; font-size:18px; margin:0; }
    .guide-step p:not(.guide-step-number) { grid-column:2/-1; grid-row:2; font-size:15px; margin-top:5px; }
    .guide-step:not(:last-child)::after { right:auto; left:32px; top:auto; bottom:-14px; width:8px; height:8px; transform:rotate(135deg); }
    .reform-guide-page .guide-faq { margin-top:42px; padding:18px 12px; }
    .guide-faq h2 { font-size:25px; margin-bottom:16px; }
    .guide-faq-item { padding:18px 12px; }
    .guide-question { padding-left:40px; font-size:18px; }
    .guide-answer { padding-left:40px; font-size:15px; }
    .guide-question::before,.guide-answer::before { width:29px; height:29px; line-height:29px; font-size:20px; }
    .guide-cta { padding:26px 18px 32px; margin-top:28px!important; }
    .guide-cta::before { width:140px; height:104px; opacity:.3; }
    .guide-cta h2 { font-size:25px; }
    .guide-cta p { font-size:15px; }
    .guide-cta p br { display:none; }
    .guide-buttons .wp-block-button { width:100%; }
    .guide-buttons .wp-block-button__link { width:100%; padding:14px 10px; font-size:20px; letter-spacing:.03em; }
    .guide-buttons .wp-block-button__link::before { margin-right:10px; }
    .guide-buttons .wp-block-button__link::after { margin-left:10px; }
}
@media(max-width:359px) {
    .guide-hero h1 { font-size:24px; }
    .guide-hero .guide-lead { font-size:14px; }
    .guide-step { grid-template-columns:36px minmax(0,1fr); gap:8px; }
    .guide-step-number { width:36px; height:36px; }
    .guide-step-icon { display:none; }
    .guide-step h3,.guide-step p:not(.guide-step-number) { grid-column:2; }
}

/* Classic Group wrappers must not occupy the only populated tablet grid cell. */
@media(min-width:768px) and (max-width:1023px) {
    .guide-works > .wp-block-group__inner-container { display:contents; }
    /* The reference's fifth card spans both columns, with its photo kept half-width. */
    .guide-work:last-child {
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:20px;
    }
    .guide-work:last-child .guide-illustration { grid-column:1; grid-row:1 / 3; width:100%; align-self:center; }
    .guide-work:last-child .guide-description,.guide-work:last-child .guide-estimate { grid-column:2; }
}
