
:root{--ink:#122133;--muted:#647080;--line:#dde3e8;--paper:#fff;--soft:#f5f7f8;--accent:#1d5f8a;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);line-height:1.6}a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-size:24px;font-weight:850;letter-spacing:-.055em}.brand span{color:var(--accent)}nav{display:flex;gap:23px;align-items:center;font-size:14px}nav a{text-decoration:none}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:0 21px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:3px;font:700 15px inherit;text-decoration:none;cursor:pointer;font-weight:750}.btn.light{background:transparent;color:var(--ink)}.hero{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:0}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,49vw);min-height:640px}.hero-copy{padding:95px 45px 90px max(22px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:var(--accent)}.hero h1{font-size:clamp(57px,6vw,94px);line-height:.94;letter-spacing:-.065em;margin:24px 0 27px}.lead{font-size:clamp(19px,1.6vw,24px);color:#455565;max-width:620px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-photo{background:#edf0f2;min-height:640px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;filter:grayscale(100%)}section{padding:92px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px;margin-bottom:45px}.section-head h2,.big-title{font-size:clamp(38px,4.5vw,65px);letter-spacing:-.055em;line-height:1.03;margin:0}.section-head p{color:var(--muted);font-size:18px;margin:20px 0 0}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);gap:1px;background:var(--line)}.service{background:#fff;padding:34px}.service .num{font-size:12px;color:var(--accent);font-weight:800}.service h3{font-size:26px;line-height:1.1;margin:35px 0 13px;letter-spacing:-.04em}.service p{color:var(--muted);margin:0}.work{background:var(--soft)}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.project{text-decoration:none;display:block;min-width:0}.project-visual{height:245px;position:relative;overflow:hidden;background:#e6edf1;display:flex;align-items:center;justify-content:center;padding:26px}.project:nth-child(5n+2) .project-visual{background:#eae7e1}.project:nth-child(5n+3) .project-visual{background:#e5e9e2}.project:nth-child(5n+4) .project-visual{background:#e7e8ef}.project:nth-child(5n) .project-visual{background:#eee8e6}.project-visual.has-img{padding:0;background:#fff}.project-visual>img{width:100%;height:100%;object-fit:contain}.screen{width:83%;height:78%;border:8px solid #18212b;border-bottom-width:13px;border-radius:9px;background:white;box-shadow:0 13px 22px #0002;overflow:hidden}.screen-top{height:23px;border-bottom:1px solid #e5e8ea;display:flex;align-items:center;gap:4px;padding:0 10px}.screen-top span{width:5px;height:5px;border-radius:50%;background:#c6ced3}.screen-content{height:calc(100% - 23px);padding:18px 15px;background:linear-gradient(145deg,#f8fafb,#e3eaf0);display:flex;flex-direction:column;justify-content:center}.screen-content small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.screen-content strong{font-size:clamp(19px,2vw,30px);line-height:1.1;letter-spacing:-.05em;margin:9px 0}.screen-content em{font-size:10px;font-style:normal}.phone{position:absolute;width:19%;height:51%;left:6%;bottom:8%;border:5px solid #19212a;border-radius:13px;background:white;box-shadow:0 8px 18px #0003;display:flex;align-items:center;padding:4px}.phone-inner{background:#e8edf1;flex:1;height:100%;font-size:8px;overflow:hidden;display:flex;align-items:center;padding:5px;font-weight:800}.project-meta{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid #cbd5dc}.project-meta strong{display:block;font-size:17px}.project-meta small{display:block;color:var(--muted);font-size:12px}.project-meta>span{font-size:23px}.note{color:var(--muted);font-size:13px;margin-top:20px}.check-section{background:var(--ink);color:#fff}.check-section .kicker{color:#8bc4e7}.check-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.check-layout h2{font-size:clamp(42px,5vw,69px);letter-spacing:-.055em;line-height:1;margin:18px 0 25px}.check-layout p{color:#c8d1d8;font-size:18px}.check-card{background:#fff;color:var(--ink);padding:36px;align-self:start}.check-card label{display:block;font-weight:800;margin-bottom:10px}.check-row{display:flex;gap:8px}.check-row input{flex:1;min-width:0;border:1px solid #cbd4db;padding:14px;font:inherit}.check-row button{white-space:nowrap}.check-card .hint{color:var(--muted);font-size:12px;margin:12px 0 0}.results{margin-top:22px}.result{padding:13px 0;border-top:1px solid var(--line);display:flex;gap:12px}.result>span{font-weight:900;width:24px;flex-shrink:0}.result.good>span{color:#26764b}.result.warn>span{color:#ad7015}.result.bad>span{color:#bb3d3d}.result strong{display:block}.result small{display:block;color:var(--muted);font-size:13px}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.about-grid img{width:100%;max-height:570px;aspect-ratio:4/5;object-fit:cover;object-position:60% 30%;filter:grayscale(100%)}.about h2{font-size:clamp(40px,5vw,70px);letter-spacing:-.055em;line-height:1.05;margin:12px 0 24px}.about p{color:var(--muted);font-size:18px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.step{border-top:2px solid var(--ink);padding-top:20px}.step span{font-size:12px;font-weight:800;color:var(--accent)}.step h3{font-size:23px;line-height:1.2;margin:20px 0 10px}.step p{color:var(--muted)}.faq{max-width:900px;margin-left:auto}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:19px;font-weight:750;padding:22px 0}.faq p{color:var(--muted);margin:0 0 22px}.contact{background:var(--ink);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:12px 0 25px}.contact p{color:#cbd3da;font-size:18px}.contact a{color:#fff}.contact-panel{background:#fff;color:var(--ink);padding:38px}.contact-panel h3{font-size:28px;margin:0 0 12px}.contact-panel p{color:var(--muted)}.contact-panel a{color:var(--ink)}.footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0;font-size:13px;color:var(--muted)}.footer a{margin-left:17px}@media(max-width:950px){.hero-grid,.section-head,.check-layout,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-copy{padding:65px 30px}.hero-photo{min-height:440px;height:440px}.services,.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,1fr)}.check-layout,.about-grid,.contact-grid{gap:35px}nav a:not(.btn){display:none}}@media(max-width:600px){.wrap{width:calc(100% - 32px)}.nav{min-height:65px}.brand{font-size:21px}.nav .btn{padding:0 12px;min-height:40px;font-size:13px}.hero h1{font-size:clamp(48px,12vw,68px)}.hero-copy{padding:52px 16px}.hero-photo{height:360px;min-height:360px}.services,.projects,.steps{grid-template-columns:1fr}.project-visual{height:260px}.check-card{padding:22px}.check-row{flex-direction:column}.section-head{gap:15px}section{padding:65px 0}.footer{flex-direction:column}.footer a{margin:0 14px 0 0}}
/* Header aus der finalen Onlineplaner-Version */
.site-header{background:var(--paper);border:0}
.site-header .nav{height:78px;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-header .brand{font-size:21px;font-weight:800;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}
.site-header nav{display:flex;align-items:center;gap:26px;font-size:14px}
.site-header nav a{text-decoration:none;white-space:nowrap}
.site-header .btn{min-height:48px;padding:0 20px;border-radius:3px;font-weight:700}
@media(min-width:851px) and (max-width:1180px){.site-header .nav{height:74px}}
@media(max-width:850px){.site-header .nav{height:70px}.site-header .brand{font-size:20px}.site-header nav a:not(.btn){display:none}}
@media(max-width:600px){.site-header .nav{height:64px}.site-header .btn{font-size:13px;padding:0 12px;min-height:40px}}
.check-message{padding:16px;border:1px solid #cbd5e1;background:#f8fafc;color:#112033;margin-top:16px;line-height:1.5}.check-message.bad{border-color:#e8b4ad;background:#fff7f5}.check-message strong{display:block;margin-bottom:6px}.check-message p{margin:0}.check-summary{font-weight:700;margin:14px 0 8px}.check-intro{overflow-wrap:anywhere}.progress-panel{margin-top:20px;padding:20px;border:1px solid #d8e0e7;background:#f8fafc}.progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700}.progress-percent{font-size:1.6rem;font-variant-numeric:tabular-nums}.progress-track{height:9px;background:#e1e7ed;border-radius:99px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;width:0;background:#1b3048;transition:width .08s linear}.progress-caption{font-size:.88rem;color:#536273}.result{animation:checkReveal .22s ease both}@keyframes checkReveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.result{animation:none}.progress-fill{transition:none}}

/* eFactory / compact technical audit console */
.check-card{border:1px solid #dce5ed;border-radius:18px;box-shadow:0 24px 70px #030e2033;min-width:0}
.check-intro{font-size:13px;font-weight:700;color:#53657a;letter-spacing:.01em;margin:18px 0 10px;overflow-wrap:anywhere}
.check-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 16px;font-size:13px;font-weight:800;color:#23384d}
.audit-console{border:1px solid #d9e3ec;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #1221330b;margin-top:14px;min-width:0}
.audit-console-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f8fb;border-bottom:1px solid #d9e3ec;padding:12px 16px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#42566b}
.audit-console-head .console-dots{display:flex;gap:5px}.console-dots i{width:7px;height:7px;border-radius:50%;background:#afbfce;display:block}.console-dots i:first-child{background:#6a94b3}
.audit-scroll{max-height:510px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#a8bacb #f1f5f9;scrollbar-width:thin}
.audit-scroll::-webkit-scrollbar,.crawl-list::-webkit-scrollbar{width:8px}.audit-scroll::-webkit-scrollbar-track,.crawl-list::-webkit-scrollbar-track{background:#f1f5f9}.audit-scroll::-webkit-scrollbar-thumb,.crawl-list::-webkit-scrollbar-thumb{background:#a8bacb;border-radius:20px;border:2px solid #f1f5f9}
.audit-console .result{padding:15px 17px;border-top:1px solid #eaf0f5;gap:13px;align-items:flex-start}.audit-console .result:first-child{border-top:0}.audit-console .result>span{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;font-size:15px;background:#eef7f1;color:#26764b}.audit-console .result.warn>span{background:#fff6e7;color:#ad7015}.audit-console .result.bad>span{background:#fff0ee;color:#bb3d3d}.audit-console .result>div{min-width:0}.audit-console .result strong{font-size:14px;line-height:1.4}.audit-console .result small{font-size:12px;line-height:1.6;margin-top:3px;overflow-wrap:anywhere}
.audit-console-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #e4ebf1;background:#fafcfd;color:#667b8f;font-size:11px}
.crawl-detail{margin-top:16px;border:1px solid #d9e3ec;border-radius:14px;overflow:hidden;background:#fff}.crawl-detail>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:#f5f8fb;font-size:14px;font-weight:800;list-style:none}.crawl-detail>summary::-webkit-details-marker{display:none}.crawl-detail>summary:after{content:'⌄';font-size:22px;font-weight:400;transition:transform .2s}.crawl-detail[open]>summary:after{transform:rotate(180deg)}.crawl-detail .crawl-body{padding:4px 16px 16px}.crawl-detail .crawl-list{max-height:420px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a8bacb #f1f5f9}.crawl-detail .crawl-page{padding:13px 0;border-top:1px solid #e6edf3;overflow-wrap:anywhere}.crawl-detail .crawl-page a{color:#1d5f8a;font-weight:700;font-size:12px;text-decoration:none}.crawl-detail .crawl-page a:hover{text-decoration:underline}.crawl-detail .crawl-page small{display:block;color:#667b8f;font-size:12px;line-height:1.6}
@media(max-width:600px){.check-card{border-radius:13px}.audit-scroll{max-height:430px}.audit-console .result{padding:13px 12px}.audit-console-head{padding:11px 12px}.crawl-detail .crawl-body{padding:4px 12px 12px}}
.audit-gate{margin-top:20px;padding:24px;border:1px solid #c5d8e5;border-radius:14px;background:linear-gradient(135deg,#f3f8fb,#fff)}.audit-gate h3{font-size:20px;margin:0 0 9px}.audit-gate p{font-size:14px;line-height:1.6;color:#506476;margin:0}.paid-report-form{display:grid;gap:12px;margin-top:22px}.paid-report-form input[type=email]{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.paid-report-form .consent{font-size:13px;line-height:1.55;display:flex;align-items:flex-start;gap:8px}.paid-report-form .consent input{margin-top:4px}.paid-report-form .pay-status{color:#a34c29}
/* Geschuetzte Berichtsvorschau: keine echten Detaildaten im DOM. */
.report-preview{position:relative;margin:22px 0 12px;border:1px solid #dce6ee;border-radius:14px;overflow:hidden;background:#fff}.report-preview-head{background:#142e40;color:#fff;padding:19px 22px}.report-preview-head strong{display:block;font-size:18px}.report-preview-head small{color:#c0d2dd}.report-preview-pages{padding:18px 22px 35px}.report-preview-chapter{padding:15px 0;border-bottom:1px solid #e8edf2}.report-preview-chapter:last-child{border:0}.report-preview-chapter h4{font-size:15px;margin:0 0 12px;color:#193448}.report-preview-blur{filter:blur(7px);user-select:none;pointer-events:none;opacity:.58}.report-preview-line{height:11px;border-radius:3px;background:#9bb1c1;margin:10px 0}.report-preview-lock{position:absolute;inset:auto 0 0;padding:75px 18px 18px;text-align:center;background:linear-gradient(transparent,#fff 67%);font-weight:700;color:#173448}.audit-gate{margin-top:12px}

.projekt-form{display:grid;gap:9px;margin-top:20px}.projekt-form label{font-weight:700;font-size:14px}.projekt-form input:not([type=checkbox]),.projekt-form select,.projekt-form textarea{width:100%;min-width:0;border:1px solid #cbd4db;border-radius:3px;padding:12px;font:inherit;background:#fff;color:var(--ink)}.projekt-form textarea{resize:vertical}.projekt-form .projekt-consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13px;line-height:1.5;margin:9px 0}.projekt-form .projekt-consent input{margin-top:3px;flex-shrink:0}.projekt-form button{justify-self:start}.projekt-status{font-size:14px!important;margin:4px 0!important}.projekt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
\n/* Shared content-page components */
.page-hero{padding:88px 0 82px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.breadcrumb{font-size:13px;color:var(--muted);margin:0 0 24px}.breadcrumb a{text-decoration:none}
.page-hero h1{font-size:clamp(48px,6.2vw,84px);line-height:.96;letter-spacing:-.06em;max-width:980px;margin:20px 0 28px}
.page-lead{font-size:clamp(19px,1.7vw,24px);color:#455565;max-width:760px;margin:0 0 30px}
.content-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px}.content-grid h2{font-size:clamp(38px,4.5vw,65px);letter-spacing:-.055em;line-height:1.03;margin:12px 0 0}.prose{font-size:18px;color:#455565;max-width:760px}.prose p:first-child{margin-top:0}
.fact-grid,.content-cards{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);gap:1px;background:var(--line);margin-top:42px}.fact,.content-card{background:#fff;padding:30px}.fact strong{display:block;font-size:26px;letter-spacing:-.03em;color:var(--ink)}.fact span{font-size:14px;color:var(--muted)}.content-card .num{font-size:12px;color:var(--accent);font-weight:800}.content-card h3{font-size:25px;line-height:1.1;margin:30px 0 12px;letter-spacing:-.035em}.content-card p{color:var(--muted);margin:0}
.price-box{margin-top:42px;padding:34px;border:1px solid var(--line);display:grid;grid-template-columns:1.15fr .85fr;gap:40px;background:var(--soft)}.price{font-size:44px;letter-spacing:-.05em;line-height:1}.price small{font-size:14px;letter-spacing:0;color:var(--muted)}.tick-list{margin:0;padding-left:20px}
.faq-list{border-top:1px solid var(--line);margin-top:38px}.faq-list details{border-bottom:1px solid var(--line);padding:21px 0}.faq-list summary{font-size:21px;font-weight:700;cursor:pointer;list-style:none}.faq-list summary:after{content:'+';float:right}.faq-list details[open] summary:after{content:'–'}.faq-list p{max-width:780px;color:var(--muted)}
.page-cta{padding:92px 0}.page-cta h2{font-size:clamp(38px,4.5vw,65px);letter-spacing:-.055em;line-height:1.03;max-width:900px;margin:12px 0 24px}
@media(max-width:760px){.content-grid,.price-box{grid-template-columns:1fr;gap:28px}.fact-grid,.content-cards{grid-template-columns:1fr}.page-hero{padding:64px 0 58px}.page-hero h1{font-size:48px}}

/* SEO landing pages */
.page-hero{padding:92px 0 78px;background:var(--paper)}.page-hero h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.06em;max-width:1000px;margin:20px 0 25px}.page-lead{font-size:clamp(19px,1.8vw,24px);color:#455565;max-width:820px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:30px}.breadcrumb a{text-decoration:none}.content-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px}.content-grid h2{font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.05em;margin:12px 0}.prose{font-size:18px;color:#455565}.prose p:first-child{margin-top:0}.fact-grid,.content-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:35px}.fact,.content-card{background:#fff;padding:28px}.fact strong{display:block;font-size:21px;color:var(--ink)}.fact span,.content-card p{color:var(--muted)}.content-card .num{font-size:12px;font-weight:800;color:var(--accent)}.content-card h3{font-size:25px;line-height:1.15;margin:28px 0 10px;letter-spacing:-.035em}.price-box{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;background:var(--soft);padding:38px;margin-top:30px}.price{font-size:30px;font-weight:850;letter-spacing:-.04em}.price small{display:block;font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}.tick-list{margin:0;padding-left:20px}.faq-list{max-width:900px;margin-left:auto}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:19px;font-weight:750;padding:22px 0}.faq-list p{color:var(--muted);margin:0 0 22px}.page-cta{background:var(--soft)}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.related-links a{border:1px solid var(--line);padding:22px;text-decoration:none;font-weight:750}.related-links a span{display:block;color:var(--muted);font-size:13px;font-weight:500;margin-top:6px}@media(max-width:850px){.content-grid,.price-box{grid-template-columns:1fr}.fact-grid,.content-cards,.related-links{grid-template-columns:1fr}.content-grid{gap:25px}.page-hero{padding:65px 0}}

/* Navigation, footer and 404 refinements */
.service h3 a{color:inherit;text-decoration:none}.service h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.footer{align-items:flex-start}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 18px;max-width:760px}.footer-links a{white-space:nowrap}
.error-page h1{max-width:850px}.prose code{font:inherit;font-weight:750;background:var(--soft);padding:.08em .28em}
@media(max-width:900px){.site-header nav a:not(.btn){display:none}.footer{display:grid;gap:18px}.footer-links{justify-content:flex-start}}

/* Referenzen */
.references-more{margin-top:34px}.project-visual.has-img{background:#f2f4f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-visual.has-img img{width:100%;height:100%;object-fit:cover;object-position:top center}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 34px}.reference-card{min-width:0}.reference-image{display:block;background:#f1f3f4;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line)}.reference-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .25s ease}.reference-image:hover img{transform:scale(1.012)}.reference-copy{padding-top:18px;border-top:2px solid var(--ink);margin-top:12px}.reference-category{margin:0 0 6px;color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.reference-copy h2{font-size:28px;line-height:1.1;letter-spacing:-.035em;margin:0 0 10px}.reference-copy p{color:var(--muted);margin:0 0 12px}.reference-link{font-weight:750;text-decoration:none}@media(max-width:760px){.reference-grid{grid-template-columns:1fr;gap:40px}.reference-copy h2{font-size:25px}}


/* Einheitliche Karten 2026-10-05 */
.project{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.project:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(18,33,51,.09);border-color:#cbd5dc}
.project-visual.has-img img{transition:transform .35s ease}
.project:hover .project-visual.has-img img{transform:scale(1.025)}
.project-meta{padding:18px 20px 19px;border-bottom:0;border-top:1px solid var(--line)}
.project-meta strong{font-size:19px;line-height:1.2}
.project-meta small{margin-top:4px}
.services{border:0;background:transparent;gap:18px}
.service{border:1px solid var(--line);border-radius:14px;padding:34px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.service:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(18,33,51,.07);border-color:#cbd5dc}
.steps{gap:18px}
.step{border:1px solid var(--line);border-radius:14px;padding:28px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.step:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(18,33,51,.07);border-color:#cbd5dc}
.step h3{margin-top:24px}
.reference-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.reference-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(18,33,51,.09);border-color:#cbd5dc}
.reference-image{border:0;border-bottom:1px solid var(--line);aspect-ratio:16/10}
.reference-card:hover .reference-image img{transform:scale(1.025)}
.reference-copy{padding:20px 22px 22px;border-top:0;margin-top:0}
.reference-category{margin-bottom:7px}
@media(max-width:600px){.project,.reference-card{border-radius:14px}.service,.step{padding:26px}}

/* 404 */
.not-found-hero{padding:86px 0 90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.not-found-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:end}
.not-found-code{font-size:clamp(120px,18vw,250px);font-weight:900;line-height:.78;letter-spacing:-.085em;color:var(--ink);margin-top:38px}
.not-found-copy{padding-bottom:6px}
.not-found-copy h1{font-size:clamp(44px,5.5vw,76px);line-height:.98;letter-spacing:-.06em;margin:0 0 25px;max-width:760px}
.not-found-copy p{font-size:clamp(18px,1.6vw,22px);color:var(--muted);max-width:700px;margin:0 0 30px}
.not-found-links{background:var(--soft)}
.not-found-links .related-links a{background:#fff;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.not-found-links .related-links a:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(18,33,51,.08);border-color:#c8d1d8}
@media(max-width:850px){.not-found-grid{grid-template-columns:1fr;gap:42px}.not-found-code{font-size:clamp(110px,31vw,190px);margin-top:25px}.not-found-hero{padding:64px 0 68px}}

/* Optional analytics consent */
.cookie-consent{position:fixed;z-index:1000;left:20px;right:20px;bottom:20px;max-width:920px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 36px rgba(18,32,42,.14);border-radius:8px}.cookie-consent strong{display:block;margin-bottom:3px}.cookie-consent p{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}.cookie-actions{display:flex;gap:8px;flex-shrink:0}.cookie-actions .btn{border:0;cursor:pointer}@media(max-width:680px){.cookie-consent{align-items:stretch;flex-direction:column;gap:12px}.cookie-actions{width:100%}.cookie-actions .btn{flex:1;justify-content:center}}
