/*
Theme Name: PANART Divi Child
Theme URI: https://panart.ee
Description: Divi child theme for panart.ee – PANART Marketing OÜ.
Author: PANART Marketing OÜ
Template: Divi
Version: 0.8.0
Text Domain: pa-divi-child
*/

/* ---------------------------------------------------------------------------
 * Design tokens
 * ------------------------------------------------------------------------ */
:root{
	--pa-blue:#0000F0;
	--pa-blue-dark:#0000B4;
	--pa-blue-soft:rgba(0,0,240,.07);
	--pa-yellow:#F5DA23;
	--pa-ink:#0A0B1E;
	--pa-ink-soft:#3C3E58;
	--pa-muted:#6B6E8A;
	--pa-bg:#ffffff;
	--pa-bg-alt:#F5F6FB;
	--pa-line:#E4E6F0;
	--pa-radius:18px;
	--pa-maxw:1140px;
	--pa-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--pa-shadow:0 10px 30px rgba(10,11,30,.08);
	--pa-shadow-lg:0 24px 60px rgba(10,11,30,.16);
}

/* ---------------------------------------------------------------------------
 * Base
 * ------------------------------------------------------------------------ */
html{ scroll-behavior:smooth; }
body{ font-family:var(--pa-font); color:var(--pa-ink); }
h1,h2,h3,h4{ font-family:var(--pa-font); color:var(--pa-ink); font-weight:800; line-height:1.12; }
::selection{ background:var(--pa-yellow); color:var(--pa-ink); }

.et_pb_section{ padding:96px 0; background:var(--pa-bg); }
.et_pb_section .et_pb_row{ width:92%; max-width:var(--pa-maxw); }

/* Neutralize Divi module spacing inside our sections and make our HTML
 * behave like plain markup. */
.et_pb_section[class*="pa-"]{ padding:100px 0; position:relative; overflow:hidden; box-sizing:border-box; }
.et_pb_section[class*="pa-"] > .et_pb_row,
.et_pb_section[class*="pa-"] .et_pb_row{ width:92%; max-width:var(--pa-maxw); margin:0 auto; padding:0; position:relative; z-index:1; }
.et_pb_section[class*="pa-"] .et_pb_column{ width:100%; margin:0; padding:0; float:none; }
.et_pb_section[class*="pa-"] .et_pb_text,
.et_pb_section[class*="pa-"] .et_pb_text_inner{ width:100%; max-width:100%; color:inherit; line-height:1.65; }
.et_pb_section[class*="pa-"] .et_pb_text ul,
.et_pb_section[class*="pa-"] .et_pb_text ol{ list-style:none; margin:0; padding:0; }
.et_pb_section[class*="pa-"] .et_pb_text li{ margin:0; }
.et_pb_section[class*="pa-"] p{ margin:0 0 1em; }
.et_pb_section[class*="pa-"] p:last-child{ margin-bottom:0; }
.et_pb_section[class*="pa-"] h1,
.et_pb_section[class*="pa-"] h2,
.et_pb_section[class*="pa-"] h3{ padding:0; }
.et_pb_section[class*="pa-"] a{ text-decoration:none; }
.et_pb_section[class*="pa-"] *{ max-width:100%; box-sizing:border-box; }

.et_pb_section[class*="pa-"] h2{ font-size:42px; margin:0 0 16px; letter-spacing:-.025em; }
.et_pb_section[class*="pa-"] h3{ font-size:20px; margin:0 0 10px; font-weight:700; }

/* Shared bits */
.pa-eyebrow{ display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pa-blue); margin:0 0 14px; }
.pa-eyebrow::before{ content:''; display:inline-block; width:34px; height:3px; border-radius:2px; background:var(--pa-yellow); }
.pa-sub{ font-size:18px; color:var(--pa-ink-soft); max-width:720px; margin:0 0 8px; }
.pa-center{ text-align:center; margin-top:36px; }
.pa-note{ margin-top:30px; font-size:14px; color:var(--pa-muted); }

