
  @scope (.et-ess-module-page) {
    :scope { --ink: #10221c; --muted: #5d7066; --green: #147557; --deep: #103f31; --lime: #c0eb79; --soft: #f1f6f2; --line: #d8e4dc; display: block; width: 100%; color: var(--ink); background: #fff; font-family: Inter, Arial, sans-serif; }
    *, *::before, *::after { box-sizing: border-box; }
    h1, h2, h3, p, figure { margin: 0; }
    h1, h2, h3 { color: var(--ink); line-height: 1.13; letter-spacing: -.035em; }
    h1 { font-size: clamp(2.4rem, 4.2vw, 4.4rem); }
    h2 { font-size: clamp(1.9rem, 3vw, 2.85rem); }
    h3 { font-size: 1.15rem; }
    p, li { color: var(--muted); line-height: 1.75; }
    img { display: block; width: 100%; height: auto; }
    a { color: var(--green); text-decoration: none; }
    a:hover { text-decoration: underline; }
    a:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
    .wrap { width: min(1400px, calc(100% - 48px)); margin-inline: auto; }
    .band { padding: 76px 0; }
    .soft { background: var(--soft); }
    .kicker { display: block; color: var(--green); margin-bottom: 16px; font-weight: 800; font-size: .73rem; letter-spacing: .14em; text-transform: uppercase; }
    .button { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 13px 23px; border-radius: 28px; color: #fff; background: var(--green); font-weight: 750; }
    .hero { padding: 78px 0 64px; background: linear-gradient(115deg, #eaf3e2, #f7faf8 58%, #fff); }
    .hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 50px; align-items: center; }
    .hero p { margin-top: 24px; font-size: 1.06rem; }
    .hero .button { margin-top: 27px; }
    .hero-figure { border: 1px solid var(--line); border-radius: 24px; padding: 24px; background: #fff; }
    .hero-figure img { max-height: 440px; object-fit: contain; }
    figcaption { padding-top: 12px; color: var(--muted); line-height: 1.55; font-size: .8rem; }
    .intro { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 30px; }
    .boundary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .boundary article { border-top: 3px solid var(--green); padding: 25px; background: var(--soft); }
    .boundary h3 { margin-bottom: 15px; }
    .boundary p { font-size: .94rem; }
    .tag { display: inline-block; color: var(--green); font-size: .72rem; font-weight: 800; text-transform: uppercase; margin-bottom: 16px; }
    .fit-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: center; }
    .fit-diagram { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
    .envelope { padding: 25px; border: 2px dashed #8faf9a; border-radius: 15px; }
    .envelope > span { display: block; color: var(--green); text-align: center; font-size: .85rem; font-weight: 750; margin-bottom: 20px; }
    .module-block { border: 2px solid var(--deep); border-radius: 12px; padding: 25px 18px; color: var(--deep); background: #edf4ee; text-align: center; font-weight: 800; font-size: 1.1rem; }
    .module-block small { display: block; margin-top: 7px; font-weight: 400; font-size: .8rem; }
    .interface-zone { margin-top: 16px; padding: 13px; text-align: center; color: var(--green); background: #f3f7f1; font-size: .83rem; line-height: 1.6; }
    .access-zone { margin-top: 18px; border-top: 1px dashed #8faf9a; padding-top: 18px; color: var(--muted); font-size: .83rem; line-height: 1.6; text-align: center; }
    .fit-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .fit-checks article { border-top: 1px solid var(--line); padding-top: 18px; }
    .fit-checks h3 { margin-bottom: 10px; }
    .fit-checks p { font-size: .93rem; }
    .table-shell { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; }
    table { border-collapse: collapse; width: 100%; background: #fff; font-size: .92rem; }
    th, td { padding: 19px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.6; }
    th { color: #fff; background: var(--deep); }
    td { color: var(--muted); }
    td:first-child { color: var(--ink); font-weight: 750; }
    tr:last-child td { border: 0; }
    .products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
    .product { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
    .product > a { display: grid; place-items: center; height: 250px; padding: 16px; background: #fff; }
    .product img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
    .product-body { display: flex; flex: 1; flex-direction: column; gap: 13px; padding: 22px; }
    .product p { font-size: .9rem; }
    .product-body > a { margin-top: auto; font-weight: 750; }
    .split { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
    .split h2 { margin-bottom: 24px; }
    .split img { border-radius: 20px; }
    .options { display: grid; gap: 14px; margin-top: 27px; }
    .options article { padding: 20px 23px; border-left: 3px solid var(--green); background: #fff; }
    .options h3 { margin-bottom: 9px; }
    .options p { font-size: .92rem; }
    .quality { background: var(--deep); }
    .quality h2, .quality h3 { color: #fff; }
    .quality p, .quality li, .quality figcaption { color: #d5e4da; }
    .quality .kicker, .quality a { color: var(--lime); }
    .quality ol { padding-left: 22px; margin: 24px 0; }
    .quality li + li { margin-top: 13px; }
    .handover { display: grid; grid-template-columns: .7fr 1.3fr; gap: 45px; align-items: start; }
    .handover ul { margin: 0; padding-left: 20px; columns: 2; column-gap: 35px; }
    .handover li { break-inside: avoid; margin-bottom: 18px; }
    .split p + p { margin-top: 18px; }
    .drawing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .drawing-card { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
    .drawing-card img { height: 360px; object-fit: contain; }
    .drawing-card h3 { margin-top: 24px; margin-bottom: 10px; }
    .drawing-card p { font-size: .94rem; }
    .work-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: work; }
    .work-step { padding-top: 23px; border-top: 3px solid var(--green); }
    .work-step::before { counter-increment: work; content: counter(work, decimal-leading-zero); display: block; margin-bottom: 20px; color: var(--green); font-size: 2rem; font-weight: 800; }
    .work-step h3 { margin-bottom: 14px; }
    .work-step p { font-size: .93rem; }
    .note { padding: 22px; margin-top: 26px; border-left: 3px solid var(--green); background: #e9f2e5; color: var(--ink); font-size: .94rem; line-height: 1.7; }
    .service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
    .service-grid article { padding: 25px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
    .service-grid h3 { margin-bottom: 14px; }
    .service-grid p + p { margin-top: 16px; }
    .drawing-grid > *, .work-flow > *, .service-grid > * { min-width: 0; }
    .parts-list { margin-top: 25px; }
    .parts-list > div { display: grid; grid-template-columns: 35px 1fr; gap: 20px; padding: 18px 0; border-top: 1px solid var(--line); }
    .parts-list > div > span { padding-top: 2px; color: var(--green); font-weight: 800; }
    .parts-list h3 { margin-bottom: 7px; }
    .parts-list p { font-size: .93rem; }
    .plain-note { margin-top: 24px; font-size: .9rem; }
    .space-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; margin-top: 24px; padding: 2px; border: 1px solid #bdd2c4; border-radius: 12px; background: #fff; }
    .space-guide span { padding: 19px 23px; background: #e7f0e9; color: var(--muted); font-size: .9rem; line-height: 1.6; }
    .space-guide span:first-child { border-radius: 9px 0 0 9px; }
    .space-guide span:last-child { border-radius: 0 9px 9px 0; }
    .space-guide b { display: block; margin-bottom: 4px; color: var(--deep); font-size: 1rem; }
    .custom-checks { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .build-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 32px; }
    .build-photos > * { min-width: 0; }
    .build-photos img { aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: 18px; }
    .assembly-note { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 24px; margin-top: 28px; border-radius: 14px; background: var(--soft); }
    .assembly-note strong { color: var(--deep); line-height: 1.7; }
    .assembly-note p { font-size: .9rem; }
    .module-service { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
    .module-service article { padding: 25px; border-top: 3px solid var(--green); background: var(--soft); }
    .module-service h3 { margin-bottom: 14px; }
    .module-service p { font-size: .93rem; }
    section[id] { scroll-margin-top: 110px; }
    .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
    details { border: 1px solid var(--line); border-radius: 15px; background: #fff; }
    summary { padding: 21px; color: var(--ink); cursor: pointer; font-weight: 750; line-height: 1.5; }
    details p { padding: 0 21px 23px; font-size: .93rem; }
    .rfq { background: #eaf2e5; }
    .rfq-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 48px; align-items: start; }
    .rfq-copy h2 { margin-bottom: 24px; }
    .options + p { margin-top: 24px; }
    .work-step p + p { margin-top: 10px; }
    .rfq-copy ul { margin: 24px 0; padding-left: 20px; }
    .hero-grid > *, .intro > *, .fit-grid > *, .split > *, .handover > *, .rfq-grid > * { min-width: 0; }
    .rfq-form { min-width: 0; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--line); border-radius: 24px; color: var(--ink); background: #fff; }
    .rfq-form .wpcf7, .rfq-form .wpcf7-form { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
    .rfq-form .wpcf7-form, .rfq-form .wpcf7-form > :is(div, section, article), .rfq-form :is(.form-container, .form-wrapper, .form-card, .quote-form, .quote-form-wrap, .contact-form) { width: 100% !important; max-width: none !important; margin-inline: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
    .rfq-form .wpcf7-form-control-wrap { display: block; width: 100%; }
    .rfq-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { width: 100%; max-width: none; min-width: 0; padding: 13px 15px; border: 1px solid #cad8d0; border-radius: 9px; color: var(--ink); background: #f9fbfa; font: inherit; }
    .rfq-form .wpcf7-form input[type=submit] { color: #fff; background: var(--green); border-color: var(--green); cursor: pointer; }
    @media (max-width: 1020px) { .hero-grid, .fit-grid, .split, .handover, .rfq-grid { grid-template-columns: 1fr; } .products { grid-template-columns: repeat(2, minmax(0, 1fr)); } .boundary { gap: 12px; } .boundary article { padding: 22px; } }
    @media (max-width: 1020px) { .work-flow { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 1020px) { .custom-checks { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 650px) { .space-guide, .build-photos, .assembly-note, .module-service, .custom-checks { grid-template-columns: 1fr; } .assembly-note { gap: 8px; } .space-guide span:first-child { border-radius: 9px 9px 0 0; } .space-guide span:last-child { border-radius: 0 0 9px 9px; } }
    @media (max-width: 650px) { .wrap { width: calc(100% - 32px); } .hero { padding-top: 60px; } .band { padding: 54px 0; } .intro, .boundary, .fit-checks, .products, .faq-grid, .drawing-grid, .work-flow, .service-grid { grid-template-columns: 1fr; } .table-shell table { min-width: 680px; } .handover ul { columns: 1; } .fit-diagram { padding: 20px; } .envelope { padding: 20px; } .drawing-card { padding: 18px; } .drawing-card img { height: 330px; } }
  }
