@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/ibm-plex-mono-500-latin.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/ibm-plex-mono-600-latin.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/ibm-plex-mono-700-latin.woff2") format("woff2")}
:root{--paper:#f7f3ed;--ink:#302821;--muted:#786b60;--signal:#ff6a00;--panel:#fffdf9;--display:"Manrope","Segoe UI",Arial,sans-serif;--sans:"Manrope","Segoe UI",Arial,sans-serif;--mono:"IBM Plex Mono",Consolas,monospace}
.brand{color:#11100e;text-decoration:none;font:700 clamp(18px,2vw,26px)/1 var(--display);pointer-events:auto}
.brand em{color:var(--signal);font-style:normal}
.menu-toggle{position:fixed;z-index:20;top:25px;right:clamp(22px,4vw,64px);display:grid;place-content:center;gap:6px;width:42px;height:42px;padding:0;border:1px solid rgba(48,40,33,.2);border-radius:50%;background:rgba(255,253,249,.84);backdrop-filter:blur(10px);cursor:pointer}
.menu-toggle span{display:block;width:16px;height:1px;background:var(--ink);transition:transform .25s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.site-menu{position:fixed;z-index:15;inset:0;display:grid;align-content:center;padding:clamp(80px,10vw,140px) clamp(24px,8vw,120px);background:rgba(247,243,237,.96);backdrop-filter:blur(16px)}
.site-menu[hidden]{display:none}
.menu-list{width:min(760px,100%);margin:0 auto;padding:0;list-style:none;border-top:1px solid rgba(48,40,33,.16)}
.menu-list a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(48,40,33,.16);color:var(--ink);text-decoration:none;font-family:var(--display);font-size:clamp(21px,3vw,34px);font-weight:600;line-height:1.05}
.menu-list a:hover,.menu-list a:focus-visible{color:var(--signal);outline:none}
.menu-list small{color:var(--signal);font:600 10px/1 var(--mono);letter-spacing:.14em}
.menu-list b{font:500 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.menu-legal{display:block;width:min(760px,100%);margin:18px auto 0;color:var(--ink);font:500 14px/1.4 var(--sans);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.menu-legal:hover,.menu-legal:focus-visible{color:var(--signal);outline:none}
body.menu-open{overflow:hidden}
.page-body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 50% 24%,#fff 0%,#fdfbf7 42%,var(--paper) 100%);color:var(--ink);font-family:var(--sans);font-weight:400}
.page-header{box-sizing:border-box;position:fixed;z-index:18;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:16px clamp(22px,4vw,64px);border-bottom:1px solid transparent;transition:background-color .3s ease,backdrop-filter .3s ease,border-color .3s ease}
.page-header .menu-toggle{position:relative;inset:auto}
.page-header.is-scrolled{background:rgba(248,245,239,.72);border-color:rgba(48,40,33,.09);backdrop-filter:blur(18px) saturate(1.15)}
.page-header .menu-toggle span{background:#11100e}
.header-contact{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:18px;font-size:12px;font-weight:700;pointer-events:auto}
.header-contact a{position:relative;color:var(--ink);text-decoration:none;white-space:nowrap}
.header-contact a::after{content:"";position:absolute;right:0;bottom:-4px;left:0;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:right;transition:transform .22s ease}
.header-contact a:hover::after,.header-contact a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.header-contact a:focus-visible{outline:2px solid var(--signal);outline-offset:5px}
.header-contact-email{color:var(--signal)!important}
.contact-short{display:none}
.page-main{--rail-offset:20px;position:relative;isolation:isolate;width:min(980px,calc(100% - 44px));margin:0 auto 100px;padding-top:clamp(146px,16vw,210px)}
.page-main>*{position:relative;z-index:1}
.page-main::before{content:"";position:absolute;z-index:0;top:clamp(184px,20vw,254px);bottom:12px;left:-20px;width:5px;background:linear-gradient(to right,transparent 2px,rgba(48,40,33,.24) 2px,rgba(48,40,33,.24) 3px,transparent 3px);pointer-events:none}
.page-main::after{content:"";position:absolute;z-index:0;top:clamp(184px,20vw,254px);left:-20px;width:5px;height:34px;background:linear-gradient(to bottom,transparent,var(--signal) 58%,#fff 78%,transparent);filter:drop-shadow(0 0 4px rgba(255,106,0,.8));opacity:0;pointer-events:none;animation:page-spark 6.4s linear infinite}
@keyframes page-spark{0%,8%{top:clamp(184px,20vw,254px);opacity:0}12%{opacity:1}82%{opacity:.9}92%,100%{top:calc(100% - 46px);opacity:0}}
.page-kicker{margin:0 0 20px;color:var(--signal);font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.page-main h1{position:relative;max-width:780px;margin:0;font-family:var(--display);font-size:clamp(38px,6.5vw,72px);font-weight:700;line-height:.98;letter-spacing:-.04em}
.page-main h1::before{content:"";position:absolute;top:.48em;left:-22px;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px rgba(255,106,0,.08),0 0 15px rgba(255,106,0,.42);transform:translateY(-50%)}
.page-lead{max-width:760px;margin:34px 0 56px;color:#4d433b;font-size:clamp(18px,2.2vw,23px);line-height:1.55}
.offer-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 56px;border:1px solid #ddd5cc;background:#ddd5cc;gap:1px}
.offer-nav a{min-width:0;padding:19px 16px;background:var(--panel);color:var(--ink);text-decoration:none;font-size:15px;font-weight:700;line-height:1.4}
.offer-nav a:hover,.offer-nav a:focus-visible{color:var(--signal);outline:none}
.offer-nav span{display:block;margin-bottom:8px;color:var(--signal);font:600 10px/1 var(--mono);letter-spacing:.12em}
.content-stack{display:grid;gap:20px}
.about-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(42px,6vw,76px);align-items:start;width:min(1160px,calc(100vw - 88px));margin-left:50%;transform:translateX(-50%)}.about-portrait{margin:0;overflow:hidden;background:#f2ede6}.about-portrait img{display:block;width:100%;height:auto;margin:0;border:0}.about-portrait figcaption{margin:0;padding:12px 14px;background:#f2ede6;color:#746a62;font-family:"IBM Plex Mono",Consolas,monospace;font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.07em}.about-copy.content-card{align-self:start;height:auto;padding:0;background:transparent;box-shadow:none;backdrop-filter:none}.about-copy::before{display:none}.about-copy h2{font-size:clamp(28px,3.5vw,40px)}
.content-card{position:relative;display:grid;grid-template-columns:1fr;gap:14px;padding:0 0 clamp(52px,8vw,84px);border:0;background:transparent;scroll-margin-top:24px}
.content-card:not(:last-child){border-bottom:1px solid rgba(48,40,33,.14)}
.content-card::before{content:"";position:absolute;top:2.5px;left:-20px;width:6px;height:6px;border-radius:50%;background:#8f8780}
.content-card::after{display:none}
.content-card:nth-child(2)::after{animation-delay:1.1s}.content-card:nth-child(3)::after{animation-delay:2.3s}.content-card:nth-child(4)::after{animation-delay:3.4s}.content-card:nth-child(5)::after{animation-delay:4.6s}.content-card:nth-child(6)::after{animation-delay:1.7s}.content-card:nth-child(7)::after{animation-delay:3.9s}
@keyframes card-signal{0%,72%{transform:translateX(0);opacity:0}76%{opacity:.9}84%{transform:translateX(17px);opacity:1}88%,100%{transform:translateX(20px);opacity:0}}
.content-number{color:var(--signal);font:600 11px/1 var(--mono);letter-spacing:.12em}
.offer-visual{aspect-ratio:3/2;margin:0 0 clamp(28px,4vw,42px);overflow:hidden;border:1px solid #e2d9cf;background:var(--paper)}
.offer-visual img{display:block;width:100%;height:100%;object-fit:cover}
.offers-page .content-card>div:last-child{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:clamp(28px,4vw,48px);align-items:start}
.offers-page .offer-visual{grid-column:1;grid-row:1/span 4;margin:0}
.offers-page .content-card h2,.offers-page .content-card p,.offers-page .page-meta{grid-column:2}
.offers-page .content-card h2{font-size:clamp(28px,3.8vw,42px)}
.offers-page .content-card::before,.offers-page .content-card::after{display:none}
.page-signals-active .page-main::after,.page-signals-active .content-card::after{display:none}
.page-signal-layer{position:absolute;z-index:2;top:0;overflow:visible;pointer-events:none}
.offer-branch-line,.page-signal-route,.page-route-spark{fill:none;vector-effect:non-scaling-stroke}
.offer-branch-line{stroke:rgba(48,40,33,.28);stroke-width:1}
.page-signal-route{stroke:transparent;stroke-width:1}
.page-route-spark{stroke:var(--spark-color);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px var(--spark-color))}
.offer-title-node{position:relative;z-index:3;display:inline-block;color:var(--signal);text-shadow:0 0 8px rgba(255,106,0,.4)}
.offer-title-node.is-receiving{animation:offer-node-receive .62s ease-out}
@keyframes offer-node-receive{45%{color:#fff;text-shadow:0 0 4px #fff,0 0 16px var(--signal),0 0 24px var(--signal)}}
.content-card h2{margin:0 0 28px;font-family:var(--display);font-size:clamp(28px,5vw,48px);font-weight:700;line-height:1.03}
.content-card p{margin:0 0 20px;color:#4d433b;font-size:16px;line-height:1.72}
.content-card strong{color:var(--ink);font-weight:600}
.page-meta{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:34px;padding-top:22px;border-top:1px solid #e2d9cf;color:var(--muted);font-size:13px}
.page-meta b{color:var(--ink);font-weight:600}
.page-meta a{color:inherit;text-decoration:none;border-bottom:1px solid var(--signal)}
.page-meta a:hover,.page-meta a:focus-visible{color:var(--signal)}
.page-meta a:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
.back-link{display:inline-flex;margin-top:34px;color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}
.back-link:hover{color:var(--signal)}
.page-cta{position:relative;margin-top:clamp(64px,9vw,104px);padding:clamp(34px,5vw,54px) clamp(24px,5vw,54px);border-top:1px solid rgba(48,40,33,.2);border-bottom:1px solid rgba(48,40,33,.2);background:linear-gradient(110deg,rgba(255,106,0,.07),rgba(255,255,255,.42) 62%,transparent)}
.page-cta::before{content:"";position:absolute;top:-5px;left:-24px;width:9px;height:9px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 5px rgba(255,106,0,.08),0 0 16px rgba(255,106,0,.45)}
.page-cta-kicker{margin:0 0 17px!important;color:var(--signal)!important;font:600 12px/1 var(--mono)!important;letter-spacing:.11em;text-transform:uppercase}
.page-cta h2{max-width:720px;margin:0 0 18px;font-size:clamp(28px,4.5vw,48px);line-height:1.05}
.page-cta>p:not(.page-cta-kicker){max-width:650px;margin:0;color:#4d433b;font-size:clamp(17px,1.5vw,19px);line-height:1.6}
.legal-page .page-main{width:min(820px,calc(100% - 44px))}
.legal-intro{max-width:700px}
.legal-section{padding:clamp(38px,6vw,62px) 0;border-top:1px solid rgba(48,40,33,.16)}
.legal-section:first-of-type{margin-top:56px}
.legal-section h2{margin:0 0 24px;font-size:clamp(28px,4vw,42px);line-height:1.08}
.legal-section h3{margin:34px 0 12px;font-size:20px;line-height:1.25}
.legal-section p,.legal-section li{color:#4d433b;font-size:16px;line-height:1.72}
.legal-section p{margin:0 0 18px}
.legal-section ul{margin:0 0 22px;padding-left:20px}
.legal-section a{color:var(--ink);text-decoration-color:var(--signal);text-underline-offset:3px}
.legal-section a:hover,.legal-section a:focus-visible{color:var(--signal)}
.legal-contact{font-style:normal}
.legal-note{padding:18px 20px;border-left:2px solid var(--signal);background:rgba(255,106,0,.055)}
.page-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:30px}
.page-cta-primary{display:inline-flex;align-items:center;gap:16px;padding:17px 22px;background:var(--signal);color:#fff;font:700 14px/1 var(--mono);letter-spacing:.025em;text-decoration:none;text-transform:uppercase;transition:background .2s ease,transform .2s ease}
.page-cta-primary:hover,.page-cta-primary:focus-visible{background:var(--ink);transform:translateY(-2px)}
.page-cta-primary:focus-visible,.page-cta-phone:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
.page-cta-phone{color:var(--ink);font-size:15px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--signal)}
.portfolio-thumb{position:relative;display:block;aspect-ratio:8/5;margin:0 0 28px;overflow:hidden;border:1px solid #d8cfc5;background:#eef2f7;color:#fff;text-decoration:none}
.portfolio-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.portfolio-thumb span{position:absolute;right:0;bottom:0;padding:11px 14px;background:var(--ink);font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.portfolio-thumb:hover img,.portfolio-thumb:focus-visible img{transform:scale(1.012)}
.portfolio-thumb:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.portfolio-feature h2 a{color:inherit;text-decoration:none}.portfolio-feature h2 a:hover{color:var(--signal)}
.portfolio-page .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,7vw,88px) clamp(28px,4vw,52px)}
.portfolio-page .portfolio-feature{display:grid;min-width:0;grid-template-rows:auto auto 1fr auto;align-self:stretch;padding:0;border:0}
.portfolio-page .portfolio-feature::before,.portfolio-page .portfolio-feature::after{display:none}
.portfolio-page .portfolio-copy{display:flex;flex-direction:column;align-items:flex-start}
.portfolio-page .portfolio-feature h2{min-height:2.06em;margin:0 0 20px;font-size:clamp(28px,3vw,40px)}
.portfolio-page .portfolio-feature p{font-size:15px;line-height:1.68}
.portfolio-page .portfolio-feature .content-number{margin-bottom:12px}
.portfolio-summary{display:-webkit-box;min-height:8.4em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}
.portfolio-summary.is-expanded{display:block;min-height:8.4em;overflow:visible}
.portfolio-summary p{margin:0}
.portfolio-expand{margin:10px 0 20px;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);font:600 11px/1.5 var(--mono);cursor:pointer}
.portfolio-expand:hover,.portfolio-expand:focus-visible{color:var(--signal)}
.portfolio-expand:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
.portfolio-expand[hidden]{visibility:hidden;display:block}
.portfolio-page .portfolio-thumb{width:100%;margin:0}
.portfolio-footer{display:flex;min-height:132px;flex-direction:column;align-items:flex-start}
.portfolio-page .portfolio-feature .page-meta{width:100%;min-height:64px;margin:0;padding-top:18px}
.portfolio-page .portfolio-feature .portfolio-more{margin-top:auto}
.portfolio-more{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:11px 15px;border:1px solid var(--ink);color:var(--ink);font:700 11px/1 var(--mono);letter-spacing:.04em;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.portfolio-more span{font-size:15px;transition:transform .2s}
.portfolio-more:hover,.portfolio-more:focus-visible{border-color:var(--signal);background:var(--signal);color:#fff}
.portfolio-more:hover span,.portfolio-more:focus-visible span{transform:translateX(3px)}
.portfolio-more:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.project-divider{height:4px;margin-top:28px;border-top:1px solid #cbc7c2;border-bottom:1px solid #dedbd7}
.case-page .page-main{width:min(1080px,calc(100% - 44px))}.case-page .page-lead{max-width:820px}
.case-hero{margin:54px 0 22px}.case-hero img{display:block;width:100%;height:auto;border:1px solid #d8cfc5;background:#eef2f7}.case-hero figcaption{padding:14px 0;color:var(--muted);font-size:12px;line-height:1.55}.case-hero figcaption b{color:var(--ink)}
.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 80px;border:1px solid #ddd5cc;background:#ddd5cc}.case-facts span{padding:17px 18px;background:var(--panel);color:var(--muted);font-size:12px}.case-facts b{display:block;margin-top:7px;color:var(--ink);font-size:13px}
.case-story .content-card::before{left:calc(var(--rail-offset) * -1)}
.case-story .content-card::after{display:none}
.case-story .content-number{margin-bottom:14px}
.case-story .content-card h2{max-width:880px;margin-bottom:18px;font-size:clamp(24px,3vw,36px);line-height:1.12;letter-spacing:-.025em}
.case-next{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:26px;padding-top:24px;border-top:1px solid #d8cfc5}.case-next a{color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.case-next a:last-child{color:var(--signal)}
.proof-figure{margin:34px 0 4px}.proof-figure img{display:block;width:100%;height:auto;border:1px solid #d8cfc5;background:#eef2f7}.proof-figure figcaption{padding:12px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.proof-detail{overflow:hidden}.proof-detail img{width:136%;max-width:none;transform:translateX(-1.5%);transform-origin:left center}
.planning-flow{margin:38px 0 0;border-top:1px solid rgba(48,40,33,.14);border-bottom:1px solid rgba(48,40,33,.14)}
.planning-flow svg{display:block;width:100%;height:auto;overflow:visible}
.planning-flow figcaption{padding:13px 0;color:var(--muted);font-size:12px;line-height:1.55}
.planning-flow figcaption b{color:var(--ink)}
.planning-flow__grid path:first-child{stroke:#d7cec4;stroke-width:1}
.planning-flow__grid path:last-child{fill:none;stroke:rgba(48,40,33,.12);stroke-width:1}
.planning-flow__input rect{fill:#fffdf9;stroke:#bdb3a9;stroke-width:1}
.planning-flow__input circle{fill:var(--signal)}
.planning-flow__input text,.planning-flow__core text,.planning-flow__output text{fill:#4d433b;font:600 12px/1 var(--mono);letter-spacing:.07em;text-anchor:middle}
.planning-flow__input text{text-anchor:start}
.planning-flow__messengers>path{fill:none;stroke:rgba(48,40,33,.24);stroke-width:1}
.planning-flow__messengers g>circle{fill:#25d366;stroke:#fff;stroke-width:2;filter:drop-shadow(0 4px 7px rgba(48,40,33,.13))}
.planning-flow__messengers image{pointer-events:none}
.planning-flow__messenger-sparks path{fill:none;stroke:#25d366;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:8 92;animation:planning-spark 1.7s linear infinite}
.planning-flow__messenger-sparks path:nth-child(2){animation-delay:-.55s}.planning-flow__messenger-sparks path:nth-child(3){animation-delay:-1.1s}
.planning-flow__routes path{fill:none;stroke:rgba(48,40,33,.32);stroke-width:1}
.planning-flow__sparks path{fill:none;stroke:url(#flow-spark);stroke-width:3;stroke-linecap:round;stroke-dasharray:13 87;animation:planning-spark 2.2s linear infinite}
.planning-flow__sparks path:nth-child(2){animation-delay:-.72s}.planning-flow__sparks path:nth-child(3){animation-delay:-1.38s}.planning-flow__sparks path:nth-child(4){animation-delay:-.35s;animation-duration:1.55s}
.planning-flow__core ellipse{fill:rgba(48,40,33,.22)}
.planning-flow__core path{fill:#fffdf9;stroke:#9d9288;stroke-width:1}.planning-flow__core path+path{fill:#f4eee7}
.planning-flow__core .planning-flow__accent{fill:var(--signal);filter:drop-shadow(0 0 7px rgba(255,106,0,.75));animation:planning-core 2.2s ease-in-out infinite}
.planning-flow__output>path{fill:#fffdf9;stroke:#9d9288;stroke-width:1}.planning-flow__output>path:nth-child(2){fill:#f2ece4}.planning-flow__output>path:nth-child(3){fill:#fff}
.planning-flow__schedule{fill:none!important;stroke:var(--signal)!important;stroke-width:1.2!important}
.case-flow{margin:38px 0 0;border-top:1px solid rgba(48,40,33,.14);border-bottom:1px solid rgba(48,40,33,.14)}
.case-flow svg{display:block;width:100%;height:auto;overflow:visible}
.case-flow figcaption{padding:13px 0;color:var(--muted);font-size:12px;line-height:1.55}
.case-flow figcaption b{color:var(--ink)}
.case-flow__grid{fill:none;stroke:rgba(48,40,33,.11);stroke-width:1}
.case-flow__route{fill:none;stroke:rgba(48,40,33,.3);stroke-width:1}
.case-flow__spark{fill:none;stroke:var(--signal);stroke-width:3;stroke-linecap:round;stroke-dasharray:12 88;animation:case-flow-spark 1.9s linear infinite}
.case-flow__spark.is-blue{stroke:#3178ff;animation-delay:-.65s}.case-flow__spark.is-red{stroke:#e5483f;animation-delay:-1.2s}.case-flow__spark.is-fast{animation-duration:1.35s}.case-flow__spark.is-slow{animation-duration:2.35s}
.case-flow__box{fill:#fffdf9;stroke:#aaa097;stroke-width:1}
.case-flow__soft{fill:#f3ede6;stroke:#aaa097;stroke-width:1}
.case-flow__label{fill:#4d433b;font:600 12px/1 var(--mono);letter-spacing:.07em;text-anchor:middle}
.case-flow__dot{fill:var(--signal)}
.case-flow__platform{fill:#fffdf9;stroke:#9d9288;stroke-width:1}.case-flow__platform.is-top{fill:#f4eee7}
.case-flow__shadow{fill:rgba(48,40,33,.2);filter:blur(5px)}
.case-flow__orb{fill:url(#case-flow-orb)}
.case-flow__core{fill:var(--signal);filter:drop-shadow(0 0 7px rgba(255,106,0,.72));animation:case-flow-core 2.1s ease-in-out infinite}
.case-flow__paper{fill:#fffdf9;stroke:#9d9288;stroke-width:1}
.case-flow__wave{fill:none;stroke:#3d3630;stroke-width:1.4;stroke-linecap:round}
@keyframes case-flow-spark{to{stroke-dashoffset:-100}}
@keyframes case-flow-core{50%{r:7px;opacity:.7}}
@keyframes planning-spark{to{stroke-dashoffset:-100}}
@keyframes planning-core{50%{r:7px;opacity:.72}}
@media(max-width:760px){.page-header{min-height:68px;padding:13px 20px}.header-contact{gap:13px;margin-right:12px;font-size:10px}.contact-full{display:none}.contact-short{display:inline}.offer-nav{grid-template-columns:1fr}.offer-nav a{padding:14px 16px}.offer-nav span{display:inline;margin:0 10px 0 0}.content-card{gap:12px}.offers-page .content-card>div:last-child{display:block}.offers-page .offer-visual{margin:0 0 28px}.menu-list a{grid-template-columns:36px 1fr}.menu-list b{display:none}.page-main{--rail-offset:10px;padding-top:112px}.page-main::before,.page-main::after{top:145px;left:-10px}.page-main h1::before{left:-12px}.content-card::before{left:-10px;width:10px}.content-card::after{left:-10px}.page-cta{padding:30px 22px}.page-cta::before{left:-14px}.page-cta-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.about-layout{grid-template-columns:1fr;gap:34px;width:100%;margin-left:0;transform:none}.about-portrait{display:block}.about-portrait img{width:100%;height:auto}.about-copy.content-card{height:auto;padding:0}}
@media(max-width:420px){.header-contact{gap:10px;margin-right:9px}.header-contact a{font-size:9px}.brand{font-size:17px}}
@media(max-width:760px){.portfolio-page .portfolio-grid{grid-template-columns:1fr;gap:54px}.portfolio-page .portfolio-feature h2{min-height:0}.portfolio-summary{min-height:0}.portfolio-summary.is-expanded{min-height:0}.portfolio-page .portfolio-feature .page-meta{margin-top:0}.portfolio-page .portfolio-thumb{margin-top:0}.portfolio-footer{min-height:0}.project-divider{margin-top:22px}}
@media(max-width:760px){.case-facts{grid-template-columns:1fr;margin-bottom:58px}.case-hero{margin-top:38px}.portfolio-thumb{margin-bottom:22px}}
@media(max-width:760px){.proof-figure{margin-top:26px}.proof-detail img{width:180%;transform:translateX(-4%)}}
@media(max-width:760px){@keyframes page-spark{0%,8%{top:145px;opacity:0}12%{opacity:1}82%{opacity:.9}92%,100%{top:calc(100% - 46px);opacity:0}}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) .menu-toggle span{transition:none}html:not([data-motion="full"]) .page-main::after,html:not([data-motion="full"]) .content-card::after{animation:none}html:not([data-motion="full"]) .offer-title-node.is-receiving{animation-duration:1.1s}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) .planning-flow__sparks path{animation-duration:4.4s}html:not([data-motion="full"]) .planning-flow__messenger-sparks path{animation-duration:3.4s}html:not([data-motion="full"]) .planning-flow__core .planning-flow__accent{animation-duration:4.4s}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) .case-flow__spark{animation-duration:4s}html:not([data-motion="full"]) .case-flow__core{animation-duration:4.2s}}
html[data-motion="reduce"] .case-flow__spark{animation-duration:4s}
html[data-motion="reduce"] .case-flow__core{animation-duration:4.2s}
html[data-motion="reduce"] .menu-toggle span{transition:none}
html[data-motion="reduce"] .page-main::after,html[data-motion="reduce"] .content-card::after{animation:none}
html[data-motion="reduce"] .offer-title-node.is-receiving{animation-duration:1.1s}

/* Funke: beweglicher Portfolio-Assistent */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.funke{position:relative;z-index:30;font-family:var(--sans);color:var(--ink)}
body.menu-open .funke{visibility:hidden}
.funke-orb{position:fixed;z-index:32;top:0;left:0;width:54px;height:54px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;will-change:transform}
.funke-orb:focus-visible{outline:2px solid var(--signal);outline-offset:5px}
.funke-float{position:absolute;inset:0;animation:funke-float 3.8s ease-in-out infinite;will-change:transform}
.funke-visual{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 31% 27%,#a8a39e 0 2%,#423d39 14%,#151311 50%,#030303 74%);box-shadow:10px 14px 24px -10px rgba(17,16,14,.58);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.funke.is-following .funke-visual{transform:scale(.5)}
.funke-core{position:absolute;z-index:2;top:7px;right:5px;width:10px;height:10px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px rgba(255,106,0,.11),0 0 18px rgba(255,106,0,.78)}
.funke-orbit{position:absolute;inset:-9px;border:1px solid rgba(255,106,0,.42);border-left-color:transparent;border-radius:50%;animation:funke-orbit 7s linear infinite}
.funke-orbit::after{content:"";position:absolute;top:4px;left:3px;width:4px;height:4px;border-radius:50%;background:var(--signal)}
.funke-label{position:absolute;right:50%;bottom:calc(100% + 9px);width:max-content;padding:6px 8px;transform:translateX(50%);border:1px solid rgba(48,40,33,.15);background:rgba(255,253,249,.94);box-shadow:0 8px 22px rgba(48,40,33,.08);color:var(--ink);font:600 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:1;pointer-events:auto;animation:funke-click-hint 1.45s ease-in-out infinite;transition:opacity .15s ease}
.funke.is-label-below .funke-label{top:calc(100% + 9px);bottom:auto}
.funke.is-moving .funke-label,.funke.is-open .funke-label,.funke.is-inviting .funke-label{opacity:0;animation:none;pointer-events:none}
.funke-bubble{box-sizing:border-box;position:absolute;right:50%;bottom:calc(100% + 13px);display:block;width:min(276px,calc(100vw - 28px));padding:11px 14px 13px;border:1px solid rgba(48,40,33,.3);background:rgba(255,253,249,.98);box-shadow:0 18px 42px rgba(48,40,33,.16);color:var(--ink);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.12);transform-origin:100% 100%;transition:opacity .16s ease,transform .34s cubic-bezier(.18,.85,.24,1),visibility 0s linear .34s}
.funke-bubble::after{content:"";position:absolute;right:-1px;bottom:-13px;width:1px;height:12px;background:var(--ink)}
.funke-bubble-kicker{display:block;margin-bottom:7px;color:var(--signal);font:600 8px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.funke-bubble-copy{font:650 15px/1.35 var(--sans);letter-spacing:-.015em}
.funke-bubble-caret{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.14em;background:var(--signal);animation:funke-type-caret .7s steps(1,end) infinite}
.funke.is-inviting .funke-bubble{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}
.funke.is-bubble-right .funke-bubble{right:auto;left:50%;transform-origin:0 100%}
.funke.is-bubble-right .funke-bubble::after{right:auto;left:-1px}
.funke.is-label-below .funke-bubble{top:calc(100% + 13px);bottom:auto;transform-origin:100% 0}
.funke.is-label-below .funke-bubble::after{top:-13px;bottom:auto}
.funke.is-label-below.is-bubble-right .funke-bubble{transform-origin:0 0}
.funke.is-moving .funke-bubble,.funke.is-open .funke-bubble{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.12);transition-duration:.1s;transition-delay:0s}
.funke-panel{box-sizing:border-box;position:fixed;z-index:31;top:0;left:0;display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto auto auto auto;width:min(410px,calc(100vw - 24px));max-height:min(650px,calc(100vh - 24px));overflow:hidden;border:1px solid rgba(48,40,33,.26);background:rgba(255,253,249,.97);box-shadow:0 28px 70px rgba(48,40,33,.2);backdrop-filter:blur(18px);animation:funke-open .28s cubic-bezier(.2,.8,.2,1)}
.funke-panel[hidden]{display:none}
.funke-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 17px;border-bottom:1px solid #e2d9cf}
.funke-head small{display:block;margin-bottom:6px;color:var(--signal);font:600 9px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.funke-head h2{margin:0;font:700 25px/1 var(--display);letter-spacing:-.025em}
.funke-close{width:34px;height:34px;padding:0;border:1px solid rgba(48,40,33,.18);border-radius:50%;background:transparent;color:var(--ink);font:300 24px/1 var(--sans);cursor:pointer}
.funke-close:hover,.funke-close:focus-visible{border-color:var(--signal);color:var(--signal);outline:none}
.funke-budget{margin:0;padding:9px 20px;border-bottom:1px solid #e2d9cf;color:var(--muted);font:600 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.funke-budget span{color:var(--signal);font-size:11px}
.funke-budget.is-empty{color:var(--ink)}
.funke-log{display:flex;flex-direction:column;gap:10px;min-height:160px;padding:18px 20px;overflow-y:auto;overscroll-behavior:contain}
.funke-message{max-width:88%;padding:12px 14px;border:1px solid #e2d9cf;background:var(--paper);font-size:13px;line-height:1.55}
.funke-message.is-user{align-self:flex-end;border-color:var(--ink);background:var(--ink);color:#fff}
.funke-message p{margin:0}
.funke-message a{display:inline-block;margin-top:9px;color:var(--signal);font-weight:700;text-decoration:none}
.funke-handoff{display:grid;gap:8px;padding:14px;border:1px solid var(--signal);background:rgba(255,106,0,.06);font-size:12px;line-height:1.45}
.funke-handoff strong{font-weight:700}
.funke-handoff a{color:var(--signal);font-weight:700;text-decoration:none}
.funke-prompts{display:flex;flex-wrap:wrap;gap:7px;padding:0 20px 14px}
.funke-prompts[hidden]{display:none}
.funke-prompts button{flex:1 1 120px;padding:8px 10px;border:1px solid #ddd5cc;background:transparent;color:var(--ink);font:600 10px/1.3 var(--sans);cursor:pointer}
.funke-prompts button:hover,.funke-prompts button:focus-visible{border-color:var(--signal);color:var(--signal);outline:none}
.funke-form{display:grid;grid-template-columns:1fr 42px;gap:8px;padding:12px 14px;border-top:1px solid #e2d9cf;background:#fffdf9}
.funke-form textarea{box-sizing:border-box;min-height:42px;max-height:112px;padding:11px 12px;resize:none;border:1px solid #d8cfc5;border-radius:0;background:#fff;color:var(--ink);font:500 13px/1.45 var(--sans)}
.funke-form textarea:focus{border-color:var(--signal);outline:none}
.funke-form button{border:0;border-radius:50%;background:var(--signal);color:white;font:600 20px/1 var(--sans);cursor:pointer}
.funke-form :disabled{cursor:not-allowed;opacity:.48}
.funke-motion{display:flex;align-items:center;gap:5px;padding:9px 15px 7px;color:var(--muted);font:500 8px/1 var(--mono);letter-spacing:.04em}
.funke-motion span{margin-right:auto;text-transform:uppercase;letter-spacing:.09em}
.funke-motion button{padding:4px 6px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.funke-motion button:hover,.funke-motion button:focus-visible{color:var(--signal);outline:none}
.funke-motion button[aria-pressed="true"]{background:var(--ink);color:#fff}
.funke-note{margin:0;padding:0 15px 12px;color:var(--muted);font:500 8px/1.4 var(--mono);letter-spacing:.04em}
.funke.is-thinking .funke-core{animation:funke-pulse .8s ease-in-out infinite alternate}
@keyframes funke-float{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@keyframes funke-orbit{to{transform:rotate(360deg)}}
@keyframes funke-pulse{to{transform:scale(1.55);box-shadow:0 0 0 7px rgba(255,106,0,.1),0 0 24px rgba(255,106,0,.9)}}
@keyframes funke-click-hint{0%,100%{opacity:.48}50%{opacity:1}}
@keyframes funke-type-caret{0%,48%{opacity:1}49%,100%{opacity:0}}
@keyframes funke-open{from{opacity:0;transform:translateY(12px) scale(.98)}}
@media(max-width:620px){.funke-orb{width:48px;height:48px}.funke-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.funke-head{padding:17px}.funke-log{padding:15px 17px}.funke-prompts{padding:0 17px 12px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) .funke-float{animation:none}html:not([data-motion="full"]) .funke-orbit{animation-duration:18s}html:not([data-motion="full"]) .funke-panel{animation:funke-fade .16s ease-out}html:not([data-motion="full"]) .funke-core{animation:none!important}html:not([data-motion="full"]) .funke-label{animation:funke-click-hint-reduced 2.2s ease-in-out infinite}html:not([data-motion="full"]) .funke-bubble{transition-duration:.18s}}
html[data-motion="reduce"] .funke-float{animation:none}
html[data-motion="reduce"] .funke-orbit{animation-duration:18s}
html[data-motion="reduce"] .funke-panel{animation:funke-fade .16s ease-out}
html[data-motion="reduce"] .funke-core{animation:none!important}
html[data-motion="reduce"] .funke-label{animation:funke-click-hint-reduced 2.2s ease-in-out infinite}
html[data-motion="reduce"] .funke-bubble{transition-duration:.18s}
@keyframes funke-fade{from{opacity:0}}
@keyframes funke-click-hint-reduced{0%,100%{opacity:.65}50%{opacity:1}}