.pa-btn{ display:inline-block; padding:16px 32px; border-radius:999px; font-weight:700; font-size:16px; line-height:1.2; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease; }
.pa-btn--primary{ background:var(--pa-blue); color:#fff!important; box-shadow:0 10px 26px rgba(0,0,240,.30); }
.pa-btn--primary:hover{ background:var(--pa-blue-dark); transform:translateY(-2px); box-shadow:0 16px 36px rgba(0,0,240,.40); }
.pa-btn--ghost{ background:transparent; color:var(--pa-ink)!important; border:2px solid var(--pa-line); }
.pa-btn--ghost:hover{ border-color:var(--pa-blue); color:var(--pa-blue)!important; transform:translateY(-2px); }
.pa-btn--sm{ padding:11px 22px; font-size:14.5px; }

/* Reveal-on-scroll (pa.js adds .is-visible; without JS everything stays visible) */
@media (prefers-reduced-motion:no-preference){
	.pa-js .pa-reveal{ opacity:0; transform:translateY(26px); transition:opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1); }
	.pa-js .pa-reveal.is-visible{ opacity:1; transform:none; }
	.pa-js .pa-reveal.is-visible .pa-card{ animation:pa-rise .7s cubic-bezier(.22,.61,.36,1) backwards; }
	.pa-js .pa-reveal.is-visible .pa-card:nth-child(2){ animation-delay:.08s; }
	.pa-js .pa-reveal.is-visible .pa-card:nth-child(3){ animation-delay:.16s; }
	.pa-js .pa-reveal.is-visible .pa-card:nth-child(4){ animation-delay:.24s; }
}
@keyframes pa-rise{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }

/* ---------------------------------------------------------------------------
 * Hero (dark)
 * ------------------------------------------------------------------------ */
