@charset "UTF-8"; :root { --paper: #dde2e6; --ink: #111a22; --muted: #29333b; --rust: #733020; --rule: #8b9595; --font: Arial, Helvetica, sans-serif; --width: 1320px; } * { box-sizing: border-box; } html { scroll-behavior: smooth; scroll-padding-top: 24px; } body { margin: 0; background-color: var(--paper); position: relative; isolation: isolate; min-height: 100vh; color: var(--ink); font: 16px/1.7 Arial, Helvetica, sans-serif; } body::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; background-color: var(--paper); background-image: linear-gradient(#dde2e6d1, #dde2e6d1), url("assets/edelstahl-hintergrund.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; } a { color: inherit; text-underline-offset: 5px; } img { display: block; width: 100%; height: 100%; object-fit: cover; } figure, p, h1, h2, h3 { margin: 0; } p + p { margin-top: 18px; } p { color: var(--muted); } button, input, select, textarea { font: inherit; } a, button, summary, input, select, textarea { -webkit-tap-highlight-color: transparent; } :focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; } .wrap { max-width: var(--width); margin-inline: auto; padding-inline: 64px; } .section { padding-block: 112px; } header { max-width: var(--width); margin: auto; display: flex; align-items: center; justify-content: space-between; min-height: 104px; padding: 22px 64px; } .brand { display: flex; align-items: center; gap: 16px; text-decoration: none; font-size: 14px; font-weight: 700; letter-spacing: 1.8px; line-height: 1.5; } .brand small { display: block; font-size: 14px; letter-spacing: 1.5px; font-weight: 400; } .monogram { font-size: 41px; line-height: 1; letter-spacing: -3px; font-weight: 900; } .monogram span { color: var(--rust); } nav { display: flex; align-items: center; gap: 29px; font-size: 14px; } nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; } nav a:hover { color: var(--rust); } .nav-contact { background: #944033; color: #fff; border: 1px solid #733020; padding: 9px 16px; justify-content: center; font-weight: 700; line-height: 1.4; } nav a.nav-contact:hover { background: #793327; color: #fff; } .nav-contact span { padding-left: 18px; } .menu-toggle { display: none; } .eyebrow { margin-bottom: 24px; color: var(--rust); font: 14px/1.6 Arial, Helvetica, sans-serif; font-weight: 700; letter-spacing: 1.4px; } h1, h2 { font-weight: 800; line-height: 1.06; letter-spacing: -2px; } h1 { font-size: clamp(44px, 4.25vw, 60px); } h1 em { font-family: inherit; font-style: normal; font-weight: 800; color: var(--rust); display: block; margin-top: 10px; font-size: .78em; letter-spacing: -1.8px; } h2 { font-size: clamp(34px, 3.3vw, 47px); margin-bottom: 26px; } h3 { font-size: 22px; font-weight: 600; line-height: 1.3; margin-bottom: 12px; letter-spacing: -.5px; } .intro { color: var(--ink); font-size: 20px; line-height: 1.6; } .hero { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding-top: 60px; background: transparent; color: var(--ink); max-width: calc(var(--width) - 40px); padding-inline: 44px; border-top: 5px solid var(--rust); } .hero::before { content: ''; position: absolute; top: 0; left: 44px; right: 44px; height: 22px; border-bottom: 1px solid #202a3133; background: repeating-linear-gradient(90deg, transparent 0 39px, #202a3133 39px 40px); pointer-events: none; } .hero-copy { padding-block: 35px 50px; } .hero .eyebrow { color: var(--rust); font-size: 14px; } .hero h1 { margin-bottom: 30px; } .hero .intro { color: var(--ink); font-size: 19px; margin-bottom: 20px; } .hero-copy > p { max-width: 450px; } .hero-copy > p:not(.intro):not(.eyebrow):not(.hero-location) { color: var(--muted); font-size: 15px; } .button { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; padding: 17px 23px; background: #944033; border: 1px solid #c47b65; color: #fff; text-decoration: none; font-size: 14px; cursor: pointer; transition: background .2s; } .button:hover { background: #873329; } .hero .button { background: #944033; border-color: #c47b65; color: #fff; margin-top: 30px; } .hero .button:hover { background: #793327; } .text-link { display: block; width: fit-content; margin-top: 19px; font-size: 14px; } .hero .text-link { color: var(--muted); } .hero-photo { position: relative; min-height: 560px; height: auto; align-self: stretch; margin-bottom: 30px; } .hero-photo img { object-position: center; } .hero-photo figcaption { position: absolute; bottom: 0; left: 0; width: 100%; padding: 18px 25px; background: #111c25; color: #e8edf0; font-size: 14px; } .hero-photo figcaption span { display: block; font: 14px/2 Arial, Helvetica, sans-serif; letter-spacing: 1.6px; } .hero-bottom { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 25px; font: 14px/1.6 Arial, Helvetica, sans-serif; letter-spacing: 1px; } .hero-bottom a { text-decoration: none; font: 14px Arial, Helvetica, sans-serif; } .hero-bottom a span { margin-left: 18px; } .hero-origin { color: var(--muted); } .services { display: grid; grid-template-columns: .9fr 1.2fr; gap: 95px; } .section-heading > p:last-child { max-width: 330px; } .service-list article { display: grid; grid-template-columns: 1fr; gap: 20px; padding: 25px 0; border-top: 1px solid var(--rule); } .service-list article:last-child { border-bottom: 1px solid var(--rule); } .service-list p { font-size: 14px; max-width: 430px; } .work-section { background: transparent; border-top: 1px solid var(--rule); } .work-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 45px; } .work-heading h2 { margin-bottom: 0; } .work-heading > p { font-size: 14px; } .gallery { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 42px 26px; } .gallery .wide { grid-column: span 2; } .gallery img { height: 360px; } .gallery figcaption { font-size: 19px; padding-top: 16px; line-height: 1.4; } .project-category { display: block; font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--ink); margin-bottom: 5px; } .project-description { display: block; font-size: 17px; font-weight: 400; line-height: 1.5; color: var(--muted); } .project-zoom { display: block; position: relative; border: 0; padding: 0; width: 100%; background: none; cursor: zoom-in; } .about { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; } .about figure { height: 620px; } .about figcaption { font-size: 16px; color: var(--muted); margin-top: 12px; } .facts { margin-top: 28px; } .facts > div { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--rule); font-size: 16px; } .facts strong { font-weight: 700; } .facts span { color: var(--muted); text-align: right; } .emergency { background: transparent; color: var(--ink); padding-block: 65px; } .emergency .wrap { display: grid; grid-template-columns: 1.1fr 1fr; gap: 100px; align-items: center; } .emergency .eyebrow { color: var(--rust); } .emergency p { color: var(--muted); } .emergency h2 { font-size: 35px; } .emergency p { font-size: 14px; max-width: 470px; } .emergency a { display: block; font-size: clamp(27px, 3vw, 40px); font-weight: 700; text-decoration: none; margin: 12px 0; letter-spacing: -1px; } .availability { font: 14px/1.6 Arial, Helvetica, sans-serif; letter-spacing: 1px; } .availability::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--rust); margin-right: 10px; } .faq { display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; } details { border-top: 1px solid var(--rule); padding: 20px 0; } details:last-child { border-bottom: 1px solid var(--rule); } summary { min-height: 44px; align-items: center; display: flex; justify-content: space-between; gap: 20px; cursor: pointer; font-size: 17px; list-style: none; } summary::-webkit-details-marker { display: none; } summary::after { content: '+'; font-size: 22px; color: var(--rust); } details[open] > summary::after { content: '−'; } details p { font-size: 14px; margin-top: 18px; } .contact { background: transparent; border-block: 1px solid var(--rule); } .contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 90px; } .contact-grid > div > p { max-width: 360px; } .contact address { font-style: normal; font-size: 14px; margin-top: 32px; } .contact-phone { display: block; font-size: 24px; text-decoration: none; margin-top: 22px; font-weight: 700; } form { padding-top: 5px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 24px; } input, select, textarea { display: block; width: 100%; margin-top: 8px; background: var(--paper); border: 1px solid #606d73; border-radius: 0; padding: 12px; color: var(--ink); font-size: 15px; } textarea { resize: vertical; min-height: 145px; } .checkbox { display: flex; gap: 12px; align-items: start; font-size: 14px; font-weight: 400; line-height: 1.6; } .checkbox input { width: 17px; height: 17px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--rust); } .form-note, #form-status { font-size: 14px; margin-top: 13px; } #whatsapp-link { display: block; margin-top: 15px; color: var(--rust); } [hidden] { display: none !important; } .legal { padding-bottom: 50px; } .legal summary { font-size: 14px; } .legal h2 { font-size: 28px; margin-top: 25px; } .legal h3 { font-size: 18px; margin-top: 28px; } .legal p, .legal li { max-width: 850px; font-size: 14px; } .legal .pending { padding: 15px 20px; border-left: 3px solid var(--rust); background: transparent; color: var(--ink); } .skip { position: fixed; top: -200px; left: 15px; z-index: 10; background: #111c25; color: #e8edf0; padding: 12px; border: 1px solid #e8edf0; } .skip:focus { top: 10px; } dialog { width: min(1100px, calc(100vw - 40px)); max-height: 92dvh; border: 0; padding: 20px; background: var(--paper); color: var(--ink); } dialog::backdrop { background: #091321e8; } .dialog-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; font: 14px Arial, Helvetica, sans-serif; letter-spacing: 1px; } .dialog-toolbar button { min-height: 44px; cursor: pointer; border: 1px solid var(--rule); padding: 8px 12px; background: transparent; font-size: 14px; } dialog img { max-height: 70dvh; height: auto; object-fit: contain; } dialog figcaption { margin-top: 15px; font-size: 14px; } body:has(dialog[open]) { overflow: hidden; } @media (max-width: 1050px) { .wrap { padding-inline: 32px; } header { padding-inline: 32px; } nav { gap: 18px; } .hero { margin-inline: 20px; padding-inline: 28px; gap: 26px; } .hero-photo { min-height: 550px; } .hero-origin { display: none; } .services, .about, .faq, .contact-grid { gap: 45px; } .emergency .wrap { gap: 45px; } .gallery img { height: 300px; } .about figure { height: 570px; } } @media (max-width: 720px) { .wrap { padding-inline: 22px; } .section { padding-block: 65px; } header { min-height: 90px; padding: 20px 22px; position: relative; } .brand { font-size: 14px; gap: 12px; } .brand small { font-size: 14px; } .monogram { font-size: 35px; } .menu-toggle { display: flex; gap: 12px; align-items: center; border: 1px solid var(--rule); background: transparent; padding: 9px 12px; font-size: 14px; cursor: pointer; } nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 5; background: var(--paper); padding: 26px; border-bottom: 1px solid var(--rule); flex-direction: column; align-items: stretch; gap: 22px; } nav.open { display: flex; } .hero { grid-template-columns: 1fr; margin-inline: 0; padding-top: 37px; gap: 20px; } .hero-copy { padding-block: 10px; } .hero::before { left: 22px; right: 22px; } .hero .eyebrow { font-size: 14px; } h1 { font-size: clamp(40px, 10.8vw, 67px); letter-spacing: -1.8px; } h1 em { font-size: .84em; letter-spacing: -1.5px; } .hero .intro { font-size: 17px; } .hero .button { margin-top: 24px; } .hero-photo { min-height: 0; height: auto; aspect-ratio: 4 / 3; margin-bottom: 0; } .hero-bottom { padding-block: 12px 22px; font-size: 14px; } h2 { font-size: 36px; letter-spacing: -1.5px; } .intro { font-size: 18px; } .services, .about, .faq, .contact-grid { grid-template-columns: 1fr; gap: 28px; } .section-heading > p:last-child { max-width: none; } .service-list article { gap: 12px; } .service-list h3 { font-size: 20px; } .work-heading { display: block; margin-bottom: 30px; } .work-heading > p { margin-top: 24px; } .gallery { grid-template-columns: 1fr; gap: 32px; } .gallery .wide { grid-column: auto; } .gallery img { height: 320px; } .about figure { height: 420px; } .about { padding-bottom: 85px; } .emergency { padding-block: 45px; } .emergency .wrap { grid-template-columns: 1fr; gap: 30px; } .emergency h2 { font-size: 31px; } .emergency a { font-size: 32px; } .faq { gap: 15px; } .form-row { grid-template-columns: 1fr; gap: 0; } .contact-grid { gap: 42px; } form { padding-top: 0; } .button { width: 100%; } dialog { padding: 15px; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } } footer.wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-block: 50px 24px; } .footer-identity address { margin-top: 22px; font-size: 16px; font-style: normal; font-weight: 600; line-height: 1.8; } .footer-identity .brand small { font-weight: 600; } .footer-instagram { display: flex; align-items: center; gap: 20px; align-self: start; padding: 25px; border: 1px solid var(--ink); border-left: 4px solid var(--rust); text-decoration: none; } .footer-instagram svg { flex-shrink: 0; color: var(--rust); } .footer-instagram strong { display: block; font-size: 18px; font-weight: 600; } .footer-instagram > span > span { display: block; color: var(--muted); font-size: 15px; margin-top: 4px; } .footer-instagram:hover { border-color: var(--rust); } .footer-bottom { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 20px; border-top: 1px solid var(--rule); font-size: 14px; } .footer-bottom nav { gap: 24px; } .field-help { display: block; margin-top: 8px; color: var(--muted); font-size: 14px; font-weight: 400; } input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border: 2px solid var(--rust); } #form-status:empty { display: none; } #inhalt:focus { outline: none; } @media (max-width: 1050px) { header { flex-wrap: wrap; gap: 20px; } header nav { gap: 20px; } } @media (max-width: 720px) { footer.wrap { grid-template-columns: 1fr; gap: 30px; } .footer-instagram { padding: 22px 18px; gap: 14px; } .footer-instagram strong { font-size: 16px; } .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; } .footer-bottom nav { display: flex; position: static; flex-direction: row; flex-wrap: wrap; gap: 14px; padding: 0; border: 0; background: none; } .footer-bottom nav a { font-size: 14px; } .nav-contact { align-self: start; } } @media (forced-colors: active) { .button, .project-zoom, .footer-instagram { border: 1px solid ButtonText; } :focus-visible { outline-color: Highlight; } } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; } .button:disabled { opacity: .65; cursor: not-allowed; } .hero :focus-visible { outline-color: var(--ink); } .emergency :focus-visible { outline-color: var(--ink); } .hero > *, .services > *, .about > *, .faq > *, .contact-grid > *, .gallery > *, footer.wrap > * { min-width: 0; } h1, h2, h3, .legal p, .legal a { overflow-wrap: break-word; hyphens: auto; } @media (max-width: 380px) { h2 { font-size: 30px; } } .menu-toggle { color: var(--ink); border-color: #606d73; min-height: 44px; } .dialog-toolbar button { color: var(--ink); border-color: #606d73; } .text-link { min-height: 24px; padding-block: 3px; } .checkbox { padding-block: 4px; } .checkbox input { width: 24px; height: 24px; } .form-note, label, .checkbox, .field-help { font-size: 14px; } .field-help { margin-top: -16px; margin-bottom: 24px; } .form-errors { margin-bottom: 24px; border-left: 3px solid var(--rust); padding: 14px 18px; } .form-errors p { color: var(--ink); margin: 0; } .form-errors ul { margin: 8px 0 0; padding-left: 20px; } .form-errors a { color: var(--rust); } .field-error { display: block; color: var(--rust); margin-top: 8px; font-size: 14px; font-weight: 400; } @media (max-width: 720px) { .hero-photo img { position: absolute; inset: 0; } } @media (forced-colors: active) { body::before { display: none; } .hero, .emergency { background: Canvas; color: CanvasText; } .hero p, .emergency p, h1 em { color: CanvasText; } } @media (max-width: 720px) { html:not(.js) header nav { display: flex; position: static; flex-direction: row; flex-wrap: wrap; padding: 0; border: 0; } html:not(.js) .menu-toggle { display: none; } } .field-error { margin-top: -16px; margin-bottom: 24px; } .form-field { min-width: 0; margin-bottom: 24px; } .form-field label { margin-bottom: 0; } .form-field .field-error { margin-top: 8px; margin-bottom: 0; } input::placeholder, textarea::placeholder { color: #3d4952; opacity: 1; } input::placeholder, textarea::placeholder { color: #3d4952; opacity: 1; } .eyebrow { font-size: 14px; letter-spacing: .25px; margin-bottom: 18px; } h1 { font-size: clamp(36px, 3.5vw, 48px); line-height: 1.16; letter-spacing: -1.3px; } h2 { font-size: clamp(29px, 2.8vw, 38px); line-height: 1.2; letter-spacing: -.8px; } .hero { padding-top: 36px; border-top-width: 1px; gap: 40px; align-items: start; } .hero::before { display: none; } .hero-copy { padding-block: 20px; } .hero .eyebrow { font-size: 14px; } .hero .intro { font-size: 20px; line-height: 1.5; } .hero-photo { min-height: 0; height: auto; aspect-ratio: 4 / 3; margin-bottom: 0; align-self: center; } .hero-photo img { position: absolute; inset: 0; } .hero-photo figcaption { padding: 10px 16px; font-size: 14px; } .hero-bottom { letter-spacing: .5px; font-size: 14px; } .service-list article { grid-template-columns: 1fr; } .section { padding-block: 82px; } .about figure { height: auto; aspect-ratio: 3 / 4; } .gallery img { height: auto; aspect-ratio: 4 / 3; } .gallery .wide img { aspect-ratio: 16 / 9; } .gallery figcaption { padding-top: 12px; } .project-category { font-size: 17px; } .project-description { font-size: 14px; } .footer-instagram { border-color: var(--rule); border-left-width: 1px; padding: 20px; } @media (max-width: 720px) { .hero { padding-top: 28px; gap: 24px; } .hero-copy { padding-block: 0; } h1 { font-size: clamp(34px, 8vw, 44px); letter-spacing: -.8px; } .hero .intro { font-size: 18px; } .hero .eyebrow { font-size: 14px; } .hero-bottom { flex-wrap: wrap; font-size: 14px; } .section { padding-block: 58px; } h2 { font-size: 30px; } .about { padding-bottom: 82px; } .gallery .wide img { aspect-ratio: 4 / 3; } } h1 { hyphens: none; } .service-list p, .work-heading > p, .project-description, .facts, .contact address { font-size: 15px; } @media (forced-colors: active) { :focus-visible, .hero :focus-visible, .emergency :focus-visible { outline-color: Highlight; } .form-errors, input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border-color: CanvasText; } } .owner-name { font-size: clamp(38px, 4vw, 52px); font-weight: 800; line-height: 1.12; margin-bottom: 14px; } .owner-role { color: var(--rust); font-size: 20px; font-weight: 600; line-height: 1.4; margin-bottom: 26px; } @media (max-width: 720px) { .owner-name { font-size: clamp(36px, 9vw, 46px); } .owner-role { font-size: 18px; } } .hero { max-width: var(--width); padding-inline: 64px; margin-inline: auto; } .about { align-items: start; } .about > div > p:not(.owner-role) { max-width: 52ch; } .facts > div { display: grid; grid-template-columns: minmax(120px, .8fr) 1.2fr; align-items: baseline; gap: 18px; } .facts span { text-align: left; } .legal p, .legal li { max-width: 70ch; } .work-heading { display: block; } @media (max-width: 1050px) { .hero { padding-inline: 32px; } } @media (max-width: 720px) { .hero { padding-inline: 22px; } .facts > div { grid-template-columns: 1fr; gap: 3px; } } .section { padding-top: 54px; } .hero { padding-top: 24px; } .hero-copy { padding-top: 8px; } .owner-role { font-size: 24px; font-weight: 700; margin-bottom: 22px; } @media (max-width: 720px) { .section { padding-top: 42px; } .hero { padding-top: 22px; } .hero-copy { padding-top: 0; } .owner-role { font-size: 22px; } } .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gallery img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; } .gallery .project-zoom { width: 100%; } @media (max-width: 720px) { .gallery { grid-template-columns: 1fr; } } .emergency { padding-block: 28px; background: transparent; color: var(--ink); } .emergency .wrap { max-width: var(--width); padding-inline: 64px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr); align-items: center; gap: 42px; } .emergency .eyebrow { color: #733020; font-size: 14px; font-weight: 700; margin-bottom: 8px; } .emergency h2 { color: #733020; font-size: clamp(27px, 2.5vw, 34px); margin-bottom: 10px; } .emergency p { color: var(--ink); font-size: 16px; max-width: 57ch; margin-bottom: 0; } .emergency-contact { text-align: center; min-width: 0; } .emergency a.emergency-call { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; width: 100%; margin: 0 0 10px; padding: 17px 18px; background: #944033; color: #fff; border: 1px solid #733020; font-size: 19px; line-height: 1.4; letter-spacing: 0; } .emergency a.emergency-call:hover { background: #793327; } .emergency-contact > p { font-size: 14px; max-width: none; } .emergency :focus-visible { outline: 3px solid #733020; outline-offset: 5px; } .gallery-instagram { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px 24px; margin: 30px 0 0; } .gallery-instagram a { font-size: 18px; font-weight: 700; } .gallery-instagram > span { font-size: 14px; color: var(--muted); } @media(max-width:1050px) { .emergency .wrap { padding-inline:32px; gap:28px; } } @media(max-width:720px) { .emergency { padding-block:24px; } .emergency .wrap { padding-inline:22px; grid-template-columns:1fr; gap:20px; } .emergency h2 { font-size:28px; } .emergency a.emergency-call { font-size:18px; } } @media(forced-colors:active) { .emergency { background:Canvas; color:CanvasText; } .emergency h2, .emergency p, .emergency .eyebrow { color:CanvasText; } .emergency a.emergency-call, .emergency a.emergency-call:hover { background:ButtonFace; color:ButtonText; border-color:ButtonText; } .emergency :focus-visible { outline-color:Highlight; } } .hero-copy > p:not(.intro):not(.eyebrow):not(.hero-location), .service-list p, .project-description, .facts > div, .contact address, .about figcaption, .hero-photo figcaption, .legal p, .legal li, details p, input, select, textarea { font-size: 16px; } .button, .text-link, .dialog-toolbar button { font-size: 16px; } .hero .eyebrow, .eyebrow, .hero-bottom, .hero-bottom a, .brand small, label, .checkbox, .form-note, #form-status, .field-help, .footer-bottom { font-size: 14px; } .brand { font-size: 16px; letter-spacing: 1px; } .brand small { letter-spacing: .8px; } .section { padding-block: 64px; } h2 { margin-bottom: 22px; } h3 { margin-bottom: 10px; } .work-heading { margin-bottom: 28px; } .gallery { row-gap: 32px; } .gallery figcaption { padding-top: 10px; } .about figcaption { margin-top: 10px; } .hero h1 { margin-bottom: 24px; } .hero .button { margin-top: 24px; } .emergency-contact > p { font-size: 14px; } .hero-bottom { flex-wrap: wrap; } @media (max-width: 1100px) and (min-width: 721px) { header { flex-wrap: wrap; gap: 12px; } header nav { flex-wrap: wrap; } } @media (max-width: 720px) { .section { padding-block: 44px; } .brand { font-size: 15px; gap: 10px; } .brand small { font-size: 14px; letter-spacing: 0; } header { flex-wrap: wrap; gap: 12px; } .hero .eyebrow, .hero-bottom { font-size: 14px; } .hero h1 { margin-bottom: 20px; } .gallery { row-gap: 26px; } .work-heading { margin-bottom: 24px; } .about { padding-bottom: 44px; } .hero-photo figcaption { padding: 10px 12px; } .emergency .wrap { gap: 18px; } } .gallery-instagram { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 24px; margin-top: 34px; padding: 28px 0; border-block: 1px solid var(--rule); } .gallery-instagram > svg { color: var(--rust); } .gallery-instagram h3 { font-size: 24px; margin-bottom: 6px; } .gallery-instagram p { font-size: 16px; overflow-wrap: anywhere; } .gallery-instagram a.button { font-size: 16px; font-weight: 700; text-decoration: none; justify-content: center; } @media (max-width: 1050px) { .gallery-instagram { grid-template-columns: 40px minmax(0, 1fr); gap: 16px; } .gallery-instagram a.button { grid-column: 2; justify-self: start; } } @media (max-width: 720px) { .gallery-instagram { padding-block: 24px; } .gallery-instagram h3 { font-size: 22px; } .gallery-instagram a.button { grid-column: 1 / -1; justify-self: stretch; } } @media (forced-colors: active) { .nav-contact, nav a.nav-contact:hover { background: ButtonFace; color: ButtonText; border-color: ButtonText; } } .hero { grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); align-items: center; gap: 56px; padding-block: 34px 40px; } .hero-copy { padding: 0; } .hero .eyebrow { margin-bottom: 20px; } .hero h1 { font-size: clamp(36px, 3.5vw, 48px); line-height: 1.12; letter-spacing: -1.2px; margin-bottom: 26px; } .hero h1 > span { display: block; } .hero h1 .hero-location { font-size: .67em; line-height: 1.3; letter-spacing: -.4px; margin-top: 14px; font-weight: 600; } .hero .intro { font-size: 18px; line-height: 1.65; max-width: 42ch; margin: 0; } .hero .button { margin-top: 28px; font-weight: 700; } .hero-photo { aspect-ratio: auto; align-self: center; } .hero-photo img { position: static; width: 100%; height: auto; aspect-ratio: 1600 / 1066; object-fit: cover; } .hero-photo figcaption { position: static; padding: 12px 0 0; background: transparent; color: var(--muted); font-size: 16px; line-height: 1.5; } @media(max-width:1050px) { .hero { gap: 30px; } } @media(max-width:720px) { .hero { grid-template-columns: 1fr; gap: 28px; padding-block: 24px 32px; } .hero h1 { font-size: clamp(34px, 8vw, 44px); letter-spacing: -.8px; margin-bottom: 22px; } .hero h1 .hero-location { font-size: .7em; margin-top: 10px; } .hero .intro { font-size: 18px; } .hero .button { margin-top: 24px; } .hero-photo figcaption { padding: 10px 0 0; } } @media(forced-colors:active) { .hero-photo figcaption { color: CanvasText; } } .reviews { border-top: 1px solid var(--rule); } .reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; } .reviews-heading h2 { margin-bottom: 14px; } .reviews-heading .text-link { flex-shrink: 0; font-weight: 700; } .review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; } .review { border-left: 3px solid var(--rust); padding: 6px 0 6px 24px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; } .review blockquote { margin: 0; } .review blockquote p { font-size: 20px; line-height: 1.6; color: var(--ink); } .review figcaption { font-size: 16px; line-height: 1.6; } .review figcaption strong, .review figcaption span { display: block; } .review figcaption span { color: var(--muted); font-size: 14px; } .reviews .reviews-note { font-size: 14px; margin-top: 28px; max-width: 85ch; } @media(max-width:1050px) { .reviews-heading { display: block; } } @media(max-width:720px) { .review-grid { grid-template-columns: 1fr; gap: 28px; } .review { padding-left: 18px; } .review blockquote p { font-size: 18px; } } @media(forced-colors:active) { .review { border-color: CanvasText; } } .reviews-heading { align-items: center; } .reviews-heading h2 { font-size: clamp(30px, 3.2vw, 42px); } .reviews-heading .button { flex-shrink: 0; font-weight: 700; text-align: center; } .review-grid { gap: 24px; } .review { padding: 30px; border: 1px solid #172838; border-top: 4px solid #944033; background: #172838; color: #fff; gap: 28px; } .review blockquote p { color: #fff; font-size: 23px; line-height: 1.55; } .review figcaption strong { color: #fff; font-size: 17px; } .review figcaption span { color: #e0e6eb; } .reviews .reviews-note { max-width: none; } header nav { gap: 22px; } @media(max-width:1200px) and (min-width:721px) { header { flex-wrap:wrap; gap:12px; } header nav { flex-wrap:wrap; } } @media(max-width:1050px) { .reviews-heading .button { margin-top: 22px; } } @media(max-width:720px) { .review { padding:24px 20px; } .review blockquote p { font-size:20px; } .reviews-heading .button { width:100%; } } @media(forced-colors:active) { .review { background:Canvas; border-color:CanvasText; color:CanvasText; } .review blockquote p, .review figcaption strong, .review figcaption span { color:CanvasText; } } .review { padding: 32px; border: 1px solid #405361; border-radius: 16px; background: #172838; box-shadow: 0 6px 20px #111a221a; gap: 30px; } .review figcaption { border-top: 1px solid #ffffff30; padding-top: 20px; } .reviews-heading .button { border-radius: 8px; padding: 14px 20px; } @media(max-width:720px) { .review { padding:24px; border-radius:14px; gap:24px; } } @media(forced-colors:active) { .review { background:Canvas; border-color:CanvasText; box-shadow:none; } .review figcaption { border-color:CanvasText; } } .review h3 { color: #fff; font-size: 22px; line-height: 1.3; } .review > p { color: #e0e6eb; font-size: 16px; } @media(forced-colors:active) { .review h3, .review > p { color:CanvasText; } } :root { --radius-control: 8px; --radius-photo: 12px; --radius-card: 16px; } .button, .emergency a.emergency-call, .menu-toggle, input, select, textarea, .dialog-toolbar button { border-radius: var(--radius-control); } .hero-photo img, .gallery .project-zoom, .gallery img, .about figure img { border-radius: var(--radius-photo); } .gallery .project-zoom { overflow: hidden; } .review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } .review { border-radius: var(--radius-card); justify-content: flex-start; gap: 16px; height: 100%; } .review h3 { margin: 0; font-size: 22px; } .review > p { margin: 0; line-height: 1.65; } @media (max-width:1050px) { .review-grid { grid-template-columns: 1fr; } } @media (max-width:720px) { .review { border-radius: var(--radius-card); } } .reviews-heading h2 { hyphens: none; overflow-wrap: normal; } .hero { align-items: start; padding-bottom: 28px; } .hero-photo { align-self: start; } .emergency { padding-block: 20px 28px; } .emergency .wrap { position: relative; padding-block: 24px; } .emergency .wrap::before { content: ''; position: absolute; inset: 0 64px; border: 1px solid var(--rule); border-radius: 12px; pointer-events: none; } .emergency .wrap > div { position: relative; padding-inline: 24px; } .emergency .wrap { gap: 0; } .emergency h2 { font-size: clamp(27px, 2.5vw, 32px); } .emergency a.emergency-call { margin-bottom: 0; } .gallery img { object-position: center; } .gallery img[src*="projekt-14"] { object-position: center 58%; } .gallery img[src*="projekt-28"] { object-position: center 44%; } .contact-grid { gap: 64px; align-items: start; } .contact-grid > div > p { max-width: 42ch; } .contact address { margin-top: 24px; line-height: 1.7; } .contact-phone { margin-top: 16px; } .contact .text-link { margin-top: 10px; } .contact form { padding: 28px; border: 1px solid var(--rule); border-radius: 16px; } .contact .form-row { gap: 20px; } .contact input, .contact select, .contact textarea { background: #e6e9ec; min-height: 48px; } .contact .checkbox input { min-height: 0; } .contact textarea { min-height: 160px; } .contact form > .button { justify-content: center; width: 100%; } @media(max-width:1050px) { .emergency .wrap::before { inset-inline: 32px; } .contact-grid { gap: 36px; } .contact form { padding: 22px; } } @media(max-width:720px) { .hero { gap: 24px; padding-bottom: 24px; } .emergency .wrap { padding-block: 22px; gap: 20px; } .emergency .wrap::before { inset-inline: 22px; } .emergency .wrap > div { padding-inline: 18px; } .contact-grid { gap: 28px; } .contact form { padding: 20px 16px; } .contact .form-row { gap: 0; } } @media(forced-colors:active) { .emergency .wrap::before, .contact form { border-color: CanvasText; } .contact input, .contact select, .contact textarea { background: Canvas; color: CanvasText; } } .hero { gap: 44px; padding-top: 32px; padding-bottom: 36px; } .hero h1 { font-size: clamp(40px, 4.3vw, 58px); line-height: 1.08; letter-spacing: -1.5px; } .hero h1 .hero-location { font-size: .56em; margin-top: 18px; letter-spacing: -.3px; } .hero .eyebrow { display: inline-flex; align-items: center; padding: 7px 13px; border: 1px solid var(--rule); border-radius: 999px; margin-bottom: 24px; } .hero .intro { max-width: 39ch; } .hero-photo { border-radius: 18px; overflow: hidden; box-shadow: 0 10px 28px #111a2220; } .hero-photo img { aspect-ratio: 5 / 4; object-position: center; border-radius: 18px; } .button, .emergency a.emergency-call, .reviews-heading .button, .gallery-instagram a.button { border-radius: 999px; padding-inline: 26px; min-height: 48px; } header nav a { border-radius: 999px; padding-inline: 10px; transition: background-color .18s ease, color .18s ease; } header nav a:hover { background: #73302012; } .gallery .project-zoom img { transition: transform .25s ease; } .gallery .project-zoom:hover img { transform: scale(1.025); } .section-heading h2, .work-heading h2 { max-width: 24ch; } @media(min-width:1201px) { header { position: sticky; top: 0; z-index: 5; background: #dde2e6f5; border-bottom: 1px solid var(--rule); min-height: 88px; padding-block: 14px; } html { scroll-padding-top: 112px; } header nav { gap: 8px; } } @media(max-width:1050px) { .hero { gap: 30px; } } @media(max-width:720px) { .hero { padding-top:24px; padding-bottom:28px; gap:26px; } .hero h1 { font-size:clamp(35px,9vw,46px); letter-spacing:-.8px; } .hero h1 .hero-location { font-size:.68em; margin-top:12px; } .hero .eyebrow { margin-bottom:20px; } .hero-photo, .hero-photo img { border-radius:14px; } .hero-photo img { aspect-ratio: 4 / 3; } .contact form > .button { padding-inline:16px; } } @media(prefers-reduced-motion:reduce) { header nav a, .gallery .project-zoom img { transition:none; } .gallery .project-zoom:hover img { transform:none; } } @media(forced-colors:active) { header { background:Canvas; border-color:CanvasText; } header nav a:hover { background:Highlight; color:HighlightText; } .hero .eyebrow { border-color:CanvasText; } .hero-photo { box-shadow:none; } } @media(min-width:1051px) and (min-height:680px) and (prefers-reduced-motion:no-preference) { .gallery { display:block; position:relative; isolation:isolate; padding:12px 8px 28px; } .gallery figure { position:sticky; top:120px; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:32px; align-items:center; margin-bottom:64px; padding:24px; background:#dde2e6; border:1px solid #8b9595; border-radius:16px; box-shadow:0 12px 28px #111a2229; transform:rotate(-.7deg); transform-origin:center top; } .gallery figure:nth-child(2) { top:132px; transform:rotate(.6deg); } .gallery figure:nth-child(3) { top:144px; transform:rotate(-.4deg); } .gallery figure:nth-child(4) { top:156px; transform:rotate(.4deg); } .gallery figure:last-child { margin-bottom:0; } .gallery figcaption { padding:16px 12px; } .gallery .project-category { font-size:clamp(24px,2.5vw,34px); line-height:1.2; font-weight:700; margin-bottom:18px; } .gallery .project-description { font-size:18px; line-height:1.6; } .gallery img { width:100%; height:auto; aspect-ratio:4 / 3; } } @media(forced-colors:active) { .gallery figure { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; } } body::before { background-color: var(--paper); background-image: radial-gradient(ellipse at 50% 35%, transparent 45%, #17283812 78%, #10192330 100%), linear-gradient(110deg, #dde2e6c9, #e4e8ebd9 48%, #d3dbe1c9), url("assets/edelstahl-hintergrund.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; } @media(max-width:720px) { body::before { background-image: radial-gradient(ellipse at 50% 30%, transparent 55%, #17283818 100%), linear-gradient(#dde2e6d9, #dde2e6d9), url("assets/edelstahl-hintergrund.webp"); } } @media(forced-colors:active) { body::before { display:none; } } .page-jumps { position:fixed; right:max(18px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); z-index:8; display:flex; flex-direction:column; gap:8px; } .page-jumps button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #405361; border-radius:50%; background:#172838; color:#fff; box-shadow:0 3px 12px #111a2226; cursor:pointer; } .page-jumps button:hover { background:#944033; border-color:#733020; } .page-jumps button:focus-visible { outline:3px solid var(--rust); outline-offset:4px; } @media(max-width:720px) { .page-jumps { right:10px; bottom:max(12px,env(safe-area-inset-bottom)); gap:6px; } .page-jumps button { width:44px; height:44px; } } @media print { .page-jumps { display:none !important; } } @media(forced-colors:active) { .page-jumps button { background:ButtonFace; color:ButtonText; border-color:ButtonText; box-shadow:none; } .page-jumps button:focus-visible { outline-color:Highlight; } } body::before { background-color:#bac4cc; background-image: linear-gradient(115deg,#53616d55 0%,#cbd3d98c 23%,#e0e5e9ad 52%,#b8c4cd80 78%,#53616d55 100%), url("assets/edelstahl-hintergrund.webp"); background-size:cover; background-position:center; background-repeat:no-repeat; } .faq { align-items:start; gap:56px; } .faq > div:first-child { padding-top:12px; } .faq h2 { font-size:clamp(34px,3.4vw,46px); line-height:1.15; max-width:13ch; } .faq > div:last-child { display:grid; gap:14px; min-width:0; } .faq details { padding:0; overflow:hidden; border:1px solid #405361; border-radius:18px; background:#172838; color:#fff; box-shadow:0 5px 16px #111a221a; } .faq details:last-child { border-bottom:1px solid #405361; } .faq summary { color:#fff; padding:22px 24px; font-size:18px; font-weight:600; line-height:1.45; gap:18px; } .faq summary::after { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border:1px solid #ffffff80; border-radius:50%; background:#ffffff12; color:#fff; font-size:24px; line-height:1; } .faq summary:hover { background:#ffffff0d; } .faq details[open] { border-color:#944033; } .faq details[open] summary { padding-bottom:16px; } .faq details[open] summary::after { background:#944033; border-color:#c47b65; } .faq details p { margin:0; padding:0 24px 24px; color:#edf1f4; font-size:16px; line-height:1.7; } .faq details a { color:#fff; } .faq summary:focus-visible { outline:3px solid #fff; outline-offset:-6px; border-radius:18px; } @media(max-width:1050px) { .faq { gap:32px; } } @media(max-width:720px) { body::before { background-image:linear-gradient(110deg,#63727c40,#d4dce2b8 35%,#d4dce2b8 65%,#63727c40),url("assets/edelstahl-hintergrund.webp"); } .faq { gap:20px; } .faq h2 { font-size:32px; max-width:none; } .faq summary { padding:18px; font-size:17px; gap:12px; } .faq details p { padding:0 18px 20px; } .faq summary::after { flex-basis:30px; width:30px; height:30px; } } @media(forced-colors:active) { body::before { display:none; } .faq details, .faq details:last-child, .faq details[open] { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; } .faq summary, .faq details p, .faq details a { color:CanvasText; } .faq summary::after, .faq details[open] summary::after { background:ButtonFace; color:ButtonText; border-color:ButtonText; } .faq summary:focus-visible { outline-color:Highlight; } } .contact { background:#101923; color:#f2f5f7; border-top:1px solid #405361; border-bottom:0; padding-block:76px; } .contact h2, .contact p, .contact address, .contact a, .contact label, .contact .field-help, .contact .form-note, .contact #form-status { color:#edf1f4; } .contact .eyebrow { color:#dda18e; } .contact h2 { font-size:clamp(34px,3.5vw,46px); line-height:1.15; } .contact .contact-phone { color:#fff; } .contact form { background:#172838; border-color:#405361; border-radius:20px; padding:32px; } .contact input, .contact select, .contact textarea { background:#233747; color:#fff; border-color:#8293a0; } .contact input::placeholder, .contact textarea::placeholder { color:#c9d3db; } .contact input:focus-visible, .contact select:focus-visible, .contact textarea:focus-visible { outline-color:#e5ad99; } .contact .checkbox input { accent-color:#944033; } .contact .button { color:#fff; border-color:#c47b65; } .contact .field-error { color:#ffb8a3; } .contact .form-errors { background:#233747; color:#fff; border-color:#ffb8a3; } .contact .form-errors p, .contact .form-errors a, .contact #whatsapp-link { color:#fff; } .contact input[aria-invalid="true"], .contact select[aria-invalid="true"], .contact textarea[aria-invalid="true"] { border-color:#ffb8a3; } .contact :focus-visible { outline-color:#e5ad99; } footer.wrap { max-width:none; background:#101923; color:#edf1f4; padding:44px max(64px,calc((100% - 1192px) / 2)) 30px; border:0; gap:32px; } footer .brand, footer address, footer .footer-bottom, footer nav a { color:#edf1f4; } footer .monogram > span { color:#dda18e; } footer .footer-bottom { border-top:1px solid #405361; padding-top:24px; } footer nav a:hover { color:#ffb8a3; } footer :focus-visible { outline-color:#e5ad99; } .legal.wrap { max-width:none; padding:0 max(64px,calc((100% - 1192px) / 2)) 44px; background:#101923; color:#edf1f4; } .legal details, .legal details:last-child { border-color:#405361; } .legal summary, .legal h2, .legal h3, .legal p, .legal li, .legal a, .legal .pending { color:#edf1f4; } .legal summary { font-size:16px; } .legal summary::after { color:#dda18e; } .legal .pending { border-color:#dda18e; } .legal :focus-visible { outline-color:#e5ad99; } @media(max-width:1050px) { footer.wrap { padding-inline:32px; } .legal.wrap { padding-inline:32px; } .contact form { padding:26px; } } @media(max-width:720px) { .contact { padding-block:44px; } .contact form { padding:22px 16px; border-radius:16px; } .contact h2 { font-size:32px; } footer.wrap { padding:32px 22px 24px; } .legal.wrap { padding:0 22px 32px; } } @media(forced-colors:active) { .contact, .contact form, footer.wrap, .legal.wrap, .contact .form-errors { background:Canvas; color:CanvasText; border-color:CanvasText; } .contact h2, .contact p, .contact address, .contact a, .contact label, .contact .field-help, .contact .form-note, .contact #form-status, .contact .eyebrow, .contact .field-error, .contact .form-errors a, .contact #whatsapp-link, footer .brand, footer address, footer .footer-bottom, footer nav a, .legal summary, .legal h2, .legal h3, .legal p, .legal li, .legal a, .legal .pending { color:CanvasText; } .contact input, .contact select, .contact textarea { background:Field; color:FieldText; border-color:ButtonText; } .contact input::placeholder, .contact textarea::placeholder { color:FieldText; } .contact :focus-visible, footer :focus-visible, .legal :focus-visible { outline-color:Highlight; } } .contact-grid { grid-template-columns:1fr; max-width:960px; gap:30px; } .contact-grid > div { text-align:center; } .contact-grid > div > p { margin-inline:auto; max-width:56ch; } .contact h2 { max-width:20ch; margin-inline:auto; } .contact form { width:100%; } footer.wrap { display:block; } .footer-columns { display:grid; grid-template-columns:1.4fr .8fr 1.1fr .8fr; gap:36px; padding-top:28px; border-top:1px solid #405361; } .footer-columns > * { min-width:0; } .footer-identity p { margin-top:18px; font-size:16px; color:#c9d3db; } .footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:8px; } .footer-column h2 { font-size:14px; font-weight:700; line-height:1.5; letter-spacing:1px; text-transform:uppercase; margin-bottom:12px; color:#c9d3db; } .footer-column a { display:inline-flex; align-items:center; min-height:36px; font-size:16px; text-decoration:none; } .footer-column a:hover { text-decoration:underline; } .footer-column address { font-style:normal; font-size:16px; line-height:1.7; margin-bottom:8px; } footer .footer-bottom { margin-top:36px; font-size:14px; } .js .legal details:not([open]) { display:none; } .legal.wrap { padding-bottom:24px; } @media(max-width:1050px) { .footer-columns { grid-template-columns:1fr 1fr; gap:32px; } } @media(max-width:720px) { .footer-columns { grid-template-columns:1fr; gap:28px; padding-top:8px; } .contact-grid { gap:24px; } .contact h2 { max-width:none; } } @media(forced-colors:active) { .footer-columns, footer .footer-bottom { border-color:CanvasText; } .footer-column h2, .footer-identity p { color:CanvasText; } } .faq { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:48px; } .faq h2 { max-width:none; font-size:clamp(30px,3vw,40px); line-height:1.18; letter-spacing:-.7px; } .faq .faq-intro { max-width:31ch; font-size:16px; line-height:1.7; margin-top:20px; } .faq > div:last-child { gap:10px; } .faq details { border-radius:12px; box-shadow:none; transition:border-color .2s ease,box-shadow .2s ease; } .faq summary { padding:19px 22px; font-size:17px; transition:background-color .2s ease; } .faq summary::after { border:0; background:#ffffff16; transition:background-color .2s ease,transform .2s ease; } .faq details:hover { border-color:#8293a0; box-shadow:0 5px 16px #111a2214; } .faq details[open] { border-color:#944033; } .faq details[open] summary { padding-bottom:12px; } .faq details[open] p { animation:faq-answer-in .22s ease-out; } .faq details p { padding:0 22px 22px; } @keyframes faq-answer-in { from { opacity:.4; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } } @media(min-width:1051px) { .faq > div:first-child { position:sticky; top:120px; } } @media(max-width:720px) { .faq { grid-template-columns:1fr; gap:24px; } .faq h2 { font-size:30px; } .faq .faq-intro { max-width:36ch; margin-top:14px; } .faq summary { padding:17px; } .faq details p { padding:0 17px 20px; } } @media(prefers-reduced-motion:reduce) { .faq details, .faq summary, .faq summary::after { transition:none; } .faq details[open] p { animation:none; } }