/* District pages: Berlin red, generous typography and a real local photograph. */
.district-hero{padding:18px 0 0;background:var(--paper);overflow:hidden}
.district-hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:54px;align-items:center;padding-bottom:54px}
.district-hero-copy{padding:10px 0;min-width:0}
.district-back{display:inline-flex;gap:8px;align-items:center;color:var(--ink-2);font-size:.84rem;text-decoration:none;margin-bottom:34px}
.district-back .icon{width:17px;height:17px}
.district-back:hover{color:var(--accent)}
.district-hero-copy>.eyebrow{display:block;line-height:1.6;letter-spacing:.08em;margin-bottom:19px;overflow-wrap:anywhere}
.district-hero-copy h1{font-size:clamp(2.65rem,4.55vw,4.75rem);line-height:1.06;letter-spacing:-.055em;margin:0 0 25px;max-width:12.8ch;text-wrap:balance;overflow-wrap:normal;hyphens:auto}
.district-lead{font-size:1.06rem;line-height:1.75;max-width:51ch;color:var(--ink-2);margin:0 0 28px}
.district-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.district-actions .button{gap:18px}
.district-actions .button .icon,.district-planning .button .icon{width:20px;height:20px}
.district-text-link{font-weight:600;color:var(--ink);text-underline-offset:5px;font-size:.94rem;display:inline-flex;align-items:center;min-height:44px}
.district-text-link:hover{color:var(--accent)}
.district-hero-assurance{display:flex;align-items:center;gap:8px;font-size:.79rem;color:var(--ink-2);margin:18px 0 0}
.district-hero-assurance .icon{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.district-hero-visual{margin:0;position:relative;min-width:0;align-self:stretch;min-height:560px;background:var(--paper-2);border-radius:10px;overflow:hidden}
.district-hero-photo{display:block;position:absolute;inset:0}
.district-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.district-hero-visual:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,15,22,.73));pointer-events:none}
.district-hero-visual figcaption{position:absolute;left:25px;right:25px;bottom:23px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff;font-size:.79rem;line-height:1.5}
.district-hero-visual figcaption>span{display:flex;align-items:flex-start;gap:8px;max-width:70%}
.district-hero-visual figcaption .icon{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.district-hero-visual figcaption>a{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fff;text-underline-offset:4px;font-size:.7rem;white-space:nowrap;min-width:44px;min-height:44px}
.district-photo-label{position:absolute;left:25px;top:25px;z-index:2;padding:13px 16px;border-radius:5px;background:#fff;color:var(--accent);font-size:.6rem;font-weight:700;letter-spacing:.16em;max-width:calc(100% - 50px);box-shadow:0 3px 18px #0000000d}
.district-photo-label>span{display:block;margin-top:3px;letter-spacing:-.015em;font-size:1rem;color:var(--ink);font-family:var(--font-heading,'Bricolage','Arial',sans-serif);font-weight:650;line-height:1.3}
.district-focus-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#FAFAFB}
.district-focus-bar>.wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:22px}
.district-focus-bar span{display:flex;gap:12px;align-items:center;font-weight:600;font-size:.88rem}
.district-focus-bar .icon{width:22px;height:22px;color:var(--accent);flex-shrink:0}
.district-story-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:42px}
.district-story-heading h2{max-width:14ch;margin:14px 0 0;font-size:clamp(2.1rem,3.4vw,3.5rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.district-story-heading>p{font-size:1.04rem;line-height:1.8;color:var(--ink-2);margin:0;max-width:55ch}
.district-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.district-area-card{position:relative;padding:31px 29px 29px;border:1px solid var(--border);border-radius:9px;background:var(--paper);min-width:0}
.district-area-number{display:inline-flex;font-family:monospace;color:var(--accent);font-size:.77rem;font-weight:600;padding-bottom:22px}
.district-area-card h3{font-size:1.32rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 16px}
.district-area-card p{font-size:.94rem;line-height:1.8;margin:0;color:var(--ink-2)}
.district-planning{background:var(--moss);color:#fff;padding:74px 0}
.district-planning-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:100px;align-items:center}
.district-planning-intro .eyebrow{color:#FF929A}
.district-planning-intro h2{color:#fff;max-width:12ch;font-size:clamp(2.2rem,3.4vw,3.6rem);line-height:1.09;letter-spacing:-.04em;margin:15px 0 20px;text-wrap:balance}
.district-planning-intro p{color:#CCD0D7;line-height:1.75;max-width:37ch;margin:0 0 27px}
.district-planning-intro .button{gap:19px}
.district-plan-list{list-style:none;margin:0;padding:0}
.district-plan-list li{display:flex;gap:22px;padding:27px 0;border-bottom:1px solid #ffffff26}
.district-plan-list li:first-child{padding-top:0}
.district-plan-list li:last-child{border-bottom:0;padding-bottom:0}
.district-plan-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ffffff40;border-radius:50%;font-size:.75rem;font-family:monospace;color:#FF929A;flex-shrink:0}
.district-plan-list h3{color:#fff;margin:1px 0 9px;font-size:1.19rem;line-height:1.3;letter-spacing:-.02em}
.district-plan-list p{color:#CCD0D7;font-size:.92rem;line-height:1.75;margin:0;max-width:48ch}
#district-anfrage{scroll-margin-top:110px}
@media(min-width:1500px){.district-hero-copy h1{font-size:4.65rem}}
@media(max-width:1100px){.district-hero-grid{gap:34px}.district-hero-copy h1{font-size:3.45rem}.district-hero-visual{min-height:540px}.district-story-heading{gap:45px}.district-planning-grid{gap:55px}.district-area-card{padding:25px 22px}.district-hero-visual figcaption{left:18px;right:18px;flex-direction:column;align-items:flex-start;gap:8px}.district-hero-visual figcaption>span{max-width:100%}.district-focus-bar span{font-size:.8rem}}
@media(max-width:800px){.district-hero{padding-top:0}.district-hero-grid{grid-template-columns:1fr;gap:29px;padding-bottom:30px}.district-hero-copy{padding:0}.district-back{margin-bottom:25px}.district-hero-copy h1{font-size:clamp(2.6rem,7.5vw,3.6rem);max-width:18ch;margin-bottom:20px}.district-lead{font-size:1rem;max-width:60ch}.district-hero-visual{min-height:0;height:390px;border-radius:8px}.district-hero-visual figcaption{flex-direction:row;align-items:flex-end}.district-hero-visual figcaption>span{max-width:70%}.district-focus-bar>.wrap{flex-wrap:wrap;justify-content:flex-start;gap:18px 27px;padding-block:19px}.district-focus-bar span{font-size:.8rem}.district-focus-bar .icon{width:19px;height:19px}.district-story-heading{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.district-story-heading h2{max-width:21ch}.district-story-heading>p{font-size:1rem;max-width:none}.district-area-grid{grid-template-columns:1fr;gap:14px}.district-area-card{padding:25px 27px}.district-area-number{padding-bottom:14px}.district-area-card p{max-width:64ch}.district-planning{padding:55px 0}.district-planning-grid{grid-template-columns:1fr;gap:39px}.district-planning-intro h2{max-width:19ch}.district-planning-intro p{max-width:50ch}.district-plan-list p{max-width:none}}
@media(max-width:480px){.district-hero-copy h1{font-size:2.68rem}.district-hero-copy>.eyebrow{font-size:.65rem;letter-spacing:.07em;margin-bottom:14px}.district-actions{gap:19px}.district-actions .button{width:100%;justify-content:center}.district-text-link{font-size:.9rem}.district-hero-assurance{font-size:.73rem}.district-hero-visual{height:320px}.district-photo-label{left:18px;top:18px;padding:10px 12px}.district-photo-label>span{font-size:.86rem}.district-hero-visual figcaption{font-size:.72rem;gap:12px}.district-hero-visual figcaption>a{font-size:0;gap:0}.district-hero-visual figcaption>a .icon{width:21px;height:21px}.district-focus-bar>.wrap{gap:15px;display:grid;grid-template-columns:1fr}.district-area-card{padding:23px}.district-plan-list li{gap:16px}.district-plan-number{width:34px;height:34px}.district-planning-intro .button{font-size:.9rem}.district-planning-intro h2{font-size:2.45rem}.district-story-heading h2{font-size:2.4rem}}
