@font-face { font-family:Manrope; src:url('../fonts/Manrope.ttf') format('truetype'); font-style:normal; font-weight:200 800; font-display:swap; }
@font-face { font-family:'Source Sans 3'; src:url('../fonts/SourceSans3.ttf') format('truetype'); font-style:normal; font-weight:200 900; font-display:swap; }
:root { --web-bg:#fff; --web-soft:#f3f5f7; --web-text:#192a35; --web-muted:#5e6d78; --web-line:#dce3e8; --web-blue:#1266bd; --web-aqua:#1266bd; }
body { letter-spacing:0; }
body.public-site { background:var(--web-bg); color:var(--web-text); font-family:'Source Sans 3',"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.site-shell { width:min(1216px,calc(100% - 96px)); }
.skip-link { position:absolute; top:-90px; left:18px; z-index:400; padding:12px 20px; background:white; color:#152b3c; }
.skip-link:focus { top:12px; }
:focus-visible { outline:2px solid #1266bd; outline-offset:4px; }
.site-header { background:#fffffff5; color:#192a35; border-bottom:1px solid #e1e6eb; backdrop-filter:blur(12px); }
.header-inner { min-height:84px; gap:36px; }
.brand { font-size:20px; font-weight:500; gap:12px; white-space:nowrap; color:inherit; }
.brand strong { font-weight:700; }
.brand img { width:34px; height:38px; }
.site-navigation { gap:28px; }
.site-navigation .nav-link { position:relative; color:#52616d; font-size:13px; font-weight:500; padding:12px 0; }
.site-navigation .nav-link:hover,.site-navigation .nav-link[aria-current="page"] { color:#1266bd; }
.site-navigation .nav-link[aria-current="page"]::after { position:absolute; content:""; bottom:3px; left:0; right:0; height:2px; background:#1266bd; }
.site-navigation .nav-account { border-left:1px solid #d5dde5; padding-left:26px; }
.button { font-size:14px; font-weight:600; border-radius:4px; min-height:46px; padding:12px 21px; gap:20px; transition:background-color 150ms,border-color 150ms; }
.button:hover { transform:none; }
.button-primary { color:#fff; background:#1266bd; border-color:#1266bd; }
.button-primary:hover { color:#fff; background:#0b529d; border-color:#0b529d; }
.button-secondary,.button-quiet { color:#213f54; background:transparent; border-color:#bac8d3; }
.button-secondary:hover,.button-quiet:hover { color:#1266bd; background:#eaf0f5; border-color:#839eb5; }
.button-small { min-height:42px; padding:9px 15px; font-size:12px; }
.button-row { gap:24px; align-items:center; }
.public-site h1,.public-site h2,.public-site h3 { font-family:Manrope,"Segoe UI",Arial,sans-serif; color:var(--web-text); letter-spacing:0; font-weight:600; }
.public-site h1 { font-size:60px; line-height:1.12; margin:0; max-width:900px; }
.public-site h2 { font-size:38px; line-height:1.19; margin:0 0 20px; }
.public-site h3 { font-size:20px; line-height:1.3; margin:0 0 12px; }
.public-site p { color:var(--web-muted); }
.public-site .eyebrow { color:#1266bd; font-size:12px; line-height:1.5; font-weight:600; margin:0 0 22px; text-transform:none; }
.text-link,.hero-text-link { display:inline-flex; align-items:center; color:#1266bd; font-size:14px; font-weight:600; text-decoration:none; text-underline-offset:5px; }
.text-link:hover,.hero-text-link:hover { text-decoration:underline; color:#0b4e92; }
.home-hero { position:relative; min-height:590px; display:flex; align-items:center; background:#edf0f2 url('../images/drainage-materials-hero.png') center right/cover no-repeat; }
.home-hero > .site-shell { position:relative; padding-block:65px 86px; z-index:1; }
.home-hero-copy { max-width:600px; }
.public-site .home-hero .eyebrow { color:#3d596e; font-size:13px; margin-bottom:24px; }
.public-site .home-hero h1 { font-size:76px; line-height:1.08; font-weight:600; color:#172d3c; margin-bottom:26px; max-width:620px; }
.home-hero h1 em { font-style:normal; color:#1266bd; }
.public-site .hero-description { color:#455a6a; font-size:18px; line-height:1.7; max-width:460px; margin:0 0 30px; }
.hero-text-link { color:#243f53; }
.hero-caption { position:absolute; right:48px; bottom:22px; color:#435968; font-size:11px; }
.capability-rail { border-bottom:1px solid #dce3e8; background:#fff; }
.capability-rail > div { display:grid; grid-template-columns:repeat(4,1fr); padding-block:23px; }
.capability-rail span { color:#566875; font-size:12px; text-align:center; border-right:1px solid #dae2e8; }
.capability-rail span:first-child { text-align:left; }
.capability-rail span:last-child { border:0; text-align:right; }
.web-section { padding-block:76px; }
.section-divider { border-top:1px solid var(--web-line); }
.section-top { display:flex; align-items:end; justify-content:space-between; gap:70px; margin-bottom:36px; }
.section-top h2 { margin-bottom:0; }
.section-top > p,.section-summary { max-width:390px; font-size:16px; }
.section-summary p { margin-bottom:18px; line-height:1.75; }
.section-end { display:flex; justify-content:space-between; gap:30px; align-items:start; margin-top:18px; }
.fine-print,.section-end > span { font-size:11px; color:#6e7f8e; margin-top:14px; }
.process-band { background:#f1f5f7; }
.home-closing { background:white; }
.four-stages { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding:0; margin:0; }
.four-stages li { position:relative; border-top:1px solid #bccbd6; padding-top:21px; }
.four-stages li:not(:last-child)::after { position:absolute; content:"\2192"; right:0; top:18px; color:#8097a9; }
.four-stages li > span { display:block; font-size:12px; color:#1266bd; margin-bottom:26px; }
.four-stages h3 { font-size:24px; }
.four-stages p { font-size:14px; line-height:1.7; margin:0; max-width:245px; }
.split-copy,.faq-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.split-copy p { font-size:16px; line-height:1.85; max-width:590px; }
.split-copy .text-link { margin-top:12px; }
.faq-layout { grid-template-columns:.8fr 1.2fr; }
.faq-list { border-top:1px solid #cdd7df; }
.faq-list details { border-bottom:1px solid #cdd7df; padding:20px 0; }
.faq-list summary { cursor:pointer; position:relative; padding-right:35px; list-style:none; color:#243e50; font-size:15px; font-weight:500; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; top:-4px; right:0; font-size:24px; color:#1266bd; }
.faq-list details[open] summary::after { content:"\2212"; }
.faq-list details p { font-size:14px; margin:14px 24px 0 0; line-height:1.8; }
.web-intro { background:#f3f6f8; padding-block:66px 58px; border-bottom:1px solid #e0e7ec; }
.web-intro .site-shell { position:relative; padding-left:32px; border-left:3px solid #1266bd; }
.web-intro .eyebrow { margin-bottom:20px; }
.intro-copy { color:#5b6f7e; font-size:18px; max-width:640px; line-height:1.7; margin:23px 0 0; }
.intro-lead { font-size:24px; margin-top:20px; color:#3a5468 !important; }
.comparison-wrap { overflow-x:auto; }
.comparison-table { width:100%; min-width:650px; font-size:14px; text-align:left; border-collapse:collapse; }
.comparison-table caption { caption-side:top; font-size:12px; color:#6a7c8b; padding-bottom:18px; }
.comparison-table th,.comparison-table td { padding:21px 24px; border-bottom:1px solid #dce4eb; vertical-align:top; }
.comparison-table thead th { font-size:12px; font-weight:600; background:#f2f5f8; color:#546b7e; }
.comparison-table thead th:last-child { background:#e9f1f9; color:#1266bd; }
.comparison-table tbody th { font-size:14px; font-weight:600; color:#2a4457; width:24%; }
.comparison-table td { color:#61717f; width:38%; }
.comparison-table td:last-child { background:#f6f9fc; color:#284862; }
.feature-rows article { display:grid; grid-template-columns:44px 1.4fr .65fr; gap:40px; border-bottom:1px solid #dce4eb; padding:31px 0; }
.feature-rows article:first-child { padding-top:0; }
.feature-rows article:last-child { border:0; padding-bottom:0; }
.small-number { color:#1266bd; font-size:12px; font-weight:600; }
.feature-rows h2 { font-size:24px; margin-bottom:12px; }
.feature-rows p { font-size:15px; line-height:1.8; margin:0; max-width:660px; }
.feature-note { font-size:12px; color:#778b9b; max-width:210px; padding-top:7px; }
.approach-steps article { display:grid; grid-template-columns:80px 1.4fr .65fr; gap:40px; border-bottom:1px solid #dce4eb; padding:42px 0; }
.approach-steps article:first-child { padding-top:0; }
.approach-steps article:last-child { border:0; padding-bottom:0; }
.step-marker { color:#a4b8ca; font-size:40px; font-weight:400; line-height:1.1; }
.approach-steps h2 { font-size:28px; }
.approach-steps p { font-size:15px; line-height:1.8; margin-bottom:0; }
.approach-steps .eyebrow { margin-bottom:12px; }
.step-output { align-self:center; border-left:1px solid #b8cbdc; padding:12px 0 12px 26px; }
.step-output span { font-size:11px; color:#70879a; }
.step-output strong { display:block; font-size:17px; font-weight:500; color:#284b68; margin-top:10px; }
.step-output p { margin-top:8px; font-size:13px; }
.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; }
.principles-grid > div { padding:0 32px 0 0; border-right:1px solid #ccd8e2; }
.principles-grid > div:last-child { border:0; padding-right:0; }
.principles-grid h2 { font-size:21px; margin:20px 0 12px; }
.principles-grid p { font-size:14px; line-height:1.8; margin:0; }
.contact-options { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:44px; }
.contact-options article { padding-right:36px; border-right:1px solid #d2dee7; }
.contact-options article:last-child { padding:0; border:0; }
.contact-options h2 { font-size:26px; margin-top:28px; }
.contact-options p { font-size:15px; line-height:1.8; min-height:82px; }
.contact-options .text-link { padding-block:13px; }
.software-features { display:grid; grid-template-columns:1fr 1fr; gap:40px 80px; }
.software-features article { padding-top:22px; border-top:1px solid #cad7e2; }
.software-features h2 { font-size:28px; margin-top:22px; }
.software-features p { font-size:15px; line-height:1.8; margin-bottom:0; max-width:490px; }
.worklist-example { border:1px solid #c7d4df; border-radius:7px; overflow:hidden; background:#fff; box-shadow:0 18px 45px #273e5210; }
.example-toolbar { background:#edf2f6; padding:16px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #d6e0e8; }
.example-toolbar > div:first-child { display:flex; align-items:center; gap:10px; }
.example-toolbar strong { color:#263e50; font-size:13px; font-weight:600; }
.example-light { width:7px; height:7px; background:#1266bd; border-radius:2px; }
.example-filters { display:flex; gap:4px; }
.example-filters button { border:1px solid transparent; border-radius:4px; padding:7px 11px; background:transparent; color:#657d90; font-size:12px; }
.example-filters button[aria-pressed="true"] { border-color:#b6cbde; background:#fff; color:#1266bd; }
.example-body { display:grid; grid-template-columns:1fr 292px; }
.example-table-wrap { overflow-x:auto; }
.example-table { width:100%; min-width:610px; border-collapse:collapse; font-size:12px; }
.example-table th { color:#546d80; font-size:11px; font-weight:500; padding:16px; border-bottom:1px solid #dce5ec; }
.example-table td { padding:22px 16px; color:#4d6578; border-bottom:1px solid #e3eaf0; white-space:nowrap; }
.example-table button { color:#244b69; border:0; background:transparent; padding:0; text-decoration:underline; text-decoration-color:#a3bbce; text-underline-offset:4px; }
.example-table .is-selected { background:#edf5fc; box-shadow:inset 3px 0 0 #1266bd; }
.decision-tag { display:inline-flex; padding:4px 8px; border-radius:3px; font-size:11px; font-weight:500; }
.decision-tag.repair { color:#267153; background:#e1f2e9; }
.decision-tag.review { color:#8c651c; background:#fbf0d7; }
.example-detail { border-left:1px solid #d7e1e9; background:#f8fafc; padding:24px; min-height:295px; }
.public-site .example-detail .eyebrow { font-size:10px; margin-bottom:12px; }
.public-site .example-detail h3 { font-size:17px; margin-bottom:20px; }
.example-detail dl { font-size:12px; }
.example-detail dl > div { margin-bottom:12px; }
.example-detail dt { color:#60788a; font-weight:400; }
.example-detail dd { color:#354f63; margin-top:4px; }
.example-detail > p:not(.eyebrow) { color:#657b8c; font-size:12px; line-height:1.7; }
.example-source { color:#1266bd; font-size:11px; display:flex; gap:8px; }
.example-footer { display:flex; justify-content:space-between; border-top:1px solid #d6e0e8; padding:11px 20px; color:#60788a; font-size:11px; }
.public-site .page-hero { background:#f3f6f8; border-color:#dce5ec; padding-block:60px 45px; }
.public-site .page-intro { max-width:1216px; }
.public-site .page-intro h1 { color:#192e3e; font-size:44px; max-width:850px; }
.public-site .page-intro > p:last-child { color:#667d8f; font-size:17px; max-width:690px; }
.public-site .content-band,.public-site .product-proof { background:#fff; }
.public-site .content-grid h2 { color:#223c50; font-size:26px; }
.public-site .copy-stack p,.public-site .copy-stack li { color:#637989; }
.public-site .form-layout { gap:72px; }
.public-site .form-panel { background:#fff; border:1px solid #d5dfe8; box-shadow:0 12px 35px #263a4d07; padding:32px; }
.public-site .form-heading { font-size:24px; }
.public-site .side-panel { background:transparent; border:0; border-left:1px solid #d3dfe8; padding:4px 0 4px 30px; }
.public-site .side-panel h2 { font-size:25px; }
.public-site .side-panel p { font-size:15px; line-height:1.8; }
.public-site .field { margin-bottom:8px; }
.public-site .field label { font-size:13px; font-weight:500; color:#405c70; }
.public-site .field input,.public-site .field select,.public-site .field textarea { color-scheme:light; background:#f9fbfc; border:1px solid #c4d2dd; color:#24445e; border-radius:4px; }
.public-site .field input::placeholder,.public-site .field textarea::placeholder { color:#8a9aa7; }
.public-site .field input:focus,.public-site .field select:focus,.public-site .field textarea:focus { background:white; outline:2px solid #1266bd33; border-color:#1266bd; }
.public-site .field textarea { min-height:115px; }
.public-site .checkbox-field { color:#536f82; font-size:13px; }
.public-site input[type="checkbox"] { accent-color:#1266bd; flex-shrink:0; }
.form-note { color:#6d8293; font-size:13px; margin-bottom:24px; }
.public-site .field-validation-error,.public-site .validation-summary-errors { color:#b32e45; font-size:13px; }
.validation-summary-valid { display:none; }
.public-site .workflow-list { border-color:#cedbe5; }
.public-site .workflow-step { grid-template-columns:32px 1fr; padding:24px 0; gap:14px; border-color:#cedbe5; }
.public-site .workflow-step h3 { font-size:17px; }
.public-site .workflow-step p { font-size:14px; }
.public-site .workflow-step strong { font-size:13px; color:#1266bd; }
.meeting-details { margin-top:24px; padding-top:24px; border-top:1px solid #d1dde6; }
.meeting-details dt { color:#8699a7; font-size:11px; font-weight:400; }
.meeting-details dd { color:#395b73; font-size:14px; margin:7px 0 22px; }
.trap-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.confirmation { max-width:800px; min-height:460px; padding-block:70px; }
.confirmation h1 { font-size:44px; margin-bottom:25px; }
.confirmation .button-row { margin-top:25px; }
.article-list { border-top:1px solid #cedbe6; }
.article-list article { display:grid; grid-template-columns:150px 1fr; gap:50px; padding:34px 0; border-bottom:1px solid #cedbe6; }
.article-list h2 { font-size:26px; }
.article-list p { max-width:770px; font-size:15px; line-height:1.8; }
.article-label { color:#1266bd; font-size:12px; padding-top:8px; }
.site-footer { background:#192a35; border:0; color:#e8f0f5; padding:0; }
.footer-invitation { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:58px; border-bottom:1px solid #3c4d59; }
.footer-label { display:block; color:#92adbf; font-size:12px; margin-bottom:15px; }
.site-footer .footer-invitation h2 { font-family:Manrope,"Segoe UI",Arial,sans-serif; color:#f6f9fb; font-size:40px; font-weight:500; margin:0; }
.footer-invitation .button { background:#edf3f8; color:#233f54; border-color:#edf3f8; min-width:210px; }
.footer-invitation .button:hover { background:#d6e6f2; }
.footer-grid { display:grid; grid-template-columns:1.7fr 1fr .8fr 1fr; gap:45px; padding-block:46px; }
.footer-brand { color:#eef5f9; font-size:24px; }
.site-footer .footer-company p { color:#98adbc; font-size:13px; line-height:1.8; margin-top:18px; }
.footer-column { display:flex; flex-direction:column; gap:12px; }
.footer-column > span { font-size:11px; color:#91a9bb; margin-bottom:5px; }
.footer-column a { color:#d1dfe9; font-size:12px; text-decoration:none; }
.footer-column a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { display:flex; justify-content:space-between; padding-block:22px; border-top:1px solid #3c4d59; font-size:11px; color:#8fa7b8; }
.footer-bottom > div { display:flex; gap:25px; }
.footer-bottom a { color:#afc2d0; text-decoration:none; }
@media (min-width:1700px) {
    .site-shell { width:min(1600px,calc(100% - 160px)); }
    .home-hero { min-height:700px; }
    .home-hero-copy { max-width:720px; }
    .public-site .home-hero h1 { font-size:88px; max-width:720px; }
    .public-site .hero-description { font-size:20px; max-width:520px; }
    .web-section { padding-block:88px; }
    .site-navigation { gap:34px; }
    .site-navigation .nav-link { font-size:15px; }
    .button-small { font-size:14px; }
    .public-site h1 { font-size:68px; max-width:1100px; }
    .public-site h2 { font-size:42px; }
    .section-top > p,.section-summary,.split-copy p { font-size:18px; }
    .split-copy p { max-width:680px; }
    .example-body { grid-template-columns:minmax(0,1fr) 350px; }
    .example-table { font-size:15px; }
    .example-table th,.example-toolbar strong { font-size:14px; }
    .example-table td { padding-block:28px; }
    .example-filters button,.decision-tag { font-size:13px; }
    .public-site .example-detail h3 { font-size:21px; }
    .example-detail dl,.example-detail > p:not(.eyebrow) { font-size:15px; }
    .example-source,.example-footer { font-size:13px; }
    .four-stages h3 { font-size:27px; }
    .four-stages p { font-size:17px; max-width:320px; }
    .feature-rows h2,.software-features h2,.approach-steps h2 { font-size:30px; }
    .feature-rows p,.software-features p,.approach-steps p,.article-list p { font-size:18px; }
    .software-features p { max-width:620px; }
    .principles-grid h2 { font-size:25px; }
    .principles-grid p,.contact-options p,.faq-list summary { font-size:17px; }
    .faq-list details p { font-size:16px; }
    .contact-options h2 { font-size:30px; }
    .intro-copy { font-size:20px; max-width:780px; }
    .text-link,.hero-text-link,.button { font-size:16px; }
    .public-site .form-layout { grid-template-columns:minmax(0,960px) minmax(280px,1fr); gap:80px; }
    .public-site .form-panel { padding:40px; }
    .public-site .form-heading { font-size:28px; }
    .public-site .field label,.public-site .checkbox-field,.form-note { font-size:15px; }
    .public-site .side-panel h2 { font-size:28px; }
    .public-site .side-panel p,.meeting-details dd { font-size:17px; }
    .footer-column a,.site-footer .footer-company p { font-size:15px; }
    .footer-column > span,.footer-bottom { font-size:13px; }
}
@media (min-width:2300px) {
    .site-shell { width:min(1840px,calc(100% - 192px)); }
    .home-hero { min-height:790px; }
    .home-hero-copy { max-width:830px; }
    .public-site .home-hero h1 { font-size:100px; max-width:830px; }
    .public-site .hero-description { font-size:22px; max-width:570px; }
    .public-site h1 { font-size:76px; max-width:1200px; }
    .public-site h2 { font-size:46px; }
    .public-site .example-detail h3 { font-size:22px; }
    .public-site .form-heading { font-size:30px; }
    .public-site .side-panel h2 { font-size:30px; }
}
@media (min-width:761px) and (max-width:1279px) {
    .home-hero { background-position:calc(50% + 280px) center; }
}
@media (max-width:1100px) {
    .site-shell { width:calc(100% - 64px); }
    .header-inner { min-height:76px; }
    .menu-button { display:block; border-color:#cbd8e2; border-radius:4px; }
    .menu-button > span:not(.visually-hidden) { background:#29485f; }
    .site-navigation { display:none; position:absolute; top:76px; left:0; right:0; padding:22px 32px; background:#fff; border-bottom:1px solid #cbd8e2; }
    .site-navigation.is-open { display:grid; gap:10px; }
    .site-navigation .button,.site-navigation form .button { width:100%; }
    .site-navigation .nav-account { border:0; padding-left:0; }
    .example-body { grid-template-columns:1fr; }
    .example-detail { border-left:0; border-top:1px solid #d7e1e9; min-height:0; }
    .example-detail dl { display:flex; gap:40px; }
    .footer-grid { grid-template-columns:1.3fr 1fr 1fr; gap:30px; }
    .footer-company { grid-column:1 / -1; }
    .contact-options { gap:26px; }
    .contact-options article { padding-right:25px; }
}
@media (max-width:760px) {
    .site-shell { width:calc(100% - 40px); }
    .header-inner { min-height:70px; gap:12px; }
    .site-navigation { top:70px; padding:18px 20px; }
    .brand { font-size:18px; gap:9px; }
    .brand img { width:29px; height:33px; }
    .public-site h1 { font-size:40px; }
    .public-site h2 { font-size:29px; }
    .home-hero { min-height:650px; align-items:start; background-size:auto 290px; background-position:right bottom; background-color:#edf0f2; }
    .home-hero > .site-shell { padding-block:48px 320px; }
    .public-site .home-hero h1 { font-size:51px; margin-bottom:20px; }
    .public-site .home-hero .eyebrow { margin-bottom:19px; }
    .public-site .hero-description { font-size:16px; margin-bottom:23px; }
    .hero-caption { right:20px; bottom:15px; font-size:10px; }
    .home-hero .button-row { align-items:start; gap:17px; flex-direction:column; }
    .home-hero .button-row .button { width:auto; }
    .hero-text-link { font-size:13px; }
    .capability-rail > div { grid-template-columns:1fr 1fr; gap:15px 8px; padding-block:20px; }
    .capability-rail span,.capability-rail span:first-child,.capability-rail span:last-child { text-align:left; font-size:10px; border:0; }
    .web-section { padding-block:48px; }
    .section-top { flex-direction:column; align-items:start; gap:23px; margin-bottom:28px; }
    .section-top > p,.section-summary { max-width:none; font-size:15px; }
    .section-end { flex-direction:column; gap:15px; }
    .four-stages { grid-template-columns:1fr 1fr; gap:30px 24px; }
    .four-stages h3 { font-size:21px; }
    .four-stages p { font-size:13px; max-width:none; }
    .four-stages li > span { margin-bottom:18px; }
    .split-copy,.faq-layout { grid-template-columns:1fr; gap:26px; }
    .split-copy p { font-size:15px; }
    .web-intro { padding-block:44px 40px; }
    .web-intro .site-shell { padding-left:20px; }
    .web-intro h1 br { display:none; }
    .intro-copy { font-size:16px; margin-top:18px; }
    .intro-lead { font-size:20px; }
    .feature-rows article { grid-template-columns:22px 1fr; gap:17px; padding-block:27px; }
    .feature-rows h2 { font-size:23px; }
    .feature-note { grid-column:2; padding-top:0; max-width:none; }
    .approach-steps article { grid-template-columns:34px 1fr; gap:22px; padding-block:30px; }
    .step-marker { font-size:27px; }
    .approach-steps h2 { font-size:25px; }
    .step-output { grid-column:2; padding-left:18px; }
    .principles-grid { grid-template-columns:1fr; gap:28px; }
    .principles-grid > div { padding:0 0 28px; border-right:0; border-bottom:1px solid #ccd8e2; }
    .principles-grid > div:last-child { padding:0; }
    .principles-grid h2 { font-size:21px; margin-top:12px; }
    .contact-options { grid-template-columns:1fr; gap:0; }
    .software-features { grid-template-columns:1fr; gap:30px; }
    .contact-options article { border-right:0; border-bottom:1px solid #d2dee7; padding:28px 0; }
    .contact-options article:first-child { padding-top:0; }
    .contact-options article:last-child { padding-top:28px; }
    .contact-options h2 { font-size:25px; margin-top:18px; }
    .contact-options p { min-height:0; }
    .example-toolbar { flex-direction:column; align-items:start; gap:13px; padding:15px; }
    .example-filters { flex-wrap:wrap; }
    .example-filters button { padding:7px 8px; }
    .example-detail { padding:21px; }
    .public-site .form-layout { gap:35px; }
    .public-site .form-panel { padding:22px; }
    .public-site .side-panel { padding-left:0; border:0; }
    .public-site .page-intro h1 { font-size:36px; }
    .article-list article { grid-template-columns:1fr; gap:13px; }
    .article-list h2 { font-size:24px; }
    .confirmation h1 { font-size:36px; }
    .footer-invitation { flex-direction:column; align-items:start; gap:26px; padding-block:40px; }
    .site-footer .footer-invitation h2 { font-size:30px; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:32px; padding-block:36px; }
    .footer-company { grid-column:1 / -1; }
    .footer-brand { font-size:23px; }
    .footer-column { gap:13px; }
    .footer-bottom { align-items:start; gap:20px; }
}
@media (max-width:360px) { .public-site .home-hero h1 { font-size:44px; } .public-site h1 { font-size:35px; } .hero-description br { display:none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
