:root{--paper:#f7f5ef;--paper-soft:#fff;--ink:#151515;--muted:#5e5b55;--line:#d7d0c4;--accent:#c52026;--accent-dark:#8f1419;--metal:#d9dde2;--shadow:8px 8px 0 rgba(21,21,21,.13);--shadow-soft:4px 4px 0 rgba(21,21,21,.10);--max:1180px;color-scheme:light}
@property --story-reveal{syntax:"<angle>";inherits:false;initial-value:0deg}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#111214;--paper-soft:#1b1d20;--ink:#f7f5ef;--muted:#c5c0b6;--line:#34383d;--accent:#ff4b53;--accent-dark:#ff777d;--metal:#282d33;--shadow:8px 8px 0 rgba(0,0,0,.34);--shadow-soft:4px 4px 0 rgba(0,0,0,.28);color-scheme:dark}}
:root[data-theme="dark"]{--paper:#111214;--paper-soft:#1b1d20;--ink:#f7f5ef;--muted:#c5c0b6;--line:#34383d;--accent:#ff4b53;--accent-dark:#ff777d;--metal:#282d33;--shadow:8px 8px 0 rgba(0,0,0,.34);--shadow-soft:4px 4px 0 rgba(0,0,0,.28);color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .detail-layout#kontakt{--contact-bg:#f7f5ef;--contact-card:#fff;--contact-ink:#151515;--contact-muted:#5e5b55;--contact-line:#151515;--contact-input:#f7f5ef}}
:root[data-theme="dark"] .detail-layout#kontakt{--contact-bg:#f7f5ef;--contact-card:#fff;--contact-ink:#151515;--contact-muted:#5e5b55;--contact-line:#151515;--contact-input:#f7f5ef}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}body:before,body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}body:before{opacity:.92;background:linear-gradient(180deg,color-mix(in srgb,var(--paper-soft) 62%,transparent),transparent 32rem),radial-gradient(ellipse at 14% 12%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 28rem),radial-gradient(ellipse at 88% 22%,color-mix(in srgb,var(--line) 58%,transparent),transparent 28rem)}body:after{opacity:.72;filter:blur(24px);backdrop-filter:blur(18px);background:linear-gradient(112deg,transparent 0 10%,color-mix(in srgb,var(--ink) 7%,transparent) 10% 18%,transparent 18% 31%,color-mix(in srgb,var(--accent) 14%,transparent) 31% 41%,transparent 41% 58%,color-mix(in srgb,var(--line) 62%,transparent) 58% 68%,transparent 68% 100%),linear-gradient(248deg,transparent 0 18%,color-mix(in srgb,var(--paper-soft) 80%,transparent) 18% 27%,transparent 27% 48%,color-mix(in srgb,var(--ink) 5%,transparent) 48% 56%,transparent 56% 100%);transform:scale(1.08)}
a{color:inherit;text-decoration:none}main{padding-top:0}h1,h2,h3,p,a,button,li,span,label,input,select,textarea{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:pretty}h1{max-width:980px;margin:0;font-size:clamp(2.55rem,5.8vw,5.35rem);line-height:.98;letter-spacing:0}h2{margin:0;font-size:clamp(1.9rem,3.2vw,3.05rem);line-height:1.08;letter-spacing:0}h3{margin:0 0 14px;font-size:1.15rem;line-height:1.25;letter-spacing:0}p{line-height:1.65}.eyebrow{margin:0 0 13px;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}
a,button,input,select,textarea,label{-webkit-tap-highlight-color:transparent}
.site-header{position:sticky;top:0;z-index:21;display:grid;grid-template-columns:1fr auto 1fr;gap:12px 18px;width:100%;padding:16px clamp(16px,4vw,58px) 12px;background:transparent;border-bottom:0;backdrop-filter:none;isolation:isolate}.site-header:before{content:"";position:absolute;inset:0 0 auto;height:138px;z-index:2;background:color-mix(in srgb,var(--paper) 96%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);pointer-events:none}.brand,.social-links,.theme-button{position:relative;z-index:3}.brand{grid-column:2;justify-self:center;display:inline-flex;align-items:center;width:min(330px,60vw)}.logo{display:block;width:100%;height:auto}.logo-light{display:none}:root[data-theme="dark"] .logo-dark{display:none}:root[data-theme="dark"] .logo-light{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-dark{display:none}:root:not([data-theme="light"]) .logo-light{display:block}}
.main-nav{position:relative;z-index:1;grid-column:1/-1;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:4px;padding:0;background:transparent;border:0;backdrop-filter:none}.main-nav a,.theme-button,.button,.social-link{border:1px solid var(--ink);background:var(--paper-soft);box-shadow:var(--shadow-soft);color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.social-links{grid-column:1;align-self:center;justify-self:start;display:flex;gap:8px}.social-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:.7rem;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.social-link:hover{background:var(--accent);border-color:var(--accent-dark);color:#fff;box-shadow:4px 4px 0 color-mix(in srgb,var(--accent-dark) 52%,transparent),0 0 24px color-mix(in srgb,var(--accent) 28%,transparent);transform:translate(-1px,-1px)}.social-link.has-new-instagram-posts:after{content:"";position:absolute;right:-4px;top:-4px;width:11px;height:11px;border:2px solid var(--paper-soft);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--ink),0 0 14px color-mix(in srgb,var(--accent) 62%,transparent);animation:instagramNoticePulse 1.45s ease-in-out infinite}.main-nav a{position:relative;z-index:1;min-height:36px;padding:9px 12px;opacity:0;translate:0 -46px;animation:navItemDropIn .9s cubic-bezier(.22,1,.36,1) forwards;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .22s cubic-bezier(.22,1,.36,1),filter .18s ease}.main-nav a:nth-child(1){animation-delay:.14s}.main-nav a:nth-child(2){animation-delay:.22s}.main-nav a:nth-child(3){animation-delay:.3s}.main-nav a:nth-child(4){animation-delay:.38s}.main-nav a:nth-child(5){animation-delay:.46s}.main-nav a:nth-child(6){animation-delay:.54s}.main-nav a:nth-child(7){animation-delay:.62s}.main-nav a:nth-child(8){animation-delay:.7s}.main-nav a:hover{z-index:4;background:var(--accent);border-color:var(--accent-dark);color:#fff;box-shadow:2px 2px 0 color-mix(in srgb,var(--accent-dark) 52%,transparent),0 0 18px color-mix(in srgb,var(--accent) 28%,transparent);transform:translate(-1px,-2px) scale(1.1);filter:saturate(1.08)}.main-nav a[aria-current="page"]{background:var(--ink);color:var(--paper)}.main-nav a[aria-current="page"]:hover{background:var(--accent);border-color:var(--accent-dark);color:#fff}.theme-button{grid-column:3;align-self:center;justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:96px;min-height:36px;padding:8px 11px;font-family:inherit;cursor:pointer}.theme-icon{width:15px;height:15px;border:2px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:clamp(30px,5vw,76px);width:100%;min-height:calc(100vh - 124px);padding:clamp(48px,7vw,92px) clamp(16px,5vw,68px)}.hero-copy>*{opacity:0;animation:heroTextFade .72s cubic-bezier(.22,1,.36,1) forwards}.hero-copy>*:nth-child(1){animation-delay:.08s}.hero-copy>*:nth-child(2){animation-delay:.18s}.hero-copy>*:nth-child(3){animation-delay:.3s}.hero-copy>*:nth-child(4){animation-delay:.42s}.hero-text{max-width:650px;margin:25px 0 0;color:var(--muted);font-size:1.13rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.hero-visual{aspect-ratio:auto;min-height:clamp(340px,45vw,560px)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 18px}.button-primary{background:var(--accent);color:#fff;border-color:var(--accent-dark)}.button-secondary{background:var(--paper-soft)}.button-whatsapp{background:#25d366;border-color:#128c4c;color:#fff;box-shadow:var(--shadow-soft);cursor:pointer}.button-whatsapp:hover,.button-whatsapp:focus-visible{background:#128c4c;border-color:var(--ink);color:#fff;box-shadow:4px 4px 0 rgba(18,140,76,.42),0 0 24px rgba(37,211,102,.24);transform:translate(-1px,-1px)}
.section{width:100%;max-width:var(--max);margin:0 auto;padding:clamp(54px,7vw,96px) clamp(16px,5vw,68px)}.band{max-width:none;background:var(--paper-soft);border-block:1px solid var(--line)}.section-heading{max-width:var(--max);margin:0 auto 34px}.section-heading h2{max-width:1040px}.service-heading-reveal{position:relative;z-index:1;opacity:0;translate:0 -94px;filter:blur(4px);transition:opacity .9s cubic-bezier(.22,1,.36,1),translate .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1)}.service-heading-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0)}.service-grid,.review-grid,.legal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;max-width:var(--max);margin:0 auto}.paper-card,.form-card{min-height:220px;padding:24px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}.service-media{display:block;aspect-ratio:16/11;margin:-10px -10px 22px;overflow:hidden;border:1px solid var(--ink);background:var(--metal)}.service-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .32s ease,filter .32s ease}.service-media+ .card-number{margin-bottom:16px}.service-grid .paper-card{display:block;min-height:0;padding:24px;background:var(--paper);color:var(--ink);overflow:hidden}.service-grid .paper-card h3{color:var(--ink)}.service-grid .paper-card p{color:var(--muted)}a.paper-card{transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}a.paper-card:hover,a.paper-card:focus-visible{background:var(--accent);border-color:var(--accent-dark);color:#fff;transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(143,20,25,.52)}a.paper-card:hover .card-number,a.paper-card:hover h3,a.paper-card:hover p,a.paper-card:focus-visible .card-number,a.paper-card:focus-visible h3,a.paper-card:focus-visible p{color:#fff}a.paper-card:hover .service-media,a.paper-card:focus-visible .service-media{border-color:#fff}a.paper-card:hover .service-media img,a.paper-card:focus-visible .service-media img{transform:scale(1.04);filter:saturate(1.08) contrast(1.04)}.card-number{display:block;margin-bottom:30px;color:var(--accent);font-weight:900}.paper-card p,.text-stack p,.placeholder-copy{margin:0;color:var(--muted)}
.split,.contact-strip,.detail-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(28px,6vw,86px);align-items:start}.detail-layout[id]{scroll-margin-top:190px}.detail-layout#kontakt{--contact-bg:#151515;--contact-card:#202020;--contact-ink:#f7f5ef;--contact-muted:#d6d0c7;--contact-line:#f7f5ef;--contact-input:#151515;max-width:none;grid-template-columns:minmax(clamp(16px,5vw,68px),1fr) minmax(0,430px) minmax(0,650px) minmax(clamp(16px,5vw,68px),1fr);padding-inline:0;background:var(--contact-bg);color:var(--contact-ink);border-block:1px solid var(--contact-line)}.detail-layout#kontakt>div{grid-column:2}.detail-layout#kontakt>.contact-form{grid-column:3}.detail-layout#kontakt .placeholder-copy{color:var(--contact-muted)}.detail-layout#kontakt .eyebrow{color:var(--accent)}.detail-layout#kontakt .form-card{background:var(--contact-card);border-color:var(--contact-line);box-shadow:var(--shadow-soft);color:var(--contact-ink)}.detail-layout#kontakt input,.detail-layout#kontakt select,.detail-layout#kontakt textarea{background:var(--contact-input);border-color:var(--contact-line);color:var(--contact-ink)}.detail-layout#kontakt input::placeholder,.detail-layout#kontakt textarea::placeholder{color:color-mix(in srgb,var(--contact-muted) 82%,transparent)}.detail-layout#kontakt .image-placeholder{aspect-ratio:6/5;min-height:0;background:linear-gradient(135deg,color-mix(in srgb,var(--contact-card) 82%,var(--accent)) 0 49%,transparent 49% 51%,color-mix(in srgb,var(--accent) 44%,var(--contact-bg)) 51% 100%),var(--contact-card);border-color:var(--contact-line);color:var(--contact-ink)}.detail-layout#kontakt .image-placeholder span{background:var(--contact-bg);border-color:var(--contact-line);color:var(--contact-ink)}.detail-layout .placeholder-copy+.image-placeholder{margin-top:24px}.text-stack{display:grid;gap:18px}.contact-strip{align-items:center;max-width:none;background:var(--ink);color:var(--paper)}.contact-strip .eyebrow{color:color-mix(in srgb,var(--accent) 72%,#fff)}.contact-strip .button{justify-self:end}.location-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr);gap:clamp(28px,6vw,76px);align-items:center}.location-copy{max-width:720px;margin-left:auto}.location-copy p:not(.eyebrow){color:var(--muted)}.map-card{display:grid;align-content:end;min-height:340px;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--metal) 78%,var(--paper)) 0 46%,transparent 46% 50%,color-mix(in srgb,var(--accent) 54%,var(--paper)) 50% 100%),var(--metal);border:1px solid var(--ink);box-shadow:var(--shadow);color:var(--ink);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.map-card span{width:max-content;margin-bottom:12px;padding:8px 10px;background:var(--paper);border:1px solid var(--ink);font-size:.74rem;font-weight:900;text-transform:uppercase}.map-card strong{font-size:1.45rem;line-height:1.1}.map-card small{margin-top:8px;color:var(--muted);font-size:.85rem;font-weight:800;text-transform:uppercase}.map-consent-card{position:relative;align-content:stretch;overflow:hidden;padding:0}.map-consent-card:hover{transform:none}.map-placeholder{display:grid;align-content:end;min-height:340px;padding:24px}.map-placeholder .button{width:max-content;margin-top:22px}.map-embed{display:none;width:100%;min-height:340px;border:0}.map-consent-card.is-loaded{background:var(--paper);padding:0}.map-consent-card.is-loaded .map-embed{display:block}.map-card:hover{border-color:var(--accent-dark);box-shadow:7px 7px 0 rgba(143,20,25,.52);transform:translate(-2px,-2px)}.map-card.map-consent-card:hover{transform:none}.visual-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.image-placeholder{display:flex;align-items:flex-end;aspect-ratio:16/10;min-height:0;padding:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--metal) 72%,var(--paper)) 0 49%,transparent 49% 51%,color-mix(in srgb,var(--accent) 48%,var(--paper)) 51% 100%),var(--metal);border:1px solid var(--ink);box-shadow:var(--shadow);color:var(--ink)}.image-placeholder span{display:inline-block;max-width:320px;padding:10px 12px;background:var(--paper);border:1px solid var(--ink);font-size:.85rem;font-weight:800;text-transform:uppercase}.image-placeholder.tall{aspect-ratio:1/1;min-height:0}.page-hero{max-width:var(--max);margin:0 auto;padding:clamp(54px,7vw,100px) clamp(16px,5vw,68px)}.page-hero p:not(.eyebrow){max-width:920px;color:var(--muted);font-size:1.12rem}.detail-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.detail-list li{padding:15px 16px;background:var(--paper-soft);border:1px solid var(--line)}
.contact-form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;font-weight:800;font-size:.85rem}input,select,textarea{width:100%;min-height:46px;padding:12px 13px;border:1px solid var(--ink);border-radius:0;background:var(--paper-soft);color:var(--ink);font:inherit}textarea{min-height:150px;resize:vertical}.form-note{min-height:22px;margin:0;color:var(--muted)}.site-footer{width:100%;padding:0 clamp(16px,5vw,68px);border-top:1px solid var(--line);background:var(--paper-soft);color:var(--ink)}.footer-inner{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.8fr) minmax(150px,.7fr);gap:clamp(28px,5vw,78px);max-width:var(--max);margin:0 auto;padding:46px 0 34px}.footer-brand{max-width:420px}.footer-logo{display:inline-flex;width:160px}.footer-kicker{margin:24px 0 8px;color:var(--ink);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.footer-brand p:not(.footer-kicker){margin:0;color:var(--muted);font-size:.95rem}.footer-nav{display:grid;align-content:start;gap:10px}.footer-title{margin:0 0 10px;color:var(--ink);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.footer-nav a,.footer-bottom a{width:max-content;color:var(--muted);font-size:.84rem;font-weight:800;text-transform:uppercase}.footer-nav a,.footer-bottom a{padding:7px 0;border-bottom:1px solid transparent}.footer-bottom{display:flex;justify-content:space-between;gap:18px;max-width:var(--max);margin:0 auto;padding:17px 0 22px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}
.map-consent-card.is-loaded .map-placeholder{display:none}
.workshop-band{max-width:none;grid-template-columns:minmax(clamp(16px,5vw,68px),1fr) minmax(0,430px) minmax(0,650px) minmax(clamp(16px,5vw,68px),1fr);align-items:center;padding-inline:0;background:transparent;border-block:0}.workshop-band>div:first-child{grid-column:2}.workshop-band>.text-stack{grid-column:3}
.service-carousel{position:relative;display:grid;grid-template-columns:auto minmax(0,var(--max)) auto;gap:12px;align-items:center;max-width:calc(var(--max) + 108px);margin:0 auto}.service-carousel .service-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(330px,1fr);grid-template-columns:none;gap:18px;max-width:none;margin:0;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.service-carousel .service-grid::-webkit-scrollbar{display:none}.service-carousel .paper-card{scroll-snap-align:center}.service-carousel .service-media{aspect-ratio:16/11;margin:-10px -10px 24px}.service-arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-soft);color:var(--ink);font:inherit;font-size:1.2rem;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.service-arrow:hover,.service-arrow:focus-visible{background:var(--accent);border-color:var(--accent-dark);color:#fff;box-shadow:4px 4px 0 rgba(143,20,25,.52),0 0 24px rgba(197,32,38,.28);transform:translate(-1px,-1px)}
.workshop-band{border-bottom:0}.workshop-gallery-band{max-width:none;grid-template-columns:minmax(clamp(16px,5vw,68px),1fr) repeat(3,minmax(0,calc(var(--max) / 3))) minmax(clamp(16px,5vw,68px),1fr);padding-top:0;padding-inline:0;background:transparent;border-bottom:1px solid var(--line)}.workshop-gallery-band>.image-placeholder:nth-child(1){grid-column:2}.workshop-gallery-band>.image-placeholder:nth-child(2){grid-column:3}.workshop-gallery-band>.image-placeholder:nth-child(3){grid-column:4}
.instagram-section{position:relative}.instagram-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.instagram-heading .placeholder-copy{max-width:720px;margin:16px 0 0}.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:var(--max);margin:0 auto}.instagram-card{display:grid;grid-template-rows:auto auto auto 1fr;min-height:0;background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px rgba(0,0,0,.1);overflow:hidden;text-transform:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.instagram-card[href]:hover,.instagram-card[href]:focus-visible{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));box-shadow:0 18px 46px rgba(0,0,0,.16),0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent);transform:translateY(-2px)}.instagram-post-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-height:56px;padding:10px 12px;background:var(--paper-soft);border-bottom:1px solid var(--line)}.instagram-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#f58529,#dd2a7b 45%,#8134af 72%,#515bd4);color:#fff;font-size:.72rem;font-weight:900}.instagram-post-head strong{display:block;overflow:hidden;color:var(--ink);font-size:.88rem;line-height:1.15;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.instagram-post-head small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:none}.instagram-menu{color:var(--ink);font-size:1.1rem;font-weight:900;letter-spacing:1px}.instagram-media{display:flex;align-items:flex-end;aspect-ratio:1/1;padding:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--metal) 78%,var(--paper)) 0 44%,color-mix(in srgb,var(--accent) 18%,var(--metal)) 44% 100%),var(--metal);border-bottom:1px solid var(--line);overflow:hidden}.instagram-media img{display:block;width:100%;height:100%;object-fit:cover;margin:-14px}.instagram-media span{display:inline-block;max-width:250px;padding:9px 10px;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.18);color:#151515;font-size:.72rem;font-weight:900;text-transform:uppercase}.instagram-actions{display:grid;grid-template-columns:auto auto auto 1fr;gap:12px;align-items:center;padding:11px 13px 3px;color:var(--ink);font-size:1.45rem;line-height:1}.instagram-actions span:last-child{justify-self:end}.instagram-copy{display:grid;align-content:start;gap:8px;padding:4px 13px 14px}.instagram-copy p{margin:0;color:var(--ink);font-size:.9rem;line-height:1.45;text-transform:none}.instagram-copy strong{font-weight:900}.instagram-copy small{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.instagram-status{max-width:var(--max);margin:18px auto 0;color:var(--muted);font-size:.9rem;font-weight:800;text-transform:uppercase}.instagram-card.is-loading .instagram-media,.instagram-card.is-loading .instagram-copy{opacity:.72}
.instagram-card.is-post .instagram-media{aspect-ratio:1/1}.instagram-card.is-video .instagram-media,.instagram-card.is-reel .instagram-media{position:relative;align-items:flex-end;justify-content:flex-start;aspect-ratio:9/16;background:linear-gradient(160deg,#141518 0 36%,color-mix(in srgb,var(--accent) 28%,#222) 36% 100%)}.instagram-card.is-reel .instagram-media{max-height:620px}.instagram-media video{display:block;width:100%;height:100%;object-fit:cover;margin:-14px}.instagram-media-badge{position:absolute;top:12px;right:12px;max-width:none;background:rgba(0,0,0,.72)!important;border:1px solid rgba(255,255,255,.32)!important;color:#fff!important}.instagram-card.is-reel .instagram-actions:before,.instagram-card.is-video .instagram-actions:before{content:"▶";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:-2px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:.7rem}.instagram-card.is-reel .instagram-actions,.instagram-card.is-video .instagram-actions{grid-template-columns:auto auto auto auto 1fr}
.instagram-card{background:var(--paper-soft);border:1px solid var(--ink);border-radius:8px;box-shadow:var(--shadow-soft);color:var(--ink)}.instagram-card[href]:hover,.instagram-card[href]:focus-visible{border-color:var(--accent-dark);box-shadow:7px 7px 0 rgba(143,20,25,.52);transform:translate(-2px,-2px)}.instagram-post-head{min-height:62px;padding:13px 15px;background:var(--paper-soft);border-bottom:1px solid var(--line)}.instagram-avatar{width:38px;height:38px;background:var(--paper);color:var(--accent);box-shadow:inset 0 0 0 1px var(--line)}.instagram-post-head strong{color:var(--ink);font-size:.95rem}.instagram-post-head small{color:var(--muted);font-size:.76rem}.instagram-follow{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 14px;border:1px solid var(--accent);border-radius:0;background:var(--paper);color:var(--accent);font-size:.74rem;font-weight:900;text-transform:uppercase}.instagram-card[href]:hover .instagram-follow,.instagram-card[href]:focus-visible .instagram-follow,.instagram-follow:hover,.instagram-follow:focus-visible{background:var(--accent);border-color:var(--accent-dark);color:var(--paper)}.instagram-media{position:relative;margin:0;padding:0;border:0;border-bottom:1px solid var(--ink);background:linear-gradient(135deg,color-mix(in srgb,var(--metal) 74%,var(--paper)) 0 46%,transparent 46% 50%,color-mix(in srgb,var(--accent) 42%,var(--paper)) 50% 100%),var(--metal)}.instagram-media:before{content:none}.instagram-media span:not(.instagram-media-badge){position:relative;z-index:1;margin:auto;padding:9px 10px;background:var(--paper);border:1px solid var(--ink);color:var(--ink);font-size:.78rem;font-weight:900;text-align:center;text-transform:uppercase}.instagram-media img,.instagram-media video{position:relative;z-index:1;margin:0}.instagram-media-badge{z-index:2;border-radius:0!important;background:var(--ink)!important;border:1px solid var(--ink)!important;color:var(--paper)!important}.instagram-actions{grid-template-columns:auto auto auto auto;gap:10px;padding:14px 15px 5px;color:var(--ink);font-size:.92rem}.instagram-actions span{font-size:1rem}.instagram-actions strong{font-size:.86rem}.instagram-copy{padding:5px 15px 18px}.instagram-copy p{color:var(--ink);font-size:.92rem}.instagram-copy small{color:var(--muted);font-size:.8rem;text-transform:none}.instagram-card.is-video .instagram-media,.instagram-card.is-reel .instagram-media{background:linear-gradient(135deg,#151515 0 42%,color-mix(in srgb,var(--accent) 32%,#252525) 42% 100%)}.instagram-card.is-reel .instagram-actions:before,.instagram-card.is-video .instagram-actions:before{background:var(--ink);color:var(--paper)}
.instagram-card.is-reel{grid-template-rows:auto auto auto}.instagram-card.is-reel .instagram-media{align-items:stretch;isolation:isolate}.instagram-card.is-reel .instagram-media:after{content:"";position:absolute;inset:42% 0 0;z-index:1;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82))}.instagram-reel-text{position:absolute;left:12px;right:58px;bottom:12px;z-index:2;display:grid;gap:5px;color:#fff}.instagram-reel-text p{display:-webkit-box;overflow:hidden;margin:0;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#fff;font-size:.82rem;line-height:1.32;text-transform:none}.instagram-reel-text strong{font-weight:900}.instagram-reel-text small{color:rgba(255,255,255,.8);font-size:.72rem;font-weight:800}.instagram-reel-actions{position:absolute;right:10px;bottom:12px;z-index:2;display:grid;justify-items:center;gap:4px;color:#fff}.instagram-reel-actions span{font-size:1.05rem;line-height:1}.instagram-reel-actions strong{font-size:.68rem;line-height:1}.instagram-reel-comments{padding:10px 15px 14px;color:var(--muted);font-size:.8rem;font-weight:800;text-transform:none}.instagram-card[href]:hover .instagram-reel-comments,.instagram-card[href]:focus-visible .instagram-reel-comments{color:var(--accent)}
.instagram-card{position:relative;box-shadow:var(--shadow-soft),inset 0 0 0 1px color-mix(in srgb,var(--paper-soft) 80%,transparent)}.instagram-avatar{border:2px solid var(--paper-soft);background:linear-gradient(135deg,#f58529,#dd2a7b 42%,#8134af 68%,#515bd4);color:#fff;box-shadow:0 0 0 1px var(--line)}.instagram-follow{box-shadow:2px 2px 0 color-mix(in srgb,var(--ink) 14%,transparent);transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.instagram-follow:hover{background:var(--accent);border-color:var(--accent-dark);color:#fff;box-shadow:3px 3px 0 rgba(143,20,25,.44);transform:translate(-1px,-1px)}.instagram-media{background:linear-gradient(135deg,color-mix(in srgb,var(--metal) 76%,var(--paper)) 0 38%,color-mix(in srgb,var(--paper-soft) 74%,transparent) 38% 44%,color-mix(in srgb,var(--accent) 44%,var(--paper)) 44% 100%),var(--metal)}.instagram-media span:not(.instagram-media-badge){box-shadow:3px 3px 0 rgba(21,21,21,.12)}.instagram-card.is-reel .instagram-media{background:linear-gradient(145deg,#111 0 36%,#242424 36% 72%,color-mix(in srgb,var(--accent) 38%,#181818) 72% 100%)}.instagram-card.is-reel .instagram-media:after{inset:28% 0 0;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.28) 34%,rgba(0,0,0,.9) 100%)}.instagram-reel-actions span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.22);border-radius:50%}.instagram-reel-comments{border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper-soft) 88%,var(--paper))}
.social-icon{display:block;width:18px;height:18px}
.social-link-disabled{cursor:default;opacity:.58}.social-link-disabled:hover{background:var(--paper-soft);border-color:var(--ink);color:var(--ink);box-shadow:var(--shadow-soft);transform:none}
.instagram-story-entry{display:inline-grid;grid-template-columns:auto;gap:0;align-items:center;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:900;cursor:pointer;transition:color .18s ease,transform .18s ease}
.instagram-story-entry:hover,.instagram-story-entry:focus-visible{color:var(--accent);transform:translateY(-1px)}
.instagram-story-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;padding:4px;border-radius:50%;background:var(--paper-soft);box-shadow:0 0 0 1px var(--ink),var(--shadow-soft);isolation:isolate}
.instagram-story-ring:before,.instagram-story-ring:after{content:"";position:absolute;inset:0;border-radius:50%;opacity:0;pointer-events:none}
.instagram-story-ring:before{z-index:-1;background:conic-gradient(from 0deg,#f58529 0deg,#dd2a7b 120deg,#8134af 240deg,#515bd4 315deg,#f58529 360deg);clip-path:circle(50% at 50% 50%);--story-reveal:0deg;mask:conic-gradient(from 0deg,#000 0deg,#000 var(--story-reveal),transparent var(--story-reveal) 360deg);-webkit-mask:conic-gradient(from 0deg,#000 0deg,#000 var(--story-reveal),transparent var(--story-reveal) 360deg)}
.instagram-story-ring:after{z-index:-2;border:2px solid color-mix(in srgb,var(--accent) 72%,transparent);transform:scale(.96)}
.instagram-story-entry.has-stories .instagram-story-ring:before{opacity:1;--story-reveal:360deg}
.instagram-story-entry.has-stories .instagram-story-ring:after{opacity:1;animation:storyPulse 1.35s ease-in-out infinite}
.instagram-story-entry.story-arrived:not(.is-seen) .instagram-story-ring:before{--story-reveal:360deg;animation:none}
.instagram-story-entry.story-arrived .instagram-story-ring:after{animation:storyPulse 1.55s ease-in-out infinite}
.instagram-story-entry.is-seen .instagram-story-ring:before{background:conic-gradient(from 0deg,color-mix(in srgb,var(--muted) 68%,var(--paper)) 0deg,color-mix(in srgb,var(--muted) 68%,var(--paper)) 360deg);animation:none}
.instagram-story-entry.is-seen .instagram-story-ring:after{display:none}
.instagram-story-avatar{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;border:2px solid var(--paper);border-radius:50%;background:var(--paper-soft);color:var(--accent);font-size:.82rem;font-weight:900}
.instagram-story-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.instagram-story-label{display:none;font-size:.72rem;text-transform:uppercase}
.instagram-play-toggle{position:absolute;left:50%;top:50%;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.46);color:#fff;font:inherit;font-size:1.05rem;font-weight:900;cursor:pointer;transform:translate(-50%,-50%);transition:background .18s ease,opacity .18s ease,transform .18s ease}
.instagram-play-toggle:hover,.instagram-play-toggle:focus-visible{background:var(--accent);transform:translate(-50%,-50%) scale(1.04)}
.instagram-card.is-playing .instagram-play-toggle{opacity:0;pointer-events:none}
.instagram-mute-toggle{position:absolute;right:12px;top:12px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(0,0,0,.46);color:#fff;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.instagram-mute-toggle svg{display:block;width:18px;height:18px}
.instagram-mute-toggle:not(.is-muted) .mute-mark{display:none}
.instagram-mute-toggle:hover,.instagram-mute-toggle:focus-visible{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}
.instagram-expand-toggle{position:absolute;right:12px;top:56px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(0,0,0,.46);color:#fff;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.instagram-expand-toggle svg{display:block;width:19px;height:19px}
.instagram-expand-toggle:hover,.instagram-expand-toggle:focus-visible{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}
.instagram-account-link{display:block;min-width:0}
.instagram-account-link:hover strong,.instagram-account-link:focus-visible strong{color:var(--accent)}
.reel-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:clamp(18px,4vw,48px);background:rgba(0,0,0,.56);backdrop-filter:blur(6px)}
.reel-overlay-frame{position:relative;width:min(390px,calc(100vw - 34px));max-height:min(82vh,780px);display:grid;place-items:stretch;background:transparent}
.reel-overlay-frame .instagram-card{width:100%;height:auto;grid-template-rows:auto auto;border-color:rgba(255,255,255,.38);box-shadow:0 24px 90px rgba(0,0,0,.58)}
.reel-overlay-frame .instagram-media{height:auto;aspect-ratio:9/16}
.reel-overlay-frame .instagram-media video{height:100%;object-fit:cover;background:#050505}
.reel-overlay-frame .instagram-post-head{min-height:58px}
.reel-overlay-frame .instagram-reel-text p{-webkit-line-clamp:3;font-size:.84rem}
.reel-overlay-frame .instagram-reel-actions{right:14px;bottom:18px}
.reel-overlay-frame .instagram-play-toggle{width:58px;height:58px}
.instagram-reel-comments a{color:inherit}
.instagram-reel-comments a:hover{color:var(--accent)}
.instagram-story-modal{--story-origin-x:50vw;--story-origin-y:50vh;--story-origin-size:64px;position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.76);backdrop-filter:blur(12px);animation:storyModalOpen .38s cubic-bezier(.22,1,.36,1) both;clip-path:circle(150vmax at var(--story-origin-x) var(--story-origin-y))}
.instagram-story-modal.is-closing{pointer-events:none;animation:storyModalClose .32s cubic-bezier(.55,.06,.68,.19) both}
.instagram-story-view{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(420px,calc(100vw - 32px));height:min(780px,calc(100vh - 40px));overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.34);border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.56),0 0 0 1px rgba(255,255,255,.08) inset;color:#fff;animation:storyViewOpen .42s cubic-bezier(.22,1,.36,1) both}
.instagram-story-modal.is-closing .instagram-story-view{animation:storyViewClose .28s cubic-bezier(.55,.06,.68,.19) both}
.instagram-story-view:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,.18) 18%,transparent 40%,rgba(0,0,0,.28) 100%)}
.instagram-story-close{position:absolute;top:13px;right:13px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(0,0,0,.34);color:#fff;font-size:1.35rem;line-height:1;cursor:pointer;backdrop-filter:blur(8px);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.instagram-story-progress{position:relative;z-index:3;display:grid;grid-auto-flow:column;gap:6px;padding:14px 58px 9px 14px}
.instagram-story-progress span{position:relative;height:4px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.28);box-shadow:0 1px 8px rgba(0,0,0,.26)}
.instagram-story-progress span i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.42)}
.instagram-story-progress span.is-done i{width:100%}
.instagram-story-progress span.is-active i{width:0}
.instagram-story-top{position:relative;z-index:3;display:flex;gap:10px;align-items:center;padding:0 15px 10px}
.instagram-story-top .instagram-story-avatar{width:34px;height:34px;flex:0 0 auto;border-color:#111}
.instagram-story-media{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:#080808}
.instagram-story-media img,.instagram-story-media video{display:block;width:100%;height:100%;object-fit:cover}
.instagram-story-empty{position:relative;z-index:2;align-self:center;margin:120px 22px 22px;padding:22px;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.32);color:#fff}
.instagram-story-empty p{margin:0 0 16px;color:#fff}
.instagram-story-nav{position:absolute;top:50%;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:42px;height:58px;border:0;background:transparent;color:#fff;font-size:2.3rem;text-shadow:0 2px 12px rgba(0,0,0,.7);cursor:pointer;transform:translateY(-50%);transition:color .18s ease,transform .18s ease}
.instagram-story-prev{left:10px}
.instagram-story-next{right:10px}
.instagram-story-nav:hover{color:var(--accent);transform:translateY(-50%) scale(1.08)}.instagram-story-close:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.04)}
@keyframes storyPulse{0%,100%{transform:scale(.98);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 44%,transparent),0 0 16px color-mix(in srgb,var(--accent) 32%,transparent)}50%{transform:scale(1.1);box-shadow:0 0 0 12px color-mix(in srgb,var(--accent) 0%,transparent),0 0 30px color-mix(in srgb,var(--accent) 62%,transparent)}}
@keyframes instagramNoticePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.22);opacity:.78}}
@keyframes storyRingBuild{0%{opacity:1;--story-reveal:0deg}100%{opacity:1;--story-reveal:360deg}}
@keyframes storyModalOpen{0%{opacity:.15;clip-path:circle(calc(var(--story-origin-size) / 2) at var(--story-origin-x) var(--story-origin-y));backdrop-filter:blur(0)}100%{opacity:1;clip-path:circle(150vmax at var(--story-origin-x) var(--story-origin-y));backdrop-filter:blur(12px)}}
@keyframes storyModalClose{0%{opacity:1;clip-path:circle(150vmax at var(--story-origin-x) var(--story-origin-y));backdrop-filter:blur(12px)}100%{opacity:.12;clip-path:circle(calc(var(--story-origin-size) / 2) at var(--story-origin-x) var(--story-origin-y));backdrop-filter:blur(0)}}
@keyframes storyViewOpen{0%{opacity:0;transform:translate3d(0,18px,0) scale(.72);filter:blur(5px)}65%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
@keyframes storyViewClose{0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}100%{opacity:0;transform:translate3d(0,18px,0) scale(.72);filter:blur(5px)}}
@keyframes storyProgressFill{0%{width:0}100%{width:100%}}
@keyframes heroTextFade{0%{opacity:0;transform:translateY(18px);filter:blur(4px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes pageHeroSlideIn{0%{opacity:0;transform:translate3d(-52px,0,0);filter:blur(4px)}100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes navItemDropIn{0%{opacity:0;translate:0 -46px}42%{opacity:1}100%{opacity:1;translate:0 0}}
.theme-button,.button,.footer-nav a,.footer-bottom a{transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.theme-button:hover,.button:hover{background:var(--accent);border-color:var(--accent-dark);color:#fff;box-shadow:4px 4px 0 rgba(143,20,25,.52),0 0 24px rgba(197,32,38,.28);transform:translate(-1px,-1px)}.footer-nav a:hover,.footer-bottom a:hover{color:var(--accent);border-color:var(--accent);transform:translateX(2px)}.button-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.cookie-banner{position:fixed;left:clamp(12px,3vw,28px);right:clamp(12px,3vw,28px);bottom:clamp(12px,3vw,28px);z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;max-width:1120px;margin:0 auto;padding:20px;background:var(--paper-soft);border:1px solid var(--ink);box-shadow:var(--shadow);color:var(--ink)}.cookie-banner strong{display:block;margin-bottom:6px;font-size:.95rem;text-transform:uppercase}.cookie-banner p{margin:0;color:var(--muted);font-size:.92rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.button:disabled,.button[aria-disabled="true"]{cursor:wait;opacity:.72;transform:none;filter:saturate(.82)}
.cookie-banner a{color:var(--ink);font-weight:900;border-bottom:1px solid var(--accent)}
.cookie-kicker{display:inline-flex;width:max-content;margin-bottom:8px;padding:6px 9px;background:var(--accent);border:1px solid var(--accent-dark);color:#fff;font-size:.7rem;font-weight:900;text-transform:uppercase}
.cookie-copy{display:grid;gap:0}
.cookie-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.cookie-options label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:12px;background:var(--paper);border:1px solid var(--line);font-size:.86rem;color:var(--ink);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.cookie-options label:hover{border-color:var(--accent);box-shadow:4px 4px 0 rgba(143,20,25,.24);transform:translate(-1px,-1px)}
.cookie-options input{width:18px;min-height:18px;margin-top:2px;accent-color:var(--accent)}
.cookie-options label strong{display:block;margin:0 0 3px;font-size:.82rem;text-transform:uppercase}
.cookie-options label small{display:block;color:var(--muted);font-size:.75rem;font-weight:800;line-height:1.35}
.external-consent-card{grid-column:1/-1;display:grid;gap:14px;align-content:center;min-height:280px;padding:28px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}
.external-consent-card span{font-weight:900;text-transform:uppercase;color:var(--accent);font-size:.78rem}
.external-consent-card h3{margin:0}
.external-consent-card p{max-width:720px;margin:0;color:var(--muted)}
.external-consent-card .button{justify-self:start}
.map-placeholder .button{margin-top:14px}
.legal-content{max-width:var(--max);margin:0 auto;display:grid;gap:18px}
.legal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.legal-info-card{padding:24px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}
.legal-info-card h2,.legal-info-card h3{margin-top:0}
.legal-info-card p,.legal-info-card li{color:var(--muted)}
.legal-info-card ul{margin:14px 0 0;padding-left:20px}
.legal-todo{display:block;margin:14px 0 0;padding:10px 12px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper));color:var(--ink);font-size:.88rem;font-weight:800;line-height:1.45}
.legal-todo strong{color:var(--accent);text-transform:uppercase}
.settings-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.settings-status{display:inline-block;margin:12px 0 0;padding:10px 12px;background:var(--paper-soft);border:1px solid var(--line);color:var(--ink);font-weight:800}
.settings-actions .button.is-active{background:var(--accent);border-color:var(--accent-dark);color:#fff;box-shadow:4px 4px 0 rgba(143,20,25,.42)}
.settings-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.settings-choice-card{display:grid;gap:18px;align-content:space-between;min-height:210px;padding:18px;background:var(--paper-soft);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.settings-choice-card.is-active{background:var(--paper);border-color:var(--accent);box-shadow:6px 6px 0 rgba(143,20,25,.36)}
.settings-choice-card h3{margin:12px 0 8px}
.settings-choice-card p{margin:0;color:var(--muted)}
.settings-badge{display:inline-flex;width:max-content;padding:7px 9px;background:var(--paper);border:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}
.settings-badge.is-active{background:var(--accent);border-color:var(--accent-dark);color:#fff}
.cookie-explain{display:grid;gap:28px}
.cookie-explain-group{display:grid;gap:14px}
.cookie-explain-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.cookie-explain-heading span{color:var(--accent);font-size:.74rem;font-weight:900;text-transform:uppercase}
.cookie-explain-heading h2{font-size:clamp(1.35rem,2.3vw,2rem)}
.cookie-explain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cookie-explain-card{min-height:0}
.cookie-explain-card.is-required{border-color:var(--ink);background:var(--paper)}
.cookie-explain-card.is-muted{background:var(--paper-soft)}
.cookie-explain-note{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--paper))}
.legal-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.legal-overview-grid .paper-card{min-height:190px;padding:20px}
.legal-overview-grid .paper-card h3{margin-top:0}
@media (max-width:1180px){.settings-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.settings-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.hero,.split,.contact-strip,.detail-layout,.location-section{grid-template-columns:1fr}.workshop-band{grid-template-columns:1fr;padding-inline:clamp(16px,5vw,68px)}.workshop-band>div:first-child,.workshop-band>.text-stack{grid-column:1}.workshop-gallery-band{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:clamp(16px,5vw,68px)}.workshop-gallery-band>.image-placeholder:nth-child(n){grid-column:auto}.detail-layout#kontakt{grid-template-columns:1fr;padding-inline:clamp(16px,5vw,68px)}.detail-layout#kontakt>div,.detail-layout#kontakt>.contact-form{grid-column:1}.hero{min-height:auto}.service-grid,.review-grid,.legal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.service-carousel{grid-template-columns:auto minmax(0,1fr) auto}.service-carousel .service-grid{grid-auto-columns:minmax(260px,72vw)}.instagram-heading{display:grid}.instagram-heading .button{justify-self:start}.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-row{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-strip .button{justify-self:start}.location-copy{margin-left:0}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}}
@media (max-width:640px){main{padding-top:0}.site-header{grid-template-columns:1fr}.site-header:before{height:188px}.social-links,.brand,.theme-button{grid-column:auto;justify-self:center}.social-links{order:2}.brand{order:1;width:min(245px,70vw)}.theme-button{order:3}.main-nav{order:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:0}.main-nav a{text-align:center;font-size:.72rem;padding-inline:8px}.service-grid,.review-grid,.legal-grid,.instagram-grid,.visual-row,.form-row,.cookie-banner{grid-template-columns:1fr}.service-carousel{grid-template-columns:1fr;gap:10px}.service-arrow{width:100%;height:38px}.service-carousel .service-grid{grid-row:2;grid-auto-columns:minmax(250px,86vw)}.service-arrow-prev{grid-row:1}.service-arrow-next{grid-row:3}.hero{padding-top:40px}.button,.map-placeholder .button{width:100%}.cookie-actions{justify-content:stretch}}
@media (max-width:980px){.service-carousel .service-grid{grid-auto-columns:minmax(320px,76vw)}}
@media (max-width:640px){.service-carousel .service-grid{grid-row:2;grid-auto-columns:minmax(280px,88vw)}}
.service-overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.service-overview-grid .service-media{aspect-ratio:16/11;margin:-10px -10px 24px}
.reviews-section{display:grid;gap:28px;overflow:hidden}
.reviews-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;max-width:var(--max);margin:0 auto;width:100%}
.reviews-head p:not(.eyebrow){max-width:760px;margin:10px 0 0;color:var(--muted)}
.reviews-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.review-rating-reveal,.review-gallery-reveal{opacity:0;translate:0 44px;filter:blur(4px);transition:opacity .82s cubic-bezier(.22,1,.36,1),translate .82s cubic-bezier(.22,1,.36,1),filter .82s cubic-bezier(.22,1,.36,1)}
.review-rating-reveal.is-visible,.review-gallery-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0)}
.google-rating-card{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px;align-items:center;max-width:var(--max);width:100%;margin:0 auto;padding:20px 24px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,var(--paper)) 0, var(--paper) 42%);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}
.google-rating-card span{font-weight:900;text-transform:uppercase;font-size:.78rem}
.google-rating-card strong{font-size:clamp(2rem,5vw,3.7rem);line-height:.9;color:var(--accent)}
.google-rating-card small{color:var(--muted);font-weight:800;text-transform:uppercase}
.google-rating-copy{display:grid;gap:4px;align-content:center}
.google-rating-stars{position:relative;width:max-content;color:color-mix(in srgb,var(--muted) 34%,transparent);font-size:1.05rem;font-weight:900;line-height:1;letter-spacing:0}
.google-rating-stars-base{display:block;color:color-mix(in srgb,var(--muted) 34%,transparent)}
.google-rating-stars-fill{position:absolute;inset:0 auto 0 0;width:var(--google-rating-percent,100%);overflow:hidden;color:var(--accent);white-space:nowrap}
.google-review-carousel{position:relative;display:grid;grid-template-columns:auto minmax(0,var(--max)) auto;gap:12px;align-items:center;max-width:calc(var(--max) + 108px);width:100%;margin:0 auto}
.google-review-grid{position:relative;display:grid;place-items:center;min-height:var(--review-gallery-height,500px);max-width:none;margin:0;overflow:visible;padding:26px clamp(46px,6vw,82px);transition:min-height .34s cubic-bezier(.22,1,.36,1)}
.google-review-grid::-webkit-scrollbar{display:none}
.google-review-card{position:absolute;inset:auto;z-index:1;display:flex;width:min(430px,54vw);min-height:360px;flex-direction:column;gap:16px;text-decoration:none;opacity:0;translate:0 72px;filter:blur(5px);transform:translateX(calc(var(--review-offset,0) * 360px)) scale(.82);pointer-events:none;transition:opacity .82s cubic-bezier(.22,1,.36,1),translate .84s cubic-bezier(.22,1,.36,1),filter .82s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.2,.82,.2,1),border-color .18s ease,box-shadow .18s ease}
.google-review-grid.is-visible .google-review-card{translate:0 0}
.google-review-card.is-active{z-index:5;width:min(540px,58vw);min-height:420px;padding:30px;opacity:1;filter:blur(0);transform:translateX(0) scale(1);pointer-events:auto;box-shadow:var(--shadow)}
.google-review-card.is-prev,.google-review-card.is-next{z-index:3;opacity:.62;filter:blur(1px) saturate(.88);pointer-events:auto}
.google-review-card.is-prev{transform:translateX(clamp(-380px,-34vw,-270px)) scale(.78)}
.google-review-card.is-next{transform:translateX(clamp(270px,34vw,380px)) scale(.78)}
.google-review-card.is-hidden-review{opacity:0;filter:blur(6px);transform:translateX(calc(var(--review-offset,0) * 430px)) scale(.76);pointer-events:none}
.google-review-grid.is-at-start .google-review-card.is-active,.google-review-grid.is-at-end .google-review-card.is-active{transform:translateX(0) scale(1)}
.google-review-grid.is-at-start .google-review-card.is-prev,.google-review-grid.is-at-end .google-review-card.is-next{opacity:0;pointer-events:none}
.google-review-card.is-active .google-review-top h3{font-size:1.22rem}
.google-review-card.is-active .google-stars{font-size:1.22rem}
.google-review-card.is-active>p{font-size:1.04rem}
.google-review-card:hover,.google-review-card:focus-within{border-color:var(--accent-dark);box-shadow:7px 7px 0 rgba(143,20,25,.42)}
.google-review-arrow{position:relative;z-index:7;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;font-size:0;line-height:0}
.google-review-arrow:before{content:"";display:block;width:13px;height:13px;border-color:currentColor;border-style:solid}
.google-review-arrow-prev:before{border-width:0 0 2px 2px;transform:rotate(45deg) translate(1px,-1px)}
.google-review-arrow-next:before{border-width:2px 2px 0 0;transform:rotate(45deg) translate(-1px,1px)}
.google-review-arrow:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:var(--shadow-soft)}
.google-review-arrow:disabled:hover,.google-review-arrow:disabled:focus-visible{background:var(--paper);border-color:var(--ink);color:var(--ink);box-shadow:var(--shadow-soft)}
.google-review-top{display:flex;gap:14px;align-items:center}
.google-avatar{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:#8a8f98;color:#fff;font-weight:900;overflow:hidden;flex:0 0 auto}
.google-avatar img{width:100%;height:100%;object-fit:cover}
.google-avatar.has-google-photo{border:0;border-radius:0;background:transparent;overflow:visible}
.google-avatar.has-google-photo img{object-fit:contain;border-radius:0}
.google-avatar.is-google-placeholder{background:var(--google-avatar-color,var(--accent));color:#fff;padding:0;font-size:1.18rem;line-height:1;text-transform:uppercase}
.google-review-top h3{margin:0;font-size:1.05rem}
.google-review-top h3 a{color:inherit;text-decoration:none}
.google-review-top h3 a:hover,.google-review-top h3 a:focus-visible{color:var(--accent)}
.google-review-top small{display:block;margin-top:3px;color:var(--muted);font-weight:800;text-transform:uppercase;font-size:.72rem}
.google-stars{position:relative;width:max-content;color:color-mix(in srgb,var(--muted) 34%,transparent);font-size:1.05rem;letter-spacing:0;font-weight:900;line-height:1}
.google-review-card p{margin:0;color:var(--muted)}
.google-review-text{display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.google-review-card.has-long-review-text:not(.is-review-text-open) .google-review-text{-webkit-mask-image:linear-gradient(180deg,#000 0 68%,transparent 100%);mask-image:linear-gradient(180deg,#000 0 68%,transparent 100%)}
.google-review-card.is-review-text-open .google-review-text{-webkit-line-clamp:unset;overflow:visible;-webkit-mask-image:none;mask-image:none}
.google-review-text-toggle{width:max-content;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.76rem;font-weight:900;text-transform:uppercase;cursor:pointer}
.google-review-text-toggle:hover,.google-review-text-toggle:focus-visible{color:var(--ink)}
.google-review-response-toggle{width:max-content;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.76rem;font-weight:900;text-transform:uppercase;cursor:pointer}
.google-review-response-toggle:hover,.google-review-response-toggle:focus-visible{color:var(--ink)}
.google-review-response{max-height:0;overflow:hidden;opacity:0;border-top:1px solid var(--line);transition:max-height .34s cubic-bezier(.22,1,.36,1),opacity .24s ease,padding-top .24s ease}
.google-review-response strong{display:block;margin:0 0 8px;color:var(--ink);font-size:.78rem;text-transform:uppercase}
.google-review-card.is-response-open .google-review-response{max-height:220px;opacity:1;padding-top:14px}
.google-review-source{margin-top:auto;color:var(--accent);font-weight:900;text-transform:uppercase;font-size:.76rem;text-decoration:none}
.google-review-source:hover,.google-review-source:focus-visible{color:var(--ink)}
.google-review-all-card{justify-content:center;text-align:left}
.google-review-all-kicker{width:max-content;padding:8px 10px;border:1px solid var(--ink);background:var(--paper-soft);color:var(--accent);font-size:.76rem;font-weight:900;text-transform:uppercase}
.google-review-all-card h3{max-width:340px;margin:0;font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.02}
.google-review-all-card .button{width:max-content;margin-top:auto}
a.google-review-card:hover .google-rating-stars-fill,a.google-review-card:focus-visible .google-rating-stars-fill{color:#fff}
.review-modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:clamp(16px,4vw,48px)}
.review-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.64);backdrop-filter:blur(8px)}
.review-modal-panel{position:relative;z-index:1;display:grid;gap:18px;width:min(620px,100%);padding:clamp(24px,5vw,42px);background:var(--paper-soft);border:1px solid var(--ink);box-shadow:var(--shadow);color:var(--ink)}
.review-modal-panel h2{font-size:clamp(1.7rem,4vw,2.65rem)}
.review-modal-panel p:not(.eyebrow){margin:0;color:var(--muted)}
.review-modal-close{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-soft);color:var(--ink);font:inherit;font-size:1.25rem;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.review-modal-close:hover,.review-modal-close:focus-visible{background:var(--accent);border-color:var(--accent-dark);color:#fff;transform:translate(-1px,-1px)}
.review-modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.review-modal-is-open{overflow:hidden}
@media (max-width:980px){.google-review-carousel{grid-template-columns:auto minmax(0,1fr) auto}.google-review-grid{min-height:480px;padding-inline:clamp(28px,5vw,54px)}.google-review-card{width:min(390px,62vw)}.google-review-card.is-active{width:min(480px,64vw)}.google-review-card.is-prev{transform:translateX(clamp(-300px,-36vw,-220px)) scale(.76)}.google-review-card.is-next{transform:translateX(clamp(220px,36vw,300px)) scale(.76)}}
@media (max-width:700px){.reviews-head{grid-template-columns:1fr;text-align:center}.reviews-head .eyebrow,.reviews-head h2,.reviews-head p{margin-left:auto;margin-right:auto}.reviews-actions{justify-content:center}.reviews-actions .button{width:auto}.google-rating-card{grid-template-columns:1fr;justify-items:center;gap:10px;text-align:center;padding:22px 18px}.google-rating-card strong{font-size:clamp(3rem,18vw,4.6rem)}.google-rating-copy{justify-items:center}.google-rating-stars{font-size:1.22rem}.google-review-carousel{grid-template-columns:1fr;gap:10px;overflow-x:hidden;overflow-y:visible}.google-review-arrow{display:none}.google-review-grid{grid-row:1;min-height:var(--review-gallery-height,430px);padding-inline:0;overflow:visible;touch-action:pan-y}.google-review-card,.google-review-card.is-active{width:min(82vw,340px);min-height:360px;padding:22px}.google-review-card.is-active .google-review-top h3{font-size:1.05rem}.google-review-card.is-active .google-stars{font-size:1.05rem}.google-review-card.is-active>p,.google-review-card p{font-size:.92rem;line-height:1.48}.google-review-text-toggle,.google-review-source,.google-review-response-toggle{font-size:.7rem}.google-review-card.is-prev{transform:translateX(-54vw) scale(.7)}.google-review-card.is-next{transform:translateX(54vw) scale(.7)}}
@media (max-width:900px) and (pointer:coarse){.google-review-carousel{grid-template-columns:1fr!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:visible!important}.google-review-arrow{display:none!important}.google-review-grid{grid-row:1!important;min-height:var(--review-gallery-height,430px)!important;padding-inline:0!important;overflow:visible!important;touch-action:pan-y!important}.google-review-card,.google-review-card.is-active{width:min(82vw,340px)!important;min-height:360px!important;padding:22px!important}.google-review-card.is-active .google-review-top h3{font-size:1.05rem!important}.google-review-card.is-active .google-stars{font-size:1.05rem!important}.google-review-card.is-active>p,.google-review-card p{font-size:.92rem!important;line-height:1.48!important}.google-review-text-toggle,.google-review-source,.google-review-response-toggle{font-size:.7rem!important}.google-review-card.is-prev{transform:translateX(-54vw) scale(.7)!important}.google-review-card.is-next{transform:translateX(54vw) scale(.7)!important}.google-review-card.is-hidden-review{transform:translateX(calc(var(--review-offset,0) * 72vw)) scale(.62)!important}}
[hidden]{display:none!important}
@media (max-width:820px){.cookie-options{grid-template-columns:1fr}.cookie-banner{align-items:stretch}.cookie-actions{justify-content:stretch}.cookie-actions .button{width:100%}}
@media (max-width:1100px){.legal-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.legal-overview-grid{grid-template-columns:1fr}}
.cookie-banner{grid-template-columns:minmax(0,1fr);max-width:860px;gap:18px;padding:22px}
.cookie-kicker{background:transparent;border-color:var(--line);color:var(--muted)}
.cookie-banner strong{font-size:1.05rem}
.cookie-options{grid-template-columns:1fr;gap:8px}
.cookie-options label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;padding:11px 12px;background:transparent;border-color:var(--line);box-shadow:none;transform:none}
.cookie-options label:hover{border-color:var(--accent);box-shadow:none;transform:none}
.cookie-options input{width:18px;min-height:18px;margin:1px 0 0}
.cookie-options label strong{font-size:.84rem}
.cookie-options label small{font-size:.76rem}
.cookie-actions{justify-content:flex-start}
@media (max-width:640px){.social-links{order:3}.theme-button{order:4}.main-nav{order:5}.instagram-story-label{display:none}.instagram-story-ring{width:56px;height:56px}.instagram-story-view{height:min(720px,calc(100vh - 28px))}}
@media (prefers-reduced-motion:reduce){.hero-copy>*,.main-nav a,.page-hero-slide>*,.service-heading-reveal,.instagram-heading-reveal,.youtube-heading-reveal,.youtube-copy .youtube-description,.workshop-heading-reveal,.workshop-copy-reveal,.instagram-card-reveal,.workshop-image-reveal,.service-sequence-card,.contact-copy-reveal,.contact-form-reveal,.contact-field-reveal,.profile-point-reveal,.location-copy-reveal,.location-map-reveal,.project-teaser-section .project-copy,.project-teaser-section .project-media-column,.review-rating-reveal,.review-gallery-reveal,.google-review-card,.instagram-story-modal,.instagram-story-view{opacity:1;animation:none;transform:none;scale:1;translate:0 0;filter:none;transition:none;clip-path:none}}
.social-links{align-items:center}
.instagram-story-entry{margin-right:16px}
.instagram-story-ring{width:78px;height:78px;padding:4px}
@media (max-width:640px){.instagram-story-entry{margin-right:10px}.instagram-story-ring{width:64px;height:64px}}
.instagram-card.is-reel{border-radius:6px;background:#101113;box-shadow:var(--shadow-soft);overflow:hidden}
.instagram-card.is-reel .instagram-post-head{min-height:54px;padding:10px 12px;background:color-mix(in srgb,var(--paper-soft) 92%,#000);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.instagram-card.is-reel .instagram-post-head small{font-size:.68rem}
.instagram-card.is-reel .instagram-follow{min-height:30px;padding:6px 11px;font-size:.68rem}
.instagram-card.is-reel .instagram-media{max-height:none;background:#111}
.instagram-card.is-reel .instagram-media:after{inset:48% 0 0;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.18) 22%,rgba(0,0,0,.72) 68%,rgba(0,0,0,.92) 100%)}
.instagram-card.is-reel .instagram-media-badge{display:none}
.instagram-card.is-reel .instagram-play-toggle{width:50px;height:50px;background:rgba(0,0,0,.34);border-color:rgba(255,255,255,.58);font-size:.96rem}
.instagram-embed-frame{position:relative;z-index:5;display:block;width:100%;height:100%;min-height:420px;border:0;background:#fff}
.instagram-card.is-reel .instagram-media .instagram-embed-frame{position:absolute;inset:0;min-height:0}
.instagram-card.is-instagram-embed-active .instagram-media:after,.instagram-card.is-instagram-embed-active .instagram-reel-text,.instagram-card.is-instagram-embed-active .instagram-reel-actions{display:none}
.reel-embed-overlay-frame{width:min(430px,calc(100vw - 34px));height:min(82vh,760px);background:#fff;box-shadow:0 24px 90px rgba(0,0,0,.58)}
.reel-embed-overlay-frame .instagram-embed-frame{height:100%;min-height:0}
.instagram-card.is-reel .instagram-reel-text{left:12px;right:54px;bottom:13px;gap:4px}
.instagram-card.is-reel .instagram-reel-text p{-webkit-line-clamp:2;font-size:.78rem;line-height:1.28;text-shadow:0 1px 8px rgba(0,0,0,.78)}
.instagram-card.is-reel .instagram-reel-text small{font-size:.68rem;color:rgba(255,255,255,.72)}
.instagram-card.is-reel .instagram-reel-actions{right:10px;bottom:14px;gap:4px}
.instagram-card.is-reel .instagram-reel-actions span{width:40px;height:40px;background:transparent;border-color:transparent;text-shadow:none}
.instagram-card.is-reel .instagram-reel-actions strong{font-size:.7rem;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.reel-action-icon svg{display:block;width:34px;height:34px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.82))}
.reel-comment-icon svg{width:35px;height:35px}
.reel-comment-icon{font-size:0!important}
.instagram-caption-more{justify-self:start;width:max-content;padding:0;border:0;background:transparent;color:rgba(255,255,255,.78);font:inherit;font-size:.72rem;font-weight:900;cursor:pointer;text-shadow:0 1px 8px rgba(0,0,0,.78)}
.instagram-caption-more:hover,.instagram-caption-more:focus-visible{color:#fff;text-decoration:underline}
.instagram-card.is-caption-open .instagram-reel-text{right:50px;max-height:48%;overflow:auto;padding-right:4px}
.instagram-card.is-caption-open .instagram-reel-text p{display:block;overflow:visible;-webkit-line-clamp:unset}
.reel-action-count{font-size:.72rem;line-height:1;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.instagram-card.is-reel .instagram-reel-comments{display:flex;align-items:center;min-height:42px;padding:10px 14px;background:var(--paper-soft);border-top:1px solid var(--line);font-size:.78rem}
.instagram-status:empty{display:none}
.service-arrow{position:relative;padding:0;font-size:0;line-height:0}
.service-arrow:before{content:"";display:block;width:11px;height:11px;border-color:currentColor;border-style:solid}
.service-arrow-prev:before{border-width:0 0 2px 2px;transform:rotate(45deg) translate(1px,-1px)}
.service-arrow-next:before{border-width:2px 2px 0 0;transform:rotate(45deg) translate(-1px,1px)}
.service-carousel .service-grid{cursor:grab;overscroll-behavior-inline:contain;touch-action:pan-y;padding:26px 10px 34px;scroll-padding-inline:calc(50% - 185px)}
.service-carousel .service-grid.is-dragging{cursor:grabbing;scroll-snap-type:none}
.service-carousel .paper-card{position:relative;z-index:1;opacity:.76;transform:translateZ(0) scale(.94);transform-origin:center;will-change:transform,opacity;transition:opacity .38s ease,transform .48s cubic-bezier(.2,.82,.2,1),background .18s ease,color .18s ease,border-color .22s ease,box-shadow .28s ease,filter .34s ease}
.service-carousel .paper-card.is-service-active{z-index:4;opacity:1;transform:translateZ(0) scale(1.055);border-color:var(--accent-dark);box-shadow:var(--shadow),0 0 22px color-mix(in srgb,var(--accent) 18%,transparent);filter:saturate(1.04)}
.service-carousel .paper-card.is-service-active .service-media{border-color:var(--accent)}
.service-carousel .paper-card.is-service-active .service-media img{transform:scale(1.035);filter:saturate(1.08) contrast(1.04)}
.service-carousel .paper-card.is-service-active:hover,.service-carousel .paper-card.is-service-active:focus-visible{transform:translate3d(-2px,-2px,0) scale(1.055)}
.instagram-heading-reveal{position:relative;z-index:1;opacity:0;translate:0 -94px;filter:blur(4px);transition:opacity .9s cubic-bezier(.22,1,.36,1),translate .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1)}
.instagram-heading-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0)}
.workshop-heading-reveal{position:relative;z-index:1;opacity:0;translate:0 -94px;filter:blur(4px);transition:opacity .9s cubic-bezier(.22,1,.36,1),translate .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1)}
.workshop-heading-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0)}
.workshop-copy-reveal{opacity:0;translate:-42px 0;filter:blur(4px);transition:opacity .52s cubic-bezier(.22,1,.36,1),translate .52s cubic-bezier(.22,1,.36,1),filter .52s cubic-bezier(.22,1,.36,1)}
.workshop-copy-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0);transition-delay:.55s}
.workshop-about-copy.workshop-copy-reveal.is-visible{transition-delay:.14s}
.instagram-card-reveal{opacity:0;translate:0 -94px;transition:opacity .9s cubic-bezier(.22,1,.36,1) var(--reel-reveal-delay,0ms),translate .9s cubic-bezier(.22,1,.36,1) var(--reel-reveal-delay,0ms)}
.instagram-card-reveal.is-visible{opacity:1;translate:0 0}
.page-hero-slide>*{opacity:0;animation:pageHeroSlideIn .82s cubic-bezier(.22,1,.36,1) forwards}
.page-hero-slide>*:nth-child(1){animation-delay:.08s}
.page-hero-slide>*:nth-child(2){animation-delay:.2s}
.page-hero-slide>*:nth-child(3){animation-delay:.34s}
.project-hero{position:relative;isolation:isolate}
.workshop-image-reveal{--workshop-reveal-progress:0;opacity:var(--workshop-reveal-progress);transform:translate3d(calc(-34px * (1 - var(--workshop-reveal-progress))),calc(-58px * (1 - var(--workshop-reveal-progress))),0);will-change:opacity,transform}
.service-overview-grid .paper-card.service-sequence-card{--service-reveal-progress:0;opacity:var(--service-reveal-progress);transform:translate3d(0,calc(34px * (1 - var(--service-reveal-progress))),0);will-change:opacity,transform}
.service-overview-grid .paper-card.service-sequence-card:hover,.service-overview-grid .paper-card.service-sequence-card:focus-visible{transform:translate3d(-2px,-2px,0)}
.workshop-about-section{align-items:center}.workshop-about-copy{max-width:900px}.team-section{overflow:hidden}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:var(--max);margin:0 auto}.team-card{display:grid;grid-template-rows:auto 1fr;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-soft);overflow:hidden}.team-photo{min-height:300px;border:0;border-bottom:1px solid var(--ink);box-shadow:none}.team-copy{display:grid;align-content:start;gap:10px;padding:22px}.team-copy span{width:max-content;padding:7px 9px;background:var(--accent);border:1px solid var(--accent-dark);color:#fff;font-size:.72rem;font-weight:900;text-transform:uppercase}.team-copy h3{margin:0}.team-copy p{margin:0;color:var(--muted)}
.profile-points{display:grid;grid-template-columns:1fr;gap:22px;margin-top:20px}.profile-point{display:grid;grid-template-columns:126px minmax(0,1fr);gap:20px;align-items:center;padding:0;background:transparent;border:0;box-shadow:none}.profile-photo{width:126px;height:126px;min-height:0;padding:0;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;box-shadow:none}.profile-photo span{max-width:88px;padding:7px 8px;font-size:.68rem;text-align:center}.profile-photo-image{background:transparent;border:2px solid var(--accent)}.profile-photo-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.profile-point>div:not(.profile-photo)>span{display:inline-flex;width:max-content;margin-bottom:8px;padding:6px 8px;background:var(--accent);border:1px solid var(--accent-dark);color:#fff;font-size:.68rem;font-weight:900;text-transform:uppercase}.profile-point h3{margin:0 0 7px}.profile-point p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.location-address-card{display:grid;gap:6px;margin:20px 0 0;padding:0 0 0 18px;border-left:3px solid var(--accent);font-style:normal}.location-address-card strong{color:var(--ink);font-size:1.08rem;line-height:1.25}.location-address-card span{color:var(--muted);font-weight:800;line-height:1.35}.location-hint{margin:16px 0 0;color:var(--muted);font-size:.92rem}.location-hint strong{color:var(--ink)}
.contact-location-link{display:grid;gap:10px;margin-top:20px;padding:16px 0 0;background:transparent;border:0;border-top:1px solid color-mix(in srgb,var(--contact-line) 36%,transparent);box-shadow:none;color:var(--contact-ink)}.contact-location-link>span{width:max-content;color:var(--accent);font-size:.72rem;font-weight:900;text-transform:uppercase}.contact-location-link strong{display:none}.contact-location-link p{margin:0;color:var(--contact-muted);font-weight:900}.contact-location-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.contact-location-actions .button{min-height:38px;padding:9px 11px;font-size:.72rem}.contact-location-link+.image-placeholder{margin-top:32px}
.profile-point-reveal{opacity:0;translate:-34px 0;transition:opacity .62s cubic-bezier(.22,1,.36,1),translate .62s cubic-bezier(.22,1,.36,1)}.profile-point-reveal:nth-child(2){transition-delay:.12s}.profile-point-reveal.is-visible{opacity:1;translate:0 0}.location-copy-reveal{opacity:0;translate:-46px 0;filter:blur(4px);transition:opacity .78s cubic-bezier(.22,1,.36,1),translate .78s cubic-bezier(.22,1,.36,1),filter .78s cubic-bezier(.22,1,.36,1)}.location-map-reveal{opacity:0;translate:46px 0;transition:opacity .78s cubic-bezier(.22,1,.36,1),translate .78s cubic-bezier(.22,1,.36,1)}.location-copy-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0)}.location-map-reveal.is-visible{opacity:1;translate:0 0}
.maintenance-page{min-height:100vh}
.maintenance-shell{display:grid;place-items:center;min-height:100vh;padding:clamp(28px,6vw,72px)}
.maintenance-panel{display:grid;gap:28px;width:min(100%,980px);padding:clamp(28px,6vw,64px);background:var(--paper-soft);border:1px solid var(--ink);box-shadow:var(--shadow);position:relative;overflow:hidden}
.maintenance-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:var(--accent)}
.maintenance-brand{width:min(360px,74vw)}
.maintenance-copy{max-width:820px}
.maintenance-copy h1{font-size:clamp(2.4rem,6vw,5rem)}
.maintenance-copy p:not(.eyebrow){max-width:720px;margin:22px 0 0;color:var(--muted);font-size:1.1rem}
.maintenance-actions{display:flex;flex-wrap:wrap;gap:14px}
.maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.maintenance-card{padding:18px 20px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}
.maintenance-card span{display:block;margin-bottom:8px;color:var(--accent);font-size:.75rem;font-weight:900;text-transform:uppercase}
.maintenance-card strong{display:block;color:var(--ink);line-height:1.35}
@media (max-width:640px){.maintenance-grid{grid-template-columns:1fr}.maintenance-actions .button{width:100%}}
.contact-copy-reveal{opacity:0;translate:-46px -28px;filter:blur(4px);transition:opacity .68s cubic-bezier(.22,1,.36,1),translate .68s cubic-bezier(.22,1,.36,1),filter .68s cubic-bezier(.22,1,.36,1)}
.contact-form-reveal{opacity:0;translate:54px 0;transition:opacity .72s cubic-bezier(.22,1,.36,1),translate .72s cubic-bezier(.22,1,.36,1)}
.contact-field-reveal{opacity:0;translate:0 18px;transition:opacity .44s cubic-bezier(.22,1,.36,1),translate .44s cubic-bezier(.22,1,.36,1)}
[data-contact-reveal].is-visible .contact-copy-reveal,[data-contact-reveal].is-visible .contact-form-reveal,[data-contact-reveal].is-visible .contact-field-reveal{opacity:1;translate:0 0}.contact-copy-reveal{filter:blur(4px)}[data-contact-reveal].is-visible .contact-copy-reveal{filter:blur(0)}
[data-contact-reveal].is-visible .contact-form-reveal{transition-delay:.16s}
[data-contact-reveal].is-visible .contact-field-reveal{transition-delay:var(--contact-reveal-delay,0ms)}
.project-feed{display:block}
.project-section{max-width:none}
.project-teaser-section{transition:height .68s cubic-bezier(.22,1,.36,1)}
.project-teaser-section.is-closing{overflow:hidden}
.project-section:nth-child(odd){background:var(--paper-soft);border-block:1px solid var(--line)}
.project-inner{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.12fr);gap:clamp(28px,5vw,76px);align-items:start;max-width:var(--max);margin:0 auto}
.project-teaser{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(24px,3.4vw,54px);align-items:center;max-width:var(--max);margin:0 auto;color:inherit;text-decoration:none}
.project-teaser-section .project-copy,.project-teaser-section .project-media-column{opacity:0;transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1)}
.project-teaser-section .project-copy{transform:translate3d(-34px,26px,0)}
.project-teaser-section .project-media-column{transform:translate3d(42px,34px,0);transition-delay:.08s}
.project-teaser-section.is-scroll-visible .project-copy,.project-teaser-section.is-scroll-visible .project-media-column{opacity:1;transform:translate3d(0,0,0)}
.project-media-column{display:grid;align-content:center;gap:12px;box-sizing:border-box;padding:0 48px 12px;overflow:visible}
.project-teaser .button{margin-top:22px}
.project-cover{position:relative;display:grid;place-items:center;justify-self:center;overflow:visible;width:min(var(--project-cover-width,980px),100%);max-width:100%;aspect-ratio:var(--project-cover-ratio,16/9);margin:0;background:transparent;border:0;box-shadow:8px 8px 0 rgba(0,0,0,.34);transition:width 760ms cubic-bezier(.2,.82,.2,1),aspect-ratio 760ms cubic-bezier(.2,.82,.2,1),filter 420ms ease}
.project-cover:after{content:"";position:absolute;inset:0;z-index:6;border:1px solid #f4f1ea;pointer-events:none}
.project-cover-layer{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(1.012);filter:blur(5px) brightness(.92);transition:opacity 980ms ease,transform 1200ms cubic-bezier(.16,.84,.2,1),filter 980ms ease;will-change:opacity,transform,filter;pointer-events:none}
.project-cover-layer.is-active{opacity:1;transform:scale(1);filter:blur(0) brightness(1);z-index:2;pointer-events:auto}
.project-cover-layer.is-leaving{opacity:0;transform:scale(1.006);filter:blur(3px) brightness(.95);z-index:3;pointer-events:none}
.project-cover img,.project-cover video{display:block;width:100%;max-width:100%;height:100%;max-height:none;object-fit:contain;background:transparent}
.project-teaser-section.is-morphing .project-cover{filter:saturate(1.03)}
.project-cover-type{position:absolute;right:12px;top:12px;z-index:4;padding:7px 9px;background:var(--paper);border:1px solid var(--ink);color:var(--ink);font-size:.68rem;font-weight:900;text-transform:uppercase}
.project-cover-arrow{position:absolute;top:50%;z-index:5;width:48px;min-width:48px;height:64px;min-height:64px;padding:0;border:0;background:transparent;box-shadow:none;color:#fff;font-size:2.35rem;line-height:1;opacity:0;mix-blend-mode:difference;text-shadow:none;pointer-events:none;transition:opacity .46s cubic-bezier(.22,1,.36,1) .18s,translate .62s cubic-bezier(.22,1,.36,1) .18s,scale .18s ease,color .18s ease}.project-cover-arrow:hover,.project-cover-arrow:focus-visible{background:transparent;color:#fff;scale:1.12}.project-cover-arrow-prev{left:18px;translate:-28px -50%}.project-cover-arrow-next{right:18px;translate:28px -50%}.project-teaser-section.is-open .project-cover-arrow{opacity:1;translate:0 -50%;pointer-events:auto}.project-teaser-section.is-closing .project-cover-arrow{transition-delay:0s}
.project-teaser-section.is-project-arrows-hidden .project-cover-arrow{opacity:0;pointer-events:none;transition-delay:0s}
.project-cover-fallback{display:flex;align-items:flex-end;min-height:360px;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--metal) 72%,var(--paper)) 0 49%,transparent 49% 51%,color-mix(in srgb,var(--accent) 48%,var(--paper)) 51% 100%),var(--metal);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}
.project-cover-fallback span{padding:9px 11px;background:var(--paper);border:1px solid var(--ink);font-size:.78rem;font-weight:900;text-transform:uppercase}
.project-detail-top{max-width:var(--max);margin:0 auto 24px}
.project-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;line-height:0}
.project-meta span{display:inline-flex;align-items:center;min-height:28px;padding:6px 9px;background:var(--paper-soft);border:1px solid var(--ink);color:var(--ink);font-size:.7rem;font-weight:900;line-height:1;text-transform:uppercase}
.project-meta .project-meta-date{color:var(--accent)}
.project-section:nth-child(odd) .project-meta span{background:var(--paper)}
.project-copy h2{margin:0 0 18px;padding-top:18px}
.project-copy p{margin:0;color:var(--muted);line-height:1.52}
.project-copy .project-intro{margin-bottom:14px;color:var(--ink);font-size:1.08rem;font-weight:800;line-height:1.48}
.project-body{display:grid;gap:7px}
.project-drop-shell{display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transition:grid-template-rows .9s cubic-bezier(.22,1,.36,1),opacity .42s ease,margin-top .9s cubic-bezier(.22,1,.36,1)}
.project-teaser-section.is-open .project-drop-shell{grid-template-rows:1fr;margin-top:clamp(12px,2vw,18px);opacity:1}
.project-drop{min-height:0;transform:translateY(-28px);transition:transform .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1);filter:blur(4px)}
.project-teaser-section.is-open .project-drop{transform:translateY(0);filter:blur(0)}
.project-drop .project-body{max-width:720px;opacity:0;translate:0 -22px;transition:opacity .58s cubic-bezier(.22,1,.36,1) .18s,translate .7s cubic-bezier(.22,1,.36,1) .18s}.project-teaser-section.is-open .project-drop .project-body{opacity:1;translate:0 0}.project-teaser-section.is-closing .project-drop .project-body{transition-delay:0s}.project-drop .project-body p{margin:0;color:var(--muted);line-height:1.52}.project-drop .project-gallery{align-self:start;max-width:520px;opacity:0;translate:0 -18px;transition:opacity .62s cubic-bezier(.22,1,.36,1) .24s,translate .72s cubic-bezier(.22,1,.36,1) .24s}.project-teaser-section.is-open .project-drop .project-gallery{opacity:1;translate:0 0}.project-teaser-section.is-closing .project-drop .project-gallery{transition-delay:0s}
.project-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.project-media{position:relative;display:block;overflow:hidden;min-height:220px;background:var(--metal);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}
.project-media:first-child{grid-column:1/-1}
.project-media img,.project-media video{display:block;width:100%;height:100%;min-height:220px;object-fit:cover}
.project-media video{background:#111}
.project-media-fallback{display:flex;align-items:flex-end;min-height:320px;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--metal) 72%,var(--paper)) 0 49%,transparent 49% 51%,color-mix(in srgb,var(--accent) 48%,var(--paper)) 51% 100%),var(--metal);border:1px solid var(--ink);box-shadow:var(--shadow-soft)}
.project-media-fallback span{padding:9px 11px;background:var(--paper);border:1px solid var(--ink);font-size:.78rem;font-weight:900;text-transform:uppercase}
.project-gallery{display:grid;gap:9px}.project-gallery-stage{position:relative;display:block;overflow:hidden;min-height:420px;margin:0;background:#111;border:0;box-shadow:8px 8px 0 rgba(0,0,0,.34)}.project-gallery-stage:after{content:"";position:absolute;inset:0;z-index:3;border:1px solid #f4f1ea;pointer-events:none}.project-gallery-stage img,.project-gallery-stage video{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}.project-gallery-controls{display:flex;align-items:center;justify-content:flex-start;gap:12px;order:2;opacity:0;translate:0 -8px;transition:opacity .5s cubic-bezier(.22,1,.36,1) .36s,translate .58s cubic-bezier(.22,1,.36,1) .36s}.project-teaser-section.is-open .project-gallery-controls{opacity:1;translate:0 0}.project-teaser-section.is-closing .project-gallery-controls{transition-delay:0s}.project-gallery-controls span{min-width:68px;text-align:left;color:var(--muted);font-size:.78rem;font-weight:900}.project-gallery-arrow{width:42px;min-width:42px;height:42px;min-height:42px;padding:0;border-color:var(--ink);background:var(--paper);box-shadow:var(--shadow-soft);color:var(--ink);font-size:1.5rem;line-height:1}.project-gallery-arrow:hover,.project-gallery-arrow:focus-visible{background:var(--accent);color:#fff}.project-gallery-thumbs{display:flex;flex-wrap:wrap;gap:10px;order:1}.project-gallery-thumb{position:relative;overflow:hidden;width:118px;min-width:118px;height:78px;min-height:78px;padding:0;border:1px solid var(--ink);background:var(--paper-soft);box-shadow:var(--shadow-soft);color:#fff;font-size:.62rem;opacity:0;translate:0 -18px;transition:opacity .52s cubic-bezier(.22,1,.36,1),translate .64s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,border-color .18s ease}.project-gallery-thumb:nth-child(2){transition-delay:.07s}.project-gallery-thumb:nth-child(3){transition-delay:.14s}.project-gallery-thumb:nth-child(4){transition-delay:.21s}.project-gallery-thumb:nth-child(5){transition-delay:.28s}.project-teaser-section.is-open .project-gallery-thumb{opacity:1;translate:0 0}.project-teaser-section.is-closing .project-gallery-thumb{transition-delay:0s}.project-gallery-thumb img,.project-gallery-thumb video{display:block;width:100%;height:100%;object-fit:contain;background:transparent}.project-gallery-thumb span{position:absolute;right:5px;bottom:5px;padding:3px 5px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.5);color:#fff;font-size:.55rem;font-weight:900;text-transform:uppercase}.project-gallery-thumb.is-active,.project-gallery-thumb:hover,.project-gallery-thumb:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:var(--paper-soft);color:#fff}
.project-empty{max-width:var(--max);margin:0 auto}
@media (max-width:980px){.project-inner,.project-teaser{grid-template-columns:1fr}.project-media-column{padding-inline:56px}.project-media-grid{grid-template-columns:1fr}.project-media:first-child{grid-column:auto}.project-cover img,.project-cover video{width:100%;max-width:100%;height:100%;max-height:none}.project-cover-fallback,.project-gallery-stage,.project-gallery-stage img,.project-gallery-stage video{min-height:280px}}
.instagram-follow{border-color:var(--ink);color:var(--accent)}
.instagram-follow:hover,.instagram-follow:focus-visible,.instagram-card[href]:hover .instagram-follow,.instagram-card[href]:focus-visible .instagram-follow{background:var(--accent);border-color:var(--ink);color:#fff}
.instagram-heading .button{border-color:var(--ink);box-shadow:var(--shadow-soft);color:var(--accent)}
.instagram-heading .button:hover,.instagram-heading .button:focus-visible{background:var(--accent);border-color:var(--ink);color:#fff;box-shadow:4px 4px 0 rgba(143,20,25,.52),0 0 24px rgba(197,32,38,.28)}
.instagram-heading .button{width:max-content;min-height:38px;padding:9px 13px;font-size:.7rem}
.instagram-avatar{overflow:hidden}
.instagram-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.instagram-card.is-reel .instagram-post-head{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}
.instagram-card.is-reel .instagram-post-head strong{font-size:.82rem}
.instagram-card.is-reel .instagram-follow{padding-inline:8px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 24%,transparent),4px 4px 0 color-mix(in srgb,var(--accent-dark) 34%,transparent)}
.detail-layout#kontakt input:focus,.detail-layout#kontakt select:focus,.detail-layout#kontakt textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent),4px 4px 0 color-mix(in srgb,var(--accent-dark) 36%,transparent)}
.whatsapp-shortcut{position:fixed;left:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:37;display:grid;justify-items:start;color:var(--ink)}
.whatsapp-launch{display:grid;justify-items:center;gap:7px}
.whatsapp-launch-profile{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;padding:0;overflow:visible;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--ink);cursor:pointer;transition:transform .18s ease}
.whatsapp-launch-profile svg{display:block;width:100%;height:100%;filter:drop-shadow(4px 4px 0 rgba(21,21,21,.34));transition:filter .18s ease}
.whatsapp-launch-profile:hover,.whatsapp-launch-profile:focus-visible{transform:translate(-1px,-1px)}
.whatsapp-launch-profile:hover svg,.whatsapp-launch-profile:focus-visible svg{filter:drop-shadow(4px 4px 0 color-mix(in srgb,var(--accent-dark) 52%,transparent)) drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 26%,transparent))}
.whatsapp-shortcut-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 16px;border:1px solid var(--ink);background:#25d366;box-shadow:var(--shadow-soft);color:#fff;font:inherit;font-size:.78rem;font-weight:900;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.whatsapp-shortcut-button:hover,.whatsapp-shortcut-button:focus-visible{background:#128c4c;border-color:var(--ink);color:#fff;box-shadow:4px 4px 0 rgba(18,140,76,.4),0 0 24px rgba(37,211,102,.22);transform:translate(-1px,-1px)}
.whatsapp-launch-profile.is-disabled,.whatsapp-shortcut-button.is-disabled{opacity:.68;cursor:default}
.whatsapp-launch-profile.is-disabled:hover{filter:none;transform:none}.whatsapp-shortcut-button.is-disabled:hover{background:var(--paper-soft);border-color:#25d366;color:var(--ink);box-shadow:var(--shadow-soft);transform:none}
.whatsapp-shortcut-button.is-disabled,.whatsapp-shortcut-button.is-disabled:hover{background:var(--paper-soft);border-color:var(--ink);color:var(--ink)}
.whatsapp-shortcut.is-open .whatsapp-launch-profile{display:none}
.whatsapp-panel{width:min(360px,calc(100vw - 28px));display:grid;gap:12px;padding:14px;background:var(--paper-soft);border:1px solid var(--ink);box-shadow:var(--shadow);color:var(--ink)}
.whatsapp-panel[hidden]{display:none}
.whatsapp-panel label{display:grid;gap:7px;margin:0;padding:0;background:transparent;border:0;box-shadow:none;color:var(--ink);font-size:.72rem;font-weight:900;text-transform:uppercase}
.whatsapp-panel label:hover,.whatsapp-panel label:focus-within{border-color:transparent;box-shadow:none;transform:none}
.whatsapp-panel textarea{width:100%;min-height:118px;padding:12px 13px;resize:vertical;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font:inherit;font-size:.92rem;line-height:1.45}
.whatsapp-panel textarea:focus{outline:0;border-color:#25d366;box-shadow:0 0 0 2px color-mix(in srgb,#25d366 28%,transparent)}
.whatsapp-panel-actions{display:flex;flex-wrap:wrap;gap:9px}
.whatsapp-panel-actions .button{min-height:40px;padding:10px 12px;font-size:.72rem}
.whatsapp-panel-actions .button-primary{background:#25d366;border-color:#128c4c;color:#fff;box-shadow:4px 4px 0 rgba(18,140,76,.35)}
.whatsapp-panel-actions .button-primary:hover,.whatsapp-panel-actions .button-primary:focus-visible{background:#128c4c;border-color:var(--ink);color:#fff;box-shadow:4px 4px 0 rgba(18,140,76,.48),0 0 22px rgba(37,211,102,.22)}
.chatbot-widget{position:fixed;right:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:38;display:grid;justify-items:end;gap:10px;color:var(--ink)}
.chatbot-launch{display:grid;justify-items:center;gap:7px}
.chatbot-head-profile,.chatbot-message-avatar{display:block;overflow:hidden;border-radius:50%;background:#0d0f10;border:2px solid var(--accent)}
.chatbot-launch-profile img,.chatbot-head-profile img,.chatbot-message-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.chatbot-launch-profile{box-sizing:border-box;width:88px;height:88px;padding:0;overflow:hidden;border:3px solid var(--accent);border-radius:50%;background:transparent;box-shadow:var(--shadow-soft);cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.chatbot-launch-profile img{object-fit:cover;object-position:center;border-radius:50%;background:transparent}
.chatbot-launch-profile:hover,.chatbot-launch-profile:focus-visible{background:transparent;border-color:var(--accent-dark);box-shadow:4px 4px 0 color-mix(in srgb,var(--accent-dark) 52%,transparent),0 0 24px color-mix(in srgb,var(--accent) 30%,transparent);transform:translate(-1px,-1px)}
.chatbot-widget.is-open .chatbot-launch-profile{display:none}
.chatbot-head-profile{flex:0 0 48px;width:48px;height:48px}
.chatbot-message-avatar{flex:0 0 28px;width:28px;height:28px;border-width:1px}
.chatbot-toggle{min-height:46px;padding:12px 16px;border:1px solid var(--ink);background:var(--accent);box-shadow:var(--shadow-soft);color:#fff;font:inherit;font-size:.78rem;font-weight:900;text-transform:uppercase;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.chatbot-toggle:hover,.chatbot-toggle:focus-visible{background:var(--accent-dark);border-color:var(--ink);box-shadow:4px 4px 0 color-mix(in srgb,var(--accent-dark) 52%,transparent),0 0 24px color-mix(in srgb,var(--accent) 30%,transparent);transform:translate(-1px,-1px)}
.chatbot-panel{width:min(420px,calc(100vw - 28px));max-height:min(690px,calc(100vh - 102px));display:grid;grid-template-rows:auto minmax(190px,1fr) auto auto;background:var(--paper-soft);border:1px solid var(--ink);box-shadow:var(--shadow);overflow:hidden}
.chatbot-head{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px 16px;background:var(--ink);color:var(--paper)}
.chatbot-head-copy{min-width:0}
.chatbot-head span,.chatbot-head strong{display:block;text-transform:uppercase}
.chatbot-head span{font-size:.76rem;font-weight:900;color:color-mix(in srgb,var(--accent) 78%,#fff)}
.chatbot-head strong{margin-top:3px;font-size:.98rem;line-height:1.15;color:var(--paper)}
.chatbot-head small{display:block;margin-top:5px;color:color-mix(in srgb,var(--paper) 74%,transparent);font-size:.7rem;font-weight:900;text-transform:uppercase}
.chatbot-messages{display:grid;align-content:start;gap:12px;min-height:0;padding:16px;overflow:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--paper-soft) 90%,var(--accent) 10%),var(--paper-soft))}
.chatbot-consent{display:grid;gap:9px;padding:12px 14px;border-top:1px solid var(--line);background:var(--paper)}
.chatbot-consent p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}
.chatbot-consent .button{justify-self:start;min-height:34px;padding:8px 10px;font-size:.72rem}
.chatbot-message{max-width:88%;padding:12px 13px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-soft)}
.chatbot-message-meta{display:flex;align-items:center;gap:8px;margin:0 0 7px}
.chatbot-message-author{display:block;margin:0;color:var(--accent);font-size:.68rem;font-weight:900;line-height:1;text-transform:uppercase}
.chatbot-message p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.chatbot-message-bot{justify-self:start}
.chatbot-message-bot p{color:var(--ink)}
.chatbot-message-user{justify-self:end;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chatbot-message-user .chatbot-message-author{color:color-mix(in srgb,var(--accent) 72%,#fff)}
.chatbot-message-user p{color:var(--paper)}
.chatbot-message-typing{min-width:94px}
.chatbot-typing-dots{display:inline-flex;gap:5px;align-items:center;min-height:18px}
.chatbot-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:chatbotTypingDot 1.05s ease-in-out infinite}
.chatbot-typing-dots span:nth-child(2){animation-delay:.14s}
.chatbot-typing-dots span:nth-child(3){animation-delay:.28s}
.chatbot-message-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chatbot-message-actions a,.chatbot-message-actions button{display:inline-flex;align-items:center;min-height:32px;padding:7px 9px;border:1px solid var(--ink);background:var(--paper-soft);color:var(--ink);font:inherit;font-size:.72rem;font-weight:900;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease}
.chatbot-message-actions a:hover,.chatbot-message-actions a:focus-visible,.chatbot-message-actions button:hover,.chatbot-message-actions button:focus-visible{background:var(--accent);border-color:var(--accent-dark);color:#fff;transform:translate(-1px,-1px)}
.chatbot-message-actions button:disabled{opacity:.72;cursor:wait;transform:none}
.chatbot-intake-card{max-width:94%}
.chatbot-intake-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;margin:10px 0 0;font-size:.78rem}
.chatbot-intake-summary dt{color:var(--accent);font-weight:900;text-transform:uppercase}
.chatbot-intake-summary dd{margin:0;color:var(--ink);font-weight:800}
.chatbot-intake-hint{margin-top:10px!important;color:var(--muted)!important;font-size:.78rem!important}
input.is-holly-filled,select.is-holly-filled,textarea.is-holly-filled{border-color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent),4px 4px 0 color-mix(in srgb,var(--accent-dark) 40%,transparent)!important}
.chatbot-quick-actions{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);overflow-x:auto;background:var(--paper);scrollbar-width:none}
.chatbot-quick-actions::-webkit-scrollbar{display:none}
.chatbot-quick-actions button{flex:0 0 auto;min-height:34px;padding:8px 10px;border:1px solid var(--line);background:var(--paper-soft);color:var(--ink);font:inherit;font-size:.72rem;font-weight:900;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.chatbot-quick-actions button:hover,.chatbot-quick-actions button:focus-visible{background:var(--accent);border-color:var(--accent-dark);color:#fff;transform:translate(-1px,-1px)}
.chatbot-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border-top:1px solid var(--line);background:var(--paper-soft)}
.chatbot-form label{gap:5px;font-size:.72rem;text-transform:uppercase}
.chatbot-form input{min-height:42px;background:var(--paper)}
.chatbot-form button{min-height:42px;padding:10px 13px;border:1px solid var(--ink);background:var(--accent);color:#fff;font:inherit;font-size:.74rem;font-weight:900;text-transform:uppercase;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.chatbot-form button:hover,.chatbot-form button:focus-visible{background:var(--accent-dark);border-color:var(--ink);box-shadow:3px 3px 0 color-mix(in srgb,var(--accent-dark) 46%,transparent);transform:translate(-1px,-1px)}
@media (max-width:640px){.whatsapp-shortcut{left:12px;right:auto;bottom:86px}.whatsapp-launch-profile{width:72px;height:72px;padding:3px}.whatsapp-shortcut-button{width:46px;height:46px;min-height:46px;padding:0}.whatsapp-shortcut-button span{display:none}.chatbot-widget{left:12px;right:12px;bottom:12px}.chatbot-launch{width:100%}.chatbot-launch-profile{width:72px;height:72px}.chatbot-panel{width:100%;max-height:calc(100vh - 88px)}.chatbot-toggle{width:100%;justify-content:center}.chatbot-form{grid-template-columns:1fr}.chatbot-form button{width:100%}}
@keyframes chatbotTypingDot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
@media (max-width:980px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.team-grid{grid-template-columns:1fr}.team-photo{min-height:260px}.profile-point{grid-template-columns:92px minmax(0,1fr);gap:14px}.profile-photo{width:92px;height:92px}}
.service-detail-section{overflow:hidden}.service-detail-layout{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;max-width:var(--max);margin:0 auto}.service-detail-media{min-height:clamp(320px,38vw,520px)}.service-detail-copy{display:grid;gap:18px}.service-detail-copy h2{margin:0}.service-detail-copy .hero-actions{justify-content:center}.service-process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px}.service-process article{position:relative;min-height:168px;padding:20px 18px 18px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-soft);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.service-process article:before{content:"";position:absolute;right:-34px;top:-34px;width:92px;height:92px;background:var(--accent);transform:rotate(45deg);opacity:.9}.service-process span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:32px;margin-bottom:16px;border:1px solid var(--accent-dark);background:var(--accent);color:#fff;font-size:.78rem;font-weight:900}.service-process h3{position:relative;z-index:1;margin:0 0 8px}.service-process p{position:relative;z-index:1;margin:0;color:var(--muted);line-height:1.5}.service-process article:hover{border-color:var(--accent-dark);box-shadow:6px 6px 0 rgba(143,20,25,.42);transform:translate(-1px,-1px)}@media (max-width:980px){.service-detail-layout{grid-template-columns:1fr}.service-process{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.service-process{grid-template-columns:1fr}.service-detail-media{min-height:300px}.service-detail-copy .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center}.service-detail-copy .hero-actions .button{width:100%}}
.service-process{grid-template-columns:1fr}.service-process article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-items:start;min-height:0;padding:18px;background:var(--paper)}.service-process article:before{display:none}.service-process span{grid-row:1/3;margin:0}.service-process h3{align-self:end;margin:0}.service-process p{grid-column:2}.service-process article:hover{box-shadow:4px 4px 0 rgba(143,20,25,.36)}@media (max-width:980px){.service-process{grid-template-columns:1fr}}@media (max-width:520px){.service-process article{grid-template-columns:1fr}.service-process span{grid-row:auto}.service-process p{grid-column:auto}}
.youtube-section{position:relative;max-width:none;background:var(--paper-soft);border-block:1px solid var(--line)}.youtube-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.youtube-latest-card{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;max-width:var(--max);margin:0 auto;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-soft);overflow:hidden}.youtube-preview{position:relative;aspect-ratio:16/9;width:100%;background:#101113;overflow:hidden}.youtube-preview img,.youtube-embed{display:block;width:100%;height:100%;object-fit:contain;border:0}.youtube-local-video{background:#050505}.youtube-preview-link{position:relative;display:block;width:100%;height:100%;color:#fff}.youtube-preview-link img{object-fit:cover}.youtube-preview-link:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.48));pointer-events:none}.youtube-play{position:absolute;left:50%;top:50%;z-index:1;display:grid;place-items:center;width:70px;height:70px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:rgba(0,0,0,.38);color:#fff;font-size:1.7rem;line-height:1;transform:translate(-50%,-50%);transition:background .18s ease,transform .18s ease}.youtube-preview-link:hover .youtube-play,.youtube-preview-link:focus-visible .youtube-play{background:var(--accent);transform:translate(-50%,-50%) scale(1.06)}.youtube-copy{display:grid;align-content:start;gap:14px;padding:clamp(22px,3vw,34px);background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}.youtube-copy h3{margin:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.08}.youtube-copy p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--muted);line-height:1.55}.youtube-copy .youtube-description{display:block;max-height:0;opacity:0;translate:0 -10px;visibility:hidden;white-space:pre-line;transition:max-height .48s cubic-bezier(.22,1,.36,1),opacity .34s ease,translate .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .48s}.youtube-copy .youtube-description.is-expanded{max-height:520px;opacity:1;translate:0 0;visibility:visible;transition:max-height .62s cubic-bezier(.22,1,.36,1),opacity .34s ease .08s,translate .48s cubic-bezier(.22,1,.36,1),visibility 0s}.youtube-meta-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.youtube-description-toggle{justify-self:start;width:max-content;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--accent);font:inherit;font-size:.78rem;font-weight:900;text-transform:uppercase;cursor:pointer}.youtube-description-toggle:hover,.youtube-description-toggle:focus-visible{color:var(--accent-dark);text-decoration:underline}.youtube-copy small{color:var(--accent);font-size:.82rem;font-weight:900;text-align:right;text-transform:uppercase}.youtube-copy .hero-actions{margin-top:8px}.youtube-status{max-width:var(--max);margin:16px auto 0;color:var(--muted);font-size:.84rem;font-weight:800;text-transform:uppercase}.youtube-latest-card.is-loading{opacity:.72}.youtube-consent-card{max-width:var(--max);margin:0 auto}
.youtube-heading-reveal{opacity:0;translate:0 -94px;filter:blur(4px);transition:opacity .9s cubic-bezier(.22,1,.36,1),translate .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1)}.youtube-heading-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0)}
@media (max-width:980px){.youtube-heading{display:grid}.youtube-heading .button{justify-self:start}.youtube-copy{align-content:start}}
@media (max-width:640px){.youtube-heading .button,.youtube-copy .button{width:100%}.youtube-copy .hero-actions{display:grid}.youtube-play{width:58px;height:58px;font-size:1.35rem}}
.service-detail-media-reveal{opacity:0;translate:-46px 32px;filter:blur(5px);transition:opacity .82s cubic-bezier(.22,1,.36,1),translate .86s cubic-bezier(.22,1,.36,1),filter .82s cubic-bezier(.22,1,.36,1)}.service-detail-copy-reveal{opacity:0;translate:42px 0;filter:blur(4px);transition:opacity .72s cubic-bezier(.22,1,.36,1),translate .78s cubic-bezier(.22,1,.36,1),filter .72s cubic-bezier(.22,1,.36,1)}.service-process-reveal{opacity:0;translate:-36px 0;filter:blur(3px);transition:opacity .58s cubic-bezier(.22,1,.36,1) var(--service-step-delay,0ms),translate .66s cubic-bezier(.22,1,.36,1) var(--service-step-delay,0ms),filter .58s cubic-bezier(.22,1,.36,1) var(--service-step-delay,0ms),transform .18s ease,border-color .18s ease,box-shadow .18s ease}.service-detail-section.is-service-detail-visible .service-detail-media-reveal,.service-detail-section.is-service-detail-visible .service-detail-copy-reveal,.service-detail-section.is-service-detail-visible .service-process-reveal{opacity:1;translate:0 0;filter:blur(0)}.service-detail-section:not(.is-service-detail-visible) .service-process-reveal{transition-delay:0s}@media (prefers-reduced-motion:reduce){.service-detail-media-reveal,.service-detail-copy-reveal,.service-process-reveal{opacity:1;translate:0 0;filter:none;transition:none}}
.service-bullet-flow{display:grid;gap:14px;margin:4px 0 0;padding:0;list-style:none}.service-bullet-flow li{position:relative;padding-left:24px;color:var(--muted);line-height:1.58}.service-bullet-flow li:before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;background:var(--accent);box-shadow:2px 2px 0 color-mix(in srgb,var(--accent-dark) 55%,transparent)}.service-bullet-flow strong{color:var(--ink)}
.service-detail-section.is-service-detail-visible .service-bullet-flow .service-process-reveal,.service-bullet-flow .service-process-reveal{opacity:0;translate:-58px 8px;filter:blur(6px);transition:opacity .78s cubic-bezier(.22,1,.36,1) var(--service-step-delay,0ms),translate .86s cubic-bezier(.22,1,.36,1) var(--service-step-delay,0ms),filter .68s cubic-bezier(.22,1,.36,1) var(--service-step-delay,0ms)}.service-detail-section.is-service-detail-visible .service-bullet-flow.is-bullet-flow-visible .service-process-reveal,.service-bullet-flow.is-bullet-flow-visible .service-process-reveal{opacity:1;translate:0 0;filter:blur(0)}.service-detail-section:not(.is-service-detail-visible) .service-bullet-flow .service-process-reveal,.service-bullet-flow:not(.is-bullet-flow-visible) .service-process-reveal{transition-delay:0s}.service-bullet-flow.is-bullet-flow-hiding .service-process-reveal{opacity:0;translate:-24px 0;filter:blur(0);transition:opacity .24s ease,translate .26s ease,filter .12s ease}
.image-placeholder{position:relative;padding:0;overflow:hidden}
.image-placeholder span{position:absolute;left:22px;bottom:22px}
.image-placeholder:has(>img){padding:0;overflow:hidden}
.image-placeholder>img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.image-placeholder:has(>img)>span{display:none}
.image-placeholder:has(>img[data-image-error="1"])>span{display:inline-block}
.hero-image-card{position:relative;display:block;padding:0;overflow:hidden;aspect-ratio:auto;min-height:clamp(250px,30vw,390px)}
.service-detail-media.image-placeholder,
.service-detail-media.image-placeholder.tall{
  aspect-ratio:16/11;
  min-height:0;
}

