:root{--red:#d9230c;--ink:#171717;--muted:#686868;--light:#f5f5f5;--line:#e6e6e6;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.site-header{background:#bdbdbd;min-height:90px;display:flex;align-items:center}.header-inner{display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.05;font-weight:800}.brand-name{font-size:32px;color:#111}.brand-sub{color:var(--red);font-size:14px}.custom-logo{width:auto;max-width:260px;max-height:78px}.header-actions{display:flex;gap:10px}.icon-button{background:var(--red);color:white;text-decoration:none;width:64px;height:38px;border-radius:5px;display:grid;place-items:center;font-size:20px}.hero{position:relative;background:#858585;color:#fff;min-height:400px;display:grid;place-items:center;text-align:center;padding:70px 0}.hero-content{max-width:900px;position:relative}.hero h1{font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.16;margin:12px 0 22px;font-weight:800}.hero-copy{max-width:800px;margin:0 auto 28px;font-weight:600;line-height:1.45}.eyebrow,.section-kicker{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:var(--red);margin:0 0 10px}.hero .eyebrow{color:#fff}.button{display:inline-block;background:var(--red);color:#fff;text-decoration:none;border:0;border-radius:2px;padding:13px 24px;font:inherit;font-weight:700;cursor:pointer}.section{padding:70px 0}.section h2{font-size:2rem;line-height:1.2;margin:0 0 28px}.services{background:#fafafa}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{text-align:center;background:white;padding:24px 16px;border:1px solid #eee;box-shadow:0 4px 18px #00000008}.service-icon{font-size:36px;color:#999;line-height:1.2}.service-card h3,.extra-grid h3{font-size:1.05rem;margin:12px 0}.service-card p,.extra-grid p{color:var(--muted);font-size:.9rem;margin:0}.extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;text-align:center;max-width:900px;margin:auto}.extra-grid article{padding:15px}.gallery-section{background:#fff}.section-intro{color:var(--muted);margin-top:-15px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}.gallery-placeholder{min-height:220px;background:linear-gradient(135deg,#e3e0dc,#c9c5c0);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#555;border:1px solid #ddd}.gallery-placeholder span{font-weight:700}.gallery-placeholder small{font-size:.8rem}.reviews{background:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.review-grid blockquote{margin:0;padding:20px 10px;text-align:center;font-style:italic;color:#555;border-top:1px solid var(--line)}.review-grid cite{display:block;font-style:normal;font-weight:800;color:#111;font-size:1.1rem;margin-top:16px}.notice,.form-small{font-size:.78rem;color:#777}.contact-section{background:#f5f5f5}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.contact-info h2{font-size:2.4rem}.contact-item{display:flex;gap:18px;margin-top:20px}.contact-item>span{color:var(--red);font-size:20px}.contact-item strong,.contact-item a,.contact-item p{display:block}.contact-item a,.contact-item p{font-size:.9rem;text-decoration:none;margin:2px 0}.contact-form-wrap input,.contact-form-wrap textarea{width:100%;border:1px solid #888;background:#fff;padding:13px;font:inherit;font-size:.9rem;border-radius:0}.contact-form-wrap input:focus,.contact-form-wrap textarea:focus{outline:2px solid #e8a398;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.contact-form-wrap textarea{resize:vertical;margin-bottom:14px}.submit-button{width:100%}.form-notice{background:#fff1ed;padding:12px;border-left:4px solid var(--red)}.form-notice.success{background:#eaf7ed;border-color:#23863a}.site-footer{background:#222;color:#eee;padding:30px 0}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;font-size:.85rem}.site-footer a{color:#fff}.legal-links ul{display:flex;gap:14px;list-style:none;padding:0;margin:0}.legal-links li{margin:0}@media(max-width:800px){.service-grid{grid-template-columns:repeat(2,1fr)}.extra-grid{gap:10px}.contact-grid{grid-template-columns:1fr;gap:35px}.hero{min-height:350px;padding:55px 0}.section{padding:55px 0}}@media(max-width:560px){.container{width:min(100% - 28px,var(--max))}.site-header{min-height:76px}.brand-name{font-size:27px}.brand-sub{font-size:12px}.custom-logo{max-width:190px;max-height:60px}.icon-button{width:42px;height:38px}.hero h1{font-size:2rem}.hero-copy{font-size:.95rem}.service-grid,.extra-grid,.gallery-grid,.review-grid{grid-template-columns:1fr}.extra-grid{gap:20px}.gallery-placeholder{min-height:190px}.contact-info h2{font-size:2rem}.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.section h2{font-size:1.7rem}}

/* Gallery photos selected in the WordPress Customizer */
.gallery-item { min-width: 0; overflow: hidden; border-radius: 12px; background: #f1f1f1; }
.gallery-photo { display: block; width: 100%; height: 280px; object-fit: cover; }
.gallery-item .gallery-placeholder { min-height: 280px; }

/* Moderated customer submissions */
.submission-grid{display:grid;grid-template-columns:minmax(0,760px);justify-content:center;gap:24px;margin-top:38px}
.submission-card{padding:26px;background:#fafafa;border:1px solid var(--line);border-radius:8px}
.submission-card h3,.approved-customer-photos h3{margin-top:0;font-size:1.3rem}
.submission-form{display:grid;gap:14px}
.submission-form label{display:grid;gap:6px;font-weight:700;font-size:.9rem}
.submission-form input:not([type=checkbox]):not([type=file]),.submission-form textarea,.submission-form input[type=file]{width:100%;padding:11px;border:1px solid #bbb;background:#fff;font:inherit;font-weight:400}
.submission-form .consent-label{display:flex;align-items:flex-start;gap:9px;font-weight:400;font-size:.8rem;line-height:1.45}
.submission-form .consent-label input{margin-top:4px;flex:0 0 auto}
.submission-form small{color:var(--muted)}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.approved-customer-photos{margin-top:42px}
.approved-photo{margin:0;border:1px solid var(--line);padding:8px;background:#fff}
.approved-photo figcaption{font-size:.85rem;padding:8px 2px}
.whatsapp-button{font-size:15px;font-weight:800;background:#257b45}
@media(max-width:650px){.submission-grid{grid-template-columns:1fr}.header-actions{gap:6px}}


/* Fixed WhatsApp contact button — visible while scrolling on every page */
.kokalari-whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 56px;
  padding: 0 18px;
  border-radius: 999px;
  background: #25D366;
  color: #fff !important;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.24);
  transition: transform .18s ease, box-shadow .18s ease;
}
.kokalari-whatsapp-float:hover,
.kokalari-whatsapp-float:focus-visible {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0,0,0,.28);
}
.kokalari-whatsapp-float svg { width: 29px; height: 29px; flex: 0 0 29px; }
@media (max-width: 520px) {
  .kokalari-whatsapp-float { right: 14px; bottom: 14px; min-height: 54px; padding: 0 15px; }
}

/* Customer photos attached to approved reviews */
.review-customer-photo{display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto 16px}
.review-customer-photo img{display:block;max-width:100%;width:auto;max-height:260px;height:auto;margin:0 auto;border-radius:10px;object-fit:contain}
.review-text{white-space:pre-line;overflow-wrap:anywhere;font-style:normal}
.review-grid blockquote .review-customer-photo:first-child{order:0}
.submission-form input[type=file]{max-width:100%;font-size:14px}

.contact-item .maps-link{display:inline-block;margin-top:6px;color:var(--red);font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.contact-item .maps-link:hover{color:#111}


/* Compact responsive Google Maps window beneath the address */
.contact-address-content { min-width: 0; width: 100%; }
.google-map-embed { width: 100%; max-width: 420px; height: 210px; margin: 12px 0 8px; overflow: hidden; border-radius: 10px; border: 1px solid rgba(0,0,0,.12); background: #f2f2f2; }
.google-map-embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.contact-address-item { align-items: flex-start; }
@media (max-width: 600px) { .google-map-embed { max-width: 100%; height: 190px; } }


/* Refined visual polish: preserve the original layout and hierarchy. */
.site-header { background: #bdbdbd; }
.site-header .custom-logo-link { display:flex; align-items:center; }
.site-header .custom-logo { mix-blend-mode: multiply; background: transparent; object-fit: contain; max-width: 240px; max-height: 72px; }
/* SVG logo artwork stays crisp and modest in size. */
.service-icon { width: 52px; height: 52px; margin: 0 auto 10px; border-radius: 15px; }
.service-icon svg { width: 28px; height: 28px; stroke-width: 2; }
.service-card { padding: 22px 16px; }
/* Restore the theme's original heading scale while improving contrast. */
.section-kicker { font-family: Arial, Helvetica, sans-serif; font-size: .76rem; font-weight: 800; letter-spacing: .13em; color: #b8200d; text-shadow: none; margin-bottom: 8px; }
.section h2 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(1.9rem, 3vw, 2.25rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; color: #171717; margin-bottom: 26px; }
.services .section-kicker::after, .gallery-section .section-kicker::after, .reviews .section-kicker::after { width: 42px; height: 2px; margin-top: 6px; }
/* Crystal finish remains subtle and readable, not oversized or overly glossy. */
.button, .icon-button { border-radius: 7px; box-shadow: 0 5px 14px rgba(100,20,10,.16), inset 0 1px 0 rgba(255,255,255,.45); }
.button { padding: 12px 22px; }
@media (max-width:560px) { .site-header .custom-logo { max-width: 180px; max-height: 56px; } .service-icon { width: 48px; height: 48px; } .service-icon svg { width: 26px; height: 26px; } }

/* Scroll reveal: elegant motion, repeated on re-entry; disabled for reduced-motion users. */
.reveal-ready .reveal-item { opacity: 0; transform: translateY(18px); filter: blur(2px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1), filter .65s ease; }
.reveal-ready .reveal-item.is-visible { opacity: 1; transform: translateY(0); filter: blur(0); }
@media (prefers-reduced-motion: reduce) { .reveal-ready .reveal-item { opacity: 1; transform: none; filter: none; transition: none; } }

/* Refined entrance motion: hero content descends softly from above; other sections reveal as they enter view. */
.reveal-ready .hero .hero-reveal { opacity:0; transform:translate3d(0,-34px,0); filter:blur(3px); transition:opacity .85s ease,transform .85s cubic-bezier(.18,.72,.25,1),filter .85s ease; }
.reveal-ready .hero .hero-reveal.is-visible { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
.reveal-ready .section .reveal-item { opacity:0; transform:translate3d(0,26px,0); filter:blur(1.5px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease; }
.reveal-ready .section .reveal-item.is-visible { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
.service-icon {font-size:27px;}
@media (prefers-reduced-motion: reduce) { .reveal-ready .hero .hero-reveal,.reveal-ready .section .reveal-item {opacity:1;transform:none;filter:none;transition:none;} }

/* Reliable entrance animation: hero starts on load; section content reveals on scroll. */
@media (prefers-reduced-motion: no-preference) { .reveal-ready .hero .hero-reveal { will-change: opacity, transform, filter; } .reveal-ready .section .reveal-item { will-change: opacity, transform, filter; } }

/* Berlin atmosphere update — header intentionally remains unchanged. */
:root{--berlin-red:#ff3028;--berlin-glass:rgba(7,17,30,.72);--berlin-line:rgba(255,255,255,.22)}
body{background:#07111e url('berlin-sunset.jpg') center center/cover fixed no-repeat;color:#f7f9fc}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(3,10,19,.42),rgba(3,10,19,.72) 55%,rgba(3,10,19,.82))}
/* Keep the existing header design and dimensions exactly as they are. */
.hero{isolation:isolate;min-height:520px;background:linear-gradient(90deg,rgba(3,11,22,.86),rgba(3,11,22,.45) 60%,rgba(3,11,22,.2)),url('berlin-sunset.jpg') center 48%/cover no-repeat;color:#fff;text-align:left}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,12,22,.35),transparent 60%)}
.hero-content{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.hero h1{max-width:850px;text-shadow:0 3px 22px rgba(0,0,0,.35)}
.hero-copy{margin-left:0;margin-right:auto;max-width:760px;color:#f5f7fb;font-weight:500;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.eyebrow,.section-kicker{color:#ff514a}
.button,.submit-button{border-radius:999px;background:linear-gradient(135deg,#ff4b43,#c91510);box-shadow:0 8px 28px rgba(217,35,12,.28);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.button:hover,.submit-button:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 12px 32px rgba(255,48,40,.4)}
.section,.services,.extra-services,.gallery-section,.reviews,.contact-section{background:rgba(5,14,26,.68);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#f7f9fc}
.services,.reviews{background:rgba(7,18,32,.76)}
.gallery-section{background:linear-gradient(180deg,rgba(5,14,26,.76),rgba(5,14,26,.55))}
.section-intro,.service-card p,.extra-grid p,.review-grid blockquote,.notice,.form-small{color:#d5dce6}
.service-card,.submission-card,.gallery-placeholder,.review-grid blockquote{background:rgba(255,255,255,.09);border:1px solid var(--berlin-line);border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .28s ease,border-color .28s ease,background .28s ease}
.service-card:hover,.gallery-item:hover{transform:translateY(-6px)}
.service-card:hover{background:rgba(255,255,255,.14);border-color:rgba(255,80,70,.6)}
.service-icon{color:#ff514a;text-shadow:0 0 18px rgba(255,48,40,.25)}
.gallery-item{border-radius:14px;transition:transform .28s ease,box-shadow .28s ease}
.gallery-item:hover{box-shadow:0 15px 35px rgba(0,0,0,.3)}
.gallery-placeholder{color:#f6f8fc}
.contact-item a,.contact-item p{color:#eef3fa}
.contact-item>span{color:#ff514a}
.contact-form-wrap input,.contact-form-wrap textarea{color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);border-radius:10px}
.contact-form-wrap input::placeholder,.contact-form-wrap textarea::placeholder{color:#d8e0eb}
.contact-form-wrap input:focus,.contact-form-wrap textarea:focus{outline:2px solid #ff514a;background:rgba(255,255,255,.15)}
.site-footer{background:rgba(2,8,16,.94);border-top:1px solid rgba(255,255,255,.16)}
.site-footer a{color:#fff}
.form-notice{color:#fff;background:rgba(255,241,237,.12);border-left-color:#ff514a}
.form-notice.success{background:rgba(35,134,58,.22);color:#fff}
@media(max-width:800px){body{background-attachment:scroll}.hero{min-height:470px;background-position:58% center}.hero-content{text-align:left}}
@media(max-width:560px){.hero{padding:48px 0;min-height:420px;background-position:58% center}.hero-copy{font-weight:500}.service-card{padding:22px 16px}}


/* Final contrast and service icon polish — header intentionally untouched. */
.section h2,
.contact-info h2 { color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.32); }
.service-card h3,
.extra-grid h3 { color:#fff; }
.section-intro { color:#e4eaf3; }
.service-icon {
  display:grid; place-items:center; flex:0 0 52px;
  width:52px; height:52px; margin:0 auto 10px; padding:0;
  border:1px solid rgba(255,81,74,.52); border-radius:50%;
  color:#fff; line-height:1;
  background:radial-gradient(circle at 35% 25%,rgba(255,75,67,.38),rgba(100,12,20,.34) 58%,rgba(5,13,26,.75));
  box-shadow:0 0 0 4px rgba(255,48,40,.055),0 0 22px rgba(255,48,40,.17),inset 0 1px 0 rgba(255,255,255,.18);
}
.service-icon svg { display:block; width:28px; height:28px; fill:none; stroke:#f8fbff; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.service-icon svg .accent { stroke:#ff514a; stroke-width:2; }
.service-card { color:#f7f9fc; }
.service-card p,.extra-grid p { color:#dbe3ee; }
@media(max-width:560px) {
  .section h2,.contact-info h2 { color:#fff; }
  .service-icon { width:48px; height:48px; flex-basis:48px; }
  .service-icon svg { width:26px; height:26px; }
}


/* SEO content and FAQ cards: preserve the existing Berlin glass design. */
.faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.faq-card{padding:22px 20px;background:rgba(255,255,255,.08);border:1px solid var(--berlin-line);border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.14)}
.faq-card h3{color:#fff;font-size:1.05rem;line-height:1.35;margin:0 0 10px}
.faq-card p{color:#dbe3ee;font-size:.94rem;margin:0}
@media(max-width:800px){.faq-grid{grid-template-columns:1fr}}
