/* Patrick Krisch Website – Projekte */
.projects-page{background:var(--page-bg);color:var(--navy)}
.projects-hero{padding:var(--subpage-hero-padding-top) 0 var(--subpage-hero-padding-bottom);background:none}
.projects-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:var(--subpage-breadcrumb-gap);color:#52657f;font-size:12px}
.projects-breadcrumb a{color:var(--navy);text-decoration:none}.projects-breadcrumb a:hover{text-decoration:underline}
.projects-hero__grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(430px,1.14fr);gap:54px;min-height:var(--subpage-hero-min-height);align-items:start}
.projects-hero__copy{max-width:610px}.projects-hero h1{max-width:620px;margin:0;color:var(--subpage-title-color);font-size:var(--subpage-title-size);line-height:.98;letter-spacing:-.045em}.projects-hero h1 span{color:#008f93}.projects-accent{display:block;width:46px;height:2px;margin:24px 0;background:#089bb0}.projects-hero__copy>p{max-width:570px;margin:0 0 15px;color:#203756;font-size:var(--hero-copy-size);line-height:1.75}.projects-hero__copy .projects-hero__lead{font-size:25px;line-height:1.25;font-weight:800;color:var(--navy)}
.projects-hero__visual{position:relative;min-height:320px;align-self:center;isolation:isolate}.projects-hero__visual::after{content:"";position:absolute;left:15%;right:4%;bottom:28px;height:36px;border-radius:50%;background:rgba(20,56,94,.13);filter:blur(20px);z-index:-2}.projects-hero__visual::before{content:"";position:absolute;inset:25px 0 30px;opacity:.55;background:repeating-radial-gradient(ellipse at center,transparent 0 12px,rgba(52,137,215,.16) 13px 14px,transparent 15px 24px);transform:scaleY(.34) rotate(-8deg);z-index:-3}.projects-hero__nodes span{position:absolute;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.95);border:1px solid var(--card-border);box-shadow:0 18px 34px rgba(16,59,103,.1);color:#087d9b}.projects-hero__nodes span .ui-icon{width:30px;height:30px}.projects-hero__nodes span:nth-child(1){left:7%;top:64px}.projects-hero__nodes span:nth-child(2){right:22%;top:30px}.projects-hero__nodes span:nth-child(3){right:4%;bottom:38px}.projects-hero__route{position:absolute;left:20%;top:130px;width:57%;height:112px;border:3px dashed rgba(7,120,145,.62);border-top-color:transparent;border-right-color:transparent;border-radius:0 0 0 80px;transform:rotate(-6deg)}.projects-hero__panel{position:absolute;left:36%;bottom:21px;padding:16px 20px;border:1px solid var(--card-border);border-radius:var(--radius);background:rgba(255,255,255,.94);box-shadow:var(--card-shadow)}.projects-hero__panel strong,.projects-hero__panel small{display:block}.projects-hero__panel strong{font-size:12px;letter-spacing:.11em;color:#078c98}.projects-hero__panel small{margin-top:4px;color:#61728a;font-size:11px}
.projects-kicker{margin:0 0 12px;color:#007b91;font-size:12px;font-weight:850;letter-spacing:.08em}.projects-overview{padding:62px 0 70px}.projects-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:42px;align-items:end;margin-bottom:26px}.projects-section-head--single{grid-template-columns:1fr}.projects-section-head h2,.projects-value h2,.projects-usecases h2{margin:0;color:var(--navy);font-size:25px;line-height:1.2;letter-spacing:-.02em}.projects-section-head>p{margin:0;color:#65758b;font-size:var(--body-copy-size);line-height:1.65}
.projects-explorer{margin-top:34px}.projects-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--card-shadow)}.projects-search{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--control-border);border-radius:var(--radius-button);background:var(--surface)}.projects-search>.ui-icon{width:20px;height:20px;color:#315a88}.projects-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--navy);font:inherit;padding:13px 0}.projects-search input::placeholder{color:#8190a7}.projects-search-clear{width:32px;height:32px;border:0;background:transparent;color:var(--navy);display:grid;place-items:center;cursor:pointer}.projects-search-clear .ui-icon{width:18px;height:18px}.projects-view-switch{display:flex;gap:8px}.projects-view-switch button{min-width:118px;border:1px solid transparent;border-radius:var(--radius-button);background:var(--soft);color:var(--navy);font:inherit;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;cursor:pointer}.projects-view-switch button.is-active{background:linear-gradient(135deg,#071f4d,#075f92);color:var(--surface);box-shadow:0 10px 24px rgba(7,31,77,.15)}.projects-view-switch .ui-icon{width:19px;height:19px}.projects-filterbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.projects-filters{display:flex;flex-wrap:wrap;gap:10px}.projects-filters button,.projects-reset{border:1px solid var(--control-border);border-radius:var(--radius-button);background:var(--surface);color:var(--navy);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.projects-filters button{padding:10px 14px}.projects-filters button.is-active{border-color:transparent;background:linear-gradient(135deg,#075f81,#078c91);color:var(--surface)}.projects-reset{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:9px 4px;color:#365b85}.projects-reset .ui-icon{width:16px;height:16px}.projects-result-meta{margin:18px 0 12px;color:#536781;font-size:12px}.projects-result-meta strong{color:var(--navy)}
.projects-grid{display:grid;gap:18px;align-items:stretch}.projects-grid.is-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid.is-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.projects-grid.is-list{grid-template-columns:1fr;gap:0;border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--card-shadow)}.project-card{min-width:0;height:100%;overflow:hidden;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--card-shadow);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-card[hidden]{display:none!important}.project-card:hover{transform:translateY(-3px);border-color:#bfd5e7;box-shadow:0 16px 34px rgba(26,66,111,.09)}.project-card__preview{position:relative;min-height:260px;padding:18px;background:linear-gradient(145deg,#eef6fd 0%,#f9fcff 54%,#eaf7f8 100%);border-bottom:1px solid var(--card-border)}.project-card__windowbar{display:flex;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid #d8e4ef;border-radius:10px 10px 0 0;background:rgba(255,255,255,.92)}.project-card__windowbar>span{width:8px;height:8px;border-radius:50%;background:#c4d0dc}.project-card__windowbar strong{margin-left:7px;color:#50627b;font-size:10px;letter-spacing:.04em}.project-card__mockup{display:grid;grid-template-columns:54px 1fr;min-height:188px;border:1px solid #d8e4ef;border-top:0;border-radius:0 0 10px 10px;background:#fff;box-shadow:0 18px 40px rgba(7,31,77,.09)}.project-card__sidebar{display:flex;flex-direction:column;gap:11px;padding:18px 11px;background:var(--navy)}.project-card__sidebar span{height:7px;border-radius:99px;background:rgba(255,255,255,.25)}.project-card__sidebar span:first-child{background:rgba(255,255,255,.85)}.project-card__screen{padding:19px}.project-card__screen-head{width:42%;height:13px;margin-bottom:18px;border-radius:99px;background:#d9e7f3}.project-card__screen-row{display:grid;grid-template-columns:28px minmax(0,1fr) 58px;gap:10px;align-items:center;margin-top:10px;padding:11px 12px;border:1px solid #e5edf4;border-radius:9px;color:#43546e;font-size:11px;font-weight:700}.project-card__screen-index{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#edf5fc;color:#078c98;font-size:11px}.project-card__screen-row i{height:7px;border-radius:99px;background:#dce9f3}.project-card__preview-note{position:absolute;right:24px;bottom:24px;padding:6px 9px;border:1px solid rgba(7,140,152,.18);border-radius:99px;background:rgba(255,255,255,.88);color:#65758b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.project-card__body{display:flex;flex:1 1 auto;flex-direction:column;padding:24px 26px 26px}.project-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.project-card__meta span{padding:6px 9px;border-radius:99px;background:var(--soft);color:#53657d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.project-card__meta span:last-child{background:#eaf7f8;color:#006f83}.project-card h3{margin:0;color:var(--navy);font-size:25px;line-height:1.2;letter-spacing:-.02em}.project-card__body>p{margin:12px 0 18px;color:#65758b;font-size:var(--body-copy-size);line-height:1.65}.project-card__footer{margin-top:auto;padding-top:15px;border-top:1px solid #e8eef4;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.project-card__tech{min-width:0}.project-card__tech>strong{display:block;margin-bottom:8px;color:var(--navy);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.project-card__tech>div{display:flex;flex-wrap:wrap;gap:7px}.project-tech{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid transparent;border-radius:7px;font-size:10.5px;font-weight:800;line-height:1.1;white-space:nowrap}.project-tech--python{background:#fff5c7;border-color:#f1df85;color:#5e4a00}.project-tech--docker{background:#e8f3ff;border-color:#badbfb;color:#075b9d}.project-tech--dify{background:#f0ebff;border-color:#d6c9ff;color:#5e3eaa}.project-tech--api{background:#e7f8f8;border-color:#b8e7e4;color:#086f73}.project-tech--oauth{background:#fff0df;border-color:#f4d1a9;color:#91520c}.project-tech--ocr{background:#fff0e9;border-color:#f2cbb8;color:#a34922}.project-tech--local-ai{background:#f5eaff;border-color:#dec6f3;color:#75428e}.project-tech--webapp{background:#e6f7f0;border-color:#bce6d2;color:#187258}.project-tech--database{background:#eaf0ff;border-color:#c8d5f7;color:#39589b}.project-tech--architecture{background:#edf1f5;border-color:#d2dbe4;color:#4f6072}.project-tech--generic{background:#f1f6fb;border-color:#dce6ef;color:#52657f}.project-card__action-group{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;min-width:max-content;text-align:right}.project-card__action{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;font-weight:800;color:#079699;opacity:.9;white-space:nowrap}.project-card__action .ui-icon{width:16px;height:16px}.project-card__action-group small{display:block;margin-top:4px;color:#8a98aa;font-size:10px}.projects-empty{margin:28px 0 0;padding:22px;border:1px dashed var(--card-border);border-radius:var(--radius);color:#65758b;text-align:center}
.projects-grid.is-grid-3 .project-card__preview{min-height:215px;padding:14px}.projects-grid.is-grid-3 .project-card__mockup{grid-template-columns:42px 1fr;min-height:148px}.projects-grid.is-grid-3 .project-card__sidebar{padding:14px 8px}.projects-grid.is-grid-3 .project-card__screen{padding:14px 10px}.projects-grid.is-grid-3 .project-card__screen-head{height:10px;margin-bottom:12px}.projects-grid.is-grid-3 .project-card__screen-row{grid-template-columns:23px minmax(0,1fr);gap:7px;margin-top:7px;padding:8px;font-size:9.5px}.projects-grid.is-grid-3 .project-card__screen-row i{display:none}.projects-grid.is-grid-3 .project-card__screen-index{width:22px;height:22px;font-size:9px}.projects-grid.is-grid-3 .project-card__preview-note{right:18px;bottom:18px}.projects-grid.is-grid-3 .project-card__body{padding:20px}.projects-grid.is-grid-3 .project-card h3{font-size:21px}.projects-grid.is-grid-3 .project-card__body>p{font-size:14px;line-height:1.6}.projects-grid.is-grid-3 .project-card__footer{gap:10px}.projects-grid.is-grid-3 .project-tech{font-size:9.5px;padding:5px 7px}.projects-grid.is-grid-3 .project-card__action{font-size:12px}
.projects-grid.is-list .project-card{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);border:0;border-radius:0;box-shadow:none;min-height:230px}.projects-grid.is-list .project-card+.project-card{border-top:1px solid var(--line)}.projects-grid.is-list .project-card:hover{transform:none;background:#f8fbfe}.projects-grid.is-list .project-card__preview{min-height:230px;border:0;border-right:1px solid var(--card-border);padding:16px}.projects-grid.is-list .project-card__mockup{min-height:160px}.projects-grid.is-list .project-card__body{padding:24px 28px}.projects-grid.is-list .project-card__body>p{margin-bottom:14px}.projects-grid.is-list .project-card__footer{padding-top:12px}
.projects-value{padding:68px 0;background:#f4f8fb}.projects-value__grid{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:54px;align-items:start}.projects-value__copy>p:not(.projects-kicker){color:#52657f;font-size:var(--body-copy-size);line-height:1.75}.projects-value__note{margin-top:20px!important;padding:16px 18px;border-left:3px solid #0b8fa0;background:#fff;border-radius:0 var(--radius) var(--radius) 0}.projects-value__cards{display:grid;gap:13px}.projects-value__cards article{display:flex;gap:14px;padding:20px;border:1px solid var(--card-border);border-radius:var(--radius);background:#fff}.projects-value__cards article>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#eef6fb;color:#087d9b}.projects-value__cards .ui-icon{width:20px;height:20px}.projects-value__cards h3{margin:1px 0 5px;color:var(--navy);font-size:16px}.projects-value__cards p{margin:0;color:#65758b;font-size:12.5px;line-height:1.55}
.projects-cta{padding:56px 0}.projects-cta__box{display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:34px;align-items:center;padding:36px 40px;border-radius:var(--radius);background:linear-gradient(145deg,#061f4d 0%,#075b8e 60%,#0799a7 100%);color:#fff;box-shadow:0 18px 38px rgba(7,42,84,.18)}.projects-cta .projects-kicker{color:#8ce7e5}.projects-cta h2{margin:0;color:#fff;font-size:25px;line-height:1.2;letter-spacing:-.02em}.projects-cta p:not(.projects-kicker){max-width:760px;margin:14px 0 0;color:#dce9f5;line-height:1.65}.projects-cta__actions{display:flex;flex-direction:column;gap:10px;min-width:190px}.projects-cta__actions a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius);color:#fff;text-decoration:none;font-size:12px;font-weight:800}.projects-cta__actions a:first-child{background:#fff;color:#075796}.projects-cta__actions .ui-icon{width:16px;height:16px}
.projects-usecases{padding:8px 0 var(--page-footer-gap)}.projects-usecases__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.projects-usecases__grid article{padding:24px;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--card-shadow)}.projects-usecases__grid article>span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:50%;background:#eef6fb;color:#087d9b}.projects-usecases__grid .ui-icon{width:21px;height:21px}.projects-usecases__grid h3{margin:0 0 9px;color:var(--navy);font-size:16px}.projects-usecases__grid p{margin:0;color:#65758b;font-size:12.5px;line-height:1.58}
@media(min-width:721px) and (max-width:1040px){.projects-hero__grid{min-height:var(--subpage-hero-tablet-min-height)}}
@media(max-width:1040px){.projects-hero__grid{grid-template-columns:1fr .9fr;gap:30px}.projects-view-switch button{min-width:102px;padding:0 12px}.projects-grid.is-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-value__grid{gap:34px}.projects-usecases__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.projects-hero__grid,.projects-section-head,.projects-value__grid,.projects-cta__box{grid-template-columns:1fr}.projects-hero__visual{min-height:285px}.projects-toolbar{grid-template-columns:1fr}.projects-view-switch button{min-height:44px;flex:1}.projects-filterbar{align-items:flex-start;flex-direction:column}.projects-reset{align-self:flex-end}.projects-grid.is-grid-2,.projects-grid.is-grid-3{grid-template-columns:1fr}.projects-grid.is-list .project-card{grid-template-columns:1fr}.projects-grid.is-list .project-card__preview{border-right:0;border-bottom:1px solid var(--card-border)}.projects-cta__actions{flex-direction:row;min-width:0}.projects-cta__actions a{flex:1}}
@media(max-width:720px){.projects-hero{padding:24px 0 28px}.projects-breadcrumb{margin-bottom:18px}.projects-hero__grid{min-height:0}.projects-hero h1{font-size:44px}}
@media(max-width:620px){.projects-hero__copy>p{font-size:var(--hero-copy-size)}.projects-hero__copy .projects-hero__lead{font-size:22px}.projects-hero__visual{min-height:230px;margin-top:16px}.projects-hero__nodes span{width:64px;height:64px}.projects-hero__nodes span .ui-icon{width:25px;height:25px}.projects-hero__nodes span:nth-child(1){left:2%;top:50px}.projects-hero__nodes span:nth-child(2){right:20%;top:22px}.projects-hero__nodes span:nth-child(3){right:0;bottom:30px}.projects-hero__route{left:16%;top:102px;width:58%;height:86px}.projects-hero__panel{left:26%;bottom:8px;padding:12px 14px}.projects-overview{padding:44px 0 50px}.projects-section-head{gap:18px}.projects-toolbar{padding:10px}.projects-view-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.projects-view-switch button{min-width:0;padding:10px 8px;font-size:11px}.projects-view-switch button span{display:none}.projects-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.projects-filters button:first-child{grid-column:1/-1}.projects-reset{align-self:stretch;justify-content:center}.project-card__preview,.projects-grid.is-grid-3 .project-card__preview{min-height:245px;padding:13px}.project-card__mockup,.projects-grid.is-grid-3 .project-card__mockup{grid-template-columns:44px 1fr;min-height:180px}.project-card__sidebar,.projects-grid.is-grid-3 .project-card__sidebar{padding:14px 9px}.project-card__screen,.projects-grid.is-grid-3 .project-card__screen{padding:16px 12px}.project-card__screen-row,.projects-grid.is-grid-3 .project-card__screen-row{grid-template-columns:24px 1fr;padding:10px;font-size:11px}.project-card__screen-row i,.projects-grid.is-grid-3 .project-card__screen-row i{display:none}.project-card__preview-note,.projects-grid.is-grid-3 .project-card__preview-note{right:18px;bottom:18px}.project-card__body,.projects-grid.is-grid-3 .project-card__body{padding:21px}.projects-grid.is-grid-3 .project-card h3{font-size:25px}.projects-grid.is-grid-3 .project-card__body>p{font-size:var(--body-copy-size)}.project-card__footer,.projects-grid.is-grid-3 .project-card__footer{grid-template-columns:1fr;align-items:start}.project-card__action-group{align-items:flex-start;text-align:left}.projects-value{padding:48px 0}.projects-cta{padding:40px 0}.projects-cta__box{padding:28px 24px}.projects-cta__actions{flex-direction:column}.projects-usecases{padding:4px 0 38px}.projects-usecases__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}}