@media (max-width:640px){
  body{font-size:15px}
  h1{font-size:clamp(2.05rem,10.8vw,2.8rem);line-height:1.03}
  h2{font-size:clamp(1.62rem,8.2vw,2.15rem);line-height:1.08}
  h3{font-size:1.02rem}
  p{line-height:1.55}

  .site-header{grid-template-columns:auto minmax(0,1fr) auto;gap:8px 10px;padding:10px 12px 9px}
  .site-header:before{height:100%}
  .brand{grid-column:1/-1;order:1;width:min(218px,62vw);justify-self:center}
  .social-links{grid-column:1/2;order:2;justify-self:start;gap:7px}
  .theme-button{grid-column:3/4;order:2;justify-self:end;min-width:82px;min-height:34px;padding:7px 9px;font-size:.68rem}
  .main-nav{grid-column:1/-1;order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin-top:0}
  .main-nav a{min-height:34px;padding:8px 7px;font-size:.68rem;text-align:center;opacity:1;translate:0 0;animation:none;box-shadow:3px 3px 0 rgba(21,21,21,.1)}
  .main-nav a:hover{transform:translate(-1px,-1px) scale(1.03)}
  .social-link{width:34px;height:34px}
  .social-icon{width:17px;height:17px}
  .instagram-story-entry{margin-right:5px}
  .instagram-story-ring{width:52px;height:52px;padding:3px}

  .hero{grid-template-columns:1fr;gap:24px;min-height:0;padding:34px 16px 46px}
  .hero-text{margin-top:18px;font-size:1rem}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
  .hero-visual,.hero-image-card{min-height:230px}

  .section,.page-hero{padding:42px 16px}
  .page-hero p:not(.eyebrow){font-size:1rem}
  .section-heading{margin-bottom:24px}
  .split,.contact-strip,.detail-layout,.location-section,.workshop-band{gap:24px}
  .paper-card,.form-card{min-height:0;padding:17px}
  .service-grid,.review-grid,.legal-grid,.instagram-grid,.visual-row,.form-row{grid-template-columns:1fr}
  .service-carousel{grid-template-columns:1fr;gap:10px}
  .service-carousel .service-grid{grid-row:2;grid-auto-columns:minmax(246px,82vw)}
  .service-arrow{width:100%;height:36px}
  .service-media,.service-carousel .service-media,.service-overview-grid .service-media{margin:-5px -5px 16px}
  .image-placeholder.tall{aspect-ratio:1/1;min-height:0}

  .workshop-gallery-band{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    padding:0 16px 42px;
    overflow:visible;
  }
  .workshop-gallery-band>.image-placeholder{
    width:min(78vw,340px);
    aspect-ratio:12/11;
    justify-self:start;
  }
  .workshop-gallery-band>.image-placeholder:nth-child(2){justify-self:end}
  .workshop-gallery-band>.image-placeholder:nth-child(3){justify-self:start}
  .workshop-gallery-band>.image-placeholder:nth-child(n){grid-column:auto}
  .workshop-page-gallery{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding-left:var(--mobile-page-pad)!important;
    padding-right:var(--mobile-page-pad)!important;
  }
  .workshop-page-gallery>.image-placeholder{
    width:min(78vw,340px);
    aspect-ratio:1/1;
    justify-self:start;
  }
  .workshop-page-gallery>.image-placeholder:nth-child(2){justify-self:end}
  .workshop-page-gallery>.image-placeholder:nth-child(3){justify-self:start}
  .instagram-grid{gap:16px}
  .youtube-heading,.instagram-heading{display:grid;gap:14px}
  .youtube-copy{padding:18px}

  .cookie-banner{left:10px;right:10px;bottom:10px;max-height:calc(100dvh - 20px);overflow:auto;gap:14px;padding:16px;box-shadow:5px 5px 0 rgba(0,0,0,.24)}
  .cookie-banner strong{font-size:.92rem}
  .cookie-banner p{font-size:.84rem;line-height:1.48}
  .cookie-options{gap:7px}
  .cookie-options label{grid-template-columns:20px minmax(0,1fr);gap:10px;padding:9px}
  .cookie-options input{width:17px;min-height:17px}
  .cookie-options label strong{font-size:.78rem}
  .cookie-options label small{font-size:.7rem;line-height:1.25}
  .cookie-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .cookie-actions .button{min-height:42px;width:100%;padding:10px;font-size:.72rem}

  .whatsapp-shortcut{left:12px;right:auto;bottom:78px}
  .whatsapp-launch-profile,.chatbot-launch-profile{width:58px;height:58px;padding:3px}
  .whatsapp-shortcut-button{width:42px;height:42px;min-height:42px;padding:0}
  .whatsapp-shortcut-button span{display:none}
  .whatsapp-panel{width:min(310px,calc(100vw - 24px))}
  .chatbot-widget{left:auto;right:12px;bottom:12px;justify-items:end}
  .chatbot-launch{justify-items:end}
  .chatbot-toggle{width:auto;min-height:42px;padding:10px 12px;font-size:.72rem}
  .chatbot-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 92px)}
  .chatbot-form{grid-template-columns:1fr}
  .chatbot-form button{width:100%}
}

