/*
Theme Name: ebiss Relaunch
Theme URI: https://ebiss.at
Author: ebiss
Description: Schlankes, bearbeitbares Block-Theme für den ebiss Relaunch.
Version: 1.0.2
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: ebiss-relaunch
*/

:root { --eb-ink:#101316; --eb-paper:#f5f6f3; --eb-lime:#d6fa55; --eb-blue:#3858f5; --eb-muted:#626a70; --eb-line:#dfe2dc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--eb-paper); color:var(--eb-ink); }
a { text-underline-offset:4px; }
.wp-site-blocks { overflow:hidden; }
.site-header { position:relative; z-index:5; padding:20px 24px; background:var(--eb-paper); }
.header-inner { min-height:52px; }
.brand-mark { margin:0; font-size:25px; line-height:1; font-weight:800; letter-spacing:-.08em; }
.brand-mark a,.footer-brand a { text-decoration:none; }
.header-right { gap:32px; }
.wp-block-navigation__container { gap:28px; }
.wp-block-navigation a { text-decoration:none; }
.wp-block-navigation a:hover,.footer-legal a:hover { color:var(--eb-blue); }
.hero-section { padding:58px 24px 66px; background:var(--eb-paper); }
.hero-inner { position:relative; width:min(100%, 1200px); min-height:565px; margin:0 auto; padding-top:30px; }
.wide { width:min(100%, 1200px); margin-left:auto; margin-right:auto; }
.eyebrow { margin:0 0 22px; font-size:12px; line-height:1.35; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hero-inner > .eyebrow { display:flex; align-items:center; gap:10px; }
.status-dot { width:9px; height:9px; display:inline-block; border-radius:50%; background:#7cb342; box-shadow:0 0 0 5px rgba(124,179,66,.12); }
.hero-title { position:relative; z-index:2; max-width:800px; margin:0; font-size:clamp(3.4rem,8.5vw,7.6rem); line-height:.93; font-weight:650; letter-spacing:-.075em; }
.hero-title span { color:var(--eb-blue); }
.hero-copy { position:relative; z-index:2; max-width:545px; margin:30px 0 25px; color:#4e5559; font-size:19px; line-height:1.55; }
.hero-actions { position:relative; z-index:3; display:flex; flex-wrap:wrap; gap:12px; }
.hero-actions > a,.button-contact { display:inline-flex; align-items:center; justify-content:center; padding:15px 22px; border-radius:999px; font-size:15px; font-weight:600; transition:transform .2s ease,background .2s ease; }
.hero-actions > a:hover,.button-contact:hover { transform:translateY(-2px); }
.hero-actions > a span,.button-contact span { margin-left:14px; }
.hero-actions .wp-block-button__link,.button-contact .wp-block-button__link { padding:15px 22px; font-size:15px; transition:transform .2s ease,background .2s ease; }
.hero-actions .wp-block-button__link:hover,.button-contact .wp-block-button__link:hover { transform:translateY(-2px); }
.button-primary,.button-primary .wp-block-button__link { background:var(--eb-ink); color:#fff; }
.button-primary .wp-block-button__link span,.button-secondary .wp-block-button__link span { margin-left:14px; }
.button-secondary,.button-secondary .wp-block-button__link { border:1px solid #cdd1ca; background:transparent; color:var(--eb-ink); }
.hero-visual { position:absolute; width:390px; height:390px; top:48px; right:3%; border-radius:50%; background:radial-gradient(circle at 50% 50%,rgba(214,250,85,.48),rgba(214,250,85,.08) 62%,transparent 63%); }
.visual-orbit { position:absolute; inset:26px; border:1px solid rgba(16,19,22,.12); border-radius:50%; transform:rotate(-25deg) scaleY(.72); }
.orbit-two { inset:68px 4px; transform:rotate(38deg) scaleY(.8); border-color:rgba(56,88,245,.2); }
.visual-card { position:absolute; display:flex; flex-direction:column; justify-content:space-between; width:166px; height:150px; padding:17px; border-radius:17px; box-shadow:0 20px 60px rgba(16,19,22,.12); }
.visual-card strong { font-size:25px; line-height:1.03; letter-spacing:-.06em; }
.visual-label { font-size:10px; font-weight:700; letter-spacing:.13em; }
.card-one { top:44px; left:18px; color:white; background:var(--eb-blue); transform:rotate(-8deg); }
.card-two { right:6px; bottom:48px; background:#fff; transform:rotate(7deg); }
.visual-spark { position:absolute; top:180px; right:20px; font-size:62px; color:var(--eb-ink); }
.intro-strip { padding:23px 24px; border-top:1px solid var(--eb-line); border-bottom:1px solid var(--eb-line); }
.intro-strip-inner p { margin:0; font-size:14px; font-weight:600; }
.intro-strip-inner p:last-child { color:var(--eb-muted); font-weight:450; }
.section { padding:115px 24px; }
.section-kicker { color:var(--eb-blue); }
.section-heading-row,.projects-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.section-title { margin:0; font-size:clamp(2.5rem,5vw,4.7rem); line-height:.99; letter-spacing:-.065em; }
.section-lead { max-width:390px; margin:0 0 5px; color:var(--eb-muted); font-size:17px; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:45px; }
.service-grid-second { margin-top:18px; }
.service-card { position:relative; min-height:282px; padding:27px; border-radius:15px; overflow:hidden; }
.service-card-lime { background:var(--eb-lime); }
.service-card-dark { background:var(--eb-ink); color:white; }
.service-card-blue { background:var(--eb-blue); color:white; }
.service-card-white { min-height:240px; background:white; border:1px solid var(--eb-line); }
.service-number,.project-type { margin:0 0 39px; font-size:10px; font-weight:750; letter-spacing:.12em; }
.service-card h3 { max-width:270px; margin:0 0 15px; font-size:29px; line-height:1.02; letter-spacing:-.055em; }
.service-card > p:not(.service-number) { max-width:315px; margin:0; font-size:14px; line-height:1.5; opacity:.82; }
.card-arrow { position:absolute; right:24px; bottom:20px; display:grid; width:38px; height:38px; place-items:center; border:1px solid currentColor; border-radius:50%; text-decoration:none; font-size:19px; }
.service-note { grid-column:span 2; display:flex; height:100%; min-height:240px; flex-direction:column; justify-content:center; padding:26px 38px; }
.service-note .eyebrow { margin-bottom:16px; color:var(--eb-blue); }
.service-note > p:not(.eyebrow) { max-width:500px; margin:0 0 18px; font-size:clamp(1.7rem,3vw,2.5rem); font-weight:550; line-height:1.12; letter-spacing:-.05em; }
.service-note a { font-size:14px; font-weight:650; }
.projects-section { padding:100px 24px 110px; background:var(--eb-ink); color:#fff; }
.projects-section .section-kicker { color:var(--eb-lime); }
.projects-heading { margin-bottom:42px; }
.projects-heading .section-lead { color:#b8bec0; }
.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.project-card { height:100%; }
.project-art { position:relative; display:flex; min-height:310px; align-items:flex-end; padding:28px; overflow:hidden; border-radius:15px; font-size:clamp(2.2rem,4vw,3.8rem); font-weight:650; line-height:.92; letter-spacing:-.07em; }
.project-art i { position:absolute; top:24px; right:26px; font-style:normal; font-size:24px; }
.art-santina { background:radial-gradient(ellipse at 75% 15%,rgba(255,255,255,.3),transparent 32%),linear-gradient(145deg,#dfb69b 0%,#c68069 47%,#35405c 48%,#171e30 100%); color:#fff; }
.art-santina:before { position:absolute; top:18%; right:13%; width:150px; height:150px; border:1px solid rgba(255,255,255,.45); border-radius:50%; content:""; box-shadow:0 0 0 18px rgba(255,255,255,.08),0 0 0 38px rgba(255,255,255,.05); }
.art-santina span { position:relative; z-index:1; }
.art-jaccs { background:linear-gradient(135deg,#d6fa55 0%,#d6fa55 48%,#3858f5 49%,#17244f 100%); color:var(--eb-ink); }
.art-jaccs span { position:relative; z-index:1; }
.project-art[href] { text-decoration:none; }
.project-link { display:inline-flex; gap:9px; margin-top:12px; font-size:14px; font-weight:650; text-decoration:none; }
.project-link:hover { color:var(--eb-lime); }
.art-two { background:radial-gradient(circle at 70% 25%,#c3ff78 0 10%,transparent 11%),linear-gradient(135deg,#394fd6,#141820 70%); color:white; }
.project-type { margin:24px 0 12px; color:#b8bec0; }
.project-card h3 { margin:0 0 10px; font-size:25px; line-height:1.12; letter-spacing:-.045em; }
.project-description { margin:0; color:#aeb4b6; font-size:14px; }
.about-section { padding-top:120px; padding-bottom:120px; }
.about-columns { display:grid; grid-template-columns:42% 51%; align-items:center; gap:7%; }
.about-art { position:relative; display:flex; min-height:390px; align-items:center; justify-content:center; overflow:hidden; border-radius:18px; background:var(--eb-lime); }
.about-art:before,.about-art:after { position:absolute; width:300px; height:300px; content:""; border:1px solid rgba(16,19,22,.2); border-radius:50%; }
.about-art:after { width:215px; height:215px; }
.about-symbol { z-index:1; font-size:150px; font-weight:800; line-height:1; letter-spacing:-.12em; }
.about-symbol span { color:var(--eb-blue); }
.about-caption { position:absolute; right:24px; bottom:22px; font-size:10px; font-weight:750; letter-spacing:.1em; line-height:1.4; }
.about-copy { max-width:570px; margin:24px 0 17px; color:#4e5559; font-size:19px; line-height:1.55; }
.about-note { max-width:540px; color:var(--eb-muted); font-size:14px; }
.contact-section { padding:105px 24px 95px; background:var(--eb-blue); color:white; }
.contact-inner > .eyebrow { color:var(--eb-lime); }
.contact-title { max-width:900px; margin:0; font-size:clamp(3.2rem,8vw,7rem); line-height:.94; letter-spacing:-.075em; }
.contact-title span { color:var(--eb-lime); }
.contact-copy { max-width:500px; margin:28px 0 23px; color:rgba(255,255,255,.84); font-size:18px; }
.button-contact,.button-contact .wp-block-button__link { background:var(--eb-lime); color:var(--eb-ink); text-decoration:none; }
.contact-reminder { margin-top:26px; color:rgba(255,255,255,.67); font-size:12px; }
.site-footer { padding:25px 24px; background:var(--eb-ink); color:white; }
.footer-inner { gap:15px 24px; }
.footer-brand { margin:0; font-size:21px; font-weight:800; letter-spacing:-.08em; }
.footer-brand a { color:white; }
.footer-note,.footer-legal { margin:0; font-size:13px; color:#b5bbbd; }
.footer-legal { display:flex; gap:9px; }
.footer-legal a { color:white; }
.standard-page { min-height:55vh; padding-top:90px; padding-bottom:100px; }
.standard-page > h1 { font-size:clamp(2.8rem,6vw,5rem); letter-spacing:-.06em; }
@media (max-width: 900px) {
 .hero-inner { min-height:620px; }
 .hero-visual { width:310px; height:310px; top:285px; right:4%; opacity:.92; }
 .visual-card { transform:scale(.85) rotate(-8deg); transform-origin:top left; }
 .card-two { transform:scale(.85) rotate(7deg); transform-origin:bottom right; }
 .section { padding-top:85px; padding-bottom:85px; }
 .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .about-columns { grid-template-columns:1fr 1fr; gap:40px; }
}
@media (max-width: 620px) {
 .site-header { padding:15px 20px; }
 .header-right { gap:12px; }
 .wp-block-navigation__responsive-container { padding:30px 22px; }
 .hero-section { padding:32px 20px 45px; }
 .hero-inner { min-height:690px; padding-top:18px; }
 .hero-title { font-size:clamp(3.15rem,15vw,5.5rem); }
 .hero-copy { max-width:440px; font-size:17px; }
 .hero-visual { top:390px; right:50%; transform:translateX(50%); width:285px; height:285px; }
 .intro-strip { padding:18px 20px; }
 .intro-strip-inner { gap:4px; }
 .intro-strip-inner p:last-child { font-size:12px; }
 .section { padding:70px 20px; }
 .section-heading-row,.projects-heading { gap:22px; }
 .section-title { font-size:clamp(2.6rem,12vw,4rem); }
 .section-lead { font-size:15px; }
 .service-grid { grid-template-columns:1fr; gap:13px; margin-top:27px; }
 .service-note { grid-column:auto; }
 .service-card,.service-card-white { min-height:230px; padding:23px; }
 .service-number { margin-bottom:30px; }
 .service-card h3 { font-size:27px; }
 .service-note { min-height:210px; padding:22px 8px; }
 .projects-section { padding:75px 20px; }
 .project-grid { gap:32px; }
 .project-art { min-height:250px; }
 .about-section { padding-top:70px; padding-bottom:75px; }
 .about-columns { grid-template-columns:1fr; gap:32px; }
 .about-art { min-height:280px; }
 .about-symbol { font-size:120px; }
 .about-copy { font-size:17px; }
 .contact-section { padding:75px 20px 68px; }
 .contact-title { font-size:clamp(3.1rem,14vw,5.4rem); }
 .contact-copy { font-size:16px; }
 .footer-inner { align-items:flex-start !important; flex-direction:column; }
 .site-footer { padding:25px 20px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
