/*
Theme Name: Miboku Grandios V23 – Persönliche Startseite
Author: Miboku
Description: Responsives Premium-Theme für Medien, Gestaltung und Publikationen.
Version: 2.3.0
Text Domain: miboku-grandios
*/
:root{--navy:#0b2a4a;--deep:#071c31;--red:#d71920;--ink:#172334;--muted:#66758a;--paper:#f5f7fa;--line:#e1e7ef;--radius:22px;--shadow:0 18px 50px #071c311f;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:100;background:#ffffffed;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px}.brand img{max-width:190px;max-height:62px;object-fit:contain}.brand-mark{width:46px;height:46px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:14px;font-size:27px;font-weight:950;position:relative}.brand-mark:after{content:"";position:absolute;width:10px;height:23px;background:var(--red);right:7px;top:2px;border-radius:100% 0 100% 0;transform:rotate(15deg)}.brand-name{font-size:25px;font-weight:950;letter-spacing:-1px;color:var(--navy);line-height:1}.brand-name span{color:var(--red)}.brand-tag{display:block;font-size:8px;font-weight:850;letter-spacing:1.1px;margin-top:5px;color:var(--navy);white-space:nowrap}.main-nav{display:flex;align-items:center;gap:clamp(10px,1.7vw,23px)}.main-nav a{font-size:13px;font-weight:800;color:#344257;padding:12px 0;position:relative}.main-nav a:after{content:"";height:2px;width:0;position:absolute;bottom:4px;left:0;background:var(--red);transition:.2s}.main-nav a:hover:after{width:100%}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--red);border:1px solid var(--red);border-radius:999px;color:#fff;padding:13px 20px;font-weight:850;font-size:14px;box-shadow:0 9px 22px #d7192028;transition:.2s}.header-cta:hover,.btn:hover{transform:translateY(-2px);background:#b90f17}.btn.secondary{background:#fff;color:var(--navy);border-color:#d8e0e9;box-shadow:none}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:12px;width:44px;height:44px;font-size:22px;color:var(--navy)}
.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden}.hero:before{content:"M";position:absolute;right:-15px;top:-220px;font-size:clamp(500px,62vw,900px);font-weight:950;line-height:1;color:#ffffff08;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center;min-height:610px;padding:70px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:950;color:var(--red);margin-bottom:17px}.eyebrow:before{content:"";width:24px;height:2px;background:currentColor}.hero h1{font-size:clamp(42px,5.2vw,72px);line-height:1.02;letter-spacing:-3px;margin:0 0 22px}.hero h1 em{font-style:normal;color:#ff4a50}.hero p{font-size:17px;line-height:1.75;color:#d1dbe6;max-width:600px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero .btn.secondary{background:#ffffff0d;border-color:#ffffff40;color:#fff}.micro-proof{display:flex;align-items:center;gap:13px;color:#b7c4d3;font-size:12px;margin-top:25px}.proof-dots{display:flex}.proof-dots span{display:grid;place-items:center;width:27px;height:27px;border:2px solid var(--deep);border-radius:50%;background:#e4eaf0;color:var(--navy);font-weight:900;margin-left:-6px}.proof-dots span:first-child{margin-left:0;background:#f5d1d2}.hero-visual{position:relative;min-height:390px;display:flex;align-items:center}.photo-placeholder{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:240px;padding:25px;border:1px solid #d4dde7;border-radius:var(--radius);background:linear-gradient(135deg,#e8edf3,#d4dee8);color:#5e6d7d}.photo-placeholder:before{content:"";position:absolute;inset:-50%;background:repeating-linear-gradient(135deg,transparent 0 24px,#ffffff55 24px 25px)}.ph-inner{position:relative;z-index:1;max-width:290px}.ph-icon{width:54px;height:54px;display:grid;place-items:center;background:#fff;color:var(--navy);border-radius:17px;margin:0 auto 13px;font-size:24px;box-shadow:0 6px 20px #0b2a4a12}.ph-title{font-weight:900;color:var(--navy);font-size:16px}.ph-sub{font-size:12px;margin-top:5px}.hero-visual .photo-placeholder{width:100%;min-height:410px;background:linear-gradient(135deg,#1c3f60,#0b2a4a 60%,#b91822);border-color:#ffffff30;color:#fff;border-radius:30px}.hero-visual .ph-icon{background:#ffffff1b;color:#fff}.hero-visual .ph-title{color:#fff;font-size:20px}.hero-visual .ph-sub{color:#d6e0eb}.floating-tag{position:absolute;left:-20px;bottom:20px;display:flex;align-items:center;gap:12px;padding:14px 17px;background:#fff;color:var(--navy);border-radius:15px;box-shadow:var(--shadow);font-size:12px;font-weight:800}.floating-tag b{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#ffe5e6;color:var(--red);font-size:18px}
.section{padding:88px 0}.section.soft{background:var(--paper)}.section.dark{background:var(--deep);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:36px}.section-head h2,.split-copy h2{font-size:clamp(32px,4vw,50px);line-height:1.08;letter-spacing:-1.8px;color:var(--navy);margin:0}.section.dark .section-head h2{color:#fff}.section-head p{max-width:480px;color:var(--muted);margin:0}.section.dark .section-head p{color:#c2ceda}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;overflow:hidden;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.25s}.service-card:after{content:"M";position:absolute;right:-7px;bottom:-49px;font-size:140px;font-weight:950;line-height:1;color:#0b2a4a05;pointer-events:none}.service-card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-icon{width:54px;height:54px;display:grid;place-items:center;background:#fff0f0;color:var(--red);border-radius:17px;font-size:24px;margin-bottom:20px}.service-card h3{font-size:21px;color:var(--navy);margin:0 0 10px}.service-card p,.project-card p{font-size:14px;color:var(--muted);margin:0 0 17px}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--red);font-weight:900;font-size:14px}.text-link:hover{gap:14px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.split-visual{position:relative}.split-visual .photo-placeholder{min-height:420px}.split-copy p{color:var(--muted)}.check-list{list-style:none;padding:0;margin:23px 0 28px;display:grid;gap:12px}.check-list li{display:flex;gap:11px;font-weight:700;color:#344257}.check-list li:before{content:"✓";flex:0 0 23px;height:23px;display:grid;place-items:center;background:#e3f5ec;color:#13784b;border-radius:50%;font-size:12px;font-weight:900;margin-top:2px}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.audience-card{padding:24px 21px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.25s}.audience-card:hover{background:var(--navy);transform:translateY(-4px)}.audience-card .number{font-size:11px;letter-spacing:1px;color:var(--red);font-weight:950}.audience-card h3{font-size:19px;color:var(--navy);margin:12px 0 7px}.audience-card p{font-size:13px;color:var(--muted);margin:0}.audience-card:hover h3,.audience-card:hover p{color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ffffff22;border-radius:20px;overflow:hidden;margin-top:38px}.stat{padding:23px;text-align:center;border-right:1px solid #ffffff22}.stat:last-child{border:0}.stat strong{display:block;color:#fff;font-size:32px}.stat span{font-size:12px;color:#b9c8d7}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:.25s}.project-card .photo-placeholder{min-height:250px;border:0;border-radius:0}.project-card img{width:100%;height:250px;object-fit:cover}.project-card-body{padding:21px}.project-card h3{font-size:20px;color:var(--navy);margin:10px 0 7px}.pill{display:inline-flex;background:#fff0f0;color:var(--red);border-radius:999px;padding:5px 10px;font-size:10px;font-weight:950;letter-spacing:.7px;text-transform:uppercase}.cta-band{background:var(--red);color:#fff;border-radius:28px;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.cta-band:after{content:"M";position:absolute;right:20%;top:-120px;font-size:330px;font-weight:950;color:#ffffff12}.cta-band h2{font-size:clamp(30px,3.8vw,46px);line-height:1.05;letter-spacing:-1.5px;margin:0 0 12px;color:#fff}.cta-band p{color:#ffe5e6;margin:0;max-width:570px}.cta-band .btn{background:#fff;color:var(--navy);border-color:#fff;position:relative;z-index:1;white-space:nowrap}.faq-list{display:grid;gap:12px;max-width:850px;margin:auto}.faq-list details{border:1px solid var(--line);border-radius:16px;padding:0 20px;background:#fff}.faq-list summary{cursor:pointer;list-style:none;padding:19px 35px 19px 0;font-weight:900;color:var(--navy);position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;top:13px;color:var(--red);font-size:25px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);margin:0 0 20px}.page-hero{background:linear-gradient(120deg,var(--deep),var(--navy));color:#fff;padding:78px 0;position:relative;overflow:hidden}.page-hero:after{content:"M";position:absolute;right:3%;top:-110px;font-size:390px;font-weight:950;line-height:1;color:#ffffff08}.page-hero .container{position:relative;z-index:1}.breadcrumbs{font-size:12px;color:#b5c5d6;margin-bottom:18px}.breadcrumbs a{color:#fff}.page-hero h1{font-size:clamp(40px,5vw,62px);line-height:1.05;letter-spacing:-2px;color:#fff;margin:0;max-width:800px}.page-hero p{max-width:700px;color:#d2dce7;font-size:17px;margin:20px 0 0}.page-content{padding:68px 0 95px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:50px}.entry-content{font-size:16px;line-height:1.8}.entry-content h2,.entry-content h3{color:var(--navy);line-height:1.2}.entry-content h2{font-size:32px;margin-top:1.5em}.entry-content h3{font-size:23px;margin-top:1.4em}.entry-content p{color:#4d5b6d}.entry-content a{color:var(--red);text-decoration:underline}.content-aside{background:var(--paper);border-radius:22px;padding:24px;height:max-content;position:sticky;top:110px}.content-aside h3{color:var(--navy);margin:0 0 12px}.content-aside p{font-size:13px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px}.contact-panel{background:var(--navy);color:#fff;padding:32px;border-radius:24px;position:relative;overflow:hidden}.contact-panel h2{color:#fff;margin-top:0}.contact-panel p{color:#d3dce7}.contact-detail{border-top:1px solid #ffffff25;padding:15px 0;position:relative;z-index:1}.contact-detail strong{display:block;font-size:11px;letter-spacing:1px;color:#ff7479;text-transform:uppercase}.contact-detail a{color:#fff}.contact-form{padding:30px;border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 35px #0b2a4a08}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:block;font-weight:850;font-size:12px;color:var(--navy);margin-bottom:6px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid #d6dee8;border-radius:12px;padding:13px;background:#fbfcfd;margin-bottom:15px}.contact-form textarea{min-height:135px;resize:vertical}.notice{padding:13px 16px;border-radius:12px;background:#fff5e8;color:#75511b;font-size:13px;margin-bottom:18px}.site-footer{background:#061626;color:#fff;padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:32px}.footer-brand p{max-width:300px;color:#aebdcb;font-size:13px}.footer-title{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#ff6a70;font-weight:950;margin:0 0 17px}.footer-links{display:grid;gap:10px}.footer-links a{font-size:13px;color:#c4d0dc}.footer-links a:hover,.footer-legal a:hover{color:#fff}.socials{display:flex;gap:10px;margin-top:16px}.socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff30;border-radius:13px;font-size:12px;font-weight:950;color:#fff}.socials a:hover{background:var(--red);border-color:var(--red)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;margin-top:45px;padding-top:22px;color:#93a5b8;font-size:11px}.footer-legal{display:flex;gap:18px}.footer-legal a{color:#c4d0dc}.back-top{position:fixed;right:22px;bottom:22px;z-index:90;width:46px;height:46px;border:0;border-radius:15px;background:var(--red);color:#fff;font-size:20px;box-shadow:0 10px 25px #d7192035;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s}.back-top.visible{opacity:1;pointer-events:auto;transform:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.in-view{opacity:1;transform:none}.wp-block-image img,.wp-block-gallery img{border-radius:16px}.wp-block-button__link{background:var(--red);border-radius:999px}
@media(max-width:1050px){.main-nav{gap:12px}.main-nav a{font-size:12px}.header-cta{display:none}.hero-grid{gap:25px}.footer-grid{grid-template-columns:1fr 1fr}.audience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.header-inner{min-height:72px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 22px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #0b2a4a12;align-items:stretch;flex-direction:column;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px 0;font-size:14px;border-bottom:1px solid #edf0f4}.hero-grid{grid-template-columns:1fr;padding:58px 0 50px;min-height:0}.hero-visual{min-height:300px}.hero-visual .photo-placeholder{min-height:320px}.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:14px}.services-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:35px}.split-visual .photo-placeholder{min-height:320px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #ffffff22}.content-layout{grid-template-columns:1fr}.content-aside{position:static}.contact-grid{grid-template-columns:1fr}.page-hero{padding:60px 0}.cta-band{display:block;padding:32px}.cta-band .btn{margin-top:22px}.footer-grid{gap:25px}}
@media(max-width:560px){.container{width:calc(100% - 30px)}.brand-mark{width:41px;height:41px}.brand-name{font-size:22px}.brand-tag{font-size:7px;letter-spacing:.8px}.brand img{max-width:145px}.hero h1{font-size:42px;letter-spacing:-2px}.hero p{font-size:16px}.hero-actions .btn{width:100%}.hero-visual .photo-placeholder{min-height:260px}.section{padding:55px 0}.services-grid,.portfolio-grid,.audience-grid{grid-template-columns:1fr}.section-head h2,.split-copy h2{font-size:34px}.stat{padding:18px 10px}.stat strong{font-size:27px}.form-row{grid-template-columns:1fr;gap:0}.contact-panel,.contact-form{padding:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{display:block}.footer-legal{margin-top:12px;flex-wrap:wrap}.cta-band{padding:26px 22px}.page-content{padding:45px 0 65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.reveal{opacity:1;transform:none}}

/* Page-specific layouts */
.service-card>.photo-placeholder,.audience-card>.photo-placeholder{min-height:160px;margin:-8px -8px 20px;border-radius:16px}.audience-card>.photo-placeholder{margin:0 0 18px;min-height:145px}.section.dark .split-copy h2{color:#fff}.section.dark .split-copy p{color:#c2ceda}


/* Eingebundenes Miboku-Logo */
.brand-logo{display:block;width:190px;max-width:100%;height:auto;max-height:62px;object-fit:contain}.footer-logo-wrap{display:inline-block;background:#fff;padding:7px 10px;border-radius:8px;line-height:0}.brand .custom-logo-link{display:block}.brand .custom-logo{display:block;width:auto;max-width:190px;max-height:62px;height:auto;object-fit:contain}@media(max-width:600px){.brand-logo{width:150px;max-height:50px}}
/* Miboku Feuerwehr-Jahrbuch-Konzept */
.finance-explainer{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-top:30px;padding:30px;border:1px solid #ffffff24;border-radius:22px;background:#ffffff08}
.finance-explainer h3{font-size:clamp(24px,3vw,34px);line-height:1.12;margin:0 0 12px;color:#fff}
.finance-explainer p{color:#c2ceda;margin:0}
.finance-equation{display:grid;gap:8px;padding:20px;border-radius:16px;background:#fff;color:var(--navy);text-align:center}
.finance-equation span{font-weight:800;padding:7px 10px;background:var(--paper);border-radius:9px}
.finance-equation b{color:var(--red);font-size:18px}
.finance-equation strong{padding:12px 10px;background:var(--navy);border-radius:10px;color:#fff}
@media(max-width:820px){.finance-explainer{grid-template-columns:1fr;padding:22px}}

/* Referenzprojekte mit gelieferten Arbeitsproben */
.portfolio-grid-featured .project-image-wrap{background:#f3f5f8;overflow:visible;min-height:0;padding:18px;display:flex;align-items:center;justify-content:center}.portfolio-grid-featured .project-image-wrap img{display:block;width:auto;height:auto;max-width:100%;max-height:520px;object-fit:contain;object-position:center;margin:0 auto}.portfolio-grid-featured .project-card{height:auto;overflow:hidden;display:flex;flex-direction:column}.portfolio-grid-featured .project-card-body{height:auto;flex:1}.portfolio-grid-featured .project-card h3{overflow-wrap:anywhere}.portfolio-grid-featured .project-card p{overflow-wrap:anywhere;white-space:normal}.portfolio-note{font-size:12px;color:var(--muted);margin-top:18px}
@media(max-width:560px){.portfolio-grid-featured .project-image-wrap{padding:12px}.portfolio-grid-featured .project-image-wrap img{max-height:460px}}


/* Contact Form 7 integration for Miboku Grandios */
.contact-form .wpcf7 form { margin: 0; }
.contact-form .wpcf7 p { margin: 0 0 14px; }
.contact-form .wpcf7 label { display:block; font-weight:850; font-size:12px; color:var(--navy); margin-bottom:6px; }
.contact-form .wpcf7 input:not([type="submit"]), .contact-form .wpcf7 textarea, .contact-form .wpcf7 select { width:100%; max-width:100%; border:1px solid #d6dee8; border-radius:12px; padding:13px; background:#fbfcfd; margin:6px 0 12px; font:inherit; }
.contact-form .wpcf7 textarea { min-height:135px; resize:vertical; }
.contact-form .wpcf7 input[type="submit"] { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:999px; background:var(--red); color:#fff; padding:14px 22px; font:inherit; font-weight:850; cursor:pointer; box-shadow:0 9px 22px #d7192028; }
.contact-form .wpcf7 input[type="submit"]:hover { transform:translateY(-1px); }
.contact-form .wpcf7 .wpcf7-not-valid-tip { color:#b4232b; font-size:12px; }
.contact-form .wpcf7 .wpcf7-response-output { margin:16px 0 0; padding:12px; border-radius:10px; }
.contact-form .wpcf7 form .wpcf7-spinner { display:inline-block; }


/* Miboku Interaktion & Projektgalerien */
.project-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;}
.project-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px #0b2a4a15;}
.project-image-button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:inherit;cursor:pointer;color:inherit;}
.project-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;background:#f3f5f8;}
.project-image-wrap img{transition:transform .65s cubic-bezier(.2,.8,.2,1);}
.project-card:hover .project-image-wrap img,.project-image-button:focus-visible .project-image-wrap img{transform:scale(1.035);}
.project-image-hint{position:absolute;right:12px;bottom:12px;padding:9px 13px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;opacity:0;transform:translateY(6px);transition:.25s;}
.project-card:hover .project-image-hint,.project-image-button:focus-visible .project-image-hint{opacity:1;transform:none;}
.project-open-link{padding:0;border:0;background:none;cursor:pointer;font:inherit;font-weight:850;color:var(--red);}
.project-dialog{width:min(900px,calc(100% - 28px));max-width:none;max-height:90vh;padding:0;border:0;border-radius:22px;overflow:visible;box-shadow:0 28px 100px #06162670;}
.project-dialog::backdrop,.gallery-lightbox::backdrop{background:#061626d9;backdrop-filter:blur(5px);}
.project-dialog-inner{display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:22px;overflow:hidden;max-height:90vh;}
.project-dialog-close{position:absolute;right:12px;top:12px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 5px 20px #0002;}
.project-dialog-image{position:relative;display:grid;place-items:center;background:#f3f5f8;min-height:300px;}
.project-dialog-image img{display:block;width:100%;height:100%;max-height:75vh;object-fit:contain;}
.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:42px;height:42px;background:#fff;color:var(--navy);font-size:30px;cursor:pointer;box-shadow:0 5px 20px #0002;}
.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-prev:disabled,.gallery-next:disabled{opacity:.4;cursor:default}.gallery-counter{position:absolute;bottom:12px;right:12px;background:#061626d9;color:#fff;padding:6px 10px;border-radius:999px;font-size:12px}
.project-dialog-copy{padding:36px 30px;overflow:auto;align-self:center}.project-dialog-copy h2{font-size:clamp(24px,3vw,34px);line-height:1.15;color:var(--navy)}.project-dialog-copy p{line-height:1.7;color:#4d5b6d}.gallery-caption{font-size:12px;color:#758294!important;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}
.portfolio-extra-title{margin:55px 0 24px;color:var(--navy)}.gallery-count{display:inline-block;font-size:12px;color:var(--muted);padding:6px 10px;border-radius:999px;background:var(--paper)}
.project-detail-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:42px;align-items:start}.project-detail-gallery h2{margin-top:0;color:var(--navy)}.project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-gallery-item{display:block;border-radius:14px;overflow:hidden;background:var(--paper);aspect-ratio:4/3}.project-gallery-item:first-child{grid-column:1/-1;aspect-ratio:16/9}.project-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-gallery-item:hover img{transform:scale(1.04)}
.gallery-lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:55px 70px;background:#061626f5;border:0;place-items:center;overflow:hidden}.gallery-lightbox[open]{display:grid}.gallery-lightbox img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain}.gallery-lightbox button{position:absolute;border:0;border-radius:50%;width:46px;height:46px;background:#fff;color:var(--navy);font-size:30px;cursor:pointer}.gallery-lightbox-close{right:22px;top:18px}.gallery-lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}.gallery-lightbox-next{right:18px;top:50%;transform:translateY(-50%)}.gallery-lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;background:#ffffff20;border-radius:999px;padding:7px 12px;font-size:13px}
@media(max-width:760px){.project-dialog-inner{grid-template-columns:1fr;overflow:auto}.project-dialog-image{min-height:220px;max-height:45vh}.project-dialog-image img{max-height:45vh}.project-dialog-copy{padding:24px}.project-detail-layout{grid-template-columns:1fr;gap:30px}.gallery-lightbox{padding:50px 48px}.gallery-lightbox-prev{left:5px}.gallery-lightbox-next{right:5px}.gallery-lightbox button{width:38px;height:38px;font-size:25px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-image-wrap img,.project-image-hint,.project-gallery-item img{transition:none!important;transform:none!important}}


/* Miboku cinematic hero: layered project photography, depth and restrained 3D motion */
.hero-cinematic{isolation:isolate;min-height:650px;background:radial-gradient(ellipse at 78% 38%,#153f61 0%,#0a2743 36%,#061727 75%);}
.hero-cinematic:before{content:"M";right:4%;top:-190px;color:#ffffff06;transform:rotate(-7deg);text-shadow:0 0 100px #d7192030;}
.hero-cinematic:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#061727 0%,#061727f2 35%,#06172799 65%,#06172745 100%),radial-gradient(circle at 80% 48%,#d7192033,transparent 34%);}
.hero-cinematic .hero-grid{position:relative;z-index:2;min-height:650px;padding-top:90px;padding-bottom:90px;}
.hero-cinematic .hero-copy{position:relative;z-index:4;transform-style:preserve-3d;}
.hero-cinematic .hero-copy .eyebrow{color:#ff6870;}
.hero-cinematic .hero h1{max-width:720px;text-shadow:0 8px 35px #0004;}
.hero-cinematic .hero-visual{perspective:1200px;transform-style:preserve-3d;}
.hero-cinematic .hero-visual>img,.hero-cinematic .hero-visual>.photo-placeholder{position:relative;z-index:2;transform:rotateY(-7deg) rotateX(2deg) translateZ(20px);box-shadow:0 45px 100px #0007,0 0 0 1px #ffffff20;transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s;}
.hero-cinematic .hero-visual:hover>img,.hero-cinematic .hero-visual:hover>.photo-placeholder{transform:rotateY(-2deg) rotateX(0) translateY(-7px) translateZ(35px);box-shadow:0 55px 120px #0009,0 0 0 1px #ffffff38;}
.hero-photo-field{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;perspective:1300px;}
.hero-photo-field:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061727 0%,#061727d9 42%,#06172738 100%);z-index:2;}
.hero-photo-field:after{content:"";position:absolute;inset:0;z-index:3;opacity:.18;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent 15%,#000 100%);}
.hero-photo-tile{position:absolute;display:block;overflow:hidden;border:1px solid #ffffff42;border-radius:18px;background:#102a43;box-shadow:0 35px 90px #0008,0 0 40px #d7192020;transform-style:preserve-3d;will-change:transform;filter:saturate(.9);}
.hero-photo-tile img{width:100%;height:100%;object-fit:cover;opacity:.62;mix-blend-mode:screen;}
.hero-photo-tile-one{width:230px;height:320px;right:12%;top:4%;transform:rotateY(-20deg) rotateZ(8deg);animation:heroFloatOne 10s ease-in-out infinite;}
.hero-photo-tile-two{width:180px;height:250px;right:3%;bottom:7%;transform:rotateY(-24deg) rotateZ(-9deg);animation:heroFloatTwo 12s ease-in-out infinite;}
.hero-photo-tile-three{width:145px;height:205px;right:29%;bottom:-5%;transform:rotateY(20deg) rotateZ(10deg);animation:heroFloatThree 11s ease-in-out infinite;}
.hero-orb{position:absolute;display:block;border-radius:50%;filter:blur(2px);}
.hero-orb-one{width:440px;height:440px;right:4%;top:12%;background:radial-gradient(circle at 35% 35%,#e42c3944,transparent 68%);animation:orbPulse 8s ease-in-out infinite;}
.hero-orb-two{width:360px;height:360px;right:28%;bottom:-30%;background:radial-gradient(circle,#2484c444,transparent 68%);animation:orbPulse 11s ease-in-out infinite reverse;}
.hero-cinematic .floating-tag{z-index:5;transform:translateZ(60px);box-shadow:0 22px 60px #0005;}
.hero-cinematic .btn{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .25s;}
.hero-cinematic .btn:hover{transform:translateY(-4px) scale(1.025);box-shadow:0 18px 35px #d7192048;}
.hero-scroll-cue{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:-35px;padding:0 0 24px;position:relative;z-index:4;color:#b8c8d8;font-size:9px;font-weight:900;letter-spacing:3px;}
.hero-scroll-cue span{height:30px;width:18px;border:1px solid #ffffff75;border-radius:20px;position:relative;}
.hero-scroll-cue span:after{content:"";position:absolute;top:6px;left:7px;width:2px;height:6px;background:#ff5962;border-radius:2px;animation:scrollCue 1.6s ease-in-out infinite;}
@keyframes heroFloatOne{0%,100%{transform:translate3d(0,0,0) rotateY(-20deg) rotateZ(8deg)}50%{transform:translate3d(-12px,-20px,35px) rotateY(-12deg) rotateZ(5deg)}}
@keyframes heroFloatTwo{0%,100%{transform:translate3d(0,0,0) rotateY(-24deg) rotateZ(-9deg)}50%{transform:translate3d(15px,-14px,22px) rotateY(-14deg) rotateZ(-5deg)}}
@keyframes heroFloatThree{0%,100%{transform:translate3d(0,0,0) rotateY(20deg) rotateZ(10deg)}50%{transform:translate3d(-10px,-18px,28px) rotateY(12deg) rotateZ(5deg)}}
@keyframes orbPulse{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}
@keyframes scrollCue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(10px)}}
.hero-cinematic .reveal{transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1);}
.hero-cinematic .hero-copy.reveal{transform:translateY(26px) translateZ(20px);}
.hero-cinematic .hero-copy.reveal.in-view{transform:translateY(0) translateZ(20px);}
@media(max-width:900px){.hero-cinematic .hero-grid{gap:28px}.hero-photo-tile-one{right:4%;width:180px;height:260px}.hero-photo-tile-two{right:-3%;width:145px;height:200px}.hero-photo-tile-three{right:24%;width:120px;height:170px}}
@media(max-width:700px){.hero-cinematic{min-height:0}.hero-cinematic .hero-grid{min-height:0;padding-top:62px;padding-bottom:65px;grid-template-columns:1fr;gap:25px}.hero-photo-field:before{background:linear-gradient(180deg,#061727c9 0%,#061727f2 65%,#061727 100%)}.hero-photo-tile-one{width:125px;height:180px;right:5%;top:4%;opacity:.55}.hero-photo-tile-two{width:110px;height:155px;right:-2%;bottom:15%;opacity:.5}.hero-photo-tile-three{width:90px;height:130px;right:30%;bottom:-2%;opacity:.45}.hero-orb-one{width:260px;height:260px;right:-8%;top:10%}.hero-orb-two{width:220px;height:220px;right:25%;bottom:-4%}.hero-cinematic .hero-visual{min-height:280px}.hero-cinematic .hero-visual>img,.hero-cinematic .hero-visual>.photo-placeholder{transform:none}.hero-cinematic .hero-visual:hover>img,.hero-cinematic .hero-visual:hover>.photo-placeholder{transform:translateY(-3px)}.hero-scroll-cue{margin-top:-18px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.hero-photo-tile,.hero-orb,.hero-scroll-cue span:after{animation:none!important}.hero-cinematic .hero-visual>img,.hero-cinematic .hero-visual>.photo-placeholder{transform:none!important;transition:none!important}.hero-cinematic .reveal{transition:none!important}}

/* Emergency visual fix: keep the cinematic hero readable even if scroll scripts/cache fail. */
.hero-cinematic{position:relative;isolation:isolate;overflow:hidden;min-height:650px;background:radial-gradient(ellipse at 78% 38%,#153f61 0%,#0a2743 36%,#061727 75%)!important}
.hero-cinematic .hero-grid{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:45px;align-items:center;min-height:650px;padding:70px 0}
.hero-cinematic .hero-copy.reveal,.hero-cinematic .hero-visual.reveal{opacity:1!important;visibility:visible!important;transform:none!important}
.hero-cinematic .hero-photo-field{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;pointer-events:none!important;perspective:1300px}
.hero-cinematic .hero-photo-field:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061727 0%,#061727ed 35%,#0617279c 66%,#06172755 100%);z-index:2}
.hero-cinematic .hero-photo-field .hero-photo-tile{position:absolute!important;display:block!important;overflow:hidden!important;border:1px solid #ffffff42;border-radius:18px;background:#102a43;box-shadow:0 35px 90px #0008;transform-style:preserve-3d;max-width:none!important}
.hero-cinematic .hero-photo-field .hero-photo-tile img{width:100%!important;height:100%!important;object-fit:cover!important;opacity:.7!important;mix-blend-mode:normal!important}
.hero-cinematic .hero-photo-tile-one{width:230px!important;height:320px!important;right:12%!important;left:auto!important;top:4%!important;bottom:auto!important;animation:heroFloatOne 10s ease-in-out infinite}
.hero-cinematic .hero-photo-tile-two{width:180px!important;height:250px!important;right:3%!important;left:auto!important;top:auto!important;bottom:7%!important;animation:heroFloatTwo 12s ease-in-out infinite}
.hero-cinematic .hero-photo-tile-three{width:145px!important;height:205px!important;right:29%!important;left:auto!important;top:auto!important;bottom:-5%!important;animation:heroFloatThree 11s ease-in-out infinite}
.hero-cinematic .hero-orb{position:absolute;display:block;border-radius:50%;filter:blur(2px)}
.hero-cinematic .hero-orb-one{width:440px;height:440px;right:4%;top:12%;background:radial-gradient(circle at 35% 35%,#e42c3944,transparent 68%);animation:orbPulse 8s ease-in-out infinite}
.hero-cinematic .hero-orb-two{width:360px;height:360px;right:28%;bottom:-30%;background:radial-gradient(circle,#2484c444,transparent 68%);animation:orbPulse 11s ease-in-out infinite reverse}
.hero-cinematic .hero-scroll-cue{position:relative;z-index:6}
@media(max-width:700px){.hero-cinematic .hero-grid{grid-template-columns:1fr;min-height:0;padding:55px 0}.hero-cinematic .hero-photo-tile-one{width:125px!important;height:180px!important;right:5%!important;top:4%!important;opacity:.45}.hero-cinematic .hero-photo-tile-two{width:110px!important;height:155px!important;right:-2%!important;bottom:15%!important;opacity:.4}.hero-cinematic .hero-photo-tile-three{width:90px!important;height:130px!important;right:30%!important;bottom:-2%!important;opacity:.35}.hero-cinematic .hero-photo-field:before{background:linear-gradient(180deg,#061727d9 0%,#061727f2 65%,#061727 100%)}}
@media(prefers-reduced-motion:reduce){.hero-cinematic .hero-photo-tile,.hero-cinematic .hero-orb{animation:none!important}}

/* MIBOKU SHOWROOM HERO — premium product reveal, replacing the floating photo collage */
.hero-showroom{position:relative;isolation:isolate;overflow:hidden;min-height:690px;background:#061322!important;color:#fff}
.hero-showroom:before{content:"";position:absolute;right:-10%;top:-35%;width:78%;height:145%;font-size:0;background:radial-gradient(ellipse at 58% 45%,#183e5a80 0%,#0c2439 36%,transparent 70%);pointer-events:none;z-index:-1}
.hero-showroom:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,#061322 0%,#061322f7 35%,#06132265 68%,#06132222 100%),linear-gradient(0deg,#061322 0%,transparent 22%,transparent 80%,#06132255 100%)}
.showroom-atmosphere{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.showroom-light{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.45}
.showroom-light-red{width:460px;height:460px;right:3%;top:4%;background:#d71935;opacity:.17;animation:showroomGlow 9s ease-in-out infinite alternate}
.showroom-light-blue{width:560px;height:360px;right:20%;bottom:-30%;background:#1684c9;opacity:.16;animation:showroomGlow 12s ease-in-out infinite alternate-reverse}
.showroom-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(#8bb6d51c 1px,transparent 1px),linear-gradient(90deg,#8bb6d51c 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 100%);transform:perspective(600px) rotateX(58deg) scale(1.8);transform-origin:50% 100%}
.showroom-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.88fr) minmax(400px,1.12fr);gap:4%;align-items:center;min-height:690px;padding:78px 0 90px}
.showroom-copy{position:relative;z-index:4;max-width:570px}
.showroom-copy .eyebrow{color:#ff626c;font-size:10px;letter-spacing:2.2px}
.showroom-copy h1{font-size:clamp(48px,5.5vw,78px);line-height:.99;letter-spacing:-3.7px;margin:0 0 26px;font-weight:900;max-width:650px}
.showroom-copy h1 em{font-style:normal;color:#ff3345;display:inline-block;text-shadow:0 0 45px #e31a3533}
.showroom-copy>p{max-width:490px;font-size:17px;line-height:1.8;color:#b9c9d8;margin:0 0 30px}
.showroom-primary{display:inline-flex;gap:26px;align-items:center;border-radius:999px;padding:16px 23px;box-shadow:0 12px 40px #d7193533}
.showroom-primary span{font-size:20px;transition:transform .3s}
.showroom-primary:hover span{transform:translate(3px,-3px)}
.showroom-link{display:inline-flex;align-items:center;gap:13px;color:#e7edf5;text-decoration:none;font-size:13px;font-weight:800;padding:15px 4px;transition:color .25s}
.showroom-link span{color:#ff5965;font-size:18px;transition:transform .3s}
.showroom-link:hover{color:#fff}.showroom-link:hover span{transform:translateY(4px)}
.showroom-index{display:flex;align-items:center;gap:13px;margin-top:60px;color:#fff;font-size:11px;letter-spacing:2px;font-weight:900}
.showroom-index .index-line{display:block;width:48px;height:2px;background:#e31b32}.showroom-index .index-label{color:#70869b;font-size:9px;letter-spacing:1.7px}
.showroom-stage{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;perspective:1400px;isolation:isolate;transform-style:preserve-3d}
.showroom-stage:before{content:"";position:absolute;width:78%;height:68%;right:6%;top:8%;background:radial-gradient(ellipse,#fff 0%,#d5e4f0 9%,#6a8da9 24%,#102d47 54%,transparent 72%);opacity:.16;filter:blur(20px);transform:rotate(-18deg);pointer-events:none}
.stage-ring{position:absolute;border:1px solid #8bb5d51c;border-radius:50%;transform:rotateX(68deg) rotateZ(-17deg);pointer-events:none}
.stage-ring-one{width:92%;height:66%;bottom:5%;left:2%;box-shadow:0 0 35px #4e8ab011}
.stage-ring-two{width:72%;height:49%;bottom:13%;left:12%;border-color:#e52b3a25}
.stage-floor{position:absolute;bottom:9%;left:3%;right:1%;height:25%;background:radial-gradient(ellipse at center,#254b66aa 0%,#0a1c2d70 43%,transparent 72%);filter:blur(12px);transform:rotateX(65deg);pointer-events:none}
.showroom-product{position:relative;width:min(57%,310px);aspect-ratio: .64;transform:rotateY(-17deg) rotateX(3deg) rotateZ(-2deg) translateY(-5px);transform-style:preserve-3d;transition:transform .75s cubic-bezier(.16,1,.3,1);filter:drop-shadow(28px 45px 28px #0008);z-index:3;cursor:pointer;outline:none}
.showroom-product:focus-visible{outline:2px solid #ff5360;outline-offset:10px}
.product-cover{display:block;position:relative;width:100%;height:100%;object-fit:cover;border-radius:3px 8px 8px 3px;box-shadow:inset 0 0 0 1px #ffffff45,0 0 0 1px #ffffff35;transform:translateZ(14px);backface-visibility:hidden}
.product-side{position:absolute;top:1%;bottom:1%;left:-13px;width:15px;transform:rotateY(-90deg) translateZ(7px);transform-origin:right center;background:repeating-linear-gradient(0deg,#e5e7e7 0 2px,#9da9b3 2px 3px);box-shadow:inset -4px 0 7px #18212b88}
.product-glint{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(112deg,transparent 0%,transparent 33%,#ffffff00 42%,#ffffff75 49%,#ffffff05 56%,transparent 65%);background-size:240% 100%;background-position:130% 0;mix-blend-mode:screen;transition:background-position 1.1s ease;opacity:.8;border-radius:3px 8px 8px 3px}
.showroom-stage:hover .showroom-product,.showroom-product:focus-visible{transform:rotateY(-7deg) rotateX(0deg) rotateZ(0deg) translateY(-16px) scale(1.025);filter:drop-shadow(38px 55px 35px #0009)}
.showroom-stage:hover .product-glint,.showroom-product:focus-visible .product-glint{background-position:-35% 0}
.stage-caption{position:absolute;bottom:3%;left:3%;right:0;display:flex;align-items:center;gap:10px;color:#71869a;font-size:8px;letter-spacing:1.6px;font-weight:800;z-index:4}
.caption-dot{width:6px;height:6px;background:#e21b32;border-radius:50%;box-shadow:0 0 13px #e21b32}.caption-rule{height:1px;background:#ffffff24;flex:1}.stage-caption strong{color:#c6d4e0;font-size:9px;letter-spacing:1px}
.stage-chip{position:absolute;right:0;bottom:18%;display:flex;flex-direction:column;gap:7px;min-width:148px;padding:15px 18px;background:#ffffff0b;border:1px solid #ffffff24;border-radius:12px;backdrop-filter:blur(15px);box-shadow:0 20px 50px #0004;z-index:5;transform:translateZ(55px);animation:chipFloat 5s ease-in-out infinite}
.stage-chip>span{font-size:8px;color:#ff6570;letter-spacing:1.5px;font-weight:900}.stage-chip strong{font-size:13px;color:#fff}.stage-chip .chip-arrow{position:absolute;right:14px;top:26px;color:#ff6570;font-size:19px}
.showroom-scroll{position:absolute;z-index:5;bottom:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:#6e8499;text-decoration:none;font-size:8px;font-weight:900;letter-spacing:2px}
.showroom-scroll span{width:18px;height:28px;border:1px solid #ffffff44;border-radius:20px;position:relative}.showroom-scroll span:after{content:"";position:absolute;top:5px;left:7px;width:2px;height:5px;background:#f34a59;border-radius:2px;animation:scrollNudge 1.7s ease-in-out infinite}
@keyframes showroomGlow{from{transform:translate3d(0,0,0) scale(.94)}to{transform:translate3d(-35px,22px,0) scale(1.08)}}
@keyframes chipFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes scrollNudge{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(7px);opacity:1}}
@media(max-width:950px){.showroom-layout{grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr);gap:2%;}.showroom-copy h1{font-size:clamp(43px,5.4vw,62px)}.showroom-product{width:min(61%,285px)}.stage-chip{right:-1%;bottom:16%}}
@media(max-width:700px){.hero-showroom{min-height:0}.showroom-layout{grid-template-columns:1fr;gap:15px;min-height:0;padding:62px 0 68px}.showroom-copy h1{font-size:clamp(43px,12vw,62px);letter-spacing:-2.7px}.showroom-copy>p{font-size:15px}.showroom-index{margin-top:30px}.showroom-stage{min-height:390px;margin-top:0}.showroom-product{width:clamp(170px,48vw,235px);transform:rotateY(-12deg) rotateX(2deg) rotateZ(-2deg)}.stage-ring-one{width:95%;height:62%;left:0}.stage-ring-two{width:80%;height:48%;left:7%}.stage-chip{right:0;bottom:16%;min-width:125px;padding:12px}.stage-caption{bottom:2%;left:0;font-size:7px}.showroom-scroll{display:none}.showroom-stage:before{width:100%;right:0}}
@media(prefers-reduced-motion:reduce){.showroom-light,.stage-chip,.showroom-scroll span:after{animation:none!important}.showroom-product,.product-glint{transition:none!important}.showroom-stage:hover .showroom-product{transform:none!important}}


/* Miboku showroom refinement: remove distracting floor/rings/cues and make the book block read in 3D. */
.hero-showroom .stage-ring,
.hero-showroom .stage-floor,
.hero-showroom .stage-caption,
.hero-showroom .showroom-scroll,
.hero-showroom + .hero-scroll-cue { display:none !important; }
.hero-showroom .showroom-stage:before { opacity:.22; filter:blur(28px); }
.hero-showroom .showroom-stage { overflow:visible; }
.hero-showroom .showroom-product {
  width:min(55%, 330px);
  aspect-ratio:.64;
  transform:perspective(1100px) rotateY(-24deg) rotateX(2deg) rotateZ(-1deg) translateY(-5px);
  transform-style:preserve-3d;
  filter:drop-shadow(32px 34px 26px #0009);
}
.hero-showroom .product-cover {
  border-radius:2px 5px 5px 2px;
  transform:translateZ(18px);
  box-shadow:inset -5px 0 7px #07142155, 0 0 0 1px #ffffff45;
}
/* Thick, visible page block on the book's right edge */
.hero-showroom .product-side {
  top:2%; bottom:1%; left:auto; right:-21px; width:22px;
  transform:rotateY(90deg) translateZ(11px);
  transform-origin:left center;
  background:repeating-linear-gradient(0deg,#fffdf4 0 2px,#cbd1d6 2px 2.7px,#f5f3eb 2.7px 4px);
  border-right:1px solid #8794a0;
  box-shadow:inset 3px 0 6px #34404a55, 2px 0 2px #0005;
}
.hero-showroom .showroom-stage:hover .showroom-product,
.hero-showroom .showroom-product:focus-visible {
  transform:perspective(1100px) rotateY(-30deg) rotateX(1deg) rotateZ(-1deg) translateY(-12px) scale(1.025);
  filter:drop-shadow(40px 44px 30px #000a);
}
.hero-showroom .product-glint { opacity:.48; }
@media(max-width:950px){
 .hero-showroom .product-side { right:-15px; width:16px; }
 .hero-showroom .showroom-product { width:min(61%,285px); }
}
@media(max-width:700px){
 .hero-showroom .showroom-product { width:clamp(170px,48vw,235px); }
 .hero-showroom .product-side { right:-12px; width:13px; }
}
@media(prefers-reduced-motion:reduce){.hero-showroom .showroom-product{transform:none!important}}


/* Premium cinematic hero inspired by the approved visual direction */
.premium-hero{position:relative;isolation:isolate;overflow:hidden;background:#041426;color:#fff;min-height:620px;padding:0;}
.premium-hero:before{content:"";position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(2,13,26,.98) 0%,rgba(3,18,34,.9) 34%,rgba(3,18,34,.58) 65%,rgba(3,16,30,.64) 100%),url('assets/firefighter-blue-lights.png') center 48%/cover no-repeat;filter:saturate(.65);transform:scale(1.04)}
.premium-bg{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(2,12,24,.2),rgba(2,12,24,.3)),radial-gradient(ellipse at 78% 42%,rgba(23,73,111,.38),transparent 43%);pointer-events:none}
.premium-smoke{position:absolute;z-index:-2;inset:-12%;background:radial-gradient(ellipse at 76% 30%,rgba(135,161,184,.19),transparent 30%),radial-gradient(ellipse at 92% 65%,rgba(190,36,48,.16),transparent 26%),radial-gradient(ellipse at 10% 52%,rgba(224,31,50,.2),transparent 27%);filter:blur(35px);animation:premiumAtmosphere 14s ease-in-out infinite alternate;pointer-events:none}
.premium-red-glow{position:absolute;z-index:-1;left:-9%;top:25%;width:32vw;height:32vw;border-radius:50%;background:radial-gradient(circle,rgba(215,24,48,.25),transparent 68%);filter:blur(18px);pointer-events:none}
.premium-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(390px,.88fr) minmax(480px,1.12fr);gap:3%;align-items:center;min-height:610px;padding:58px 0 44px}
.premium-copy{max-width:600px;position:relative;z-index:3}.premium-copy .eyebrow{color:#ff3348;font-size:10px;font-weight:900;letter-spacing:2.5px}.premium-copy h1{font-size:clamp(52px,5.1vw,78px);line-height:.94;letter-spacing:-3.6px;margin:18px 0 20px;font-weight:950;color:#fff}.premium-copy h1 em{font-style:normal;color:#ed1d32;text-shadow:0 0 35px rgba(235,28,50,.22)}.premium-copy>p{max-width:510px;color:#d0dbe5;font-size:16px;line-height:1.65;margin:0 0 24px}
.premium-benefits{display:flex;gap:18px;margin:24px 0 23px;align-items:center}.premium-benefit{display:flex;align-items:center;gap:10px;min-width:0}.benefit-icon{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border:2px solid #f02039;color:#ff3449;border-radius:50%;font-size:23px;font-weight:800;box-shadow:0 0 24px rgba(238,25,48,.12)}.premium-benefit strong,.premium-benefit small{display:block}.premium-benefit strong{font-size:11px;color:#fff;line-height:1.35}.premium-benefit small{font-size:10px;color:#d1d9e2;line-height:1.4;margin-top:3px}.premium-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.premium-note{max-width:515px;margin-top:15px;color:#91a4b7;font-size:10px;line-height:1.5}
.premium-showcase{position:relative;min-height:490px;perspective:1500px;isolation:isolate;display:flex;align-items:center;justify-content:center}.premium-showcase:before{content:"";position:absolute;inset:4% 1% 0;background:radial-gradient(ellipse at 55% 54%,rgba(87,133,167,.22),transparent 53%);z-index:-1}.premium-showcase-halo{position:absolute;width:70%;height:70%;border-radius:50%;background:radial-gradient(ellipse,rgba(122,157,184,.25),rgba(26,55,81,.13) 35%,transparent 70%);filter:blur(15px);transform:translateY(-8%);pointer-events:none}.premium-turntable{position:absolute;bottom:8%;left:7%;right:4%;height:18%;border-radius:50%;background:linear-gradient(180deg,#182b3e,#06111e 68%,#020912);border:2px solid #405a70;box-shadow:0 16px 28px #000b,inset 0 3px 5px #9fb6c733,0 -3px 12px #ed233b55;transform:rotateX(62deg);transform-origin:center;z-index:0}.premium-turntable:after{content:"";position:absolute;inset:8px 3%;border-radius:50%;border:2px solid #e82940;box-shadow:0 0 13px #e8294066}
.premium-product-track{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}.premium-product{position:absolute;margin:0;transform-style:preserve-3d;filter:drop-shadow(0 30px 22px rgba(0,0,0,.65));transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s,opacity .6s;pointer-events:none}.premium-product img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px 5px 5px 3px;box-shadow:0 0 0 1px #ffffff45,inset -6px 0 10px #0008}.premium-product:after{content:"";position:absolute;top:1%;bottom:1%;right:-10px;width:10px;background:repeating-linear-gradient(0deg,#f8f4e8 0 2px,#aeb8c1 2px 3px);transform:skewY(0deg);box-shadow:3px 2px 4px #0008}.premium-product figcaption{position:absolute;left:0;right:0;bottom:-28px;text-align:center;color:#d4e0eb;font-size:8px;letter-spacing:1.6px;font-weight:900;text-shadow:0 2px 6px #000}.premium-product-main{width:min(45%,300px);height:390px;left:30%;top:9%;z-index:3;transform:translateZ(60px) rotateY(-15deg) rotateZ(-1deg);}.premium-product-main img{box-shadow:inset -8px 0 12px #0009,0 0 0 1px #ffffff66}.premium-product-kids{width:min(31%,205px);height:275px;left:3%;top:27%;z-index:2;transform:translateZ(-45px) rotateY(17deg) rotateZ(-5deg);opacity:.96}.premium-product-flyer{width:min(30%,200px);height:300px;right:3%;top:23%;z-index:1;transform:translateZ(-80px) rotateY(-20deg) rotateZ(7deg);opacity:.92}.premium-product.is-selected{filter:drop-shadow(0 35px 25px rgba(0,0,0,.72)) drop-shadow(0 0 18px rgba(225,31,51,.13))}.premium-arrow{position:absolute;z-index:8;top:46%;width:52px;height:52px;border:2px solid #ed2038;border-radius:50%;background:rgba(3,18,34,.62);backdrop-filter:blur(8px);color:#ff3045;font-size:38px;line-height:1;cursor:pointer;transition:transform .25s,background .25s,color .25s}.premium-arrow:hover,.premium-arrow:focus-visible{background:#ed1b32;color:#fff;transform:scale(1.08)}.premium-arrow-prev{left:-1%}.premium-arrow-next{right:-1%}.premium-product-meta{position:absolute;left:4%;right:4%;bottom:12%;display:flex;align-items:center;gap:9px;color:#aab9c8;font-size:8px;letter-spacing:1.5px;font-weight:900}.premium-live-dot{width:6px;height:6px;border-radius:50%;background:#f02039;box-shadow:0 0 12px #f02039}.premium-product-meta strong{margin-left:auto;color:#e5edf5}.premium-product-dots{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:7}.premium-product-dots button{width:10px;height:10px;border:0;border-radius:50%;background:#d3dce5;cursor:pointer;padding:0;transition:all .25s}.premium-product-dots button.is-active{width:24px;border-radius:9px;background:#f02039}.premium-floating-label{position:absolute;right:1%;bottom:25%;z-index:6;padding:14px 17px;min-width:142px;border:1px solid #ffffff25;border-radius:12px;background:rgba(17,35,52,.83);backdrop-filter:blur(14px);box-shadow:0 18px 40px #0005;animation:premiumFloat 4.8s ease-in-out infinite}.premium-floating-label small{display:block;font-size:8px;letter-spacing:1.5px;color:#ff4053;font-weight:900;margin-bottom:7px}.premium-floating-label strong{font-size:12px;color:#fff}.premium-floating-label span{float:right;color:#ff4053}.premium-gesture{position:absolute;right:0;bottom:-1%;display:flex;gap:9px;align-items:center;color:#fff;font-size:22px}.premium-gesture span{font-size:8px;line-height:1.6;letter-spacing:1.5px;font-weight:900}
.premium-impact{position:relative;background:linear-gradient(105deg,#071827,#0b1c2d 50%,#071421);color:#fff;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.06);padding:30px 0}.premium-impact-grid{display:grid;grid-template-columns:150px minmax(250px,1.2fr) repeat(3,minmax(150px,.9fr));gap:22px;align-items:center}.premium-charity-mark{width:130px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:5px solid #fff;border-radius:48% 48% 45% 45%;background:linear-gradient(145deg,#ff5260,#c70e26);box-shadow:0 0 0 2px #e52c41,0 9px 25px #0006;transform:rotate(-3deg);text-align:center;font-weight:950;line-height:1.02;font-size:20px;text-shadow:0 2px 3px #7d0a18}.charity-heart{font-size:25px;line-height:1}.premium-charity-copy{padding-right:20px}.premium-charity-copy h2{font-size:22px;line-height:1.2;margin:0 0 8px;color:#fff}.premium-charity-copy h2 em{font-style:normal;color:#ff3045}.premium-charity-copy p{font-size:12px;line-height:1.55;color:#bdcad7;margin:0 0 12px}.premium-more{display:inline-flex;gap:16px;align-items:center;border:1px solid #8fa0b1;border-radius:22px;padding:7px 13px;color:#fff;text-decoration:none;font-size:11px}.premium-promise{height:100%;display:flex;gap:13px;align-items:flex-start;border-left:1px solid #ffffff1c;padding:8px 0 8px 20px}.promise-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:2px solid #f0223a;border-radius:50%;color:#ff3045;font-size:21px}.premium-promise strong{display:block;color:#fff;font-size:12px;line-height:1.35;margin:2px 0 7px}.premium-promise p{margin:0;color:#aebdcb;font-size:10px;line-height:1.55}
@keyframes premiumAtmosphere{0%{transform:translate3d(-1%,0,0) scale(1)}100%{transform:translate3d(2%,1%,0) scale(1.08)}}@keyframes premiumFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:1100px){.premium-hero-grid{grid-template-columns:minmax(340px,.9fr) minmax(400px,1.1fr);gap:1%;}.premium-copy h1{font-size:clamp(48px,5.3vw,65px)}.premium-benefits{gap:10px}.premium-benefit{gap:7px}.benefit-icon{width:38px;height:38px;flex-basis:38px}.premium-product-main{height:350px}.premium-product-kids{height:240px}.premium-product-flyer{height:260px}.premium-impact-grid{grid-template-columns:100px minmax(210px,1.1fr) repeat(3,minmax(130px,.9fr));gap:14px}.premium-charity-mark{width:94px;height:104px;font-size:16px}.premium-promise{padding-left:12px;gap:8px}.promise-icon{width:34px;height:34px;flex-basis:34px}}
@media(max-width:780px){.premium-hero-grid{grid-template-columns:1fr;min-height:0;padding:44px 0 28px;gap:8px}.premium-copy h1{font-size:clamp(48px,11vw,68px);letter-spacing:-2.6px}.premium-copy>p{font-size:15px}.premium-benefits{flex-wrap:wrap;gap:12px}.premium-benefit{flex:1 1 140px}.premium-showcase{min-height:400px;margin-top:0}.premium-product-main{width:39%;height:290px;left:31%;top:8%}.premium-product-kids{width:29%;height:205px;left:5%;top:25%}.premium-product-flyer{width:27%;height:220px;right:5%;top:22%}.premium-arrow{width:42px;height:42px;font-size:30px;top:43%}.premium-arrow-prev{left:0}.premium-arrow-next{right:0}.premium-floating-label{right:1%;bottom:18%;padding:10px 12px;min-width:115px}.premium-product-meta{bottom:8%;font-size:7px}.premium-product-dots{bottom:1%}.premium-turntable{bottom:6%}.premium-gesture{display:none}.premium-impact-grid{grid-template-columns:80px 1fr;gap:16px}.premium-charity-mark{width:74px;height:82px;font-size:13px;border-width:4px}.charity-heart{font-size:17px}.premium-charity-copy{padding:0}.premium-charity-copy h2{font-size:20px}.premium-promise{grid-column:span 2;border-left:0;border-top:1px solid #ffffff1c;padding:14px 0 0}.premium-promise p{font-size:11px}}
@media(max-width:420px){.premium-showcase{min-height:330px}.premium-product-main{height:240px}.premium-product-kids{height:170px}.premium-product-flyer{height:180px}.premium-benefits{display:grid;grid-template-columns:1fr 1fr}.premium-benefit:last-child{grid-column:span 2}.premium-actions{gap:8px}.premium-actions .showroom-link{font-size:11px}.premium-impact{padding:24px 0}}
@media(prefers-reduced-motion:reduce){.premium-smoke,.premium-floating-label{animation:none!important}.premium-product,.premium-arrow,.premium-product-dots button{transition:none!important}}


/* MIBOKU PREMIUM HERO FIX 25-10-2026: keep hero visible even if reveal JS is delayed/blocked */
.premium-hero .reveal,
.premium-hero .reveal.in-view,
.premium-hero .premium-copy,
.premium-hero .premium-showcase{opacity:1 !important; visibility:visible !important;}
.premium-hero .reveal{transform:none !important;}
.premium-hero{color:#fff !important;background-color:#041426 !important;isolation:isolate;}
.premium-hero:before{z-index:-1 !important;opacity:1 !important;}
.premium-hero .premium-bg,.premium-hero .premium-smoke,.premium-hero .premium-red-glow{z-index:0 !important;}
.premium-hero .premium-hero-grid{position:relative;z-index:2 !important;}
.premium-hero .premium-copy h1{color:#fff !important;opacity:1 !important;text-shadow:0 3px 22px rgba(0,0,0,.35);}
.premium-hero .premium-copy h1 em{color:#ff3045 !important;}
.premium-hero .premium-copy>p,.premium-hero .premium-benefit strong,.premium-hero .premium-benefit small,.premium-hero .showroom-link,.premium-hero .premium-note{color:#e5edf5 !important;opacity:1 !important;}
.premium-hero .premium-copy .eyebrow{color:#ff4054 !important;}
.premium-hero .premium-showcase{z-index:3 !important;min-width:0;}
.premium-hero .premium-product-track{z-index:2 !important;opacity:1 !important;visibility:visible !important;}
.premium-hero .premium-product{visibility:visible !important;}
.premium-hero .premium-product img{opacity:1 !important;visibility:visible !important;}
.premium-impact{background:linear-gradient(105deg,#071827,#0b1c2d 50%,#071421) !important;color:#fff !important;}
.premium-impact h2,.premium-impact strong,.premium-impact .premium-charity-mark{color:#fff !important;}
.premium-impact p{color:#cbd7e3 !important;}
@media (prefers-reduced-motion:reduce){.premium-hero .premium-smoke{animation:none!important}}

/* MIBOKU PREMIUM HERO FINAL OVERRIDES — enforce the cinematic concept while keeping the page functional */
body .premium-hero{position:relative!important;display:block!important;min-height:650px!important;overflow:hidden!important;background:#03101e!important;color:#fff!important;isolation:isolate!important}
body .premium-hero:before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;opacity:1!important;background:linear-gradient(90deg,rgba(2,10,20,.97) 0%,rgba(2,12,24,.88) 32%,rgba(2,12,24,.47) 64%,rgba(2,12,24,.5) 100%),linear-gradient(0deg,rgba(2,10,20,.8),transparent 50%),url('assets/referenzen/jahrbuch-2026.jpg') center 38%/cover no-repeat!important;filter:saturate(.7)!important;transform:scale(1.025)!important;pointer-events:none!important}
body .premium-hero .premium-bg,body .premium-hero .premium-smoke,body .premium-hero .premium-red-glow{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important}
body .premium-hero .premium-bg{background:radial-gradient(ellipse at 75% 45%,rgba(31,83,121,.32),transparent 42%),linear-gradient(90deg,transparent,rgba(2,10,20,.1))!important}
body .premium-hero .premium-red-glow{background:radial-gradient(ellipse at 2% 45%,rgba(226,20,44,.22),transparent 27%),radial-gradient(ellipse at 95% 75%,rgba(231,25,46,.14),transparent 26%)!important}
body .premium-hero .premium-hero-grid{position:relative!important;z-index:3!important;display:grid!important;grid-template-columns:minmax(360px,.9fr) minmax(450px,1.1fr)!important;align-items:center!important;gap:2%!important;min-height:650px!important;padding:50px 0 40px!important}
body .premium-hero .premium-copy,body .premium-hero .premium-showcase,body .premium-hero .premium-copy.reveal,body .premium-hero .premium-showcase.reveal{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important}
body .premium-hero .premium-copy{position:relative!important;z-index:4!important;color:#fff!important}
body .premium-hero .premium-copy h1,body .premium-hero .premium-copy h1 *{color:#fff!important;opacity:1!important;visibility:visible!important;text-shadow:0 3px 24px rgba(0,0,0,.5)!important}
body .premium-hero .premium-copy h1 em{color:#ff3045!important}
body .premium-hero .premium-copy p,body .premium-hero .premium-benefit strong,body .premium-hero .premium-benefit small,body .premium-hero .showroom-link,body .premium-hero .premium-note{color:#e6edf5!important;opacity:1!important;visibility:visible!important}
body .premium-hero .premium-copy .eyebrow{color:#ff4054!important}
body .premium-hero .premium-showcase{position:relative!important;z-index:4!important;min-height:540px!important;opacity:1!important;visibility:visible!important;overflow:visible!important}
body .premium-hero .premium-turntable{position:absolute!important;left:10%!important;right:8%!important;bottom:10%!important;height:70px!important;border-radius:50%!important;background:linear-gradient(180deg,#1d2c3d,#050a11 60%,#121e2c)!important;border:2px solid rgba(255,45,64,.85)!important;box-shadow:0 0 18px rgba(255,20,45,.4),0 28px 32px rgba(0,0,0,.65)!important;transform:perspective(700px) rotateX(58deg)!important;z-index:1!important}
body .premium-hero .premium-product-track{position:absolute!important;inset:0!important;z-index:3!important;opacity:1!important;visibility:visible!important;transform-style:preserve-3d!important}
body .premium-hero .premium-product{opacity:1!important;visibility:visible!important;display:block!important;backface-visibility:visible!important;filter:drop-shadow(0 28px 20px rgba(0,0,0,.65))!important}
body .premium-hero .premium-product img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;border-radius:2px 5px 5px 2px!important}
body .premium-hero .premium-product-main{left:30%!important;top:7%!important;width:min(43%,320px)!important;height:410px!important;z-index:5!important;transform:perspective(1100px) rotateY(-17deg) rotateZ(-1deg) translateZ(65px)!important}
body .premium-hero .premium-product-main:after{right:-16px!important;width:16px!important;background:repeating-linear-gradient(0deg,#fff9ed 0 2px,#c6c0b4 2px 3px)!important;box-shadow:4px 3px 7px #0009!important}
body .premium-hero .premium-product-kids{left:4%!important;top:25%!important;width:min(31%,220px)!important;height:285px!important;z-index:4!important;transform:perspective(900px) rotateY(16deg) rotateZ(-4deg) translateZ(-30px)!important}
body .premium-hero .premium-product-flyer{right:4%!important;top:22%!important;width:min(29%,205px)!important;height:305px!important;z-index:3!important;transform:perspective(900px) rotateY(-20deg) rotateZ(5deg) translateZ(-55px)!important}
body .premium-hero .premium-arrow{z-index:8!important;top:45%!important}
body .premium-hero .premium-product-meta{z-index:7!important;bottom:9%!important;color:#d7e2ee!important}
body .premium-hero .premium-product-dots{z-index:8!important;bottom:1%!important}
body .premium-hero .premium-floating-label{z-index:8!important}
body .premium-impact{display:block!important;position:relative!important;z-index:2!important;background:linear-gradient(110deg,#041322 0%,#0a1d30 52%,#04111e 100%)!important;color:#fff!important;padding:30px 0!important;border-top:1px solid rgba(255,255,255,.16)!important}
body .premium-impact .premium-impact-grid{display:grid!important;grid-template-columns:150px minmax(240px,1.2fr) repeat(3,minmax(145px,.9fr))!important;align-items:center!important;gap:22px!important}
body .premium-impact h2,body .premium-impact h2 em,body .premium-impact strong,body .premium-impact .premium-charity-mark{color:#fff!important;opacity:1!important}
body .premium-impact h2 em{color:#ff3045!important}
body .premium-impact p{color:#cbd7e3!important;opacity:1!important}
body .premium-impact .premium-promise{background:rgba(3,14,26,.24)!important;border-left:1px solid rgba(255,255,255,.15)!important}
body .premium-hero .premium-gesture{display:none!important}
@media(max-width:1000px){body .premium-hero .premium-hero-grid{grid-template-columns:1fr!important;padding:42px 22px 24px!important}body .premium-hero .premium-showcase{min-height:470px!important}body .premium-impact .premium-impact-grid{grid-template-columns:100px 1fr!important}body .premium-impact .premium-promise{grid-column:span 2!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.15)!important;padding:14px 0 0 0!important}}
@media(max-width:560px){body .premium-hero .premium-copy h1{font-size:clamp(42px,11vw,60px)!important;letter-spacing:-2px!important}body .premium-hero .premium-showcase{min-height:365px!important}body .premium-hero .premium-product-main{height:265px!important;width:39%!important;left:31%!important}body .premium-hero .premium-product-kids{height:190px!important;width:28%!important}body .premium-hero .premium-product-flyer{height:205px!important;width:26%!important}body .premium-hero .premium-arrow{width:40px!important;height:40px!important}body .premium-impact .premium-impact-grid{grid-template-columns:75px 1fr!important;gap:14px!important}body .premium-impact .premium-charity-mark{width:70px!important;height:80px!important}}
@media(prefers-reduced-motion:reduce){body .premium-hero .premium-smoke,body .premium-hero .premium-floating-label{animation:none!important}body .premium-hero .premium-product{transition:none!important}}


/* MIBOKU CAROUSEL + SLOGAN FIX: ensure the arrow controls rotate the three real product covers. */
body .premium-showcase .premium-product{transition:left .65s cubic-bezier(.2,.75,.2,1),right .65s cubic-bezier(.2,.75,.2,1),top .65s cubic-bezier(.2,.75,.2,1),width .65s ease,height .65s ease,transform .75s cubic-bezier(.2,.75,.2,1),opacity .5s ease!important;will-change:transform,left,right,top;transform-style:preserve-3d!important;}
body .premium-showcase .premium-product:after{content:"";position:absolute;top:1%;bottom:1%;right:-14px;width:14px;background:repeating-linear-gradient(0deg,#fff8e8 0 2px,#c9c2b6 2px 3px);transform:skewY(0deg);box-shadow:4px 5px 8px rgba(0,0,0,.4);pointer-events:none;}
body .premium-showcase .premium-product img{box-shadow:0 22px 36px rgba(0,0,0,.38)!important;}
body .premium-showcase .premium-product figcaption{transition:opacity .35s ease!important;}
@media(max-width:560px){body .premium-showcase .premium-product.is-active{left:30%!important;width:42%!important;height:265px!important;top:7%!important;}body .premium-showcase .premium-product:not(.is-active){height:205px!important;width:28%!important;top:24%!important;}body .premium-showcase .premium-product:after{right:-7px;width:7px;}}
@media(prefers-reduced-motion:reduce){body .premium-showcase .premium-product{transition:none!important;}}


/* Aktualisierung: dezentes Feuerwehr-Blaulicht im Hero-Hintergrund */
body .premium-hero:before{
  background-image:
    linear-gradient(90deg,rgba(3,15,30,.96) 0%,rgba(3,17,33,.87) 35%,rgba(3,17,33,.70) 67%,rgba(3,15,30,.73) 100%),
    linear-gradient(180deg,rgba(3,15,30,.24),rgba(3,15,30,.44)),
    url('assets/firefighter-blue-lights.png') !important;
  background-position:center,center,center 48% !important;
  background-size:cover,cover,cover !important;
  background-repeat:no-repeat !important;
  filter:saturate(.88) contrast(1.03) !important;
  opacity:1 !important;
}
body .premium-hero .premium-bg{
  background:linear-gradient(180deg,rgba(3,15,30,.08),rgba(3,15,30,.18)),radial-gradient(ellipse at 80% 35%,rgba(22,93,160,.19),transparent 45%) !important;
}
body .premium-hero .premium-smoke{opacity:.58!important}
body .premium-hero .premium-copy h1{font-size:clamp(48px,4.8vw,72px)!important}
body .premium-hero .premium-copy h1 em{display:inline;color:#ff3045!important}
.service-icon{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(237,32,56,.35);border-radius:17px;background:linear-gradient(145deg,#fff,#f2f5f8);color:#e51c35;box-shadow:0 12px 28px rgba(7,28,48,.09);margin-bottom:20px}
.service-icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ff-hero{position:relative;isolation:isolate;overflow:hidden;background:#06192c;color:#fff;padding:72px 0 68px}
.ff-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,15,30,.95),rgba(3,15,30,.73)),url('assets/firefighter-blue-lights.png') center 54%/cover no-repeat;opacity:1}
.ff-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;min-height:370px}
.ff-hero-copy h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-2px;color:#fff;margin:18px 0}
.ff-hero-copy h1 em{font-style:normal;color:#ff3045}
.ff-hero-copy p{max-width:600px;color:#d5e0eb;font-size:18px;line-height:1.7;margin-bottom:28px}
.ff-logo-card{display:flex;align-items:center;justify-content:center;padding:24px;border-radius:26px;background:rgba(5,28,51,.42);border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 70px #0004;backdrop-filter:blur(8px)}
.ff-logo-card img{display:block;width:min(100%,470px);height:auto;border-radius:12px}
.ff-story{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}
.ff-story h2,.ff-support h2{font-size:clamp(30px,4vw,46px);line-height:1.08;color:var(--navy);margin:12px 0}
.ff-story p{font-size:16px;line-height:1.8;color:#445469}
.ff-gallery-help{margin-top:24px;padding:18px 22px;border-radius:14px;background:#eaf1f8;border-left:4px solid var(--red);color:#24364a;line-height:1.65}
.ff-gallery-editor:empty{display:none}
.ff-gallery-editor .wp-block-gallery{margin:0}
.ff-gallery-editor .wp-block-image img{border-radius:14px}
.ff-support{display:flex;align-items:center;justify-content:space-between;gap:28px}
.ff-support h2{color:#fff}.ff-support p{color:#d0dce8;max-width:680px;line-height:1.7}
@media(max-width:760px){.ff-hero{padding:44px 0}.ff-hero-inner,.ff-story{grid-template-columns:1fr;gap:28px}.ff-hero-inner{min-height:0}.ff-logo-card{max-width:460px}.ff-support{align-items:flex-start;flex-direction:column}.ff-hero-copy h1{font-size:clamp(40px,11vw,58px)}}


/* Miboku visual refinement: visible, subtle emergency background; accurate print proportions */
body .premium-hero:before{
  background-image:
    linear-gradient(90deg,rgba(3,15,30,.89) 0%,rgba(3,17,33,.76) 34%,rgba(3,17,33,.42) 68%,rgba(3,15,30,.48) 100%),
    linear-gradient(180deg,rgba(3,15,30,.16),rgba(3,15,30,.32)),
    url('assets/firefighter-blue-lights.png') !important;
  background-position:center,center,center 48% !important;
  background-size:cover,cover,cover !important;
  opacity:1!important;
}
body .premium-hero .premium-hero-grid{gap:1.5%!important;padding-top:34px!important;padding-bottom:28px!important;min-height:600px!important}
body .premium-hero .premium-copy h1{font-size:clamp(46px,4.3vw,66px)!important;line-height:.99!important;margin-bottom:18px!important}
body .premium-hero .premium-copy>p{max-width:490px!important;font-size:16px!important;line-height:1.55!important;margin-bottom:18px!important}
body .premium-hero .premium-benefits{display:flex!important;gap:22px!important;margin:18px 0 22px!important}
body .premium-hero .premium-benefit{min-width:0!important;flex:0 1 auto!important}
body .premium-hero .premium-showcase{min-height:510px!important}
body .premium-hero .premium-product{overflow:visible!important;background:transparent!important}
body .premium-hero .premium-product img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;background:transparent!important;border-radius:2px!important}
/* Portrait yearbook */
body .premium-hero .premium-product-main{left:32%!important;top:5%!important;width:min(39%,300px)!important;height:405px!important;}
/* Square children's book stays visibly smaller */
body .premium-hero .premium-product-kids{left:5%!important;top:29%!important;width:min(28%,205px)!important;height:205px!important;}
/* Landscape flyer keeps its wide format */
body .premium-hero .premium-product-flyer{right:1%!important;top:31%!important;width:min(34%,250px)!important;height:178px!important;}
body .premium-hero .premium-product:after{content:"";position:absolute;top:1%;bottom:1%;right:-10px;width:10px;background:repeating-linear-gradient(0deg,#fff8e8 0 2px,#c9c2b6 2px 3px);box-shadow:4px 5px 8px rgba(0,0,0,.4);pointer-events:none}
body .premium-hero .premium-product-kids:after{display:none!important}
body .premium-hero .premium-product-flyer:after{display:none!important}
body .premium-impact .premium-charity-mark{width:150px!important;height:auto!important;display:block!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;padding:0!important;text-shadow:none!important}
body .premium-impact .premium-charity-mark img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body .premium-impact .premium-charity-mark .charity-heart,body .premium-impact .premium-charity-mark>span{display:none!important}
@media(max-width:1000px){
 body .premium-hero .premium-hero-grid{min-height:0!important}
 body .premium-hero .premium-showcase{min-height:440px!important}
 body .premium-hero .premium-product-main{height:335px!important;width:38%!important;left:32%!important}
 body .premium-hero .premium-product-kids{width:27%!important;height:175px!important;left:4%!important;top:28%!important}
 body .premium-hero .premium-product-flyer{width:32%!important;height:145px!important;right:1%!important;top:32%!important}
 body .premium-impact .premium-charity-mark{width:100px!important}
}
@media(max-width:560px){
 body .premium-hero .premium-showcase{min-height:340px!important}
 body .premium-hero .premium-product-main{height:250px!important;width:40%!important;left:31%!important;top:5%!important}
 body .premium-hero .premium-product-kids{height:125px!important;width:29%!important;left:1%!important;top:30%!important}
 body .premium-hero .premium-product-flyer{height:105px!important;width:34%!important;right:0!important;top:34%!important}
 body .premium-impact .premium-charity-mark{width:72px!important}
}

/* Miboku refinement 26-10-2026: breathing room, real covers and visible Flammen-Freunde identity */
body .premium-hero:before{background:linear-gradient(90deg,rgba(2,13,26,.94) 0%,rgba(3,18,34,.80) 38%,rgba(3,18,34,.42) 70%,rgba(3,16,30,.48) 100%),url('assets/firefighter-blue-lights.png') center 48%/cover no-repeat!important;filter:saturate(.9)!important;transform:scale(1.02)!important}
body .premium-hero .premium-hero-grid{grid-template-columns:minmax(330px,.78fr) minmax(500px,1.22fr)!important;gap:3.5%!important;padding-top:38px!important;padding-bottom:34px!important}
body .premium-hero .premium-copy{max-width:540px!important}
body .premium-hero .premium-copy h1{font-size:clamp(48px,4.25vw,66px)!important;line-height:1.02!important;letter-spacing:-2.8px!important;margin:15px 0 17px!important}
body .premium-hero .premium-copy>p{max-width:440px!important;font-size:15px!important;line-height:1.58!important;margin-bottom:18px!important}
body .premium-hero .premium-showcase{min-height:500px!important}
body .premium-hero .premium-product img{object-fit:contain!important;background:#f8f8f5!important;border-radius:3px!important;box-shadow:0 0 0 1px #ffffff55!important}
body .premium-hero .premium-product-main{width:min(39%,300px)!important;height:405px!important;left:31%!important;top:7%!important}
body .premium-hero .premium-product-kids{width:min(30%,225px)!important;height:300px!important;left:4%!important;top:24%!important}
body .premium-hero .premium-product-flyer{width:min(29%,215px)!important;height:300px!important;right:3%!important;top:22%!important}
body .premium-impact .premium-charity-mark{width:142px!important;height:142px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;text-shadow:none!important;overflow:visible!important}
body .premium-impact .premium-charity-mark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:14px!important;filter:drop-shadow(0 8px 18px #0006)!important}
body .premium-impact .premium-impact-grid{grid-template-columns:150px minmax(250px,1.2fr) repeat(3,minmax(150px,.9fr))!important}
.portfolio-grid-featured .project-image-wrap{background:#f8f9fb!important;min-height:280px!important}
.portfolio-grid-featured .project-image-wrap img{max-height:430px!important;object-fit:contain!important}
@media(max-width:1100px){body .premium-impact .premium-impact-grid{grid-template-columns:110px minmax(210px,1.1fr) repeat(3,minmax(120px,.9fr))!important}body .premium-impact .premium-charity-mark{width:104px!important;height:104px!important}}
@media(max-width:1000px){body .premium-hero .premium-hero-grid{grid-template-columns:1fr!important;padding:40px 22px 24px!important}body .premium-hero .premium-copy{max-width:700px!important}body .premium-hero .premium-copy h1{font-size:clamp(46px,8vw,64px)!important}body .premium-hero .premium-showcase{min-height:450px!important}body .premium-impact .premium-impact-grid{grid-template-columns:100px 1fr!important}body .premium-impact .premium-charity-mark{width:94px!important;height:94px!important}}
@media(max-width:560px){body .premium-hero .premium-product-main{height:265px!important;width:39%!important;left:31%!important}body .premium-hero .premium-product-kids{height:190px!important;width:28%!important}body .premium-hero .premium-product-flyer{height:205px!important;width:26%!important}body .premium-impact .premium-charity-mark{width:74px!important;height:74px!important}}

/* Korrekturen nach Kundenfeedback: Produktbilder ohne weiße Kontur, keine Bildtitel/Slider-Punkte. */
body .premium-showcase .premium-product img{box-shadow:none!important;border:0!important;border-radius:2px!important;object-fit:cover!important;background:transparent!important;}
body .premium-showcase .premium-product figcaption,body .premium-showcase .premium-product-dots,body .premium-showcase .premium-product-meta,body .premium-showcase .premium-floating-label{display:none!important;}
body .premium-showcase .premium-product:after{display:none!important;}
body .premium-showcase .premium-product{filter:drop-shadow(0 24px 22px rgba(0,0,0,.55))!important;}
body .premium-hero .showroom-primary{max-width:100%;}
body .premium-impact-grid{grid-template-columns:130px minmax(240px,1fr) minmax(270px,1.4fr)!important;}
body .premium-charity-mark{border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;width:120px!important;height:120px!important;}
body .premium-charity-mark img{display:block;width:100%;height:100%;object-fit:contain;}
body .premium-promise-wide{border-left:1px solid rgba(255,255,255,.15)!important;padding-left:22px!important;}
body .premium-promise-wide p{font-size:12px!important;line-height:1.65!important;}
body .premium-hero .premium-copy h1{font-size:clamp(48px,4.6vw,68px)!important;line-height:1.02!important;letter-spacing:-2.8px!important;}
.ff-helm-story ul{padding-left:20px;line-height:1.8;color:#d0dbe5}.ff-helm-story li{margin-bottom:8px}.ff-gallery-help a{color:inherit;text-decoration:underline}
@media(max-width:1000px){body .premium-impact-grid{grid-template-columns:90px 1fr!important}body .premium-impact .premium-promise-wide{grid-column:span 2!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.15)!important;padding:14px 0 0!important}}

/* Korrekturen nach Kundenfeedback: Produktbilder ohne weiße Kontur, keine Bildtitel/Slider-Punkte. */
body .premium-showcase .premium-product img{box-shadow:none!important;border:0!important;border-radius:2px!important;object-fit:cover!important;background:transparent!important;}
body .premium-showcase .premium-product figcaption,body .premium-showcase .premium-product-dots,body .premium-showcase .premium-product-meta,body .premium-showcase .premium-floating-label{display:none!important;}
body .premium-showcase .premium-product:after{display:none!important;}
body .premium-showcase .premium-product{filter:drop-shadow(0 24px 22px rgba(0,0,0,.55))!important;}
body .premium-hero .showroom-primary{max-width:100%;}
body .premium-impact-grid{grid-template-columns:130px minmax(240px,1fr) minmax(270px,1.4fr)!important;}
body .premium-charity-mark{border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;width:120px!important;height:120px!important;}
body .premium-charity-mark img{display:block;width:100%;height:100%;object-fit:contain;}
body .premium-promise-wide{border-left:1px solid rgba(255,255,255,.15)!important;padding-left:22px!important;}
body .premium-promise-wide p{font-size:12px!important;line-height:1.65!important;}
body .premium-hero .premium-copy h1{font-size:clamp(48px,4.6vw,68px)!important;line-height:1.02!important;letter-spacing:-2.8px!important;}
.ff-helm-story ul{padding-left:20px;line-height:1.8;color:#d0dbe5}.ff-helm-story li{margin-bottom:8px}.ff-gallery-help a{color:inherit;text-decoration:underline}
@media(max-width:1000px){body .premium-impact-grid{grid-template-columns:90px 1fr!important}body .premium-impact .premium-promise-wide{grid-column:span 2!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.15)!important;padding:14px 0 0!important}}


/* Final cleanup: remove the circled benefits/promises, image frames, and unify buttons. */
body .premium-hero .premium-benefits{display:none!important}
body .premium-impact .premium-promise{display:none!important}
body .premium-impact .premium-impact-grid{grid-template-columns:150px minmax(0,1fr)!important;gap:28px!important;align-items:center!important}
body .premium-impact .premium-charity-copy{grid-column:2!important;max-width:none!important;padding:0!important}
body .premium-impact .premium-charity-mark{width:130px!important;height:auto!important;display:block!important}
body .premium-impact .premium-charity-mark img{width:100%!important;height:auto!important;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
body .premium-showcase .premium-product img{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;object-fit:contain!important}
body .premium-showcase .premium-product:before,body .premium-showcase .premium-product:after{display:none!important;content:none!important}
body .premium-showcase .premium-product{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important}
body .header-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:16px 25px!important;min-height:52px!important;border-radius:999px!important;background:#e91527!important;color:#fff!important;font-weight:800!important;font-size:14px!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(233,21,39,.2)!important}
body .header-cta:hover{background:#c90e20!important;color:#fff!important}
@media(max-width:1000px){body .premium-impact .premium-impact-grid{grid-template-columns:90px minmax(0,1fr)!important;gap:18px!important}body .premium-impact .premium-charity-mark{width:88px!important}}

/* UX-Korrekturen: einheitliche Projekt-CTA, mobile Abstände, Charity-Bereich und Galerie */
body .header-cta, body .premium-actions .showroom-primary, body .site-footer .footer-grid > div:last-child .btn {font-weight:900!important;}
body .premium-charity-copy h2{font-size:clamp(24px,2vw,30px)!important;line-height:1.15!important;}
body .premium-charity-copy h2 em{color:#ff3045!important;}
body .premium-charity-mark{border-radius:24px!important;overflow:hidden!important;transform:none!important;}
body .premium-charity-mark img{border-radius:24px!important;object-fit:cover!important;}
body .premium-impact .premium-impact-grid{grid-template-columns:140px minmax(0,1fr)!important;gap:28px!important;}
body .premium-impact .premium-charity-copy{grid-column:2!important;}
body .premium-impact .premium-charity-copy p{font-size:14px!important;line-height:1.65!important;}
body .premium-impact .premium-charity-mark{width:140px!important;height:140px!important;}
body .stats .stat:last-child strong{font-size:clamp(22px,2vw,28px)!important;letter-spacing:-.8px!important;}
body .project-dialog .gallery-prev:disabled,body .project-dialog .gallery-next:disabled{opacity:.45;cursor:default;}
@media(max-width:760px){
 body .premium-hero .premium-hero-grid{padding-top:26px!important;padding-bottom:10px!important;gap:0!important;min-height:0!important;}
 body .premium-hero .premium-showcase{min-height:320px!important;margin-top:0!important;margin-bottom:0!important;}
 body .premium-hero .premium-product-main{top:5%!important;}
 body .premium-hero .premium-product-kids,body .premium-hero .premium-product-flyer{top:17%!important;}
 body .premium-hero .premium-turntable{bottom:4%!important;}
 body .premium-impact{padding:26px 0!important;}
 body .premium-impact .premium-impact-grid{grid-template-columns:78px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;}
 body .premium-impact .premium-charity-mark{width:78px!important;height:78px!important;}
 body .premium-impact .premium-charity-mark img{border-radius:18px!important;}
 body .premium-impact .premium-charity-copy{grid-column:2!important;}
 body .premium-impact .premium-charity-copy h2{font-size:22px!important;}
 body .premium-impact .premium-charity-copy p{font-size:12px!important;}
 body .premium-impact .premium-promise{grid-column:1/-1!important;}
 body .premium-actions .showroom-primary{font-size:14px!important;padding:16px 20px!important;}
}


/* Flammen Freunde: lebendige, interaktive Unterseite mit später ergänzbaren Fotoflächen */
.ff-page{overflow:hidden;background:#fff;color:#14283d;--ff-blue:#0b789e;--ff-turquoise:#47c8d1;--ff-pink:#ff5264}
.ff-page .ff-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 30%,#164d70 0,transparent 38%),linear-gradient(125deg,#06192b 0%,#0b2a4a 58%,#0a3d5b 100%);color:#fff;padding:80px 0 72px}
.ff-hero-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;position:relative;z-index:2}
.ff-kicker{display:inline-flex;align-items:center;gap:10px;color:#8deaf0;font-size:11px;letter-spacing:2px;font-weight:900;margin-bottom:23px}
.ff-kicker-dot{width:9px;height:9px;border-radius:50%;background:#ff5264;box-shadow:0 0 0 6px #ff526425}
.ff-hero h1{font-size:clamp(42px,5vw,68px);line-height:1.03;letter-spacing:-2.7px;margin:0 0 22px;color:#fff}
.ff-hero h1 em,.ff-section-heading h2 span,.ff-intro h2 span,.ff-mission h2 span{font-style:normal;color:#64d7df}
.ff-lead{max-width:600px;color:#d2e1eb;font-size:17px;line-height:1.8;margin:0 0 28px}
.ff-hero-actions,.ff-support-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.ff-page .btn{min-height:49px;padding:14px 21px}
.ff-text-link{font-size:13px;font-weight:850;color:#dceaf2;padding:12px 0}
.ff-hero-note{display:flex;gap:13px;align-items:center;margin-top:30px;color:#bfd0dd;font-size:12px;line-height:1.55}
.ff-hero-note strong{color:#fff;font-size:13px}
.ff-heart-pulse{font-size:26px;color:#ff5264;animation:ffPulse 1.9s ease-in-out infinite}
@keyframes ffPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
.ff-hero-art{position:relative;padding:15px 8px 24px 24px;min-width:0}
.ff-photo-slot{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;min-height:235px;padding:28px;border:1px dashed #83b6c7;border-radius:24px;background:linear-gradient(135deg,#e8f7f8,#d7e9f2);color:#123e5a;overflow:hidden}
.ff-photo-slot:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 22%,#fff 0 2px,transparent 3px),radial-gradient(circle at 75% 72%,#fff9 0 3px,transparent 4px);background-size:43px 43px,57px 57px;opacity:.8}
.ff-photo-slot strong{font-size:15px;font-weight:900}.ff-photo-slot small{font-size:12px;max-width:240px;line-height:1.5;color:#557184}.ff-slot-icon{display:grid;place-items:center;width:53px;height:53px;border-radius:18px;background:#fff;color:#0b789e;font-size:25px;box-shadow:0 8px 24px #0b2a4a14}
.ff-hero-image-placeholder{min-height:410px;border-color:#8dd8df80;background:linear-gradient(145deg,#c9eef0,#e5f1f7 55%,#b7dce8);box-shadow:0 25px 60px #0003;transform:rotate(1deg)}
.ff-logo-float{position:absolute;left:-6px;bottom:0;width:132px;height:132px;border:6px solid #fff;border-radius:35px;overflow:hidden;background:#fff;box-shadow:0 14px 35px #00182b50;transform:rotate(-5deg)}.ff-logo-float img{width:100%;height:100%;object-fit:contain}
.ff-sticker{position:absolute;right:-8px;top:-8px;display:grid;place-items:center;width:93px;height:93px;border-radius:50%;background:#ff5264;color:#fff;text-align:center;font-size:12px;line-height:1.1;font-weight:900;box-shadow:0 10px 28px #0003;transform:rotate(10deg)}.ff-sticker b{font-size:26px;line-height:1}
.ff-hero-orb{position:absolute;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.ff-orb-one{width:440px;height:440px;right:-140px;top:-180px}.ff-orb-two{width:240px;height:240px;left:-130px;bottom:-110px}
.ff-wave{position:absolute;bottom:-1px;left:0;right:0;height:24px;background:#fff;clip-path:ellipse(58% 100% at 50% 100%)}
.ff-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.ff-page .section{padding:88px 0}.ff-intro h2,.ff-section-heading h2,.ff-mission h2,.ff-support-copy h2,.ff-instagram h2{font-size:clamp(32px,4vw,49px);line-height:1.08;letter-spacing:-1.7px;color:#0b2a4a;margin:0 0 18px}.ff-intro-copy p,.ff-mission p,.ff-instagram p,.ff-support-copy p{color:#5b6b7b;line-height:1.85;font-size:15px}.ff-intro-copy .ff-big-copy{font-size:18px;line-height:1.8;color:#173b57;font-weight:650;margin-top:0}
.ff-section-heading{max-width:700px;margin:0 auto 35px;text-align:center}.ff-section-heading p{max-width:580px;margin:0 auto;color:#607184;font-size:15px;line-height:1.8}.ff-page .section.soft{background:#f3f8fb}
.ff-photo-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}.ff-photo-grid .ff-photo-slot{min-height:250px}.ff-photo-grid .ff-slot-large{min-height:320px}.ff-photo-caption{text-align:center;font-size:12px;color:#7a8997;margin:18px 0 0}
.ff-helm-section{background:radial-gradient(ellipse at 20% 20%,#113b5b,transparent 45%),#071c31!important}.ff-heading-light h2{color:#fff}.ff-heading-light p{color:#c0d1df}.ff-heading-light .eyebrow{color:#72dce2}
.ff-helm-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;margin-top:38px}.ff-helmet-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;border:1px solid #ffffff18;border-radius:28px;background:linear-gradient(145deg,#ffffff0b,#54cbd20d);overflow:hidden}.ff-helmet-ring{position:absolute;width:260px;height:260px;border:1px solid #58d4dd4d;border-radius:50%;box-shadow:0 0 0 28px #58d4dd09,0 0 0 58px #58d4dd07}.ff-helmet-logo{position:relative;z-index:1;width:min(78%,300px);height:auto;max-height:280px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 18px 24px #0005);animation:ff-logo-float 4.5s ease-in-out infinite}@keyframes ff-logo-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.025)}}.ff-helmet-label{position:relative;margin-top:15px;text-align:center;font-size:12px;color:#b9d0df;line-height:1.7}.ff-helmet-label strong{color:#fff;font-size:15px}
.ff-helm-cards{display:grid;gap:10px}.ff-helm-card{width:100%;display:grid;grid-template-columns:42px 1fr 25px;gap:13px;align-items:center;text-align:left;padding:16px 18px;border:1px solid #ffffff20;border-radius:16px;background:#ffffff08;color:#fff;cursor:pointer;transition:transform .2s,border-color .2s,background .2s;font:inherit}.ff-helm-card:hover,.ff-helm-card.is-active{transform:translateX(4px);border-color:#62d9df;background:#ffffff12}.ff-helm-number{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#46c8d21c;color:#74e4e9;font-size:12px;font-weight:950}.ff-helm-card strong,.ff-helm-card small{display:block}.ff-helm-card strong{font-size:15px}.ff-helm-card small{font-size:12px;color:#b9cad8;margin-top:3px}.ff-helm-plus{font-size:22px;color:#70dce3;text-align:center}.ff-helm-detail{padding:19px 22px;border-left:3px solid #ff5264;background:#ffffff08;border-radius:0 15px 15px 0;margin-top:4px}.ff-helm-detail strong{font-size:15px;color:#fff}.ff-helm-detail p{font-size:13px;line-height:1.75;color:#c6d5e0;margin:7px 0 0}.ff-helmet-footnote{max-width:850px;text-align:center;margin:34px auto 0;color:#b7cad8;font-size:13px;line-height:1.8}
.ff-mission-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:center}.ff-mission-mark{min-height:260px;border-radius:28px;background:linear-gradient(145deg,#0b2a4a,#126184);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ff5264;font-size:100px;box-shadow:0 20px 45px #0b2a4a1c}.ff-mission-mark span{font-size:14px;line-height:1.5;text-align:center;color:#fff;font-weight:850;letter-spacing:.6px}
.ff-support-section{background:linear-gradient(180deg,#fff,#f3f8fb)}.ff-support-card{display:grid;grid-template-columns:60px 1.15fr .85fr;gap:25px;align-items:center;padding:42px;border-radius:30px;background:#fff;box-shadow:0 20px 60px #0b2a4a12;border:1px solid #e1ebf2}.ff-support-heart{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:#ffeaed;color:#ed2d45;font-size:28px}.ff-support-copy h2 em{font-style:normal;color:#e72c43}.ff-support-copy .eyebrow{margin-bottom:12px}.ff-support-copy p{font-size:14px}.ff-support-actions{margin-top:22px}.ff-support-photo{min-height:270px;border-radius:22px}.ff-page .btn.secondary{background:#fff;color:#0b2a4a;border-color:#d5e2eb}
.ff-instagram-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.ff-instagram h2{margin-bottom:12px}.ff-instagram h2 span{color:#e72c43}.ff-instagram p{max-width:560px;margin-bottom:0}.ff-instagram-link{display:flex;align-items:center;gap:15px;min-width:min(100%,360px);padding:20px 23px;background:#fff;border:1px solid #e2eaf0;border-radius:20px;box-shadow:0 12px 35px #0b2a4a0a;transition:transform .2s,box-shadow .2s}.ff-instagram-link:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0b2a4a15}.ff-instagram-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#ffe5e8,#e9e9ff);color:#d62976;font-size:32px}.ff-instagram-link strong,.ff-instagram-link small{display:block}.ff-instagram-link strong{font-size:13px;color:#0b2a4a}.ff-instagram-link small{font-size:12px;color:#748395;margin-top:4px}.ff-instagram-link>b{margin-left:auto;font-size:22px;color:#e72c43}
@media(max-width:900px){.ff-hero-inner{gap:30px}.ff-hero h1{font-size:clamp(39px,6vw,55px)}.ff-intro-grid,.ff-helm-layout,.ff-mission-grid{gap:35px}.ff-support-card{grid-template-columns:50px 1fr;padding:28px}.ff-support-photo{grid-column:2;min-height:210px}.ff-photo-grid{grid-template-columns:1fr 1fr}.ff-photo-grid .ff-slot-large{grid-column:1/-1;min-height:260px}}
@media(max-width:640px){.ff-page .section{padding:58px 0}.ff-page .ff-hero{padding:54px 0 48px}.ff-hero-inner{grid-template-columns:1fr;gap:27px}.ff-hero h1{font-size:clamp(39px,10vw,53px);letter-spacing:-1.8px}.ff-lead{font-size:15px}.ff-hero-art{padding:10px 6px 18px 10px}.ff-hero-image-placeholder{min-height:285px}.ff-logo-float{width:95px;height:95px;border-width:4px;border-radius:25px;left:-1px}.ff-sticker{width:72px;height:72px;right:-3px;font-size:10px}.ff-sticker b{font-size:20px}.ff-intro-grid,.ff-helm-layout,.ff-mission-grid{grid-template-columns:1fr;gap:22px}.ff-intro h2,.ff-section-heading h2,.ff-mission h2,.ff-support-copy h2,.ff-instagram h2{font-size:34px}.ff-intro-copy .ff-big-copy{font-size:16px}.ff-photo-grid{grid-template-columns:1fr 1fr;gap:10px}.ff-photo-grid .ff-photo-slot{min-height:185px;padding:15px}.ff-photo-grid .ff-slot-large{grid-column:1/-1;min-height:220px}.ff-photo-slot strong{font-size:13px}.ff-photo-slot small{font-size:11px}.ff-helmet-visual{min-height:260px}.ff-helmet-logo{width:min(72%,220px);max-height:205px}.ff-helmet-ring{width:190px;height:190px}.ff-helm-card{padding:13px 12px;grid-template-columns:36px 1fr 20px;gap:10px}.ff-helm-number{width:34px;height:34px}.ff-helm-card strong{font-size:14px}.ff-helm-card small{font-size:11px}.ff-helm-detail{padding:16px}.ff-mission-mark{min-height:190px;font-size:75px}.ff-support-card{grid-template-columns:1fr;padding:22px;gap:16px;border-radius:23px}.ff-support-heart{width:48px;height:48px;border-radius:16px}.ff-support-photo{grid-column:1;min-height:200px}.ff-support-actions{align-items:stretch}.ff-support-actions .btn{width:100%;font-size:13px}.ff-instagram-inner{align-items:stretch;flex-direction:column;gap:22px}.ff-instagram-link{min-width:0;padding:16px}.ff-instagram-link strong{font-size:12px}.ff-hero-note{margin-top:22px}}



/* Miboku responsive repair v7 — mobile header, hero carousel and charity section */
@media (max-width: 760px) {
  html, body { max-width:100%; overflow-x:hidden; }
  .site-header { position:relative; z-index:100; }
  .site-header .header-inner {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:10px !important;
    padding:12px 16px !important;
    min-height:84px !important;
  }
  .site-header .brand { min-width:0 !important; max-width:100% !important; }
  .site-header .brand img, .site-header .custom-logo { width:auto !important; max-width:100% !important; max-height:58px !important; height:auto !important; object-fit:contain !important; }
  .site-header .menu-toggle { grid-column:2; grid-row:1; width:48px !important; height:48px !important; min-width:48px !important; padding:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; }
  .site-header .header-cta {
    grid-column:3 !important; grid-row:1 !important; justify-self:end !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    width:auto !important; max-width:145px !important; min-width:0 !important;
    min-height:48px !important; padding:10px 12px !important;
    border-radius:999px !important; font-size:12px !important; line-height:1.25 !important;
    text-align:center !important; white-space:normal !important; overflow-wrap:anywhere !important;
    box-sizing:border-box !important; box-shadow:0 6px 16px rgba(233,21,39,.16) !important;
  }
  .site-header .main-nav { z-index:110 !important; }
  .premium-hero .premium-hero-grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:0 !important; padding:34px 22px 12px !important; min-height:0 !important; }
  .premium-hero .premium-copy { min-width:0 !important; }
  .premium-hero .premium-copy h1 { font-size:clamp(42px,10.5vw,58px) !important; line-height:1.02 !important; letter-spacing:-1.8px !important; overflow-wrap:normal !important; }
  .premium-hero .premium-copy>p { font-size:16px !important; line-height:1.55 !important; }
  .premium-hero .premium-actions { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:18px !important; }
  .premium-hero .premium-actions .showroom-primary { width:100% !important; max-width:100% !important; min-height:58px !important; padding:15px 18px !important; font-size:15px !important; line-height:1.3 !important; white-space:normal !important; text-align:center !important; box-sizing:border-box !important; }
  .premium-hero .premium-actions .showroom-link { align-self:flex-start !important; }
  .premium-hero .premium-showcase { position:relative !important; min-height:270px !important; height:auto !important; margin:16px 0 0 !important; overflow:visible !important; }
  .premium-hero .premium-product-track { position:absolute !important; inset:0 !important; min-height:0 !important; }
  .premium-hero .premium-product { position:absolute !important; margin:0 !important; }
  .premium-hero .premium-product-main { top:2% !important; left:31% !important; width:40% !important; height:235px !important; }
  .premium-hero .premium-product-kids { top:21% !important; left:2% !important; width:29% !important; height:155px !important; }
  .premium-hero .premium-product-flyer { top:24% !important; right:1% !important; width:28% !important; height:150px !important; }
  .premium-hero .premium-product img { background:transparent !important; border:0 !important; outline:0 !important; box-shadow:none !important; object-fit:contain !important; }
  .premium-hero .premium-product:after { display:none !important; }
  .premium-hero .premium-product figcaption { display:none !important; }
  .premium-hero .premium-arrow { top:45% !important; width:40px !important; height:40px !important; z-index:20 !important; }
  .premium-hero .premium-arrow-prev { left:0 !important; }
  .premium-hero .premium-arrow-next { right:0 !important; }
  .premium-hero .premium-turntable { bottom:2% !important; }
  .premium-impact { padding:34px 0 !important; }
  .premium-impact .premium-impact-grid { display:grid !important; grid-template-columns:72px minmax(0,1fr) !important; gap:14px !important; align-items:start !important; }
  .premium-impact .premium-charity-mark { width:72px !important; height:72px !important; border-radius:22px !important; overflow:hidden !important; }
  .premium-impact .premium-charity-mark img { width:100% !important; height:100% !important; object-fit:cover !important; border-radius:inherit !important; }
  .premium-impact .premium-charity-copy h2 { font-size:clamp(22px,6vw,30px) !important; line-height:1.15 !important; margin:0 0 12px !important; }
  .premium-impact .premium-charity-copy p { font-size:14px !important; line-height:1.65 !important; }
  .premium-impact .premium-charity-copy { min-width:0 !important; }
}
@media (max-width:390px) {
  .site-header .header-inner { grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) !important; gap:7px !important; padding-left:10px !important; padding-right:10px !important; }
  .site-header .brand img, .site-header .custom-logo { max-height:49px !important; }
  .site-header .menu-toggle { width:42px !important; height:42px !important; min-width:42px !important; }
  .site-header .header-cta { max-width:128px !important; font-size:11px !important; padding:9px 10px !important; }
  .premium-hero .premium-showcase { min-height:235px !important; }
  .premium-hero .premium-product-main { height:205px !important; }
  .premium-hero .premium-product-kids { height:135px !important; }
  .premium-hero .premium-product-flyer { height:130px !important; }
}


/* Final mobile corrections v8: prevent oversized header CTA and empty carousel area */
@media (max-width: 760px) {
  .reveal { opacity:1!important; transform:none!important; }
  .site-header .header-inner {
    grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) !important;
    gap:8px !important;
    padding:10px 12px !important;
    min-height:76px !important;
  }
  .site-header .brand { grid-column:1 !important; }
  .site-header .brand img, .site-header .brand .custom-logo,
  .site-header .brand .custom-logo-link img {
    max-width:100% !important; width:auto !important; max-height:48px !important;
  }
  .site-header .menu-toggle {
    grid-column:2 !important; width:42px !important; min-width:42px !important;
    height:42px !important; border-radius:14px !important;
  }
  .site-header .header-cta {
    grid-column:3 !important; width:100% !important; max-width:132px !important;
    min-height:48px !important; padding:8px 10px !important;
    font-size:11px !important; line-height:1.2 !important; letter-spacing:0 !important;
    overflow-wrap:normal !important; word-break:normal !important;
  }
  .premium-hero .premium-hero-grid {
    grid-template-columns:minmax(0,1fr) !important;
    padding:28px 20px 8px !important;
    gap:0 !important;
  }
  .premium-hero .premium-showcase {
    display:block !important;
    position:relative !important;
    height:245px !important; min-height:245px !important; max-height:245px !important;
    margin:12px 0 0 !important; padding:0 !important;
    overflow:hidden !important; contain:layout paint !important;
  }
  .premium-hero .premium-showcase-halo { inset:0 !important; }
  .premium-hero .premium-product-track {
    position:absolute !important; inset:0 !important;
    width:100% !important; height:100% !important; min-height:0 !important;
    transform:none !important;
  }
  .premium-hero .premium-product {
    position:absolute !important; display:block !important;
    margin:0 !important; padding:0 !important;
    transform:none !important; animation:none !important;
  }
  .premium-hero .premium-product-main {
    top:6% !important; left:33% !important; right:auto !important; bottom:auto !important;
    width:38% !important; height:190px !important; z-index:3 !important;
  }
  .premium-hero .premium-product-kids {
    top:22% !important; left:5% !important; right:auto !important; bottom:auto !important;
    width:29% !important; height:145px !important; z-index:2 !important;
  }
  .premium-hero .premium-product-flyer {
    top:25% !important; right:4% !important; left:auto !important; bottom:auto !important;
    width:27% !important; height:135px !important; z-index:1 !important;
  }
  .premium-hero .premium-product img {
    display:block !important; width:100% !important; height:100% !important;
    object-fit:contain !important; background:transparent !important;
    border:0 !important; outline:0 !important; box-shadow:none !important;
  }
  .premium-hero .premium-product figcaption,
  .premium-hero .premium-gesture { display:none !important; }
  .premium-hero .premium-arrow {
    top:43% !important; width:36px !important; height:36px !important;
    min-width:36px !important; z-index:8 !important;
  }
  .premium-hero .premium-arrow-prev { left:0 !important; }
  .premium-hero .premium-arrow-next { right:0 !important; }
  .premium-hero .premium-turntable {
    left:8% !important; right:8% !important; bottom:4% !important;
    height:35px !important; transform:none !important;
  }
  .premium-impact { padding:28px 0 !important; margin-top:0 !important; }
  .premium-impact .container { padding-left:20px !important; padding-right:20px !important; }
  .premium-impact .premium-impact-grid {
    grid-template-columns:62px minmax(0,1fr) !important; gap:12px !important;
    align-items:start !important;
  }
  .premium-impact .premium-charity-mark { width:62px !important; height:62px !important; }
  .premium-impact .premium-charity-copy h2 {
    font-size:clamp(20px,5.8vw,27px) !important; line-height:1.13 !important;
    overflow-wrap:normal !important;
  }
  .premium-impact .premium-charity-copy p { font-size:13px !important; line-height:1.55 !important; }
}
@media (max-width: 390px) {
  .site-header .header-inner { grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) !important; gap:6px !important; padding:8px 9px !important; }
  .site-header .brand img, .site-header .brand .custom-logo,
  .site-header .brand .custom-logo-link img { max-height:43px !important; }
  .site-header .menu-toggle { width:38px !important; min-width:38px !important; height:38px !important; }
  .site-header .header-cta { max-width:118px !important; font-size:10px !important; padding:7px 8px !important; }
  .premium-hero .premium-showcase { height:220px !important; min-height:220px !important; max-height:220px !important; }
  .premium-hero .premium-product-main { height:170px !important; }
  .premium-hero .premium-product-kids { height:125px !important; }
  .premium-hero .premium-product-flyer { height:115px !important; }
}


/* V9 responsive repair: compact header, shorter mobile hero, readable page content */
@media (max-width: 760px) {
  .reveal { opacity:1!important; transform:none!important; }
  .site-header { position: relative; z-index: 1000; }
  .site-header .header-inner { display:grid!important; grid-template-columns:minmax(0,1fr) 48px!important; grid-template-areas:"brand menu" "cta cta"; gap:10px!important; padding:12px 16px!important; align-items:center!important; }
  .site-header .brand { grid-area:brand; min-width:0!important; }
  .site-header .brand img, .site-header .custom-logo { max-width:min(190px,100%)!important; height:auto!important; max-height:62px!important; object-fit:contain!important; }
  .site-header .menu-toggle { grid-area:menu; width:48px!important;height:48px!important;justify-self:end!important; }
  .site-header .header-cta { grid-area:cta; display:flex!important; width:100%!important; min-height:48px!important; max-width:100%!important; justify-content:center!important; align-items:center!important; padding:12px 16px!important; border-radius:999px!important; font-size:15px!important; line-height:1.25!important; text-align:center!important; white-space:normal!important; margin:0!important; }
  .site-header .main-nav { top:100%!important; max-height:calc(100dvh - 150px)!important; overflow-y:auto!important; }
  body .premium-hero { min-height:0!important; overflow:hidden!important; }
  body .premium-hero .premium-hero-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:0!important; padding:26px 20px 24px!important; min-height:0!important; }
  body .premium-hero .premium-copy { position:relative!important; z-index:4!important; padding:0!important; }
  body .premium-hero .premium-copy .eyebrow { font-size:10px!important; letter-spacing:1.5px!important; line-height:1.5!important; }
  body .premium-hero .premium-copy h1 { font-size:clamp(38px,10vw,52px)!important; line-height:1.02!important; letter-spacing:-1.7px!important; margin:12px 0 16px!important; }
  body .premium-hero .premium-copy p { font-size:16px!important; line-height:1.55!important; margin:0 0 18px!important; }
  body .premium-hero .premium-actions { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:18px!important; }
  body .premium-actions .showroom-primary { display:flex!important; width:100%!important; max-width:100%!important; min-height:54px!important; padding:15px 18px!important; border-radius:999px!important; justify-content:center!important; text-align:center!important; font-size:15px!important; line-height:1.25!important; white-space:normal!important; }
  body .premium-hero .showroom-link { display:inline-flex!important; align-self:flex-start!important; font-size:14px!important; }
  body .premium-hero .premium-showcase { position:relative!important; display:block!important; width:100%!important; min-width:0!important; height:clamp(240px,68vw,310px)!important; min-height:0!important; margin:22px 0 0!important; overflow:hidden!important; }
  body .premium-hero .premium-showcase-halo { inset:8% 5%!important; }
  body .premium-hero .premium-product-track { position:absolute!important; inset:0!important; height:100%!important; }
  body .premium-hero .premium-product { max-height:78%!important; max-width:42%!important; }
  body .premium-hero .premium-product-main { width:42%!important;height:72%!important;left:29%!important;top:9%!important; }
  body .premium-hero .premium-product-kids { width:30%!important;height:57%!important;left:5%!important;top:20%!important; }
  body .premium-hero .premium-product-flyer { width:28%!important;height:59%!important;right:4%!important;left:auto!important;top:18%!important; }
  body .premium-hero .premium-product img { width:100%!important;height:100%!important;object-fit:contain!important; }
  body .premium-hero .premium-product figcaption { display:none!important; }
  body .premium-hero .premium-turntable { bottom:8%!important; transform:scale(.78)!important; }
  body .premium-hero .premium-arrow { top:45%!important;width:42px!important;height:42px!important; }
  body .premium-hero .premium-arrow-prev { left:0!important; }
  body .premium-hero .premium-arrow-next { right:0!important; }
  body .premium-hero .premium-gesture { display:none!important; }
  body .premium-impact { padding:28px 0!important; }
  body .premium-impact .premium-impact-grid { display:grid!important; grid-template-columns:76px minmax(0,1fr)!important; gap:14px!important; align-items:center!important; }
  body .premium-impact .premium-charity-mark { grid-column:1!important; width:76px!important;height:76px!important; }
  body .premium-impact .premium-charity-copy { grid-column:2!important; min-width:0!important; }
  body .premium-impact .premium-charity-copy h2 { font-size:clamp(20px,5.5vw,26px)!important; line-height:1.12!important; overflow-wrap:anywhere!important; }
  body .premium-impact .premium-charity-copy p { font-size:13px!important; line-height:1.55!important; }
  body .premium-impact .premium-more { display:inline-flex!important; max-width:100%!important; }
  .page-hero { padding:48px 0 40px!important; }
  .page-hero h1 { font-size:clamp(36px,9vw,48px)!important; line-height:1.05!important; overflow-wrap:anywhere!important; }
  .page-hero p,.section-head p,.split-copy p,.service-card p,.audience-card p { overflow-wrap:anywhere!important; }
  .section { padding-top:48px!important; padding-bottom:48px!important; }
  .services-grid,.audience-grid,.section .split { grid-template-columns:minmax(0,1fr)!important; }
  .portfolio-grid { grid-template-columns:minmax(0,1fr)!important; }
  .portfolio-grid .project-image-wrap { min-height:0!important; aspect-ratio:4/3!important; }
  .portfolio-grid .project-image-wrap img { max-height:none!important; width:100%!important;height:100%!important;object-fit:contain!important; }
  .site-main { min-width:0!important; overflow-x:clip!important; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .site-header .header-inner { gap:14px!important; }
  .site-header .main-nav { gap:14px!important; }
  .site-header .header-cta { max-width:210px!important; white-space:normal!important; text-align:center!important; }
  body .premium-hero .premium-showcase { min-height:390px!important; }
}


/* Miboku v11: responsive finishing pass */
@media (max-width: 760px) {
  /* Keep the header compact while preserving logo, menu and CTA. */
  .site-header .header-inner {
    grid-template-columns: minmax(0,1fr) 42px minmax(0,132px) !important;
    gap: 8px !important; padding: 9px 12px !important; min-height: 70px !important;
  }
  .site-header .brand img, .site-header .brand .custom-logo, .site-header .brand .custom-logo-link img {
    max-width: 100% !important; max-height: 43px !important; width: auto !important;
  }
  .site-header .menu-toggle { grid-column: 2 !important; width: 40px !important; min-width: 40px !important; height: 40px !important; }
  .site-header .header-cta { grid-column: 3 !important; width: auto !important; max-width: 132px !important; min-height: 44px !important; padding: 8px 9px !important; font-size: 11px !important; line-height: 1.18 !important; border-radius: 22px !important; }
  .premium-hero .premium-hero-grid { padding: 24px 18px 6px !important; gap: 0 !important; }
  .premium-hero .premium-actions { gap: 12px !important; align-items: flex-start !important; }
  .premium-hero .premium-actions .showroom-primary { width: auto !important; max-width: 100% !important; min-height: 48px !important; align-self: flex-start !important; padding: 12px 17px !important; font-size: 14px !important; line-height: 1.25 !important; gap: 12px !important; }
  .premium-hero .showroom-link { font-size: 13px !important; margin-top: 2px !important; }
  .premium-hero .premium-showcase { height: 225px !important; min-height: 225px !important; max-height: 225px !important; margin: 8px 0 0 !important; padding: 0 !important; overflow: hidden !important; contain: layout paint !important; }
  .premium-hero .premium-showcase-halo { inset: 0 5% 8% !important; }
  .premium-hero .premium-product-track { inset: 0 !important; height: 100% !important; }
  .premium-hero .premium-product-main { top: 1% !important; left: 32% !important; width: 36% !important; height: 190px !important; max-width: 36% !important; max-height: 88% !important; }
  .premium-hero .premium-product-kids { top: 18% !important; left: 4% !important; width: 27% !important; height: 135px !important; max-width: 27% !important; max-height: 70% !important; }
  .premium-hero .premium-product-flyer { top: 21% !important; right: 3% !important; left: auto !important; width: 25% !important; height: 132px !important; max-width: 25% !important; max-height: 70% !important; }
  .premium-hero .premium-product img { width: 100% !important; height: 100% !important; object-fit: contain !important; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; }
  .premium-hero .premium-turntable { bottom: 1% !important; transform: scale(.68) !important; }
  .premium-hero .premium-arrow { top: 35% !important; width: 36px !important; height: 36px !important; }
  .premium-hero .premium-arrow-prev { left: 0 !important; } .premium-hero .premium-arrow-next { right: 0 !important; }
  .premium-impact { padding: 26px 0 !important; }
  .premium-impact .premium-impact-grid { grid-template-columns: 68px minmax(0,1fr) !important; gap: 13px !important; align-items: start !important; }
  .premium-impact .premium-charity-mark { grid-column: 1 !important; width: 68px !important; height: 68px !important; margin-top: 5px !important; }
  .premium-impact .premium-charity-copy { grid-column: 2 !important; min-width: 0 !important; }
  .premium-impact .premium-charity-copy h2 { font-size: clamp(21px,5.5vw,26px) !important; line-height: 1.15 !important; overflow-wrap: normal !important; }
  .premium-impact .premium-charity-copy p { font-size: 14px !important; line-height: 1.55 !important; }
  .premium-impact .premium-more { padding: 10px 14px !important; font-size: 13px !important; }
  .section, .section .container, .section .split, .split-copy, .split-visual, .section-head, .services-grid, .audience-grid, .portfolio-grid { min-width: 0 !important; }
  .section .split { grid-template-columns: minmax(0,1fr) !important; }
  .portfolio-grid { grid-template-columns: minmax(0,1fr) !important; }
  .portfolio-grid .project-image-wrap { aspect-ratio: 4/3 !important; min-height: 0 !important; }
  .portfolio-grid .project-image-wrap img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
  .reveal, .reveal:not(.in-view) { opacity: 1 !important; visibility: visible !important; transform: none !important; filter: none !important; }
  .page-hero, .page-hero .container, .site-main .section { overflow-wrap: anywhere; }
}
@media (max-width: 390px) {
  .site-header .header-inner { grid-template-columns: minmax(0,1fr) 38px minmax(0,116px) !important; gap: 6px !important; padding-inline: 9px !important; }
  .site-header .menu-toggle { width: 38px !important; min-width: 38px !important; height: 38px !important; }
  .site-header .header-cta { max-width: 116px !important; font-size: 10px !important; padding: 7px 8px !important; }
  .premium-hero .premium-copy h1 { font-size: clamp(36px,10vw,44px) !important; }
  .premium-hero .premium-showcase { height: 205px !important; min-height: 205px !important; max-height: 205px !important; }
  .premium-hero .premium-product-main { height: 175px !important; }
  .premium-hero .premium-product-kids { height: 120px !important; }
  .premium-hero .premium-product-flyer { height: 116px !important; }
}
@media (min-width: 761px) {
  .header-cta { padding: 10px 16px !important; font-size: 13px !important; }
  .premium-hero .premium-actions .showroom-primary { padding: 13px 20px !important; font-size: 14px !important; }
}


/* Miboku v12: responsive finishing pass, business model and print-service sections */
.btn, .header-cta, .showroom-primary, .premium-more, .cta-band .btn { max-width:100%; box-sizing:border-box; }
.header-cta { padding:12px 20px; font-size:14px; line-height:1.2; }
.btn { padding:13px 20px; font-size:14px; line-height:1.25; }
.showroom-primary { padding:14px 20px; font-size:15px; line-height:1.25; }
.miboku-longterm .services-grid { align-items:stretch; }
.miboku-longterm .service-card { height:100%; }
.longterm-note { margin-top:22px; padding:16px 20px; border-left:3px solid #ed1b2f; background:rgba(128,145,165,.10); border-radius:0 12px 12px 0; line-height:1.6; }
@media (max-width:1100px) { .reveal { opacity:1!important; transform:none!important; visibility:visible!important; } }
@media (max-width:760px) {
 .site-header .header-cta { font-size:10.5px!important; padding:7px 8px!important; min-height:42px!important; }
 .premium-hero .premium-hero-grid { padding-top:18px!important; padding-bottom:0!important; }
 .premium-hero .premium-showcase { height:205px!important; min-height:205px!important; max-height:205px!important; margin-top:4px!important; }
 .premium-hero .premium-product-main { top:0!important; height:174px!important; }
 .premium-hero .premium-product-kids { top:14%!important; height:124px!important; }
 .premium-hero .premium-product-flyer { top:17%!important; height:120px!important; }
 .premium-hero .premium-turntable { bottom:0!important; }
 .premium-hero .premium-actions .showroom-primary { width:auto!important; max-width:100%!important; padding:11px 15px!important; font-size:13px!important; min-height:44px!important; }
 .miboku-longterm .services-grid { grid-template-columns:minmax(0,1fr)!important; }
 .longterm-note { padding:13px 14px; font-size:14px; }
 .premium-impact .premium-charity-copy h2 { overflow-wrap:normal!important; }
}
@media (min-width:761px) and (max-width:1100px) { .premium-hero .premium-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:24px; } .premium-hero .premium-showcase { min-width:0; width:100%; } }


/* Miboku v13 refinement: clearer desktop navigation, slightly more readable copy, finance explainer and Instagram brand mark. */
@media (min-width: 1101px) {
  .main-nav { gap: clamp(13px, 1.65vw, 25px); }
  .main-nav a { font-size: 14.5px; padding-top: 14px; padding-bottom: 14px; }
}
/* Increase body copy slightly while preserving chapter and section heading sizes. */
body p, body li, .contact-detail, .faq-list summary, .finance-equation small { font-size: calc(1em + 1px); }
.service-card p, .audience-card p, .section-head > p, .split-copy p, .contact-panel p, .ff-page p { font-size: calc(1em + 1px); }
.finance-explainer { align-items: stretch; gap: 28px; }
.finance-explainer > div:first-child { flex: 1.1; }
.finance-explainer .finance-equation { flex: .9; display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1px solid #ffffff1c; border-radius: 22px; background: linear-gradient(145deg, #ffffff12, #ffffff07); box-shadow: 0 18px 40px #00000018; }
.finance-step { display: flex; align-items: center; gap: 13px; padding: 13px 14px; border: 1px solid #ffffff1a; border-radius: 14px; background: #ffffff09; }
.finance-symbol { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #ffffff13; font-size: 22px; }
.finance-step small, .finance-result small { display: block; margin-bottom: 3px; color: #b9c8d7; font-size: 10px; font-weight: 900; letter-spacing: 1.25px; }
.finance-step strong { display: block; color: #fff; font-size: 15px; line-height: 1.35; }
.finance-operator { align-self: center; display: grid; place-items: center; width: 28px; height: 24px; color: #ff6871; font-size: 24px; font-weight: 900; line-height: 1; }
.finance-equals { color: #fff; }
.finance-result { display: flex; align-items: center; gap: 13px; margin-top: 2px; padding: 17px 15px; border-radius: 15px; background: linear-gradient(115deg, #ed1b2f, #b90f28); box-shadow: 0 12px 25px #ed1b2f30; }
.finance-result > span { font-size: 28px; }
.finance-result small { color: #ffe3e5; }
.finance-result strong { display: block; color: #fff; font-size: 16px; line-height: 1.35; }
.finance-footnote { margin: 3px 2px 0; color: #c5d1dd; font-size: 12px !important; line-height: 1.55; }
.ff-instagram-icon { padding: 0 !important; background: transparent !important; border-radius: 14px; overflow: hidden; }
.ff-instagram-icon svg { display: block; width: 52px; height: 52px; }
@media (max-width: 760px) {
  .finance-explainer .finance-equation { padding: 16px; gap: 8px; }
  .finance-step { padding: 11px; gap: 10px; }
  .finance-step strong { font-size: 14px; }
  .finance-result strong { font-size: 15px; }
  .ff-instagram-icon svg { width: 48px; height: 48px; }
}
.finance-equation span { font-weight: initial; padding: 0; background: transparent; border-radius: 0; }

/* V14: desktop navigation, wider canvas and a clearer financing layout. */
:root { --max: 1440px; }
@media (min-width: 1101px) {
  .site-header .header-inner { width: min(1500px, calc(100% - 48px)); gap: clamp(14px, 1.4vw, 24px); }
  .site-header .brand { flex: 0 0 auto; }
  .site-header .brand img { max-width: 176px; }
  .site-header .main-nav { flex: 1 1 auto; justify-content: center; gap: clamp(9px, 1.05vw, 17px); min-width: 0; }
  .site-header .main-nav a { white-space: nowrap; font-size: clamp(13px, .95vw, 15px); line-height: 1.25; }
  .site-header .header-cta { flex: 0 0 auto; white-space: nowrap; padding: 13px clamp(15px, 1.35vw, 21px); font-size: 13px; }
}
/* Sections remain full-bleed; inner content uses a wider, consistent container. */
.site-main { width: 100%; max-width: none; overflow-x: clip; }
.site-main > section, .site-main > .premium-hero { max-width: none; }
.premium-hero { width: 100%; margin-inline: 0; }
.premium-hero:before { background-position: center center; background-size: cover; }
.premium-hero .premium-hero-grid { width: min(1440px, calc(100% - 56px)); margin-inline: auto; }
.container { width: min(var(--max), calc(100% - 48px)); }
/* Finance: make the calculation read like a simple visual sequence, not a dense table. */
.finance-explainer { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(24px, 3vw, 48px); padding: clamp(24px, 3vw, 40px); border-radius: 26px; }
.finance-explainer > div:first-child { align-self: start; padding-top: 8px; }
.finance-explainer .finance-equation { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; gap: 10px; padding: 0; background: transparent; border-radius: 0; text-align: left; box-shadow: none; }
.finance-explainer .finance-step { flex: 1 1 calc(50% - 10px); min-width: 0; min-height: 92px; padding: 15px; border: 1px solid #ffffff22; border-radius: 17px; background: linear-gradient(145deg,#ffffff12,#ffffff08); transition: transform .2s ease, border-color .2s ease; }
.finance-explainer .finance-step:hover { transform: translateY(-2px); border-color: #ffffff50; }
.finance-explainer .finance-step .finance-symbol { flex: 0 0 42px; }
.finance-explainer .finance-step span:last-child { min-width: 0; }
.finance-explainer .finance-step strong { display: block; width: fit-content; max-width: 100%; padding: 0; background: transparent; border-radius: 0; overflow-wrap: anywhere; font-size: 15px; }
.finance-explainer .finance-step small { font-size: 10px; }
.finance-explainer .finance-operator { flex: 0 0 28px; align-self: center; width: 28px; height: auto; font-size: 24px; }
.finance-explainer .finance-equals { display: none; }
.finance-explainer .finance-result { flex: 1 1 100%; align-items: center; min-height: 88px; margin-top: 2px; padding: 20px; border-radius: 18px; }
.finance-explainer .finance-result strong { padding: 0; background: transparent; border-radius: 0; font-size: 17px; }
.finance-explainer .finance-footnote { flex: 1 1 100%; margin-top: 0; text-align: left; }
@media (max-width: 1100px) {
  .finance-explainer { grid-template-columns: 1fr; }
  .finance-explainer > div:first-child { padding-top: 0; }
}
@media (max-width: 760px) {
  .container { width: calc(100% - 32px); }
  .premium-hero .premium-hero-grid { width: calc(100% - 32px); }
  .finance-explainer { padding: 20px 16px; gap: 20px; }
  .finance-explainer .finance-equation { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .finance-explainer .finance-step { min-height: 76px; width: 100%; }
  .finance-explainer .finance-operator { justify-self: center; height: 15px; }
  .finance-explainer .finance-result { padding: 17px 14px; }
  .finance-explainer .finance-result strong { font-size: 15px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .site-header .header-inner { gap: 12px; }
  .site-header .main-nav { gap: 10px; }
  .site-header .main-nav a { font-size: 12px; white-space: nowrap; }
  .site-header .brand img { max-width: 150px; }
  .site-header .header-cta { padding: 10px 13px; font-size: 11px; }
}


/* V15: echtes Full-bleed-Hero und neu gestaltete Finanzierung */
:root{--max:1440px}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
@media(min-width:1500px){.container{width:min(1440px,calc(100% - 9vw))}}
.premium-hero{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:none;margin:0;background:#06182b;}
.premium-hero .premium-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;background-image:linear-gradient(90deg,rgba(3,15,29,.97) 0%,rgba(3,15,29,.83) 28%,rgba(3,15,29,.3) 62%,rgba(3,15,29,.08) 100%),linear-gradient(0deg,rgba(3,15,29,.5),rgba(3,15,29,.06)),url('assets/firefighter-blue-lights.png')!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;}
.premium-hero .premium-smoke,.premium-hero .premium-red-glow{inset:0!important;width:100%!important;max-width:none!important}
.premium-hero .premium-hero-grid{width:min(1440px,calc(100% - 48px));margin-inline:auto;grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr);gap:2%;min-height:610px;padding:52px 0 44px;}
.premium-hero .premium-copy{max-width:560px}.premium-hero .premium-showcase{min-width:0;width:100%;}
@media(min-width:1500px){.premium-hero .premium-hero-grid{width:min(1440px,calc(100% - 9vw))}}
/* Finance block is intentionally outside the old dark calculation/table style. */
.finance-promo{position:relative;z-index:5;margin:0;background:linear-gradient(180deg,#071c31 0%,#0b2945 100%);padding:0 0 64px;color:#13283f}
.finance-promo .finance-promo-card{width:min(1440px,calc(100% - 48px));margin:-1px auto 0;position:relative;display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);gap:36px;align-items:center;padding:38px 46px 44px;background:linear-gradient(135deg,#fff 0%,#f7faff 100%);border:1px solid #dce6f1;border-radius:0 0 24px 24px;box-shadow:0 22px 60px #0002;}
.finance-promo .finance-promo-intro{padding-right:32px;border-right:2px solid #dce4ed}
.finance-promo .eyebrow{color:#e3182b}
.finance-promo h2{font-size:clamp(32px,3vw,48px);line-height:1.05;letter-spacing:-1.5px;color:#10263d;margin:16px 0 14px}
.finance-promo .finance-highlight{position:relative;display:inline-block;color:#e3182b}
.finance-promo .finance-promo-copy{font-size:16px;line-height:1.6;color:#34465b;margin:0}
.finance-promo .finance-promo-main>p{font-size:16px;line-height:1.55;margin:0 0 22px;color:#34465b}
.finance-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.12fr);gap:10px;align-items:center}
.finance-flow-step{min-height:112px;border:1px solid #dce6f0;border-radius:18px;background:#edf3f9;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:15px 10px;gap:10px}
.finance-flow-icon{width:48px;height:48px;display:grid;place-items:center;background:#fff;border:1px solid #f5d6da;border-radius:50%;font-size:25px;box-shadow:0 5px 15px #122c4410}
.finance-flow-step strong{font-size:15px;line-height:1.25;color:#10263d}
.finance-flow-arrow{font-size:28px;font-weight:800;color:#ed1b2f}
.finance-flow-step.is-result{background:linear-gradient(145deg,#fff0f1,#ffe0e3);border-color:#ffc3ca}
.finance-flow-step.is-result strong{color:#b40d20}
.finance-promo-note{font-size:12px!important;color:#5c6a7b!important;margin:15px 0 0!important}
.finance-promo-cta{grid-column:1/-1;display:flex;gap:18px;align-items:center;justify-content:center;margin:-2px auto -68px;max-width:760px;width:100%;padding:18px 28px;background:linear-gradient(100deg,#f51c30,#c90e22);color:#fff;border-radius:18px;box-shadow:0 14px 30px #c90e2233;text-align:left;transform:skewX(-2deg)}
.finance-promo-cta .finance-cta-icon{font-size:32px;flex:0 0 auto}.finance-promo-cta strong{display:block;font-size:24px;line-height:1.2}.finance-promo-cta span{display:block;font-size:14px;margin-top:3px;opacity:.96}
@media(max-width:900px){.premium-hero .premium-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-height:560px}.finance-promo .finance-promo-card{grid-template-columns:1fr;gap:24px;padding:30px 28px 42px}.finance-promo .finance-promo-intro{border-right:0;border-bottom:1px solid #dce4ed;padding:0 0 22px}.finance-promo h2{max-width:700px}.finance-promo-cta{margin-bottom:-68px}}
@media(max-width:680px){.container,.premium-hero .premium-hero-grid{width:calc(100% - 32px)}.premium-hero .premium-hero-grid{grid-template-columns:1fr;min-height:0;padding:40px 0 26px}.premium-hero .premium-bg{background-position:62% center!important;background-image:linear-gradient(90deg,rgba(3,15,29,.94),rgba(3,15,29,.66)),linear-gradient(0deg,rgba(3,15,29,.45),rgba(3,15,29,.12)),url('assets/firefighter-blue-lights.png')!important}.premium-hero .premium-copy h1{font-size:clamp(42px,11vw,60px)}.premium-hero .premium-showcase{min-height:330px}.finance-promo{padding-bottom:56px}.finance-promo .finance-promo-card{width:calc(100% - 24px);padding:27px 18px 36px;border-radius:0 0 18px 18px}.finance-promo h2{font-size:34px}.finance-promo .finance-promo-main>p{font-size:14px}.finance-flow{grid-template-columns:1fr;gap:8px}.finance-flow-step{min-height:0;flex-direction:row;justify-content:flex-start;text-align:left;padding:12px 14px}.finance-flow-icon{flex:0 0 42px;width:42px;height:42px}.finance-flow-arrow{font-size:0;height:17px;line-height:17px;text-align:center}.finance-flow-arrow:before{content:'↓';font-size:24px}.finance-promo-cta{margin:0 auto -62px;padding:16px;gap:12px;transform:none;border-radius:14px}.finance-promo-cta strong{font-size:19px}.finance-promo-cta span{font-size:12px}}


/* V16: dezenter Fade am oberen Bildrand und bündige Ausrichtung von Hero und Finanzierung. */
@media (min-width: 681px) {
  .premium-hero .premium-hero-grid {
    width: min(1640px, calc(100% - 8vw)) !important;
  }
  .finance-promo .finance-promo-card {
    width: min(1640px, calc(100% - 8vw)) !important;
  }
}
.premium-hero .premium-bg {
  background-image:
    linear-gradient(180deg, rgba(3, 15, 29, .76) 0%, rgba(3, 15, 29, .38) 17%, rgba(3, 15, 29, .08) 42%, rgba(3, 15, 29, .18) 100%),
    linear-gradient(90deg, rgba(3, 15, 29, .97) 0%, rgba(3, 15, 29, .83) 28%, rgba(3, 15, 29, .3) 62%, rgba(3, 15, 29, .08) 100%),
    linear-gradient(0deg, rgba(3, 15, 29, .5), rgba(3, 15, 29, .06)),
    url('assets/firefighter-blue-lights.png') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
@media (max-width: 680px) {
  .premium-hero .premium-bg {
    background-image:
      linear-gradient(180deg, rgba(3, 15, 29, .72) 0%, rgba(3, 15, 29, .30) 22%, rgba(3, 15, 29, .08) 46%, rgba(3, 15, 29, .28) 100%),
      linear-gradient(90deg, rgba(3, 15, 29, .94), rgba(3, 15, 29, .66)),
      linear-gradient(0deg, rgba(3, 15, 29, .45), rgba(3, 15, 29, .12)),
      url('assets/firefighter-blue-lights.png') !important;
    background-position: 62% center !important;
  }
  .finance-promo .finance-promo-card { width: calc(100% - 24px) !important; }
}


/* MIBOKU V17: refinements based on annotated review screenshots */
.skip-link:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.skip-link:focus{position:fixed!important;top:12px!important;left:12px!important;z-index:99999!important;padding:12px 18px!important;background:#fff!important;color:#071827!important;border:2px solid var(--red)!important;border-radius:8px!important;clip:auto!important;width:auto!important;height:auto!important;margin:0!important;}

/* Miboku V18 – Gründerporträts */
.miboku-founder-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}
.miboku-founder-photos img{display:block;width:100%;height:390px;object-fit:cover;object-position:center 22%;border-radius:22px;box-shadow:0 16px 38px rgba(5,22,42,.16)}
.miboku-founder-photos img+img{height:330px;margin-top:42px}
@media(max-width:760px){.miboku-founder-photos{grid-template-columns:1fr 1fr;gap:9px}.miboku-founder-photos img{height:260px;border-radius:15px}.miboku-founder-photos img+img{height:220px;margin-top:24px}}


/* MIBOKU GRANDIOS – vollständige Startseiten-Neugestaltung */
.premium-hero:before{
  background:linear-gradient(115deg,#06182b 0%,#09233d 58%,#0b2b49 100%) !important;
  filter:none !important;transform:none !important;
}
.premium-hero{background:#071d32 !important}
.premium-bg{background:radial-gradient(ellipse at 78% 45%,rgba(31,91,139,.24),transparent 48%) !important}
.premium-smoke{opacity:.35 !important}
.premium-red-glow{opacity:.18 !important}

/* Finanzierung: klare Aussage, kompaktere Karte und CTA */
.finance-promo{padding:0 0 42px !important;background:linear-gradient(180deg,#071c31,#0b2945) !important}
.finance-promo .finance-promo-card{
  width:min(1440px,calc(100% - 48px)) !important;
  padding:30px 38px 34px !important;
  gap:28px !important;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr) !important;
  border-radius:0 0 22px 22px !important;
}
.finance-promo h2{font-size:clamp(29px,2.65vw,41px) !important}
.finance-promo .finance-promo-main>p{font-size:14px !important;margin-bottom:16px !important}
.finance-flow-step{min-height:94px !important;padding:12px 8px !important}
.finance-flow-icon{width:42px !important;height:42px !important;font-size:22px !important}
.finance-promo-note{font-size:11px !important;line-height:1.55 !important}
.finance-promo-cta{
  width:min(680px,calc(100% - 24px)) !important;
  min-height:72px !important;margin:24px auto -58px !important;
  padding:14px 24px !important;border-radius:20px !important;
}
.finance-promo-cta strong{font-size:19px !important}
.finance-promo-cta span span{font-size:12px !important}

/* Flammen Freunde: mehr Wärme und Präsenz */
.premium-impact{padding:42px 0 !important;background:linear-gradient(110deg,#06182a,#0b2b49 65%,#102f4c) !important}
.premium-impact-grid{grid-template-columns:160px minmax(0,1fr) !important;gap:28px !important}
.premium-charity-mark{
  width:150px !important;height:150px !important;border:0 !important;
  border-radius:22px !important;background:#092f5a !important;
  box-shadow:0 12px 30px #0004 !important;transform:none !important;overflow:hidden !important;
}
.premium-charity-mark img{width:100% !important;height:100% !important;object-fit:contain !important}
.premium-charity-copy h2{font-size:clamp(25px,2.4vw,32px) !important}
.premium-charity-copy p{font-size:14px !important;line-height:1.7 !important;max-width:900px}
.premium-more{font-size:13px !important;padding:9px 16px !important;transition:transform .25s,background .25s}
.premium-more:hover{transform:translateY(-3px);background:#ffffff14}

/* Bewusster Wechsel der Flächen: weiß – blau – weiß – blau */
.miboku-longterm{background:#edf3fa !important;color:#10263d !important;padding-top:76px !important;padding-bottom:76px !important}
.miboku-longterm .section-head p,.miboku-longterm .service-card p{color:#53677e !important}
.miboku-longterm .service-card{background:#fff !important;border-color:#d7e2ef !important}
.founder-story{background:#f5f8fc !important;overflow:hidden}
.founder-story-grid{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr) !important;gap:6% !important;align-items:center !important}
.miboku-founder-photos{display:flex !important;justify-content:center !important;align-items:flex-end !important;min-height:470px !important}
.miboku-founder-photos img{
  width:min(100%,500px) !important;height:auto !important;max-height:540px !important;
  object-fit:contain !important;object-position:center bottom !important;
  border-radius:0 !important;box-shadow:none !important;background:transparent !important;
  mix-blend-mode:multiply !important;
}
.founder-story .split-copy h2{font-size:clamp(30px,3vw,44px) !important;line-height:1.08 !important}
.founder-story .split-copy p{font-size:16px !important;line-height:1.75 !important}

/* CTA-Banner auf dieselbe Breite wie die übrigen Inhaltsbereiche bringen */
.cta-band{
  width:min(1200px,calc(100% - 48px)) !important;
  margin:32px auto 0 !important;padding:32px 38px !important;
  border-radius:24px !important;gap:24px !important;
}
.cta-band h2{font-size:clamp(26px,3vw,36px) !important}
.cta-band:after{font-size:260px !important;right:14% !important;top:-92px !important}

/* Lebendige, aber ruhige Scroll- und Hover-Bewegungen */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}
.reveal.in-view{opacity:1;transform:translateY(0)}
.service-card,.audience-card,.finance-flow-step{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.service-card:hover,.audience-card:hover{transform:translateY(-7px);box-shadow:0 18px 36px rgba(5,25,48,.12)}
.finance-flow-step:hover{transform:translateY(-5px);box-shadow:0 12px 25px rgba(5,25,48,.10);border-color:#f2a5ad}
.btn,.showroom-primary,.finance-promo-cta{transition:transform .25s ease,box-shadow .25s ease}
.btn:hover,.showroom-primary:hover,.finance-promo-cta:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(210,20,42,.2)}
@media(max-width:900px){
 .finance-promo .finance-promo-card{grid-template-columns:1fr !important;padding:26px 22px 34px !important}
 .finance-promo .finance-promo-intro{border-right:0;border-bottom:1px solid #dce4ed;padding:0 0 20px}
 .premium-impact-grid{grid-template-columns:110px minmax(0,1fr) !important;gap:18px !important}
 .premium-charity-mark{width:108px !important;height:108px !important}
 .founder-story-grid{grid-template-columns:1fr !important;gap:20px !important}
 .miboku-founder-photos{min-height:0 !important}
 .miboku-founder-photos img{max-height:440px !important;width:min(100%,380px) !important}
}
@media(max-width:600px){
 .premium-impact-grid{grid-template-columns:1fr !important;text-align:center}
 .premium-charity-mark{margin:0 auto}
 .premium-charity-copy{padding:0}
 .cta-band{width:calc(100% - 32px) !important;padding:25px 22px !important;flex-direction:column !important;align-items:flex-start !important}
 .finance-flow{grid-template-columns:1fr !important}
 .finance-flow-arrow{transform:rotate(90deg)}
 .finance-promo-cta{margin-bottom:-50px !important}
}
@media(prefers-reduced-motion:reduce){
 .reveal,.service-card,.audience-card,.finance-flow-step,.btn,.showroom-primary{transition:none !important;transform:none !important}
}

/* V20 Korrekturen nach Sichtprüfung: Finanzierung durchgehend weiß, CTA ohne Emoji */
.finance-promo{
  background:#fff !important;
  color:#10263d !important;
  padding:0 0 54px !important;
}
.finance-promo .finance-promo-card{
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  background:#fff !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 0 24px 24px !important;
  box-shadow:none !important;
}
.finance-promo-cta{
  width:min(680px,calc(100% - 32px)) !important;
  min-height:68px !important;
  margin:22px auto -42px !important;
  padding:13px 24px !important;
  transform:none !important;
  text-align:center !important;
}
.finance-promo-cta .finance-cta-copy{display:block !important}
.finance-promo-cta .finance-cta-copy strong{display:block !important}
.finance-promo-cta .finance-cta-copy>span{display:block !important}
.finance-promo-cta:hover{transform:translateY(-3px) !important}

/* Flammen Freunde: deutlich präsenter, herzlicher und eigenständiger */
.premium-impact{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  padding:66px 0 70px !important;
  background:
    radial-gradient(ellipse at 12% 50%,rgba(18,91,151,.32),transparent 38%),
    radial-gradient(ellipse at 88% 15%,rgba(229,24,49,.13),transparent 30%),
    linear-gradient(115deg,#06182a 0%,#092641 58%,#0b2945 100%) !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}
.premium-impact:before{
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  width:430px !important;height:430px !important;
  right:-160px !important;top:-230px !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:50% !important;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018) !important;
}
.premium-impact-grid{
  width:min(1240px,calc(100% - 48px)) !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  gap:42px !important;
  align-items:center !important;
}
.premium-charity-mark{
  width:184px !important;height:184px !important;
  padding:8px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:28px !important;
  background:linear-gradient(145deg,#0d3a69,#08264a) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 0 8px rgba(255,255,255,.035) !important;
  transform:rotate(-2deg) !important;
  transition:transform .35s ease,box-shadow .35s ease !important;
}
.premium-charity-mark:hover{
  transform:rotate(0) translateY(-5px) scale(1.025) !important;
  box-shadow:0 24px 48px rgba(0,0,0,.38),0 0 0 10px rgba(255,255,255,.05) !important;
}
.premium-charity-mark img{border-radius:18px !important}
.premium-charity-copy .eyebrow{color:#ff4356 !important;letter-spacing:2px !important}
.premium-charity-copy h2{
  margin:14px 0 13px !important;
  font-size:clamp(29px,3vw,40px) !important;
  line-height:1.13 !important;
  color:#fff !important;
}
.premium-charity-copy h2 em{color:#ff4356 !important;font-style:normal !important}
.premium-charity-copy p{
  max-width:900px !important;
  margin:0 0 20px !important;
  color:#e0eaf4 !important;
  font-size:16px !important;
  line-height:1.8 !important;
}
.premium-more{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:11px 19px !important;
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:999px !important;
  color:#fff !important;
  background:rgba(255,255,255,.06) !important;
}
.premium-more:hover{background:#e81932 !important;border-color:#e81932 !important}
@media(max-width:900px){
  .finance-promo .finance-promo-card{width:100% !important;padding:28px 28px 34px !important}
  .premium-impact-grid{grid-template-columns:150px minmax(0,1fr) !important;gap:26px !important}
  .premium-charity-mark{width:146px !important;height:146px !important}
}
@media(max-width:600px){
  .finance-promo{padding-bottom:48px !important}
  .finance-promo .finance-promo-card{padding:26px 18px 30px !important}
  .finance-promo-cta{margin:18px auto -32px !important;padding:14px 16px !important}
  .premium-impact{padding:48px 0 52px !important}
  .premium-impact-grid{grid-template-columns:1fr !important;gap:22px !important;text-align:center !important}
  .premium-charity-mark{width:166px !important;height:166px !important;margin:0 auto !important}
  .premium-charity-copy p{font-size:15px !important}
}


/* V21 – einheitliche Abschnittsbreiten, Flammen-Freunde-Auftritt und Mobile */
.finance-promo{
  background:#fff !important;
  padding:0 0 54px !important;
  color:var(--ink);
}
.finance-promo .finance-promo-card{
  width:min(var(--max),calc(100% - 40px)) !important;
  max-width:var(--max) !important;
  margin:0 auto !important;
  border-radius:0 0 24px 24px;
  background:#fff !important;
  box-shadow:0 14px 38px rgba(7,28,49,.08);
}
.finance-promo .finance-promo-cta{
  width:min(680px,calc(100% - 32px));
  min-height:76px;
  margin:24px auto -22px;
  padding:14px 24px;
  border-radius:20px;
}
.premium-impact{
  width:100%;
  background:linear-gradient(145deg,#071c31,#0b2a4a) !important;
  padding:58px 0 !important;
  overflow:hidden;
}
.premium-impact .container,
.premium-impact-grid{
  width:min(var(--max),calc(100% - 40px)) !important;
  max-width:var(--max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-impact-grid{
  display:grid;
  grid-template-columns: minmax(180px,240px) minmax(0,1fr);
  align-items:center;
  gap:36px;
}
.premium-charity-mark{
  width:220px !important;
  height:220px !important;
  max-width:100%;
  border:0 !important;
  border-radius:24px !important;
  background:transparent !important;
  box-shadow:0 15px 42px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.16);
  transform:none !important;
  overflow:hidden;
  animation:flammenFloat 4.5s ease-in-out infinite;
}
.premium-charity-mark img{
  width:100% !important;
  height:100% !important;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.18));
}
.premium-charity-copy h2{font-size:clamp(25px,2.5vw,34px) !important}
.premium-charity-copy p{font-size:15px !important;line-height:1.8 !important}
.premium-charity-copy .premium-more{transition:transform .25s ease,background .25s ease}
.premium-charity-copy .premium-more:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}
@keyframes flammenFloat{
  0%,100%{transform:translateY(0) rotate(-1deg);box-shadow:0 15px 42px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.16)}
  50%{transform:translateY(-9px) rotate(1deg);box-shadow:0 24px 48px rgba(0,0,0,.34),0 0 28px rgba(39,190,235,.22)}
}
@media(max-width:900px){
  .finance-promo .finance-promo-card{grid-template-columns:1fr !important;gap:24px;padding:30px 26px 42px !important}
  .finance-promo .finance-promo-intro{padding:0 0 22px;border-right:0;border-bottom:1px solid var(--line)}
  .finance-promo .finance-flow{gap:10px}
  .premium-impact-grid{grid-template-columns:1fr !important;text-align:center;justify-items:center;gap:24px}
  .premium-charity-mark{width:190px !important;height:190px !important}
  .premium-charity-copy{padding:0 !important}
}
@media(max-width:600px){
  .finance-promo{padding-bottom:38px !important}
  .finance-promo .finance-promo-card{width:calc(100% - 28px) !important;padding:26px 20px 38px !important}
  .finance-promo .finance-flow{display:flex;flex-direction:column;align-items:stretch}
  .finance-promo .finance-flow-arrow{transform:rotate(90deg);text-align:center}
  .finance-promo .finance-flow-step{width:100%}
  .finance-promo .finance-promo-cta{width:calc(100% - 28px);min-height:68px;margin-top:20px;padding:12px 16px;text-align:center}
  .premium-impact{padding:42px 0 !important}
  .premium-impact .container,.premium-impact-grid{width:calc(100% - 32px) !important}
  .premium-charity-mark{width:170px !important;height:170px !important}
}
@media(prefers-reduced-motion:reduce){
  .premium-charity-mark{animation:none !important}
  .premium-charity-copy .premium-more{transition:none}
}


/* V22 – persönlicher Gründerbereich mit weich auslaufendem Porträt */
.founder-story .miboku-founder-photos{position:relative;isolation:isolate;overflow:visible !important;min-height:500px !important}
.founder-story .miboku-founder-photos img{
  display:block;width:min(100%,520px) !important;max-height:570px !important;height:auto !important;
  object-fit:contain !important;object-position:center bottom !important;
  border:0 !important;border-radius:0 !important;box-shadow:none !important;
  background:transparent !important;mix-blend-mode:multiply !important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.82) 86%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.82) 86%,transparent 100%);
}
.founder-story .founder-emphasis{font-weight:600;color:#314b68;margin-top:18px}
.founder-story .founder-signature{font-size:clamp(19px,1.7vw,24px) !important;line-height:1.35 !important;font-weight:800 !important;color:#102b49 !important;margin:18px 0 22px !important;position:relative;padding-left:18px}
.founder-story .founder-signature:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:4px;background:#ed1b2f}
@media(max-width:900px){.founder-story .miboku-founder-photos{min-height:0 !important}.founder-story .miboku-founder-photos img{width:min(100%,430px) !important;max-height:500px !important;margin:0 auto}.founder-story .split-copy{max-width:760px;margin:0 auto}}
@media(max-width:600px){.founder-story .miboku-founder-photos img{width:min(100%,350px) !important;max-height:420px !important}.founder-story .founder-signature{font-size:20px !important}}

/* V23 – persönliche Startseite, präzise Überschrift, Flammenfreunde und Projekt-Zeitstrahl */
.premium-hero .premium-copy h1{max-width:510px!important;width:100%!important;text-wrap:balance;}
.premium-hero .premium-copy>p{max-width:510px!important;}
/* Das Flammenfreunde-Logo bekommt eine eigene, großzügige Fläche; dekorative Halbkreisform entfällt. */
body .premium-impact:before,body .premium-impact:after{content:none!important;display:none!important;}
body .premium-impact .premium-impact-grid{display:grid!important;grid-template-columns:minmax(170px,220px) minmax(0,1fr)!important;gap:34px!important;align-items:center!important;width:min(1180px,calc(100% - 48px))!important;margin-inline:auto!important;}
body .premium-impact .premium-charity-mark{width:200px!important;height:200px!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:24px!important;background:transparent!important;box-shadow:none!important;transform:none!important;overflow:visible!important;}
body .premium-impact .premium-charity-mark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;filter:drop-shadow(0 12px 22px rgba(0,0,0,.22));animation:flammenLogoFloat 5s ease-in-out infinite;}
@keyframes flammenLogoFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
body .premium-impact .premium-charity-copy{padding:0!important;min-width:0!important;}
body .premium-impact .premium-charity-copy p{max-width:900px!important;font-size:15px!important;line-height:1.75!important;}
/* Persönlicher, gut nachvollziehbarer 7-Schritte-Zeitstrahl */
.project-process .section-head{align-items:end;}
.process-timeline{list-style:none;padding:8px 0 0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:process;}
.process-step{position:relative;min-height:190px;padding:25px 22px 22px;border:1px solid #dce5ef;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(11,42,74,.045);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;}
.process-step:hover{transform:translateY(-7px);box-shadow:0 18px 36px rgba(11,42,74,.12);border-color:#f2a5ad;}
.process-number{display:grid;place-items:center;width:48px;height:48px;margin-bottom:17px;border-radius:15px;background:#fff0f1;color:var(--red);font-weight:950;font-size:17px;box-shadow:inset 0 0 0 1px #ffd0d4;}
.process-step h3{margin:0 0 9px;color:var(--navy);font-size:18px;line-height:1.25;}
.process-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.6;}
.process-step:nth-child(5){grid-column:1;}
@media(max-width:1000px){.process-timeline{grid-template-columns:repeat(2,minmax(0,1fr));}.process-step:nth-child(5){grid-column:auto;}body .premium-impact .premium-impact-grid{grid-template-columns:150px minmax(0,1fr)!important;gap:24px!important;}body .premium-impact .premium-charity-mark{width:150px!important;height:150px!important;}}
@media(max-width:620px){.premium-hero .premium-copy h1{max-width:100%!important;font-size:clamp(39px,10vw,54px)!important;letter-spacing:-1.9px!important;line-height:1.02!important;}body .premium-impact .premium-impact-grid{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;gap:18px!important;width:calc(100% - 36px)!important;}body .premium-impact .premium-charity-mark{width:170px!important;height:170px!important;}body .premium-impact .premium-charity-copy{text-align:center!important;}body .premium-impact .premium-charity-copy p{font-size:14px!important;}.process-timeline{grid-template-columns:1fr;gap:13px;}.process-step{min-height:0;padding:20px;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:15px;align-items:start;}.process-number{grid-row:1 / span 2;margin:0;}.process-step h3{font-size:17px;margin:2px 0 7px;}.process-step p{grid-column:2;}.process-step:hover{transform:translateY(-3px);}}
@media(prefers-reduced-motion:reduce){.premium-impact .premium-charity-mark img{animation:none!important}.process-step{transition:none!important}}

/* Zielgruppen: echte Projektbilder und responsive Darstellung */
.miboku-audience-grid .audience-photo{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:#eef3f8;margin-bottom:22px;}
.miboku-audience-grid .audience-photo img,.audience-feature-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1);}
.miboku-audience-grid .audience-card{height:100%;}
.miboku-audience-grid .audience-card:hover .audience-photo img{transform:scale(1.045);}
.audience-feature-photo{width:100%;min-height:360px;aspect-ratio:5/4;overflow:hidden;border-radius:22px;background:#eef3f8;}
@media(max-width:767px){.miboku-audience-grid{grid-template-columns:1fr!important;gap:22px!important}.miboku-audience-grid .audience-photo{aspect-ratio:16/10;border-radius:14px;margin-bottom:16px}.audience-feature-photo{min-height:240px;aspect-ratio:4/3;border-radius:16px}}

/* Über-mich-Foto: natürliches Seitenverhältnis, ohne Platzhalterrahmen */
.about-photo{width:100%;max-width:560px;margin-inline:auto;overflow:hidden;border-radius:24px;background:#eef3f8;box-shadow:0 18px 48px rgba(5,27,49,.12)}
.about-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
@media(max-width:767px){.about-photo{max-width:100%;border-radius:18px}.about-photo img{max-height:620px;object-fit:cover;object-position:center 35%}}

/* Flammen Freunde – echte Fotogalerie */
.ff-real-photo{display:block!important;padding:0!important;border:0!important;background:transparent!important;min-height:0!important;overflow:hidden;border-radius:26px}
.ff-real-photo:before{display:none!important}
.ff-real-photo img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover;border-radius:26px}
.ff-photo-gallery{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}
.ff-gallery-item{grid-column:span 2;margin:0;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 12px 32px #071c3112;transition:transform .35s ease,box-shadow .35s ease}
.ff-gallery-item:nth-child(4){grid-column:2/span 2}
.ff-gallery-item:nth-child(5){grid-column:4/span 2}
.ff-gallery-item img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .55s ease}
.ff-gallery-item:hover{transform:translateY(-7px);box-shadow:0 18px 38px #071c3122}
.ff-gallery-item:hover img{transform:scale(1.045)}
.ff-gallery-item figcaption{padding:14px 16px;color:#17334d;font-weight:700;font-size:14px}
@media(max-width:700px){.ff-real-photo img{min-height:280px;max-height:420px;object-fit:cover}.ff-photo-gallery{grid-template-columns:1fr;gap:16px}.ff-gallery-item,.ff-gallery-item:nth-child(4),.ff-gallery-item:nth-child(5){grid-column:1}.ff-gallery-item img{height:auto;max-height:440px;object-fit:cover}}

/* Flammen Freunde – echte Fotos in den vorgesehenen Bildflächen */
.ff-photo-slot img, .ff-gallery-item img, .ff-support-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ff-hero-image-placeholder.ff-real-photo { overflow:hidden; }
.ff-hero-image-placeholder.ff-real-photo img { width:100%; height:100%; object-fit:cover; }
.ff-photo-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ff-gallery-item { margin:0; min-width:0; overflow:hidden; border-radius:20px; }
.ff-gallery-item img { aspect-ratio:4/5; object-fit:cover; }
.ff-gallery-item figcaption { padding:12px 14px; }
.ff-support-photo { overflow:hidden; }
.ff-support-photo img { min-height:300px; object-fit:cover; border-radius:inherit; }
@media (max-width:760px) { .ff-photo-gallery { grid-template-columns:1fr; gap:18px; } .ff-gallery-item img { aspect-ratio:4/3; } .ff-support-photo img { min-height:240px; } }


/* Flammen Freunde: Bilder vollständig zeigen, ohne Beschnitt */
.ff-hero-image-placeholder.ff-real-photo { min-height: 0; height: auto; padding: 0; overflow: visible; background: transparent; border: 0; }
.ff-hero-image-placeholder.ff-real-photo:before { display:none; }
.ff-hero-image-placeholder.ff-real-photo img { display:block; width:100%; height:auto; min-height:0; max-height:none; object-fit:contain; border-radius:24px; }
.ff-photo-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.ff-gallery-item { margin:0; min-width:0; overflow:hidden; border-radius:22px; background:#fff; }
.ff-gallery-item img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; border-radius:inherit; }
.ff-support-photo { min-height:0; height:auto; overflow:visible; background:transparent; }
.ff-support-photo img { display:block; width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:auto; object-fit:contain; border-radius:22px; }
@media(max-width:760px){ .ff-photo-gallery{grid-template-columns:1fr;gap:18px;} .ff-gallery-item img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;} .ff-support-photo img{min-height:0;height:auto;max-height:none;object-fit:contain;} .ff-hero-image-placeholder.ff-real-photo img{height:auto;max-height:none;object-fit:contain;} }

/* Flammen Freunde – die drei Galeriefotos bleiben auch mobil nebeneinander */
.ff-photo-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:start!important}
.ff-photo-gallery .ff-gallery-item,
.ff-photo-gallery .ff-gallery-item:nth-child(4),
.ff-photo-gallery .ff-gallery-item:nth-child(5){grid-column:auto!important;min-width:0!important}
.ff-photo-gallery .ff-gallery-item img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.ff-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.ff-photo-gallery .ff-gallery-item{border-radius:10px}.ff-photo-gallery .ff-gallery-item figcaption{padding:7px 5px;font-size:10px;line-height:1.3}}