@media (max-width:640px){
  .site-header{gap:7px 10px}
  .brand{width:min(210px,60vw)}
  .social-links{height:50px;align-items:center}
  .main-nav{position:relative;z-index:3;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:6px;overflow-x:auto;padding:0 0 3px;scrollbar-width:none}
  .main-nav::-webkit-scrollbar{display:none}
  .main-nav a{flex:0 0 auto;min-height:32px;padding:8px 10px;font-size:.66rem;white-space:nowrap}
  .instagram-story-ring{width:50px;height:50px}

  .whatsapp-shortcut{bottom:12px}
  .chatbot-widget{bottom:12px}
  .whatsapp-launch-profile,.chatbot-launch-profile{width:54px;height:54px}
  .whatsapp-shortcut-button,.chatbot-toggle{display:none}
  .whatsapp-shortcut.is-open .whatsapp-launch-profile,.chatbot-widget.is-open .chatbot-launch-profile{display:none}
  .whatsapp-panel{margin-bottom:8px}
}

@media (max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  body{position:relative}
  .site-header,main,.site-footer{max-width:100%;overflow-x:clip}
  .site-header .main-nav{overflow-x:auto}
  :root{--shadow-soft:4px 4px 0 rgba(21,21,21,.18)}
  .site-header{align-items:center;padding:8px 10px 8px}
  .brand{width:min(198px,58vw)}
  .theme-button{min-width:76px;min-height:32px;padding:7px 8px;font-size:.64rem}
  .social-link{width:32px;height:32px}
  .instagram-story-ring{width:48px;height:48px;padding:3px}
  .main-nav{margin-inline:0;width:100%}
  .main-nav a{min-height:31px;padding:8px 9px;font-size:.64rem}

  .hero{padding:28px 14px 40px}
  .hero-copy{max-width:100%}
  .hero-text{font-size:.98rem}
  .hero-actions .button{min-height:42px;padding:11px 13px;font-size:.72rem}
  .section,.page-hero{padding:38px 14px}
  .page-hero{min-height:0}
  .page-hero p:not(.eyebrow),.section-heading .placeholder-copy{font-size:.98rem;line-height:1.55}
  .paper-card,.form-card{padding:16px}
  .service-grid .paper-card{padding:18px}
  .service-media,.service-carousel .service-media,.service-overview-grid .service-media{margin:-3px -3px 14px}

  .instagram-grid{grid-template-columns:1fr;max-width:340px}
  .instagram-card{border-radius:7px}
  .instagram-card.is-reel .instagram-media{max-height:none}
  .youtube-latest-card,.form-card,.paper-card{box-shadow:4px 4px 0 rgba(21,21,21,.18)}

  .project-teaser{grid-template-columns:1fr;gap:24px}
  .project-media-column{padding:0}
  .project-cover{width:100%}
  .project-copy h2{font-size:clamp(1.85rem,9vw,2.35rem)}
  .project-copy .project-intro{font-size:1rem}
  .project-gallery-stage,.project-gallery-stage img,.project-gallery-stage video{min-height:230px}
  .project-gallery-thumbs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .project-gallery-thumb{width:86px;min-width:86px;height:58px;min-height:58px}

  .service-detail-layout{gap:24px}
  .service-detail-media{min-height:230px}
  .service-detail-media.image-placeholder,
  .service-detail-media.image-placeholder.tall{
    aspect-ratio:16/11;
    min-height:0;
  }
  .service-bullet-flow{gap:13px}
  .profile-point{grid-template-columns:74px minmax(0,1fr);gap:12px}
  .profile-photo{width:74px;height:74px}
}