.et_pb_section.pa-hero{
	background:
		radial-gradient(1000px 520px at 88% -12%, rgba(0,0,240,.65), transparent 62%),
		radial-gradient(700px 420px at -12% 112%, rgba(0,0,240,.40), transparent 55%),
		linear-gradient(160deg, #06071A 0%, #0A0B1E 55%, #101244 100%);
	padding:160px 0 140px;
}
/* Dot grid overlay */
.et_pb_section.pa-hero::after{
	content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
	background-image:radial-gradient(rgba(255,255,255,.13) 1px, transparent 1.4px);
	background-size:26px 26px;
	-webkit-mask-image:linear-gradient(115deg, transparent 38%, #000 78%);
	mask-image:linear-gradient(115deg, transparent 38%, #000 78%);
}
.pa-hero-inner{ max-width:820px; position:relative; z-index:2; }
.pa-pill{ display:inline-flex; align-items:center; gap:8px; padding:8px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#DFE1F5; font-size:14px; font-weight:600; letter-spacing:.04em; margin-bottom:28px; }
.pa-pill::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--pa-yellow); box-shadow:0 0 12px var(--pa-yellow); }
.pa-hero-headline{ font-size:64px; font-weight:800; letter-spacing:-.03em; color:#fff; margin:0 0 24px; }
.et_pb_section.pa-hero .pa-hero-headline{ color:#fff; }
/* Yellow marker on the highlighted words */
.pa-mark{ font-style:normal; position:relative; white-space:nowrap; color:#fff; }
.pa-mark::after{ content:''; position:absolute; left:-2%; right:-2%; bottom:.06em; height:.32em; background:var(--pa-yellow); opacity:.9; z-index:-1; transform:skewX(-8deg); border-radius:3px; }
.pa-hero-text{ font-size:20px; line-height:1.7; color:#C7C9E2; max-width:660px; }
.pa-swiss{ display:flex; align-items:center; gap:12px; margin-top:26px!important; padding:14px 18px; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:#EDEEFA; font-size:15.5px; font-weight:600; max-width:640px; }
/* Swiss flag: strictly square, no rounding. */
.pa-flag{ width:26px; height:26px; flex-shrink:0; border-radius:0; box-shadow:0 4px 12px rgba(0,0,0,.35); }
.pa-hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.et_pb_section.pa-hero .pa-btn--primary{ background:var(--pa-yellow); color:var(--pa-ink)!important; box-shadow:0 12px 30px rgba(245,218,35,.35); }
.et_pb_section.pa-hero .pa-btn--primary:hover{ background:#FFE94A; box-shadow:0 16px 40px rgba(245,218,35,.45); }
.et_pb_section.pa-hero .pa-btn--ghost{ color:#fff!important; border-color:rgba(255,255,255,.35); }
.et_pb_section.pa-hero .pa-btn--ghost:hover{ border-color:var(--pa-yellow); color:var(--pa-yellow)!important; }
.pa-topics{ display:flex; flex-wrap:wrap; gap:10px; margin-top:44px!important; }
.pa-topics li{ padding:8px 18px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); color:#C7C9E2; font-size:14px; font-weight:600; transition:border-color .2s ease,color .2s ease; }
.pa-topics li:hover{ border-color:var(--pa-yellow); color:#fff; }

/* Decorative hexagons (logo echo) */
.pa-hero-visual{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.pa-hex{ position:absolute; display:block; clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); animation:pa-float 10s ease-in-out infinite; }
.pa-hex--1{ width:380px; height:420px; right:5%; top:8%; background:linear-gradient(160deg, rgba(0,0,240,.75), rgba(0,0,240,.08)); opacity:.55; }
.pa-hex--2{ width:190px; height:210px; right:23%; bottom:6%; background:linear-gradient(160deg, rgba(0,0,240,.5), rgba(0,0,240,.06)); animation-delay:-3s; opacity:.4; }
.pa-hex--3{ width:100px; height:112px; right:1%; bottom:30%; background:linear-gradient(160deg, rgba(245,218,35,.85), rgba(245,218,35,.15)); animation-delay:-6s; opacity:.55; }
.pa-hex--4{ width:56px; height:62px; right:36%; top:16%; background:linear-gradient(160deg, rgba(245,218,35,.6), rgba(245,218,35,.08)); animation-delay:-1.5s; opacity:.4; }
/* Outlined hexagon: a hex-clipped element whose inner area is masked out,
 * leaving only a 2px rim visible. */
.pa-hex--5{ width:260px; height:290px; right:14%; top:26%; background:rgba(255,255,255,.16); animation-delay:-4.5s; opacity:.9;
	-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; padding:2px; }
@keyframes pa-float{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-20px) rotate(2deg); } }
@media (prefers-reduced-motion:reduce){ .pa-hex{ animation:none; } }

/* ---------------------------------------------------------------------------
 * Feature grid (services) – numbered cards
 * ------------------------------------------------------------------------ */
.et_pb_section.pa-features{ background:var(--pa-bg-alt); }
.et_pb_section.pa-features::before{
	content:''; position:absolute; inset:0; pointer-events:none; opacity:.6;
	background-image:radial-gradient(rgba(10,11,30,.06) 1px, transparent 1.4px);
	background-size:26px 26px;
	-webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 45%);
	mask-image:linear-gradient(to bottom, #000 0%, transparent 45%);
}
.pa-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:44px; }
.pa-card{ position:relative; background:#fff; border:1px solid var(--pa-line); border-radius:var(--pa-radius); padding:34px 26px 30px; box-shadow:var(--pa-shadow); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; overflow:hidden; }
.pa-card::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--pa-blue), var(--pa-yellow)); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.pa-card:hover{ transform:translateY(-6px); border-color:rgba(0,0,240,.25); box-shadow:var(--pa-shadow-lg); }
.pa-card:hover::before{ transform:scaleX(1); }
.pa-card-no{ position:absolute; top:18px; right:20px; font-size:44px; font-weight:800; letter-spacing:-.04em; color:var(--pa-ink); opacity:.06; line-height:1; }
.pa-card p{ color:var(--pa-ink-soft); font-size:15.5px; }
.pa-ic{ width:40px; height:40px; color:var(--pa-blue); margin-bottom:18px; background:var(--pa-blue-soft); border-radius:12px; padding:8px; }

/* ---------------------------------------------------------------------------
 * Swiss callout
 * ------------------------------------------------------------------------ */
.et_pb_section.pa-calloutsec{ padding:0 0 100px; background:var(--pa-bg-alt); }
.pa-callout{ display:flex; gap:26px; align-items:flex-start; background:var(--pa-ink); border-radius:var(--pa-radius); padding:42px 46px; box-shadow:var(--pa-shadow-lg); position:relative; overflow:hidden; }
.pa-callout::after{ content:''; position:absolute; right:-40px; top:-40px; width:220px; height:245px; clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); background:linear-gradient(160deg, rgba(0,0,240,.55), transparent); opacity:.8; }
.pa-callout-flag{ flex-shrink:0; position:relative; z-index:1; }
.pa-callout-flag .pa-flag{ width:52px; height:52px; border-radius:0; }
.pa-callout-body{ position:relative; z-index:1; }
.pa-callout-eyebrow{ display:block; font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pa-yellow); margin-bottom:8px; }
.pa-callout-title{ font-size:26px; font-weight:800; color:#fff; letter-spacing:-.02em; margin:0 0 10px!important; }
.pa-callout p{ color:#C7C9E2; font-size:16.5px; max-width:820px; }

/* ---------------------------------------------------------------------------
 * Projects – wide alternating rows (screenshot | copy), slide-in on scroll
 * ------------------------------------------------------------------------ */
.pa-projects{ display:flex; flex-direction:column; gap:30px; margin-top:48px; }
.pa-project{ display:grid; grid-template-columns:minmax(0,46%) minmax(0,1fr); align-items:stretch; background:#fff; border:1px solid var(--pa-line); border-radius:var(--pa-radius); box-shadow:var(--pa-shadow); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; overflow:hidden; }
.pa-project:hover{ transform:translateY(-5px); border-color:rgba(0,0,240,.30); box-shadow:var(--pa-shadow-lg); }
/* Even rows: screenshot on the right */
.pa-project:nth-child(even){ grid-template-columns:minmax(0,1fr) minmax(0,46%); }
.pa-project:nth-child(even) .pa-shot{ order:2; border-right:none; border-left:1px solid var(--pa-line); }

/* Browser-frame screenshot – decorative */
.pa-shot{ position:relative; background:#0F1130; border-right:1px solid var(--pa-line); min-height:300px; overflow:hidden; }
.pa-shot-dots{ position:absolute; top:0; left:0; right:0; height:28px; display:flex; align-items:center; gap:6px; padding:0 14px; background:rgba(10,11,30,.92); z-index:1; }
.pa-shot-dots i{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.22); }
.pa-shot-dots i:first-child{ background:rgba(255,99,99,.75); }
.pa-shot-dots i:nth-child(2){ background:rgba(245,218,35,.75); }
.pa-shot-dots i:nth-child(3){ background:rgba(84,214,123,.75); }
.pa-shot img{ display:block; width:100%; height:100%; min-height:300px; object-fit:cover; object-position:top center; padding-top:28px; background:#fff; filter:saturate(1.02); transition:transform .6s ease; }
.pa-project:hover .pa-shot img{ transform:scale(1.04); }
.pa-shot-placeholder{ display:flex; align-items:center; justify-content:center; height:100%; min-height:300px; padding-top:28px; background:
	radial-gradient(520px 260px at 70% 0%, rgba(0,0,240,.5), transparent 70%),
	linear-gradient(160deg, #0A0B1E, #101244); }
.pa-shot-hex{ width:104px; height:116px; clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); background:linear-gradient(160deg, rgba(245,218,35,.9), rgba(0,0,240,.6)); opacity:.85; animation:pa-float 8s ease-in-out infinite; }

.pa-project-body{ display:flex; flex-direction:column; justify-content:center; padding:40px 44px; }
.pa-project-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.pa-project-head h3{ margin:0; font-size:24px; letter-spacing:-.01em; }
.pa-badge{ flex-shrink:0; padding:5px 13px; border-radius:999px; background:var(--pa-yellow); color:var(--pa-ink); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.pa-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px!important; }
.pa-tags li{ padding:4px 13px; border-radius:999px; background:var(--pa-blue-soft); color:var(--pa-blue); font-size:13px; font-weight:600; }
.pa-project-desc{ color:var(--pa-ink-soft); font-size:16.5px; margin:0!important; max-width:560px; }
.pa-project-actions{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:22px; }
.pa-project-link{ display:inline-block; font-weight:700; color:var(--pa-blue)!important; font-size:15.5px; }
.pa-project-link:hover{ text-decoration:underline!important; }

/* Shopify-Apps: eigene Kategorie zwischen Kundenreferenzen (weiss) und
 * eigenem Produkt (blau) – neutral abgesetzt durch den hellen Grundton. */
.et_pb_section.pa-shopify{ background:var(--pa-bg-alt); }

/* Eigenes Produkt: dieselbe Zeilenform, aber sichtbar abgesetzt vom
 * Kundenreferenz-Block – blaue Tönung statt Weiss, blaues Badge. */
.et_pb_section.pa-own{ background:linear-gradient(180deg, rgba(0,0,240,.05), rgba(0,0,240,.02)); }
.et_pb_section.pa-own::before{
	content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
	background-image:radial-gradient(rgba(0,0,240,.10) 1px, transparent 1.4px);
	background-size:26px 26px;
	-webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 55%);
	mask-image:linear-gradient(to bottom, #000 0%, transparent 55%);
}
.pa-own .pa-project{ border-color:rgba(0,0,240,.22); }
.pa-own .pa-badge{ background:var(--pa-blue); color:#fff; }

/* ---------------------------------------------------------------------------
 * Big screenshot section (project detail pages)
 * ------------------------------------------------------------------------ */
.et_pb_section.pa-shotsec{ padding:70px 0; background:var(--pa-bg-alt); }
.et_pb_section.pa-shotsec + .et_pb_section.pa-features{ padding-top:70px; }
.pa-bigshot{ position:relative; margin:34px 0 0; border-radius:var(--pa-radius); overflow:hidden; border:1px solid var(--pa-line); box-shadow:var(--pa-shadow-lg); background:#0F1130; }
.pa-bigshot .pa-shot-dots{ height:34px; padding:0 16px; }
.pa-bigshot .pa-shot-dots i{ width:10px; height:10px; }
.pa-bigshot img{ display:block; width:100%; padding-top:34px; background:#fff; }
.pa-bigshot .pa-shot-placeholder{ min-height:380px; height:auto; padding-top:34px; }
.pa-bigshot .pa-shot-hex{ width:140px; height:156px; }
.pa-bigshot figcaption{ padding:14px 20px; font-size:14px; color:#8B8EAE; background:#0A0B1E; }

/* ---------------------------------------------------------------------------
 * Steps (how it works)
 * ------------------------------------------------------------------------ */
.pa-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; counter-reset:pa-step; }
.pa-step{ position:relative; background:#fff; border:1px solid var(--pa-line); border-radius:var(--pa-radius); padding:34px 26px 30px; box-shadow:var(--pa-shadow); }
.pa-step-no{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:var(--pa-blue); color:#fff; font-size:19px; font-weight:800; margin-bottom:16px; box-shadow:0 8px 20px rgba(0,0,240,.3); }
.pa-step p{ color:var(--pa-ink-soft); font-size:15.5px; }
.et_pb_section.pa-stepssec{ background:var(--pa-bg-alt); }

/* Scroll action: rows slide in from their screenshot side, the shot itself
 * settles from a slight zoom. */
@media (prefers-reduced-motion:no-preference){
	.pa-js .pa-reveal-item{ opacity:0; transform:translateX(-60px); transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
	.pa-js .pa-reveal-item:nth-child(even){ transform:translateX(60px); }
	.pa-js .pa-reveal-item.is-visible{ opacity:1; transform:none; }
	.pa-js .pa-reveal-item .pa-shot img,
	.pa-js .pa-reveal-item .pa-shot-placeholder{ transform:scale(1.10); transition:transform 1.1s cubic-bezier(.22,.61,.36,1); }
	.pa-js .pa-reveal-item.is-visible .pa-shot img,
	.pa-js .pa-reveal-item.is-visible .pa-shot-placeholder{ transform:scale(1); }
	.pa-js .pa-reveal-item.is-visible:hover .pa-shot img{ transform:scale(1.04); }
}

/* ---------------------------------------------------------------------------
 * Stats
 * ------------------------------------------------------------------------ */
.pa-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px; text-align:center; }
.pa-stat{ background:var(--pa-bg-alt); border-radius:var(--pa-radius); padding:32px 20px; }
.pa-stat-value{ display:block; font-size:42px; font-weight:800; color:var(--pa-blue); letter-spacing:-.02em; }
.pa-stat-label{ display:block; margin-top:6px; color:var(--pa-muted); font-size:14.5px; font-weight:600; }

/* ---------------------------------------------------------------------------
 * Prose / about
 * ------------------------------------------------------------------------ */
.et_pb_section.pa-richtext{ background:var(--pa-bg); }
.pa-prose{ max-width:780px; }
.pa-prose p{ font-size:17.5px; color:var(--pa-ink-soft); }
.pa-prose .pa-btn{ margin-top:10px; }

/* ---------------------------------------------------------------------------
 * FAQ
 * ------------------------------------------------------------------------ */
.pa-faq{ max-width:820px; margin-top:34px; }
.pa-faq-item{ border:1px solid var(--pa-line); border-radius:12px; padding:0; margin-bottom:12px; background:#fff; }
.pa-faq-item summary{ cursor:pointer; padding:18px 22px; font-weight:700; list-style:none; }
.pa-faq-item summary::-webkit-details-marker{ display:none; }
.pa-faq-item summary::after{ content:'+'; float:right; color:var(--pa-blue); font-weight:800; }
.pa-faq-item[open] summary::after{ content:'–'; }
.pa-faq-a{ padding:0 22px 18px; color:var(--pa-ink-soft); }

/* ---------------------------------------------------------------------------
 * Final band (dark)
 * ------------------------------------------------------------------------ */
.et_pb_section.pa-final{
	background:
		radial-gradient(800px 420px at 12% -20%, rgba(0,0,240,.55), transparent 60%),
		linear-gradient(160deg, #0A0B1E 0%, #101244 100%);
}
.et_pb_section.pa-final::after{
	content:''; position:absolute; inset:0; pointer-events:none; opacity:.4;
	background-image:radial-gradient(rgba(255,255,255,.12) 1px, transparent 1.4px);
	background-size:26px 26px;
	-webkit-mask-image:linear-gradient(65deg, transparent 45%, #000 85%);
	mask-image:linear-gradient(65deg, transparent 45%, #000 85%);
}
.et_pb_section.pa-final h2{ color:#fff; font-size:38px; }
.et_pb_section.pa-final .pa-eyebrow{ color:var(--pa-yellow); }
.et_pb_section.pa-final .pa-eyebrow::before{ background:var(--pa-yellow); }
.et_pb_section.pa-final p{ color:#C7C9E2; max-width:640px; font-size:17.5px; }
.et_pb_section.pa-final .pa-btn--primary{ background:var(--pa-yellow); color:var(--pa-ink)!important; box-shadow:0 12px 30px rgba(245,218,35,.35); }
.et_pb_section.pa-final .pa-btn--primary:hover{ background:#FFE94A; }
.pa-reassure{ margin-top:18px!important; font-size:14px; color:#8B8EAE!important; }

/* ---------------------------------------------------------------------------
 * Divi chrome: header, footer, back-to-top
 * ------------------------------------------------------------------------ */
/* Very top row (secondary menu with the project/legal links) in black. */
#top-header{ background:#07080F!important; }
#top-header,#top-header a,#top-header #et-secondary-nav li a,#top-header span{ color:#fff!important; opacity:1!important; font-weight:600; }
#top-header #et-secondary-nav li a:hover{ color:var(--pa-yellow)!important; background:transparent; }

/* Main bar in brand yellow – overrides Divi's default white header and its
 * foreign light-blue link colors, also in the fixed/sticky state. */
#main-header,
#main-header.et-fixed-header{ background:var(--pa-yellow)!important; box-shadow:0 2px 14px rgba(10,11,30,.12); }

/* Logo at double size (Divi default caps it at ~54% of the header height). */
#main-header #logo,
.et-fixed-header #logo{ max-height:100%!important; height:56px; width:auto; }
@media (max-width:980px){ #main-header #logo{ height:44px; } }
#top-menu li a,
.et_header_style_left #et-top-navigation nav > ul > li > a,
#main-header .et_nav_text_color_light #top-menu > li > a{ font-weight:700; color:var(--pa-ink)!important; }
#top-menu li a:hover,
#top-menu li.current-menu-item a,
#top-menu li.current_page_item a{ color:var(--pa-blue)!important; opacity:1; }
#main-header .logo_container a::after{ display:none; }
#et_mobile_nav_menu .mobile_menu_bar:before,
.mobile_menu_bar:before{ color:var(--pa-ink)!important; }
.et_mobile_menu{ border-color:var(--pa-blue); }
.et_mobile_menu li a{ color:var(--pa-ink)!important; }
#top-menu li.pa-nav-cta > a{ background:var(--pa-blue); color:#fff!important; border-radius:999px; padding:10px 20px!important; }
#top-menu li.pa-nav-cta > a:hover{ background:var(--pa-blue-dark); }

/* Sprachumschalter (DE | EN) im Hauptmenü. */
#top-menu li.pa-langswitch{ padding-right:0; }
#top-menu li.pa-langswitch > .pa-langs{ display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border:2px solid rgba(10,11,30,.22); border-radius:999px; }
#top-menu li.pa-langswitch a.pa-lang{ display:inline-block; padding:0; font-size:13.5px; font-weight:700; letter-spacing:.04em; color:var(--pa-ink)!important; opacity:.55; transition:opacity .18s ease,color .18s ease; }
#top-menu li.pa-langswitch a.pa-lang:hover{ opacity:1; color:var(--pa-blue)!important; }
#top-menu li.pa-langswitch a.pa-lang.is-active{ opacity:1; color:var(--pa-blue)!important; }
#top-menu li.pa-langswitch .pa-lang-sep{ color:rgba(10,11,30,.3); font-size:12px; }
/* Mobiles Menü: eigene Zeile, mittig. */
.et_mobile_menu li.pa-langswitch{ text-align:center; padding:12px 0; }
.et_mobile_menu li.pa-langswitch > .pa-langs{ display:inline-flex; align-items:center; gap:8px; }
.et_mobile_menu li.pa-langswitch a.pa-lang{ display:inline-block!important; padding:4px 10px!important; }

#main-footer{ background:var(--pa-ink)!important; }
#main-footer,#main-footer p,#main-footer li,#main-footer .et_pb_widget{ color:#C7C9E2!important; }
#main-footer a{ color:var(--pa-yellow)!important; }
#footer-bottom{ background:#07080F!important; padding:26px 0; }
#footer-bottom .container{ text-align:center; }
#footer-bottom #footer-info,#footer-bottom .pa-foot{ color:#8B8EAE; font-size:14px; float:none; text-align:center; width:100%; }
/* No social icons except our own LinkedIn link in the credits line. */
.et-social-icons{ display:none!important; }
.pa-foot{ display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; }
.pa-foot .pa-foot-li{ display:inline-flex; align-items:center; gap:7px; color:#C7C9E2!important; font-weight:600; transition:color .18s ease; }
.pa-foot .pa-foot-li:hover{ color:var(--pa-yellow)!important; }
.pa-foot .pa-foot-li svg{ width:16px; height:16px; display:block; }
/* Site-wide operator note under the credits line. */
#footer-bottom .pa-foot-note{ margin-top:10px; color:#6B6E8A; font-size:12.5px; line-height:1.6; max-width:820px; margin-left:auto; margin-right:auto; }

/* ---------------------------------------------------------------------------
 * Disclaimer (client-operated products)
 * ------------------------------------------------------------------------ */
.et_pb_section.pa-disclaimersec{ padding:44px 0 56px; background:var(--pa-bg); border-top:1px solid var(--pa-line); }
.pa-disclaimer{ max-width:880px; border-left:3px solid var(--pa-line); padding:4px 0 4px 20px; }
.pa-disclaimer-title{ font-weight:700; font-size:14px; letter-spacing:.04em; text-transform:uppercase; color:var(--pa-muted); margin:0 0 8px!important; }
.pa-disclaimer p{ color:var(--pa-muted); font-size:14.5px; line-height:1.7; }
#et-footer-nav{ float:none; text-align:center; margin-bottom:8px; }
#et-footer-nav .bottom-nav{ text-align:center; }

.et_pb_scroll_top.et-pb-icon{ background:var(--pa-blue); border-radius:10px 0 0 10px; }

/* Bare pages (title only, e.g. /terms and /privacy): generous spacing so the
 * page doesn't collapse onto the footer. */
.page .entry-title.main_title{ font-family:var(--pa-font); font-size:44px; font-weight:800; letter-spacing:-.025em; color:var(--pa-ink); padding:80px 0 24px; }
.page #main-content .container{ min-height:38vh; }

/* ---------------------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------------------ */
@media (max-width:1100px){
	.pa-grid{ grid-template-columns:repeat(2,1fr); }
	.pa-project-body{ padding:32px 34px; }
}
@media (max-width:980px){
	.pa-hero-headline{ font-size:46px; }
	.et_pb_section[class*="pa-"] h2{ font-size:33px; }
	.pa-hex--1{ width:250px; height:280px; opacity:.3; }
	.pa-hex--5{ opacity:.4; }
	.pa-callout{ padding:34px 30px; }
	/* Projects stack: screenshot on top, copy below */
	.pa-project,
	.pa-project:nth-child(even){ grid-template-columns:1fr; }
	.pa-project:nth-child(even) .pa-shot{ order:0; border-left:none; }
	.pa-shot{ border-right:none; border-bottom:1px solid var(--pa-line); min-height:220px; }
	.pa-shot img,.pa-shot-placeholder{ min-height:220px; height:220px; }
}
@media (max-width:700px){
	.et_pb_section[class*="pa-"]{ padding:64px 0; }
	.et_pb_section.pa-hero{ padding:115px 0 92px; }
	.et_pb_section.pa-calloutsec{ padding:0 0 64px; }
	.pa-hero-headline{ font-size:35px; }
	.pa-hero-text{ font-size:17px; }
	.pa-grid,.pa-stats,.pa-steps{ grid-template-columns:1fr; }
	.pa-hex{ display:none; }
	.et_pb_section[class*="pa-"] h2{ font-size:28px; }
	.pa-callout{ flex-direction:column; gap:16px; }
	.et_pb_section.pa-final h2{ font-size:30px; }
	.pa-project-body{ padding:26px 24px; }
	.pa-project-head h3{ font-size:20px; }
	/* Side slide-ins would overflow on small screens – rise instead */
	.pa-js .pa-reveal-item,
	.pa-js .pa-reveal-item:nth-child(even){ transform:translateY(26px); }
	.pa-js .pa-reveal-item.is-visible{ transform:none; }
}
