:root{
  --xp-ink:#10110e;
  --xp-paper:#f4f1e9;
  --xp-white:#fff;
  --xp-acid:#c9f73a;
  --xp-blue:#696ee7;
  --xp-muted:#696b64;
  --xp-line:rgba(16,17,14,.14);
  --xp-radius:28px;
}
html{scroll-behavior:smooth}
body.xp-page{margin:0;background:var(--xp-paper);color:var(--xp-ink);font-family:var(--font-geist-sans,'Geist',Arial,sans-serif);overflow-x:hidden}
.xp-page *{box-sizing:border-box}
.xp-page main{overflow:hidden}
.xp-shell{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.xp-section{position:relative;padding:clamp(90px,10vw,160px) 0}
.xp-display{margin:0;font-size:clamp(54px,7.9vw,126px);font-weight:750;letter-spacing:-.075em;line-height:.86}
.xp-display em,.xp-title em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.xp-title{margin:0;font-size:clamp(44px,5.7vw,88px);font-weight:720;letter-spacing:-.065em;line-height:.92}
.xp-lead{margin:0;max-width:660px;color:var(--xp-muted);font-size:clamp(18px,1.55vw,24px);line-height:1.55}
.xp-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-size:15px;font-weight:700;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}
.xp-button::after{content:'↗';font-size:18px}.xp-button:hover{transform:translateY(-3px)}
.xp-button-dark{background:var(--xp-ink);color:#fff;box-shadow:0 15px 34px rgba(16,17,14,.16)}.xp-button-dark:hover{background:var(--xp-blue);box-shadow:0 18px 38px rgba(105,110,231,.28)}
.xp-button-acid{background:var(--xp-acid);color:var(--xp-ink)}.xp-button-acid:hover{background:#ddff72;box-shadow:0 18px 36px rgba(201,247,58,.2)}
.xp-link{display:inline-flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid currentColor;color:inherit;font-size:15px;font-weight:700}.xp-link::after{content:'→';transition:transform .2s ease}.xp-link:hover::after{transform:translateX(5px)}
.xp-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}

/* Home hero */
.xp-home-hero{position:relative;min-height:100svh;padding:138px 0 54px;background-image:linear-gradient(90deg,rgba(244,241,233,.98) 0%,rgba(244,241,233,.92) 24%,rgba(244,241,233,.48) 39%,rgba(244,241,233,.08) 52%,rgba(244,241,233,0) 62%),url('img/webgwerb-studio-portrait.png');background-size:100% auto;background-position:center top;background-repeat:no-repeat;background-color:#f4f1e9}
.xp-home-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,17,14,.04),transparent 22%,transparent 78%,rgba(16,17,14,.09));pointer-events:none}
.xp-hero-grid{position:relative;z-index:1;display:flex;align-items:center;min-height:calc(100svh - 192px)}
.xp-home-hero .xp-shell{width:min(1420px,calc(100% - 72px))}
.xp-home-hero .xp-display{font-size:clamp(56px,4.8vw,76px)}
.xp-home-hero .xp-hero-copy{width:min(540px,36vw)}
.xp-hero-copy h1 span{display:block;color:var(--xp-blue)}
.xp-hero-copy .xp-lead{margin-top:34px;max-width:460px}.xp-hero-copy .xp-actions{margin-top:34px}
.xp-hero-meta{display:flex;gap:28px;margin-top:50px;padding-top:22px;border-top:1px solid var(--xp-line)}
.xp-hero-meta span{display:flex;align-items:center;gap:10px;color:#555950;font-size:13px;font-weight:620}.xp-hero-meta i{width:8px;height:8px;border-radius:50%;background:var(--xp-acid);box-shadow:0 0 0 5px rgba(201,247,58,.18)}
.xp-hero-visual{position:relative;min-height:620px;perspective:1200px}
.xp-hero-photo{min-height:650px;overflow:hidden;border:1px solid rgba(16,17,14,.12);border-radius:36px;background:#f5f2ed;box-shadow:0 42px 100px rgba(16,17,14,.18);isolation:isolate;perspective:none}
.xp-hero-photo::before{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(16,17,14,.42));pointer-events:none}
.xp-hero-photo::after{content:'';position:absolute;z-index:3;right:-70px;top:-70px;width:190px;height:190px;border:34px solid rgba(201,247,58,.88);border-radius:50%;pointer-events:none}
.xp-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:61% center;transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.xp-hero-photo:hover>img{transform:scale(1.025)}
.xp-photo-signature{position:absolute;z-index:4;left:28px;bottom:28px;display:flex;align-items:center;gap:12px;padding:14px 17px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(16,17,14,.78);color:#fff;box-shadow:0 18px 42px rgba(16,17,14,.22);backdrop-filter:blur(12px)}
.xp-photo-signature i{width:8px;height:8px;border-radius:50%;background:var(--xp-acid);box-shadow:0 0 0 5px rgba(201,247,58,.14)}.xp-photo-signature span{display:grid;gap:2px;font-size:11px;color:rgba(255,255,255,.68)}.xp-photo-signature strong{font-size:14px;color:#fff}
.xp-hero-signature{left:auto;right:0;bottom:12px}
.xp-browser{position:absolute;left:2%;right:0;top:9%;overflow:hidden;border:1px solid rgba(16,17,14,.16);border-radius:30px;background:#fff;box-shadow:0 40px 100px rgba(19,22,17,.2);transform:rotate(2.5deg);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s ease}
.xp-hero-visual:hover .xp-browser{transform:rotate(.5deg) translateY(-10px);box-shadow:0 55px 120px rgba(19,22,17,.25)}
.xp-browser-top{display:flex;align-items:center;gap:7px;height:54px;padding:0 20px;border-bottom:1px solid var(--xp-line);background:#f7f5ef}.xp-browser-top i{width:8px;height:8px;border-radius:50%;background:#c9c9c4}.xp-browser-top small{margin-left:auto;color:#7a7b75;font-size:11px}
.xp-browser-body{position:relative;min-height:480px;padding:62px 48px;background:var(--xp-ink);color:#fff;overflow:hidden}
.xp-browser-body::before{content:'';position:absolute;width:360px;height:360px;right:-135px;bottom:-170px;border:58px solid var(--xp-blue);border-radius:50%}
.xp-browser-body::after{content:'';position:absolute;width:170px;height:170px;right:68px;top:58px;border-radius:50%;background:var(--xp-acid);filter:blur(1px);opacity:.94}
.xp-mini-brand{position:relative;z-index:2;display:flex;justify-content:space-between;font-size:13px;font-weight:700}.xp-mini-brand span{width:34px;height:12px;border-top:2px solid #fff;border-bottom:2px solid #fff}
.xp-browser-body h2{position:relative;z-index:2;margin:120px 0 26px;max-width:480px;font-size:clamp(42px,4vw,66px);font-weight:620;letter-spacing:-.065em;line-height:.9}.xp-browser-body h2 em{display:block;color:var(--xp-acid);font-style:normal}
.xp-mini-cta{position:relative;z-index:2;display:inline-flex;padding:13px 18px;border-radius:999px;background:#fff;color:var(--xp-ink);font-size:12px;font-weight:750}
.xp-score{position:absolute;z-index:4;right:-18px;top:46%;display:grid;gap:2px;width:154px;padding:20px;border-radius:22px;background:var(--xp-acid);box-shadow:0 22px 50px rgba(16,17,14,.22);transform:rotate(-5deg);animation:xpFloat 5s ease-in-out infinite}.xp-score strong{font-size:30px;letter-spacing:-.05em}.xp-score span{font-size:11px;font-weight:700}
.xp-note{position:absolute;z-index:4;left:-18px;bottom:12%;display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid rgba(16,17,14,.12);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 18px 40px rgba(16,17,14,.12);font-size:12px;font-weight:750;backdrop-filter:blur(10px);animation:xpFloat 5.8s ease-in-out infinite reverse}.xp-note::before{content:'✓';color:#22a85a;font-size:17px}
@keyframes xpFloat{50%{transform:translateY(-10px) rotate(-3deg)}}

/* Single diagonal competence rail */
.xp-ribbon-wrap{position:relative;z-index:3;height:98px;width:calc(100% + 20vw);margin:-20px -10vw -24px;display:grid;align-items:center;overflow:hidden;transform:rotate(-2.2deg);pointer-events:none;background:var(--xp-acid)}
.xp-ribbon{display:flex;width:max-content;padding:23px 0;background:var(--xp-acid);border-block:1px solid var(--xp-ink);animation:xpMarquee 30s linear infinite;will-change:transform}
.xp-ribbon-set{display:flex;align-items:center;flex:none}.xp-ribbon span{padding:0 22px;font-size:clamp(18px,2vw,30px);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap}.xp-ribbon i{font-style:normal;font-size:22px}
@keyframes xpMarquee{to{transform:translateX(-25%)}}

/* Conversion story */
.xp-story{background:var(--xp-ink);color:#fff;padding-top:170px}
.xp-story-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.xp-story-head .xp-title em{color:var(--xp-acid)}.xp-story-head p{color:rgba(255,255,255,.58)}
.xp-service-stage{display:grid;grid-template-columns:310px 1fr;gap:34px;margin-top:80px}
.xp-service-nav{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.16)}
.xp-service-nav a{display:flex;align-items:center;justify-content:space-between;min-height:82px;border-bottom:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.5);font-size:20px;font-weight:620;transition:padding .25s ease,color .25s ease}.xp-service-nav a::after{content:'↗';color:var(--xp-acid);opacity:0;transition:opacity .25s ease,transform .25s ease}.xp-service-nav a:hover{padding-left:10px;color:#fff}.xp-service-nav a:hover::after{opacity:1;transform:translate(4px,-4px)}
.xp-service-canvas{position:relative;min-height:550px;overflow:hidden;border-radius:var(--xp-radius);background:linear-gradient(145deg,#696ee7,#4e53c8)}
.xp-service-canvas::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.18) 1px,transparent 0);background-size:28px 28px;mask-image:linear-gradient(135deg,#000,transparent)}
.xp-canvas-card{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.12);backdrop-filter:blur(8px);transition:transform .45s ease,background .45s ease}.xp-canvas-card:hover{transform:scale(1.04) rotate(0deg);background:rgba(255,255,255,.2)}
.xp-canvas-card strong{font-size:clamp(26px,3vw,48px);letter-spacing:-.05em}.xp-canvas-card small{margin-top:8px;color:rgba(255,255,255,.7);font-size:13px}
.xp-canvas-main{inset:60px 8% 84px 8%;border-radius:28px;background:var(--xp-paper);color:var(--xp-ink);transform:rotate(-2deg)}.xp-canvas-main::before{content:'';position:absolute;width:110px;height:110px;right:44px;top:34px;border:28px solid var(--xp-acid);border-radius:50%}.xp-canvas-main div{position:absolute;left:44px;bottom:50px}.xp-canvas-main strong{display:block;max-width:440px}.xp-canvas-main small{color:#5c5e57}
.xp-canvas-float{right:3%;bottom:30px;width:210px;height:120px;border-radius:22px;color:#fff;transform:rotate(5deg)}

/* Case / proof */
.xp-case{background:#f7f5ef}.xp-case-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}.xp-case-copy .xp-lead{margin-top:28px}.xp-case-copy .xp-link{margin-top:26px}
.xp-proof-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.xp-proof-list span{padding:9px 13px;border:1px solid var(--xp-line);border-radius:999px;color:#555850;font-size:12px;font-weight:650}
.xp-macbook{position:relative;width:min(100%,720px);margin-inline:auto;padding-bottom:34px;filter:drop-shadow(0 26px 34px rgba(16,17,14,.16))}
.xp-macbook-lid{position:relative;padding:13px 13px 17px;border:2px solid #555;border-radius:22px 22px 8px 8px;background:linear-gradient(145deg,#171817,#050505);box-shadow:inset 0 0 0 1px #727272}
.xp-macbook-camera{position:absolute;z-index:7;top:5px;left:50%;width:52px;height:10px;border-radius:0 0 7px 7px;background:#050505;transform:translateX(-50%)}
.xp-macbook-camera::after{content:'';position:absolute;top:3px;left:50%;width:3px;height:3px;border-radius:50%;background:#293444;box-shadow:0 0 3px #46688e;transform:translateX(-50%)}
.xp-macbook-base{position:absolute;right:-5%;bottom:19px;left:-5%;height:18px;border-radius:2px 2px 13px 13px;background:linear-gradient(#c9cacb,#7d7f81 55%,#d6d7d8);box-shadow:0 8px 8px rgba(16,17,14,.18)}
.xp-macbook-base::after{content:'';position:absolute;left:8%;right:8%;bottom:-4px;height:5px;border-radius:0 0 50% 50%;background:#555759}
.xp-macbook-base span{display:block;width:15%;height:5px;margin-inline:auto;border-radius:0 0 6px 6px;background:#77797a}
.xp-comparison{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:#dcdedc;box-shadow:none}
.xp-comparison img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.xp-comparison .xp-after{clip-path:inset(0 0 0 var(--split,50%))}
.xp-comparison::after{content:'';position:absolute;top:0;bottom:0;left:var(--split,50%);width:2px;background:#fff;box-shadow:0 0 0 1px rgba(16,17,14,.1)}
.xp-compare-label{position:absolute;z-index:4;top:18px;padding:9px 12px;border-radius:999px;background:rgba(16,17,14,.82);color:#fff;font-size:11px;font-weight:750;backdrop-filter:blur(8px)}.xp-compare-label.is-before{left:18px}.xp-compare-label.is-after{right:18px;background:var(--xp-acid);color:var(--xp-ink)}
.xp-comparison input{position:absolute;z-index:5;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.xp-compare-handle{position:absolute;z-index:4;left:var(--split,50%);top:50%;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--xp-ink);box-shadow:0 12px 30px rgba(16,17,14,.2);transform:translate(-50%,-50%);font-size:18px;font-weight:800}

/* Process */
.xp-process{background:var(--xp-paper)}.xp-process-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.xp-process-head .xp-lead{justify-self:end}
.xp-journey{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:80px;border-block:1px solid var(--xp-line)}
.xp-journey article{position:relative;min-height:300px;padding:38px 30px;border-right:1px solid var(--xp-line);transition:background .3s ease,color .3s ease,transform .3s ease}.xp-journey article:last-child{border-right:0}.xp-journey article:hover{z-index:2;background:var(--xp-ink);color:#fff;transform:translateY(-10px)}
.xp-journey article::before{content:'';display:block;width:14px;height:14px;margin-bottom:74px;border:2px solid currentColor;border-radius:50%;background:var(--xp-acid);box-shadow:0 0 0 8px var(--xp-paper)}.xp-journey article:hover::before{box-shadow:0 0 0 8px var(--xp-ink)}
.xp-journey h3{margin:0 0 16px;font-size:26px;letter-spacing:-.04em}.xp-journey p{margin:0;color:var(--xp-muted);font-size:15px;line-height:1.6}.xp-journey article:hover p{color:rgba(255,255,255,.62)}

/* Team */
.xp-team{background:var(--xp-blue);color:#fff}.xp-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.xp-team .xp-title em{color:var(--xp-acid)}.xp-team .xp-lead{margin-top:28px;color:rgba(255,255,255,.7)}.xp-team .xp-link{margin-top:26px}
.xp-portraits{position:relative;min-height:600px}.xp-portrait{position:absolute;overflow:hidden;width:58%;aspect-ratio:.74;border-radius:24px;border:1px solid rgba(255,255,255,.2);background:#11120f;box-shadow:0 28px 70px rgba(22,24,65,.28);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.xp-portrait:first-child{left:0;top:3%;transform:rotate(-5deg)}.xp-portrait:last-child{right:0;bottom:1%;transform:rotate(5deg)}.xp-portrait:hover{z-index:3;transform:rotate(0) translateY(-12px)}.xp-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}.xp-portrait div{position:absolute;inset:auto 0 0;padding:22px;background:linear-gradient(transparent,rgba(16,17,14,.92));font-weight:750}.xp-portrait small{display:block;margin-top:5px;color:rgba(255,255,255,.66);font-weight:500}

/* FAQ and contact */
.xp-faq{background:#f7f5ef}.xp-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.xp-faq-copy .xp-lead{margin-top:26px}.xp-accordions{border-top:1px solid var(--xp-line)}.xp-accordions details{border-bottom:1px solid var(--xp-line)}.xp-accordions summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 4px;cursor:pointer;list-style:none;font-size:clamp(18px,2vw,24px);font-weight:650}.xp-accordions summary::-webkit-details-marker{display:none}.xp-accordions summary::after{content:'+';display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;transition:transform .25s ease,background .25s ease}.xp-accordions details[open] summary::after{transform:rotate(45deg);background:var(--xp-acid)}.xp-accordions details p{margin:-4px 60px 26px 4px;color:var(--xp-muted);line-height:1.7}
.xp-contact{background:var(--xp-ink);color:#fff}.xp-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.xp-contact .xp-title em{color:var(--xp-acid)}.xp-contact-copy>p{margin-top:28px;color:rgba(255,255,255,.62)}.xp-direct{display:flex;flex-direction:column;gap:7px;margin-top:42px}.xp-direct span{color:rgba(255,255,255,.45);font-size:12px}.xp-direct a{font-size:21px;font-weight:700}
.xp-form{display:grid;gap:18px;padding:34px;border:1px solid rgba(255,255,255,.14);border-radius:var(--xp-radius);background:rgba(255,255,255,.06)}.xp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.xp-form label{display:grid;gap:9px;color:rgba(255,255,255,.62);font-size:12px;font-weight:650}.xp-form input,.xp-form select,.xp-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);color:#fff;padding:15px;font:inherit;outline:none;transition:border-color .25s ease,background .25s ease}.xp-form input:focus,.xp-form select:focus,.xp-form textarea:focus{border-color:var(--xp-acid);background:rgba(255,255,255,.1)}.xp-form select option{color:#111}.xp-form textarea{min-height:128px;resize:vertical}.xp-form button{border:0;cursor:pointer}.xp-form-note{margin:0;color:rgba(255,255,255,.38);font-size:11px}.form-honeypot{position:absolute!important;left:-9999px!important}

/* Services page */
.xp-services-hero{min-height:92svh;padding:160px 0 90px;background:radial-gradient(circle at 82% 25%,rgba(105,110,231,.3),transparent 31%),var(--xp-ink);color:#fff}
.xp-services-hero .xp-display{max-width:850px}.xp-services-hero .xp-display span{display:block;color:#aeb2ff}.xp-services-hero .xp-lead{margin-top:34px;color:rgba(255,255,255,.6)}
.xp-services-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.xp-service-map{position:relative;min-height:560px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.09),transparent 64%)}.xp-service-map::before,.xp-service-map::after{content:'';position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.xp-service-map::before{inset:14%}.xp-service-map::after{inset:31%}
.xp-service-map a{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:13px 17px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:13px;font-weight:700;backdrop-filter:blur(8px);transition:transform .25s ease,background .25s ease,color .25s ease}.xp-service-map a::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--xp-acid)}.xp-service-map a:hover{background:var(--xp-acid);color:var(--xp-ink);transform:scale(1.06)}.xp-service-map a:nth-child(1){left:34%;top:12%}.xp-service-map a:nth-child(2){right:1%;top:36%}.xp-service-map a:nth-child(3){right:8%;bottom:18%}.xp-service-map a:nth-child(4){left:6%;bottom:14%}.xp-service-map a:nth-child(5){left:-2%;top:37%}.xp-map-center{position:absolute;inset:38%;display:grid;place-items:center;border-radius:50%;background:var(--xp-acid);color:var(--xp-ink);font-weight:800;box-shadow:0 0 80px rgba(201,247,58,.24)}
.xp-offers{background:#f4f1e9}.xp-offers-head{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end;margin-bottom:70px}.xp-offers-head .xp-lead{justify-self:end}
.xp-offer-list{border-top:1px solid var(--xp-line)}.xp-offer{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center;padding:72px 0;border-bottom:1px solid var(--xp-line);scroll-margin-top:110px}.xp-offer:nth-child(even){grid-template-columns:1.05fr 1fr}.xp-offer:nth-child(even) .xp-offer-visual{order:-1}.xp-offer-copy h2{margin:0;font-size:clamp(40px,5vw,72px);letter-spacing:-.06em;line-height:.95}.xp-offer-copy p{margin:24px 0;color:var(--xp-muted);font-size:17px;line-height:1.65}.xp-offer-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.xp-offer-visual{position:relative;min-height:390px;overflow:hidden;border-radius:var(--xp-radius);background:var(--xp-ink);color:#fff;transition:transform .4s ease,box-shadow .4s ease}.xp-offer:hover .xp-offer-visual{transform:translateY(-8px);box-shadow:0 26px 62px rgba(16,17,14,.15)}.xp-offer-visual.is-blue{background:var(--xp-blue)}.xp-offer-visual.is-light{border:1px solid var(--xp-line);background:#fff;color:var(--xp-ink)}.xp-offer-visual.is-acid{background:var(--xp-acid);color:var(--xp-ink)}.xp-offer-image{border:1px solid rgba(16,17,14,.1);background:#fff}.xp-offer-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.xp-offer:hover .xp-offer-image img{transform:scale(1.025)}
.xp-site-mock{position:absolute;inset:42px 40px -40px;border-radius:22px 22px 0 0;background:#fff;color:#111;box-shadow:0 20px 70px rgba(0,0,0,.22);transform:rotate(-2deg);padding:28px}.xp-site-mock h3{margin:90px 0 0;font-size:45px;letter-spacing:-.06em;line-height:.95}.xp-site-mock h3 span{color:var(--xp-blue)}
.xp-search-mock{position:absolute;inset:56px 42px;border:1px solid rgba(255,255,255,.24);border-radius:22px;background:rgba(255,255,255,.12);padding:28px}.xp-searchbar{height:50px;border-radius:999px;background:#fff;color:#555;padding:0 18px;display:flex;align-items:center}.xp-chart{position:absolute;left:42px;right:42px;bottom:40px;height:135px;border-left:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}.xp-chart svg{width:100%;height:100%;overflow:visible}.xp-chart path{fill:none;stroke:var(--xp-acid);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.xp-chat-mock{position:absolute;inset:54px 42px;display:flex;flex-direction:column;gap:18px}.xp-bubble{max-width:76%;padding:18px 20px;border-radius:20px;background:#fff;color:#111;font-weight:650}.xp-bubble:nth-child(2){align-self:flex-end;background:var(--xp-acid)}.xp-bubble:nth-child(3){margin-top:auto}
.xp-workflow{position:absolute;inset:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:center}.xp-workflow span{display:grid;place-items:center;min-height:116px;border:1px solid rgba(16,17,14,.12);border-radius:20px;background:#fff;font-weight:750;box-shadow:0 15px 34px rgba(16,17,14,.08)}.xp-workflow i{position:absolute;left:29%;right:29%;height:2px;background:var(--xp-blue);z-index:-1}
.xp-hosting-mock{position:absolute;inset:42px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.xp-hosting-mock div{display:flex;flex-direction:column;justify-content:flex-end;padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.08)}.xp-hosting-mock strong{font-size:34px;color:var(--xp-acid)}
.xp-principles{background:var(--xp-blue);color:#fff}.xp-principle-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:80px}.xp-principle-grid .xp-lead{margin-top:28px;color:rgba(255,255,255,.66)}.xp-principle-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.xp-principle-cards article{min-height:220px;padding:30px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.08);transition:background .3s ease,transform .3s ease}.xp-principle-cards article:hover{background:#fff;color:var(--xp-ink);transform:translateY(-7px)}.xp-principle-cards h3{margin:0 0 18px;font-size:28px;letter-spacing:-.04em}.xp-principle-cards p{margin:0;color:rgba(255,255,255,.64);line-height:1.6}.xp-principle-cards article:hover p{color:var(--xp-muted)}
.xp-addons{background:#f7f5ef}.xp-addons-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.xp-addons-copy .xp-lead{margin-top:26px}

/* Process page */
.xp-flow-hero{min-height:94svh;padding:160px 0 90px;background:radial-gradient(circle at 90% 15%,rgba(201,247,58,.22),transparent 28%),#edf0e7}
.xp-flow-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.xp-flow-hero .xp-display span{display:block;color:#5660c5}.xp-flow-hero .xp-lead{margin-top:34px}.xp-flow-hero .xp-actions{margin-top:34px}
.xp-flow-map{position:relative;min-height:560px}.xp-flow-line{position:absolute;left:13%;right:10%;top:16%;bottom:12%;border:2px dashed rgba(16,17,14,.18);border-left-color:transparent;border-radius:45% 55% 40% 60%;transform:rotate(-8deg)}
.xp-flow-stop{position:absolute;display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid rgba(16,17,14,.12);border-radius:999px;background:rgba(255,255,255,.8);box-shadow:0 16px 38px rgba(16,17,14,.09);font-size:13px;font-weight:750;backdrop-filter:blur(10px);transition:transform .25s ease}.xp-flow-stop::before{content:'';width:12px;height:12px;border:3px solid var(--xp-ink);border-radius:50%;background:var(--xp-acid)}.xp-flow-stop:hover{transform:scale(1.06)}.xp-flow-stop:nth-of-type(2){left:4%;top:18%}.xp-flow-stop:nth-of-type(3){right:2%;top:30%}.xp-flow-stop:nth-of-type(4){left:14%;bottom:25%}.xp-flow-stop:nth-of-type(5){right:12%;bottom:9%}.xp-flow-core{position:absolute;left:35%;top:37%;display:grid;place-items:center;width:180px;height:180px;border-radius:50%;background:var(--xp-ink);color:#fff;box-shadow:0 28px 70px rgba(16,17,14,.24);font-size:22px;font-weight:780;text-align:center}.xp-flow-core span{color:var(--xp-acid)}
.xp-stack-section{background:var(--xp-ink);color:#fff}.xp-stack-head{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}.xp-stack-head .xp-title em{color:var(--xp-acid)}.xp-stack-head .xp-lead{justify-self:end;color:rgba(255,255,255,.6)}
.xp-stack{margin-top:80px}.xp-stack-card{position:sticky;top:108px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;min-height:560px;margin-bottom:42px;padding:58px;border-radius:34px;background:#f4f1e9;color:var(--xp-ink);box-shadow:0 -18px 60px rgba(0,0,0,.22);transform-origin:center top}.xp-stack-card:nth-child(2){top:126px;background:var(--xp-blue);color:#fff}.xp-stack-card:nth-child(3){top:144px;background:#ecebe6}.xp-stack-card:nth-child(4){top:162px;background:var(--xp-acid)}
.xp-stack-copy{align-self:center}.xp-stack-copy h3{margin:0 0 20px;font-size:clamp(44px,5vw,76px);letter-spacing:-.065em;line-height:.94}.xp-stack-copy p{margin:0;max-width:480px;color:#60635b;font-size:17px;line-height:1.65}.xp-stack-card:nth-child(2) .xp-stack-copy p{color:rgba(255,255,255,.68)}.xp-stack-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.xp-stack-tags span{padding:9px 13px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:700;opacity:.72}
.xp-stack-visual{position:relative;min-height:420px;overflow:hidden;border-radius:26px;background:#fff}.xp-stack-card:nth-child(2) .xp-stack-visual{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}.xp-stack-card:nth-child(4) .xp-stack-visual{background:var(--xp-ink)}
.xp-call-visual{display:grid;place-items:center}.xp-call-visual::before,.xp-call-visual::after{content:'';position:absolute;border:1px solid rgba(16,17,14,.12);border-radius:50%}.xp-call-visual::before{width:280px;height:280px}.xp-call-visual::after{width:390px;height:390px}.xp-call-button{position:relative;z-index:2;display:grid;place-items:center;width:140px;height:140px;border-radius:50%;background:var(--xp-acid);font-size:18px;font-weight:800;text-align:center;box-shadow:0 0 0 20px rgba(201,247,58,.2)}
.xp-design-visual{padding:38px}.xp-design-board{height:100%;padding:28px;border-radius:22px;background:#fff;color:#111;transform:rotate(2deg);box-shadow:0 30px 60px rgba(27,30,91,.28)}.xp-design-board h4{margin:110px 0 0;font-size:52px;letter-spacing:-.06em;line-height:.9}.xp-design-board h4 span{color:var(--xp-blue)}
.xp-code-window{position:absolute;inset:28px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#15161b;color:#d8dce8;box-shadow:0 24px 70px rgba(0,0,0,.28);font-family:var(--font-geist-mono,'Geist Mono',monospace)}.xp-code-top{display:flex;align-items:center;gap:7px;height:52px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.1);font-size:11px}.xp-code-top i{width:8px;height:8px;border-radius:50%;background:#ff6961}.xp-code-top i:nth-child(2){background:#ffca55}.xp-code-top i:nth-child(3){background:#61d669}.xp-code-top span{margin-left:8px;color:#959aab}.xp-code-top b{margin-left:auto;color:var(--xp-acid)}
.xp-code{margin:0;padding:24px 26px;font-size:clamp(10px,1vw,13px);line-height:1.75;white-space:pre-wrap}.xp-code .kw{color:#c792ea}.xp-code .fn{color:#82aaff}.xp-code .str{color:#c3e88d}.xp-code .tag{color:#f07178}.xp-code .prop{color:#ffcb6b}.xp-code .muted{color:#5c6370}.xp-code .num{color:#f78c6c}
.xp-launch-visual{display:grid;place-items:center;color:#fff}.xp-launch-ring{display:grid;place-items:center;width:250px;height:250px;border:42px solid var(--xp-blue);border-right-color:var(--xp-acid);border-radius:50%;font-size:28px;font-weight:800;animation:xpSpin 12s linear infinite}.xp-launch-ring span{animation:xpSpin 12s linear infinite reverse}@keyframes xpSpin{to{transform:rotate(360deg)}}

@media(max-width:1040px){
  .xp-hero-grid,.xp-services-hero-grid,.xp-flow-hero-grid{grid-template-columns:1fr}.xp-home-hero{padding-top:132px;background-position:center top}.xp-home-hero .xp-hero-copy{width:min(520px,48vw);max-width:520px}.xp-services-hero,.xp-flow-hero{padding-top:145px}.xp-service-map,.xp-flow-map{width:min(620px,100%);margin-inline:auto}.xp-story-head,.xp-case-grid,.xp-team-grid,.xp-faq-grid,.xp-contact-grid,.xp-principle-grid,.xp-addons-grid{grid-template-columns:1fr}.xp-service-stage{grid-template-columns:240px 1fr}.xp-process-head,.xp-stack-head,.xp-offers-head{grid-template-columns:1fr}.xp-process-head .xp-lead,.xp-stack-head .xp-lead,.xp-offers-head .xp-lead{justify-self:start}.xp-journey{grid-template-columns:1fr 1fr}.xp-journey article:nth-child(2){border-right:0}.xp-journey article:nth-child(-n+2){border-bottom:1px solid var(--xp-line)}.xp-team-grid{gap:40px}.xp-portraits{width:min(720px,100%);margin-inline:auto}.xp-offer{gap:40px}.xp-stack-card{grid-template-columns:1fr;min-height:760px}
}
@media(max-width:760px){
  .xp-shell{width:min(100% - 28px,1240px)}.xp-section{padding:82px 0}.xp-display{font-size:clamp(50px,15vw,78px);line-height:.9}.xp-title{font-size:clamp(42px,12vw,66px)}.xp-lead{font-size:17px}.xp-home-hero{min-height:920px;padding:105px 0 34px;background-image:linear-gradient(180deg,rgba(244,241,233,.99) 0%,rgba(244,241,233,.97) 48%,rgba(244,241,233,.64) 61%,rgba(244,241,233,.02) 82%),url('img/webgwerb-studio-portrait.png');background-size:100% 100%,auto 46%;background-position:center,61% bottom;background-repeat:no-repeat}.xp-home-hero::before{background:linear-gradient(180deg,transparent 75%,rgba(16,17,14,.14))}.xp-hero-grid{min-height:781px;display:block}.xp-home-hero .xp-shell{width:min(100% - 28px,1240px)}.xp-home-hero .xp-hero-copy{width:100%;max-width:100%;padding-top:14px}.xp-home-hero .xp-display{font-size:clamp(43px,13.3vw,58px)}.xp-hero-copy .xp-lead{margin-top:20px;max-width:96%;font-size:16px;line-height:1.48}.xp-hero-copy .xp-actions{margin-top:22px}.xp-hero-meta{gap:8px;flex-direction:column;margin-top:22px;padding-top:15px;border-top-color:var(--xp-line)}.xp-home-hero .xp-hero-meta span{color:#555950;text-shadow:none;font-size:11px}.xp-ribbon-wrap{height:70px;width:calc(100% + 28vw);margin:-6px -14vw -18px}.xp-ribbon{padding:16px 0}.xp-ribbon span{padding-inline:16px}.xp-story{padding-top:110px}.xp-story-head{gap:26px}.xp-service-stage{grid-template-columns:1fr;margin-top:50px}.xp-service-nav{display:grid;grid-template-columns:1fr 1fr}.xp-service-nav a{min-height:58px;font-size:16px}.xp-service-canvas{min-height:430px}.xp-canvas-main{inset:38px 22px 76px}.xp-canvas-main div{left:24px;bottom:34px}.xp-canvas-main::before{width:82px;height:82px;right:20px;border-width:20px}.xp-canvas-float{width:160px;height:92px}.xp-case-grid{gap:42px}.xp-macbook{width:94%;padding-bottom:25px}.xp-macbook-lid{padding:8px 8px 11px;border-radius:15px 15px 6px 6px}.xp-macbook-camera{top:3px;width:38px;height:7px}.xp-macbook-base{bottom:14px;height:13px}.xp-comparison{aspect-ratio:16/10;border-radius:6px}.xp-compare-label{top:10px;padding:6px 8px;font-size:8px}.xp-compare-label.is-before{left:10px}.xp-compare-label.is-after{right:10px}.xp-compare-handle{width:38px;height:38px;font-size:14px}.xp-process-head{gap:24px}.xp-journey{grid-template-columns:1fr;margin-top:50px}.xp-journey article,.xp-journey article:nth-child(2){min-height:auto;border-right:0;border-bottom:1px solid var(--xp-line);padding:30px 20px}.xp-journey article::before{margin-bottom:30px}.xp-portraits{min-height:470px}.xp-portrait{width:62%}.xp-faq-grid,.xp-contact-grid,.xp-principle-grid,.xp-addons-grid{gap:42px}.xp-form{padding:22px}.xp-form-row{grid-template-columns:1fr}.xp-services-hero,.xp-flow-hero{min-height:auto;padding:120px 0 80px}.xp-services-hero-grid,.xp-flow-hero-grid{gap:55px}.xp-service-map,.xp-flow-map{min-height:420px}.xp-service-map a{padding:10px 12px;font-size:11px}.xp-map-center{inset:37%;font-size:12px}.xp-flow-core{left:31%;top:36%;width:145px;height:145px;font-size:18px}.xp-flow-stop{padding:11px 13px;font-size:11px}.xp-offers-head{gap:24px}.xp-offer,.xp-offer:nth-child(even){grid-template-columns:1fr;padding:54px 0}.xp-offer:nth-child(even) .xp-offer-visual{order:initial}.xp-offer-visual{min-height:330px}.xp-site-mock{inset:32px 22px -30px}.xp-search-mock,.xp-chat-mock,.xp-hosting-mock,.xp-workflow{inset:30px 22px}.xp-principle-cards{grid-template-columns:1fr}.xp-stack{margin-top:50px}.xp-stack-card{top:86px!important;grid-template-columns:1fr;gap:34px;min-height:760px;padding:28px 22px;border-radius:26px}.xp-stack-copy h3{font-size:44px}.xp-stack-visual{min-height:390px}.xp-code-window{inset:15px}.xp-code{padding:18px 14px;font-size:9px}.xp-launch-ring{width:190px;height:190px;border-width:32px}
}
@media(prefers-reduced-motion:reduce){.xp-ribbon,.xp-score,.xp-note,.xp-launch-ring,.xp-launch-ring span{animation:none!important}.xp-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Final mobile hero refinement: keep the portrait lower and more understated. */
@media(max-width:760px){
  .xp-home-hero{min-height:980px;background-image:linear-gradient(180deg,rgba(244,241,233,.99) 0%,rgba(244,241,233,.97) 55%,rgba(244,241,233,.64) 68%,rgba(244,241,233,.02) 88%),url('img/webgwerb-studio-portrait.png');background-size:100% 100%,auto 34%}
  .xp-home-hero::before{background:linear-gradient(180deg,transparent 80%,rgba(16,17,14,.14))}
  .xp-hero-grid{min-height:841px}
}

/* Home refinement */
.xp-home-hero .xp-shell{width:calc(100% - 72px);max-width:none}
.xp-home-hero .xp-hero-copy{width:min(540px,35vw)}

/* A straight overflow rail avoids the exposed triangular corners of a rotated strip. */
.xp-ribbon-wrap{width:100%;height:82px;margin:-1px 0 0;overflow:hidden;transform:none;background:var(--xp-acid)}
.xp-ribbon{min-height:82px;padding:20px 0;border-block:1px solid var(--xp-ink)}

/* Compact three-part service trailer. */
.xp-services-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:78px;align-items:start}
.xp-service-preview-card{display:block;color:#fff}
.xp-service-preview-card:nth-child(2){margin-top:72px}.xp-service-preview-card:nth-child(3){margin-top:144px}
.xp-service-preview-media{aspect-ratio:1.32;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:#fff;box-shadow:0 24px 58px rgba(0,0,0,.24)}
.xp-service-preview-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.xp-service-preview-card:hover img{transform:scale(1.025)}
.xp-service-preview-copy{display:grid;grid-template-columns:36px 1fr;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22)}
.xp-service-preview-copy>span{color:var(--xp-acid);font:700 11px/1 var(--font-geist-mono,monospace);letter-spacing:.08em}
.xp-service-preview-copy h3{margin:0 0 8px;font-size:21px;letter-spacing:-.035em}.xp-service-preview-copy p{margin:0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.55}

/* Homepage process cards stack as the visitor scrolls. */
.page-index .xp-process{padding-bottom:190px}
.page-index .xp-journey{display:block;margin-top:72px;border:0}
.page-index .xp-journey article{position:sticky;top:108px;display:grid;grid-template-columns:170px minmax(0,1fr);align-content:center;gap:34px;min-height:390px;margin:0 0 28px;padding:58px;border:1px solid rgba(16,17,14,.15);border-radius:30px;background:#f8f6f0;color:var(--xp-ink);box-shadow:0 24px 60px rgba(16,17,14,.12)}
.page-index .xp-journey article:nth-child(2){top:122px;background:var(--xp-blue);color:var(--xp-ink)}
.page-index .xp-journey article:nth-child(3){top:136px;background:#ecebe6;color:var(--xp-ink)}
.page-index .xp-journey article:nth-child(4){top:150px;background:var(--xp-acid);color:var(--xp-ink)}
.page-index .xp-journey article::before{content:counter(list-item,decimal-leading-zero);display:grid;place-items:center;width:82px;height:82px;margin:0;border:1px solid currentColor;border-radius:50%;background:transparent;box-shadow:none;font-size:19px;font-weight:750}
.page-index .xp-journey article:nth-child(1)::before{content:'01'}.page-index .xp-journey article:nth-child(2)::before{content:'02'}.page-index .xp-journey article:nth-child(3)::before{content:'03'}.page-index .xp-journey article:nth-child(4)::before{content:'04'}
.page-index .xp-journey h3{margin:0 0 18px;font-size:clamp(38px,4vw,62px)}
.page-index .xp-journey p,.page-index .xp-journey article:hover p{max-width:650px;color:rgba(16,17,14,.68);font-size:17px;line-height:1.7}
.page-index .xp-journey article:hover{background:inherit;color:inherit;transform:none}

/* Ablauf page: light section and consistently dark copy. */
.xp-stack-section{background:#ebe7dd;color:var(--xp-ink)}
.xp-stack-head .xp-lead{color:rgba(16,17,14,.66)}
.xp-stack-head .xp-title em{color:#9fc500}
.xp-stack-card:nth-child(2){color:var(--xp-ink)}
.xp-stack-card:nth-child(2) .xp-stack-copy p{color:#34362f}
.xp-launch-visual{color:var(--xp-ink)}

@media(max-width:1040px){
  .xp-home-hero .xp-shell{width:calc(100% - 36px)}
  .xp-home-hero .xp-hero-copy{width:min(520px,48vw)}
  .xp-services-preview{grid-template-columns:1fr 1fr}.xp-service-preview-card:nth-child(2){margin-top:64px}.xp-service-preview-card:nth-child(3){margin-top:0}
}
@media(max-width:760px){
  .xp-home-hero .xp-shell{width:calc(100% - 28px)}
  .xp-home-hero .xp-hero-copy{width:100%}
  .xp-ribbon-wrap,.xp-ribbon{height:68px;min-height:68px}.xp-ribbon{padding:15px 0}
  .xp-services-preview{display:flex;gap:14px;margin-inline:-14px;padding:0 14px 24px;overflow-x:auto;scroll-snap-type:x mandatory}.xp-service-preview-card,.xp-service-preview-card:nth-child(2),.xp-service-preview-card:nth-child(3){flex:0 0 calc(100vw - 42px);margin-top:0;scroll-snap-align:center}.xp-service-preview-copy h3{font-size:19px}
  .page-index .xp-process{padding-bottom:90px}.page-index .xp-journey{margin-top:48px}.page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){position:relative;top:auto;grid-template-columns:1fr;gap:24px;min-height:360px;margin-bottom:16px;padding:32px 24px;border-radius:24px}.page-index .xp-journey article::before{width:58px;height:58px}.page-index .xp-journey h3{font-size:38px}.page-index .xp-journey p{font-size:15px}
}

/* =====================================================================
   Interaktiver Leistungs-Explorer
   ===================================================================== */
.xp-service-explorer{margin-top:78px;padding:54px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:54px;border-radius:30px;background:#f4f1e9;color:var(--xp-ink);box-shadow:0 28px 80px rgba(0,0,0,.22)}
.xp-service-eyebrow{display:block;margin-bottom:18px;color:#63675e;font:750 9px/1.2 var(--font-geist-mono,monospace);letter-spacing:.16em;text-transform:uppercase}
.xp-service-explorer-nav h3{margin:0;font-size:clamp(35px,3.2vw,52px);letter-spacing:-.06em;line-height:.94}.xp-service-explorer-nav h3 em{display:block;font-family:Georgia,serif;font-weight:400}.xp-service-explorer-nav>p{margin:22px 0 28px;color:#666960;font-size:13px;line-height:1.65}
.xp-service-tabs{display:flex;flex-direction:column;border-top:1px solid rgba(16,17,14,.14)}
.xp-service-tabs button{min-height:54px;padding:0 15px;border:0;border-bottom:1px solid rgba(16,17,14,.14);border-radius:0;background:transparent;color:#11120f;text-align:left;font:680 13px/1.25 var(--font-geist-sans,Arial);cursor:pointer;transition:background .2s,color .2s,border-radius .2s,padding .2s}
.xp-service-tabs button:hover{padding-left:19px}.xp-service-tabs button.is-active{margin:7px 0;padding-inline:18px;border:0;border-radius:999px;background:#11120f;color:#fff}.xp-service-tabs button.is-active:hover{padding-left:18px}
.xp-service-explorer-stage{min-height:470px;padding:32px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(220px,.82fr);gap:34px;align-items:center;border-radius:24px;background:#e9e6de}
.xp-service-explorer-visual{height:100%;min-height:390px;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 20px 48px rgba(16,17,14,.12)}
.xp-service-explorer-image{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease}
.xp-service-explorer-detail{padding:18px 10px}.xp-service-explorer-kicker{display:block;margin-bottom:20px;color:#6d735f;font:750 9px/1.2 var(--font-geist-mono,monospace);letter-spacing:.14em;text-transform:uppercase}.xp-service-explorer-title{margin:0;font-size:clamp(32px,3.5vw,56px);letter-spacing:-.06em;line-height:.96}.xp-service-explorer-text{margin:24px 0;color:#60635b;font-size:14px;line-height:1.65}.xp-service-explorer-link{display:inline-block;padding-bottom:5px;border-bottom:1px solid currentColor;color:#11120f;font-size:13px;font-weight:750}

/* Homepage-Prozess als übereinanderliegende Farbflächen. */
.page-index .xp-process{padding:120px 0 190px;background:#10110e;color:#fff}
.page-index .xp-process-head .xp-title{color:#fff}.page-index .xp-process-head .xp-title em{color:var(--xp-acid)}.page-index .xp-process-head .xp-lead{color:rgba(255,255,255,.62)}
.page-index .xp-journey{display:block;margin-top:78px;border:0}
.page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){position:sticky;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:64px;align-items:end;min-height:520px;margin:0 0 34px;padding:64px;border:1px solid rgba(255,255,255,.12);border-radius:34px;background:#20211d;color:#fff;box-shadow:0 -20px 66px rgba(0,0,0,.34)}
.page-index .xp-journey article:nth-child(1){top:100px}.page-index .xp-journey article:nth-child(2){top:116px;background:var(--xp-blue);color:#fff}.page-index .xp-journey article:nth-child(3){top:132px;background:#f0eee7;color:var(--xp-ink)}.page-index .xp-journey article:nth-child(4){top:148px;background:var(--xp-acid);color:var(--xp-ink)}
.page-index .xp-journey article::before{display:none!important}.page-index .xp-journey article small{position:absolute;left:64px;top:58px;color:inherit;font:760 10px/1 var(--font-geist-mono,monospace);letter-spacing:.16em;text-transform:uppercase;opacity:.66}
.page-index .xp-journey h3{max-width:780px;margin:0;font-size:clamp(52px,6.2vw,92px);font-weight:480;letter-spacing:-.065em;line-height:.92}
.page-index .xp-journey p,.page-index .xp-journey article:hover p{max-width:400px;margin:0;color:inherit;font-size:17px;line-height:1.65;opacity:.66}.page-index .xp-journey article:hover{background:inherit;color:inherit;transform:none}
.page-index .xp-process>.xp-shell>p{margin-top:44px!important}.page-index .xp-process>.xp-shell>p .xp-link{color:#fff;border-color:rgba(255,255,255,.55)}

@media(max-width:1040px){
  .xp-service-explorer{grid-template-columns:1fr;padding:40px}.xp-service-explorer-nav>p{max-width:620px}.xp-service-tabs{display:grid;grid-template-columns:1fr 1fr}.xp-service-tabs button{border-right:1px solid rgba(16,17,14,.14)}
  .xp-service-explorer-stage{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .xp-service-explorer{margin:48px -2px 0;padding:24px 18px;border-radius:24px;gap:34px}.xp-service-explorer-nav h3{font-size:40px}.xp-service-tabs{display:flex}.xp-service-tabs button{font-size:12px}.xp-service-explorer-stage{min-height:0;padding:14px;grid-template-columns:1fr;gap:12px}.xp-service-explorer-visual{min-height:245px;aspect-ratio:1.2}.xp-service-explorer-detail{padding:20px 10px 14px}.xp-service-explorer-title{font-size:36px}
  .page-index .xp-process{padding:88px 0 100px}.page-index .xp-journey{margin-top:52px}.page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){position:relative;top:auto;grid-template-columns:1fr;align-content:end;gap:24px;min-height:450px;margin-bottom:14px;padding:30px 24px;border-radius:26px}.page-index .xp-journey article small{left:24px;top:28px}.page-index .xp-journey h3{font-size:clamp(43px,12vw,58px)}.page-index .xp-journey p{font-size:15px}
}

/* Größerer Explorer mit vollständig sichtbaren Bildmotiven. */
@media(min-width:1041px){
  .xp-service-explorer{width:calc(100% + 52px);margin-left:-26px;padding:46px;grid-template-columns:260px minmax(0,1fr);gap:40px}
}
.xp-service-explorer-stage{min-height:560px;padding:28px;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:26px}
.xp-service-explorer-visual{height:auto;min-height:0;aspect-ratio:1.48;display:grid;place-items:center;padding:14px;background:#f8f6f0}
.xp-service-explorer-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.xp-service-explorer-detail{align-self:center}
.xp-service-explorer-title{font-size:clamp(32px,3.2vw,50px)}

/* Die Karten reagieren sichtbar auf die nächste Karte und bilden beim Scrollen einen Stapel. */
.page-index main{overflow:visible!important}
.page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){transform:scale(var(--stack-scale,1));transform-origin:center top;filter:brightness(var(--stack-dim,1));will-change:transform,filter;transition:transform .12s linear,filter .12s linear;border-color:rgba(255,255,255,.16)}
.page-index .xp-journey article:nth-child(3),.page-index .xp-journey article:nth-child(4){border-color:rgba(16,17,14,.12)}

@media(max-width:1040px) and (min-width:761px){
  .xp-service-explorer-stage{min-height:520px;grid-template-columns:minmax(0,1.28fr) minmax(230px,.72fr)}
}
@media(max-width:760px){
  .xp-service-explorer-stage{min-height:0;grid-template-columns:1fr}
  .xp-service-explorer-visual{min-height:0;aspect-ratio:1.48;padding:8px}
  .page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){transform:none;filter:none;transition:none}
}

/* Eigenständige Hosting-Visualisierung statt wiederverwendetem Website-Motiv. */
.xp-hosting-preview{display:none;width:100%;height:100%;min-height:220px;padding:22px;flex-direction:column;overflow:hidden;border-radius:15px;background:linear-gradient(145deg,#12140f,#1e221b);color:#fff;box-shadow:0 18px 44px rgba(16,17,14,.2)}
.xp-service-explorer-visual.is-hosting{padding:14px;background:#dde1d6}.xp-service-explorer-visual.is-hosting .xp-service-explorer-image{display:none}.xp-service-explorer-visual.is-hosting .xp-hosting-preview{display:flex}
.xp-hosting-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:700}.xp-hosting-top span{display:flex;align-items:center;gap:8px}.xp-hosting-top b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--xp-acid);color:#11120f}.xp-hosting-top i{padding:7px 9px;border-radius:999px;background:rgba(201,247,58,.12);color:var(--xp-acid);font-style:normal;font-size:8px}
.xp-hosting-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.xp-hosting-metrics>div{min-width:0;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.055)}.xp-hosting-metrics small,.xp-hosting-metrics span{display:block;color:rgba(255,255,255,.48);font-size:7px}.xp-hosting-metrics strong{display:block;margin:16px 0 3px;color:#fff;font-size:15px;letter-spacing:-.03em}
.xp-hosting-chart{margin-top:auto;padding-top:16px}.xp-hosting-chart>span{color:rgba(255,255,255,.55);font-size:8px}.xp-hosting-chart>div{height:54px;margin-top:9px;display:flex;align-items:end;gap:6px}.xp-hosting-chart i{flex:1;height:48%;border-radius:4px 4px 1px 1px;background:linear-gradient(var(--xp-acid),#88a91b);transform-origin:center bottom;animation:xpHostingBars 2.8s ease-in-out infinite}.xp-hosting-chart i:nth-child(2){height:65%;animation-delay:-.3s}.xp-hosting-chart i:nth-child(3){height:50%;animation-delay:-.7s}.xp-hosting-chart i:nth-child(4){height:78%;animation-delay:-1.1s}.xp-hosting-chart i:nth-child(5){height:62%;animation-delay:-1.5s}.xp-hosting-chart i:nth-child(6){height:88%;animation-delay:-1.9s}.xp-hosting-chart i:nth-child(7){height:74%;animation-delay:-2.3s}.xp-hosting-chart i:nth-child(8){height:96%;animation-delay:-2.6s}@keyframes xpHostingBars{0%,100%{transform:scaleY(.82);opacity:.72}50%{transform:scaleY(1);opacity:1}}

/* Ablauf-Hero: ruhiges, animiertes Projektboard. */
.xp-flow-board{position:relative;width:100%;max-width:100%;min-width:0;min-height:560px;padding:26px;overflow:hidden;box-sizing:border-box;border:1px solid rgba(16,17,14,.13);border-radius:30px;background:#11120f;color:#fff;box-shadow:0 34px 80px rgba(16,17,14,.18)}
.xp-flow-board::before{content:"";position:absolute;width:320px;height:320px;right:-120px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(201,247,58,.22),transparent 68%)}
.xp-flow-board-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:720}.xp-flow-board-top span{display:flex;align-items:center;gap:10px}.xp-flow-board-top b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--xp-acid);color:#11120f}.xp-flow-board-top i{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.66);font-style:normal;font-size:9px}
.xp-flow-progress{position:relative;height:4px;margin:24px 0 20px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.1)}.xp-flow-progress span{position:absolute;inset:0;background:linear-gradient(90deg,var(--xp-acid),#6873dc);transform-origin:left center;animation:xpFlowProgress 5.4s cubic-bezier(.4,0,.2,1) infinite}@keyframes xpFlowProgress{0%,8%{transform:scaleX(.08)}82%,100%{transform:scaleX(1)}}
.xp-flow-board-steps{position:relative;min-width:0;display:grid;gap:10px}.xp-flow-board-steps article{min-width:0;min-height:82px;padding:14px 15px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:13px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.055);animation:xpFlowCard 5.4s ease-in-out infinite}.xp-flow-board-steps article:nth-child(2){animation-delay:-4.05s}.xp-flow-board-steps article:nth-child(3){animation-delay:-2.7s}.xp-flow-board-steps article:nth-child(4){animation-delay:-1.35s}@keyframes xpFlowCard{0%,18%,100%{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.055);transform:translateX(0)}25%,42%{border-color:rgba(201,247,58,.48);background:rgba(201,247,58,.09);transform:translateX(5px)}}
.xp-flow-board-steps article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f3f1ea;color:#11120f;font:760 10px/1 var(--font-geist-mono,monospace)}.xp-flow-board-steps strong,.xp-flow-board-steps small{display:block}.xp-flow-board-steps strong{font-size:14px}.xp-flow-board-steps small{margin-top:5px;color:rgba(255,255,255,.48);font-size:10px}.xp-flow-board-steps article>i{color:var(--xp-acid);font-style:normal;font-size:9px}
.xp-flow-board-status{position:relative;margin-top:18px;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.56);font-size:10px}.xp-flow-board-status span{width:8px;height:8px;border-radius:50%;background:var(--xp-acid);box-shadow:0 0 0 0 rgba(201,247,58,.35);animation:xpStatusPulse 2s ease-out infinite}@keyframes xpStatusPulse{70%{box-shadow:0 0 0 10px transparent}}

/* Dieselbe zuverlässige Stapelbewegung auf Startseite und Ablauf. */
.page-ablauf main{overflow:visible!important}
.page-ablauf .xp-stack-card{transform:scale(var(--stack-scale,1));transform-origin:center top;filter:brightness(var(--stack-dim,1));will-change:transform,filter;transition:none}
.page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){transition:none}
.stack-ready .page-index .xp-journey article,.stack-ready .page-ablauf .xp-stack-card{transition:transform .14s linear,filter .14s linear}
.page-ablauf .xp-stack-card:nth-child(1){z-index:1}.page-ablauf .xp-stack-card:nth-child(2){z-index:2}.page-ablauf .xp-stack-card:nth-child(3){z-index:3}.page-ablauf .xp-stack-card:nth-child(4){z-index:4}

@media(max-width:760px){
  .xp-hosting-preview{min-height:190px;padding:16px}.xp-hosting-metrics>div{padding:9px}.xp-hosting-metrics strong{font-size:13px}
  .page-ablauf .xp-flow-hero-grid{min-width:0;grid-template-columns:minmax(0,1fr)!important}.page-ablauf .xp-flow-hero-grid>*{min-width:0}.page-ablauf .xp-display{font-size:clamp(42px,12vw,52px)}
  .xp-flow-board{min-height:520px;padding:18px;border-radius:24px}.xp-flow-board-top i{display:none}.xp-flow-board-steps article{grid-template-columns:34px minmax(0,1fr);padding-inline:12px;gap:10px}.xp-flow-board-steps article>i{display:none}
  .page-ablauf .xp-stack-card{transform:none;filter:none;transition:none}
}
@media(prefers-reduced-motion:reduce){.xp-hosting-chart i,.xp-flow-progress span,.xp-flow-board-steps article,.xp-flow-board-status span{animation:none!important}}

/* =====================================================================
   September refinement: orbit, phone hero and clean stacking
   ===================================================================== */

/* Leistungen: five linked disciplines orbit clockwise around one system. */
.xp-service-map{--orbit-radius:clamp(165px,17vw,225px);overflow:hidden;isolation:isolate}
.xp-service-orbit{position:absolute;inset:0;z-index:2;animation:xpServiceOrbit 30s linear infinite}
.xp-service-map .xp-service-orbit a{position:absolute;left:50%;top:50%;right:auto;bottom:auto;width:0;height:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff;backdrop-filter:none;transform:translate(-50%,-50%) rotate(var(--orbit-angle)) translateX(var(--orbit-radius));transition:none}
.xp-service-map .xp-service-orbit a::before{display:none}
.xp-service-orbit a>span{position:absolute;left:0;top:0;min-height:48px;padding:0 18px;display:flex;align-items:center;gap:10px;white-space:nowrap;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(26,27,24,.78);color:#fff;font-size:13px;font-weight:740;box-shadow:0 15px 35px rgba(0,0,0,.19);backdrop-filter:blur(12px);transform:translate(-50%,-50%) rotate(calc(-1 * var(--orbit-angle)));animation:xpServiceCounterOrbit 30s linear infinite;transition:background .25s,color .25s,box-shadow .25s}
.xp-service-orbit a>span::before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:var(--xp-acid);box-shadow:0 0 0 5px rgba(201,247,58,.08)}
.xp-service-orbit a:hover>span,.xp-service-orbit a:focus-visible>span{background:var(--xp-acid);color:var(--xp-ink);box-shadow:0 18px 44px rgba(201,247,58,.23)}
.xp-service-map:hover .xp-service-orbit,.xp-service-map:hover .xp-service-orbit a>span,.xp-service-map:focus-within .xp-service-orbit,.xp-service-map:focus-within .xp-service-orbit a>span{animation-play-state:paused}
.xp-map-center{inset:auto;left:50%;top:50%;z-index:3;width:184px;height:184px;padding:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:radial-gradient(circle at 42% 32%,#30342b,#11120f 68%);color:#fff;box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 0 72px rgba(255,255,255,.025),0 30px 80px rgba(0,0,0,.42);transform:translate(-50%,-50%);text-align:center}
.xp-map-center b{width:42px;height:42px;display:grid;place-items:center;margin-bottom:4px;border-radius:50%;background:var(--xp-acid);color:var(--xp-ink);font-size:22px;font-weight:900}.xp-map-center strong{font-size:17px;line-height:1.05}.xp-map-center small{color:var(--xp-acid);font:720 9px/1 var(--font-geist-mono,monospace);letter-spacing:.14em;text-transform:uppercase}
@keyframes xpServiceOrbit{to{transform:rotate(360deg)}}
@keyframes xpServiceCounterOrbit{to{rotate:-360deg}}

/* Ablauf: the highlighted promise is now a visible continuation link. */
.xp-flow-heading-link{max-width:760px;margin-top:8px;display:flex;align-items:flex-end;gap:20px;color:#5660c5;font-size:clamp(56px,6.3vw,94px);font-weight:740;letter-spacing:-.07em;line-height:.88;transition:color .25s ease}
.xp-flow-heading-link>strong{min-width:0;font:inherit;letter-spacing:inherit;line-height:inherit}
.xp-flow-heading-link>span{width:52px;height:52px;display:grid;place-items:center;flex:none;margin-bottom:8px;border-radius:50%;background:var(--xp-ink);color:var(--xp-acid);font-size:23px;letter-spacing:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .25s,color .25s}
.xp-flow-heading-link:hover{color:#424bb2}.xp-flow-heading-link:hover>span{background:var(--xp-acid);color:var(--xp-ink);transform:translateY(8px)}

/* Ablauf: a true smartphone silhouette instead of a narrow remote. */
.page-ablauf .xp-flow-hero-grid{grid-template-columns:minmax(0,1.34fr) minmax(350px,.66fr);gap:clamp(54px,7vw,110px)}
.page-ablauf .xp-flow-board{justify-self:center;width:min(100%,390px);min-height:690px;padding:57px 22px 26px;border:8px solid #0a0b09;border-radius:52px;background:linear-gradient(155deg,#1b2013,#11120f 34%,#171815);box-shadow:0 44px 95px rgba(16,17,14,.28),inset 0 0 0 1px rgba(255,255,255,.08)}
.page-ablauf .xp-flow-board::before{width:300px;height:300px;right:-120px;top:-130px;background:radial-gradient(circle,rgba(201,247,58,.22),transparent 68%)}
.page-ablauf .xp-flow-board::after{content:'';position:absolute;z-index:4;left:50%;top:10px;width:112px;height:28px;border-radius:999px;background:#050605;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);transform:translateX(-50%)}
.page-ablauf .xp-flow-board-top{padding-bottom:18px}.page-ablauf .xp-flow-board-steps{gap:10px}.page-ablauf .xp-flow-board-steps article{min-height:92px;padding:15px 14px;grid-template-columns:38px minmax(0,1fr) auto}.page-ablauf .xp-flow-board-steps article>span{width:38px;height:38px}.page-ablauf .xp-flow-board-status{margin-top:20px}

/* Homepage: keep each sticky card opaque, clipped and legible while stacking. */
.page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){min-height:560px;grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr);align-items:center;gap:clamp(42px,5vw,78px);padding:58px 64px;overflow:hidden;isolation:isolate}
.page-index .xp-journey article:nth-child(1){z-index:1}.page-index .xp-journey article:nth-child(2){z-index:2}.page-index .xp-journey article:nth-child(3){z-index:3}.page-index .xp-journey article:nth-child(4){z-index:4}
.page-index .xp-journey h3{min-width:0;max-width:690px;font-size:clamp(46px,4.7vw,74px);line-height:.92;overflow-wrap:break-word}.page-index .xp-journey p{min-width:0;align-self:center}

/* Ablauf detail stack uses the same containment, without text bleeding. */
.page-ablauf .xp-stack-card{overflow:hidden;isolation:isolate}.page-ablauf .xp-stack-copy{min-width:0}.page-ablauf .xp-stack-copy h3{max-width:100%;font-size:clamp(42px,4.4vw,68px);overflow-wrap:break-word}.page-ablauf .xp-stack-visual{min-width:0}

@media(max-width:1040px) and (min-width:761px){
  .page-ablauf .xp-flow-hero-grid{grid-template-columns:minmax(0,1fr) 350px;gap:44px}.xp-flow-heading-link{font-size:clamp(48px,6.7vw,72px)}
  .page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){grid-template-columns:minmax(0,1.08fr) minmax(240px,.92fr);padding:52px 46px}.page-index .xp-journey h3{font-size:clamp(44px,5.4vw,62px)}
}
@media(max-width:760px){
  .xp-service-map{--orbit-radius:145px;min-height:430px}.xp-service-orbit a>span{min-height:39px;padding:0 12px;font-size:10px}.xp-service-orbit a>span::before{width:6px;height:6px}.xp-map-center{width:130px;height:130px;padding:18px;box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 0 48px rgba(255,255,255,.025),0 22px 55px rgba(0,0,0,.4)}.xp-map-center b{width:32px;height:32px;font-size:17px}.xp-map-center strong{font-size:13px}.xp-map-center small{font-size:7px}
  .xp-flow-heading-link{margin-top:5px;gap:12px;font-size:clamp(41px,11.8vw,54px);line-height:.91}.xp-flow-heading-link>span{width:42px;height:42px;margin-bottom:3px;font-size:19px}
  .page-ablauf .xp-flow-hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:58px}.page-ablauf .xp-flow-board{width:min(100%,360px);min-height:650px;padding:51px 17px 22px;border-width:6px;border-radius:43px}.page-ablauf .xp-flow-board::after{top:8px;width:98px;height:24px}.page-ablauf .xp-flow-board-steps article{min-height:88px;padding:13px 11px;grid-template-columns:36px minmax(0,1fr)}
  .page-index .xp-journey article,.page-index .xp-journey article:nth-child(n){min-height:450px;grid-template-columns:1fr;gap:24px;padding:30px 24px;overflow:hidden}.page-index .xp-journey h3{font-size:clamp(40px,11.2vw,54px)}
}
@media(prefers-reduced-motion:reduce){.xp-service-orbit,.xp-service-orbit a>span{animation:none!important}}

/* =====================================================================
   Interaction correction: permanent orbit, solid stacks, angled ribbon
   ===================================================================== */

/* The system keeps moving even while the cursor is inside the visual. */
.xp-service-orbit,.xp-service-orbit a>span{animation-duration:22s;animation-timing-function:linear;animation-play-state:running!important}
.xp-service-map:hover .xp-service-orbit,.xp-service-map:hover .xp-service-orbit a>span,.xp-service-map:focus-within .xp-service-orbit,.xp-service-map:focus-within .xp-service-orbit a>span{animation-play-state:running!important}

/* Preserve each card's real surface on hover; only the scroll stack may scale it. */
.page-index .xp-journey article:hover{opacity:1;transform:scale(var(--stack-scale,1))!important;filter:brightness(var(--stack-dim,1));color:inherit}
.page-index .xp-journey article:nth-child(1):hover{background:#20211d;color:#fff}
.page-index .xp-journey article:nth-child(2):hover{background:var(--xp-blue);color:#fff}
.page-index .xp-journey article:nth-child(3):hover{background:#f0eee7;color:var(--xp-ink)}
.page-index .xp-journey article:nth-child(4):hover{background:var(--xp-acid);color:var(--xp-ink)}
.page-index .xp-journey article:hover p{color:inherit;opacity:.66}

/* The marquee moves inside an oversized tilted rail. The dark wrapper fills
   every exposed corner, so no white wedges appear at either viewport edge. */
.page-index .xp-ribbon-wrap{position:relative;width:100%;height:74px;margin:-10px 0 -34px;overflow-x:clip;overflow-y:visible;transform:none;background:transparent;isolation:isolate;z-index:5}
.page-index .xp-ribbon-tilt{position:absolute;left:-6%;top:auto;bottom:-4px;width:112%;height:82px;display:flex;align-items:center;overflow:hidden;border-block:1px solid var(--xp-ink);background:var(--xp-acid);transform:rotate(-1deg);transform-origin:center;z-index:2}
.page-index .xp-ribbon{min-height:82px;padding:20px 0;border:0;background:transparent}

@media(max-width:760px){
  .page-index .xp-ribbon-wrap{height:58px;margin:-8px 0 -26px}
  .page-index .xp-ribbon-tilt{left:-10%;top:auto;bottom:-4px;width:120%;height:64px;transform:rotate(-1.4deg)}
  .page-index .xp-ribbon{height:68px;min-height:68px;padding:15px 0}
}

/* ================================================= Warum wir (Video) */
.xp-why{position:relative;background:var(--xp-blue);color:#fff;overflow:hidden}
.xp-why-grid{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(48px,6vw,90px);align-items:center}
.xp-why-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;color:var(--xp-acid);font:750 10px/1 var(--font-geist-mono,monospace);letter-spacing:.18em;text-transform:uppercase}
.xp-why-eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--xp-acid);box-shadow:0 0 0 5px rgba(201,247,58,.18)}
.xp-why .xp-title em{color:var(--xp-acid)}
.xp-why .xp-title .xp-why-hl{display:block;color:var(--xp-acid);font-family:inherit;font-style:normal;font-weight:inherit}
.xp-why .xp-lead{margin-top:24px;color:rgba(255,255,255,.66)}
.xp-why-points{list-style:none;margin:32px 0 36px;padding:0;display:grid;gap:15px}
.xp-why-points li{position:relative;padding-left:34px;color:rgba(255,255,255,.82);font-size:clamp(15px,1.15vw,17px);line-height:1.5}
.xp-why-points li::before{content:'';position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;background:var(--xp-acid)}
.xp-why-points li::after{content:'';position:absolute;left:0;top:1px;width:21px;height:21px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2310110e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/13px no-repeat}
.xp-why-video{margin:0;display:grid;gap:16px}
.xp-why-screen{position:relative;border-radius:22px;overflow:hidden;background:#f4f1e9;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 90px rgba(0,0,0,.45),0 0 0 1px rgba(201,247,58,.05);transform:translateZ(0)}
.xp-why-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#e9e6dd;border-bottom:1px solid rgba(16,17,14,.08)}
.xp-why-bar i{width:10px;height:10px;border-radius:50%;background:#c8c4b8}
.xp-why-bar i:nth-child(1){background:#e6a2a2}.xp-why-bar i:nth-child(2){background:#e6d19a}.xp-why-bar i:nth-child(3){background:#a9d9a0}
.xp-why-bar span{margin-left:12px;padding:4px 12px;border-radius:999px;background:#f4f1e9;color:#6b6d64;font:640 11px/1 var(--font-geist-mono,monospace);letter-spacing:.02em}
.xp-why-media{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#f4f1e9}
.xp-why-sound{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 15px 0 13px;border:1px solid rgba(16,17,14,.12);border-radius:999px;background:rgba(244,241,233,.92);backdrop-filter:blur(8px);color:#11120f;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.xp-why-sound:hover{background:var(--xp-acid);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.xp-why-sound-icon{width:16px;height:16px;background:#11120f;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 9v6h4l5 5V4L8 9H4z'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M16.5 8.5a5 5 0 010 7M19 6a8 8 0 010 12'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 9v6h4l5 5V4L8 9H4z'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M16.5 8.5a5 5 0 010 7M19 6a8 8 0 010 12'/%3E%3C/svg%3E") center/contain no-repeat}
.xp-why-sound[aria-pressed="true"] .xp-why-sound-icon{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 9v6h4l5 5V4L8 9H4z'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M17 9l5 6M22 9l-5 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 9v6h4l5 5V4L8 9H4z'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M17 9l5 6M22 9l-5 6'/%3E%3C/svg%3E") center/contain no-repeat}
.xp-why-video figcaption{color:rgba(255,255,255,.5);font-size:13px;letter-spacing:.01em}
@media (max-width:860px){
  .xp-why-grid{grid-template-columns:1fr;gap:40px}
  .xp-why-video{order:-1}
}

/* ======================================= Vorher/Nachher Case (Videos) */
.xp-ba{background:#f7f5ef}
.xp-ba-head{max-width:760px;margin-inline:auto;text-align:center}
.xp-ba-head .xp-lead{margin:22px auto 0}
.xp-ba-stage{margin:60px auto 0;max-width:1140px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);align-items:start}
.xp-ba-item{margin:0;display:flex;flex-direction:column;align-items:center}
.xp-ba-tag{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;font:750 11px/1 var(--font-geist-mono,monospace);letter-spacing:.24em;text-transform:uppercase;color:#8b8d84}
.xp-ba-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:#c4c4bb}
.xp-ba-tag.is-acid{color:var(--xp-ink)}
.xp-ba-tag.is-acid::before{background:var(--xp-acid);box-shadow:0 0 0 4px rgba(201,247,58,.2)}
.xp-ba-stage .xp-macbook{width:100%;max-width:none;margin:0;padding-bottom:28px;filter:drop-shadow(0 20px 30px rgba(16,17,14,.14))}
.xp-ba-screen{position:relative;aspect-ratio:1896/940;border-radius:8px;overflow:hidden;background:#0a0a0a}
.xp-ba-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.xp-ba-review{display:flex;align-items:center;gap:16px;width:max-content;max-width:100%;margin:56px auto 0;padding:15px 22px;border:1px solid rgba(16,17,14,.12);border-radius:16px;background:#fff;box-shadow:0 16px 34px rgba(16,17,14,.08)}
.xp-review-g{flex:none;display:grid;place-items:center}
.xp-review-body{padding-left:14px}
.xp-review-stars{color:#f5b400;font-size:17px;letter-spacing:2px;line-height:1}
.xp-review-line{margin-top:6px;font-size:13px;color:#5f5c53;letter-spacing:.01em}
.xp-review-line strong{color:var(--xp-ink);font-weight:800}
@media (max-width:820px){
  .xp-ba-stage{grid-template-columns:1fr;gap:40px;max-width:540px}
  .xp-ba-review{gap:13px;padding:13px 18px}
}

/* ---- Vorher/Nachher: Eyebrow, Statistik-Leiste, Pfeil-Animation ---- */
.xp-ba-eyebrow{display:block;margin-bottom:20px;color:#8b8d84;font:750 11px/1 var(--font-geist-mono,monospace);letter-spacing:.28em;text-transform:uppercase}
.xp-ba-stats{display:grid;grid-template-columns:repeat(3,auto);gap:0;width:max-content;max-width:100%;margin:52px auto 0;padding:20px 8px;border:1px solid rgba(16,17,14,.1);border-radius:22px;background:#fff;box-shadow:0 18px 40px rgba(16,17,14,.08)}
.xp-stat{display:flex;align-items:center;gap:15px;padding:6px 30px}
.xp-stat+.xp-stat{border-left:1px solid rgba(16,17,14,.09)}
.xp-stat-ico{flex:none;width:38px;height:38px;color:#c2a24e}
.xp-stat-ico svg{width:100%;height:100%;display:block}
.xp-stat-body b{display:block;font-size:25px;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--xp-ink)}
.xp-stat-body span{display:block;margin-top:2px;font-size:14.5px;font-weight:640;color:#2c2d28}
.xp-stat-body small{display:block;margin-top:4px;font-size:11.5px;color:#8f9188;letter-spacing:.005em}
.xp-trend-line{stroke-dasharray:26;stroke-dashoffset:0;transform-box:fill-box;transform-origin:center;animation:xpTrend 2.4s ease-in-out infinite}
@keyframes xpTrend{0%{stroke-dashoffset:26;opacity:0}16%{opacity:1}52%{stroke-dashoffset:0;opacity:1}84%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@media (prefers-reduced-motion: reduce){.xp-trend-line{animation:none;stroke-dashoffset:0;opacity:1}}
@media (max-width:820px){
  .xp-ba-stats{grid-template-columns:1fr;width:100%;max-width:420px;padding:8px 6px}
  .xp-stat{padding:16px 22px}
  .xp-stat+.xp-stat{border-left:0;border-top:1px solid rgba(16,17,14,.09)}
}

/* =====================================================================
   V14 refinement: section order, restrained video stage and responsive flow
   ===================================================================== */

/* The violet remains a brand accent, while the section itself gets a calmer,
   premium dark surface between the service story and the customer proof. */
.page-index .xp-why{
  isolation:isolate;
  border-block:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 84% 18%,rgba(105,110,231,.42),transparent 34%),
    radial-gradient(circle at 4% 100%,rgba(201,247,58,.08),transparent 28%),
    linear-gradient(118deg,#10110e 0%,#151712 51%,#20233b 100%);
}
.page-index .xp-why::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(90deg,transparent,black 32%,black 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 32%,black 88%,transparent);
}
.page-index .xp-why-grid{min-height:620px}
.page-index .xp-why-copy{max-width:590px}
.page-index .xp-why .xp-title{color:#f7f5ef}
.page-index .xp-why .xp-lead{max-width:540px;color:rgba(247,245,239,.68)}
.page-index .xp-why-video{position:relative}
.page-index .xp-why-video::before{
  content:'';
  position:absolute;
  inset:8% -2% -7% 9%;
  z-index:-1;
  border:1px solid rgba(201,247,58,.24);
  border-radius:30px;
  transform:rotate(-1.6deg);
}
.page-index .xp-why-screen{
  border-color:rgba(255,255,255,.2);
  box-shadow:0 42px 100px rgba(0,0,0,.52),0 0 70px rgba(105,110,231,.14);
  transform:rotate(.8deg);
}

/* Keep every desktop orbit label inside the circular visual throughout the
   rotation. The longest label now has enough room at both horizontal edges. */
@media(min-width:1041px){
  .page-leistungen .xp-service-map{--orbit-radius:clamp(150px,13vw,182px)}
}
@media(min-width:1041px) and (max-width:1180px){
  .page-leistungen .xp-services-hero-grid{grid-template-columns:1fr}
  .page-leistungen .xp-service-map{width:min(620px,100%);margin-inline:auto}
}
@media(min-width:761px) and (max-width:1040px){
  .page-leistungen .xp-service-map{--orbit-radius:clamp(170px,24vw,205px)}
}

@media(max-width:860px){
  .page-index .xp-why-grid{min-height:0}
  .page-index .xp-why-video{order:initial}
  .page-index .xp-why-video::before{inset:7% 1% -5% 7%}
  .page-index .xp-why-screen{transform:none}
}

@media(max-width:760px){
  /* The portrait is once again part of the hero composition, not a detached
     small image below the copy. */
  .page-index .xp-home-hero{
    min-height:900px;
    padding:102px 0 38px;
    background-image:
      linear-gradient(90deg,rgba(244,241,233,.98) 0%,rgba(244,241,233,.90) 36%,rgba(244,241,233,.66) 58%,rgba(244,241,233,.25) 80%,rgba(244,241,233,.06) 100%),
      linear-gradient(180deg,rgba(244,241,233,.62) 0%,rgba(244,241,233,.18) 54%,rgba(244,241,233,.02) 82%),
      url('img/webgwerb-studio-portrait.png');
    background-size:100% 100%,100% 100%,auto 88%;
    background-position:center,center,75% bottom;
    background-repeat:no-repeat;
  }
  .page-index .xp-home-hero::before{background:linear-gradient(180deg,transparent 68%,rgba(16,17,14,.18))}
  .page-index .xp-hero-grid{min-height:760px;display:flex;align-items:flex-start}
  .page-index .xp-home-hero .xp-hero-copy{max-width:370px;padding-top:12px}
  .page-index .xp-home-hero .xp-display{font-size:clamp(42px,12.2vw,54px);text-wrap:balance}
  .page-index .xp-home-hero .xp-lead{max-width:345px;text-shadow:0 1px 18px rgba(244,241,233,.75)}
  .page-index .xp-home-hero .xp-actions{align-items:flex-start;gap:15px;flex-direction:column}
  .page-index .xp-home-hero .xp-button{max-width:100%}
  .page-index .xp-home-hero .xp-hero-meta{max-width:345px}

  /* Mobile service rhythm: visual first, then its explanation and CTA. */
  .page-leistungen .xp-offer .xp-offer-visual,
  .page-leistungen .xp-offer:nth-child(even) .xp-offer-visual{order:-1}
  .page-leistungen .xp-offer-copy{order:0}
  .page-leistungen .xp-offer-image{min-height:0;aspect-ratio:3/2}
  .page-leistungen .xp-service-map{--orbit-radius:122px}
}

/* Mobile homepage hero: portrait-led like the supplied reference, with the
   founders unobstructed above and the message on a calm dark fade below. */
@media(max-width:760px){
  .page-index .xp-home-hero{
    min-height:max(900px,100svh);
    padding:clamp(350px,43svh,405px) 0 42px;
    background-color:#11120f;
    background-image:
      linear-gradient(180deg,rgba(244,241,233,.04) 0%,rgba(244,241,233,0) 29%,rgba(16,17,14,.18) 40%,rgba(16,17,14,.9) 55%,#11120f 72%,#11120f 100%),
      url('img/webgwerb-studio-portrait.png');
    background-size:100% 100%,auto 52%;
    background-position:center top,right top;
    background-repeat:no-repeat;
  }
  .page-index .xp-home-hero::before{background:none}
  .page-index .xp-hero-grid{min-height:0;display:block}
  .page-index .xp-home-hero .xp-hero-copy{position:relative;z-index:2;width:100%;max-width:370px;padding-top:0;color:#fff}
  .page-index .xp-home-hero .xp-display{max-width:360px;color:#f7f5ef;font-size:clamp(40px,11.7vw,50px);line-height:.91;text-wrap:balance;text-shadow:0 3px 24px rgba(0,0,0,.28)}
  .page-index .xp-home-hero .xp-display span{color:#9da2ff}
  .page-index .xp-home-hero .xp-lead{max-width:350px;margin-top:24px;color:rgba(255,255,255,.74);font-size:16px;line-height:1.52;text-shadow:none}
  .page-index .xp-home-hero .xp-actions{margin-top:28px;align-items:flex-start;gap:17px;flex-direction:column}
  .page-index .xp-home-hero .xp-button-dark{background:var(--xp-acid);color:var(--xp-ink);box-shadow:0 15px 38px rgba(201,247,58,.14)}
  .page-index .xp-home-hero .xp-link{color:#fff;border-color:rgba(255,255,255,.72)}
}

/* =====================================================================
   V16 – Mobile-Feinschliff
   ===================================================================== */
@media(max-width:760px){
  /* Hero: beide Gründer vollständig im Bild, weicher Übergang ins Dunkle. */
  .page-index .xp-home-hero{
    min-height:0;
    padding:86vw 0 44px;
    background-color:#11120f;
    background-image:url('img/webgwerb-studio-portrait-mobile.jpg');
    background-size:100% auto;
    background-position:center top;
    background-repeat:no-repeat;
  }
  .page-index .xp-home-hero::before{
    content:'';
    position:absolute;
    left:0;right:0;top:0;bottom:auto;
    height:105vw;
    background:linear-gradient(180deg,rgba(17,18,15,0) 0%,rgba(17,18,15,.05) 44%,rgba(17,18,15,.5) 68%,rgba(17,18,15,.92) 86%,#11120f 100%);
  }
  .page-index .xp-hero-grid{min-height:0;display:block}
  .page-index .xp-home-hero .xp-hero-copy{max-width:100%}
  .page-index .xp-home-hero .xp-display{max-width:100%;font-size:clamp(38px,11vw,50px)}
  .page-index .xp-home-hero .xp-lead{max-width:100%;margin-top:20px}
  .page-index .xp-home-hero .xp-actions{margin-top:26px}

  /* Das Band schliesst bündig an den dunklen Hero an – keine hellen Keile. */
  .page-index .xp-ribbon-wrap{height:56px;margin:-26px 0 -26px;background:#11120f}
  .page-index .xp-ribbon-tilt{bottom:-3px;height:62px}
  .page-index .xp-ribbon{height:62px;min-height:62px;padding:14px 0}

  /* Ruhigerer Abstands-Rhythmus zwischen den Abschnitten. */
  .xp-section{padding-top:66px;padding-bottom:66px}
  .page-index .xp-story{padding-top:76px}
  .page-index .xp-process{padding:70px 0 76px}

  /* Leistungs-Explorer: Auswahl als Chip-Reihe direkt über dem Visual,
     damit die Bildänderung beim Antippen sofort sichtbar ist. */
  .xp-service-explorer{margin-top:40px;padding:22px 16px;gap:20px;grid-template-columns:minmax(0,1fr)}
  .xp-service-explorer-nav,
  .xp-service-explorer-stage,
  .xp-service-explorer-detail{min-width:0}
  .xp-service-explorer-nav>p{margin:14px 0 18px}
  .xp-service-tabs{
    display:flex;flex-direction:row;gap:8px;min-width:0;
    margin-inline:-16px;padding:2px 16px 14px;
    border-top:0;
    overflow-x:auto;scroll-snap-type:x proximity;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .xp-service-tabs::-webkit-scrollbar{display:none}
  .xp-service-tabs button,
  .xp-service-tabs button:hover{
    flex:0 0 auto;min-height:40px;padding:0 16px;
    border:1px solid rgba(16,17,14,.18);border-radius:999px;
    background:#fff;color:#11120f;font-size:12.5px;white-space:nowrap;
    scroll-snap-align:start;
  }
  .xp-service-tabs button.is-active,
  .xp-service-tabs button.is-active:hover{margin:0;padding:0 16px;border-color:#11120f;background:#11120f;color:#fff}
  .xp-service-explorer-stage{padding:12px;gap:14px;scroll-margin-top:86px}
  .xp-service-explorer-visual{aspect-ratio:1.3;padding:8px}
  .xp-service-explorer-detail{padding:6px 6px 10px}
  .xp-service-explorer-title{font-size:clamp(28px,8vw,34px)}
  .xp-service-explorer-text{margin:14px 0 18px}

  /* Vorher/Nachher: Überschrift bricht sauber, Kennzahlen zentriert. */
  .xp-ba{overflow-x:clip}
  .xp-ba-head .xp-title em{display:block}
  .xp-ba-stage{gap:32px}
  .xp-stat{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 18px;gap:12px}
  .xp-stat-body{align-items:center;text-align:center}
  .xp-ba-review{flex-direction:column;width:100%;align-items:center;justify-content:center;text-align:center;gap:10px}
  .xp-review-body{padding-left:0;text-align:center}

  /* Ablauf: die vier Zusagen als Karussell statt als langer Stapel. */
  .page-ablauf .xp-principle-cards{
    display:flex;
    gap:12px;margin-inline:-14px;padding:2px 14px 18px;
    overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .page-ablauf .xp-principle-cards::-webkit-scrollbar{display:none}
  .page-ablauf .xp-principle-cards article{
    flex:0 0 78%;min-height:0;padding:26px 22px;scroll-snap-align:center;
  }
  .page-ablauf .xp-principle-cards h3{margin-bottom:12px;font-size:24px}

  /* Der Kontakt-Button darf das offene Menü nicht überlagern. */
  .nav-open .contact-dock{display:none}
}

/* Rückmeldung des Kontaktformulars. */
.xp-form-status{margin:14px 0 0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.8)}
.xp-form-status.is-error{color:#ffb4a2}
.page-ablauf .xp-form-status,.page-preise .xp-form-status{color:rgba(16,17,14,.72)}
.page-ablauf .xp-form-status.is-error,.page-preise .xp-form-status.is-error{color:#a4341c}

/* =====================================================================
   Entwurfs-Galerie – drei echte Arbeiten im versetzten Editorial-Raster
   ===================================================================== */
.page-index .xp-work-showcase{
  padding:clamp(96px,10vw,158px) 0 clamp(118px,12vw,190px);
  scroll-margin-top:86px;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 4%,rgba(105,110,231,.09),transparent 28%),
    #f7f5ef;
}
.page-index .xp-work-showcase .xp-shell{width:min(1480px,calc(100% - 48px))}
.page-index .xp-work-showcase .xp-ba-head{max-width:920px;margin:0;text-align:left}
.page-index .xp-work-showcase .xp-ba-head .xp-title{font-size:clamp(52px,6.5vw,102px)}
.page-index .xp-work-showcase .xp-ba-head .xp-title em{display:inline;color:var(--xp-blue)}
.page-index .xp-work-showcase .xp-ba-head .xp-lead{max-width:660px;margin:26px 0 0}
.page-index .xp-work-showcase .xp-ba-stage{
  max-width:none;
  margin:clamp(62px,7vw,104px) 0 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,2.8vw,48px);
  align-items:start;
}
.page-index .xp-work-showcase .xp-ba-item{min-width:0;align-items:stretch}
.page-index .xp-work-showcase .xp-ba-item:nth-child(2){margin-top:clamp(74px,7vw,112px)}
.page-index .xp-work-showcase .xp-ba-item:nth-child(3){margin-top:clamp(148px,14vw,224px)}
.xp-work-frame{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(16,17,14,.14);
  border-radius:10px;
  background:#111;
  box-shadow:0 26px 60px rgba(16,17,14,.15);
  transform:translateZ(0);
}
.xp-work-frame::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.xp-work-frame .xp-ba-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.xp-ba-item:hover .xp-work-frame .xp-ba-video{transform:scale(1.018)}
.xp-work-caption{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid rgba(16,17,14,.16);
}
.xp-work-caption>span{
  padding-top:5px;
  color:var(--xp-blue);
  font:760 12px/1 var(--font-geist-mono,monospace);
  letter-spacing:.14em;
}
.xp-work-caption h3{margin:0;font-size:clamp(22px,2vw,31px);letter-spacing:-.045em;line-height:1.05}
.xp-work-caption p{margin:10px 0 0;color:#656861;font:720 11px/1.25 var(--font-geist-mono,monospace);letter-spacing:.14em;text-transform:uppercase}

@media(max-width:980px){
  .page-index .xp-work-showcase .xp-ba-stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .page-index .xp-work-showcase .xp-ba-item:nth-child(2){margin-top:74px}
  .page-index .xp-work-showcase .xp-ba-item:nth-child(3){margin-top:0}
}
@media(max-width:640px){
  .page-index .xp-work-showcase{padding:74px 0 88px}
  .page-index .xp-work-showcase .xp-shell{width:calc(100% - 28px)}
  .page-index .xp-work-showcase .xp-ba-head .xp-title{font-size:clamp(43px,12vw,58px)}
  .page-index .xp-work-showcase .xp-ba-head .xp-title em{display:block}
  .page-index .xp-work-showcase .xp-ba-head .xp-lead{margin-top:20px}
  .page-index .xp-work-showcase .xp-ba-stage{
    display:flex;
    gap:16px;
    margin:48px -14px 0;
    padding:0 14px 24px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .page-index .xp-work-showcase .xp-ba-stage::-webkit-scrollbar{display:none}
  .page-index .xp-work-showcase .xp-ba-item,
  .page-index .xp-work-showcase .xp-ba-item:nth-child(n){
    flex:0 0 84vw;
    margin-top:0;
    scroll-snap-align:center;
  }
  .xp-work-frame{border-radius:8px;box-shadow:0 20px 42px rgba(16,17,14,.14)}
  .xp-work-caption{grid-template-columns:34px minmax(0,1fr);margin-top:17px;padding-top:17px}
  .xp-work-caption h3{font-size:24px}
  .xp-work-caption p{font-size:10px;letter-spacing:.1em}
}

@media(prefers-reduced-motion:reduce){.xp-work-frame .xp-ba-video{transition:none}}