.mobile-menu-toggle{display:none}
.mobile-menu-backdrop{display:none}
.theme-mode-toast{display:none}

@media (max-width:640px){
  .theme-mode-toast{
    position:fixed;
    left:50%;
    top:calc(env(safe-area-inset-top,0px) + 18px);
    z-index:80;
    display:block;
    padding:8px 11px;
    background:var(--paper-soft);
    border:1px solid var(--ink);
    box-shadow:4px 4px 0 rgba(0,0,0,.24),0 0 24px color-mix(in srgb,var(--accent) 28%,transparent);
    color:var(--ink);
    font-size:.72rem;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    opacity:0;
    pointer-events:none;
    transform:translate3d(-50%,-10px,0) scale(.96);
    transition:opacity .18s ease,transform .26s cubic-bezier(.22,1,.36,1);
  }
  .theme-mode-toast.is-visible{
    opacity:1;
    transform:translate3d(-50%,0,0) scale(1);
  }
  .site-header{
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:9px;
    padding:10px 12px;
  }
  .site-header:before{height:100%}
  .brand{
    grid-column:1;
    order:1;
    justify-self:start;
    width:min(205px,56vw);
  }
  .theme-button{
    grid-column:2;
    order:2;
    justify-self:end;
    min-width:0;
    width:42px;
    min-height:38px;
    padding:8px;
    gap:0;
  }
  .theme-button [data-theme-label]{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .mobile-menu-toggle{
    position:relative;
    z-index:3;
    grid-column:3;
    order:3;
    display:inline-grid;
    place-items:center;
    gap:4px;
    width:42px;
    min-width:42px;
    height:38px;
    padding:0;
    border:1px solid var(--ink);
    background:var(--paper-soft);
    box-shadow:var(--shadow-soft);
    color:var(--ink);
    cursor:pointer;
    transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  }
  .mobile-menu-toggle span{
    display:block;
    width:19px;
    height:2px;
    background:currentColor;
    transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .18s ease;
  }
  .mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{
    background:color-mix(in srgb,var(--accent) 12%,transparent);
    border-color:var(--accent);
    color:var(--accent);
    box-shadow:3px 3px 0 rgba(143,20,25,.38),0 0 18px color-mix(in srgb,var(--accent) 18%,transparent);
    transform:translate(-1px,-1px);
  }
  .site-header.is-mobile-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .site-header.is-mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
  .site-header.is-mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  .social-links{
    grid-column:1/-1;
    order:4;
    justify-self:start;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    height:auto;
    max-height:none;
    gap:9px;
    margin-top:0;
    padding-top:0;
    opacity:1;
    overflow:visible;
    pointer-events:auto;
    transform:none;
    transition:none;
  }
  .main-nav{
    grid-column:1/-1;
    display:flex;
    max-height:0;
    opacity:0;
    overflow:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:max-height .38s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .34s cubic-bezier(.22,1,.36,1);
  }
  .main-nav{
    order:5;
    justify-self:end;
    flex-direction:column;
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:7px;
    width:min(230px,72vw);
    margin:0;
    padding:0;
  }
  .site-header.is-mobile-menu-open .main-nav{
    max-height:390px;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    padding-top:4px;
  }
  .main-nav a{
    flex:0 0 auto;
    min-width:0;
    width:100%;
    min-height:36px;
    text-align:right;
    padding-inline:13px;
  }
  .social-link{width:36px;height:36px}
  .instagram-story-entry{
    margin-right:8px;
    transform-origin:center;
  }
  .instagram-story-ring{
    width:58px;
    height:58px;
    padding:4px;
    box-shadow:0 0 0 1px var(--ink),4px 4px 0 rgba(21,21,21,.18);
  }
  .instagram-story-entry.has-stories:not(.is-seen) .instagram-story-ring{
    box-shadow:0 0 0 1px var(--ink),4px 4px 0 rgba(21,21,21,.18),0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 0 22px color-mix(in srgb,var(--accent) 34%,transparent);
    animation:mobileStoryAttention 1.35s ease-in-out infinite;
  }
}

@media (max-width:640px){
  .mobile-menu-toggle{
    position:relative;
    left:auto;
    top:auto;
    grid-column:1;
    order:1;
    align-self:center;
    justify-self:start;
  }
  .theme-button{
    position:relative;
    right:auto;
    top:auto;
    grid-column:3;
    order:3;
    align-self:center;
    justify-self:end;
  }
  .social-links{
    position:fixed;
    left:50%;
    top:86px;
    z-index:22;
    transform:translateX(-50%);
  }
  .main-nav{
    top:144px;
  }
  .social-link-whatsapp svg path{
    fill:none!important;
    stroke:currentColor;
    stroke-linejoin:round;
  }
}

@keyframes mobileStoryAttention{
  0%,100%{transform:scale(1)}
  45%{transform:scale(1.08)}
}

@media (max-width:640px){
  .site-header{
    grid-template-columns:52px minmax(0,1fr) 52px;
    min-height:86px;
    padding:10px 12px;
    overflow:visible;
  }
  .brand{
    grid-column:2;
    order:2;
    justify-self:center;
    width:min(218px,60vw);
  }
  .mobile-menu-toggle{
    position:absolute;
    left:12px;
    top:calc(100% + 18px);
    grid-column:auto;
    order:1;
    justify-self:start;
  }
  .theme-button{
    position:absolute;
    right:12px;
    top:calc(100% + 18px);
    grid-column:auto;
    order:3;
    justify-self:end;
  }
  .social-links{
    position:absolute;
    left:50%;
    top:calc(100% + 8px);
    z-index:4;
    display:flex;
    justify-content:center;
    align-items:center;
    width:max-content;
    max-width:calc(100vw - 24px);
    padding:4px 0;
    background:transparent;
    border:0;
    box-shadow:none;
    transform:translateX(-50%);
    backdrop-filter:none;
  }
  .instagram-story-ring{
    width:62px;
    height:62px;
  }
  .social-links a[aria-label="Instagram"]{order:1}
  .social-links a[aria-label="YouTube"]{order:2}
  .instagram-story-entry{order:3}
  .social-link-whatsapp{order:4}
  .social-link-disabled{order:5}
  .social-link-whatsapp svg path:first-child{fill:currentColor}
  .social-link-whatsapp svg path:nth-child(2){fill:var(--paper)}
  .main-nav{
    position:fixed;
    left:12px;
    top:150px;
    z-index:50;
    display:flex;
    width:min(255px,calc(100vw - 24px));
    max-height:none;
    padding:10px;
    background:var(--paper);
    border:1px solid var(--ink);
    box-shadow:8px 8px 0 rgba(21,21,21,.28);
    opacity:0;
    pointer-events:none;
    transform:translate3d(-18px,-10px,0) scale(.98);
    transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1);
  }
  .site-header.is-mobile-menu-open .main-nav{
    max-height:none;
    padding:10px;
    opacity:1;
    pointer-events:auto;
    transform:translate3d(0,0,0) scale(1);
  }
  .main-nav a{
    text-align:left;
    min-height:39px;
    padding:10px 12px;
    background:var(--paper-soft);
  }
  .hero,
  .page-hero{
    padding-top:108px;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .hero-actions .button{
    width:100%;
    min-height:38px;
    padding:9px 6px;
    font-size:.62rem;
    line-height:1.1;
    text-align:center;
    white-space:normal;
  }
}

@media (max-width:640px){
  .site-header{
    grid-template-columns:52px minmax(0,1fr) 52px!important;
    min-height:86px!important;
    overflow:visible!important;
  }
  .mobile-menu-toggle{
    position:fixed!important;
    left:12px!important;
    top:34px!important;
    grid-column:1!important;
    order:1!important;
    align-self:center!important;
    justify-self:start!important;
  }
  .brand{
    grid-column:2!important;
    order:2!important;
    justify-self:center!important;
  }
  .theme-button{
    position:fixed!important;
    right:12px!important;
    top:34px!important;
    grid-column:3!important;
    order:3!important;
    align-self:center!important;
    justify-self:end!important;
  }
  .social-links{
    position:fixed!important;
    left:50%!important;
    top:112px!important;
    z-index:80!important;
    transform:translateX(-50%)!important;
    transition:top .58s cubic-bezier(.16,1,.3,1),transform .58s cubic-bezier(.16,1,.3,1)!important;
  }
  .main-nav{
    position:fixed!important;
    left:12px!important;
    top:174px!important;
    z-index:90!important;
  }
  .social-link-whatsapp svg path{
    fill:none!important;
    stroke:currentColor!important;
    stroke-linejoin:round!important;
  }
  :root.is-mobile-header-scrolled .mobile-menu-toggle,
  :root.is-mobile-header-scrolled .theme-button{
    top:21px!important;
  }
  :root.is-mobile-header-scrolled .social-links{
    top:8px!important;
  }
  :root.is-mobile-header-scrolled .main-nav{
    top:76px!important;
  }
}

@media (max-width:640px){
  :root{
    --mobile-header-progress:0;
    --mobile-dock-y:calc(108px - (92px * var(--mobile-header-progress)));
    --mobile-dock-control-y:calc(var(--mobile-dock-y) + 14px);
    --mobile-menu-y:calc(var(--mobile-dock-y) + 62px);
  }
  .social-links,
  .mobile-menu-toggle,
  .theme-button,
  .main-nav{
    transition:none!important;
  }
  .mobile-menu-backdrop{
    position:fixed;
    inset:0;
    z-index:20;
    display:block;
    padding:0;
    border:0;
    background:rgba(0,0,0,.38);
    opacity:0;
    pointer-events:none;
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
    transition:opacity .24s ease!important;
  }
  :root.is-mobile-menu-open .mobile-menu-backdrop,
  :root.is-floating-panel-open .mobile-menu-backdrop{
    opacity:1;
    pointer-events:auto;
  }
  .social-links{
    z-index:82!important;
    display:grid!important;
    grid-template-columns:36px 36px 70px 36px 36px!important;
    gap:8px!important;
    align-items:center!important;
    justify-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-height:70px!important;
    line-height:0!important;
    top:var(--mobile-dock-y)!important;
  }
  .mobile-menu-toggle,
  .theme-button{
    z-index:82!important;
    top:var(--mobile-dock-control-y)!important;
    width:46px!important;
    min-width:46px!important;
    height:42px!important;
    min-height:42px!important;
    background:var(--accent)!important;
    border-color:var(--accent-dark)!important;
    color:#fff!important;
    box-shadow:3px 3px 0 rgba(143,20,25,.45),0 0 20px color-mix(in srgb,var(--accent) 26%,transparent)!important;
  }
  .main-nav{
    z-index:90!important;
    top:var(--mobile-menu-y)!important;
  }
  .social-links .social-link,
  .instagram-story-entry{
    align-self:center!important;
    margin:0!important;
  }
  .instagram-story-entry{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:70px!important;
    height:70px!important;
    line-height:0!important;
  }
}

@media (max-width:640px){
  main :where(.hero-copy,.page-hero,.section-heading,.text-stack,.paper-card,.service-detail-copy,.project-copy,.youtube-copy,.instagram-heading,.review-copy,.location-copy,.contact-copy-reveal){
    text-align:center;
  }
  main :where(.hero-copy,.page-hero,.section-heading,.text-stack,.paper-card,.service-detail-copy,.project-copy,.youtube-copy,.instagram-heading,.review-copy,.location-copy,.contact-copy-reveal) :where(h1,h2,h3,p,.eyebrow,.placeholder-copy){
    margin-left:auto;
    margin-right:auto;
  }
  main :where(.hero-actions,.contact-strip .button,.youtube-heading .button){
    justify-content:center;
  }
  main :where(.detail-list,.service-bullet-flow){
    text-align:left;
  }
  main :where(.form-card,.contact-form,.chatbot-panel,.whatsapp-panel,.main-nav,.project-gallery,.instagram-card){
    text-align:left;
  }
}

@media (hover:none) and (pointer:coarse){
  :where(.button,.social-link,.mobile-menu-toggle,.theme-button,.paper-card,.service-arrow,.project-cover-arrow,.project-gallery-arrow,.review-arrow,.map-card,.instagram-follow,.youtube-description-toggle,.whatsapp-shortcut-button,.chatbot-toggle,.chatbot-form button,.whatsapp-panel-actions .button):active{
    transform:translate(1px,1px) scale(.97)!important;
    box-shadow:2px 2px 0 rgba(21,21,21,.2)!important;
    filter:saturate(1.05)!important;
  }
  .instagram-story-entry:active,
  .whatsapp-launch-profile:active,
  .chatbot-launch-profile:active{
    transform:scale(.94)!important;
    filter:saturate(1.08)!important;
  }
  .whatsapp-launch-profile:active svg{
    filter:drop-shadow(2px 2px 0 rgba(21,21,21,.28))!important;
  }
  .chatbot-launch-profile:active{
    box-shadow:2px 2px 0 rgba(21,21,21,.22)!important;
  }
}

@media (max-width:640px){
  #leistungen .service-carousel{
    display:block!important;
    max-width:none!important;
    margin-inline:-14px!important;
  }
  #leistungen .service-arrow{
    display:none!important;
  }
  #leistungen .service-carousel .service-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(272px,82vw)!important;
    gap:16px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:14px!important;
    padding:22px 14px 34px!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
  }
  #leistungen .service-carousel .paper-card{
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  #leistungen .service-carousel .paper-card:active,
  #leistungen .service-carousel .paper-card.is-service-touch-active{
    background:var(--accent)!important;
    border-color:var(--accent-dark)!important;
    color:#fff!important;
    box-shadow:4px 4px 0 rgba(143,20,25,.48),0 0 22px color-mix(in srgb,var(--accent) 28%,transparent)!important;
    transform:translate(1px,1px) scale(.98)!important;
  }
  #leistungen .service-carousel .paper-card:active h3,
  #leistungen .service-carousel .paper-card:active p,
  #leistungen .service-carousel .paper-card.is-service-touch-active h3,
  #leistungen .service-carousel .paper-card.is-service-touch-active p{
    color:#fff!important;
  }
  #leistungen .service-carousel .paper-card:active .service-media,
  #leistungen .service-carousel .paper-card.is-service-touch-active .service-media{
    border-color:#fff!important;
  }
}

