/* Shared layout repairs and editorial pages. Content stays in normal flow. */
.fp-ui-arrow { display:inline-block; width:1.15rem; height:1.15rem; flex:0 0 1.15rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.fp-button { max-width:100%; line-height:1.2; }
.fp-button > span { min-width:0; }
.fp-button > [aria-hidden] { flex-shrink:0; white-space:nowrap; }
.fp-section__head { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(2rem,5vw,5rem); }
.fp-section__head > div { container-type:inline-size; }
.fp-section__head h2 { max-width:100%; font-size:clamp(2.25rem,13.5cqw,6.6rem); overflow-wrap:break-word; }
.fp-section__intro { margin-left:0; }
.fp-occasion-card > div { min-width:0; }
.fp-occasion-card h3 { max-width:100%; line-height:1.05; overflow-wrap:break-word; hyphens:manual; }
.fp-final__action { min-width:0; }
.fp-mode__label::after { content:none; }
.fp-mode__cta { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; margin-top:.45rem; padding:.28rem .5rem; border:1px solid #ffffffa6; border-radius:.3rem; background:#07100de6; color:#fff; font:750 .875rem/1.2 var(--fp-body); }
.fp-mode__cta .fp-ui-arrow { width:.9rem; height:.9rem; flex-basis:.9rem; }
.fp-mode:hover .fp-mode__cta,.fp-mode:focus-visible .fp-mode__cta { background:var(--fp-lime); color:#11190a; border-color:var(--fp-lime); text-shadow:none; }
.fp-mode.is-preview .fp-mode__cta { border-color:var(--mode-glow); box-shadow:0 0 .9rem var(--mode-glow); }
/* Size labels against their circle, independently of the viewport. */
.fp-world { container-type:inline-size; }
/* Explicit geometric clips also contain transformed figure layers. The outer
   glow belongs to .fp-world and is deliberately outside this clipping layer. */
.fp-world__orbit { clip-path:circle(50% at 50% 50%); isolation:isolate; backdrop-filter:none; }
.fp-mode--paintball { border-top-left-radius:100%; }
.fp-mode--airsoft { border-top-right-radius:100%; }
.fp-mode--laser { border-bottom-right-radius:100%; }
.fp-mode--kids { border-bottom-left-radius:100%; }
/* Restore the original subtle hover/preview light from style.css. Reduced
   motion keeps only slow opacity/colour fades, without artwork displacement. */
.fp-hero.is-reduced-motion *,
.fp-hero.is-reduced-motion::before,
.fp-hero.is-reduced-motion *::before,
.fp-hero.is-reduced-motion *::after { animation:none !important; }
.fp-hero.is-reduced-motion .fp-mode .fp-mode__art { scale:1; translate:none; }
.fp-hero.is-reduced-motion .fp-world__center:hover,
.fp-hero.is-reduced-motion .fp-world__center:focus-visible { transform:translate(-50%,-50%); }
.fp-hero.is-reduced-motion .fp-mode,
.fp-hero.is-reduced-motion .fp-mode::before,
.fp-hero.is-reduced-motion .fp-mode__art { transition-property:opacity,filter; transition-duration:900ms !important; }
.fp-mode__art img { display:block; }
.fp-mode__name { font-size:clamp(.875rem,4.2cqw,2rem); }
.fp-mode--kids .fp-mode__name { font-size:clamp(.78rem,3cqw,1.5rem); }
@container(max-width:600px) { .fp-mode__name--soft span { display:block; } .fp-mode--kids .fp-mode__name { font-size:clamp(.78rem,3.6cqw,1.25rem); } }
.fp-contact-hero h1,.fp-pricing-hero h1 { line-height:1.05; }
.fp-contact-hero h1 > span { display:block; }
.fp-campaign-hero__copy,.fp-detail-hero__copy,.fp-field-hero__content { container-type:inline-size; }
@media(max-width:780px) {
  .fp-contact-hero h1 { font-size:clamp(2rem,9.5vw,4.4rem); letter-spacing:-.045em; }
  .fp-pricing-hero h1 { font-size:clamp(2.15rem,10.4vw,4.2rem); letter-spacing:-.04em; }
  .fp-contact-hero__inner { min-height:0; }
  .fp-campaign .fp-campaign-hero h1 { font-size:clamp(1.8rem,11.5cqw,4.7rem); line-height:1.04; }
  .fp-campaign.fp-campaign--kindergeburtstag-paintball .fp-campaign-hero h1 { font-size:clamp(1.65rem,10cqw,4rem); }
  .fp-detail .fp-detail-hero h1 { font-size:clamp(2rem,17cqw,5.2rem); line-height:1; }
  .fp-detail.fp-detail--laser .fp-detail-hero h1 { font-size:clamp(2rem,14cqw,4.4rem); }
  .fp-detail.fp-detail--kids .fp-detail-hero h1 { font-size:clamp(1.7rem,11cqw,4rem); }
  .fp-detail.fp-detail--headquarter .fp-detail-hero h1 { font-size:clamp(1.7rem,10cqw,3.7rem); }
  .fp-field-detail .fp-field-hero h1 { font-size:clamp(2rem,15cqw,6rem); line-height:1; }
  .fp-field-detail.fp-field-detail--ghosttown .fp-field-hero h1 { font-size:clamp(1.8rem,13cqw,5.2rem); }
  .fp-field-detail.fp-field-detail--battlefield .fp-field-hero h1 { font-size:clamp(1.8rem,12cqw,4.8rem); }
}
.fp-gift-card__bottom strong { white-space:nowrap; flex-shrink:0; }
@media(max-width:460px) { .fp-mode--kids .fp-mode__label,.fp-mode--laser .fp-mode__label { top:calc(36% + 5px); } }
.fp-info { padding-top:clamp(7.5rem,10vw,10rem); }
.fp-info header.fp-info__illustrated { gap:clamp(2rem,5vw,4rem); grid-template-columns:minmax(0,1fr) minmax(0,1fr); margin:2rem 0 5rem; }
.fp-info__illustrated > div { min-width:0; }
.fp-info__illustrated h1 { max-width:11ch; font-size:clamp(2.6rem,4.7vw,4.8rem); overflow-wrap:normal; hyphens:manual; }
.fp-info__lead { max-width:35rem; margin:1.5rem 0; font-size:1.13rem; line-height:1.6; color:#c3ccc6; }
.fp-info__external { display:block; margin-top:1rem; color:#9eafa3; line-height:1.5; }
.fp-about-hero { margin:0; position:relative; }
.fp-info__illustrated .fp-about-hero img { display:block; width:100%; height:auto; aspect-ratio:4/3; max-height:27rem; object-fit:cover; border-radius:1rem 4rem 1rem 1rem; }
.fp-about-hero figcaption { position:absolute; bottom:0; left:0; right:0; padding:3rem 1.25rem 1.25rem; background:linear-gradient(transparent,#07100de6); color:#fff; border-radius:0 0 1rem 1rem; font-size:.9rem; }
.fp-gift-example { min-width:0; margin:0; padding:1rem .5rem; }
.fp-gift-card { position:relative; isolation:isolate; overflow:hidden; border:1px solid #748344; border-radius:1.2rem; padding:clamp(1.3rem,2.5vw,2rem); background:radial-gradient(circle at 100% 0,#91ae242b,transparent 60%),#122219; box-shadow:0 1.8rem 3rem #0008; transform:rotate(-3deg); }
.fp-gift-card::before { content:""; position:absolute; z-index:-1; border:1px solid #ccff3255; width:24rem; height:24rem; border-radius:50%; right:-12rem; top:-12rem; box-shadow:0 0 0 2.3rem #ccff3208,0 0 0 4.6rem #ccff3206; }
.fp-gift-card__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.fp-info__illustrated .fp-gift-card__top img { width:54%; height:auto; aspect-ratio:auto; border-radius:0; object-fit:contain; }
.fp-gift-card__top > span { color:#c1cbbb; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.fp-gift-card__title { margin:2.4rem 0 2rem; font-family:var(--fp-display); font-size:clamp(1.8rem,3.4vw,3.3rem); font-weight:900; line-height:1; text-transform:uppercase; }
.fp-gift-card__title em { color:#ccff32; font-style:normal; }
.fp-gift-card__bottom { display:flex; align-items:end; justify-content:space-between; gap:1rem; border-top:1px dashed #82926c80; padding-top:1.2rem; }
.fp-gift-card__bottom > span { font-size:.82rem; color:#c1cbbb; line-height:1.5; }
.fp-gift-card__bottom strong { font-size:3.4rem; line-height:1; color:#ccff32; }
.fp-gift-card__bottom small { font-size:1.5rem; }
.fp-gift-card__sample { display:block; margin-top:1.3rem; color:#9ead96; font-size:.6rem; letter-spacing:.14em; }
.fp-gift-example figcaption { margin:1.7rem 1rem 0; font-size:.8rem; line-height:1.5; color:#9eafa3; text-align:center; }
.fp-prose--wide { max-width:none; }
.fp-team { padding-top:1rem; scroll-margin-top:7rem; }
.fp-team #fp-team-title { margin-top:1rem; scroll-margin-top:7rem; }
.fp-prose .fp-team h2,.fp-prose .fp-about-values h2,.fp-prose .fp-gift-how h2 { font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.05; margin:1rem 0 2rem; }
.fp-team__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem; }
.fp-team__card { overflow:hidden; border:1px solid #344539; border-radius:.8rem; background:#112219; }
.fp-prose .fp-team__card img { display:block; width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; border-radius:0; }
.fp-team__card > div { padding:1.2rem; }
.fp-team__card h3 { font:800 1.1rem/1.3 var(--fp-body); margin:0; text-transform:none; }
.fp-team__card p { color:#b4c69a; font-size:.85rem; line-height:1.4; margin:.5rem 0 0; }
.fp-team__thanks { display:grid; grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr); align-items:center; gap:2rem; max-width:50rem; margin:2rem 0 5rem; background:#122219; border:1px solid #344539; border-radius:1rem; overflow:hidden; padding:1rem; }
.fp-prose .fp-team__thanks img { width:100%; height:auto; max-height:17rem; object-fit:contain; border-radius:.5rem; }
.fp-team__thanks h3 { font-size:1.7rem; }
.fp-team__thanks p { font-size:1rem; margin:.8rem 0; }
.fp-team__thanks .fp-kicker { font-size:.7rem; }
.fp-editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; margin:2rem 0 3rem; }
.fp-editorial-grid article { padding:1.6rem; border:1px solid #344539; border-radius:.9rem; background:#112219; }
.fp-editorial-grid h3 { margin:1rem 0; }
.fp-editorial-grid p { font-size:1rem; color:#c1ccc4; }
.fp-editorial-number { display:inline-grid; place-items:center; width:2.6rem; height:2.6rem; border:1px solid #ccff32; border-radius:50%; color:#ccff32; font-size:.9rem; font-weight:800; }
.fp-editorial-contact { margin-top:4rem; padding:2rem 0; border-top:1px solid #344539; }
.fp-article-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.fp-article-grid article.fp-article-card { padding:0; overflow:hidden; display:flex; flex-direction:column; background:#122219; border-color:#344539; }
.fp-prose .fp-article-card__image { display:block; overflow:hidden; }
.fp-prose .fp-article-card__image img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:0; transition:transform 350ms ease; }
.fp-article-card:hover img { transform:scale(1.035); }
.fp-article-card__body { display:flex; flex-direction:column; align-items:start; padding:1.4rem; flex:1; }
.fp-article-card__meta { display:flex; flex-wrap:wrap; gap:.35rem 1rem; color:#9ead96; font-size:.72rem; line-height:1.4; }
.fp-article-card__meta span { color:#c7df9b; }
.fp-article-grid h2 { font-size:clamp(1.25rem,1.8vw,1.7rem); margin:1rem 0 1.5rem; line-height:1.2; text-transform:none; font-family:var(--fp-body); font-weight:800; }
.fp-prose .fp-article-grid h2 a { color:#f4f1e7; text-decoration:none; }
.fp-prose .fp-article-grid h2 a:hover { text-decoration:underline; }
.fp-prose .fp-article-card__read { margin-top:auto; display:inline-flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:700; text-decoration:none; }
.fp-article-cover { margin:2rem 0 3rem; max-width:58rem; }
.fp-article-cover img { display:block; width:100%; height:auto; max-height:35rem; object-fit:cover; border-radius:1rem; }
.fp-article-cover figcaption { margin-top:.7rem; color:#a2b4a7; font-size:.8rem; }
@media(max-width:1000px) { .fp-team__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .fp-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:780px) { .fp-info header.fp-info__illustrated,.fp-section__head { grid-template-columns:minmax(0,1fr); } .fp-info__illustrated h1 { max-width:14ch; } .fp-info header.fp-info__illustrated { margin-bottom:3rem; } .fp-about-hero { max-width:34rem; } .fp-gift-example { max-width:36rem; } .fp-editorial-grid { grid-template-columns:1fr; } .fp-team__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .fp-team__thanks { gap:1.1rem; } .fp-team__thanks h3 { font-size:1.2rem; } .fp-section__head h2 { font-size:clamp(2.5rem,11.5cqw,4.2rem); } }
@media(max-width:460px) { .fp-mode__cta > span { display:none; } .fp-mode__cta { width:1.7rem; height:1.7rem; padding:.25rem; margin-top:.3rem; } .fp-mode__cta .fp-ui-arrow { width:.8rem; height:.8rem; flex-basis:.8rem; } .fp-article-grid { grid-template-columns:1fr; } .fp-team__grid { gap:.65rem; } .fp-team__card > div { padding:.8rem; } .fp-team__card h3 { font-size:.93rem; overflow-wrap:break-word; } .fp-team__card p { font-size:.76rem; } .fp-team__thanks { grid-template-columns:1fr; padding:1.2rem; } .fp-prose .fp-team__thanks img { max-height:20rem; width:auto; max-width:100%; justify-self:start; } .fp-gift-card { transform:rotate(-2deg); } .fp-gift-card__top > span { font-size:.5rem; } .fp-gift-card__bottom strong { font-size:2.7rem; } .fp-info__lead { font-size:1rem; } }
