/* Reusable inner-page sections. All content remains in Gutenberg. */
.content-template--inner { background:#f3f5f8; }
.content-template--inner::after { content:""; display:block; width:min(var(--container),calc(100% - var(--gutter)*2)); height:1px; margin-inline:auto; background:var(--line); }
.content-template--inner > .breadcrumbs { background:transparent; padding-block:20px; }
.inner-section { background:#f3f5f8; padding-block:56px; color:var(--ink); }
.inner-section .container { min-width:0; }
.inner-section h1 { font-size:36px; line-height:1.2; font-weight:550; }
.inner-section h2 { font-size:30px; line-height:1.2; font-weight:450; }
.inner-section h3 { margin:0; font-size:17px; line-height:1.4; font-weight:550; }
.inner-section p,.inner-section li { font-size:15px; line-height:1.65; font-weight:350; }
.inner-section .inner-lead { margin:10px 0 26px; }
.inner-title { display:flex; align-items:center; gap:18px; }
.inner-title::after { content:""; width:1px; height:32px; flex:none; background:var(--brand); }
.inner-heading-accent { display:flex; align-items:center; gap:16px; }
.inner-heading-accent::before { content:""; width:1px; height:27px; flex:none; background:var(--brand); }
.inner-intro { padding-block:42px 36px; }
.inner-prose { margin-top:26px; max-width:1060px; }
.inner-prose p + p { margin-top:16px; }
.inner-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.inner-tags .inner-tag { font-size:12.5px; font-weight:300; color:#3e444a; padding:6px 12px; border:1px solid #dce1e6; border-radius:18px; transition:border-color var(--motion-base) var(--ease); }
.inner-tag:hover { border-color:var(--card-hover-line); }
.inner-split,.inner-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:center; }
.inner-copy { min-width:0; }
.inner-copy > * + * { margin-top:22px; }
.inner-copy ul { padding-left:20px; }
.inner-copy li::marker { color:#8c969f; }
.inner-photo { position:relative; overflow:hidden; border-radius:10px; }
.inner-photo > .wp-block-image img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.inner-glass { position:absolute; left:20px; bottom:20px; max-width:calc(100% - 40px); padding:14px 18px; border:1px solid #ffffff21; border-radius:6px; background:#080d12b8; color:white; backdrop-filter:blur(8px); }
.inner-glass p { font-size:12px; line-height:1.55; }
.inner-glass strong { font-weight:550; }
.inner-actions { display:flex; flex-wrap:wrap; gap:14px; }
.inner-button .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; border:1px solid #8c99a5; border-radius:8px; background:transparent; color:#3e444a; font-size:14px; line-height:1.4; font-weight:400; text-decoration:none; transition:border-color var(--motion-base) var(--ease),background-color var(--motion-base) var(--ease); }
.inner-button .wp-block-button__link:hover,.inner-button .wp-block-button__link:focus-visible { border-color:var(--card-hover-line); color:#3e444a; background:transparent; text-decoration:none; }
.inner-action-note { display:inline-block; }
.inner-section .inner-note { font-size:11px; text-align:center; margin-top:5px; }
.inner-results h2 { margin-bottom:24px; }
.inner-results .inner-two { gap:24px; align-items:start; }
.inner-result { min-width:0; border:0; box-shadow:none; }
.inner-result h3 { margin-top:15px; }
.inner-result > p { margin-top:5px; color:var(--copy); }
.inner-result .image-comparison { position:relative; }
.inner-result .image-comparison.is-interactive .image-comparison__controls { position:absolute; inset:auto 12px 12px; padding:12px; border-radius:8px; background:white; opacity:0; pointer-events:none; }
.inner-result .image-comparison.is-interactive .image-comparison__controls:focus-within { opacity:1; pointer-events:auto; }
.inner-result .image-comparison__handle::after { width:26px; height:26px; font-size:15px; font-weight:300; box-shadow:0 2px 8px #0001; }
.inner-masonry { columns:4; column-gap:12px; }
.inner-masonry > .wp-block-image { break-inside:avoid; margin:0 0 12px; overflow:hidden; border-radius:7px; }
.inner-masonry img { display:block; width:100%; height:230px; object-fit:cover; }
.inner-masonry > :nth-child(3n+2) img { height:300px; }
.inner-masonry > :nth-child(3n) img { height:190px; }
.inner-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.inner-card { min-width:0; border:1px solid transparent; border-radius:18px; background:#ffffffb8; box-shadow:0 16px 34px #16233208; transition:background-color var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease); }
.inner-card:hover { border-color:var(--card-hover-line); background:white; box-shadow:none; }
.inner-step { min-height:235px; display:flex; align-items:center; gap:12px; padding:28px; }
.inner-step-copy { flex:1; min-width:0; }
.inner-step-copy p { margin-top:16px; }
.inner-section .inner-step-number { flex:none; font-size:104px; font-weight:550; line-height:1; color:#e6e9ed; }
.inner-reviews .inner-rating { margin-top:12px; font-size:20px; }
.inner-section .inner-stars { color:#ffb000; font-size:21px; letter-spacing:-2px; }
.inner-review { padding:20px; text-align:center; }
.inner-review .wp-block-image { border-radius:12px; overflow:hidden; }
.inner-review img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.inner-review > p { margin-top:22px; }
.inner-review .inner-stars { margin-top:12px; }
.inner-review-author { font-weight:400; }
.inner-faq-layout { display:grid; grid-template-columns:minmax(0,37fr) minmax(0,63fr); gap:72px; align-items:start; }
.inner-kicker { letter-spacing:.08em; }
.inner-faq .inner-copy h2 { max-width:380px; }
.inner-faq-list { min-width:0; border-top:1px solid #c6d0da; }
.inner-faq .inner-disclosure { margin:0; padding:0; border:0; border-bottom:1px solid #c6d0da; border-radius:0; background:transparent; box-shadow:none; transform:none; }
.inner-faq .inner-disclosure summary { gap:20px; min-height:56px; padding:10px 10px; font-size:14px; font-weight:400; transition:color var(--motion-base) var(--ease); }
.inner-faq .inner-disclosure summary::after { content:""; display:block; width:32px; height:32px; flex:none; border:1px solid currentColor; border-radius:50%; color:#8495a5; background:linear-gradient(currentColor,currentColor) center / 12px 1px no-repeat,linear-gradient(currentColor,currentColor) center / 1px 12px no-repeat; transition:color var(--motion-base) var(--ease); }
.inner-faq .inner-disclosure[open] summary::after { content:""; background-size:12px 1px,1px 0; }
.inner-faq .inner-disclosure[open] summary::after,.inner-faq .inner-disclosure summary:hover,.inner-faq .inner-disclosure summary:hover::after { color:var(--brand); }
.inner-faq .inner-disclosure > p { padding:0 52px 20px 10px; margin:0; font-size:15px; color:var(--ink); animation:none; }
.inner-question-card { margin-top:28px; padding:24px; border:1px solid var(--line); border-radius:14px; background:#ffffffb8; box-shadow:0 12px 28px #16233206; }
.inner-question-card > p { margin-top:8px; font-size:13px; color:var(--copy); }
.inner-question-card > .wp-block-buttons { margin-top:20px; }
.inner-question-button { width:100%; }
.inner-question-button .wp-block-button__link { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:44px; padding:12px 18px; border:1px solid transparent; border-radius:8px; background:var(--brand); color:white; font-size:14px; font-weight:450; line-height:1.4; text-decoration:none; transition:background-color var(--motion-base) var(--ease); }
.inner-question-button .wp-block-button__link:is(:hover,:focus-visible) { background:#ed5b00; color:white; text-decoration:none; }
.inner-question-button .ag-services-arrow { transition:transform var(--motion-base) var(--ease); }
.inner-question-button a:hover .ag-services-arrow { transform:translateX(4px); }
.inner-cta-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:center; padding:44px; border-radius:24px; background:#ffffffb8; box-shadow:0 20px 44px #18212e07; }
.inner-section .inner-kicker-tag { display:inline-block; padding:6px 15px; border:1px solid #9fadb9; border-radius:5px; font-size:11px; letter-spacing:.14em; color:var(--copy); }
.inner-cta-panel .inner-actions { margin-top:30px; }
.inner-cta-panel .inner-button { flex:1; }
.inner-cta-panel .wp-block-button__link { width:100%; border-color:#161b20; border-radius:30px; color:var(--ink); }
.inner-cta-panel .inner-button-dark .wp-block-button__link { background:#202223; color:white; }
.inner-cta-panel .inner-button-dark .wp-block-button__link:is(:hover,:focus-visible) { background:#45494b; color:white; }
.inner-cta-panel .wp-block-button__link:hover { border-color:var(--card-hover-line); }
.inner-section .inner-response-note { margin-top:7px; font-size:10px; color:var(--brand); letter-spacing:.1em; }
.inner-cta-photo { overflow:hidden; border-radius:15px; }
.inner-cta-photo img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.inner-contacts .inner-split { align-items:start; }
.inner-contacts .inner-copy > * + * { margin-top:22px; }
.inner-contacts .inner-address { margin-top:36px; }
.inner-section .inner-phone { font-size:28px; line-height:1.3; }
.inner-phone a:hover { color:var(--brand); text-decoration:none; }
.inner-socials { display:flex; align-items:center; gap:12px; }
.inner-socials img { display:block; width:30px; height:30px; filter:grayscale(1); transition:filter var(--motion-base) var(--ease); }
.inner-socials a:hover img,.inner-socials a:focus-visible img { filter:grayscale(0); }
.inner-socials .wp-block-image { margin:0; }
.inner-contacts .inner-button { min-width:250px; }
.inner-contacts .wp-block-button__link { width:100%; }
.inner-map .wp-block-image { border-radius:16px; overflow:hidden; }
.inner-map img { display:block; width:100%; aspect-ratio:1.6; object-fit:cover; }
.inner-map p { margin-top:10px; }
@media(max-width:1023px) {
 .inner-section { padding-block:40px; }
 .inner-section h1 { font-size:32px; }
 .inner-section h2 { font-size:27px; }
 .inner-split,.inner-faq-layout { gap:30px; }
 .inner-three { gap:18px; }
 .inner-step { padding:20px; }
 .inner-section .inner-step-number { font-size:70px; }
 .inner-masonry { columns:3; }
 .inner-cta-panel { padding:28px; gap:28px; }
}
@media(max-width:767px) {
 .inner-section { padding-block:30px; }
 .inner-section h1 { font-size:28px; }
 .inner-section h2 { font-size:25px; }
 .inner-split,.inner-two,.inner-faq-layout,.inner-cta-panel { grid-template-columns:minmax(0,1fr); gap:28px; }
 .inner-three { grid-template-columns:minmax(0,1fr); }
 .inner-step { min-height:175px; padding:24px; }
 .inner-section .inner-step-number { font-size:90px; }
 .inner-review { max-width:500px; }
 .inner-masonry { columns:2; gap:10px; }
 .inner-masonry img { height:175px; }
 .inner-masonry > :nth-child(3n+2) img { height:230px; }
 .inner-masonry > :nth-child(3n) img { height:140px; }
 .inner-glass { left:12px; bottom:12px; padding:10px 12px; }
 .inner-cta-panel { padding:24px; }
 .inner-cta-panel .inner-button { flex:auto; width:100%; }
 .inner-faq .inner-disclosure summary { padding-inline:0; }
 .inner-faq .inner-disclosure > p { padding-right:12px; }
 .inner-section .inner-phone { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
 .inner-section * { transition:none!important; }
}