@media (max-width:640px){
  .instagram-grid{
    position:relative!important;
    display:grid!important;
    place-items:start center!important;
    min-height:620px!important;
    max-width:100%!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    padding:18px 0 48px!important;
    margin-inline:auto!important;
  }
  .instagram-grid .instagram-card{
    position:absolute!important;
    top:18px!important;
    left:50%!important;
    width:min(64vw,250px)!important;
    max-width:250px!important;
    min-width:0!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translate3d(calc(-50% + (var(--instagram-offset,0) * 62vw)),0,0) scale(.72)!important;
    transform-origin:center top!important;
    filter:none!important;
    backface-visibility:hidden;
    transition:opacity .3s ease,transform .42s cubic-bezier(.2,.82,.2,1)!important;
    will-change:transform,opacity;
  }
  .instagram-grid .instagram-card.instagram-card-reveal{
    translate:0 0!important;
  }
  .instagram-grid .instagram-media,
  .instagram-grid .instagram-media img,
  .instagram-grid .instagram-media video{
    backface-visibility:hidden;
    transform:translateZ(0);
  }
  .instagram-grid .instagram-card.is-instagram-active{
    z-index:5!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translate3d(-50%,0,0) scale(1)!important;
  }
  .instagram-grid .instagram-card.is-instagram-prev,
  .instagram-grid .instagram-card.is-instagram-next{
    z-index:3!important;
    opacity:.38!important;
    pointer-events:auto!important;
  }
  .instagram-grid .instagram-card.is-instagram-prev{
    transform:translate3d(calc(-50% - 52vw),0,0) scale(.68)!important;
  }
  .instagram-grid .instagram-card.is-instagram-next{
    transform:translate3d(calc(-50% + 52vw),0,0) scale(.68)!important;
  }
  .instagram-grid .instagram-card.is-instagram-hidden{
    z-index:1!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width:640px){
  .instagram-heading .button{
    width:max-content!important;
    justify-self:center!important;
  }
  .youtube-copy{
    gap:10px!important;
    padding:16px!important;
  }
  .youtube-meta-row{
    justify-content:space-between!important;
    text-align:left!important;
  }
  .youtube-copy h3{
    font-size:1.12rem!important;
    line-height:1.15!important;
  }
  .youtube-copy p,
  .youtube-copy .youtube-description{
    font-size:.88rem!important;
    line-height:1.45!important;
  }
  .youtube-copy small,
  .youtube-description-toggle{
    font-size:.68rem!important;
  }
}

.whatsapp-launch-profile{padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}

@media (max-width:640px){
  :root{
    --mobile-page-pad:22px;
    --mobile-floating-size:58px;
    --mobile-floating-bottom:22px;
  }
  body{
    font-size:14.5px;
  }
  h1{
    font-size:clamp(1.92rem,9.8vw,2.55rem)!important;
  }
  h2{
    font-size:clamp(1.5rem,7.4vw,1.98rem)!important;
  }
  .hero,
  .section,
  .page-hero{
    padding-left:var(--mobile-page-pad)!important;
    padding-right:var(--mobile-page-pad)!important;
  }
  .hero{
    gap:20px!important;
  }
  .hero-text,
  .page-hero p:not(.eyebrow),
  .section-heading .placeholder-copy{
    font-size:.94rem!important;
  }
  .hero-actions{
    gap:8px!important;
  }
  .hero-actions .button{
    min-height:39px!important;
    padding:10px 9px!important;
    font-size:.66rem!important;
  }
  .paper-card,
  .form-card,
  .youtube-latest-card,
  .image-placeholder,
  .map-card{
    box-shadow:3px 3px 0 rgba(21,21,21,.18)!important;
  }
  #leistungen .service-carousel .service-grid{
    grid-auto-columns:minmax(228px,74vw)!important;
    scroll-padding-inline:var(--mobile-page-pad)!important;
    padding-left:var(--mobile-page-pad)!important;
    padding-right:var(--mobile-page-pad)!important;
  }
  .service-grid .paper-card{
    padding:15px!important;
  }
  .instagram-grid{
    min-height:590px!important;
  }
  .instagram-grid .instagram-card{
    width:min(60vw,236px)!important;
    max-width:236px!important;
  }
  .workshop-gallery-band{
    padding-left:var(--mobile-page-pad)!important;
    padding-right:var(--mobile-page-pad)!important;
  }
  .detail-layout#kontakt{
    padding-left:var(--mobile-page-pad)!important;
    padding-right:var(--mobile-page-pad)!important;
  }
  .whatsapp-shortcut{
    left:var(--mobile-page-pad)!important;
    right:auto!important;
    bottom:var(--mobile-floating-bottom)!important;
    width:var(--mobile-floating-size)!important;
    height:var(--mobile-floating-size)!important;
    align-items:center!important;
    justify-items:center!important;
  }
  .chatbot-widget{
    left:auto!important;
    right:var(--mobile-page-pad)!important;
    bottom:var(--mobile-floating-bottom)!important;
    width:var(--mobile-floating-size)!important;
    height:var(--mobile-floating-size)!important;
    align-items:center!important;
    justify-items:center!important;
    gap:0!important;
  }
  .whatsapp-launch-profile,
  .chatbot-launch-profile{
    width:var(--mobile-floating-size)!important;
    height:var(--mobile-floating-size)!important;
    margin:0!important;
  }
  .whatsapp-launch,
  .chatbot-launch{
    width:var(--mobile-floating-size)!important;
    height:var(--mobile-floating-size)!important;
    place-items:center!important;
  }
  .whatsapp-launch-profile svg{
    width:100%!important;
    height:100%!important;
    transform:translate3d(0,-4px,0) scale(.98)!important;
    transform-origin:center!important;
  }
  .whatsapp-shortcut.is-open,
  .chatbot-widget.is-open{
    left:var(--mobile-page-pad)!important;
    right:var(--mobile-page-pad)!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    justify-items:stretch!important;
  }
  .whatsapp-shortcut.is-open{
    bottom:calc(var(--mobile-floating-bottom) + var(--mobile-floating-size) + 10px)!important;
  }
  .chatbot-widget.is-open{
    bottom:var(--mobile-floating-bottom)!important;
  }
  .whatsapp-shortcut.is-open .whatsapp-panel,
  .chatbot-widget.is-open .chatbot-panel{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    box-shadow:4px 4px 0 rgba(21,21,21,.28)!important;
  }
  .whatsapp-shortcut.is-open .whatsapp-panel{
    margin:0!important;
  }
  .site-footer{
    padding-left:var(--mobile-page-pad)!important;
    padding-right:var(--mobile-page-pad)!important;
  }
  .footer-inner{
    grid-template-columns:1fr 1fr!important;
    gap:20px 18px!important;
    padding:28px 0 20px!important;
  }
  .footer-brand{
    grid-column:1/-1!important;
    max-width:none!important;
    text-align:center!important;
  }
  .footer-logo{
    width:118px!important;
    margin-inline:auto!important;
  }
  .footer-kicker{
    margin:14px 0 6px!important;
    font-size:.68rem!important;
  }
  .footer-brand p:not(.footer-kicker){
    max-width:280px!important;
    margin-inline:auto!important;
    font-size:.8rem!important;
    line-height:1.45!important;
  }
  .footer-nav{
    gap:6px!important;
    text-align:center!important;
  }
  .footer-title{
    margin-bottom:4px!important;
    font-size:.68rem!important;
  }
  .footer-nav a{
    width:100%!important;
    padding:5px 0!important;
    font-size:.68rem!important;
  }
  .footer-bottom{
    align-items:center!important;
    gap:8px!important;
    padding:12px 0 calc(18px + var(--mobile-floating-size))!important;
    text-align:center!important;
    font-size:.72rem!important;
  }
  .footer-bottom a{
    width:auto!important;
    padding:5px 0!important;
    font-size:.68rem!important;
  }
  .contact-location-link{
    justify-items:center!important;
    text-align:center!important;
  }
  .contact-location-link>span{
    width:auto!important;
    margin-inline:auto!important;
  }
  .contact-location-actions{
    justify-content:center!important;
  }
}

