/*
Theme Name: saarpatch
Theme URI: https://saarpatch.de/
Author: saarpatch
Description: Reduziertes, anfrageorientiertes WordPress-Theme mit Fokus auf individuelle Patches, insbesondere Rubberpatches.
Version: 2.6.0
Text Domain: saarpatch
*/

:root {
  --sp-bg:#08090a;
  --sp-bg-soft:#0d0f10;
  --sp-panel:#111315;
  --sp-panel-2:#17191b;
  --sp-text:#f4f4f0;
  --sp-muted:#8d9191;
  --sp-line:rgba(255,255,255,.10);
  --sp-line-strong:rgba(255,255,255,.18);
  --sp-accent:#ff5a00;
  --sp-accent-soft:#ff7a22;
  --sp-container:1240px;
  --mx:50vw;
  --my:35vh;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--sp-bg)}
body{margin:0;background:var(--sp-bg);color:var(--sp-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,90,0,.055),transparent 62%);mix-blend-mode:screen}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--sp-accent);color:#fff}
.sp-container{width:min(calc(100% - 48px),var(--sp-container));margin-inline:auto}
.sp-section{padding:110px 0}
.sp-section--form{padding-top:72px}

.sp-scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:10000;pointer-events:none;background:transparent}
.sp-scroll-progress span{display:block;width:100%;height:100%;background:var(--sp-accent);transform:scaleX(0);transform-origin:left center;will-change:transform;box-shadow:0 0 18px rgba(255,90,0,.75)}

