@font-face{font-family:Inter;src:url('assets/fonts/inter-var-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#f6f5ef;--white:#fffefa;--ink:#203b36;--muted:#56645d;--green:#1e4a3e;--dark:#173b32;--line:#d7dcd2;--lime:#dfedbc;--serif:Georgia,'Times New Roman',serif;--sans:Inter,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{font:inherit}button,summary{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.12;text-wrap:balance}h1{font-size:clamp(2.7rem,4.5vw,4.5rem)}h2{font-size:clamp(2.1rem,3.3vw,3.15rem)}h3{font-size:1.32rem;font-weight:550;line-height:1.35;letter-spacing:-.025em;text-wrap:balance}em{font-weight:400}p{max-width:66ch}p+p{margin-top:1rem}::selection{background:var(--lime);color:var(--dark)}:focus-visible{outline:3px solid #a77324;outline-offset:5px}section[id]{scroll-margin-top:1rem}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:.68rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;line-height:1.65}.section{padding-block:100px}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px 20px;background:var(--dark);color:white;transform:translateY(-160%)}.skip-link:focus{transform:none}
.header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:88px;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:1.35rem;font-weight:650;letter-spacing:-.045em;line-height:1.1}.brand-sub{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.24em;margin-top:6px;font-weight:500}.brand-symbol{display:grid;place-content:center;border:1px solid var(--ink);width:42px;height:44px;font-family:var(--serif);font-weight:400;font-size:2.15rem;position:relative}.brand-symbol>span{position:absolute;right:4px;bottom:0}.navigation{display:flex;align-items:center;gap:32px}.navigation>a:not(.button){font-size:.82rem;text-decoration:none}.navigation>a:not(.button):hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--green);color:var(--white);padding:15px 23px;text-decoration:none;font-size:.83rem;font-weight:550;border:1px solid transparent;transition:background .18s,transform .18s;line-height:1.5}.button:hover{background:#122f27;transform:translateY(-2px)}.button span{font-size:1.1rem}.button-small{font-size:.78rem;padding:11px 18px;gap:22px}.button-light{background:var(--lime);color:var(--dark)}.button-light:hover{background:#f0f5db}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:.8rem;font-weight:550;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;line-height:1.55}.text-link:hover{color:#537041}.menu-toggle{background:transparent;border:1px solid var(--line);padding:9px 13px;color:var(--ink);font-size:.82rem}.menu-toggle span{margin-left:12px}
.hero{padding-block:88px 80px;display:grid;grid-template-columns:1.17fr 1fr;align-items:center;gap:65px}.hero .eyebrow{margin-bottom:25px;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:var(--green);border-radius:50%;flex:none}.hero h1{margin-bottom:25px}.hero h1 em{color:#4e6b51}.hero-intro{font-size:1.02rem;line-height:1.85;color:var(--muted);max-width:49ch}.hero-promise{font-size:.82rem;margin-top:15px}.actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}.actions .text-link{font-size:.74rem}.system-map{background:#eeefe6;padding:30px 27px 24px;border:1px solid #e0e3d6;position:relative}.map-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.map-top .eyebrow{margin:0}.map-mark{font-size:1.5rem}.map-sources{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;text-align:center}.map-sources>span{background:var(--white);border:1px solid #cbd3c4;padding:12px 2px;font-size:.72rem;font-weight:550}.map-connectors{height:43px;display:flex;justify-content:space-around;position:relative;margin-inline:16%}.map-connectors span{height:22px;border-left:1px solid #95a78c;position:absolute;top:0}.map-connectors span:first-child{left:0}.map-connectors span:nth-child(2){left:50%;height:43px}.map-connectors span:last-child{right:0}.map-connectors:after{content:'';position:absolute;top:22px;left:0;right:0;border-top:1px solid #95a78c}.map-core{position:relative;padding:25px 21px;background:var(--green);color:var(--white);display:flex;gap:22px;align-items:center;box-shadow:0 15px 25px -20px #173b3270}.core-symbol{font-family:var(--serif);font-size:3rem;color:var(--lime);line-height:1}.map-core strong{font-size:1.22rem;font-weight:500;line-height:1.4;display:block}.map-core div>span{display:block;font-size:.65rem;color:#d5dfd4;margin-top:9px}.map-stem{height:34px;width:1px;background:#95a78c;margin:auto}.map-outcomes{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #bac5b2;border-bottom:1px solid #bac5b2}.map-outcomes>div{padding:19px 10px;display:flex;align-items:center;gap:12px}.map-outcomes>div+div{border-left:1px solid #bac5b2}.map-outcomes strong{font-size:.78rem;font-weight:500;line-height:1.6}.outcome-icon{font-size:1.4rem;color:#577549}.system-map figcaption{font-size:.66rem;color:var(--muted);margin-top:21px;line-height:1.6}.context-strip{border-block:1px solid var(--line)}.context-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:25px}.context-inner p{font-size:.75rem;line-height:1.65}.context-inner strong{font-weight:550}.context-inner>span{font-size:.76rem;color:var(--muted)}
.section-heading{display:grid;grid-template-columns:1fr 2.15fr;gap:35px;margin-bottom:52px}.section-heading>.eyebrow{padding-top:9px}.section-heading h2{margin-bottom:22px}.section-heading div>p{color:var(--muted);font-size:.94rem;max-width:59ch}.services{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service{padding:34px 35px 35px 0;border-bottom:1px solid var(--line)}.service:nth-child(even){border-left:1px solid var(--line);padding-left:35px;padding-right:0}.service-top{display:flex;gap:15px;align-items:center;margin-bottom:24px}.service-top .eyebrow{color:var(--muted);font-size:.61rem}.service-icon{font-size:1.6rem;line-height:1;min-width:24px}.service h3{font-size:1.4rem;margin-bottom:16px}.service>p{color:var(--muted);font-size:.88rem;max-width:52ch}.service ul{list-style:none;padding:0;margin:23px 0 0;font-size:.78rem}.service li{padding-left:17px;position:relative;margin-top:6px}.service li:before{content:'–';position:absolute;left:0;color:#638553}.service .text-link{margin-top:18px;font-size:.76rem}.technology-note{margin-top:30px;display:flex;justify-content:space-between;gap:25px;align-items:baseline}.technology-note .eyebrow{font-size:.58rem;max-width:200px}.technology-note p{color:var(--muted);font-size:.73rem}.technology-note p span{margin-inline:8px}
.projects-section{background:#eaece4;border-block:1px solid var(--line)}.project{background:var(--white)}.project-featured{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding:42px}.project .eyebrow{font-size:.61rem;color:var(--muted);margin-bottom:19px}.project h3{font-family:var(--serif);font-weight:400;font-size:2rem;letter-spacing:-.04em;line-height:1.2;margin-bottom:20px}.project p:not(.eyebrow){font-size:.85rem;color:var(--muted)}.project .project-result{color:var(--ink);padding-left:17px;border-left:2px solid #88a576;margin-top:23px}.project-flow{background:#f1f2e9;padding:29px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.project-flow .eyebrow{font-size:.58rem}.flow-step{display:flex;gap:18px;align-items:center;padding-block:18px;border-bottom:1px solid var(--line)}.flow-step>span{width:32px;flex:none;color:#557043;font-size:1.5rem}.flow-step strong{font-size:.85rem;font-weight:550}.flow-step p{font-size:.72rem!important;margin-top:3px}.project-flow .flow-caption{font-size:.65rem;margin-top:19px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.project-compact{padding:36px}.project details{border-top:1px solid var(--line);margin-top:26px;padding-top:17px}.project summary{font-size:.75rem}.project details>p{margin-top:14px}.project .project-tools{font-size:.69rem;font-weight:550}.project-footnote{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:30px}.project-footnote>p{font-size:.8rem;color:var(--muted);max-width:76ch}.project-footnote .text-link{flex:none;font-size:.75rem}
.science-section{background:var(--dark);color:var(--white)}.science-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.science-section .eyebrow{color:#c0d0bb;margin-bottom:25px}.science-section h2{font-size:clamp(2rem,3.1vw,3rem);margin-bottom:27px}.science-section h2 em{color:var(--lime)}.science-section p:not(.eyebrow){font-size:.9rem;color:#d2dfd5}.science-section .button{margin-top:29px}.science-practice{border:1px solid #557366;padding:34px}.science-practice .eyebrow{font-size:.6rem}.science-practice h3{font-family:var(--serif);font-size:1.85rem;font-weight:400;margin-bottom:20px}.science-path{display:flex;flex-direction:column;margin-block:24px;border-left:1px solid #6a886f;padding-left:20px;gap:13px}.science-path span{font-size:.76rem;color:var(--lime);position:relative}.science-path span:before{content:'';width:5px;height:5px;background:var(--lime);border-radius:50%;position:absolute;left:-23px;top:9px}.science-practice .science-note{font-size:.72rem}.science-practice .text-link{font-size:.73rem;margin-top:23px;color:var(--lime)}.science-topics{border-top:1px solid #557366;padding-top:27px;margin-top:60px;display:flex;justify-content:space-between;gap:20px;font-size:.77rem;color:#d2dfd5}
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process li{border-top:1px solid #aab9a0;padding-top:30px;position:relative}.process-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--green);top:-5px;left:0;outline:7px solid var(--paper)}.process h3{font-family:var(--serif);font-size:1.65rem;font-weight:400;margin-bottom:17px}.process p{font-size:.8rem;color:var(--muted)}.deliverable{display:block;font-size:.69rem;margin-top:22px;font-weight:550}.work-note{border-top:1px solid var(--line);padding-top:24px;margin-top:38px;font-size:.82rem;color:var(--muted)}
.about-section{background:#eeeee6;border-block:1px solid var(--line)}.about-layout{display:grid;grid-template-columns:340px 1fr;gap:95px;align-items:center}.portrait img{width:100%;filter:grayscale(1);aspect-ratio:1;object-fit:cover}.portrait figcaption{padding-top:17px;font-size:.9rem;font-weight:550}.portrait figcaption span{display:block;color:var(--muted);font-size:.73rem;font-weight:400;margin-top:2px}.about-copy .eyebrow{margin-bottom:23px}.about-copy h2{margin-bottom:24px}.about-copy>p:not(.eyebrow){font-size:.88rem;color:var(--muted)}.about-copy .text-link{margin-top:25px}
.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.faq-layout .eyebrow{margin-bottom:20px}.faq-layout h2{font-size:2.35rem}.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}.faq-list details:first-child{border-top:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:24px;align-items:center;list-style:none;font-size:.85rem;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:1.1rem;flex:none;transition:transform .2s}details[open]>summary span{transform:rotate(45deg)}.faq-list details>p{margin-top:17px;font-size:.81rem;color:var(--muted);padding-right:35px}
.contact-section{background:var(--dark);color:var(--white);padding-block:76px}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.contact-section .eyebrow{color:#c0d0bb;margin-bottom:20px}.contact-section h2{font-size:clamp(2.6rem,4.2vw,4rem);margin-bottom:23px}.contact-section h2 em{color:var(--lime)}.contact-section p{font-size:.88rem;color:#d2dfd5;max-width:48ch}.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.contact-action .button{min-width:235px;justify-content:space-between}.email-link{font-size:.81rem;text-decoration:none;overflow-wrap:anywhere;max-width:100%}.email-link:hover{text-decoration:underline}.copy-email{padding:0;border:0;background:none;color:#d2dfd5;text-decoration:underline;text-underline-offset:4px;font-size:.73rem;min-height:32px}.contact-action .contact-hint{font-size:.74rem;color:#b8cabe;margin-top:0}.copy-status:empty{display:none}.contact-action .copy-status{font-size:.75rem;margin:0}.footer{padding-block:32px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{display:block;font-size:1.2rem}.footer-inner>p{font-size:.7rem;color:var(--muted)}.footer nav{display:flex;gap:23px;flex-wrap:wrap;font-size:.7rem}.footer nav a{text-decoration:none}.footer nav a:hover{text-decoration:underline}
@media(min-width:1600px){.hero{padding-block:110px 100px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero{gap:35px}.hero h1{font-size:3.4rem}.system-map{padding:24px 18px}.map-core{padding:23px 15px;gap:15px}.map-core div>span{font-size:.6rem}.map-outcomes>div{padding-inline:6px;gap:6px}.map-outcomes strong{font-size:.7rem}.navigation{gap:23px}.about-layout{grid-template-columns:290px 1fr;gap:55px}.science-layout{gap:45px}.project-featured{gap:30px;padding:30px}.faq-layout{gap:45px}.technology-note{align-items:flex-start}.context-inner>span{font-size:.68rem}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.section{padding-block:66px}.header-inner{min-height:75px;flex-wrap:wrap;gap:0;padding-block:13px}.brand{font-size:1.15rem}.brand-symbol{width:36px;height:39px;font-size:1.9rem}.brand-sub{font-size:.55rem}.navigation{width:100%;justify-content:space-between;gap:10px;padding-top:18px;flex-wrap:wrap}.navigation>a:not(.button){font-size:.76rem}.navigation .button{padding:10px 13px}.menu-toggle:not([hidden]){display:block}.menu-ready .navigation{display:none}.menu-ready .navigation.is-open{display:flex;flex-direction:column;align-items:stretch;padding-top:20px;gap:0}.menu-ready .navigation>a{padding:13px 8px}.menu-ready .navigation .button{margin-top:10px}.hero{grid-template-columns:1fr;gap:39px;padding-block:51px}.hero-copy{max-width:650px}.hero h1{font-size:clamp(2.8rem,7vw,4rem)}.hero .eyebrow{font-size:.62rem}.hero-intro{max-width:57ch;font-size:.97rem}.hero-promise{font-size:.78rem}.actions{gap:20px;margin-top:25px}.system-map{width:100%;max-width:550px;padding:28px;justify-self:center}.map-top{margin-bottom:28px}.map-core{padding:26px;gap:24px}.map-core strong{font-size:1.2rem}.map-core div>span{font-size:.7rem}.map-outcomes>div{padding:20px 13px;gap:18px}.map-outcomes strong{font-size:.8rem}.context-inner{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px}.context-inner>span{font-size:.73rem}.section-heading{grid-template-columns:1fr;gap:19px;margin-bottom:36px}.section-heading h2{margin-bottom:18px}.section-heading div>p{font-size:.9rem}.service{padding-right:23px}.service:nth-child(even){padding-left:23px}.service-top{align-items:flex-start}.service-top .eyebrow{font-size:.55rem}.service h3{font-size:1.22rem}.service>p{font-size:.83rem}.service ul{font-size:.72rem}.technology-note{display:block}.technology-note .eyebrow{max-width:none;display:block;margin-bottom:10px}.technology-note p{line-height:2}.project-featured{grid-template-columns:1fr;gap:30px}.project-flow{padding:25px}.project-grid{gap:18px}.project-compact{padding:26px}.project h3{font-size:1.8rem}.project-footnote{display:block}.project-footnote .text-link{margin-top:18px}.science-layout{grid-template-columns:1fr;gap:37px}.science-practice{max-width:600px}.science-topics{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px;font-size:.73rem}.process{grid-template-columns:1fr 1fr;gap:38px 27px}.about-layout{grid-template-columns:210px 1fr;gap:35px;align-items:start}.about-copy h2{font-size:2.1rem}.about-copy>p:not(.eyebrow){font-size:.84rem}.faq-layout{grid-template-columns:1fr;gap:30px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-section{padding-block:58px}.footer-inner{flex-wrap:wrap}.footer nav{width:100%}}
@media(max-width:480px){.hero h1{font-size:2.8rem}.hero-intro{font-size:.9rem}.hero-promise{font-size:.76rem}.actions{flex-direction:column;align-items:flex-start}.system-map{padding:22px 16px}.map-sources{gap:8px}.map-sources>span{font-size:.65rem;padding:11px 0}.map-core{padding:22px 16px;gap:19px}.map-core strong{font-size:1.07rem}.map-core div>span{font-size:.58rem}.map-outcomes>div{padding:18px 4px;gap:8px}.map-outcomes strong{font-size:.69rem}.system-map figcaption{font-size:.6rem}.context-inner>span{font-size:.68rem}.services{grid-template-columns:1fr}.service,.service:nth-child(even){border-left:0;padding:28px 0}.service-top .eyebrow{font-size:.59rem}.service h3{font-size:1.4rem}.service>p{font-size:.88rem}.service ul{font-size:.77rem}.service-top{margin-bottom:18px}.project-featured{padding:24px 20px}.project-grid{grid-template-columns:1fr}.project-compact{padding:27px 22px}.project-flow{padding:20px}.science-practice{padding:26px 23px}.science-topics{font-size:.68rem;gap:16px}.process{grid-template-columns:1fr;gap:29px}.process li{padding-top:22px}.process h3{margin-bottom:10px}.deliverable{margin-top:12px}.about-layout{grid-template-columns:1fr;gap:33px}.portrait{max-width:280px}.about-copy h2{font-size:2.3rem}.faq-layout h2{font-size:2.15rem}.faq-list details>p{padding-right:12px}.contact-section h2{font-size:2.9rem}.email-link{font-size:.74rem}.footer-inner{gap:23px}.footer-inner>p{font-size:.65rem}.footer nav{gap:21px;font-size:.67rem}}
/* Grid items must be able to shrink around long German words. */
.science-details{border-top:1px solid #557366;margin-top:25px;padding-top:18px}.science-details summary{color:var(--lime);font-size:.8rem}.science-section .science-details>p{font-size:.8rem;margin-top:16px}
.hero>*,.section-heading>*,.project-featured>*,.project-grid>*,.science-layout>*,.about-layout>*,.faq-layout>*,.contact-layout>*{min-width:0}
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}.map-outcomes strong{overflow-wrap:anywhere;hyphens:auto}.flow-step>div{min-width:0}
h1{hyphens:none;overflow-wrap:normal}
.service-top .eyebrow,.project .eyebrow,.project-flow .eyebrow,.science-practice .eyebrow,.technology-note .eyebrow{font-size:.68rem}
.project p:not(.eyebrow){font-size:.9rem}.project .project-tools{font-size:.75rem}.project-flow .flow-caption{font-size:.72rem}
@media(max-width:480px){.hero h1{font-size:clamp(2.2rem,9.8vw,2.8rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.header,.footer,.actions,.contact-action,.menu-toggle{display:none!important}.container{width:100%}.section{padding-block:30px}.hero{padding-block:25px}.science-section,.contact-section{background:white;color:#173b32}.science-section p,.contact-section p,.science-section .eyebrow{color:#173b32}.project,.service,.portrait{break-inside:avoid}}

/* Rechtstexte im Entwurfsdesign. */
.legal-hero{padding-block:58px 48px;border-bottom:1px solid var(--line)}
.legal-hero>.text-link{margin-bottom:42px}.legal-hero>.eyebrow{margin-bottom:18px}
.legal-hero h1{font-size:clamp(2.3rem,4.5vw,4.5rem);hyphens:auto;overflow-wrap:anywhere}
.legal-intro{margin-top:22px;color:var(--muted);font-size:1rem}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:75px;padding-block:48px 90px}
.legal-toc{align-self:start;position:sticky;top:120px;display:flex;flex-direction:column;gap:12px}
.legal-toc>.eyebrow{margin-bottom:10px}.legal-toc>a{font-size:.8rem;line-height:1.55;text-decoration:none;color:var(--muted)}
.legal-toc>a:hover{text-decoration:underline;color:var(--green)}
.legal-content{min-width:0;max-width:76ch}.legal-section+.legal-section{margin-top:34px;padding-top:34px;border-top:1px solid var(--line)}
.legal-section h2{font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.03em;line-height:1.25;margin-bottom:20px;scroll-margin-top:115px}
.legal-section p,.legal-section li{font-size:.94rem;line-height:1.85;color:var(--muted)}
.legal-section p{max-width:none}.legal-section a{color:var(--ink);overflow-wrap:anywhere}
.legal-section ul{padding-left:1.3rem;margin-block:18px}.legal-section li+li{margin-top:9px}
.legal-back{margin-top:42px}.legal-page+.footer{border-top:1px solid var(--line)}
.footer nav a[aria-current=page]{text-decoration:underline}
@media(max-width:1100px){.legal-layout{gap:45px;grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:800px){.legal-hero{padding-block:36px}.legal-hero>.text-link{margin-bottom:30px}.legal-layout{grid-template-columns:1fr;gap:35px;padding-block:30px 58px}.legal-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:28px}.legal-section p,.legal-section li{font-size:.9rem}.legal-section h2{scroll-margin-top:100px}}
@media print{.legal-toc,.legal-back,.legal-hero>.text-link{display:none}.legal-hero{padding-block:20px}.legal-layout{display:block;padding-block:25px}.legal-content{max-width:none}.legal-section h2{break-after:avoid}}


/* Dezenter Projektchat; Kommunikation beginnt erst mit dem Absenden. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-chat{position:fixed;z-index:50;right:max(22px,calc((100vw - 1200px)/2));bottom:22px;display:flex;flex-direction:column;align-items:flex-end;gap:14px;max-width:calc(100vw - 32px)}
.project-chat__toggle{display:grid;place-items:center;width:56px;height:56px;padding:0;border:2px solid #ffffff33;border-radius:50%;background:var(--dark);color:var(--white);box-shadow:0 10px 35px #173b3226;cursor:pointer;transition:background .2s,transform .2s}
.project-chat__toggle:hover{background:#28594c;transform:scale(1.06)}.project-chat__toggle:focus-visible{background:#28594c}.project-chat__icon{display:block;width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.project-chat__panel{display:flex;flex-direction:column;width:min(390px,calc(100vw - 32px));height:min(590px,calc(100dvh - 105px));min-height:340px;overflow:hidden;border:1px solid #ffffffc7;border-radius:24px;background:#f8fafbea;backdrop-filter:blur(18px);box-shadow:0 24px 75px #142f2938}
.project-chat__panel[hidden]{display:none}.project-chat__header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 15px;border-bottom:1px solid #173b3214;background:#ffffffa8}
.project-chat__header .eyebrow{font-size:.58rem;color:var(--muted);margin-bottom:9px}.project-chat__header h2{font-size:1.35rem;line-height:1.25;margin:0;max-width:30ch}
.project-chat__close{display:grid;place-items:center;flex:none;border:1px solid #e4ebe4;border-radius:50%;background:#f2f5f1;color:#52665d;width:34px;height:34px;font-size:1.3rem;line-height:1;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.project-chat__close:hover{background:var(--dark);border-color:var(--dark);color:var(--white)}
.project-chat__notice{padding:13px 22px;margin:0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.68rem;line-height:1.6}
.project-chat__notice a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.project-chat__messages{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 18px;overflow-y:auto;overscroll-behavior:contain;background:#f1f5f980}
.project-chat__bubble{max-width:88%;margin:0;padding:11px 14px;background:var(--white);border:1px solid var(--line);border-radius:18px 18px 18px 4px;box-shadow:0 2px 8px #173b320d;color:var(--ink);font-size:.79rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.project-chat__bubble--user{align-self:flex-end;background:var(--dark);border-color:var(--dark);border-radius:18px 18px 4px 18px;color:white}
.project-chat__bubble--error{border-color:#ad7066;border-radius:16px;color:#7b3329}.project-chat__typing{display:flex;align-items:center;gap:5px;min-width:58px;min-height:40px;padding:12px 15px}
.project-chat__typing-dot{width:6px;height:6px;border-radius:50%;background:#718078;animation:chat-dot-bounce 1s infinite ease-in-out}.project-chat__typing-dot:nth-child(2){animation-delay:.16s}.project-chat__typing-dot:nth-child(3){animation-delay:.32s}@keyframes chat-dot-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.project-chat__form{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:14px 16px 16px;border-top:1px solid #173b3214;background:#ffffffc7}
.project-chat__hint{margin:0;color:var(--muted);font-size:.62rem;line-height:1.3}
.project-chat__composer{position:relative}.project-chat__form textarea{display:block;width:100%;resize:vertical;min-height:68px;max-height:120px;padding:12px 54px 12px 14px;border:1px solid #d9e2d9;border-radius:18px;background:#fff;color:var(--ink);font:400 .8rem/1.55 var(--sans);box-shadow:0 2px 8px #173b320a;transition:border-color .18s,box-shadow .18s}.project-chat__form textarea:focus{border-color:#9daf9d;box-shadow:0 0 0 3px #8baa7a20}.project-chat__form textarea::placeholder{color:#85928b}
.project-chat__form .button{position:absolute;right:9px;bottom:9px;display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:50%;background:var(--dark);color:white;box-shadow:0 2px 6px #173b3233;transition:background .18s,transform .18s}.project-chat__form .button:hover{background:#28594c;transform:scale(1.05)}.project-chat__form .button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.project-chat__form .button:disabled{opacity:.55;transform:none}
.project-chat__form textarea:focus-visible,.project-chat__close:focus-visible,.project-chat__toggle:focus-visible,.project-chat__form button:focus-visible{outline:3px solid #8baa7a;outline-offset:3px}
.project-chat__status{margin:0;color:var(--muted);font-size:.68rem;line-height:1.45}.project-chat__status:empty{display:none}
@media(max-width:480px){.project-chat{right:16px;bottom:16px;max-width:calc(100vw - 32px)}.project-chat__panel{width:calc(100vw - 32px);height:min(620px,calc(100dvh - 90px))}}
@media(prefers-reduced-motion:reduce){.project-chat__toggle{scroll-behavior:auto;transition:none}.project-chat__typing-dot{animation:none;opacity:.7}}
@media print{.project-chat{display:none!important}}

.project-chat__status--error{color:#7b3329}