@media (max-width:640px){
  .workshop-band .workshop-heading-reveal{
    width:100%!important;
    max-width:520px!important;
    margin-inline:auto!important;
    text-align:center!important;
    justify-self:center!important;
  }
  .workshop-band .workshop-heading-reveal :where(.eyebrow,h2){
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .workshop-copy-reveal.is-visible{
    transition-delay:.06s!important;
  }
  .social-links,
  .mobile-menu-toggle,
  .theme-button{
    top:0!important;
    backface-visibility:hidden;
    will-change:transform;
    transition:none!important;
  }
  .social-links{
    overflow:visible!important;
    padding-block:14px!important;
    margin-block:-14px!important;
    contain:layout!important;
  }
  .mobile-menu-toggle,
  .theme-button{
    contain:layout paint;
  }
  .social-links .social-link,
  .instagram-story-entry,
  .mobile-menu-toggle,
  .theme-button{
    transform:translateZ(0);
  }
  .social-links{
    transform:translate3d(-50%,var(--mobile-dock-y),0)!important;
  }
  .mobile-menu-toggle,
  .theme-button{
    transform:translate3d(0,var(--mobile-dock-control-y),0)!important;
  }
  .mobile-menu-toggle:hover,
  .mobile-menu-toggle:focus-visible,
  .theme-button:hover,
  .theme-button:focus-visible{
    transform:translate3d(0,var(--mobile-dock-control-y),0)!important;
  }
}

@media (max-width:640px){
  .main-nav a.is-mobile-press,
  .mobile-menu-toggle.is-mobile-press,
  .theme-button.is-mobile-press{
    background:var(--accent)!important;
    border-color:var(--accent-dark)!important;
    color:#fff!important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 36%,transparent),3px 3px 0 color-mix(in srgb,var(--accent-dark) 62%,transparent),0 0 30px color-mix(in srgb,var(--accent) 58%,transparent)!important;
  }
  .main-nav a.is-mobile-press{
    background:var(--accent)!important;
    border-color:#fff!important;
    color:#fff!important;
    box-shadow:0 0 0 2px var(--accent-dark),0 0 34px color-mix(in srgb,var(--accent) 72%,transparent),3px 3px 0 color-mix(in srgb,var(--accent-dark) 68%,transparent)!important;
    transform:translate3d(0,0,0) scale(.96)!important;
    filter:saturate(1.18)!important;
  }
  .instagram-story-entry.is-mobile-press{
    color:#fff!important;
    transform:translate3d(0,0,0) scale(.94)!important;
    filter:none!important;
  }
  .instagram-story-entry.is-mobile-press .instagram-story-ring{
    background:var(--accent)!important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 36%,transparent),3px 3px 0 color-mix(in srgb,var(--accent-dark) 62%,transparent),0 0 30px color-mix(in srgb,var(--accent) 58%,transparent)!important;
  }
  .mobile-menu-toggle.is-mobile-press,
  .theme-button.is-mobile-press{
    transform:translate3d(0,var(--mobile-dock-control-y),0) scale(.94)!important;
  }
}