.site-header{position:fixed;left:0;right:0;top:0;z-index:1000;border-bottom:1px solid transparent;transition:background .28s ease,border-color .28s ease,backdrop-filter .28s ease}
.site-header.is-scrolled{background:rgba(8,9,10,.82);border-color:var(--sp-line);backdrop-filter:blur(18px)}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.site-brand{display:inline-flex;align-items:center;min-width:max-content}
.site-brand .custom-logo{width:auto;max-width:205px;max-height:52px;object-fit:contain}
.site-brand__fallback{position:relative;display:inline-flex;align-items:center;font-weight:950;letter-spacing:.08em;font-size:1rem;line-height:1;text-transform:lowercase;color:#f1f1ed}
.site-brand__fallback i{width:6px;height:6px;margin-left:9px;background:var(--sp-accent);box-shadow:0 0 16px rgba(255,90,0,.8);transform:rotate(45deg)}
.primary-nav .menu{display:flex;align-items:center;gap:30px;list-style:none;padding:0;margin:0}
.primary-nav a{position:relative;color:#b6b9b9;font-size:.83rem;font-weight:720;letter-spacing:.04em;transition:color .2s ease}
.primary-nav a::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--sp-accent);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.primary-nav a:hover{color:#fff}
.primary-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.header-actions{display:flex;align-items:center;gap:14px}
.header-inquiry{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid var(--sp-line-strong);font-size:.78rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease}
.header-inquiry span{color:var(--sp-accent)}
.header-inquiry:hover{background:#fff;color:#0c0d0e;border-color:#fff}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--sp-line);background:transparent;position:relative;cursor:pointer}
.menu-toggle::before,.menu-toggle::after,.menu-toggle span{content:"";position:absolute;left:11px;right:11px;height:1px;background:#fff;transition:transform .2s ease,top .2s ease,opacity .2s ease}
.menu-toggle::before{top:13px}.menu-toggle span{top:20px}.menu-toggle::after{top:27px}
.menu-toggle.is-open::before{top:20px;transform:rotate(45deg)}.menu-toggle.is-open span{opacity:0}.menu-toggle.is-open::after{top:20px;transform:rotate(-45deg)}

.sp-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--sp-accent);font-size:.71rem;font-weight:900;letter-spacing:.19em;text-transform:uppercase}
.sp-eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.sp-display{margin:18px 0 0;font-size:clamp(3.2rem,6.4vw,7.2rem);line-height:.89;letter-spacing:-.068em;font-weight:900}
.sp-display em{font-style:normal;color:var(--sp-accent)}
.sp-btn{min-height:54px;padding:0 21px;border:1px solid var(--sp-line-strong);display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:.82rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:transform .18s ease,background .2s ease,color .2s ease,border-color .2s ease;will-change:transform}
.sp-btn span{font-size:1.1rem}
.sp-btn--primary{background:var(--sp-accent);border-color:var(--sp-accent);color:#fff;box-shadow:0 0 0 rgba(255,90,0,0);transition:transform .18s ease,box-shadow .25s ease,background .2s ease}
.sp-btn--primary:hover{background:#ff6814;box-shadow:0 15px 46px rgba(255,90,0,.22)}
.sp-btn--huge{min-height:68px;padding:0 30px;font-size:.9rem}
.sp-text-link{display:inline-flex;align-items:center;gap:12px;color:#d4d6d5;font-size:.86rem;font-weight:800}
.sp-text-link span{color:var(--sp-accent);transition:transform .2s ease}
.sp-text-link:hover span{transform:translate(3px,-3px)}
.sp-text-link--large{margin-top:44px;font-size:1rem}

.sp-hero{min-height:100svh;position:relative;display:grid;align-items:center;overflow:hidden;background:linear-gradient(135deg,#08090a 0%,#0b0d0e 58%,#111315 100%)}
.sp-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 55% 50%,#000 0%,transparent 72%)}
.sp-hero::after{content:"";position:absolute;inset:auto -10vw -25vh auto;width:68vw;height:68vw;border-radius:50%;background:radial-gradient(circle,rgba(255,90,0,.15),rgba(255,90,0,.03) 35%,transparent 68%);filter:blur(25px);animation:heroPulse 7s ease-in-out infinite alternate;pointer-events:none}
@keyframes heroPulse{from{transform:translate3d(0,0,0) scale(.96);opacity:.62}to{transform:translate3d(-2vw,-2vh,0) scale(1.05);opacity:1}}
.sp-hero__ambient{position:absolute;left:-16vw;top:17vh;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.045),transparent 68%);filter:blur(40px);pointer-events:none}
.sp-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding:128px 0 82px}
.sp-hero__copy h1{max-width:790px;margin:18px 0 24px;font-size:clamp(4rem,7.8vw,8.4rem);line-height:.84;letter-spacing:-.078em;font-weight:930}
.sp-hero__copy>p{max-width:650px;margin:0;color:#a8aaaa;font-size:clamp(1rem,1.3vw,1.18rem)}
.sp-hero__actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.sp-hero__logo-wrap{position:relative;min-height:580px;display:flex;flex-direction:column;align-items:center;justify-content:center;perspective:1000px}
.sp-hero__logo{position:relative;z-index:2;width:min(690px,112%);max-width:none;filter:saturate(1.06) contrast(1.03);transition:transform .18s ease-out;will-change:transform;mix-blend-mode:screen}
.sp-hero__wordmark{position:relative;z-index:3;margin-top:-42px;color:#f1f1ed;font-size:clamp(2rem,4.2vw,4rem);font-weight:950;letter-spacing:.08em;line-height:1;text-transform:lowercase;text-shadow:0 0 32px rgba(255,90,0,.12)}
.sp-logo-orbit{position:absolute;width:58%;aspect-ratio:1;border:1px solid rgba(255,90,0,.20);border-radius:50%;box-shadow:0 0 90px rgba(255,90,0,.08),inset 0 0 90px rgba(255,90,0,.04);animation:orbitBreath 5s ease-in-out infinite alternate}
.sp-logo-orbit::before,.sp-logo-orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06)}
.sp-logo-orbit::before{inset:-18%}.sp-logo-orbit::after{inset:18%}
@keyframes orbitBreath{from{transform:scale(.96);opacity:.55}to{transform:scale(1.04);opacity:1}}
.sp-hero__scroll{position:absolute;z-index:2;left:30px;bottom:30px;display:flex;align-items:center;gap:12px;color:#666b6b;font-size:.63rem;font-weight:800;letter-spacing:.18em;writing-mode:vertical-rl}
.sp-hero__scroll span{height:58px;width:1px;background:linear-gradient(var(--sp-accent),transparent);animation:scrollLine 1.8s ease-in-out infinite}
@keyframes scrollLine{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

.sp-marquee{overflow:hidden;border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line);background:#0a0b0c;white-space:nowrap}
.sp-marquee__track{width:max-content;display:flex;align-items:center;gap:28px;padding:17px 0;animation:marquee 30s linear infinite}
.sp-marquee span{color:#8e9191;font-size:.74rem;font-weight:900;letter-spacing:.16em}
.sp-marquee i{color:var(--sp-accent);font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

.sp-rubber{position:relative;padding:150px 0 160px;overflow:hidden;background:#0a0b0c}
.sp-rubber__word{position:absolute;left:-1vw;top:20px;font-size:clamp(10rem,24vw,26rem);line-height:.8;font-weight:950;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035);white-space:nowrap;transform:translateX(calc(var(--sp-scroll-y,0px) * -.018));will-change:transform}
.sp-rubber__grid{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}
.sp-rubber__sticky{position:sticky;top:142px}
.sp-rubber__copy{padding-top:155px}
.sp-big-copy{margin:0;color:#e3e4e1;font-size:clamp(1.6rem,2.7vw,3.05rem);line-height:1.18;letter-spacing:-.035em;font-weight:650}
.sp-feature-lines{margin-top:62px;border-top:1px solid var(--sp-line)}
.sp-feature-lines>div{display:grid;grid-template-columns:58px 1fr auto;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--sp-line)}
.sp-feature-lines span{color:var(--sp-accent);font-size:.68rem;font-weight:900}
.sp-feature-lines strong{font-size:1rem}
.sp-feature-lines small{color:var(--sp-muted);font-size:.84rem}

.sp-more{padding:105px 0;background:var(--sp-accent);color:#fff;position:relative;overflow:hidden}
.sp-more::after{content:"+";position:absolute;right:-1vw;top:-35%;font-size:35rem;line-height:1;font-weight:300;color:rgba(0,0,0,.09)}
.sp-more .sp-eyebrow{color:#fff}
.sp-more__statement{position:relative;z-index:2;max-width:1120px;margin:28px 0 0;font-size:clamp(2.3rem,5.2vw,5.8rem);line-height:.96;letter-spacing:-.06em;font-weight:900}
.sp-more__statement span{color:rgba(255,255,255,.54)}

.sp-design{position:relative;padding:150px 0;background:#0b0c0d;overflow:hidden}
.sp-design__glow{position:absolute;right:-20vw;top:-30vh;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,rgba(255,90,0,.12),transparent 65%);filter:blur(30px);pointer-events:none}
.sp-design__head{position:relative;z-index:2;margin-bottom:72px}
.sp-design__rows{position:relative;z-index:2;border-top:1px solid var(--sp-line)}
.sp-price-row{display:grid;grid-template-columns:65px 1fr auto;gap:28px;align-items:center;padding:31px 0;border-bottom:1px solid var(--sp-line);transition:padding .25s ease,background .25s ease}
.sp-price-row:hover{padding-left:16px;padding-right:16px;background:rgba(255,255,255,.018)}
.sp-price-row__index{color:#666b6b;font-size:.68rem;font-weight:900}
.sp-price-row div{display:flex;flex-direction:column;gap:4px}
.sp-price-row strong{font-size:clamp(1.2rem,2vw,2rem);letter-spacing:-.025em}
.sp-price-row small{color:var(--sp-muted)}
.sp-price-row>b{min-width:115px;text-align:right;font-size:clamp(1.7rem,3vw,3.1rem);letter-spacing:-.05em}
.sp-price-row--accent>b{color:var(--sp-accent);text-shadow:0 0 30px rgba(255,90,0,.24)}
.sp-design__cta{position:relative;z-index:2;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.sp-design__cta p{max-width:680px;margin:0;color:var(--sp-muted);font-size:.9rem}

.sp-flow{padding:115px 0;background:#08090a;border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line)}
.sp-flow__line{margin-top:36px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff;font-size:clamp(1.25rem,3.2vw,3.7rem);font-weight:900;letter-spacing:-.045em}
.sp-flow__line i{color:var(--sp-accent);font-style:normal;font-weight:400;opacity:.9}

.sp-final-cta{position:relative;min-height:72vh;display:grid;place-items:center;text-align:center;overflow:hidden;background:#0a0b0c}
.sp-final-cta__glow{position:absolute;width:80vw;height:80vw;border-radius:50%;background:radial-gradient(circle,rgba(255,90,0,.18),rgba(255,90,0,.03) 38%,transparent 68%);filter:blur(25px);animation:ctaGlow 6s ease-in-out infinite alternate}
@keyframes ctaGlow{from{transform:scale(.85);opacity:.5}to{transform:scale(1.08);opacity:1}}
.sp-final-cta .sp-container{position:relative;z-index:2}
.sp-final-cta h2{margin:14px 0 36px;font-size:clamp(4.2rem,11vw,11.5rem);line-height:.82;letter-spacing:-.085em;font-weight:950}

/* Inquiry / contact */
.inquiry-page,.site-main--standard{padding-top:84px}
.inquiry-hero{padding:105px 0 70px;border-bottom:1px solid var(--sp-line);background:linear-gradient(180deg,#101214,#0b0c0d)}
.inquiry-hero__simple{max-width:900px}
.inquiry-hero h1{margin:14px 0 18px;font-size:clamp(4rem,8vw,8rem);line-height:.84;letter-spacing:-.075em}
.inquiry-hero p{max-width:720px;margin:0;color:var(--sp-muted);font-size:1.08rem}
.inquiry-form-wrap{max-width:900px}
.sp-form{border:1px solid var(--sp-line);background:#0d0f10}
.sp-form--inquiry{padding:0}
.form-section{padding:34px;border-bottom:1px solid var(--sp-line)}
.form-section:last-child{border-bottom:0}
.form-section__label{display:block;margin-bottom:21px;color:var(--sp-accent);font-size:.69rem;font-weight:900;letter-spacing:.16em}
.sp-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.sp-field{display:flex;flex-direction:column;gap:7px}
.sp-field--full{grid-column:1/-1}
.sp-field label{color:#d7d8d4;font-size:.84rem;font-weight:740}
.sp-field label small{color:var(--sp-muted);font-weight:500}
.sp-field input,.sp-field textarea,.sp-field select{width:100%;border:1px solid var(--sp-line-strong);border-radius:0;outline:none;background:#090a0b;color:#fff;padding:14px 15px;transition:border-color .18s ease,background .18s ease}
.sp-field input,.sp-field select{min-height:51px}
.sp-field textarea{min-height:165px;resize:vertical}
.sp-field input:focus,.sp-field textarea:focus,.sp-field select:focus{border-color:var(--sp-accent);background:#0d0e0f}
.sp-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.sp-notice{margin:0;padding:16px 18px;border-bottom:1px solid rgba(105,213,156,.28);background:rgba(105,213,156,.07)}
.sp-notice--error{border-color:rgba(255,108,108,.32);background:rgba(255,108,108,.07)}
.design-options{display:grid;gap:10px}
.design-option{position:relative;padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1px solid var(--sp-line-strong);background:#090a0b;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.design-option:hover{border-color:rgba(255,255,255,.28);background:#0d0f10}
.design-option input{accent-color:var(--sp-accent)}
.design-option span{display:flex;flex-direction:column;gap:2px}
.design-option strong{font-size:.92rem}
.design-option small{color:var(--sp-muted)}
.design-option>b{color:#dfe0dc;font-size:1.08rem}
.design-option--paid{border-color:rgba(255,90,0,.42)}
.design-option--paid>b{color:var(--sp-accent)}
.file-upload{min-height:58px;position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;border:1px dashed var(--sp-line-strong);padding:8px;background:#090a0b;overflow:hidden}
.file-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.file-upload__text{padding:8px 11px;background:#222527;font-size:.82rem;font-weight:800}
.file-upload__name{color:var(--sp-muted);font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.privacy-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;color:var(--sp-muted)!important;font-weight:500!important}
.privacy-check input{width:auto;min-height:auto;margin-top:4px;accent-color:var(--sp-accent)}
.form-submit{display:flex;flex-direction:row;align-items:center;gap:15px}.form-submit small{color:var(--sp-muted)}
.site-main--standard{min-height:70vh;padding-bottom:110px}.site-main--standard>.sp-container{padding-top:86px}.entry-title{margin:10px 0 18px;font-size:clamp(3.6rem,7vw,7rem);line-height:.88;letter-spacing:-.07em}.sp-lead{color:var(--sp-muted);font-size:1.05rem}.contact-grid{margin-top:46px;display:grid;grid-template-columns:.72fr 1.28fr;gap:18px}.contact-card{padding:30px;border:1px solid var(--sp-line);background:#111315}.contact-card h3{margin:0 0 9px;font-size:1.55rem}.contact-card p{color:var(--sp-muted);margin-bottom:24px}.contact-mail{margin-top:34px;padding-top:22px;border-top:1px solid var(--sp-line)}.contact-mail span{display:block;color:var(--sp-muted);font-size:.7rem;letter-spacing:.12em}.contact-mail a{font-weight:800}.entry-content{max-width:860px}.entry-content a{color:var(--sp-accent);text-decoration:underline}

.site-footer{padding:68px 0 24px;border-top:1px solid var(--sp-line);background:#070809}
.footer-main{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end;padding-bottom:46px}
.footer-main p{max-width:520px;margin:18px 0 0;color:var(--sp-muted)}
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.footer-contact span{margin-bottom:5px;color:#646969;font-size:.68rem;font-weight:900;letter-spacing:.14em}.footer-contact a{color:#c9cbca;font-size:.88rem}.footer-contact a:hover{color:var(--sp-accent)}
.footer-bottom{padding-top:22px;border-top:1px solid var(--sp-line);display:flex;justify-content:space-between;gap:20px;color:#696d6d;font-size:.76rem}.footer-bottom__links{display:flex;gap:20px}.footer-bottom__links a:hover{color:#fff}

[data-reveal],.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}
[data-reveal="zoom"]{transform:scale(.94);filter:blur(5px)}
[data-reveal="line"]{transform:translateX(34px)}
[data-reveal].is-visible,.reveal.is-visible{opacity:1;transform:none;filter:none}

@media(max-width:980px){
  .primary-nav{position:fixed;inset:82px 20px auto;display:none;padding:18px;border:1px solid var(--sp-line);background:rgba(8,9,10,.97);box-shadow:0 25px 60px rgba(0,0,0,.4)}
  .primary-nav.is-open{display:block}.primary-nav .menu{flex-direction:column;align-items:stretch;gap:0}.primary-nav a{display:block;padding:12px}.menu-toggle{display:block}.header-inquiry{display:none}
  .sp-hero__grid{grid-template-columns:1fr;gap:12px;padding-top:132px}.sp-hero__copy{position:relative;z-index:3}.sp-hero__logo-wrap{min-height:390px;margin-top:-30px}.sp-hero__logo{width:min(780px,110%)}
  .sp-rubber__grid{grid-template-columns:1fr;gap:36px}.sp-rubber__sticky{position:static}.sp-rubber__copy{padding-top:20px}.sp-feature-lines>div{grid-template-columns:48px 1fr}.sp-feature-lines small{grid-column:2/-1}
  .sp-design__cta{align-items:flex-start;flex-direction:column}.contact-grid{grid-template-columns:1fr}
}

@media(max-width:640px){
  .sp-container{width:min(calc(100% - 28px),var(--sp-container))}.sp-section{padding:76px 0}.header-inner{min-height:72px}.primary-nav{inset:72px 14px auto}.site-brand .custom-logo{max-width:165px;max-height:44px}
  .sp-hero{min-height:auto}.sp-hero__grid{padding:112px 0 68px}.sp-hero__copy h1{font-size:clamp(3.55rem,17vw,5.5rem)}.sp-hero__actions{align-items:flex-start;flex-direction:column;gap:18px}.sp-hero__logo-wrap{min-height:300px;margin-top:-14px}.sp-hero__logo{width:125%}.sp-logo-orbit{width:64%}.sp-hero__scroll{display:none}
  .sp-marquee__track{padding:14px 0;gap:22px}.sp-marquee span{font-size:.68rem}
  .sp-rubber{padding:95px 0 105px}.sp-rubber__word{font-size:9rem;top:35px}.sp-display{font-size:clamp(3rem,14vw,5.2rem)}.sp-big-copy{font-size:1.55rem}.sp-feature-lines{margin-top:42px}.sp-feature-lines>div{grid-template-columns:40px 1fr;gap:14px;padding:18px 0}.sp-feature-lines small{grid-column:2/-1}
  .sp-more{padding:78px 0}.sp-more__statement{font-size:clamp(2.35rem,12vw,4.3rem)}
  .sp-design{padding:95px 0}.sp-design__head{margin-bottom:48px}.sp-price-row{grid-template-columns:38px 1fr;gap:12px;padding:24px 0}.sp-price-row>b{grid-column:2;text-align:left;min-width:0;font-size:2rem}.sp-price-row small{font-size:.8rem}.sp-design__cta{margin-top:28px}
  .sp-flow{padding:80px 0}.sp-flow__line{display:grid;grid-template-columns:1fr auto;justify-content:stretch;gap:12px 18px;font-size:1.55rem}.sp-flow__line span:last-child{grid-column:1}.sp-flow__line i:last-of-type{display:none}
  .sp-final-cta{min-height:62vh}.sp-final-cta h2{font-size:clamp(4.2rem,20vw,7rem)}
  .inquiry-hero{padding:78px 0 48px}.inquiry-hero h1{font-size:clamp(3.8rem,17vw,5.8rem)}.sp-form__grid{grid-template-columns:1fr}.sp-field--full{grid-column:auto}.form-section{padding:22px}.design-option{grid-template-columns:auto 1fr}.design-option>b{grid-column:2}.file-upload{grid-template-columns:1fr}.form-submit{flex-direction:column;align-items:flex-start}.footer-main{grid-template-columns:1fr}.footer-contact{align-items:flex-start}.footer-bottom{flex-direction:column}.footer-bottom__links{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.sp-marquee__track{animation:none}.sp-rubber__word{transform:none!important}[data-reveal],.reveal{opacity:1!important;transform:none!important;filter:none!important}}


/* v2.2 – reduzierter Footer, Impressum und zusätzliche Mobile-Optimierung */
.site-footer--minimal{padding:28px 0;border-top:1px solid var(--sp-line);background:#070809}
.footer-minimal{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-wordmark{font-size:1rem;font-weight:950;letter-spacing:.12em;text-transform:lowercase;color:#f1f1ed}
.footer-wordmark::after{content:".";color:var(--sp-accent)}
.footer-legal{display:flex;align-items:center;gap:18px;color:#737777;font-size:.74rem}
.footer-legal a{transition:color .2s ease}.footer-legal a:hover{color:#fff}
.legal-page{min-height:70vh}.legal-hero{padding:180px 0 70px;border-bottom:1px solid var(--sp-line);background:radial-gradient(circle at 75% 25%,rgba(255,90,0,.10),transparent 35%)}
.legal-hero h1{margin:15px 0 0;font-size:clamp(4.2rem,9vw,8rem);line-height:.86;letter-spacing:-.075em}
.legal-content{padding:72px 0 120px}.legal-content__inner{max-width:840px}.legal-block{padding:28px 0;border-bottom:1px solid var(--sp-line)}.legal-block:first-child{padding-top:0}.legal-block h2{margin:0 0 12px;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.legal-block p{margin:0;color:#b0b3b2;font-size:1.02rem}.legal-block a{color:var(--sp-accent)}

@media(max-width:640px){
  body::before{display:none}
  .sp-container{width:min(calc(100% - 24px),var(--sp-container))}
  .site-header.is-scrolled{backdrop-filter:blur(10px)}
  .sp-hero__grid{padding-top:96px;padding-bottom:52px}
  .sp-hero__copy h1{font-size:clamp(3rem,16vw,4.75rem);line-height:.88;letter-spacing:-.065em}
  .sp-hero__copy>p{font-size:.98rem;line-height:1.6}
  .sp-hero__actions{width:100%}.sp-hero__actions .sp-btn{width:100%}.sp-hero__actions .sp-text-link{padding:4px 0}
  .sp-hero__logo-wrap{min-height:250px;margin-top:4px;overflow:hidden}.sp-hero__logo{width:112%;max-width:560px}.sp-logo-orbit{width:72%}
  .sp-marquee__track{animation-duration:24s}
  .sp-rubber{padding:78px 0 84px}.sp-rubber__word{font-size:7rem;opacity:.022}.sp-big-copy{font-size:1.35rem;line-height:1.42}
  .sp-more__statement{font-size:clamp(2rem,10.5vw,3.5rem);line-height:.98}
  .sp-price-row strong{font-size:1rem}.sp-price-row small{line-height:1.45}.sp-price-row>b{font-size:1.75rem}
  .sp-design__cta .sp-btn,.sp-final-cta .sp-btn{width:100%}
  .sp-flow__line{font-size:1.25rem}.sp-final-cta{min-height:56vh;padding:72px 0}.sp-final-cta h2{font-size:clamp(3.5rem,18vw,5.8rem)}
  .inquiry-hero{padding-top:108px}.inquiry-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.inquiry-hero p{font-size:.98rem}
  .form-section{padding:20px 16px}.sp-field input,.sp-field textarea,.sp-field select{font-size:16px}.design-option{padding:15px 12px;gap:10px}.design-option strong{font-size:.88rem}.design-option small{font-size:.76rem}.sp-btn{min-height:52px}.form-submit .sp-btn{width:100%}
  .legal-hero{padding:118px 0 48px}.legal-hero h1{font-size:clamp(3.5rem,17vw,5.4rem)}.legal-content{padding:48px 0 84px}.legal-block{padding:22px 0}.legal-block p{font-size:.96rem}
  .footer-minimal{align-items:flex-start;flex-direction:column;gap:14px}.footer-legal{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:10px 16px}.site-footer--minimal{padding:24px 0}
}

@media(max-width:390px){
  .sp-container{width:min(calc(100% - 20px),var(--sp-container))}
  .header-inner{min-height:68px}.primary-nav{inset:68px 10px auto}.site-brand .custom-logo{max-width:145px}.menu-toggle{width:40px;height:40px}
  .sp-hero__grid{padding-top:88px}.sp-hero__copy h1{font-size:clamp(2.8rem,15.8vw,4.15rem)}.sp-hero__logo-wrap{min-height:220px}.sp-hero__logo{width:118%}
  .sp-display{font-size:clamp(2.7rem,13.5vw,4.2rem)}.sp-big-copy{font-size:1.24rem}
  .sp-price-row{grid-template-columns:32px 1fr}.sp-price-row__index{font-size:.7rem}
  .design-option{grid-template-columns:18px 1fr}.design-option>b{grid-column:2}.file-upload__name{max-width:100%}
}

@media(pointer:coarse){
  body::before{display:none}.sp-hero__logo{transition:none}.sp-btn:hover{transform:none}.sp-btn--primary:hover{box-shadow:none}
}

/* Datenschutz v2.3 */
.legal-block p + p{margin-top:14px}
.form-privacy-note{margin:0;color:var(--sp-muted);font-size:.82rem;line-height:1.55}
.form-privacy-note a,.privacy-check a{color:var(--sp-accent);text-decoration:underline;text-decoration-color:rgba(255,90,0,.4);text-underline-offset:3px}
.form-privacy-note a:hover,.privacy-check a:hover{text-decoration-color:var(--sp-accent)}


/* v2.3.1 – hard mobile overflow fix */
html,body{width:100%;max-width:100%;overflow-x:clip}
.sp-home,.inquiry-page,.site-main--standard,.legal-page,.site-header,.site-footer{max-width:100%;overflow-x:clip}
.sp-container,.header-inner,.sp-hero__grid,.sp-rubber__grid,.sp-design__rows,.sp-form__grid,.contact-grid{min-width:0}
.sp-container>* ,.sp-hero__grid>* ,.sp-rubber__grid>* ,.sp-form__grid>* ,.sp-price-row>* ,.design-option>*{min-width:0}
.sp-display,.sp-hero__copy h1,.sp-more__statement,.inquiry-hero h1,.legal-hero h1,.entry-title,.sp-price-row strong,.sp-price-row small,.design-option strong,.design-option small,.privacy-check span,.contact-card,.entry-content{overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none}
.sp-field input,.sp-field textarea,.sp-field select,.file-upload,.design-option{max-width:100%;min-width:0}

@media(max-width:640px){
  .sp-container{width:calc(100% - 28px);max-width:calc(100% - 28px);padding:0;margin-left:auto;margin-right:auto}
  .header-inner{width:calc(100% - 24px);max-width:calc(100% - 24px);gap:12px}
  .site-brand{min-width:0;max-width:calc(100% - 56px)}
  .site-brand .custom-logo{width:auto!important;height:auto!important;max-width:min(150px,48vw)!important;max-height:42px!important}
  .site-brand__fallback{font-size:.86rem;letter-spacing:.08em;white-space:nowrap}
  .primary-nav{left:12px;right:12px;top:72px;bottom:auto;max-width:none;width:auto;box-sizing:border-box}
  .primary-nav a{overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none}

  .sp-hero__grid{width:100%;grid-template-columns:minmax(0,1fr);padding-top:94px;padding-bottom:48px;gap:24px}
  .sp-hero__copy{width:100%;max-width:100%}
  .sp-hero__copy h1{font-size:clamp(2.65rem,13.2vw,4.35rem);line-height:.9;letter-spacing:-.055em;max-width:100%;margin-top:14px}
  .sp-hero__copy>p{max-width:100%;font-size:.96rem}
  .sp-hero__actions{max-width:100%}
  .sp-hero__actions .sp-btn{max-width:100%;white-space:normal;text-align:center;padding-left:16px;padding-right:16px}
  .sp-hero__logo-wrap{width:100%;max-width:100%;min-height:0;margin:0;padding:10px 0 0;overflow:visible;place-items:center}
  .sp-hero__logo{display:block;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain;transform:none!important}
  .sp-logo-orbit{width:min(70vw,260px);max-width:75%;pointer-events:none}

  .sp-marquee{width:100%;max-width:100%;overflow:hidden}
  .sp-marquee__track{max-width:none}

  .sp-rubber__grid{grid-template-columns:minmax(0,1fr);width:100%}
  .sp-rubber__word{font-size:clamp(5rem,25vw,7rem);left:-.04em;max-width:none}
  .sp-display{font-size:clamp(2.55rem,12.2vw,4.3rem);line-height:.92;letter-spacing:-.055em;max-width:100%}
  .sp-big-copy{font-size:1.28rem;max-width:100%}
  .sp-feature-lines>div{grid-template-columns:34px minmax(0,1fr);gap:12px}
  .sp-feature-lines small{grid-column:2;max-width:100%}

  .sp-more{width:100%;max-width:100%;overflow:hidden}
  .sp-more::after{right:-20vw;font-size:22rem}
  .sp-more__statement{font-size:clamp(1.85rem,8.7vw,3rem);line-height:1.02;letter-spacing:-.045em;max-width:100%}

  .sp-design__head,.sp-design__rows,.sp-design__cta{max-width:100%}
  .sp-price-row{grid-template-columns:30px minmax(0,1fr);gap:10px;padding:22px 0}
  .sp-price-row:hover{padding-left:0;padding-right:0}
  .sp-price-row>b{grid-column:2;justify-self:start;max-width:100%;font-size:1.65rem}
  .sp-design__cta p{max-width:100%}
  .sp-btn{max-width:100%;white-space:normal;text-align:center;padding-left:16px;padding-right:16px}

  .sp-flow__line{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;font-size:clamp(1.3rem,7vw,1.8rem);max-width:100%}
  .sp-flow__line i{display:block!important;transform:rotate(90deg);margin:0 0 0 .3em;line-height:1}
  .sp-flow__line span:last-child{grid-column:auto}

  .sp-final-cta h2{font-size:clamp(3rem,15vw,5rem);line-height:.9;letter-spacing:-.06em;max-width:100%}
  .sp-final-cta .sp-container{max-width:calc(100% - 28px)}

  .inquiry-hero h1{font-size:clamp(2.8rem,13vw,4.5rem);line-height:.9;letter-spacing:-.055em;max-width:100%}
  .inquiry-form-wrap{width:calc(100% - 28px);max-width:calc(100% - 28px)}
  .sp-form,.form-section{width:100%;max-width:100%}
  .sp-form__grid{grid-template-columns:minmax(0,1fr);width:100%}
  .sp-field{width:100%;max-width:100%;min-width:0}
  .sp-field input,.sp-field textarea,.sp-field select{display:block;width:100%;max-width:100%;min-width:0}
  .design-option{grid-template-columns:18px minmax(0,1fr);width:100%;padding:14px 11px}
  .design-option>b{grid-column:2;justify-self:start;max-width:100%}
  .file-upload{grid-template-columns:minmax(0,1fr);width:100%}
  .file-upload__text,.file-upload__name{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .file-upload__name{white-space:normal;overflow-wrap:anywhere}
  .privacy-check{width:100%;max-width:100%}

  .legal-hero h1,.entry-title{font-size:clamp(2.7rem,13vw,4.4rem);line-height:.92;letter-spacing:-.055em}
  .legal-content__inner,.entry-content,.contact-card{width:100%;max-width:100%;min-width:0}
  .contact-card{padding:22px 16px}
  .contact-mail a{overflow-wrap:anywhere}
  .footer-minimal,.footer-legal{max-width:100%}
}

@media(max-width:390px){
  .sp-container{width:calc(100% - 20px);max-width:calc(100% - 20px)}
  .header-inner{width:calc(100% - 20px);max-width:calc(100% - 20px)}
  .sp-hero__copy h1{font-size:clamp(2.45rem,12.8vw,3.7rem)}
  .sp-display{font-size:clamp(2.35rem,11.8vw,3.75rem)}
  .sp-more__statement{font-size:clamp(1.7rem,8.3vw,2.55rem)}
  .sp-final-cta h2{font-size:clamp(2.7rem,14vw,4.2rem)}
  .inquiry-form-wrap{width:calc(100% - 20px);max-width:calc(100% - 20px)}
  .form-section{padding:18px 12px}
}


/* v2.3.3 – clean typography + cinematic motion */
html{hyphens:none;-webkit-hyphens:none}
h1,h2,h3,h4,h5,h6,.sp-display,.sp-more__statement,.sp-flow__line,.sp-price-row strong,.sp-price-row small{word-break:normal;overflow-wrap:normal;hyphens:none;-webkit-hyphens:none}
.contact-mail a,.file-upload__name{overflow-wrap:anywhere;word-break:break-word}

/* more cinematic reveals without sacrificing readability */
[data-reveal],.reveal{
  transition-duration:1.05s;
  transition-timing-function:cubic-bezier(.16,1,.3,1);
}
[data-reveal="up"]{transform:translate3d(0,64px,0) scale(.985);filter:blur(8px)}
[data-reveal="zoom"]{transform:scale(.82) translate3d(0,36px,0);filter:blur(12px)}
[data-reveal="line"]{transform:translate3d(72px,0,0);filter:blur(7px);clip-path:inset(0 0 0 18%)}
[data-reveal].is-visible,.reveal.is-visible{transform:none;filter:none;clip-path:inset(0 0 0 0)}

/* hero entrance */
.sp-js .sp-hero__copy>.sp-eyebrow,
.sp-js .sp-hero__copy>h1,
.sp-js .sp-hero__copy>p,
.sp-js .sp-hero__actions,
.sp-js .sp-hero__logo-wrap{
  opacity:0;
  will-change:transform,opacity,filter;
}
.sp-js .sp-hero__copy>.sp-eyebrow{transform:translate3d(-34px,0,0);filter:blur(8px)}
.sp-js .sp-hero__copy>h1{transform:translate3d(0,76px,0) scale(.96);filter:blur(13px)}
.sp-js .sp-hero__copy>p{transform:translate3d(0,45px,0);filter:blur(8px)}
.sp-js .sp-hero__actions{transform:translate3d(0,34px,0)}
.sp-js .sp-hero__logo-wrap{transform:translate3d(0,54px,0) scale(.78) rotate(-2deg);filter:blur(14px)}
.sp-js.sp-loaded .sp-hero__copy>.sp-eyebrow,
.sp-js.sp-loaded .sp-hero__copy>h1,
.sp-js.sp-loaded .sp-hero__copy>p,
.sp-js.sp-loaded .sp-hero__actions,
.sp-js.sp-loaded .sp-hero__logo-wrap{
  opacity:1;transform:none;filter:none;
  transition:opacity 1.15s cubic-bezier(.16,1,.3,1),transform 1.35s cubic-bezier(.16,1,.3,1),filter 1.25s cubic-bezier(.16,1,.3,1);
}
.sp-js.sp-loaded .sp-hero__copy>.sp-eyebrow{transition-delay:.08s}
.sp-js.sp-loaded .sp-hero__copy>h1{transition-delay:.18s}
.sp-js.sp-loaded .sp-hero__copy>p{transition-delay:.34s}
.sp-js.sp-loaded .sp-hero__actions{transition-delay:.48s}
.sp-js.sp-loaded .sp-hero__logo-wrap{transition-delay:.26s}

/* moving light architecture in hero */
.sp-hero__ambient{transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0);transition:transform .06s linear}
.sp-hero__ambient::before{
  content:"";position:absolute;left:42%;top:-48vh;width:2px;height:128vh;
  background:linear-gradient(180deg,transparent,rgba(255,90,0,.58),rgba(255,255,255,.14),transparent);
  box-shadow:0 0 28px rgba(255,90,0,.34);transform:rotate(31deg);transform-origin:center;
  animation:spBeamSweep 8s ease-in-out infinite alternate;opacity:.72
}
.sp-hero__ambient::after{
  content:"";position:absolute;inset:16%;border:1px solid rgba(255,90,0,.12);border-radius:50%;
  box-shadow:0 0 120px rgba(255,90,0,.08),inset 0 0 80px rgba(255,90,0,.04);
  animation:spAmbientRing 9s ease-in-out infinite alternate
}
@keyframes spBeamSweep{from{transform:translate3d(-10vw,-4vh,0) rotate(28deg);opacity:.25}to{transform:translate3d(24vw,7vh,0) rotate(34deg);opacity:.9}}
@keyframes spAmbientRing{from{transform:scale(.78) rotate(-8deg);opacity:.2}to{transform:scale(1.2) rotate(9deg);opacity:.8}}
.sp-logo-orbit{animation:spOrbitEpic 8s cubic-bezier(.45,0,.2,1) infinite}
.sp-logo-orbit::before{animation:spOrbitCounter 13s linear infinite}
.sp-logo-orbit::after{animation:spOrbitCounter 9s linear infinite reverse}
@keyframes spOrbitEpic{0%,100%{transform:scale(.92) rotate(0deg);opacity:.45}50%{transform:scale(1.08) rotate(8deg);opacity:1;box-shadow:0 0 130px rgba(255,90,0,.15),inset 0 0 110px rgba(255,90,0,.07)}}
@keyframes spOrbitCounter{to{transform:rotate(360deg)}}

/* scroll-driven depth */
.sp-rubber__word{transform:translate3d(var(--scene-x-neg,0px),var(--scene-y-soft,0px),0);transition:transform .06s linear}
.sp-more::after{transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) rotate(var(--scene-rot,0deg));transition:transform .06s linear}
.sp-design__glow{transform:translate3d(var(--scene-x-neg,0px),var(--scene-y,0px),0) scale(var(--scene-scale,1));transition:transform .06s linear}
.sp-final-cta__glow{transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(var(--scene-scale,1));transition:transform .06s linear}

/* orange section enters as a full-screen style wipe */
.sp-more::before{content:"";position:absolute;inset:-2px;z-index:4;background:#08090a;transform:scaleX(1);transform-origin:right center;transition:transform 1.25s cubic-bezier(.76,0,.24,1);pointer-events:none}
.sp-more.sp-scene-active::before{transform:scaleX(0)}
.sp-more .sp-container{position:relative;z-index:2}

/* design rows snap in sequentially */
.sp-price-row{position:relative;overflow:hidden}
.sp-price-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--sp-accent);transform:scaleY(0);transform-origin:bottom;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.sp-design.sp-scene-active .sp-price-row::before{transform:scaleY(1)}
.sp-design.sp-scene-active .sp-price-row:nth-child(2)::before{transition-delay:.12s}
.sp-design.sp-scene-active .sp-price-row:nth-child(3)::before{transition-delay:.24s}
.sp-price-row--accent{background:linear-gradient(90deg,rgba(255,90,0,.045),transparent 52%)}

/* process builds itself while entering viewport */
.sp-flow__line span,.sp-flow__line i{opacity:.08;transform:translate3d(0,28px,0) scale(.9);filter:blur(5px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .75s ease}
.sp-flow.sp-scene-active .sp-flow__line span,.sp-flow.sp-scene-active .sp-flow__line i{opacity:1;transform:none;filter:none}
.sp-flow.sp-scene-active .sp-flow__line>*:nth-child(1){transition-delay:.05s}
.sp-flow.sp-scene-active .sp-flow__line>*:nth-child(2){transition-delay:.16s}
.sp-flow.sp-scene-active .sp-flow__line>*:nth-child(3){transition-delay:.28s}
.sp-flow.sp-scene-active .sp-flow__line>*:nth-child(4){transition-delay:.40s}
.sp-flow.sp-scene-active .sp-flow__line>*:nth-child(5){transition-delay:.52s}
.sp-flow.sp-scene-active .sp-flow__line>*:nth-child(6){transition-delay:.64s}
.sp-flow.sp-scene-active .sp-flow__line>*:nth-child(7){transition-delay:.76s}

/* final statement gets a stronger scale reveal */
.sp-final-cta .sp-container{transform:translate3d(0,var(--scene-y-soft,0px),0) scale(var(--scene-scale-soft,1));transition:transform .06s linear}
.sp-final-cta h2{text-shadow:0 0 0 rgba(255,90,0,0);transition:text-shadow 1.2s ease}
.sp-final-cta.sp-scene-active h2{text-shadow:0 0 80px rgba(255,90,0,.13)}

@media(max-width:640px){
  /* never split words with automatic hyphenation on phones */
  .sp-hero__copy h1,.sp-display,.sp-more__statement,.sp-final-cta h2,.inquiry-hero h1,.legal-hero h1,.entry-title,
  .sp-big-copy,.sp-price-row strong,.sp-price-row small,.sp-flow__line span{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
  .sp-hero__copy h1{font-size:clamp(2.35rem,11.7vw,4rem);letter-spacing:-.045em}
  .sp-display{font-size:clamp(2.3rem,10.9vw,3.8rem);letter-spacing:-.045em}
  .sp-more__statement{font-size:clamp(1.72rem,8vw,2.75rem);line-height:1.06;letter-spacing:-.035em}
  .sp-final-cta h2{font-size:clamp(2.75rem,13.4vw,4.8rem);letter-spacing:-.05em}
  .sp-hero__ambient::before{height:90vh;opacity:.42}
  .sp-logo-orbit{animation-duration:10s}
  [data-reveal="up"]{transform:translate3d(0,44px,0) scale(.99);filter:blur(5px)}
  [data-reveal="zoom"]{transform:scale(.9) translate3d(0,28px,0);filter:blur(7px)}
  [data-reveal="line"]{transform:translate3d(38px,0,0);filter:blur(4px);clip-path:inset(0 0 0 10%)}
}

@media(max-width:390px){
  .sp-hero__copy h1{font-size:clamp(2.2rem,11vw,3.35rem)}
  .sp-display{font-size:clamp(2.12rem,10.4vw,3.35rem)}
  .sp-more__statement{font-size:clamp(1.58rem,7.65vw,2.35rem)}
}

@media(prefers-reduced-motion:reduce){
  .sp-js .sp-hero__copy>.sp-eyebrow,.sp-js .sp-hero__copy>h1,.sp-js .sp-hero__copy>p,.sp-js .sp-hero__actions,.sp-js .sp-hero__logo-wrap{opacity:1!important;transform:none!important;filter:none!important}
  .sp-hero__ambient::before,.sp-hero__ambient::after,.sp-logo-orbit,.sp-logo-orbit::before,.sp-logo-orbit::after{animation:none!important}
  .sp-more::before{display:none}
  .sp-flow__line span,.sp-flow__line i{opacity:1!important;transform:none!important;filter:none!important}
}


/* v2.3.4 – lowercase brand system */
.sp-hero__copy>.sp-eyebrow{text-transform:none}
@media(max-width:640px){.sp-hero__logo{width:min(92vw,520px)!important;max-width:100%!important}.sp-hero__wordmark{margin-top:-20px;font-size:clamp(1.8rem,10vw,2.8rem);letter-spacing:.065em}}
@media(max-width:390px){.sp-hero__logo{width:min(94vw,430px)!important}.sp-hero__wordmark{margin-top:-14px;font-size:clamp(1.65rem,9.5vw,2.35rem)}}


/* v2.4.0 — cleaner composition + cinematic scroll/cursor system */
:root{--sp-cursor-x:50vw;--sp-cursor-y:50vh}

/* cleaner header / chrome */
.site-header{background:linear-gradient(180deg,rgba(8,9,10,.30),transparent);border-bottom:0}
.site-header.is-scrolled{background:rgba(8,9,10,.68);border-color:transparent;box-shadow:0 1px 0 rgba(255,255,255,.055),0 18px 60px rgba(0,0,0,.22);backdrop-filter:blur(22px) saturate(135%)}
.header-inner{min-height:80px}
.primary-nav .menu{gap:34px}
.primary-nav a{color:#929695;font-size:.79rem;letter-spacing:.065em}
.primary-nav a::after{bottom:-10px;height:2px;box-shadow:0 0 14px rgba(255,90,0,.55)}
.header-inquiry{border:0;padding:10px 2px;background:transparent}
.header-inquiry::before{content:"";width:7px;height:7px;background:var(--sp-accent);transform:rotate(45deg);box-shadow:0 0 18px rgba(255,90,0,.6)}
.header-inquiry:hover{background:transparent;color:#fff}
.site-brand__fallback i{width:7px;height:7px}

/* less UI, more space */
.sp-marquee{border-color:rgba(255,255,255,.055);background:#090a0b}
.sp-feature-lines{border-top-color:rgba(255,255,255,.065)}
.sp-feature-lines>div{border-bottom-color:rgba(255,255,255,.065);padding:25px 0}
.sp-design__rows{border-top-color:rgba(255,255,255,.065)}
.sp-price-row{border-bottom-color:rgba(255,255,255,.065);background:transparent!important}
.sp-price-row:hover{background:transparent!important}
.sp-price-row--accent{background:transparent!important}
.sp-flow{border-color:rgba(255,255,255,.055)}
.site-footer--minimal{border-top-color:rgba(255,255,255,.06)}
.footer-instagram span{color:#b8bab9}
.footer-instagram:hover span{color:var(--sp-accent)}
.contact-instagram{margin-top:18px;padding-top:18px}

/* cinematic section separator */
.sp-rubber,.sp-design,.sp-flow,.sp-final-cta{isolation:isolate}
.sp-rubber::after,.sp-design::after,.sp-flow::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);pointer-events:none}
.sp-flow{position:relative}

/* cursor spotlight: desktop only, generated by JS */
.sp-cursor-glow,.sp-cursor-ring{display:none}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){
  .sp-cursor-glow{display:block;position:fixed;left:0;top:0;width:620px;height:620px;margin:-310px 0 0 -310px;z-index:950;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(255,90,0,.105) 0%,rgba(255,90,0,.045) 24%,transparent 66%);filter:blur(12px);mix-blend-mode:screen;opacity:.88;will-change:transform}
  .sp-cursor-ring{display:block;position:fixed;left:0;top:0;width:28px;height:28px;margin:-14px 0 0 -14px;z-index:10020;pointer-events:none;border:1px solid rgba(255,119,46,.78);border-radius:50%;box-shadow:0 0 22px rgba(255,90,0,.18);will-change:transform,width,height,margin,border-color,background;transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),margin .22s cubic-bezier(.16,1,.3,1),border-color .22s ease,background .22s ease,opacity .22s ease}
  .sp-cursor-ring.is-hot{width:48px;height:48px;margin:-24px 0 0 -24px;background:rgba(255,90,0,.075);border-color:rgba(255,119,46,.95)}
  .sp-cursor-ring.is-text{width:36px;height:36px;margin:-18px 0 0 -18px;border-color:rgba(255,255,255,.42)}
}

/* local light follows cursor inside major scenes */
.sp-hover-field{position:relative;--hover-x:50%;--hover-y:50%}
.sp-hover-light{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(430px circle at var(--hover-x) var(--hover-y),rgba(255,90,0,.10),rgba(255,90,0,.025) 32%,transparent 70%);opacity:0;transition:opacity .38s ease;mix-blend-mode:screen}
.sp-hover-field:hover>.sp-hover-light{opacity:1}
.sp-hover-field>.sp-container{position:relative;z-index:2}
.sp-more>.sp-hover-light{z-index:1;background:radial-gradient(380px circle at var(--hover-x) var(--hover-y),rgba(255,255,255,.18),rgba(255,255,255,.035) 35%,transparent 70%);mix-blend-mode:soft-light}

/* word-by-word text animation. Outer span keeps whole words intact. */
.sp-word{display:inline-block;overflow:hidden;vertical-align:-.12em;white-space:nowrap;padding:.02em .01em .10em;margin-bottom:-.10em}
.sp-word__inner{display:inline-block;will-change:transform,opacity,filter;transform-origin:50% 100%}
.sp-js [data-word-reveal] .sp-word__inner{opacity:.06;transform:translate3d(0,1.08em,0) rotateX(-62deg) rotateZ(2deg);filter:blur(9px);transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity .72s ease,filter .9s ease;transition-delay:calc(var(--word-index,0) * 42ms)}
.sp-js [data-word-reveal].is-word-visible .sp-word__inner{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateZ(0);filter:blur(0)}
.sp-js [data-word-reveal].is-word-exiting .sp-word__inner{transition-delay:calc((var(--word-total,1) - var(--word-index,0)) * 16ms)}
.sp-more .sp-word__inner{transform-origin:50% 100%}

/* repeated reveal on enter AND exit */
.sp-js [data-reveal],.sp-js .reveal{will-change:transform,opacity,filter,clip-path}
.sp-js [data-reveal]:not(.is-visible),.sp-js .reveal:not(.is-visible){opacity:0}

/* make the large background word feel tied to scroll */
.sp-rubber__word{opacity:calc(.018 + var(--scene-progress,0) * .035);filter:blur(calc((1 - var(--scene-progress,0)) * 2px))}
.sp-rubber__sticky{transform:translate3d(0,calc(var(--scene-shift,0) * -1px),0);will-change:transform}
.sp-rubber__copy{transform:translate3d(0,calc(var(--scene-shift,0) * 1px),0);will-change:transform}

/* richer hero depth without adding visual clutter */
.sp-hero::before{opacity:.48;background-size:82px 82px;transform:translate3d(var(--scene-x-soft,0px),var(--scene-y-soft,0px),0) scale(1.04)}
.sp-hero__copy{transform:translate3d(0,calc(var(--hero-drift,0) * -1px),0);will-change:transform}
.sp-hero__logo-wrap{transform-style:preserve-3d}
.sp-hero__wordmark{filter:drop-shadow(0 0 22px rgba(255,90,0,.15))}
.sp-logo-orbit{border-color:rgba(255,90,0,.14)}

/* high-end hover highlights */
.sp-btn,.sp-text-link,.primary-nav a,.header-inquiry,.footer-legal a,.sp-price-row,.sp-feature-lines>div{position:relative}
.sp-btn{overflow:hidden;border-color:rgba(255,255,255,.13)}
.sp-btn::before{content:"";position:absolute;inset:-2px;background:linear-gradient(105deg,transparent 22%,rgba(255,255,255,.30) 46%,transparent 66%);transform:translateX(-130%);transition:transform .65s cubic-bezier(.16,1,.3,1);pointer-events:none}
.sp-btn:hover::before{transform:translateX(130%)}
.sp-btn--primary{box-shadow:0 14px 50px rgba(255,90,0,.12)}
.sp-btn--primary:hover{box-shadow:0 18px 65px rgba(255,90,0,.30)}
.sp-feature-lines>div::after,.sp-price-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--sp-accent),rgba(255,90,0,.12),transparent);transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.sp-feature-lines>div:hover::after,.sp-price-row:hover::after{transform:scaleX(1)}
.sp-feature-lines>div:hover strong,.sp-price-row:hover strong{color:#fff;text-shadow:0 0 28px rgba(255,90,0,.12)}

/* scroll scene activation/deactivation has stronger transition */
.sp-more::before{transition-duration:1.05s}
.sp-more:not(.sp-scene-active)::before{transform:scaleX(1)}
.sp-flow:not(.sp-scene-active) .sp-flow__line span,.sp-flow:not(.sp-scene-active) .sp-flow__line i{opacity:.02;transform:translate3d(0,34px,0) scale(.87);filter:blur(8px)}
.sp-design:not(.sp-scene-active) .sp-price-row::before{transform:scaleY(0)}

/* mobile: full effects remain scroll-based, pointer layers never appear */
@media(max-width:980px){
  .site-header.is-scrolled{background:rgba(8,9,10,.84)}
  .primary-nav{border-color:rgba(255,255,255,.08);background:rgba(7,8,9,.96);backdrop-filter:blur(20px)}
}
@media(max-width:640px){
  .header-inner{min-height:70px}
  .sp-cursor-glow,.sp-cursor-ring,.sp-hover-light{display:none!important}
  .sp-word{padding-bottom:.08em;margin-bottom:-.08em}
  .sp-js [data-word-reveal] .sp-word__inner{transform:translate3d(0,.82em,0) rotateX(-38deg);filter:blur(5px);transition-duration:.85s,.55s,.65s;transition-delay:calc(var(--word-index,0) * 28ms)}
  .sp-rubber__sticky,.sp-rubber__copy{transform:none!important}
  .footer-instagram span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .sp-word__inner{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .sp-cursor-glow,.sp-cursor-ring,.sp-hover-light{display:none!important}
}

/* ===== Farben / Pantone reference page ===== */
.sp-rubber__links{display:flex;flex-wrap:wrap;gap:28px 34px;align-items:center}
.sp-text-link--muted{color:#8d9191}
.sp-text-link--muted:hover{color:#fff}

.sp-colors-page{overflow:hidden;background:#08090a}
.sp-colors-hero{position:relative;min-height:86svh;display:grid;align-items:center;padding:132px 0 84px;background:radial-gradient(circle at 82% 42%,rgba(255,90,0,.13),transparent 31%),linear-gradient(135deg,#08090a,#0b0d0e 64%,#111315)}
.sp-colors-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 88%);pointer-events:none}
.sp-colors-hero__ghost{position:absolute;right:-.06em;bottom:-.14em;font-size:clamp(11rem,28vw,31rem);font-weight:950;letter-spacing:-.09em;line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);opacity:.9;pointer-events:none;user-select:none}
.sp-colors-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:70px}
.sp-colors-hero__copy h1{margin:20px 0 28px;max-width:830px;font-size:clamp(4.2rem,7.4vw,8.4rem);line-height:.83;letter-spacing:-.077em;font-weight:930}
.sp-colors-hero__copy h1 em{font-style:normal;color:var(--sp-accent)}
.sp-colors-hero__copy p{max-width:690px;color:#a9acab;font-size:clamp(1rem,1.35vw,1.18rem)}
.sp-color-signal{position:relative;min-height:520px;display:grid;place-items:center;perspective:1000px}
.sp-color-signal__halo{position:absolute;width:min(31vw,420px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,90,0,.24);box-shadow:0 0 100px rgba(255,90,0,.12),inset 0 0 80px rgba(255,90,0,.04)}
.sp-color-signal__halo::before,.sp-color-signal__halo::after{content:"";position:absolute;inset:14%;border:1px solid rgba(255,255,255,.07);border-radius:50%}
.sp-color-signal__halo::after{inset:-16%;border-style:dashed;animation:spColorOrbit 26s linear infinite}
@keyframes spColorOrbit{to{transform:rotate(360deg)}}
.sp-color-signal__card{position:relative;width:min(350px,76%);aspect-ratio:.78;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:#f2f1eb;color:#0a0b0c;box-shadow:0 38px 90px rgba(0,0,0,.43);transform:rotate(-5deg);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.sp-color-signal:hover .sp-color-signal__card{transform:rotate(-2deg) translateY(-8px)}
.sp-color-signal__card::before{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:var(--sp-accent)}
.sp-color-signal__card>span,.sp-color-signal__card>strong,.sp-color-signal__card>div{position:relative;z-index:1}
.sp-color-signal__card>span{font-size:.65rem;font-weight:900;letter-spacing:.18em}
.sp-color-signal__card>strong{font-size:clamp(5rem,9vw,8rem);line-height:.75;letter-spacing:-.08em}
.sp-color-signal__card>div{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:end;color:#fff}
.sp-color-signal__card i{grid-row:1/3;width:7px;height:38px;background:#fff}
.sp-color-signal__card b{font-size:1.25rem;letter-spacing:.08em}.sp-color-signal__card small{font-size:.66rem;letter-spacing:.12em}

.sp-colors-intro{position:relative;padding:120px 0;background:#0b0c0d;border-top:1px solid var(--sp-line)}
.sp-colors-intro__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start}
.sp-colors-rules{border-top:1px solid var(--sp-line)}
.sp-colors-rules>div{display:grid;grid-template-columns:58px 1fr;gap:10px 18px;padding:27px 0;border-bottom:1px solid var(--sp-line)}
.sp-colors-rules span{grid-row:1/3;color:var(--sp-accent);font-size:.72rem;font-weight:900;letter-spacing:.13em}
.sp-colors-rules strong{font-size:1.04rem}.sp-colors-rules small{color:var(--sp-muted);font-size:.86rem}

.sp-pantone{position:relative;padding:118px 0 130px;background:#08090a}
.sp-pantone::before{content:"";position:absolute;left:50%;top:15%;width:60vw;height:60vw;transform:translateX(-50%);background:radial-gradient(circle,rgba(255,90,0,.065),transparent 62%);filter:blur(24px);pointer-events:none}
.sp-pantone__head{position:relative;z-index:2;display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}
.sp-pantone__head h2{margin:14px 0 0;font-size:clamp(3.4rem,6vw,6.6rem);line-height:.88;letter-spacing:-.065em}
.sp-pantone__external{display:inline-flex;gap:13px;align-items:center;padding-bottom:7px;border-bottom:1px solid var(--sp-line-strong);font-size:.78rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:#d7d9d8}.sp-pantone__external span{color:var(--sp-accent)}
.sp-pantone__stage{position:relative;z-index:2;border:1px solid var(--sp-line-strong);background:#0d0f10;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.sp-pantone__topbar{height:54px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--sp-line);background:#0a0b0c;color:#858989;font-size:.65rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.sp-pantone__topbar span{display:flex;align-items:center;gap:9px}.sp-pantone__topbar i{width:7px;height:7px;border-radius:50%;background:var(--sp-accent);box-shadow:0 0 14px rgba(255,90,0,.8)}
.sp-pantone__gate{min-height:580px;padding:72px;display:grid;grid-template-columns:160px 1fr;align-items:center;gap:60px;position:relative;overflow:hidden}
.sp-pantone__gate::after{content:"";position:absolute;right:-15%;bottom:-48%;width:65%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,90,0,.16);box-shadow:0 0 80px rgba(255,90,0,.07);pointer-events:none}
.sp-pantone__gate-mark{width:150px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--sp-accent);color:var(--sp-accent);font-size:6rem;font-weight:950;line-height:1;transform:rotate(-7deg);box-shadow:18px 18px 0 rgba(255,90,0,.08)}
.sp-pantone__label{color:var(--sp-accent);font-size:.68rem;font-weight:900;letter-spacing:.18em}
.sp-pantone__gate h3{max-width:760px;margin:12px 0 18px;font-size:clamp(2.5rem,5vw,5.2rem);line-height:.91;letter-spacing:-.055em}
.sp-pantone__gate p{max-width:720px;margin:0;color:#929696;font-size:1rem}
.sp-pantone__actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}
.sp-pantone__viewer{position:relative;background:#fff}
.sp-pantone__viewer iframe{display:block;width:100%;height:min(82vh,920px);min-height:680px;border:0;background:#fff}
.sp-pantone__loading{position:absolute;z-index:3;left:50%;top:34px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.94);color:#18191a;font-size:.72rem;font-weight:850;letter-spacing:.04em;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.sp-pantone__loading span{width:8px;height:8px;border-radius:50%;background:var(--sp-accent);box-shadow:0 0 0 0 rgba(255,90,0,.5);animation:spLoadPulse 1.4s infinite}
@keyframes spLoadPulse{70%{box-shadow:0 0 0 10px rgba(255,90,0,0)}}
.sp-pantone__fallback{padding:18px 22px;display:flex;justify-content:space-between;gap:30px;align-items:center;background:#0d0f10;border-top:1px solid var(--sp-line);color:#8d9191}
.sp-pantone__fallback p{margin:0;max-width:760px;font-size:.76rem}
.sp-pantone__fallback .sp-text-link{min-width:max-content;font-size:.76rem}
.sp-pantone__note{position:relative;z-index:2;margin-top:24px;padding:24px 26px;display:grid;grid-template-columns:110px 1fr;gap:28px;border-left:2px solid var(--sp-accent);background:#0c0e0f}
.sp-pantone__note span{color:var(--sp-accent);font-size:.7rem;font-weight:950;letter-spacing:.16em}.sp-pantone__note p{margin:0;color:#989c9b;font-size:.88rem}

.sp-colors-end{position:relative;min-height:58vh;display:grid;align-items:center;padding:105px 0;background:var(--sp-accent);color:#fff;overflow:hidden}
.sp-colors-end::before{content:"PMS";position:absolute;right:-.04em;bottom:-.17em;font-size:clamp(13rem,33vw,33rem);font-weight:950;letter-spacing:-.12em;line-height:.75;color:rgba(0,0,0,.08)}
.sp-colors-end .sp-container{position:relative;z-index:2}.sp-colors-end .sp-eyebrow{color:#fff}.sp-colors-end .sp-eyebrow::before{background:#fff}
.sp-colors-end h2{margin:18px 0 22px;font-size:clamp(4rem,8vw,8.3rem);line-height:.83;letter-spacing:-.075em}.sp-colors-end p{max-width:620px;margin:0;color:rgba(255,255,255,.78);font-weight:650}

@media(max-width:980px){
  .sp-colors-hero__grid,.sp-colors-intro__grid{grid-template-columns:1fr}.sp-colors-hero__grid{gap:22px}.sp-color-signal{min-height:390px}.sp-color-signal__halo{width:320px}.sp-color-signal__card{width:270px}
  .sp-colors-intro__grid{gap:50px}.sp-pantone__gate{grid-template-columns:110px 1fr;padding:52px;gap:38px}.sp-pantone__gate-mark{width:100px;font-size:4.3rem}.sp-pantone__head{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .sp-colors-hero{min-height:auto;padding:112px 0 72px}.sp-colors-hero__copy h1{font-size:clamp(3.6rem,16.5vw,5.8rem)}.sp-color-signal{min-height:300px}.sp-color-signal__halo{width:235px}.sp-color-signal__card{width:205px;padding:20px}.sp-color-signal__card>strong{font-size:5rem}.sp-color-signal__card::before{height:39%}
  .sp-colors-intro{padding:82px 0}.sp-colors-rules>div{grid-template-columns:42px 1fr;gap:8px 12px}.sp-pantone{padding:82px 0 92px}.sp-pantone__head h2{font-size:clamp(3rem,14vw,4.8rem)}
  .sp-pantone__topbar small{display:none}.sp-pantone__gate{min-height:520px;grid-template-columns:1fr;padding:34px 24px;gap:28px}.sp-pantone__gate-mark{width:78px;font-size:3.2rem}.sp-pantone__gate h3{font-size:clamp(2.35rem,11vw,3.6rem)}.sp-pantone__actions{align-items:flex-start;flex-direction:column}.sp-pantone__viewer iframe{min-height:640px;height:78vh}.sp-pantone__fallback{align-items:flex-start;flex-direction:column;gap:14px}.sp-pantone__note{grid-template-columns:1fr;gap:8px}.sp-colors-end{min-height:50vh}.sp-colors-end h2{font-size:clamp(3.7rem,17vw,6rem)}
}


/* v2.5.1 – sichtbarer Farben-Einstieg auf der Startseite */
.sp-home-colors{position:relative;overflow:hidden;padding:clamp(84px,10vw,150px) 0;background:#0b0c0d;border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line)}
.sp-home-colors__glow{position:absolute;inset:auto -18% -55% auto;width:62vw;height:62vw;border-radius:50%;background:radial-gradient(circle,rgba(255,90,0,.16),rgba(255,90,0,0) 67%);pointer-events:none}
.sp-home-colors__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(40px,7vw,110px);align-items:center}
.sp-home-colors__copy h2{margin:.55rem 0 1.2rem;font-size:clamp(3rem,7.6vw,7rem);line-height:.86;letter-spacing:-.065em;font-weight:760}
.sp-home-colors__copy h2 em{font-style:normal;color:var(--sp-accent)}
.sp-home-colors__copy p{max-width:760px;margin:0 0 2rem;color:#b7bbbb;font-size:clamp(1.08rem,1.45vw,1.35rem);line-height:1.6}
.sp-home-colors__copy .sp-text-link{font-size:1.08rem}
.sp-home-colors__visual{position:relative;min-height:420px;display:grid;place-items:center}
.sp-home-colors__deck{position:relative;width:min(390px,84vw);height:310px;transform:rotate(-4deg)}
.sp-home-colors__card{position:absolute;inset:0;border:1px solid rgba(255,255,255,.13);border-radius:26px;background:#141617;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:28px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .5s ease}
.sp-home-colors__card:nth-child(1){transform:translate(-36px,34px) rotate(-7deg);opacity:.62}
.sp-home-colors__card:nth-child(2){transform:translate(24px,12px) rotate(5deg);opacity:.8}
.sp-home-colors__card:nth-child(3){transform:translate(0,0);background:linear-gradient(145deg,#17191a,#101112)}
.sp-home-colors__deck:hover .sp-home-colors__card:nth-child(1){transform:translate(-58px,42px) rotate(-10deg)}
.sp-home-colors__deck:hover .sp-home-colors__card:nth-child(2){transform:translate(45px,20px) rotate(8deg)}
.sp-home-colors__swatch{height:165px;border-radius:17px;background:linear-gradient(135deg,#ff5a00 0 32%,#f7f3e8 32% 56%,#2c3437 56% 78%,#a73e20 78%);filter:saturate(.82)}
.sp-home-colors__meta{display:flex;justify-content:space-between;align-items:end;gap:20px}
.sp-home-colors__meta span{font-size:.72rem;letter-spacing:.16em;color:var(--sp-muted)}
.sp-home-colors__meta strong{font-size:2.2rem;letter-spacing:-.05em}
@media(max-width:980px){.sp-home-colors__grid{grid-template-columns:1fr}.sp-home-colors__visual{min-height:340px}.sp-home-colors__deck{height:280px}}
@media(max-width:640px){.sp-home-colors{padding:76px 0}.sp-home-colors__copy h2{font-size:clamp(3.2rem,16vw,5rem)}.sp-home-colors__visual{min-height:300px}.sp-home-colors__deck{width:min(300px,78vw);height:235px}.sp-home-colors__card{padding:20px;border-radius:20px}.sp-home-colors__swatch{height:120px}.sp-home-colors__meta strong{font-size:1.7rem}}


/* v2.5.2 – text clipping + favicon update */
.sp-hero__copy h1,
.sp-display,
.sp-big-copy,
.sp-more__statement,
.sp-price-row strong,
.sp-price-row small,
.sp-flow__line,
.sp-final-cta h2,
.inquiry-hero h1,
.design-option strong,
.design-option small,
.entry-title,
.legal-hero h1,
.sp-colors-hero__copy h1,
.sp-pantone__head h2,
.sp-pantone__gate h3,
.sp-colors-end h2,
.sp-home-colors__copy h2,
.sp-home-colors__meta strong,
.sp-home-colors__meta small,
.contact-card h3,
.contact-card p,
.site-brand__fallback,
.sp-feature-lines strong,
.sp-feature-lines small{
  overflow:visible;
  padding-inline:.03em;
  padding-block:.08em;
}
.sp-price-row,.design-option,.form-section,.contact-card,.sp-home-colors__card{overflow:visible}
.design-option{align-items:flex-start}
.design-option span{min-width:0}
.design-option strong{display:block;line-height:1.18}
.design-option small{display:block;line-height:1.42}
.sp-word{padding:.12em .015em .18em; margin-top:-.08em; margin-bottom:-.18em; vertical-align:-.08em}
.sp-word__inner{line-height:1.08}
.sp-btn span,.header-inquiry span{display:inline-block;padding-top:.02em}
@media(max-width:640px){
  .design-option{gap:12px}
  .design-option strong,.design-option small{padding-inline:0;padding-block:0}
  .sp-hero__copy h1,.sp-display,.sp-more__statement,.sp-final-cta h2,.inquiry-hero h1,.sp-colors-hero__copy h1,.sp-pantone__head h2,.sp-pantone__gate h3,.sp-colors-end h2,.entry-title,.legal-hero h1{padding-inline:.02em;padding-block:.06em}
  .sp-word{padding:.10em .015em .16em; margin-top:-.06em; margin-bottom:-.16em}
}


/* ==========================================================================\n   v2.6.0 – cinematic motion / fine tuning\n   ========================================================================== */

/* Text safety: animations may never crop glyph overhangs. */
.sp-word{overflow:visible!important;padding:.12em .055em .18em!important;margin-left:-.025em;margin-right:-.025em}
.sp-word__inner{line-height:1.09}
.sp-hero__copy h1,.sp-display,.sp-more__statement,.sp-final-cta h2,.sp-home-colors__copy h2,
.inquiry-hero h1,.entry-title,.legal-hero h1,.sp-colors-hero__copy h1,.sp-pantone__head h2,
.sp-pantone__gate h3,.sp-colors-end h2{max-width:100%;text-wrap:balance}
.sp-big-copy,.sp-feature-lines strong,.sp-feature-lines small,.sp-price-row strong,.sp-price-row small,
.design-option strong,.design-option small{max-width:100%;text-wrap:pretty}
.sp-price-row,.design-option,.sp-feature-lines>div{contain:none}

/* A soft global cinematic atmosphere. Injected only when motion is allowed. */
.sp-atmosphere{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:.72}
.sp-atmosphere__beam{position:absolute;left:-30vw;width:34vw;height:140vh;top:-20vh;transform:skewX(-18deg) translate3d(-40vw,0,0);background:linear-gradient(90deg,transparent,rgba(255,90,0,.035),rgba(255,155,92,.085),rgba(255,90,0,.025),transparent);filter:blur(18px);animation:spAtmosphereBeam 14s cubic-bezier(.45,0,.25,1) infinite;will-change:transform,opacity}
.sp-atmosphere__beam:nth-child(2){left:18vw;width:22vw;opacity:.45;animation-delay:-7s;animation-duration:18s}
.sp-atmosphere__beam:nth-child(3){left:58vw;width:18vw;opacity:.3;animation-delay:-3s;animation-duration:22s}
@keyframes spAtmosphereBeam{0%,8%{transform:skewX(-18deg) translate3d(-55vw,-4vh,0);opacity:0}22%{opacity:.65}52%{opacity:.3}82%{opacity:.72}100%{transform:skewX(-18deg) translate3d(155vw,5vh,0);opacity:0}}

/* Scroll scene sweep: a thin energy line runs through every major section once it enters. */
.sp-scene-sweep{position:absolute;z-index:6;left:0;right:0;top:0;height:1px;pointer-events:none;overflow:visible;opacity:0;transform:scaleX(.05);transform-origin:left center;background:linear-gradient(90deg,transparent 0,var(--sp-accent) 42%,#ffb27d 50%,var(--sp-accent) 58%,transparent 100%);box-shadow:0 0 22px rgba(255,90,0,.7);transition:transform 1.15s cubic-bezier(.16,1,.3,1),opacity .45s ease}
.sp-scene-active>.sp-scene-sweep{transform:scaleX(1);opacity:.72}
.sp-scene-active>.sp-scene-sweep::after{content:"";position:absolute;right:13%;top:-3px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 14px #fff,0 0 34px var(--sp-accent);animation:spSweepSpark 1.1s ease-out both}
@keyframes spSweepSpark{from{transform:translateX(-52vw) scale(.2);opacity:0}22%{opacity:1}to{transform:translateX(0) scale(1);opacity:0}}

/* Hero: sharper depth, moving light pass and precision rings around the mark. */
.sp-hero__logo-wrap::before{content:"";position:absolute;z-index:4;left:15%;top:12%;width:18%;height:78%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),rgba(255,90,0,.24),transparent);filter:blur(12px);transform:skewX(-17deg) translateX(-230%);mix-blend-mode:screen;animation:spLogoSweep 5.8s cubic-bezier(.16,1,.3,1) infinite}
@keyframes spLogoSweep{0%,22%{transform:skewX(-17deg) translateX(-260%);opacity:0}36%{opacity:.9}58%{opacity:.25}72%,100%{transform:skewX(-17deg) translateX(500%);opacity:0}}
.sp-logo-orbit{background:radial-gradient(circle,rgba(255,90,0,.025),transparent 58%)}
.sp-logo-orbit::before{animation:spOrbitSpin 28s linear infinite;border-style:dashed;border-color:rgba(255,90,0,.10)}
.sp-logo-orbit::after{animation:spOrbitSpinReverse 19s linear infinite;border-color:rgba(255,255,255,.07)}
@keyframes spOrbitSpin{to{transform:rotate(360deg)}}
@keyframes spOrbitSpinReverse{to{transform:rotate(-360deg)}}
.sp-hero__copy h1{filter:drop-shadow(0 18px 45px rgba(0,0,0,.18))}

/* Marquee gains subtle speed/skew feedback from scroll velocity. */
.sp-marquee__track{animation-duration:var(--sp-marquee-duration,30s);transform-origin:center;filter:blur(var(--sp-marquee-blur,0px));transition:filter .22s ease}
.sp-marquee{transform:skewX(var(--sp-marquee-skew,0deg));transition:transform .2s ease}

/* Local holographic glints for interactive rows, without turning them into cards. */
.sp-row-glare{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:0;background:radial-gradient(300px circle at var(--row-x,50%) var(--row-y,50%),rgba(255,90,0,.12),rgba(255,255,255,.025) 30%,transparent 68%);mix-blend-mode:screen;transition:opacity .28s ease}
.sp-price-row:hover>.sp-row-glare,.sp-feature-lines>div:hover>.sp-row-glare,.design-option:hover>.sp-row-glare{opacity:1}
.sp-price-row>*:not(.sp-row-glare),.sp-feature-lines>div>*:not(.sp-row-glare),.design-option>*:not(.sp-row-glare){position:relative;z-index:1}
.sp-price-row,.sp-feature-lines>div,.design-option{transform-style:preserve-3d}
.sp-price-row:hover,.sp-feature-lines>div:hover{box-shadow:inset 0 0 42px rgba(255,90,0,.018)}

/* CTA ripple + light streak. */
.sp-btn,.header-inquiry{isolation:isolate}
.sp-click-ripple{position:absolute;z-index:-1;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:rgba(255,255,255,.34);pointer-events:none;transform:scale(0);animation:spClickRipple .62s cubic-bezier(.12,.75,.2,1) forwards}
@keyframes spClickRipple{to{transform:scale(16);opacity:0}}

/* Cursor trail + sparks on desktop. */
.sp-cursor-trail-dot{position:fixed;left:0;top:0;z-index:10018;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--sp-accent);box-shadow:0 0 15px rgba(255,90,0,.75);pointer-events:none;will-change:transform,opacity;opacity:.72}
.sp-cursor-trail-dot:nth-of-type(2){width:4px;height:4px;opacity:.48}
.sp-cursor-trail-dot:nth-of-type(3){width:3px;height:3px;opacity:.30}
.sp-cursor-trail-dot:nth-of-type(4){width:2px;height:2px;opacity:.18}
.sp-cursor-spark{position:fixed;z-index:10017;left:0;top:0;width:3px;height:3px;margin:-1.5px;border-radius:50%;background:#ffb17a;box-shadow:0 0 11px var(--sp-accent);pointer-events:none;transform:translate3d(var(--spark-x),var(--spark-y),0) scale(1);animation:spCursorSpark .48s ease-out forwards}
@keyframes spCursorSpark{to{transform:translate3d(calc(var(--spark-x) + var(--spark-dx)),calc(var(--spark-y) + var(--spark-dy)),0) scale(.1);opacity:0}}

/* Color deck feels physical when hovering. JS writes --deck-rx / --deck-ry. */
.sp-home-colors__deck{transform:perspective(1100px) rotateX(var(--deck-rx,0deg)) rotateY(var(--deck-ry,0deg)) rotateZ(-4deg);transition:transform .22s ease-out;will-change:transform}
.sp-home-colors__deck::after{content:"";position:absolute;inset:-18%;z-index:-1;background:radial-gradient(circle at var(--deck-x,50%) var(--deck-y,50%),rgba(255,90,0,.16),transparent 54%);filter:blur(25px);opacity:.6;pointer-events:none}

/* The orange statement gets a moving glossy pass while active. */
.sp-more::before{content:"";position:absolute;z-index:1;inset:-30% auto -30% -35%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg) translateX(-230%);opacity:0;pointer-events:none}
.sp-more.sp-scene-active::before{animation:spOrangeGloss 1.65s .15s cubic-bezier(.16,1,.3,1) both}
@keyframes spOrangeGloss{20%{opacity:.75}100%{transform:skewX(-18deg) translateX(600%);opacity:0}}

/* Final CTA: deep grid horizon + orbiting energy ring. */
.sp-final-cta::before{content:"";position:absolute;inset:-12%;pointer-events:none;background:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse at 50% 53%,#000 0,rgba(0,0,0,.62) 35%,transparent 70%);transform:perspective(850px) rotateX(62deg) translate3d(0,var(--scene-y-soft,0px),-50px) scale(1.3);opacity:.65}
.sp-final-cta::after{content:"";position:absolute;width:min(82vw,1000px);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(255,90,0,.28) 78%,rgba(255,255,255,.13) 82%,transparent 89%);mask-image:radial-gradient(circle,transparent 0 61%,#000 62% 63%,transparent 64%);animation:spFinalOrbit 18s linear infinite;opacity:.62;pointer-events:none}
@keyframes spFinalOrbit{to{transform:rotate(360deg)}}
.sp-final-cta h2{text-shadow:0 20px 70px rgba(0,0,0,.4)}

/* Flow arrows pulse in sequence while the section is visible. */
.sp-flow.sp-scene-active .sp-flow__line i{animation:spFlowPulse 1.9s ease-in-out infinite}
.sp-flow.sp-scene-active .sp-flow__line i:nth-of-type(2){animation-delay:.22s}
.sp-flow.sp-scene-active .sp-flow__line i:nth-of-type(3){animation-delay:.44s}
@keyframes spFlowPulse{0%,100%{opacity:.42;transform:translateX(0)}50%{opacity:1;transform:translateX(7px);text-shadow:0 0 22px rgba(255,90,0,.65)}}

/* Header active glow when scrolling through the page. */
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,90,0,.38),transparent);transform:scaleX(var(--sp-header-energy,.08));opacity:calc(.15 + var(--sp-header-energy,.08));transition:opacity .2s ease;pointer-events:none}

@media(max-width:980px){
  .sp-atmosphere{opacity:.38}
  .sp-atmosphere__beam:nth-child(2),.sp-atmosphere__beam:nth-child(3){display:none}
  .sp-final-cta::after{width:120vw}
}
@media(max-width:640px){
  .sp-atmosphere,.sp-cursor-trail-dot,.sp-cursor-spark{display:none!important}
  .sp-scene-sweep{opacity:.35}
  .sp-hero__logo-wrap::before{opacity:.5;animation-duration:7.2s}
  .sp-final-cta::before{background-size:38px 38px;opacity:.42}
  .sp-word{padding:.10em .04em .16em!important;margin-left:-.02em;margin-right:-.02em}
}
@media(prefers-reduced-motion:reduce){
  .sp-atmosphere,.sp-scene-sweep,.sp-cursor-trail-dot,.sp-cursor-spark,.sp-row-glare{display:none!important}
  .sp-hero__logo-wrap::before,.sp-logo-orbit::before,.sp-logo-orbit::after,.sp-final-cta::after,.sp-flow__line i,.sp-more::before{animation:none!important}
  .sp-home-colors__deck{transform:rotate(-4deg)!important;transition:none!important}
}
