.cms-composed {
    --blue: #0878d1;
    --ink: #07131f;
    --paper: #f4f7f8;
    --max: 1240px;
    background: #fff;
    color: #243140;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
.cms-composed,
.cms-composed * { box-sizing: border-box; }
.cms-composed .wrap { width: min(var(--max), calc(100% - 48px)); margin: auto; }
.cms-composed h1,
.cms-composed h2,
.cms-composed h3,
.cms-composed h4 {
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.2 !important;
    color: inherit;
}
.cms-composed p,
.cms-composed li {
    font-size: 16px !important;
    line-height: 1.7 !important;
}
.cms-composed .page-hero {
    position: relative;
    min-height: 280px;
    display: flex;
    align-items: end;
    padding: 72px 0 48px;
    background-color: #07131f;
    background-size: cover;
    background-position: center;
    color: #fff;
}
.cms-composed .page-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 19, 31, .35), rgba(7, 19, 31, .92));
}
.cms-composed .page-hero .wrap { position: relative; z-index: 1; }
.cms-composed .page-hero h1 {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(36px, 5vw, 56px) !important;
}
.cms-composed .page-hero .crumb {
    margin: 0 0 12px;
    color: #9cabb7 !important;
    font-size: 12px !important;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.cms-composed .page-hero .crumb a { color: #6cc7ff !important; }
.cms-composed .page-hero .lede { max-width: 720px; color: #d5dee6 !important; font-size: 18px !important; }
.cms-composed .html-body,
.cms-composed .about-body {
    padding: 72px 0 90px;
    background: var(--paper);
    color: var(--ink);
}
.cms-composed .html-body .wrap,
.cms-composed .about-body .wrap { max-width: 860px; }
.cms-composed .html-body h1,
.cms-composed .about-body h1 { margin: 32px 0 16px !important; font-size: clamp(28px, 3vw, 40px) !important; color: var(--ink) !important; }
.cms-composed .html-body h2,
.cms-composed .about-body h2,
.cms-composed .html-body h3,
.cms-composed .about-body h3 { margin: 28px 0 12px !important; font-size: clamp(22px, 2.4vw, 32px) !important; color: var(--ink) !important; }
.cms-composed .html-body p,
.cms-composed .about-body p,
.cms-composed .html-body li,
.cms-composed .about-body li { color: #243140 !important; }
.cms-composed .html-body a,
.cms-composed .about-body a { color: var(--blue); }
.cms-composed .contact { padding: 72px 0; background: #07131f; color: #fff; }
.cms-composed .contact h2 { margin: 0 0 16px !important; color: #fff !important; font-size: clamp(32px, 4vw, 48px) !important; }
.cms-composed .contact p,
.cms-composed .contact li { color: #d5dee6 !important; }
.cms-composed .contact-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; align-items: start; }
.cms-composed .form-card,
.cms-composed .cms-form-card { min-width: 0; }
.cms-composed .cms-fluent-form { max-width: 760px; margin: 24px auto 56px; padding: 28px 24px 32px; background: #e7ebf7; color: #333; }
.cms-composed .cms-fluent-form h2 { margin: 0 0 16px !important; color: #142033 !important; font-size: 28px !important; line-height: 1.25 !important; }
.cms-composed .cms-fluent-form .ff-el-input--label,
.cms-composed .cms-fluent-form .ff-el-input--label label { color: #333 !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.4 !important; }
.cms-composed .cms-fluent-form .ff-el-form-control { width: 100%; height: 45px; box-sizing: border-box; border: 1px solid #dadbdd !important; border-radius: 7px !important; background: #fff !important; color: #606266 !important; font-size: 16px !important; padding: 11px 15px !important; box-shadow: none !important; }
.cms-composed .cms-fluent-form textarea.ff-el-form-control { height: auto; min-height: 120px; }
.cms-composed .cms-fluent-form .ff-btn-submit { border: 0 !important; border-radius: 7px !important; background: #1469b8 !important; color: #fbfbfa !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.5 !important; padding: 8px 20px !important; cursor: pointer; }
.cms-composed .cms-fluent-form .cms-form-consent { display: block; margin-top: 8px; color: #333; font-size: 14px; }
.cms-composed .cms-fluent-form .iti { width: 100%; }
.cms-composed .cms-fluent-form .iti input.ff-el-form-control { padding-left: 52px !important; }
.cms-composed .cms-form-card h2 { margin: 0 0 20px !important; color: #0b1b33 !important; font-size: 32px !important; }
.cms-composed .value-grid,
.cms-composed .choice-grid,
.cms-composed .testimonial-grid,
.cms-composed .feature-points { display: grid; gap: 16px; }
.cms-composed .value-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.cms-composed .value-card,
.cms-composed .quote-card { padding: 24px; border: 1px solid #dbe2e6; border-radius: 16px; background: #fff; }
@media (max-width: 800px) {
    .cms-composed .contact-grid { grid-template-columns: 1fr; }
    .cms-composed .wrap { width: min(100% - 32px, var(--max)); }
}