@media (max-width:640px){
  .service-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .service-overview-grid .paper-card{
    min-height:0!important;
    padding:11px!important;
  }
  .service-overview-grid .service-media{
    aspect-ratio:16/11!important;
    margin:0 0 10px!important;
  }
  .service-overview-grid .paper-card h3{
    margin-bottom:6px!important;
    font-size:.86rem!important;
    line-height:1.18!important;
  }
  .service-overview-grid .paper-card p{
    font-size:.72rem!important;
    line-height:1.38!important;
  }
}

@media (max-width:640px){
  .profile-points{
    gap:30px!important;
  }
  .profile-point{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:14px!important;
    text-align:center!important;
  }
  .profile-photo{
    width:min(46vw,170px)!important;
    height:min(46vw,170px)!important;
  }
  .profile-point>div:not(.profile-photo){
    display:grid!important;
    justify-items:center!important;
    max-width:520px!important;
  }
  .profile-point>div:not(.profile-photo)>span{
    width:auto!important;
    margin-inline:auto!important;
  }
}

@media (max-width:640px){
  .main-nav{
    transform-origin:top left!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    max-height:none!important;
    overflow:visible!important;
    transform:translate3d(-18px,-10px,0) scale(.96)!important;
    transition:opacity .22s ease,visibility 0s linear .22s,transform .34s cubic-bezier(.16,1,.3,1)!important;
    will-change:opacity,transform;
  }
  .site-header.is-mobile-menu-open .main-nav{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    max-height:none!important;
    overflow:visible!important;
    transform:translate3d(0,0,0) scale(1)!important;
    transition:opacity .22s ease,visibility 0s,transform .34s cubic-bezier(.16,1,.3,1)!important;
  }
  .main-nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:40px!important;
    box-sizing:border-box!important;
    opacity:0;
    transform:translate3d(-10px,0,0);
    transition:opacity .2s ease,transform .28s cubic-bezier(.16,1,.3,1),background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
  }
  .site-header.is-mobile-menu-open .main-nav a{
    opacity:1;
    transform:translate3d(0,0,0);
  }
  .site-header.is-mobile-menu-open .main-nav a:nth-child(1){transition-delay:.03s}
  .site-header.is-mobile-menu-open .main-nav a:nth-child(2){transition-delay:.06s}
  .site-header.is-mobile-menu-open .main-nav a:nth-child(3){transition-delay:.09s}
  .site-header.is-mobile-menu-open .main-nav a:nth-child(4){transition-delay:.12s}
  .site-header.is-mobile-menu-open .main-nav a:nth-child(5){transition-delay:.15s}
  .site-header.is-mobile-menu-open .main-nav a:nth-child(6){transition-delay:.18s}
  .site-header.is-mobile-menu-open .main-nav a:nth-child(7){transition-delay:.21s}
  .site-header.is-mobile-menu-open .main-nav a:nth-child(8){transition-delay:.24s}
}

