.p-flexible { --flex-ink:#173d37; --flex-accent:#006a60; --flex-muted:#526d66; --flex-line:#d7e7e0; color:var(--flex-ink); background:#fff; overflow-wrap:anywhere; }
.p-flexible *, .p-flexible *::before, .p-flexible *::after { box-sizing:border-box; }
.p-flexible__wrap { width:min(1040px,calc(100% - 48px)); margin-inline:auto; padding:72px 0 80px; }
.p-flexible :is(h1,h2,h3,p,ol) { margin:0; }
.p-flexible :is(h1,h2,h3) { text-align:left; transform:none; letter-spacing:normal; color:var(--flex-ink); line-height:1.5; }
.p-flexible :is(h1,h2,h3)::before, .p-flexible :is(h1,h2,h3)::after { content:none; }
.p-flexible p { font-size:16px; line-height:1.95; }
.p-flexible__eyebrow { color:var(--flex-accent); font-size:12px!important; font-weight:800; letter-spacing:.15em; }
.p-flexible__hero { padding:48px; border-radius:24px; background:#eff7f3; border:1px solid var(--flex-line); }
.p-flexible__tag { display:inline-block; margin-top:18px!important; padding:5px 14px; border-radius:30px; background:#dcece4; font-size:13px!important; font-weight:700; }
.p-flexible h1 { margin-top:16px; font-size:clamp(27px,3.7vw,42px); font-weight:800; }
.p-flexible__lead { margin:18px 0 14px!important; font-size:clamp(19px,2.2vw,24px)!important; font-weight:700; line-height:1.7!important; }
.p-flexible__button { display:inline-flex; align-items:center; justify-content:center; gap:14px; max-width:100%; margin-top:26px; padding:15px 24px; border-radius:40px; color:#fff!important; background:var(--flex-accent); font-size:15px; line-height:1.6; font-weight:700; text-decoration:none; }
.p-flexible__button:hover { background:#00534b; }
.p-flexible a:focus-visible, .p-flexible summary:focus-visible { outline:3px solid #3c8bce; outline-offset:5px; }
.p-flexible__section { margin-top:76px; }
.p-flexible h2 { margin:10px 0 20px; font-size:clamp(23px,2.7vw,30px); font-weight:800; }
.p-flexible h3 { font-size:19px; font-weight:800; }
.p-flexible__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.p-flexible__facts article { min-width:0; padding:25px 20px; border:1px solid var(--flex-line); border-radius:16px; }
.p-flexible__facts span { display:block; margin-bottom:10px; font-size:13px; color:var(--flex-muted); }
.p-flexible__facts h3 { font-size:19px; }
.p-flexible__facts p { margin-top:9px; font-size:14px; color:var(--flex-muted); }
.p-flexible__note { margin-top:24px; padding:22px 24px; border-left:4px solid #76a99a; border-radius:0 12px 12px 0; background:#f3f8f5; }
.p-flexible__note strong { display:block; font-size:16px; line-height:1.8; }
.p-flexible__note p { margin-top:6px; font-size:15px; }
.p-flexible__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:0; list-style:none; }
.p-flexible__steps li { position:relative; min-width:0; padding:26px 22px; background:#f4f8f6; border-radius:16px; border:1px solid var(--flex-line); }
.p-flexible__steps li + li::before { content:'→'; position:absolute; top:50%; left:-26px; width:24px; text-align:center; transform:translateY(-50%); color:var(--flex-accent); font-size:20px; }
.p-flexible__step-number { display:block; margin-bottom:20px; font-size:28px; font-weight:800; color:#6c9e91; line-height:1; }
.p-flexible__steps small { display:block; margin-bottom:8px; color:var(--flex-muted); font-size:12px; }
.p-flexible__steps h3 { font-size:18px; }
.p-flexible__steps p { margin-top:12px; font-size:15px; }
.p-flexible__section-lead { margin-bottom:28px!important; }
.p-flexible__routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.p-flexible__route { min-width:0; padding:30px; border:1px solid #c5ded3; border-radius:18px; background:#f4faf6; }
.p-flexible__route--additional { background:#f3f8fb; border-color:#cddfe7; }
.p-flexible__route-question { font-size:14px!important; color:var(--flex-muted); }
.p-flexible__route h3 { margin:10px 0 14px; font-size:23px; }
.p-flexible__route > p { font-size:15px; }
.p-flexible__route-flow { display:grid; gap:28px; padding:0; margin:26px 0!important; list-style:none; }
.p-flexible__route-flow li { position:relative; padding:15px 12px; border:1px solid #c8ded3; background:#fff; border-radius:10px; text-align:center; font-size:15px; line-height:1.7; font-weight:700; }
.p-flexible__route-flow li + li::before { content:'↓'; position:absolute; width:24px; top:-28px; left:calc(50% - 12px); color:#6c9e91; line-height:28px; font-size:20px; }
.p-flexible__route--additional .p-flexible__route-flow li { border-color:#cddfe7; }
.p-flexible__route-caption { color:var(--flex-muted); font-size:14px!important; }
.p-flexible__text-links { display:flex; flex-wrap:wrap; gap:16px 28px; margin-top:24px; }
.p-flexible__text-links a { color:var(--flex-accent); font-size:15px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.p-flexible__faq { border-top:1px solid var(--flex-line); }
.p-flexible__faq details { border-bottom:1px solid var(--flex-line); }
.p-flexible__faq summary { padding:22px 8px; cursor:pointer; font-size:17px; line-height:1.7; font-weight:700; }
.p-flexible__faq details p { padding:0 8px 24px; font-size:15px; }
.p-flexible__contact { margin-top:76px; padding:40px; border:1px solid var(--flex-line); border-radius:20px; background:#eff7f3; }
.p-flexible__contact .p-line-minor-notice { margin-top:18px; }
@media (max-width:700px) {
 .p-flexible__wrap { width:calc(100% - 32px); padding:32px 0 48px; }
 .p-flexible__hero { padding:28px 22px; border-radius:18px; }
 .p-flexible__desktop-break { display:none; }
 .p-flexible__section { margin-top:48px; }
 .p-flexible__facts, .p-flexible__steps, .p-flexible__routes { grid-template-columns:minmax(0,1fr); }
 .p-flexible__facts { gap:12px; }
 .p-flexible__facts article { padding:20px; }
 .p-flexible__steps { gap:32px; }
 .p-flexible__steps li + li::before { content:'↓'; left:calc(50% - 12px); top:-32px; transform:none; line-height:30px; }
 .p-flexible__step-number { margin-bottom:14px; }
 .p-flexible__route { padding:24px 20px; }
 .p-flexible__note { padding:18px; }
 .p-flexible__contact { padding:28px 22px; margin-top:48px; }
 .p-flexible__button { padding:14px 18px; font-size:14px; }
}
