/* Inhalte bleiben ohne JavaScript sichtbar. */
.reveal,.section,.teaser-card{opacity:1;transform:none}
.js .reveal,.js .section,.js .teaser-card{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.js .in-view,.js .reveal.in-view{opacity:1;transform:none}
/* Typografische und responsive Feinabstimmung. */
body{font-family:'Manrope',sans-serif}.hero h1{font-family:'Chakra Petch',sans-serif;letter-spacing:-.065em;line-height:.84}.hero h2{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(1.2rem,2.15vw,1.9rem);letter-spacing:-.04em}.section h2,.contact-section h2,.listing-header h1,.detail-hero h1,.page-hero h1{font-family:'Manrope',sans-serif;line-height:1.1;letter-spacing:-.045em}.hero-grid{min-height:580px}.hero-copy{padding-top:65px}.hero-portrait img{mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 90%,transparent 100%)}.hero-portrait:before{left:14%;top:9%;width:490px;border-color:#ff7900;box-shadow:0 0 35px #ff790033,inset 0 0 45px #ff790026}.orbit-one{right:8%;top:12%;border-color:#ff7900aa;box-shadow:0 0 16px #ff790033}.orbit-two{right:4%;top:2%}.hero-portrait .idea-stack{right:-35px;top:70px;font-size:.56rem}.button.primary{color:#071019;text-shadow:none}.tech-short{color:var(--orange)}.social-links{display:flex;gap:13px;justify-content:flex-end;margin-top:10px}.social-links a{color:var(--orange)}.legal-links{display:flex;gap:18px;margin-top:18px;font-size:.75rem;color:var(--muted)}.prose{line-height:1.85;overflow-wrap:anywhere}.prose pre{overflow-x:auto;padding:20px;background:#020a12;border:1px solid #633419;border-radius:8px}.prose img{height:auto}.prose h2{font-size:1.65rem}.prose p{margin-bottom:1.2em}.prose .voiceink-cta{border:1px solid #995320;background:#131b23;padding:24px;margin:24px 0;border-radius:10px}.prose .voiceink-cta .vi-eyebrow{display:block;margin:7px 0}.prose .voiceink-cta .vi-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;max-width:100%;padding:12px 18px;margin:7px 0 12px;border:1px solid transparent;border-radius:8px;font-weight:700;line-height:1.45;text-decoration:none}.prose .voiceink-cta .vi-button span{flex:none;margin:0}.prose .voiceink-cta .vi-button:hover{filter:brightness(1.08)}.prose .voiceink-cta .vi-button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.prose .voiceink-cta .vi-disclosure{display:block}.listing-grid .card-copy h3{font-size:1.35rem}.listing-grid .card-copy p{font-size:.95rem;line-height:1.5}.listing-grid .teaser-card{grid-template-columns:42% 58%;min-width:0}.teaser-card{min-width:0}.card-copy{min-width:0}.card-copy h3{overflow-wrap:anywhere}.skip-link{position:fixed;top:-60px;left:20px;background:var(--orange);color:#000;padding:12px;z-index:99}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffb557;outline-offset:5px}.section-intro .button{margin-top:8px}.contact-grid{grid-template-columns:38% minmax(0,1fr) 120px}.email-link{font-size:clamp(1rem,1.75vw,1.3rem);padding-left:24px}.email-link b{flex-shrink:0}.footer-row{align-items:flex-start}
@media(max-width:850px){.hero-grid{min-height:550px}.hero-portrait .idea-stack{display:none}.contact-grid{grid-template-columns:1fr}.email-link{padding-left:0}.hero h1{font-size:clamp(4rem,9vw,6.5rem)}}
@media(max-width:600px){.hero-grid{min-height:830px;display:flex;flex-direction:column}.hero-copy{padding-top:42px;width:100%;padding-bottom:0}.hero h1{font-size:clamp(3.6rem,17vw,5.3rem)}.hero h2{font-size:1.25rem;margin-top:24px}.hero-description{max-width:100%;font-size:.96rem;line-height:1.65}.hero-actions{flex-direction:row;gap:8px;margin:24px 0}.hero-actions .button{font-size:.76rem;padding:11px 13px}.hero-portrait{position:relative;inset:auto;flex:1;min-height:350px;margin:0 -16px}.hero-portrait img{height:100%;width:115%;right:0;object-position:center;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 95%,transparent)}.hero-portrait:before{top:15px;right:0;width:330px;left:auto}.orbit-one{top:480px;right:0;width:320px;height:320px}.section{padding:38px 0}.section h2{font-size:2rem}.timeline p{font-size:.8rem;line-height:1.5}.tech-card p{line-height:1.5}.email-link{font-size:1.05rem;gap:10px;flex-wrap:wrap}.email-link b{width:38px;height:38px}.listing-grid .teaser-card{grid-template-columns:1fr}.listing-grid .card-image{height:190px}.social-links{justify-content:flex-start}.contact-section h2{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal,.js .section,.js .teaser-card{opacity:1!important;transform:none!important}}

.tech-logo{width:48px;height:48px;object-fit:contain;margin-bottom:10px}.tech-card{padding:22px 18px}.hero-portrait .idea-stack{right:-55px}.journal .card-copy p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

@media(max-width:600px){.circuit{display:none}.hero-portrait img{mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 94%,transparent 100%)}}
/* Neonring nach Svens Referenz: heller Kern, breite orange Korona. */
.hero{background:radial-gradient(ellipse at 74% 53%,#281308 0,rgba(21,12,8,.4) 28%,transparent 53%),#030a12}.hero-orbit{display:none}.hero-portrait:before{z-index:0;left:16%;top:13%;width:min(470px,88%);aspect-ratio:1;height:auto;border:3px solid #ffb23e;box-shadow:0 0 4px 1px #ffe0a1,0 0 12px 3px #ff8a08,0 0 30px 8px #ff5c0073,0 0 75px 14px #ff650037,inset 0 0 5px #ffd893,inset 0 0 18px #ff75009c;background:radial-gradient(circle,transparent 56%,#ff6a0010 67%,#ff650021 72%,transparent 75%)}.hero-portrait:after{content:'';position:absolute;z-index:0;width:96%;aspect-ratio:1;left:12%;top:10%;border-radius:50%;border:1px dashed #ff790046;background:repeating-conic-gradient(from 5deg,#ff8b003d 0deg 1deg,transparent 1deg 16deg);mask-image:radial-gradient(circle,transparent 66%,#000 66.2%,#000 67%,transparent 67.3%);pointer-events:none}.hero-portrait img{width:125%;right:-6%;height:100%;object-fit:cover;object-position:60% center;mix-blend-mode:normal;mask-image:linear-gradient(180deg,#000 90%,transparent 100%)}.hero-portrait .idea-stack{right:-40px;z-index:3}.hero:after{opacity:.5}
@media(max-width:600px){.hero-grid{min-height:0}.hero-copy{padding:34px 4px 0;width:100%}.hero h1{font-size:clamp(3.6rem,17vw,4.8rem);line-height:.87;letter-spacing:-.055em}.hero .kicker{letter-spacing:.17em;margin-bottom:16px}.hero h2{font-size:1.18rem;line-height:1.35;margin:22px 0 10px}.hero-description{font-size:.93rem;line-height:1.7;max-width:340px}.hero-actions{margin:22px 0 8px;gap:10px}.hero-actions .button{min-height:44px;padding:10px 13px}.hero-portrait{flex:none;height:365px;min-height:0;margin:10px -16px 0}.hero-portrait img{width:122%;height:100%;right:-2%;object-fit:cover;object-position:60% 10%;mask-image:linear-gradient(180deg,#000 91%,transparent 100%)}.hero-portrait:before{left:17%;right:auto;top:9%;width:76%;border-width:2px;box-shadow:0 0 3px 1px #ffe0a1,0 0 10px 3px #ff8a08,0 0 25px 6px #ff5c0073,0 0 55px 10px #ff650037,inset 0 0 4px #ffd893,inset 0 0 15px #ff75009c}.hero-portrait:after{left:12%;top:5%;width:87%}.hero .circuit{display:none}.hero:after{opacity:.2}.hero-portrait .idea-stack{display:none}}
.tech-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.tech-section .shell{grid-template-columns:25% minmax(0,1fr);gap:35px}.tech-card{padding:18px 12px;min-height:168px}.tech-card h3{font-size:1rem}.tech-logo[src$='nextjs.svg']{filter:invert(1)}
@media(max-width:1000px){.tech-section .shell{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tech-card{padding:18px;min-height:155px}.tech-logo{width:38px;height:38px}.tech-card h3{font-size:1rem}.tech-card p{font-size:.78rem;line-height:1.5}}
/* Einheitlicher dunkler Seitenhintergrund nach Svens Vorgabe. */
:root{--ink:#030a12;--ink2:#080e15;--line:#34251c}body{background:#030a12}.section,.contact-section,.site-footer,.site-header,.page-hero,.listing-page,.detail-hero{background:#030a12}.section,.contact-section,.site-footer,.site-header,.page-hero,.listing-page,.detail-hero{border-color:#ff790029}.tech-card,.teaser-card,.prose details{background:#080e15}.card-image{background:#080e15}.tech-section:after{opacity:.2}.button.secondary{background:#070c12}.main-nav.is-open{background:#050b12}.prose pre{background:#02070d}.hero{background:radial-gradient(ellipse at 74% 53%,#201006 0,rgba(21,12,8,.35) 25%,transparent 53%),#030a12}
/* Schwarze Flächen und großzügige Bildkarten wie in der gewählten Referenz. */
:root{--ink:#060606;--ink2:#101010;--line:#35281f;--muted:#bbb8b5}
body,.section,.contact-section,.site-footer,.site-header,.page-hero,.listing-page,.detail-hero{background:#060606}
.hero{background:radial-gradient(ellipse at 74% 53%,#201006 0,rgba(21,12,8,.25) 25%,transparent 53%),#060606}
.tech-card,.teaser-card,.prose details,.card-image{background:#0e0e0e}
.button.secondary,.main-nav.is-open,.prose pre{background:#0b0b0b}
.feature-section,.journal-section{padding:56px 0}
.feature-section .split-section,.journal-section .split-section{display:block}
.feature-section .section-intro,.journal-section .section-intro{position:relative;max-width:none;padding-right:210px;margin-bottom:28px}
.feature-section .section-intro h2,.journal-section .section-intro h2{margin-bottom:10px;font-size:clamp(2rem,3vw,2.65rem)}
.feature-section .section-intro>p:not(.kicker),.journal-section .section-intro>p:not(.kicker){margin:0;max-width:690px;font-size:.95rem;color:#bcb9b6}
.feature-section .section-intro .button,.journal-section .section-intro .button{position:absolute;right:0;bottom:0;border:0;background:none;padding:0;color:var(--orange);font-size:.8rem;box-shadow:none}
.teaser-grid{gap:26px}
.teaser-grid .teaser-card{display:flex;flex-direction:column;border-color:#33271e;box-shadow:inset 1px 0 0 #ff790017,0 0 22px #ff790006}
.teaser-grid .card-image{height:auto;min-height:0;aspect-ratio:1.9;overflow:hidden;border-bottom:1px solid #392519}
.teaser-grid .card-image img{height:100%;width:100%;object-fit:cover;transition:transform .4s ease}
.teaser-grid .teaser-card:hover .card-image img{transform:scale(1.025)}
.teaser-grid .card-copy{padding:23px 25px 25px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.teaser-grid .card-copy h3{font-size:1.35rem;line-height:1.2}
.teaser-grid .card-copy p{font-size:.9rem;line-height:1.65;margin:12px 0 20px;color:#bcb9b6}
.teaser-grid .text-link{margin-top:auto}
.contact-section{padding:58px 0}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.85fr);gap:30px;align-items:start}
.contact-section h2{font-size:clamp(1.9rem,2.7vw,2.5rem)}
.contact-form form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.contact-form .form-field{margin:0;min-width:0}
.contact-form .form-field:has(textarea),.contact-form .form-field:has(input[type=checkbox]),.contact-form .buttons,.contact-form .form-message,.contact-form .alert{grid-column:1/-1}
.contact-form label{display:block;font-size:.76rem;color:#ccc7c2;margin-bottom:6px}
.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{width:100%;padding:13px 14px;color:#eee;background:#111;border:1px solid #302a26;border-radius:4px;font:inherit;font-size:.86rem}
.contact-form textarea{min-height:133px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--orange);border-color:var(--orange);box-shadow:0 0 12px #ff790018}
.contact-form button{font:600 .85rem 'Manrope',sans-serif;cursor:pointer;padding:13px 24px;border:1px solid #ff9200;border-radius:4px;background:linear-gradient(110deg,#ff7100,#ff9b08);color:#080808;box-shadow:0 0 20px #ff79003b}
.contact-form .form-data{margin:0}.contact-form .form-input-wrapper{margin:0}
.contact-form .form-field:has(input[type=checkbox]){display:flex;gap:9px;align-items:flex-start;font-size:.72rem}
.contact-form .form-field:has(input[type=checkbox]) label{font-size:.72rem;line-height:1.6}
.contact-form a,.contact-form .required{color:var(--orange)}
.contact-form .alert{border:1px solid var(--orange);padding:14px;font-size:.9rem;background:#1b1208}
.contact-details{padding:22px;border:1px solid #382a20;border-radius:5px;background:#0d0d0d;overflow-wrap:anywhere}
.contact-details .email-link{padding:0;border:0;display:block;font-size:.88rem;font-weight:500}
.contact-details h3{font-size:.8rem;margin:0 0 5px;color:#f3efeb}
.contact-details p{font-size:.85rem;color:#bcb9b6;margin:0 0 22px}
.contact-details p:last-child{margin-bottom:0}
@media(max-width:950px){.contact-grid{grid-template-columns:1fr 1.3fr}.contact-details{grid-column:2}.contact-form form{gap:12px}}
@media(max-width:600px){.feature-section,.journal-section,.contact-section{padding:38px 0}.feature-section .section-intro,.journal-section .section-intro{padding-right:0;margin-bottom:23px}.feature-section .section-intro .button,.journal-section .section-intro .button{position:static;margin-top:17px}.teaser-grid{gap:20px}.teaser-grid .card-copy{padding:21px}.teaser-grid .card-copy h3{font-size:1.2rem}.contact-grid{grid-template-columns:1fr;gap:26px}.contact-details{grid-column:auto}.contact-form form{grid-template-columns:1fr}.contact-form .form-field{grid-column:1/-1}}
/* Generierter Hintergrund mit glühendem Ring, Code und Punktraster. */
.hero-portrait:before,.hero-portrait:after{display:none}
.portrait-backdrop{position:absolute;z-index:0;width:116%;aspect-ratio:1;left:-4%;top:-1%;background-position:center;background-size:contain;background-repeat:no-repeat;mix-blend-mode:screen;mask-image:radial-gradient(ellipse,#000 57%,transparent 75%)}
.portrait-code{position:absolute;z-index:4;right:-1%;bottom:45px;width:260px;padding:19px 22px 14px;background:linear-gradient(120deg,#15130ff5,#080808fa);border:1px solid #8b4b23;border-radius:6px;box-shadow:0 0 0 3px #ff790009,0 10px 40px #0008;transform:rotate(-2deg)}
.portrait-code pre{margin:0;font:500 .7rem/1.9 'DM Mono',monospace;color:#d4d0c9;white-space:pre-wrap;overflow-wrap:anywhere}
.code-keyword,.code-sign{color:#ff922e}.code-string{color:#e3b65c}.code-sign{display:block;font:bold .9rem 'DM Mono',monospace;margin-top:8px}
@media(max-width:850px){.portrait-code{width:228px;padding:14px 17px;right:-3%;bottom:30px}.portrait-code pre{font-size:.63rem}}
@media(max-width:600px){.hero-portrait{height:400px}.portrait-backdrop{width:114%;left:-7%;top:-2%}.portrait-code{right:6%;bottom:16px;width:204px;padding:12px 15px;transform:rotate(-2deg)}.portrait-code pre{font-size:.6rem;line-height:1.8}.code-sign{font-size:.8rem;margin-top:5px}}
.teaser-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.contact-details .email-link{display:flex;align-items:center;gap:9px;margin:20px 0;font-size:.84rem}.contact-details .email-link span{font-size:1.2rem}.contact-details .email-link b{display:none}
.contact-details .idea-stack{font-size:.65rem;color:#c87834}
section[id]{scroll-margin-top:80px}

.contact-form .form-field:has(.turnstile-container),.contact-form .form-field:has(.form-error){grid-column:1/-1}
.contact-form .turnstile-container{min-height:65px;max-width:100%}
.social-icons{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.social-icons a{display:grid;place-items:center;width:39px;height:39px;border:1px solid #3d3026;border-radius:8px;background:#13100d;transition:transform .2s,border-color .2s,box-shadow .2s}.social-icons img{width:19px;height:19px;filter:invert(1);opacity:.8}.social-icons a:hover{border-color:var(--orange);box-shadow:0 0 17px #ff790030;transform:translateY(-2px)}.social-icons a:hover img{opacity:1}.hero-copy .social-icons{margin:-18px 0 25px}.footer-meta .social-icons{justify-content:flex-end;margin-top:14px}.footer-meta .social-icons a{width:33px;height:33px}.footer-meta .social-icons img{width:16px;height:16px}
@media(max-width:600px){.hero-copy .social-icons{margin:19px 0 8px;gap:9px}.social-icons a{width:35px;height:35px}.footer-meta .social-icons{justify-content:flex-start}}

/* Editorial product recommendation, shared by German and English articles. */
.prose .amazon-mouse-cta{position:relative;isolation:isolate;padding:32px;margin:36px 0;border:1px solid #71401f;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#ff790014,transparent 65%),#101010;box-shadow:0 16px 45px #0005;overflow:hidden}
.prose .amazon-mouse-cta:before{content:"";position:absolute;top:0;left:32px;width:64px;height:3px;background:var(--orange);box-shadow:0 0 18px #ff790080}
.prose .amazon-mouse-cta .vi-eyebrow{color:#ff9d49;font:500 .68rem/1.6 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
.prose .amazon-mouse-cta .vi-title{display:block;color:#fafafa;font:700 clamp(1.5rem,4vw,2rem)/1.15 'Chakra Petch',sans-serif;letter-spacing:-.025em;margin:0 0 18px}
.prose .amazon-mouse-cta .vi-copy{color:#c7c7c7;line-height:1.75;margin:0 0 16px}
.prose .amazon-mouse-cta .vi-button{background:linear-gradient(110deg,#ff7900,#ffab30);color:#17100a;box-shadow:0 4px 18px #ff790021;margin:6px 0 22px;text-align:left}
.prose .amazon-mouse-cta .vi-disclosure{border-top:1px solid #ffffff14;padding-top:14px;color:#a6a6a6;font-size:.75rem;line-height:1.6}
@media(max-width:600px){.prose .amazon-mouse-cta{padding:24px 20px;border-radius:12px}.prose .amazon-mouse-cta:before{left:20px}.prose .amazon-mouse-cta .vi-button{width:100%;justify-content:space-between;font-size:.85rem}}

.journal-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}.journal-filters a{padding:8px 14px;border:1px solid #39312b;border-radius:6px;font-size:.85rem}.journal-filters a:hover,.journal-filters a[aria-current]{color:#ff9d49;border-color:#ff7900;background:#ff79000d}
