:root{
	--bg:        #0D0D0D;
	--panel:     #161616;
	--line:      rgba(61,186,95,.14);
	--line-soft: rgba(255,255,255,.06);
	--green:     #3DBA5F;
	--green-dim: #2A8546;
	--white:     #F4F5F2;
	--muted:     #9AA09B;
	--mono:      "JetBrains Mono", monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	background:var(--bg);
	color:var(--white);
	font-family:"Instrument Sans", Arial, sans-serif;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
	min-height:100vh;
}
::selection{background:var(--green);color:#0D0D0D}

/* WordPress-Adminleiste nicht überlagern */
body.admin-bar .reticle{top:32px}

/* ---------- Fadenkreuz-Ebene (Signatur) ---------- */
.reticle{position:fixed;inset:0;pointer-events:none;z-index:0}
.reticle .h,.reticle .v{
	position:absolute;background:var(--line);
	transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
}
.reticle .h{left:0;right:0;height:1px;top:50%}
.reticle .v{top:0;bottom:0;width:1px;left:50%}
.reticle .tick{
	position:absolute;font-family:var(--mono);font-size:10px;
	letter-spacing:.12em;color:rgba(61,186,95,.4);
	user-select:none;
}
.tick.tl{top:18px;left:20px}
.tick.tr{top:18px;right:20px;text-align:right}
.tick.bl{bottom:18px;left:20px}
.tick.br{bottom:18px;right:20px;text-align:right}

.corner{
	position:absolute;width:26px;height:26px;
	border:1px solid rgba(61,186,95,.35);
}
.corner.c1{top:14px;left:14px;border-right:none;border-bottom:none}
.corner.c2{top:14px;right:14px;border-left:none;border-bottom:none}
.corner.c3{bottom:14px;left:14px;border-right:none;border-top:none}
.corner.c4{bottom:14px;right:14px;border-left:none;border-top:none}

/* ---------- Hero ---------- */
.hero{
	position:relative;z-index:1;
	min-height:100vh;
	display:flex;flex-direction:column;
	align-items:center;justify-content:center;
	text-align:center;
	padding:96px 24px 72px;
}

.mark{
	width:150px;height:auto;margin-bottom:44px;
	opacity:0;transform:scale(.85) rotate(-8deg);
	animation:markIn .9s .2s cubic-bezier(.22,1,.36,1) forwards;
	filter:drop-shadow(0 0 32px rgba(61,186,95,.25));
}
@keyframes markIn{
	to{opacity:1;transform:scale(1) rotate(0deg)}
}

.eyebrow{
	font-family:var(--mono);
	font-size:12px;letter-spacing:.28em;text-transform:uppercase;
	color:var(--green);
	margin-bottom:22px;
	opacity:0;animation:rise .7s .9s ease forwards;
}
h1{
	font-family:"Archivo", Arial, sans-serif;
	font-variation-settings:"wdth" 118, "wght" 800;
	font-weight:800;
	font-size:clamp(52px, 9.5vw, 128px);
	line-height:.98;
	letter-spacing:-.015em;
	opacity:0;animation:rise .8s 1s ease forwards;
}
h1 .hit{color:var(--green);position:relative;white-space:nowrap}
h1 .hit::after{
	content:"";position:absolute;left:0;right:0;bottom:.04em;
	height:3px;background:var(--green);
	transform:scaleX(0);transform-origin:left;
	animation:underline .6s 1.7s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes underline{to{transform:scaleX(1)}}

.sub{
	max-width:560px;
	margin-top:28px;
	font-size:clamp(16px,2vw,19px);
	line-height:1.65;
	color:var(--muted);
	opacity:0;animation:rise .8s 1.2s ease forwards;
}

@keyframes rise{
	from{opacity:0;transform:translateY(18px)}
	to{opacity:1;transform:translateY(0)}
}

/* ---------- Countdown ---------- */
.countdown{
	margin-top:56px;
	display:flex;gap:clamp(14px,3vw,32px);
	opacity:0;animation:rise .8s 1.4s ease forwards;
}
.cd-cell{
	min-width:clamp(64px,10vw,96px);
	padding:18px 10px 14px;
	background:var(--panel);
	border:1px solid var(--line-soft);
	border-radius:10px;
	position:relative;
}
.cd-cell::before{
	content:"";position:absolute;top:0;left:50%;
	width:22px;height:2px;background:var(--green);
	transform:translateX(-50%);
	border-radius:0 0 2px 2px;
}
.cd-num{
	font-family:var(--mono);
	font-size:clamp(26px,4.5vw,40px);
	font-weight:500;
	color:var(--white);
	font-variant-numeric:tabular-nums;
}
.cd-label{
	margin-top:6px;
	font-family:var(--mono);
	font-size:10px;letter-spacing:.22em;text-transform:uppercase;
	color:var(--muted);
}
.cd-caption{
	margin-top:16px;
	font-family:var(--mono);
	font-size:11px;letter-spacing:.2em;text-transform:uppercase;
	color:rgba(61,186,95,.65);
	opacity:0;animation:rise .8s 1.55s ease forwards;
}

.contact{
	margin-top:34px;
	font-family:var(--mono);
	font-size:13px;letter-spacing:.08em;
	color:var(--green);text-decoration:none;
	border-bottom:1px solid rgba(61,186,95,.35);
	padding-bottom:2px;
	opacity:0;animation:rise .8s 1.65s ease forwards;
}
.contact:hover{border-bottom-color:var(--green)}

/* ---------- Drei Worte ---------- */
.triad{
	position:relative;z-index:1;
	display:flex;justify-content:center;align-items:center;
	gap:clamp(20px,5vw,56px);
	padding:0 24px 90px;
	flex-wrap:wrap;
	opacity:0;animation:rise .8s 1.7s ease forwards;
}
.triad span{
	font-family:"Archivo", Arial, sans-serif;
	font-variation-settings:"wdth" 110, "wght" 600;
	font-weight:600;
	font-size:clamp(15px,2.2vw,20px);
	letter-spacing:.06em;
	color:var(--white);
}
.triad i{
	width:5px;height:5px;border-radius:50%;
	background:var(--green);display:inline-block;
}

/* ---------- Footer ---------- */
.site-footer{
	position:relative;z-index:1;
	border-top:1px solid var(--line-soft);
	padding:26px 24px;
	display:flex;justify-content:space-between;align-items:center;
	gap:16px;flex-wrap:wrap;
	font-family:var(--mono);
	font-size:11px;letter-spacing:.14em;text-transform:uppercase;
	color:var(--muted);
}
.site-footer .sig{color:rgba(61,186,95,.7)}

/* ---------- Fokus & Reduced Motion ---------- */
a{color:var(--green)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{animation-duration:.01ms !important;animation-delay:0ms !important;transition:none !important}
	.mark,.eyebrow,h1,.sub,.countdown,.cd-caption,.contact,.triad{opacity:1;transform:none}
}
@media (max-width:560px){
	.tick.tl,.tick.tr{top:14px}
	.countdown{gap:10px}
	.cd-cell{min-width:70px}
	.mark{width:120px}
}
