:root { font-family: "DM Sans", Arial, sans-serif; color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }

/* Auswahlseite */
.showcase-page { min-height: 100vh; color: #1d1e20; background: #f4f2ee; }
.showcase-shell { max-width: 1450px; min-height: 100vh; padding: clamp(32px,6vw,88px); margin: auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(42px,7vw,110px); align-items: center; }
.showcase-intro { max-width: 520px; }.showcase-logo { display: block; width: min(310px,80%); margin-bottom: 50px; mix-blend-mode: multiply; }
.eyebrow, .section-kicker { font: 600 11px/1 "DM Mono",monospace; letter-spacing: .13em; text-transform: uppercase; color: #d52d22; }
.showcase-intro h1 { margin: 16px 0 25px; font: 700 clamp(44px,5.2vw,78px)/.98 "Fraunces",Georgia,serif; letter-spacing: -.06em; }.showcase-intro h1 em { color: #d52d22; font-style: normal; }.showcase-copy { color: #676664; font-size: 18px; line-height: 1.6; }
.design-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }.design-card { min-height: 300px; overflow: hidden; position: relative; padding: 25px; display: flex; flex-direction: column; box-shadow: 0 14px 25px rgba(20,20,20,.09); transition: transform .25s,box-shadow .25s; }.design-card:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: 0 23px 30px rgba(20,20,20,.16); }.card-number { font: 500 10px "DM Mono",monospace; opacity: .6; }.tiny-logo,.urban-stamp,.premium-wordmark,.friendly-mark { margin-top: 42px; }.tiny-logo { font: 700 clamp(21px,2.1vw,31px)/1 "DM Sans",sans-serif; letter-spacing: -.08em; }.tiny-logo b { color: #d9261c; }.mini-heading { margin-top: auto; font: 700 clamp(26px,2.5vw,38px)/.95 "Fraunces",Georgia,serif; letter-spacing: -.06em; }.mini-button { align-self: flex-start; margin-top: 20px; padding: 10px 12px; font: 600 10px "DM Mono",monospace; text-transform: uppercase; letter-spacing: .06em; }.mini-button i { padding-left: 7px; font-size: 15px; font-style: normal; }.card-name { margin-top: 29px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.card-classic { color:#202124; background:#fffefa; border-top:8px solid #dc332a; border-radius:7px; }.card-classic .mini-button { color:#fff; background:#d92e24; }.card-urban { color:#f6f2e9; background:#17191c; }.urban-stamp { color:#f2ff25; font:800 clamp(21px,2.2vw,32px)/.8 "Manrope",sans-serif; letter-spacing:-.12em; }.urban-stamp span { color:#fd572e; }.card-urban .mini-heading { font-family:"Manrope",sans-serif; font-weight:800; }.card-urban .mini-button { color:#17191c; background:#f2ff25; border-radius:30px; }.card-premium { color:#322d2a; background:#e6ddd0; border-radius:62px 6px 6px 6px; }.premium-wordmark { font:600 clamp(22px,2.2vw,32px)/1 "Fraunces",Georgia,serif; }.premium-wordmark i { color:#a45f4f; }.card-premium .mini-button { border:1px solid #342d2a; border-radius:30px; }.card-friendly { color:#073d4d; background:#a7e4dc; border-radius:28px; }.friendly-mark { font:800 clamp(19px,2.1vw,29px)/1 "Manrope",sans-serif; letter-spacing:-.08em; }.friendly-mark i { color:#ff664f; font-size:1.3em; font-style:normal; }.card-friendly .mini-heading { font-family:"Manrope",sans-serif; }.card-friendly .mini-button { color:#fff; background:#073d4d; border-radius:30px; }

/* Gemeinsame Webseitenstruktur */
.site { --ink:#202124; --muted:#62656b; --paper:#fffefa; --surface:#f3f1ec; --accent:#d62d23; --accentInk:#fff; --outline:rgba(23,26,28,.14); --heading:"Fraunces",Georgia,serif; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; }
.site-section { position:relative; padding:105px max(24px,calc((100vw - 1180px)/2)); }.site-section h2 { max-width:680px; margin:12px 0 18px; font:700 clamp(36px,5vw,64px)/.98 var(--heading); letter-spacing:-.06em; }.intro { max-width:530px; color:var(--muted); font-size:17px; line-height:1.65; }
.site-header { position:absolute; top:0; z-index:5; display:flex; width:100%; height:84px; padding:0 max(24px,calc((100vw - 1220px)/2)); align-items:center; justify-content:space-between; }.brand img { display:block; width:175px; mix-blend-mode:multiply; }.nav-links { display:flex; align-items:center; gap:26px; font-weight:600; font-size:14px; }.nav-links a:hover,.footer-links a:hover { color:var(--accent); }.header-phone { border:1px solid var(--outline); padding:10px 14px; font:600 11px "DM Mono",monospace; }.menu-button { display:none; color:inherit; background:transparent; border:1px solid var(--outline); padding:8px 10px; }.mobile-menu { display:none; }
.hero { position:relative; min-height:720px; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:50px; padding:170px max(24px,calc((100vw - 1180px)/2)) 85px; }.hero-copy { z-index:1; }.hero h1 { max-width:720px; margin:17px 0 23px; font:700 clamp(48px,7vw,90px)/.9 var(--heading); letter-spacing:-.065em; }.hero h1 strong { color:var(--accent); font-weight:inherit; }.hero-text { max-width:485px; color:var(--muted); font-size:18px; line-height:1.6; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }.button-primary,.button-secondary { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:15px 18px; border:1px solid transparent; font-size:12px; font-weight:700; transition:transform .2s; }.button-primary { color:var(--accentInk); background:var(--accent); }.button-secondary { color:var(--ink); border-color:var(--outline); }.button-primary:hover,.button-secondary:hover { transform:translateY(-3px); }
.hero-art { height:435px; position:relative; }.moving-van { position:absolute; right:0; bottom:36px; width:min(490px,100%); height:245px; border-radius:22px 65px 16px 16px; background:var(--ink); box-shadow:0 28px 45px rgba(26,28,30,.18); }.moving-van::before { content:""; position:absolute; right:-14px; bottom:0; width:163px; height:120px; border-radius:22px 42px 14px 0; background:var(--accent); transform:skewY(-9deg); }.moving-van::after { content:""; position:absolute; top:50px; left:44px; width:330px; height:76px; border-block:2px solid rgba(255,255,255,.3); background:repeating-linear-gradient(90deg,transparent 0 40px,rgba(255,255,255,.18) 41px 43px); }.van-name { position:absolute; z-index:1; top:93px; left:51px; color:#fff; font:700 39px/.9 var(--heading); letter-spacing:-.08em; }.van-name span { color:var(--accent); }.wheel { position:absolute; z-index:2; bottom:-22px; width:70px; height:70px; border:13px solid #ece9e1; border-radius:50%; background:var(--ink); }.wheel-one { left:78px; }.wheel-two { right:58px; }.hero-label { position:absolute; top:5px; right:35px; padding:17px 20px; border:1px solid var(--outline); background:var(--paper); font:700 12px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.06em; transform:rotate(7deg); }.hero-label span { color:var(--accent); }
.trustbar { display:flex; gap:25px; align-items:center; justify-content:space-between; padding:24px max(24px,calc((100vw - 1180px)/2)); border-block:1px solid var(--outline); color:var(--muted); font-size:13px; }.trustbar strong { color:var(--ink); font-size:16px; }.trustbar span { white-space:nowrap; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:56px; border-top:1px solid var(--outline); border-left:1px solid var(--outline); }.service-card { min-height:255px; padding:28px; border-right:1px solid var(--outline); border-bottom:1px solid var(--outline); transition:background .2s; }.service-card:hover { background:var(--surface); }.service-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:var(--accentInk); background:var(--accent); font:700 17px "DM Mono",monospace; }.service-card h3 { margin:30px 0 13px; font:700 27px/.98 var(--heading); letter-spacing:-.05em; }.service-card p { max-width:260px; margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.calculator-section { background:var(--surface); }.calculator-layout { display:grid; grid-template-columns:.83fr 1.17fr; gap:clamp(30px,7vw,95px); align-items:start; }.calculator-copy { position:sticky; top:30px; }.calc-benefits { padding:0; margin:31px 0 0; list-style:none; color:var(--muted); font-size:14px; line-height:2.1; }.calc-benefits li::before { content:"✓"; padding-right:10px; color:var(--accent); font-weight:700; }.calculator { padding:clamp(21px,4vw,39px); border:1px solid var(--outline); background:var(--paper); box-shadow:0 15px 40px rgba(28,27,24,.06); }.calc-topline { display:flex; gap:12px; align-items:baseline; justify-content:space-between; padding-bottom:20px; margin-bottom:21px; border-bottom:1px solid var(--outline); }.calc-topline h3 { margin:0; font:700 25px var(--heading); letter-spacing:-.04em; }.calc-topline span { color:var(--muted); font:11px "DM Mono",monospace; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.form-field { margin-bottom:17px; }.form-field label,.options-label { display:block; margin-bottom:8px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.form-field input,.form-field select { width:100%; padding:12px 13px; border:1px solid var(--outline); outline:none; color:var(--ink); background:transparent; }.form-field input:focus,.form-field select:focus { border-color:var(--accent); }.range-line { display:grid; grid-template-columns:1fr 45px; gap:12px; align-items:center; }.range-line input { padding:0; accent-color:var(--accent); }.range-line output { color:var(--accent); font-weight:700; text-align:right; }.option-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.option-check { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid var(--outline); font-size:13px; }.option-check input { accent-color:var(--accent); }.price-preview { display:flex; gap:20px; align-items:center; justify-content:space-between; margin-top:24px; padding:21px; color:var(--accentInk); background:var(--ink); }.price-preview span { display:block; font:11px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.05em; opacity:.75; }.price-preview strong { display:block; margin-top:8px; font:700 35px/.9 var(--heading); letter-spacing:-.05em; }.price-preview .button-primary { flex-shrink:0; }.form-status { min-height:18px; margin:13px 0 0; color:var(--accent); font-size:13px; font-weight:600; }.steps { display:flex; gap:8px; margin-top:28px; }.steps span { flex:1; height:3px; background:var(--outline); }.steps span:first-child { background:var(--accent); }
.quote-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; align-items:center; overflow:hidden; }.quote-art { position:relative; min-height:405px; overflow:hidden; background:var(--accent); }.quote-art::before,.quote-art::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.45); border-radius:50%; }.quote-art::before { bottom:-80px; left:-71px; width:310px; height:310px; }.quote-art::after { top:35px; right:28px; width:180px; height:180px; }.quote-initial { position:absolute; top:50%; left:50%; color:var(--accentInk); font:700 250px/.65 var(--heading); letter-spacing:-.12em; transform:translate(-50%,-50%); }.quote-content blockquote { margin:15px 0 26px; font:600 clamp(27px,3.8vw,48px)/1.14 var(--heading); letter-spacing:-.05em; }.quote-content cite { color:var(--muted); font-size:14px; font-style:normal; }.rating { color:var(--accent); letter-spacing:3px; }.contact-band { display:flex; gap:40px; align-items:center; justify-content:space-between; padding:70px max(24px,calc((100vw - 1180px)/2)); color:var(--accentInk); background:var(--ink); }.contact-band h2 { max-width:650px; margin:0; font:700 clamp(34px,4.8vw,62px)/.95 var(--heading); letter-spacing:-.06em; }.contact-band .button-primary { background:var(--accent); white-space:nowrap; }.site-footer { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:28px max(24px,calc((100vw - 1180px)/2)); color:var(--muted); font-size:12px; }.footer-links { display:flex; gap:19px; }.back-to-overview { position:fixed; z-index:9; bottom:14px; left:14px; padding:10px 12px; border:1px solid var(--outline); color:var(--ink); background:var(--paper); box-shadow:0 3px 15px rgba(0,0,0,.1); font:600 10px "DM Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }.modal { position:fixed; z-index:15; inset:0; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(15,16,18,.56); }.modal.open { display:flex; }.modal-card { position:relative; width:min(560px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:32px; color:var(--ink); background:var(--paper); }.modal-card h2 { margin:0 0 16px; font:700 35px var(--heading); letter-spacing:-.05em; }.modal-card p { color:var(--muted); line-height:1.6; }.modal-close { position:absolute; top:16px; right:16px; width:31px; height:31px; border:1px solid var(--outline); color:var(--ink); background:transparent; font-size:18px; }

/* Stil 2: urban */
.site-urban { --ink:#f4f1e9; --muted:#b2b2aa; --paper:#17191c; --surface:#22252a; --accent:#f45c36; --accentInk:#181a1d; --outline:rgba(244,241,233,.18); --heading:"Manrope",Arial,sans-serif; }.site-urban .site-header { background:rgba(23,25,28,.8); backdrop-filter:blur(10px); }.site-urban .brand img { display:none; }.site-urban .brand::before { content:"FIX&FLOTT"; color:#f2ff2c; font:800 23px "Manrope",sans-serif; letter-spacing:-.11em; }.site-urban .brand::after { content:"RÄUMUNGEN / UMZÜGE"; margin-left:11px; padding-left:11px; border-left:1px solid var(--outline); color:var(--muted); font:10px "DM Mono",monospace; }.site-urban .hero { min-height:760px; }.site-urban .hero h1,.site-urban .site-section h2,.site-urban .service-card h3,.site-urban .calc-topline h3 { font-family:"Manrope",sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:-.08em; }.site-urban .hero h1 strong { color:#f2ff2c; }.site-urban .hero-art::before { content:""; position:absolute; top:5%; right:4%; width:80%; height:87%; border:1px solid rgba(242,255,44,.7); clip-path:polygon(0 0,100% 22%,76% 100%,0 72%); }.site-urban .moving-van { border-radius:0; background:#f2ff2c; transform:rotate(-2deg); }.site-urban .moving-van::before { border-radius:0; background:var(--accent); }.site-urban .van-name { color:#17191c; font-family:"Manrope",sans-serif; font-weight:800; text-transform:uppercase; }.site-urban .wheel { border-color:#17191c; background:#f2ff2c; }.site-urban .hero-label { border:0; color:#17191c; background:#f2ff2c; }.site-urban .button-primary { background:#f2ff2c; }.site-urban .service-icon { border-radius:0; color:#17191c; background:#f2ff2c; }.site-urban .service-card:hover { background:#2c3036; }.site-urban .calculator { background:#17191c; }.site-urban .price-preview { color:#17191c; background:#f2ff2c; }.site-urban .price-preview .button-primary { background:var(--accent); }.site-urban .quote-art { background:#f2ff2c; }.site-urban .quote-initial { color:#17191c; font-family:"Manrope",sans-serif; }.site-urban .contact-band { color:#17191c; background:#f45c36; }.site-urban .contact-band .button-primary { color:#17191c; background:#f2ff2c; }

/* Stil 3: hochwertig */
.site-premium { --ink:#352e2a; --muted:#716964; --paper:#f7f4ee; --surface:#e9e0d4; --accent:#a65d4c; --outline:rgba(53,46,42,.16); }.site-premium .site-header { height:100px; }.site-premium .brand img { width:190px; }.site-premium .nav-links { font-size:12px; letter-spacing:.08em; text-transform:uppercase; }.site-premium .header-phone,.site-premium .button-primary,.site-premium .button-secondary { border-radius:30px; }.site-premium .hero { min-height:755px; background:#eee5da; }.site-premium .hero h1 strong { font-style:italic; }.site-premium .hero-art::before { content:""; position:absolute; inset:25px 20px 22px; border-radius:55% 45% 46% 54% / 40% 56% 44% 60%; background:#c2a992; }.site-premium .moving-van { right:2%; bottom:65px; width:94%; height:210px; border-radius:150px 15px 20px 20px; background:#5c514a; }.site-premium .moving-van::before { background:#a65d4c; }.site-premium .van-name { top:70px; font-size:35px; }.site-premium .hero-label { top:0; right:14px; width:135px; height:135px; padding:31px 20px; border-radius:50%; text-align:center; line-height:1.5; }.site-premium .service-grid { gap:18px; border:0; }.site-premium .service-card { border:1px solid var(--outline); border-radius:60px 8px 8px 8px; background:#fcfaf5; }.site-premium .service-icon { width:47px; height:47px; color:var(--accent); background:#e9e0d4; }.site-premium .calculator { border-radius:60px 5px 5px 5px; }.site-premium .form-field input,.site-premium .form-field select,.site-premium .option-check,.site-premium .price-preview { border-radius:6px; }.site-premium .quote-art { border-radius:50% 50% 5px 50%; }.site-premium .quote-initial { font-style:italic; }.site-premium .contact-band { background:#5c514a; }

/* Stil 4: freundlich */
.site-friendly { --ink:#064254; --muted:#496973; --paper:#fdfcf5; --surface:#d8f2ed; --accent:#ff684e; --outline:rgba(6,66,84,.17); --heading:"Manrope",Arial,sans-serif; }.site-friendly .site-header { height:90px; }.site-friendly .brand img { display:none; }.site-friendly .brand::before { content:"↗"; display:grid; width:32px; height:32px; place-items:center; border-radius:50%; color:#fff; background:var(--accent); font-size:19px; }.site-friendly .brand::after { content:"FIX & FLOTT"; margin-left:9px; font:800 23px "Manrope",sans-serif; letter-spacing:-.1em; }.site-friendly .header-phone { border:0; border-radius:30px; color:#fff; background:#064254; }.site-friendly .hero { min-height:730px; background:#a9e5dc; }.site-friendly .hero h1,.site-friendly .site-section h2,.site-friendly .service-card h3,.site-friendly .calc-topline h3 { font-family:"Manrope",sans-serif; font-weight:800; letter-spacing:-.08em; }.site-friendly .hero h1 strong { color:#ff684e; }.site-friendly .hero-art::before { content:""; position:absolute; top:7px; right:11%; width:350px; height:350px; border-radius:45% 55% 51% 49%; background:#fdfcf5; }.site-friendly .moving-van { height:220px; border-radius:40px 90px 30px 30px; background:#064254; }.site-friendly .moving-van::before { background:#ff684e; }.site-friendly .van-name { font-family:"Manrope",sans-serif; font-size:33px; }.site-friendly .wheel { border-color:#a9e5dc; }.site-friendly .hero-label { border:0; border-radius:25px; color:#fff; background:#ff684e; }.site-friendly .button-primary { border-radius:30px; background:#064254; }.site-friendly .button-secondary { border-radius:30px; }.site-friendly .service-grid { gap:17px; border:0; }.site-friendly .service-card { border:0; border-radius:21px; background:#d8f2ed; }.site-friendly .service-card:nth-child(2) { background:#fce1b3; }.site-friendly .service-card:nth-child(3) { color:#fff; background:#064254; }.site-friendly .service-card:nth-child(3) p { color:#c5e5e4; }.site-friendly .service-icon { border-radius:14px; }.site-friendly .calculator-section { background:#f2eee3; }.site-friendly .calculator { border:0; border-radius:25px; }.site-friendly .form-field input,.site-friendly .form-field select,.site-friendly .option-check { border-radius:10px; }.site-friendly .price-preview { border-radius:15px; }.site-friendly .price-preview .button-primary { background:#ff684e; }.site-friendly .quote-art { border-radius:40px; background:#ff684e; }.site-friendly .quote-content blockquote { font-family:"Manrope",sans-serif; font-weight:700; }.site-friendly .contact-band { background:#064254; }.site-friendly .contact-band .button-primary { border-radius:30px; background:#ff684e; }

@media(max-width:820px) { .showcase-shell { grid-template-columns:1fr; padding:38px 24px 55px; }.showcase-logo { margin-bottom:37px; }.design-grid { max-width:650px; }.site-header { height:70px; padding-inline:20px; }.brand img { width:145px; }.nav-links,.header-phone { display:none; }.menu-button { display:block; }.mobile-menu { position:fixed; z-index:8; inset:70px 0 auto; padding:20px; border-bottom:1px solid var(--outline); background:var(--paper); }.mobile-menu.open { display:grid; gap:16px; }.mobile-menu a { font-weight:700; }.hero { min-height:auto; grid-template-columns:1fr; gap:15px; padding:140px 24px 64px; }.hero h1 { font-size:clamp(48px,13vw,76px); }.hero-art { height:315px; }.moving-van { bottom:39px; width:93%; height:170px; }.moving-van::before { width:125px; height:93px; }.van-name { top:61px; left:32px; font-size:29px; }.wheel { bottom:-17px; width:53px; height:53px; border-width:10px; }.wheel-one { left:54px; }.wheel-two { right:34px; }.hero-label { top:0; right:8px; }.trustbar { justify-content:flex-start; overflow-x:auto; padding-inline:24px; }.site-section { padding:72px 24px; }.service-grid,.calculator-layout,.quote-section { grid-template-columns:1fr; }.service-card { min-height:205px; }.calculator-copy { position:static; }.quote-art { min-height:275px; }.quote-initial { font-size:180px; }.contact-band { flex-direction:column; align-items:flex-start; padding:55px 24px; }.site-footer { flex-direction:column; align-items:flex-start; padding:26px 24px 55px; }.site-urban .brand::after { display:none; }.site-premium .hero-art::before { inset:10px 20px 30px; }.site-friendly .hero-art::before { width:245px; height:245px; } }
@media(max-width:510px) { .design-grid,.form-row,.option-grid { grid-template-columns:1fr; }.design-card { min-height:250px; }.price-preview { flex-direction:column; align-items:flex-start; }.price-preview .button-primary { width:100%; }.footer-links { flex-wrap:wrap; } }
