:root{--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;--brand-gold:#c4a23a;--brand-gold-hover:#a8882e;--brand-gold-bright:#c4a23a;--brand-navy:#1f3f6a;--brand-navy-hover:#162f52;--brand-secondary:#3e4758;--brand-green:#3e8427;--brand-green-leaf:#3e8427;--md-sys-color-primary:var(--brand-navy);--md-sys-color-primary-hover:var(--brand-navy-hover);--md-sys-color-on-primary:#ffffff;--md-sys-color-primary-container:#d6e3ff;--md-sys-color-on-primary-container:#001c37;--md-sys-color-secondary:var(--brand-secondary);--md-sys-color-on-secondary:#ffffff;--md-sys-color-secondary-container:#d6e3ff;--md-sys-color-on-secondary-container:#001c37;--md-sys-color-tertiary:var(--brand-green);--md-sys-color-on-tertiary:#ffffff;--md-sys-color-tertiary-container:#8ef9ad;--md-sys-color-on-tertiary-container:#00210a;--md-sys-color-error:#b12938;--md-sys-color-on-error:#ffffff;--md-sys-color-error-container:#ffdad8;--md-sys-color-on-error-container:#410004;--md-sys-color-background:#f7f9ff;--md-sys-color-on-background:#181c22;--md-sys-color-surface:#f7f9ff;--md-sys-color-on-surface:#181c22;--md-sys-color-surface-variant:#eaeef7;--md-sys-color-on-surface-variant:#3e4758;--md-sys-color-surface-container-lowest:#ffffff;--md-sys-color-surface-container-low:#f0f4fd;--md-sys-color-surface-container:#eaeef7;--md-sys-color-surface-container-high:#e4e8f2;--md-sys-color-surface-container-highest:#dfe2ec;--md-sys-color-surface-dim:#d6dae3;--md-sys-color-surface-bright:#f7f9ff;--md-sys-color-outline:#6f7789;--md-sys-color-outline-variant:#d5dce8;--md-sys-color-inverse-surface:#2d3038;--md-sys-color-inverse-on-surface:#edf1fa;--md-sys-color-inverse-primary:#e5c277;--md-sys-color-scrim:#000000;--md-sys-color-shadow:#000000;--hero-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;--hero-font-display:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;--hero-text:#ffffff;--hero-text-muted:#ffffff;--hero-eyebrow:#ffffff;--hero-text-shadow:0 1px 3px rgba(0,0,0,0.85),0 2px 14px rgba(0,0,0,0.65),0 0 2px rgba(0,0,0,0.9);--hero-text-shadow-soft:0 1px 3px rgba(0,0,0,0.8),0 2px 12px rgba(0,0,0,0.55);--hero-scrim-top:rgba(11,16,25,0.04);--hero-scrim-mid:rgba(11,16,25,0.28);--hero-scrim-bottom:rgba(11,16,25,0.48);--hero-scrim-tint:rgba(11,16,25,0.10);--cta-bg:var(--brand-navy);--cta-fg:var(--md-sys-color-on-primary);--cta-bg-hover:var(--brand-navy-hover);--cta-outline:var(--brand-navy);--md-sys-shape-corner-none:0;--md-sys-shape-corner-extra-small:4px;--md-sys-shape-corner-small:8px;--md-sys-shape-corner-medium:12px;--md-sys-shape-corner-large:16px;--md-sys-shape-corner-extra-large:28px;--md-sys-shape-corner-full:9999px;--md-sys-elevation-1:0 1px 2px 0 rgba(0,0,0,.30),0 1px 3px 1px rgba(0,0,0,.15);--md-sys-elevation-2:0 1px 2px 0 rgba(0,0,0,.30),0 2px 6px 2px rgba(0,0,0,.15);--md-sys-elevation-3:0 1px 3px 0 rgba(0,0,0,.30),0 4px 8px 3px rgba(0,0,0,.15);--md-sys-elevation-4:0 2px 3px 0 rgba(0,0,0,.30),0 6px 10px 4px rgba(0,0,0,.15);--md-sys-elevation-5:0 4px 4px 0 rgba(0,0,0,.30),0 8px 12px 6px rgba(0,0,0,.15);--md-sys-motion-easing-standard:cubic-bezier(.2,0,0,1);--md-sys-motion-easing-emphasized:cubic-bezier(.2,0,0,1);--md-sys-motion-duration-short:150ms;--md-sys-motion-duration-medium:300ms;--md-sys-motion-duration-long:500ms;--md-sys-state-hover:.08;--md-sys-state-focus:.10;--md-sys-state-pressed:.10;--md-ref-typeface-plain:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html{overflow-x:hidden}body{font-family:var(--font,var(--md-ref-typeface-plain));background:var(--md-sys-color-background);color:var(--md-sys-color-on-background);font-size:1rem;line-height:1.5rem;letter-spacing:.031rem;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit}fieldset{border:0;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;z-index:9999;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);padding:12px 16px;border-radius:var(--md-sys-shape-corner-small);box-shadow:var(--md-sys-elevation-3)}.hero:focus-visible,footer:focus-visible,.stats:focus-visible,.contact-info:focus-visible{outline-color:var(--md-sys-color-inverse-on-surface)}.md-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 24px;border:0;border-radius:var(--md-sys-shape-corner-full);font-size:.875rem;line-height:1.25rem;font-weight:500;letter-spacing:.006rem;text-decoration:none;cursor:pointer;overflow:hidden;transition:box-shadow var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard)}.md-button::before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard)}.md-button:hover::before{opacity:var(--md-sys-state-hover)}.md-button:focus-visible::before{opacity:var(--md-sys-state-focus)}.md-button:active::before{opacity:var(--md-sys-state-pressed)}.md-button>*{position:relative}.md-button--filled{background:var(--cta-bg);color:var(--cta-fg)}.md-button--filled:hover{background:var(--cta-bg-hover);color:var(--cta-fg);box-shadow:var(--md-sys-elevation-1)}.md-button--filled:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}.md-button--text{background:transparent;color:var(--md-sys-color-primary);padding:0 12px}.md-fab-extended{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 20px;border:0;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:var(--md-sys-elevation-3);font-size:.875rem;font-weight:500;letter-spacing:.006rem;text-decoration:none;cursor:pointer;overflow:hidden}.md-fab-extended::before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short)}.md-fab-extended:hover::before{opacity:var(--md-sys-state-hover)}.md-fab-extended:active::before{opacity:var(--md-sys-state-pressed)}.md-fab-extended>*{position:relative}.md-fab-extended--secondary{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md-icon-button{position:relative;display:none;place-items:center;width:48px;height:48px;flex-shrink:0;border:0;border-radius:var(--md-sys-shape-corner-full);background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;overflow:hidden}.md-icon-button::before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short)}.md-icon-button:hover::before{opacity:var(--md-sys-state-hover)}.md-icon-button:active::before{opacity:var(--md-sys-state-pressed)}.md-icon-button svg{position:relative}.hero{position:relative;padding-inline:clamp(4px,0.8vw,10px);padding-top:4px;padding-bottom:0;box-sizing:border-box;width:100%;background:var(--md-sys-color-background);display:grid;grid-template-rows:1fr auto;align-items:stretch;justify-items:stretch}.hero-media{grid-row:1/-1;grid-column:1;position:relative;z-index:0;width:100%;min-height:380px;max-height:min(82vh,760px);aspect-ratio:1600/820;overflow:hidden;border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-scrim)}.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;image-rendering:auto;filter:saturate(1.08) contrast(1.04) brightness(1.08)}.hero-inner{grid-row:2;grid-column:1;position:relative;z-index:2;box-sizing:border-box;width:100%;max-width:none;min-height:0;margin:0 auto;padding:clamp(12px,2.5vh,22px) clamp(10px,1.5vw,20px) clamp(16px,2.5vh,28px);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;font-family:var(--hero-font);-webkit-font-smoothing:antialiased}.hero-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0}.trust-row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px;margin-top:40px;color:rgba(255,255,255,.93);font-size:.875rem;list-style:none}.trust-row li{display:inline-flex;align-items:center;gap:8px}.trust-row li::before{content:"";width:18px;height:18px;flex-shrink:0;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-tertiary-container);-webkit-mask:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Cpath\ d=\'M9\ 16.17\ 4.83\ 12l-1.42\ 1.41L9\ 19\ 21\ 7l-1.41-1.41z\'/%3E%3C/svg%3E)center/14px no-repeat,linear-gradient(#000,#000);-webkit-mask-composite:destination-out;mask:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Cpath\ d=\'M9\ 16.17\ 4.83\ 12l-1.42\ 1.41L9\ 19\ 21\ 7l-1.41-1.41z\'/%3E%3C/svg%3E)center/14px no-repeat,linear-gradient(#000,#000);mask-composite:exclude}.stats{background:var(--md-sys-color-secondary-container);padding:56px 0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:0}.stat{text-align:center}.stat dt{color:var(--md-sys-color-on-secondary-container);font-size:.75rem;font-weight:500;letter-spacing:.094rem;text-transform:uppercase;opacity:.8;margin-bottom:6px}.stat dd{margin:0;color:var(--md-sys-color-on-secondary-container);font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:400;line-height:1.1;letter-spacing:-.016rem}.section-head h2{color:var(--md-sys-color-on-surface);margin-bottom:12px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-large);box-shadow:var(--md-sys-elevation-1);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden;transition:box-shadow 0.2s ease,border-color 0.2s ease,transform 0.2s ease}.card::before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;pointer-events:none;transition:opacity var(--md-sys-motion-duration-short)}.card:hover{box-shadow:var(--md-sys-elevation-2);border-color:color-mix(in srgb,var(--brand-navy,#1f3f6a) 28%,var(--md-sys-color-outline-variant));transform:translateY(-2px)}.service-card:hover{border-color:color-mix(in srgb,var(--brand-navy,#1f3f6a) 35%,transparent)}.card:hover::before{opacity:var(--md-sys-state-hover)}.card:focus-within{box-shadow:var(--md-sys-elevation-2)}.card-link::after{content:"";position:absolute;inset:0;z-index:1}.service-head{position:relative;display:flex;align-items:center;gap:12px;padding:16px 16px 0}.service-icon,.usp-icon{width:48px;height:48px;flex-shrink:0;border-radius:var(--md-sys-shape-corner-full);display:grid;place-items:center;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.service-icon svg,.usp-icon svg{width:24px;height:24px;display:block}.service-body{position:relative;padding:14px 16px 18px;display:flex;flex-direction:column;flex:1;gap:12px}.features li{display:flex;align-items:flex-start;gap:12px;font-size:.75rem;line-height:1.05rem;letter-spacing:.025rem;color:var(--md-sys-color-on-surface-variant)}.features li::before{content:"";flex-shrink:0;width:6px;height:6px;margin-top:7px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary)}.card-cta{position:relative;z-index:2;margin-top:auto;padding-top:20px;display:inline-flex;align-items:center;gap:6px;color:var(--brand-navy,#1f3f6a);font-size:.875rem;font-weight:600;letter-spacing:.006rem;text-decoration:none;transition:color 0.15s ease,transform 0.15s ease}.card-cta::after{content:"→";transition:transform 0.15s ease}.service-card:hover .card-cta,.service-card:focus-within .card-cta{color:#162f52}.service-card:hover .card-cta::after,.service-card:focus-within .card-cta::after{transform:translateX(4px)}.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.usp-card h3{color:var(--md-sys-color-on-surface);font-size:1.375rem;line-height:1.75rem;font-weight:400;margin-bottom:8px}.usp-card p{color:var(--md-sys-color-on-surface-variant);font-size:.875rem;line-height:1.25rem}.contact-layout{display:grid;grid-template-columns:.85fr 1.45fr;gap:16px;align-items:start;max-width:1400px;margin-inline:auto}.contact-info{position:sticky;top:72px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:var(--md-sys-shape-corner-large);padding:16px 18px}.contact-info h3{font-size:1.5rem;line-height:2rem;font-weight:400;color:var(--md-sys-color-inverse-primary);margin-bottom:8px}.contact-info>p{margin-bottom:28px;font-size:.875rem;line-height:1.25rem;opacity:.9}.info-item{margin-bottom:12px}.info-item strong{display:block;font-size:.6875rem;font-weight:500;letter-spacing:.094rem;text-transform:uppercase;opacity:.75;margin-bottom:4px}.info-item p{font-size:.875rem;line-height:1.25rem}.info-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.contact-note{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:.75rem;line-height:1rem;opacity:.85}.form-card{background:var(--md-sys-color-surface-container-lowest);border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 82%,transparent);border-radius:20px;padding:24px 26px 26px;box-shadow:0 10px 30px rgba(31,63,106,.08),0 2px 8px rgba(31,63,106,.04)}.form-section-title{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:14px;color:var(--md-sys-color-primary);font-size:.75rem;font-weight:700;letter-spacing:.094rem;text-transform:uppercase}.form-section-title::before{content:"";width:24px;height:3px;border-radius:999px;background:currentColor}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}.form-group.full{grid-column:1/-1}.md-field{position:relative;--field-bg:var(--md-sys-color-surface-container-lowest)}.form-control{width:100%;height:50px;padding:15px 14px 5px;background:color-mix(in srgb,var(--md-sys-color-surface-container-lowest) 94%,var(--md-sys-color-surface-container-low));color:var(--md-sys-color-on-surface);border:1px solid color-mix(in srgb,var(--md-sys-color-outline) 78%,transparent);border-radius:10px;outline:none;font-size:1rem;letter-spacing:.02rem;box-shadow:0 1px 0 rgba(31,63,106,.02);transition:border-color var(--md-sys-motion-duration-short),box-shadow var(--md-sys-motion-duration-short),background-color var(--md-sys-motion-duration-short)}.form-control:hover{border-color:color-mix(in srgb,var(--brand-navy) 58%,var(--md-sys-color-outline));background:var(--md-sys-color-surface-container-lowest)}.form-label{position:absolute;left:12px;top:15px;padding:0 5px;background:var(--field-bg);color:var(--md-sys-color-on-surface-variant);font-size:1rem;letter-spacing:.031rem;pointer-events:none;transform-origin:left top;transition:transform var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short);max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}select.form-control{cursor:pointer;appearance:none;background-image:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'\ fill=\'%23484d56\'%3E%3Cpath\ d=\'M7\ 10l5\ 5\ 5-5z\'/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right 14px center;background-size:24px;padding-right:46px}.field-error{display:block;margin:2px 8px 0;color:var(--md-sys-color-error);font-size:.75rem;line-height:1rem;letter-spacing:.025rem}.required{color:var(--md-sys-color-error)}.group-label{display:block;margin-bottom:12px;color:var(--md-sys-color-on-surface-variant);font-size:.75rem;font-weight:500;letter-spacing:.031rem}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid color-mix(in srgb,var(--md-sys-color-outline) 72%,transparent);border-radius:10px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);font-size:.875rem;font-weight:500;letter-spacing:.006rem;cursor:pointer;overflow:hidden;transition:background-color var(--md-sys-motion-duration-short),border-color var(--md-sys-motion-duration-short)}.check::before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short)}.check:hover::before{opacity:var(--md-sys-state-hover)}.check>span{position:relative}.check input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;margin:0;cursor:pointer}.check:has(input:focus-visible){outline:3px solid var(--md-sys-color-primary);outline-offset:2px}.check::after{content:"";position:relative;width:0;height:18px;background:currentColor;transition:width var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);-webkit-mask:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Cpath\ d=\'M9\ 16.17\ 4.83\ 12l-1.42\ 1.41L9\ 19\ 21\ 7l-1.41-1.41z\'/%3E%3C/svg%3E)left center/18px no-repeat;mask:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Cpath\ d=\'M9\ 16.17\ 4.83\ 12l-1.42\ 1.41L9\ 19\ 21\ 7l-1.41-1.41z\'/%3E%3C/svg%3E)left center/18px no-repeat;order:-1}.check:has(input:checked)::after{width:18px}.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 16px;text-align:center;border:2px dashed color-mix(in srgb,var(--md-sys-color-outline) 70%,transparent);border-radius:14px;background:color-mix(in srgb,var(--md-sys-color-surface-container-low) 72%,transparent);cursor:pointer;transition:background-color var(--md-sys-motion-duration-short),border-color var(--md-sys-motion-duration-short)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container)}.upload-zone:focus-within{border-color:var(--md-sys-color-primary);outline:3px solid var(--md-sys-color-primary);outline-offset:2px}.upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-icon{color:var(--md-sys-color-primary);line-height:1}.upload-title{color:var(--md-sys-color-on-surface);font-size:.875rem;font-weight:500}.upload-hint{color:var(--md-sys-color-on-surface-variant);font-size:.75rem;line-height:1rem}.upload-list{list-style:none;margin-top:12px;display:grid;gap:8px}.upload-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 8px 16px;background:var(--md-sys-color-surface-container-highest);border-radius:var(--md-sys-shape-corner-small);font-size:.75rem;color:var(--md-sys-color-on-surface-variant)}.upload-list .file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-list .file-oversize{color:var(--md-sys-color-error);font-weight:500}.upload-remove{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:var(--md-sys-shape-corner-full);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:1.1rem;cursor:pointer}.upload-remove:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-error)}.consent{display:flex;align-items:flex-start;gap:12px;margin:6px 0 12px;padding:14px 15px;background:var(--md-sys-color-surface-container-low);border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 76%,transparent);border-radius:10px;font-size:.8125rem;line-height:1.25rem}.consent input{flex-shrink:0;width:18px;height:18px;margin-top:1px;accent-color:var(--md-sys-color-primary);cursor:pointer}.consent a{color:var(--md-sys-color-primary);font-weight:500}.consent.is-invalid{outline:1px solid var(--md-sys-color-error);background:var(--md-sys-color-error-container)}.form-actions{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}.form-actions .md-button{min-height:46px;padding-inline:20px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}footer{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);padding:32px 0 20px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.footer-logo{width:384px;max-width:100%;height:auto;object-fit:contain}.footer-links{display:flex;gap:8px;list-style:none;flex-wrap:wrap}.footer-links a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:var(--md-sys-shape-corner-full);text-decoration:none;color:var(--md-sys-color-on-surface);font-size:.875rem;font-weight:500}.footer-links a:hover{background:var(--md-sys-color-surface-container-high)}.footer-bottom{text-align:left;padding-top:20px;font-size:.75rem;line-height:1rem}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1500;display:none;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--md-sys-color-surface-container);box-shadow:var(--md-sys-elevation-2);transition:transform var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-emphasized)}.mobile-cta .md-fab-extended{flex:1;padding-left:12px;padding-right:12px;font-size:.92rem;white-space:nowrap}.mobile-cta.has-phone .mobile-cta-call{display:inline-flex}.mobile-cta.is-hidden{transform:translateY(130%)}.modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.32)}.modal.open{display:flex}.toast{position:fixed;left:16px;bottom:16px;z-index:3000;display:none;max-width:480px;padding:14px 16px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:var(--md-sys-shape-corner-extra-small);box-shadow:var(--md-sys-elevation-3);font-size:.875rem;line-height:1.25rem;letter-spacing:.016rem}.toast.show{display:block}.legal h1{font-size:clamp(2rem,4vw,2.25rem);color:var(--md-sys-color-on-surface);margin-bottom:8px}.legal h2{color:var(--md-sys-color-on-surface);font-size:1.375rem;line-height:1.75rem;font-weight:400;margin:36px 0 12px}.legal h3{color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:500;margin:20px 0 8px}.legal p,.legal li{color:var(--md-sys-color-on-surface-variant);font-size:.9375rem;line-height:1.6}.legal p{margin-bottom:12px}.legal ul,.legal ol{margin:8px 0 12px 24px}.legal li{margin-bottom:6px}.legal a{color:var(--md-sys-color-primary);font-weight:500}.legal address{font-style:normal}.legal code{font-family:ui-monospace,"SF Mono",Menlo,monospace;background:var(--md-sys-color-surface-container-high);padding:2px 6px;border-radius:var(--md-sys-shape-corner-extra-small);font-size:.875em}.placeholder{color:var(--md-sys-color-primary);font-weight:500}@media (max-width:1120px){.usp-grid{grid-template-columns:1fr}body{padding-bottom:88px}.toast{bottom:96px;right:16px;max-width:none}}@media (max-width:720px){.hero-buttons{flex-direction:column;align-items:stretch;gap:8px}.stats{padding:28px 0}.stats-grid{grid-template-columns:1fr;gap:14px}.service-icon,.usp-icon{width:44px;height:44px}.form-section{padding:8px 0}.form-group.full{grid-column:auto}input,select,textarea{font-size:16px}.footer-main{flex-direction:column;align-items:flex-start;gap:16px}}@media (max-width:720px){.hero{display:grid;grid-template-rows:60% 40%;justify-content:stretch;align-items:stretch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:#fff;color:#253340}[hidden]{display:none!important}.hero-media{grid-area:1/1;min-height:560px;height:100%;max-height:none;aspect-ratio:auto;border-radius:0}.hero::before{grid-area:1/1;border-radius:0;background:linear-gradient(180deg,rgba(13,28,39,.02) 10%,rgba(13,28,39,.18) 35%,rgba(13,28,39,.84) 67%,rgba(13,28,39,.96) 100%)}.section-head p{line-height:1.65;color:#5b6670}.service-card:hover,.service-card:focus-within{transform:translateY(-3px);border-color:#1f3f6a;box-shadow:0 12px 24px #152e4119}.usp-card{border-radius:14px;padding:24px;background:#fff;border:1px solid #e0e5e7}.contact-layout{gap:28px;grid-template-columns:minmax(0,.78fr) minmax(0,1.6fr);align-items:start}.contact-info h3{font-size:1.4rem;line-height:1.4;font-weight:600;color:#e4c987}.contact-info p{line-height:1.65}.info-item{margin-top:22px}.md-field{display:flex;flex-direction:column-reverse;gap:7px}.md-field .form-label{position:static;padding:0;transform:none!important;font-size:.8rem;line-height:1.4;font-weight:500;white-space:normal;background:none;color:#3d4b56}footer{border-top:1px solid #dfe5e7}@media (max-width:960px){.contact-layout{grid-template-columns:1fr}}.hero{min-height:560px;padding:44px var(--page-gutter);align-items:center}.hero-inner{align-self:center;justify-content:center;align-items:center;text-align:center;width:min(900px,100%);margin:auto;padding:32px 40px;background:rgba(255,255,255,.91);border:1px solid rgba(255,255,255,.85);border-radius:20px;box-shadow:0 12px 40px rgba(25,46,58,.12)}.footer-links a{text-underline-offset:4px}.legal-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #dfe5e7;border-radius:20px;background:#fff;color:#263a48;box-shadow:0 24px 100px #0b223f40}.legal-dialog::backdrop{background:rgba(15,30,42,.5)}.legal-dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;background:#fff;border-bottom:1px solid #e3e8eb;z-index:1}.legal-dialog-head h2{font-size:1.45rem;font-weight:600;margin:0}.legal-close{width:44px;height:44px;flex-shrink:0;border:1px solid #dce3e6;border-radius:50%;background:#f5f7f8;color:#263a48;cursor:pointer;font-size:1.6rem}.legal-dialog-body{padding:24px 28px 30px;font-size:.95rem;line-height:1.7}.legal-dialog-body h3{margin:22px 0 8px;font-size:1.05rem;font-weight:600}.legal-dialog-body p{margin-bottom:14px}.legal-dialog-body a{color:#234f70;text-decoration:underline}.legal-status{padding:14px 16px;background:#fbf5e7;border-left:3px solid #b38d39;border-radius:6px}@media (max-width:720px){.hero-inner{padding:24px 20px;border-radius:16px}.legal-dialog-head{padding:16px 20px}.legal-dialog-body{padding:20px}}.hero .trust-row li::before{color:#fff}section:not(.hero):not(.stats){padding-block:var(--section-space);padding-inline:0}.contact-layout{max-width:none;margin-inline:0;gap:28px}@media (max-width:960px){.contact-info{position:static}}#start.hero{margin-top:0;padding-top:0;border-radius:20px;overflow:hidden}.hero .md-button--filled:hover{background:#e4cf9f}.hero h1{color:#fff;-webkit-text-stroke:1.5px #172a38;paint-order:stroke fill;text-shadow:0 1px 1px rgba(10,23,32,.8)}.hero .hero-sub,.hero .trust-row,.hero .trust-row li{color:#fff;-webkit-text-stroke:0;text-shadow:1px 0#172a38,-1px 0#172a38,0 1px #172a38,0-1px #172a38}.hero .md-button--filled:hover{background:#142e41}.contact-info{top:calc(var(--header-height,96px) + 16px);max-height:none;overflow:visible}.form-control.is-invalid{border-color:var(--md-sys-color-error)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-error) 18%,transparent)}@media (hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.service-card,.service-card:hover{transition:none;transform:none;will-change:auto}}.mobile-cta{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:1200}@media (max-width:720px){.mobile-cta .md-fab-extended{min-height:48px;font-size:0.9375rem}}.legal-dialog{max-height:min(90vh,900px);width:min(640px,calc(100vw - 24px))}.legal-dialog-body{overflow:auto;max-height:calc(90vh - 72px)}@media (max-width:1120px){.toast{bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:1300}}.skip-link:focus{z-index:10000}@media print{.mobile-cta,.toast,.skip-link{display:none!important}.hero-media{max-height:240px}a[href]::after{content:none}}.service-card:hover,.service-card:focus-within{transform:none!important;box-shadow:none;border-color:#1f3f6a;background:#fff}.service-card::before{display:none!important}.service-card .features{display:grid;gap:8px;margin:0;padding:0;border:0;list-style:none}.service-card .features li{display:block;padding:0 0 0 28px;margin:0;background:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'\ fill=\'none\'\ stroke=\'%233E8427\'\ stroke-width=\'2.6\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'%3E%3Cpath\ d=\'m5\ 12.5\ 4.5\ 4.5L19\ 7.5\'/%3E%3C/svg%3E)no-repeat left 1px top .2em/18px;color:#181c22;font-size:.9375rem;line-height:1.5}.service-card .features li::before{display:none!important;content:none!important}.service-card .card-cta{position:relative;z-index:2;display:inline-flex;align-items:center;align-self:flex-start;gap:8px;min-height:44px;margin-top:auto;padding:0 16px 0 12px;border:1px solid #6f7789;border-radius:8px;background:#fff;color:#1f3f6a;font-size:1rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}.service-card .card-cta:hover{border-color:#1f3f6a;background:#f0f4fd;color:#1f3f6a}.service-card .service-head{padding:0!important;margin:0}.service-card .service-body{padding:0!important;margin:0;gap:14px}
:root{--brand-navy:#203c50;--brand-navy-hover:#152d3e;--brand-secondary:#53616d;--brand-gold:#b69a59;--brand-gold-hover:#9c8041;--brand-green:#3e7552;--md-sys-color-background:#ffffff;--md-sys-color-surface:#ffffff;--md-sys-color-on-background:#213544;--md-sys-color-on-surface:#213544;--md-sys-color-on-surface-variant:#52616c;--md-sys-color-outline:#82909b;--md-sys-color-outline-variant:#dce3e7;--md-sys-color-surface-container-low:#f5f7f7;--md-sys-color-surface-container:#edf2f4;--md-sys-color-surface-container-high:#e8eef1;--md-sys-color-surface-container-highest:#edf1f2;--md-sys-color-secondary-container:#eaf0f4;--md-sys-color-on-secondary-container:#203c50;--md-sys-color-primary-container:#eaf0f4;--content-max:1320px;--page-gutter:clamp(14px,2vw,28px);--section-space:clamp(48px,6vw,80px)}body{letter-spacing:0;line-height:1.6;background:#fff}.container{width:min(var(--content-max),calc(100% - 2*var(--page-gutter)));max-width:var(--content-max);margin-inline:auto}.md-button{border-radius:12px;font-weight:600;letter-spacing:0;min-height:46px;padding-inline:22px}#start.hero{width:min(1360px,calc(100% - 2*var(--page-gutter)));margin:0 auto;display:grid;grid-template:1fr/1fr;min-height:570px;padding:0;border-radius:20px;background:#203c50;isolation:isolate}#start .hero-media{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;border-radius:inherit}#start.hero::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:radial-gradient(ellipse at center,rgba(17,37,49,.43) 0%,rgba(17,37,49,.29) 55%,rgba(17,37,49,.12) 100%);pointer-events:none}#start .hero-inner{grid-area:1/1;width:min(900px,calc(100% - 64px));align-self:center;padding:64px 0;gap:0;text-align:center;background:none;border:0;box-shadow:none}#start h1{font-size:clamp(2rem,3.7vw,3.25rem);font-weight:700;line-height:1.13;letter-spacing:-.035em;max-width:25ch;margin:0 auto 22px;color:#fff;-webkit-text-stroke:0;text-shadow:0 2px 12px #102b3b99;text-wrap:balance}#start .md-button{min-height:52px;font-size:.94rem;padding-inline:24px;text-shadow:none}#start .md-button--filled{background:#ead7ab;color:#1b3446;border:1px solid #ead7ab}#start .md-button--filled:hover{background:#f3e5c7}#start .trust-row{justify-content:center;gap:12px 24px;margin-top:28px;color:#f3f6f8;font-size:.82rem;font-weight:400}#start .trust-row li{color:inherit;font-weight:400;text-shadow:none;-webkit-text-stroke:0}#start .trust-row li::before{background:#ead7ab;filter:none}.section-head{max-width:760px;margin:0 auto 34px}.section-head h2{font-size:clamp(1.7rem,2.6vw,2.25rem);line-height:1.22;letter-spacing:-.025em;font-weight:650;margin-bottom:14px;text-wrap:balance}.section-head p{font-size:1rem;line-height:1.7;max-width:65ch;margin-inline:auto}.services{gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.card.service-card{padding:20px!important;gap:14px;background:#fff;border:1px solid #dce3e7;border-radius:16px;box-shadow:0 4px 18px #203c5006;will-change:auto}.card.service-card:hover,.card.service-card:focus-within{border-color:#8c9ea9;box-shadow:0 8px 26px #203c5010}.service-card .service-head h3{font-size:1.1rem;line-height:1.4;letter-spacing:-.015em;color:#203c50;font-weight:650;overflow-wrap:anywhere}.service-card .service-body>p{font-size:.91rem;line-height:1.7;letter-spacing:0;color:#52616c}.service-card .card-cta:hover{background:#eaf0f4;border-color:#203c50}#vorteile,#partner{background:#f5f7f7;border-block:1px solid #e7ecee}.usp-grid{gap:22px}.usp-card{padding:30px 26px;border-radius:16px;border-color:#e0e6e9;background:#fff;text-align:left}.usp-icon{margin:0 0 20px;border-radius:12px;background:#eaf0f4;color:#203c50}.usp-card h3{font-size:1.15rem;line-height:1.4;font-weight:650;margin-bottom:10px}.usp-card p{font-size:.94rem;line-height:1.7}.form-card,.contact-info{padding:30px;border-radius:16px}.contact-info{background:#203c50;color:#eef3f5;box-shadow:none}.contact-info h3{color:#ead7ab;font-size:1.32rem}footer{background:#edf1f2;border-color:#dce3e7;padding:40px 0 28px}.footer-logo{width:300px}.footer-links a{border-radius:10px;color:#354c5b}.footer-bottom{color:#52616c;line-height:1.6}:focus-visible{outline:3px solid #9c8041;outline-offset:4px}@media (max-width:1120px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){:root{--page-gutter:14px;--section-space:48px}#start .hero-buttons{width:100%;max-width:360px;gap:10px}#start .md-button{font-size:.9rem;padding-inline:12px;min-height:50px}#start .trust-row{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px;font-size:.78rem}.section-head{margin-bottom:28px}.section-head p{font-size:.95rem}.services{grid-template-columns:1fr;gap:16px}.usp-grid{gap:16px}.contact-layout{gap:20px}.footer-logo{width:270px}.footer-main{gap:24px}.footer-links{gap:4px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}#leistungen .section-head,#kontakt .section-head,#partner .section-head{text-align:left;max-width:none;margin-inline:0}#leistungen .section-head h2,#kontakt .section-head h2,#partner .section-head h2{text-align:left;text-wrap:wrap}#leistungen .section-head p,#kontakt .section-head p,#partner .section-head p{margin-inline:0;text-align:left}#start .hero-sub,#start .trust-row li{text-shadow:0 1px 5px rgba(12,31,43,.8)}#vorteile .section-head{max-width:none;margin-inline:0;text-align:left}#vorteile .section-head h2{text-align:left;text-wrap:wrap}#vorteile .section-head p{margin-inline:0;text-align:left}#start.hero{margin-top:0;padding-top:0;border-top-left-radius:20px;border-top-right-radius:20px;min-height:550px}#start .hero-media img{object-position:center 45%;filter:brightness(1.16) saturate(1.26) contrast(1.035)}@media (max-width:720px){#start.hero{min-height:0}#start .hero-media img{object-position:50% 42%}}#start .hero-inner{width:calc(100% - 2*clamp(20px,4vw,56px));max-width:none}#start h1{width:100%;max-width:none;margin-inline:0;text-wrap:balance}#start .hero-inner{align-self:center;align-items:center;justify-content:center;padding-block:72px 48px;text-align:center}#start h1{font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:clamp(2rem,3.65vw,3.2rem);line-height:1.17;letter-spacing:-.025em;margin-bottom:24px}#start .hero-sub{font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:clamp(1.0625rem,1.4vw,1.1875rem);font-weight:500;line-height:1.65;letter-spacing:.005em;max-width:68ch;margin:0 auto 30px;color:#f5f7fa;text-wrap:pretty;-webkit-text-stroke:0;text-shadow:0 1px 3px rgba(12,31,43,.65),0 3px 12px rgba(12,31,43,.35)}#start .hero-buttons{align-items:center;justify-content:center;gap:14px}#start .trust-row{margin-top:24px;gap:12px 28px;font-size:.84rem;line-height:1.5}@media (max-width:720px){#start h1{font-size:clamp(1.85rem,6.8vw,2.4rem);line-height:1.2;letter-spacing:-.02em;margin-bottom:20px}#start .hero-sub{font-size:1rem;line-height:1.6;max-width:38ch;margin-bottom:24px}#start .hero-buttons{align-items:stretch;gap:10px}#start .trust-row{margin-top:20px;gap:8px;font-size:.8rem}}
.form-control::placeholder{color:transparent}.form-control:focus::placeholder{color:#687984}@media (max-width:1120px){.mobile-cta .md-fab-extended{min-width:0;text-align:center}.upload-remove{width:44px;height:44px}}@media (max-width:720px){.form-card,.contact-info,.form-grid,.checkbox-grid,.check{min-width:0}.check>span,.consent>span,.contact-info a,.legal-dialog-body a{overflow-wrap:anywhere}.check::after{flex-shrink:0}.legal-dialog{max-height:calc(100dvh - 24px)}.legal-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.legal-dialog-head{flex-shrink:0;gap:12px}.legal-dialog-head h2{min-width:0;overflow-wrap:anywhere}.legal-dialog-body{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}}

/* One authoritative responsive header. */
:root{--header-height:96px;--header-content-gap:0px;--anchor-gap:12px}
html{scroll-padding-top:calc(var(--header-height) + var(--anchor-gap))}

#topAppBar{position:sticky;top:0;z-index:2500;background:#fff;border-bottom:1px solid #e5eaed;margin:0;overflow:visible}
#topAppBar .nav{position:relative;display:flex;align-items:center;gap:20px;width:min(1360px,calc(100% - 48px));margin:0 auto;min-height:96px;padding:6px 0}

#topAppBar .main-nav ul{display:flex;align-items:center;gap:24px;list-style:none;padding:0;margin:0}
#topAppBar .main-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;white-space:nowrap;font-weight:600;font-size:1rem;color:#445968}
#topAppBar .main-nav a:hover{color:var(--cta-bg)}
#topAppBar .nav-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
#topAppBar .nav-cta{min-height:46px;white-space:nowrap;border-radius:999px}
#langSwitch{position:relative;flex:0 0 auto}
#langTrigger{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 13px;border:1px solid #cbd5dc;border-radius:999px;background:#fff;color:#203c50;font-size:.875rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#langTrigger .lang-flag{width:22px;height:15px;display:block;border-radius:2px;flex-shrink:0}
#langTrigger .lang-caret{width:16px;height:16px;transition:transform .15s}
#langTrigger[aria-expanded=true] .lang-caret{transform:rotate(180deg)}
#langMenu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;max-width:calc(100vw - 24px);padding:6px;margin:0;list-style:none;border:1px solid #dce3e7;border-radius:14px;background:#fff;box-shadow:0 10px 28px #203c5026;z-index:10}

#langMenu .lang-btn{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#203c50;white-space:nowrap;font-size:.9375rem;text-align:left;cursor:pointer;touch-action:manipulation}
#langMenu .lang-btn svg{width:24px;height:16px;flex:0 0 24px;border-radius:2px}
#langMenu .lang-btn:hover,#langMenu .lang-btn.active{background:#eef3f7}
#langMenu .lang-btn.active{font-weight:700}
#nativeMobileMenu{display:none}
#menuToggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #cbd5dc;border-radius:999px;background:#fff;color:#203c50;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#menuToggle[aria-expanded=true]{background:#eaf0f4}
#menuToggle[aria-expanded=true] svg{display:none}
#menuToggle[aria-expanded=true]::after{content:'×';font-size:28px;line-height:1}
#mobileMenuLinks{position:absolute;top:100%;right:0;width:min(340px,calc(100vw - 24px));max-height:calc(100vh - var(--header-height) - 12px);max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto;overscroll-behavior:contain;padding:8px;background:#fff;border:1px solid #dce3e7;border-radius:0 0 14px 14px;box-shadow:0 10px 28px #203c5026;z-index:9}
#mobileMenuLinks a{display:flex;align-items:center;min-height:48px;padding:10px 14px;border-radius:8px;line-height:1.4;text-decoration:none;color:#203c50}
#mobileMenuLinks a:hover{background:#eef3f7}
#mobileMenuLinks .mobile-menu-cta{justify-content:center;margin-top:6px;background:var(--cta-bg);color:var(--cta-fg);border-radius:999px;text-align:center}

#mobileMenuLinks .mobile-menu-cta:hover{background:var(--cta-bg-hover)}

#topAppBar :focus-visible{outline:3px solid #3e8427;outline-offset:3px}
body>main{margin-top:0;padding-top:var(--header-content-gap);display:flow-root}

@media(max-width:1280px){#topAppBar .nav{gap:14px}#topAppBar .main-nav ul{gap:16px}}
@media(max-width:1120px){
 #topAppBar .nav{min-height:76px;gap:10px;width:calc(100% - 32px);padding:4px 0}
 #topAppBar .main-nav,#topAppBar .nav-cta,#topAppBar .nav-call,#topAppBar .nav-booking{display:none}
 
 #nativeMobileMenu{display:block;flex:0 0 44px}
 #langTrigger .lang-current{display:none}
 #langTrigger{padding:0 9px;gap:4px}
}
@media(max-width:720px){
 #topAppBar .nav{min-height:68px;gap:8px}
 
 #start .hero-inner{width:100%;max-width:none;padding:28px 16px 30px}
 #start h1{font-size:clamp(1.65rem,6.5vw,2.4rem);line-height:1.15;overflow-wrap:normal;max-width:none;width:100%}
 #start .hero-sub{font-size:1rem;line-height:1.55}
}
@media(max-width:360px){#topAppBar .nav{width:calc(100% - 24px);gap:6px}#langTrigger .lang-caret{display:none}#langTrigger{padding:0;width:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{#topAppBar{display:none}}

/* Touch navigation must not inherit the desktop smooth-scroll animation. */
@media (hover:none),(pointer:coarse){html{scroll-behavior:auto}}
#langMenu{max-height:calc(100vh - var(--header-height) - 16px);max-height:calc(100dvh - var(--header-height) - 16px);overflow-y:auto;overscroll-behavior:contain}
@media (forced-colors:active){.mobile-cta .md-fab-extended,#menuToggle,#langTrigger{border:1px solid ButtonText}}
/* Seitenränder: etwas größer, überall einheitlich – Header, Inhalt und Footer fluchten auf derselben Linie. */
:root{--page-gutter:clamp(16px,2.2vw,28px)}
@media (max-width:720px){:root{--page-gutter:16px}}
#topAppBar .nav{width:min(var(--content-max),calc(100% - 2*var(--page-gutter)))}

/* Hero-Bild: über die gesamte Seitenbreite, rechteckig, bündig unter dem Header */
#start.hero{width:100%;max-width:none;margin-inline:0;border-radius:0!important}

#start .hero-inner{width:min(var(--content-max),calc(100% - 2*var(--page-gutter)))}
@media (max-width:720px){
 #start .hero-inner{padding-inline:0}
 #start .hero-buttons{max-width:none}
 
 .form-card,.contact-info{padding:16px}
 .usp-card{padding:20px 16px}
}

/* Header-Logo: Die Bilddatei hat transparente Ränder (links/rechts ca. 12 %, oben ca. 5 %, unten ca. 13 %).
   Das Logo wird auf die sichtbare Wortmarke zugeschnitten: exakt auf der Inhaltskante, exakt mittig, größer bei gleicher Headerhöhe. */
#topAppBar .nav{min-height:84px}
#topAppBar .brand{--art:227.245px;display:block;flex:0 1 var(--art);width:var(--art);max-width:100%;min-width:0;overflow:visible;line-height:0;margin-right:auto}
#topAppBar .brand img{display:block;width:100%;max-width:100%;height:auto;margin:0;object-fit:contain;object-position:center}
@media (max-width:1120px){#topAppBar .brand{--art:205.602px}#topAppBar .nav{min-height:72px}}
@media (max-width:720px){#topAppBar .brand{--art:194.781px}#topAppBar .nav{min-height:68px}}
/* Footer-Logo: gleicher Ausgleich des transparenten Rands (ca. 10 %) */
.footer-logo{margin-left:-31px}
@media (max-width:720px){.footer-logo{margin-left:-28px}}
.footer-links{margin-left:-12px}
/* Hero-Vorteile (Persönlicher Ansprechpartner …) mobil: gut lesbares Panel statt loser Zeilen über dem Foto */
@media (max-width:720px){
 #start .trust-row{display:grid;grid-template-columns:100%;gap:4px;width:100%;margin:20px 0 0;padding:0;list-style:none;
  background:transparent;border:none;border-radius:0;text-align:left}
 #start .trust-row li{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:42px;padding:4px 0;
  font-size:.95rem;font-weight:600;line-height:1.3;color:#fff;text-align:left;text-shadow:0 1px 3px rgba(0,0,0,.55),0 1px 12px rgba(0,0,0,.35)}
 #start .trust-row li::before{flex:none;width:22px;height:22px;border-radius:50%;filter:none;
  -webkit-mask:none;mask:none;
  background:#ead7ab url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231b3446' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/14px no-repeat}
}
@media (max-width:360px){#start .trust-row{padding-inline:14px}#start .trust-row li{font-size:.875rem;gap:10px}}
@media (max-width:340px){#start .trust-row li{font-size:.8rem}}

.booking-dialog .legal-dialog-body .legal-status{margin:24px}
.booking-dialog iframe{flex:1;width:100%;min-height:min(640px,70dvh);border:0;display:block}

/* Termin buchen: gleiche Farbe & Form wie „Angebot anfragen“ */
#topAppBar .nav-booking{
  min-height:46px;
  white-space:nowrap;
  border-radius:999px;
  background:var(--cta-bg) !important;
  color:var(--cta-fg) !important;
}
#topAppBar .nav-booking:hover{
  background:var(--cta-bg-hover) !important;
  color:var(--cta-fg) !important;
}
/* Mobile-Bottom-Bar: beide CTAs in Navy (wie Angebot anfragen) */
.mobile-cta .md-fab-extended:not(.mobile-cta-call),
.mobile-cta-booking,
#bookingCta{
  border-radius:999px;
  background:var(--cta-bg) !important;
  color:var(--cta-fg) !important;
  box-shadow:var(--md-sys-elevation-2);
}
.mobile-cta .md-fab-extended:not(.mobile-cta-call):hover,
.mobile-cta-booking:hover,
#bookingCta:hover{
  background:var(--cta-bg-hover) !important;
  color:var(--cta-fg) !important;
}
/* Mobile: Termin buchen immer anzeigen (auch ohne Telefon) */
.mobile-cta-booking,
#bookingCta{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:1 1 0;
  min-width:0;
}
.mobile-cta .md-fab-extended{
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Hamburger-Menü: Termin buchen = gleiche Filled-Farbe wie Angebot anfragen */
#mobileMenuLinks .mobile-menu-booking{
  background:var(--cta-bg) !important;
  color:var(--cta-fg) !important;
  border:0 !important;
  border-radius:999px;
  margin-top:10px;
}
#mobileMenuLinks .mobile-menu-booking:hover{
  background:var(--cta-bg-hover) !important;
  color:var(--cta-fg) !important;
}
@media (max-width:1120px){
  .mobile-cta{
    display:flex !important;
  }
}

/* Buchungsdialog: moderner Sofort-Start, leichte Animation und ruhige Ladeanzeige. */

.booking-dialog[open]{animation:booking-appear .2s cubic-bezier(.16,1,.3,1) both;}

.booking-dialog .calendly-widget-shell iframe{width:100%;height:100%;min-height:0;border:0;display:block;opacity:0;transition:opacity .22s ease;}
.booking-dialog .calendly-widget-shell.is-ready iframe{opacity:1;}
.booking-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:30px;text-align:center;background:linear-gradient(145deg,#f7f9fc,#fff);color:#1d3242;transition:opacity .2s ease,visibility .2s ease;}
.booking-loading strong{font-size:clamp(1rem,2.2vw,1.3rem);line-height:1.35;}
.booking-loading-sub{font-size:.92rem;color:#697a87;}
.booking-loading-spinner{width:42px;height:42px;border:3px solid #e1e9f0;border-top-color:#1f3f6a;border-radius:50%;animation:booking-spin .75s linear infinite;}
.booking-dialog .calendly-widget-shell.is-ready .booking-loading{opacity:0;visibility:hidden;pointer-events:none;}
@keyframes booking-spin{to{transform:rotate(360deg)}}
@keyframes booking-appear{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(prefers-reduced-motion:reduce){.booking-dialog[open],.booking-loading-spinner{animation:none!important}}

/* HOVGARD Buchung – Desktop: klarer Dialog; Mobil: fast bildschirmfüllend, ohne doppelte Scrollleisten. */
.booking-dialog--optimized{width:min(1020px,calc(100vw - 28px));height:min(870px,calc(100dvh - 22px));max-width:none;max-height:calc(100dvh - 22px);padding:0;border:1px solid #e4eaf0;border-radius:20px;overflow:hidden;box-shadow:0 26px 100px rgba(15,37,54,.32);overscroll-behavior:contain;}
.booking-dialog--optimized[open]{display:flex;flex-direction:column;}
.booking-dialog--optimized .booking-dialog-header{position:relative;top:auto;flex:0 0 auto;padding:15px 22px 13px;gap:16px;align-items:center;background:#fff;border-bottom:1px solid #e8edf1;}
.booking-title-group{min-width:0;flex:1;}
.booking-dialog--optimized .booking-kicker{display:block;margin-bottom:3px;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:#89702f;}
.booking-dialog--optimized .booking-dialog-header h2{font-size:clamp(1.05rem,2vw,1.36rem);line-height:1.3;font-weight:700;margin:0;color:#1d3242;letter-spacing:-.01em;}
.booking-header-note{margin:5px 0 0;color:#596e7b;font-size:.82rem;line-height:1.35;}
.booking-dialog--optimized .booking-close{position:static;flex:0 0 auto;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:12px;border:1px solid #dfe7ec;background:#f5f8fa;color:#263e51;font-size:1.65rem;line-height:1;}
.booking-dialog--optimized .booking-close:hover{background:#e9f0f5;}
.booking-dialog--optimized .booking-close:focus-visible{outline:3px solid #a9852f;outline-offset:2px;}
.booking-dialog--optimized .booking-dialog-content{flex:1 1 auto;display:flex;min-height:0;overflow:hidden;padding:0;}
.booking-dialog--optimized .calendly-widget-shell{flex:1;position:relative;display:block;width:100%;height:auto;min-height:0!important;overflow:hidden;background:#fff;}

.booking-dialog--optimized .booking-loading{gap:12px;padding:20px;}
.booking-dialog--optimized .booking-loading-sub{max-width:27rem;line-height:1.5;}
.booking-slow-tip{max-width:30rem;margin:5px auto 0;color:#495d6c;font-size:.83rem;line-height:1.5;}

.booking-dialog-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px 20px;padding:10px 20px;background:#f7f9fb;border-top:1px solid #e8edf1;}
.booking-dialog-footer .booking-privacy-foot{margin:0!important;padding:0!important;font-size:.72rem;line-height:1.5;color:#60727f;}
.booking-dialog-footer .booking-privacy-foot a{font-weight:600;color:#1f3f6a;text-underline-offset:2px;}
.booking-external-link{flex:0 0 auto;color:#1f3f6a;font-size:.79rem;line-height:1.35;font-weight:700;text-decoration:none;border-radius:8px;padding:8px 10px;white-space:nowrap;}
.booking-external-link:hover{background:#eaf0f7;text-decoration:underline;text-underline-offset:3px;}
.booking-external-link:focus-visible{outline:3px solid #a9852f;outline-offset:2px;}
@media(max-width:720px){
  .booking-dialog--optimized{width:100vw;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0;}
  .booking-dialog--optimized .booking-dialog-header{padding:11px 14px 10px;gap:8px;}
  .booking-dialog--optimized .booking-kicker{font-size:.63rem;}
  .booking-dialog--optimized .booking-dialog-header h2{font-size:clamp(.99rem,4.3vw,1.16rem);line-height:1.25;}
  .booking-header-note{font-size:.73rem;margin-top:3px;}
  .booking-dialog--optimized .booking-dialog-footer{padding:8px 12px;gap:5px;align-items:flex-start;flex-direction:column;}
  .booking-dialog-footer .booking-privacy-foot{font-size:.68rem;}
  .booking-external-link{padding:5px 0;min-height:32px;display:inline-flex;align-items:center;font-size:.75rem;}
}
@media(max-height:550px) and (min-width:721px){.booking-dialog--optimized{max-height:calc(100dvh - 8px);}.booking-dialog--optimized .booking-dialog-header{padding:8px 16px;}.booking-dialog-footer{padding:5px 16px;}}
@media(prefers-reduced-motion:reduce){.booking-dialog--optimized[open]{animation:none!important;}.booking-dialog--optimized .calendly-widget-shell iframe{transition:none!important;}}

/* HOVGARD: Formularstatus und Ladezustand */
.form-actions button.is-sending{opacity:.83;cursor:progress;pointer-events:none}
.form-actions button.is-sending::after{content:"";width:15px;height:15px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:hovgard-submit-spin .75s linear infinite}
@keyframes hovgard-submit-spin{to{transform:rotate(360deg)}}

.form-status[data-state="sending"]{background:#eef3f8;color:#18374c}
.form-status[data-state="success"]{background:#eff7ee;border:1px solid #bcd7b9;color:#244b28}
.form-status[data-state="error"]{background:#fff5f2;border:1px solid #e9c5bb;color:#832d1b}
@media(prefers-reduced-motion:reduce){.form-actions button.is-sending::after{animation:none}}
/* Compact form spacing while retaining readable labels and touch targets. */

.compact-form-card .form-section{margin-bottom:14px;padding-bottom:0}

.compact-form-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.compact-form-card .form-group{min-width:0}

.compact-form-card .upload-icon{display:none}
.compact-form-card .form-actions{margin-top:8px}
@media(max-width:480px){
 .compact-form-card .form-grid{gap:10px;grid-template-columns:1fr}

}
/* Consistent contrast over the photograph, without altering the image itself. */

#start.hero::before{background:radial-gradient(ellipse at 50% 52%,rgba(17,37,49,.40) 0%,rgba(17,37,49,.20) 56%,rgba(17,37,49,.035) 100%)}
/* Keep long names and labels inside their layout columns. */
.container,.card,.contact-info,.form-card,.service-head h3{min-width:0}
.service-head h3,.upload-list .file-name{overflow-wrap:anywhere}

.container{max-width:1440px}
.compact-form-card .check input{position:static;opacity:1;width:18px;height:18px;flex:0 0 18px;appearance:auto;accent-color:var(--brand-navy);margin:0}
.compact-form-card .check::after{display:none}
.compact-form-card .check::before{pointer-events:none}

.form-status{margin-top:12px;padding:12px 14px;border:1px solid #cbd8df;border-radius:8px;background:#f0f5f8;color:#203c50;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}
.booking-dialog .legal-dialog-body:has(.booking-contact){display:block;min-height:0;padding:24px}
.booking-dialog .legal-dialog-body:has(.booking-contact) .legal-status{margin:0 0 20px}

#mobileCta.is-hidden,#mobileCta.is-hidden *{visibility:hidden!important;pointer-events:none!important}
@media(min-width:360px) and (max-width:480px){
 .compact-form-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compact-form-card .form-group{grid-column:1/-1}
 .compact-form-card .form-group.mobile-half{grid-column:auto}
}
@media(max-width:380px){.mobile-cta .md-fab-extended{font-size:.82rem;padding-inline:8px}.mobile-cta{gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.mobile-cta,.toast,.upload-zone,.form-actions{display:none!important}body{padding-bottom:0}}
/* Service cards: balanced hierarchy, quieter surfaces and consistent actions. */
#leistungen .card.service-card{padding:24px!important;border:1px solid #dce5eb;border-radius:20px;background:#fff;box-shadow:0 4px 20px rgba(25,52,72,.045);gap:20px;transition:border-color .18s,box-shadow .18s}
#leistungen .card.service-card:hover,#leistungen .card.service-card:focus-within{border-color:#a2b6c4;box-shadow:0 10px 28px rgba(25,52,72,.09)}
#leistungen .service-card .service-head{align-items:flex-start;gap:14px;min-height:54px}
#leistungen .service-card .service-icon{width:48px;height:48px;border-radius:14px;background:#edf3f7;color:#24475f}
#leistungen .service-card .icon-green,#leistungen .service-card .icon-leaf{background:#edf5ef;color:#457153}
#leistungen .service-card .icon-pv{background:#f8f3e8;color:#8a733d}
#leistungen .service-card .service-head h3{font-size:1.15rem;font-weight:650;line-height:1.35;letter-spacing:-.02em;padding-top:3px}
#leistungen .service-card .card-link{text-decoration:none}
#leistungen .service-card .service-body{gap:18px}
#leistungen .service-card .service-body>p{font-size:.9375rem;line-height:1.65;color:#536574}
#leistungen .service-card .features{padding-top:16px;border-top:1px solid #edf1f4;gap:9px}
#leistungen .service-card .features li{font-size:.875rem;line-height:1.5;color:#354e60;padding-left:25px}
#leistungen .service-card .card-cta{width:100%;justify-content:space-between;min-height:46px;margin-top:auto;padding:0 16px!important;border:1px solid #dae4eb;background:#f4f7fa;border-radius:11px;color:#203c50;font-size:.9rem;font-weight:650}
#leistungen .service-card .card-cta::after{content:'→'!important;display:block!important;font-size:1.2rem;line-height:1}
#leistungen .service-card .card-cta:hover{background:#203c50;color:#fff;border-color:#203c50}
#leistungen .service-card.is-selected{border-color:#53768e;background:#f7fafc}
#leistungen .service-card.is-selected .card-cta{background:#203c50;color:#fff;border-color:#203c50}
/* Stable field geometry: native select text must not inherit oversized vertical padding. */
.compact-form-card{padding:26px;border:1px solid #dce5eb;border-radius:20px;box-shadow:0 6px 24px rgba(25,52,72,.045)}
.compact-form-card .form-intro{font-size:.9rem;color:#627482;line-height:1.6;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #e9eff3}
.compact-form-card .form-section-title{font-size:.78rem;line-height:1.5;letter-spacing:.045em;font-weight:700;color:#25465d;margin-bottom:12px}
.compact-form-card .form-section-title::before{width:18px;height:3px;background:#baa367}
.compact-form-card .form-section+.form-section{border-top:1px solid #e9eff3;padding-top:18px}

.compact-form-card .md-field .form-label{font-size:.8125rem;font-weight:550;line-height:1.4;letter-spacing:0;color:#354e60}
.compact-form-card .form-hint{font-size:.75rem;color:#73838f;font-weight:400}
.compact-form-card .form-control,.compact-form-card .form-control:focus,.compact-form-card .form-control.is-invalid{height:46px;min-height:46px;box-sizing:border-box;padding:10px 13px;line-height:24px;font-size:16px;border:1px solid #cbd8e1;border-radius:10px;background-color:#fbfcfd;color:#203c50;letter-spacing:0}
.compact-form-card .form-control:hover{border-color:#9fb3c2;background-color:#fff}
.compact-form-card .form-control:focus{border-color:#527991;background-color:#fff;box-shadow:0 0 0 3px rgba(58,102,133,.12);outline:none}
.compact-form-card select.form-control,.compact-form-card select.form-control:focus,.compact-form-card select.form-control.is-invalid{padding:0 42px 0 13px;line-height:normal;background-position:right 13px center;background-size:20px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.compact-form-card textarea.form-control,.compact-form-card textarea.form-control:focus,.compact-form-card textarea.form-control.is-invalid{height:90px;min-height:90px;padding:11px 13px;line-height:1.5;resize:vertical}
.compact-form-card .check{padding:9px 11px;gap:9px;border:1px solid #dce5eb;background:#fafcfd;border-radius:10px;font-size:.85rem;line-height:1.4;min-height:44px}
.compact-form-card .check:has(input:checked){border-color:#6e91a8;background:#edf4f8;color:#203c50}
.compact-form-card .check>span{flex:1}
.compact-form-card .upload-zone{border:1px dashed #afc3d1;border-radius:12px;background:#f7fafc;padding:14px;gap:5px}
.compact-form-card .upload-hint{font-size:.75rem;line-height:1.5;max-width:54ch}
.compact-form-card .consent{font-size:.8rem;line-height:1.55;align-items:flex-start;gap:10px}
.compact-form-card .form-send-note{font-size:.77rem;line-height:1.5;color:#667c8b;margin-block:12px}
.compact-form-card .form-actions .md-button{border-radius:11px;min-height:46px;font-size:.95rem;font-weight:650;box-shadow:none}
.compact-form-card .field-error{font-size:.78rem;line-height:1.4;margin-top:5px}
@media(max-width:720px){
 #leistungen .card.service-card{padding:20px!important;border-radius:16px;gap:16px}
 #leistungen .service-card .service-head h3{font-size:1.1rem}
 #leistungen .service-card .service-body{gap:15px}
 .compact-form-card{padding:18px;border-radius:16px}

 .compact-form-card .form-actions .md-button{width:100%}
}
.compact-form-card{padding:22px}
.compact-form-card .form-intro{margin-bottom:12px;padding-bottom:10px;font-size:.84rem}
.compact-form-card .form-section{margin-bottom:12px}
.compact-form-card .form-section+.form-section{padding-top:12px}
.compact-form-card .form-section-title{margin-bottom:8px;font-size:.75rem}
.compact-form-card .form-grid{gap:8px 12px}
.compact-form-card .md-field{gap:4px}
.compact-form-card .form-control,.compact-form-card .form-control:focus,.compact-form-card .form-control.is-invalid{height:44px;min-height:44px;padding:9px 12px;line-height:24px}
.compact-form-card select.form-control,.compact-form-card select.form-control:focus,.compact-form-card select.form-control.is-invalid{padding:0 40px 0 12px;line-height:normal}
.compact-form-card textarea.form-control,.compact-form-card textarea.form-control:focus,.compact-form-card textarea.form-control.is-invalid{height:70px;min-height:70px;padding:9px 12px;line-height:1.45}
.compact-form-card .checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.compact-form-card .check{padding:7px 7px;gap:6px;min-height:44px;font-size:.82rem;line-height:1.35}
.compact-form-card .group-label{margin-bottom:8px}
.compact-form-card .form-send-note{margin-block:8px}

.compact-form-card .upload-zone{padding:10px 12px}
@media(max-width:720px){.compact-form-card{padding:16px}.compact-form-card .form-grid{gap:8px 10px}}
@media(max-width:359px){.compact-form-card .checkbox-grid{grid-template-columns:1fr}}
@media(min-width:1121px) and (max-width:1439px){#topAppBar .nav-call{display:none}}
@media(max-width:600px){.mobile-cta.has-phone .mobile-cta-call{flex:0 0 44px;width:44px;padding:0;justify-content:center}.mobile-cta-call span{display:none}}
/* HOVGARD: beide Hero-CTAs mit gleicher Farbe, Pillenform und Breite. */
#start .hero-buttons .md-button {
  width: 292px;
  max-width: 100%;
  min-height: 52px;
  border-radius: 999px;
}
@media (max-width: 720px) {
  #start .hero-buttons .md-button { width: 100%; }
}

/* Hero füllt immer den ganzen Bildschirm unter dem Header (svh: stabil bei ein-/ausblendender Browserleiste auf Handys) */
#start.hero{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height))}
/* Mobile-Leiste: lange Beschriftungen (z. B. „Book an appointment“) zweizeilig statt abgeschnitten */
@media (max-width:480px){.mobile-cta .md-fab-extended{white-space:normal;text-overflow:clip;line-height:1.15;text-wrap:balance;text-align:center;padding-inline:10px}}
/* One bounded viewport: only Calendly itself scrolls. */
#calendlyBooking{box-sizing:border-box;width:480px;max-width:calc(100vw - 16px);height:min(850px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;margin:auto;overflow:hidden;border-radius:16px;}
#calendlyBooking[open]{display:flex;flex-direction:column;}
#calendlyBooking .booking-dialog-header{flex:0 0 auto;padding:10px 12px;}
#calendlyBooking .booking-kicker{display:none;}
#calendlyBooking .booking-dialog-header h2{font-size:1rem;}
#calendlyBookingBody{display:block;flex:1 1 0;min-height:0;overflow:hidden;padding:0;}
#calendlyWidget{display:block;position:relative;width:100%;min-width:0;height:100%!important;min-height:0!important;overflow:hidden;}

#calendlyWidget iframe{display:block;opacity:1!important;width:100%;height:100%!important;min-height:0!important;border:0;}
#calendlyBooking .booking-dialog-footer{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:8px 12px;background:#f7f9fb;position:relative;z-index:2;min-width:0;}
#calendlyBooking .booking-privacy-foot{min-width:0;overflow-wrap:anywhere;}
#calendlyBooking .booking-external-link{display:inline-flex;align-items:center;justify-self:start;box-sizing:border-box;min-height:44px;max-width:100%;white-space:normal;padding:8px 0;font-size:.79rem;line-height:1.35;color:#1f3f6a;}
#bookingSlowTip{flex:0 0 auto;margin:0;padding:6px 12px;font-size:.75rem;}
@media(max-width:720px){#calendlyBooking .booking-dialog-footer{padding-bottom:max(8px,env(safe-area-inset-bottom,0px));}}
@media(max-width:500px){#calendlyBooking{width:calc(100vw - 8px);max-width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);border-radius:10px;}}
[data-privacy-lang][hidden]{display:none!important}#datenschutz .privacy-updated{font-size:.84rem;color:#4c6075;margin:0 0 1.2em}#datenschutz .privacy-version h3{margin:1.15em 0 .35em;font-size:1rem}#datenschutz .privacy-version p{margin:.45em 0 .9em;line-height:1.6;overflow-wrap:anywhere}#datenschutz .privacy-version a{overflow-wrap:anywhere}.calendly-consent-gate{height:100%;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:22px;box-sizing:border-box}.calendly-consent-card{max-width:390px;text-align:left;background:#f8fafc;border:1px solid #d9e1ec;border-radius:15px;padding:24px 19px;box-sizing:border-box;box-shadow:0 6px 24px rgba(0,0,0,.05)}.calendly-consent-card h3{font-size:1.15rem;line-height:1.35;margin:0 0 12px}.calendly-consent-card p{font-size:.91rem;line-height:1.55;margin:0 0 17px}.calendly-consent-card button{cursor:pointer;width:100%;justify-content:center}.calendly-consent-card .consent-alt{font-size:.8rem;color:#4b6077;margin:12px 0 0}@media(max-width:500px){.calendly-consent-gate{padding:12px}.calendly-consent-card{padding:18px 15px}}
#topAppBar .brand img{filter:none;image-rendering:auto}
#start .hero-buttons .md-button.md-button--filled,
#start .hero-buttons .md-button.md-button--filled:visited{
 background:#FFFFFF!important;background-image:none!important;color:#1b3446!important;
 border-color:#FFFFFF!important;-webkit-text-fill-color:#1b3446;opacity:1;
}
@media(hover:hover){#start .hero-buttons .md-button.md-button--filled:hover{background:#FFFCF7!important;border-color:#FFFCF7!important}}
#start .hero-buttons .md-button.md-button--filled:active{background:#FFFCF7!important}
#datenschutz .privacy-version{padding:0;margin:0;}
#datenschutz .legal-dialog-body{padding-top:8px;}
#datenschutz .privacy-version>p:first-child{margin-top:0;margin-bottom:8px;font-weight:600;}

/* === Audit fixes 2026-10 (Medium) ===
   M2: hero text must stay readable over the bright photo. Even scrim centred on the text
       lighter at the edges; brightened on request; the text outline below compensates. */
#start.hero::before{background:radial-gradient(ellipse 80% 75% at 50% 50%,rgba(13,28,39,.48) 0%,rgba(13,28,39,.36) 55%,rgba(13,28,39,.14) 100%)}
/* Brighter photo: a tighter dark outline keeps the white text readable on light areas. */
#start h1{text-shadow:0 0 2px rgba(10,24,34,.9),0 2px 12px rgba(10,24,34,.55)}
#start .hero-sub,#start .trust-row li{text-shadow:0 0 2px rgba(10,24,34,.95),0 1px 3px rgba(10,24,34,.85),0 2px 10px rgba(10,24,34,.6)}
/* M3: small form texts at WCAG AA (>= 4.5:1; #5b6b77 is 5.5:1 on white). */
.compact-form-card .form-hint,.compact-form-card .form-send-note{color:#5b6b77}
/* === Audit fixes 2026-10 (Low) ===
   Service titles are links: give them a >= 24px tap target (WCAG 2.5.8) without moving anything. */
#leistungen .service-card h3 .card-link{display:inline-block;padding-block:5px;margin-block:-5px}
/* The space reserved for the fixed mobile button bar belongs to the footer (grey), not the page (white). */
@media (max-width:1120px){body{padding-bottom:0}footer{padding-bottom:calc(28px + 88px)}}
/* Footer logo now uses the transparent header artwork, which has no built-in side margin. */
footer .footer-logo{margin-left:0}
/* Calendly preload: while the booking window is closed it stays rendered - Calendly only
   builds its calendar when its frame is on screen - but fully transparent, behind the page,
   unclickable and inert (set by the script). Without JavaScript nothing changes. */
#calendlyBooking.is-preloading:not([open]){display:block!important;position:fixed!important;inset:0 auto auto 0!important;margin:0!important;padding:0!important;width:min(560px,100vw)!important;height:auto!important;max-height:none!important;opacity:0!important;pointer-events:none!important;z-index:-1!important;overflow:hidden!important;transition:none!important;animation:none!important}
#calendlyBooking.is-preloading:not([open]) #calendlyWidget{display:block!important;position:relative!important;width:min(560px,100vw)!important;height:640px!important;flex:none!important}

/* === SEO sections 2026-10: target groups, service area, FAQ (reuse section-head / usp-card look) === */
#zielgruppen .section-head,#einsatzgebiet .section-head,#faq .section-head{max-width:none;margin-inline:0;text-align:left}
#zielgruppen .section-head h2,#einsatzgebiet .section-head h2,#faq .section-head h2{text-align:left;text-wrap:wrap}
#zielgruppen .section-head p,#einsatzgebiet .section-head p{margin-inline:0;text-align:left}
#einsatzgebiet{background:#f5f7f7;border-block:1px solid #e7ecee}
.seo-cta{margin-top:24px}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.area-card--wide{grid-column:1/-1}
.area-card p{color:var(--md-sys-color-on-surface-variant)}
.area-note{margin-top:20px;font-size:.94rem;line-height:1.7;color:#5b6b77}
@media (max-width:1120px){.area-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.area-grid{grid-template-columns:1fr}}
.faq-list{display:grid;gap:12px;max-width:900px}
.faq-item{background:#fff;border:1px solid #e0e6e9;border-radius:16px}
.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:14px 20px;font-weight:650;color:var(--md-sys-color-on-surface);line-height:1.45}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex:none;font-size:1.4rem;line-height:1;color:var(--brand-navy,#203c50)}
.faq-item[open] summary::after{content:"\2212"}
.faq-item summary:focus-visible{outline:3px solid #b69a59;outline-offset:2px;border-radius:16px}
.faq-item p{padding:0 20px 18px;margin:0;font-size:.94rem;line-height:1.7;color:var(--md-sys-color-on-surface-variant)}