.location-section .hero-actions{
  justify-content:center;
}
.youtube-copy .hero-actions{
  justify-content:center;
}
.project-media-column .project-media-drop{
  width:100%;
}
.project-media-column .project-media-drop .project-gallery{
  width:100%;
  max-width:none;
}
.project-media-column .project-gallery-thumbs{
  justify-content:flex-start;
}
.project-cover{
  touch-action:pan-y;
}

@media (max-width:640px){
  .location-section .hero-actions{
    display:flex!important;
    justify-content:center!important;
    justify-items:center!important;
  }
  .location-section .hero-actions .button{
    width:auto!important;
  }
  .youtube-copy .hero-actions{
    display:flex!important;
    justify-content:center!important;
    justify-items:center!important;
  }
  .youtube-copy .hero-actions .button{
    width:auto!important;
  }
}

@media (max-width:640px){
  main :where(.project-copy,.project-body,.project-drop .project-body){
    text-align:left!important;
  }
  main :where(.project-copy,.project-body,.project-drop .project-body) :where(p,.project-intro){
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
  .project-copy .project-intro{
    margin-bottom:12px!important;
    line-height:1.42!important;
  }
  .project-body{
    gap:5px!important;
  }
  .project-copy p,
  .project-drop .project-body p{
    line-height:1.42!important;
  }
}

@media (max-width:640px){
  .legal-page .page-hero{
    padding-top:96px!important;
    padding-bottom:32px!important;
    overflow:hidden;
  }
  .legal-page .page-hero h1{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(1.75rem,7.4vw,2.25rem)!important;
    line-height:1.02!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    text-wrap:balance!important;
  }
  .legal-page .page-hero p:not(.eyebrow){
    max-width:100%!important;
    font-size:.94rem!important;
    line-height:1.5!important;
    overflow-wrap:anywhere!important;
  }
  .legal-content{
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
  }
  .legal-info-grid,
  .legal-overview-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .settings-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .legal-info-card,
  .legal-overview-grid .paper-card,
  .settings-choice-card{
    min-height:0!important;
    padding:16px!important;
    text-align:left!important;
    overflow:hidden;
  }
  .legal-info-card{
    box-shadow:4px 4px 0 rgba(0,0,0,.18)!important;
  }
  .legal-info-card h2,
  .legal-info-card h3,
  .legal-overview-grid .paper-card h3,
  .settings-choice-card h3{
    max-width:100%!important;
    margin-top:0!important;
    margin-bottom:9px!important;
    text-align:left!important;
    line-height:1.18!important;
    overflow-wrap:anywhere!important;
    text-wrap:balance!important;
  }
  .legal-info-card h2{
    font-size:1.08rem!important;
  }
  .legal-info-card h3,
  .legal-overview-grid .paper-card h3,
  .settings-choice-card h3{
    font-size:.94rem!important;
  }
  .legal-info-card p,
  .legal-info-card li,
  .legal-overview-grid .paper-card p,
  .settings-choice-card p{
    max-width:100%!important;
    font-size:.82rem!important;
    line-height:1.52!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
  }
  .legal-info-card ul{
    margin-top:10px!important;
    padding-left:18px!important;
  }
  .legal-info-card a,
  .legal-overview-grid .paper-card a{
    overflow-wrap:anywhere;
  }
  .legal-todo{
    margin:10px 0 0!important;
    padding:9px 10px!important;
    border-left:0!important;
    border-top:3px solid var(--accent)!important;
    font-size:.78rem!important;
    line-height:1.42!important;
    text-align:left!important;
  }
  .settings-choice-card{
    display:grid!important;
    align-content:start!important;
    gap:10px!important;
    padding:12px!important;
  }
  .settings-badge{
    width:max-content!important;
    max-width:100%!important;
    padding:6px 8px!important;
    font-size:.62rem!important;
  }
  .settings-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:14px!important;
  }
  .settings-actions .button,
  .settings-choice-card .button{
    width:100%!important;
    min-height:38px!important;
    padding:8px 8px!important;
    font-size:.62rem!important;
    white-space:normal!important;
  }
  .settings-status{
    display:block!important;
    width:100%!important;
    font-size:.78rem!important;
    line-height:1.4!important;
  }
  .cookie-explain{
    gap:20px!important;
  }
  .cookie-explain-group{
    gap:10px!important;
  }
  .cookie-explain-heading{
    display:grid!important;
    gap:5px!important;
    padding-bottom:8px!important;
    text-align:left!important;
  }
  .cookie-explain-heading span{
    font-size:.62rem!important;
  }
  .cookie-explain-heading h2{
    font-size:1.05rem!important;
    line-height:1.16!important;
    text-align:left!important;
  }
  .cookie-explain-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .cookie-explain-note{
    padding:14px!important;
  }
}

