:root{--bg-warm:#fcfcfc;--bg-soft:#faf7f2;--text-primary:#2a2a2a;--text-secondary:#4a4a4a;--card-bg:#ffffff;--border-light:#eaeaea;--header-bg:rgba(6,21,59,0.98);--footer-bg:#030917;--footer-text:#aaa;--accent-gold:#b4945c;--accent-gold-accessible:#7a6240;--accent-teal:#9b6e3a;--btn-start:#06153b;--btn-end:#04102e;--radius-card:1.5rem;--transition-base:0.3s ease}html{margin:0;padding:0;scroll-behavior:smooth;overflow-x:hidden;background:#06153b}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;padding:0;font-family:'Inter',sans-serif;background-color:var(--bg-warm);color:var(--text-primary);background-image:radial-gradient(rgba(6,21,59,0.02) 1px,transparent 1px);background-size:30px 30px;overflow-x:hidden;width:100%}h1,h2,h3,h4{font-family:'Cormorant Garamond','Cormorant Garamond Fallback',serif;font-weight:800;letter-spacing:0.02em}.gold{color:var(--accent-gold-accessible)}.gold-display{color:#7a6240}.bg-gold{background-color:var(--accent-gold)}.border-gold{border-color:var(--accent-gold)}.teal{color:var(--accent-teal)}.bg-teal{background-color:var(--accent-teal)}.border-teal{border-color:var(--accent-teal)}.footer .gold{color:var(--accent-gold);text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px;border-radius:4px}.urgent-banner{background:#8a6f3f;color:#fff;text-align:center;padding:6px 0;font-size:0.875rem;font-weight:500}.urgent-banner i{margin-right:6px}.solid-header{background:var(--header-bg);border-bottom:2px solid rgba(180,148,92,0.4);position:sticky;top:0;z-index:50;padding:0}.logo-area{display:flex;align-items:center;gap:0.5rem}.logo-area a{display:block;overflow:hidden;height:125px;flex-shrink:0;transition:transform var(--transition-base)}.logo-area a:hover{transform:scale(1.04)}.logo-area img{height:265px;width:auto;margin-top:-70px;filter:drop-shadow(0 2px 10px rgba(180,148,92,0.3))}.logo-area p{font-size:0.7rem;color:rgba(255,255,255,0.52);letter-spacing:0.02em}@media (max-width:768px){.logo-area a{height:100px}.logo-area img{height:205px;margin-top:-52px}.desktop-only-text{display:none}}.mobile-icons{display:none;align-items:center;gap:1rem}.mobile-icons a,.mobile-icons button{color:var(--text-primary);font-size:1.5rem;background:none;border:none;cursor:pointer;transition:color 0.2s;padding:4px}.mobile-icons i{display:inline-block;width:1em;height:1em}.mobile-icons a:hover,.mobile-icons button:hover{color:var(--accent-gold)}@media (max-width:768px){.mobile-icons{display:flex}}/* ── NAVY HEADER — component overrides ──────────────────────────────────── */
/* Phone link */
.solid-header nav a[href^="tel"]{color:rgba(255,255,255,0.88)}
.solid-header nav a[href^="tel"]:hover{color:var(--accent-gold)}
/* Phone icon: accessible-gold is too dark on navy, use the brighter gold */
.solid-header .fa-phone-alt{color:var(--accent-gold)}
/* Book/WhatsApp CTA: navy-on-navy is invisible — switch to gold */
.solid-header .btn-primary{background:linear-gradient(145deg,var(--accent-gold),#8a6a34);box-shadow:0 4px 12px rgba(180,148,92,0.22)}
.solid-header .btn-primary:hover{background:linear-gradient(145deg,#c8a870,var(--accent-gold));box-shadow:0 8px 18px rgba(180,148,92,0.38);transform:scale(1.04) translateY(-1px)}
/* Review badge: glass pill */
.solid-header .review-badge{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.9)}
.solid-header .review-badge:hover{background:rgba(255,255,255,0.16);border-color:var(--accent-gold)}
.solid-header .review-badge .stars{color:var(--accent-gold)}
/* Language toggle: ghost button */
[data-action="toggle-lang"]{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.8rem;line-height:1;white-space:nowrap}
[data-action="toggle-lang"] i.fas{font-size:.8rem;line-height:1;flex-shrink:0}
.solid-header [data-action="toggle-lang"]{border-color:rgba(255,255,255,0.28);color:rgba(255,255,255,0.88)}
.solid-header [data-action="toggle-lang"]:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.45)}
@media(max-width:768px){[data-action="toggle-lang"]{min-height:44px;padding:.65rem 1rem}}
/* Mobile icons */
.solid-header .mobile-icons a,.solid-header .mobile-icons button{color:rgba(255,255,255,0.88)}
.solid-header .mobile-icons a:hover,.solid-header .mobile-icons button:hover{color:var(--accent-gold)}
/* Suppress non-composited color/border transitions on nav — only transform/opacity are GPU-composited */
.solid-header nav a.transition,.solid-header nav button.transition{transition-property:opacity,transform}

.review-badge{display:inline-flex;align-items:center;gap:4px;background:#efefef;padding:3px 10px;border-radius:30px;border:1px solid #eaeaea;font-size:0.8rem;transition:background var(--transition-base);text-decoration:none;color:#2a2a2a}.review-badge:hover{background:#e4e4e4;border-color:var(--accent-gold)}.review-badge .stars{color:#8c6d3f;letter-spacing:2px}@media (max-width:768px){.review-badge{display:none}}.hero-bg{position:relative;overflow:hidden;background:linear-gradient(145deg,#020b1e 0%,#06153b 30%,#0c2060 65%,#091d4f 100%);border-bottom:2px solid rgba(180,148,92,0.2)}.hero-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(180,148,92,0.15) 1px,transparent 1px),radial-gradient(circle,rgba(32,178,170,0.08) 1px,transparent 1px);background-size:40px 40px,60px 60px;background-position:0 0,20px 20px;z-index:1;pointer-events:none}.hero-bg::after{content:'';position:absolute;right:5%;top:50%;transform:translateY(-50%);width:380px;height:380px;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 200%22%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2295%22 fill=%22none%22 stroke=%22white%22 stroke-width=%223%22/%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2285%22 fill=%22none%22 stroke=%22white%22 stroke-width=%221%22 opacity=%22.4%22/%3E%3Cline x1=%22100%22 y1=%228%22 x2=%22100%22 y2=%2222%22 stroke=%22white%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3Cline x1=%22100%22 y1=%22178%22 x2=%22100%22 y2=%22192%22 stroke=%22white%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3Cline x1=%228%22 y1=%22100%22 x2=%2222%22 y2=%22100%22 stroke=%22white%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3Cline x1=%22178%22 y1=%22100%22 x2=%22192%22 y2=%22100%22 stroke=%22white%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3Cline x1=%2255.4%22 y1=%2255.4%22 x2=%2265.5%22 y2=%2265.5%22 stroke=%22white%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cline x1=%22144.6%22 y1=%2255.4%22 x2=%22134.5%22 y2=%2265.5%22 stroke=%22white%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cline x1=%2255.4%22 y1=%22144.6%22 x2=%2265.5%22 y2=%22134.5%22 stroke=%22white%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cline x1=%22144.6%22 y1=%22144.6%22 x2=%22134.5%22 y2=%22134.5%22 stroke=%22white%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cline x1=%22100%22 y1=%22100%22 x2=%2255%22 y2=%2268%22 stroke=%22white%22 stroke-width=%225%22 stroke-linecap=%22round%22/%3E%3Cline x1=%22100%22 y1=%22100%22 x2=%22165%22 y2=%2262%22 stroke=%22white%22 stroke-width=%223%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%224%22 fill=%22white%22/%3E%3Crect x=%22193%22 y=%2291%22 width=%229%22 height=%2218%22 rx=%223%22 fill=%22none%22 stroke=%22white%22 stroke-width=%222%22/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:0.08;z-index:1;pointer-events:none}.hero-content{position:relative;z-index:2;min-height:460px;display:flex;flex-direction:column;justify-content:center}.hero-title{text-shadow:2px 2px 8px rgba(0,0,0,0.5);font-weight:900}@media (max-width:768px){.hero-bg{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.hero-content{min-height:0;padding-top:0;padding-bottom:0}.hero-title{font-size:2rem}.hero-bg::after{width:220px;height:220px;right:auto;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0.06}}.lang-it .hero-title{font-size:clamp(2.2rem,7vw,3.8rem)}@media (min-width:768px){.lang-it .hero-title{font-size:clamp(2.8rem,6vw,4.2rem)}}.section-title{position:relative;display:inline-block;padding-bottom:10px;cursor:default}.section-title::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent-gold);transform:scaleX(0);transform-origin:left center;transition:transform var(--transition-base)}.section-title:hover::after{transform:scaleX(1)}.service-card,.equipment-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-card);padding:2rem;transition:border-color var(--transition-base);position:relative;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.05)}.service-card::before,.equipment-card::before{content:'';position:absolute;inset:0;border-radius:var(--radius-card);padding:2px;background:linear-gradient(135deg,var(--accent-gold),var(--accent-teal),var(--accent-gold));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-base);pointer-events:none}.service-card:hover::before,.equipment-card:hover::before{opacity:1}.service-card:hover,.equipment-card:hover{border-color:transparent}.service-card i,.equipment-card i{transition:transform var(--transition-base),color var(--transition-base)}.service-card:hover i,.equipment-card:hover i{transform:scale(1.1);color:var(--accent-gold)}.promise-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:1rem;padding:1.5rem;text-align:center;transition:border-color var(--transition-base),transform var(--transition-base);box-shadow:0 2px 8px rgba(0,0,0,0.04)}.promise-card:hover{border-color:var(--accent-gold);transform:translateY(-5px) !important;box-shadow:0 10px 20px -5px rgba(180,148,92,0.3)}.promise-icon{font-size:1.6rem;color:var(--accent-gold);margin-bottom:1rem;display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:rgba(180,148,92,0.1)}.promise-card:hover i{color:var(--accent-gold);transform:scale(1.1)}.trust-badge{background:var(--card-bg);border:1px solid var(--border-light);border-radius:1rem;padding:1.5rem;text-align:center;transition:border-color var(--transition-base),transform var(--transition-base);box-shadow:0 2px 8px rgba(0,0,0,0.04)}.trust-badge:hover{border-color:var(--accent-gold);transform:translateY(-5px);box-shadow:0 10px 20px -5px rgba(180,148,92,0.3)}.trust-badge:hover i{color:var(--accent-gold);transform:scale(1.1)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.gallery-thumb{border-radius:var(--radius-card);border:1px solid var(--border-light);object-fit:cover;width:100%;height:280px;transition:transform var(--transition-base);cursor:pointer;display:block}.gallery-thumb:hover{transform:scale(1.02);box-shadow:0 25px 30px -10px rgba(0,0,0,0.15)}@media (max-width:768px){.gallery-thumb{height:200px}}.timeline-item{display:flex;gap:2rem;margin-bottom:2rem;align-items:flex-start}.timeline-icon{width:3.5rem;height:3.5rem;background:var(--accent-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0;box-shadow:0 10px 15px -3px rgba(180,148,92,0.2),0 0 0 5px rgba(180,148,92,0.12);transition:transform var(--transition-base);position:relative}.timeline-item:hover .timeline-icon{transform:scale(1.05)}.btn-primary{background:linear-gradient(145deg,var(--btn-start),var(--btn-end));color:#fff;padding:0.75rem 1.5rem;border-radius:9999px;font-weight:600;transition:background var(--transition-base),transform var(--transition-base);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);display:inline-flex;align-items:center;justify-content:center;border:none;font-size:0.9rem;cursor:pointer;text-decoration:none;position:relative;overflow:visible}.btn-primary:hover{background:linear-gradient(145deg,var(--btn-end),#040b24);transform:scale(1.05) translateY(-2px);box-shadow:0 10px 20px -5px rgba(180,148,92,0.5)}.btn-secondary{border:2px solid var(--accent-gold);color:var(--accent-gold-accessible);padding:0.75rem 1.5rem;border-radius:9999px;font-weight:600;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-base);display:inline-block;background:transparent;font-size:0.9rem;cursor:pointer;text-decoration:none}.btn-secondary:hover{background:var(--accent-gold);color:#fff;transform:scale(1.05) translateY(-2px)}@media (max-width:768px){.btn-primary,.btn-secondary{width:100%;text-align:center;margin-bottom:0.5rem}.solid-header .btn-primary{width:auto!important;margin:0;padding:.45rem .85rem;font-size:.78rem}}@media (max-width:440px){.header-wa-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.solid-header .btn-primary{padding:.45rem .65rem}}.carousel-container{position:relative;overflow:hidden;padding:0 30px}.carousel-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.carousel-track{display:flex;transition:transform 0.5s ease-in-out}.carousel-slide{flex:0 0 100%;padding:0 10px;box-sizing:border-box}.review-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-card);padding:2rem;box-shadow:0 10px 25px -5px rgba(0,0,0,0.05);position:relative;overflow:hidden;transition:transform var(--transition-base)}.review-card:hover{transform:translateY(-4px);border-color:var(--border-light) !important;box-shadow:0 20px 30px -10px rgba(0,0,0,0.1)}.review-card::before{content:'\201C';position:absolute;top:-20px;left:10px;font-size:12rem;font-family:serif;color:var(--accent-gold);opacity:0.1;line-height:1;pointer-events:none;user-select:none}.star-large i{font-size:1.3rem;text-shadow:0 0 2px rgba(180,148,92,0.3)}.review-card:hover .star-large i{color:var(--accent-gold)}.review-card:hover .font-bold.gold{color:var(--accent-gold)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.3);color:#fff;border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base),transform 0.2s;font-size:1.2rem;backdrop-filter:blur(4px)}.carousel-btn:hover{background:rgba(0,0,0,0.7);transform:translateY(-50%) scale(1.05)}.carousel-btn.prev{left:0}.carousel-btn.next{right:0}.carousel-dots{display:flex;justify-content:center;gap:12px;margin-top:2rem;margin-bottom:2rem;flex-wrap:wrap}.carousel-dot{width:12px;height:12px;border-radius:50%;background:#ccc;border:none;cursor:pointer;transition:background var(--transition-base),transform 0.2s;padding:0}.carousel-dot:hover{transform:scale(1.2);background:#999}.carousel-dot.active{background:var(--accent-gold);transform:scale(1.2)}@media (max-width:768px){.carousel-btn{width:38px;height:38px}.carousel-dots{gap:8px;margin-top:1.5rem;margin-bottom:1.5rem}.carousel-dot{width:10px;height:10px}.review-card{padding:1.5rem}}.faq-item{border-bottom:1px solid var(--border-light);padding:0.8rem 0}.faq-question{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;font-size:1.1rem;user-select:none;padding:4px 0;background:none;border:none;width:100%;text-align:left}.faq-question>i{transition:transform var(--transition-base);color:var(--accent-gold);flex-shrink:0;margin-left:1rem}.faq-question.open>i{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.35s ease;color:var(--text-secondary)}.faq-answer.open{max-height:300px}details.faq-item>summary::-webkit-details-marker{display:none}details.faq-item .faq-answer{max-height:none!important;overflow:visible!important}details.faq-item[open] .faq-question>i:last-child{transform:rotate(180deg)}.faq-answer p{padding:0.75rem 0 0.25rem}.whatsapp-float{position:fixed;bottom:30px;right:30px;background:linear-gradient(145deg,#25D366,#20b859);color:#fff;width:65px;height:65px;border-radius:50%;font-size:32px;box-shadow:0 15px 20px -8px rgba(37,211,102,0.4);z-index:102;transition:transform var(--transition-base);display:flex;align-items:center;justify-content:center;text-decoration:none}.whatsapp-float:hover{transform:scale(1.1) translateY(-3px);box-shadow:0 20px 25px -8px rgba(37,211,102,0.6)}@media (max-width:640px){.whatsapp-float{width:55px;height:55px;font-size:28px;bottom:70px;right:20px}}.back-to-top{position:fixed;bottom:110px;right:30px;background:var(--btn-start);color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 5px 15px rgba(0,0,0,0.2);z-index:103;opacity:0;pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-base);cursor:pointer;border:1px solid var(--accent-gold)}.back-to-top.show{opacity:1;pointer-events:auto}.back-to-top:hover{background:#04102e;transform:translateY(-3px)}@media (max-width:640px){.back-to-top{bottom:130px;right:20px;width:45px;height:45px;font-size:22px}}.call-bar{display:none;position:fixed;bottom:0;left:0;width:100%;background:var(--btn-start);color:#fff;padding:4px 12px;text-align:center;z-index:101;font-size:0.9rem;font-weight:600;box-shadow:0 -2px 10px rgba(0,0,0,0.1)}.call-bar a{color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px}.call-bar i{font-size:1.1rem}@media (max-width:768px){.call-bar{display:block}body{padding-bottom:40px}}.map-wrapper{position:relative;width:100%;height:20rem;border-radius:1rem;border:1px solid var(--border-light);overflow:hidden;background:#f3f4f6;cursor:pointer}.map-wrapper iframe{width:100%;height:100%;border:0;display:block}.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;background:#f3f4f6;z-index:2;transition:opacity 0.3s ease}.map-placeholder i{font-size:3rem;color:var(--accent-gold)}.map-placeholder p{color:var(--text-secondary);font-size:0.9rem;margin:0}.map-placeholder.hidden{opacity:0;pointer-events:none}.footer{background:var(--footer-bg);color:var(--footer-text)}.footer nav a{text-decoration:underline;text-underline-offset:3px}.footer nav a:hover{color:var(--accent-gold)}address a,#contact a:not(.btn-primary):not(.btn-secondary){text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--accent-gold)}address a:hover,#contact a:not(.btn-primary):not(.btn-secondary):hover{color:var(--accent-gold)}.inline-flex:hover i{color:var(--accent-gold);transform:scale(1.1)}.fa-whatsapp::before{content:"\f232"}.fa-phone-alt::before{content:"\f879"}.fa-globe::before{content:"\f0ac"}.fa-bolt::before{content:"\f0e7"}.fa-cogs::before{content:"\f085"}.fa-euro-sign::before{content:"\f153"}.fa-check-circle::before{content:"\f058"}.fa-calendar-alt::before{content:"\f073"}.fa-clock::before{content:"\f017"}.fa-key::before{content:"\f084"}.fa-smile::before{content:"\f118"}.fa-star::before{content:"\f005"}.fa-gem::before{content:"\f3a5"}.fa-microscope::before{content:"\f610"}.fa-hand-holding-heart::before{content:"\f4be"}.fa-battery-three-quarters::before{content:"\f241"}.fa-hourglass-half::before{content:"\f252"}.fa-shield-alt::before{content:"\f3ed"}.fa-cog::before{content:"\f013"}.fa-tachometer-alt::before{content:"\f3fd"}.fa-search::before{content:"\f002"}.fa-tools::before{content:"\f7d9"}.fa-map-pin::before{content:"\f276"}.fa-map-marker-alt::before{content:"\f3c5"}.fa-envelope::before{content:"\f0e0"}.fa-directions::before{content:"\f5eb"}.fa-lock::before{content:"\f023"}.fa-chevron-up::before{content:"\f077"}.fa-chevron-down::before{content:"\f078"}.fa-chevron-left::before{content:"\f053"}.fa-chevron-right::before{content:"\f054"}.fa-google::before{content:"\f1a0"}.fa-facebook-f::before{content:"\f39e"}.fa-instagram::before{content:"\f16d"}@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600 800;font-display:optional;src:url('/webfonts/cormorant-garamond.woff2?v=2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url('/webfonts/inter.woff2?v=2') format('woff2')}.promise-card h2{color:var(--text-primary)}.promise-card p{color:var(--text-secondary)}.urgent-banner{min-height:2.1875rem}

/* ── PAGE TRANSITION ─────────────────────────────────────────────────────── */
/* Veil fades OUT (not body in) — body opacity stays 1 at all times, so no
   stacking context is ever created and fixed/sticky elements stay put. */
@keyframes veilOut{to{opacity:0}}
body::before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#06153b;z-index:99999;pointer-events:none;will-change:opacity;animation:veilOut .35s ease-out forwards}
@media(prefers-reduced-motion:reduce){body::before{animation:none;opacity:0}}

/* ── MICRO-ANIMATIONS ─────────────────────────────────────────────────────── */

/* Battery → charging pulse */
@keyframes icon-battery-pulse{0%,100%{transform:scale(1.05);opacity:1}50%{transform:scale(1.2);opacity:.75}}
.service-card:hover .fa-battery-three-quarters,.service-card:active .fa-battery-three-quarters{animation:icon-battery-pulse .8s ease-in-out infinite}

/* Clock → pendulum swing */
@keyframes icon-clock-tick{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}
.service-card:hover .fa-clock,.service-card:active .fa-clock{animation:icon-clock-tick .5s ease-in-out infinite;transform-origin:top center}

/* Single cog → continuous spin */
@keyframes icon-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.equipment-card:hover .fa-cog,.equipment-card:active .fa-cog{animation:icon-spin 1.2s linear infinite}

/* Dual counter-rotating gears: big gear CW, small gear CCW at the correct gear ratio */
@keyframes icon-spin-ccw{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
.dual-gear{display:inline-flex;align-items:center;line-height:1}
.dual-gear i:first-child{font-size:1em}
.dual-gear i:last-child{font-size:.65em;margin-left:-.2em;color:rgba(180,148,92,.45)}
/* Big gear: CW 2s; small gear: CCW 1.3s — ratio matches 1/0.65 ≈ 1.54× faster */
.service-card:hover .dual-gear i:first-child,.promise-card:hover .dual-gear i:first-child,.service-card:active .dual-gear i:first-child,.promise-card:active .dual-gear i:first-child{animation:icon-spin 2s linear infinite;color:var(--accent-gold)}
.service-card:hover .dual-gear i:last-child,.promise-card:hover .dual-gear i:last-child,.service-card:active .dual-gear i:last-child,.promise-card:active .dual-gear i:last-child{animation:icon-spin-ccw 1.3s linear infinite;color:var(--accent-gold)}


/* FAQ topic icons & row polish */
.faq-q-label{display:flex;align-items:center;flex:1;min-width:0}
/* Icon: circular badge with explicit right margin — guaranteed spacing regardless of browser text-node gap handling */
.faq-icon{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(180,148,92,0.12);color:var(--accent-gold);font-size:.88rem;flex-shrink:0;margin-right:1rem;transition:background .3s ease,transform .3s ease}
/* Row: padding bump for breathing room, rounded for hover bg, override inline 0.8rem */
.faq-item{padding:1.05rem .5rem;border-radius:.5rem;margin:0 -.5rem;transition:background .2s ease}
/* Remove redundant bottom border on last item (review card separator takes over) */
.faq-item:last-child{border-bottom:none}
/* Hover row: warm gold wash + icon intensifies + question text tints */
.faq-item:hover{background:rgba(180,148,92,0.05)}
.faq-item:hover .faq-icon{background:rgba(180,148,92,0.22);transform:scale(1.1)}
.faq-item:hover .faq-question{color:var(--accent-gold-accessible)}
.faq-question>i{transition:transform var(--transition-base);color:var(--accent-gold);flex-shrink:0;margin-left:1rem}
.faq-question.open>i{transform:rotate(180deg)}

/* Hourglass → flip over */
@keyframes icon-hourglass-flip{0%,25%{transform:rotate(0deg) scale(1.05)}75%,100%{transform:rotate(180deg) scale(1.05)}}
.service-card:hover .fa-hourglass-half,.service-card:active .fa-hourglass-half{animation:icon-hourglass-flip 1.8s ease-in-out infinite}

/* Key → jiggle like turning in a lock */
@keyframes icon-key-jiggle{0%,100%{transform:rotate(-20deg) scale(1.1)}25%{transform:rotate(-32deg) scale(1.1)}75%{transform:rotate(-8deg) scale(1.1)}}
.service-card:hover .fa-key,.service-card:active .fa-key{animation:icon-key-jiggle .6s ease-in-out infinite}

/* Shield → protective glow pulse */
@keyframes icon-shield-pulse{0%,100%{transform:scale(1.05)}50%{transform:scale(1.2);filter:drop-shadow(0 0 7px var(--accent-gold))}}
.service-card:hover .fa-shield-alt,.service-card:active .fa-shield-alt{animation:icon-shield-pulse 1s ease-in-out infinite}

/* Gem → sparkle rotate */
@keyframes icon-gem-sparkle{0%,100%{transform:scale(1.05) rotate(0deg)}33%{transform:scale(1.18) rotate(-8deg)}66%{transform:scale(1.1) rotate(8deg)}}
.service-card:hover .fa-gem,.service-card:active .fa-gem{animation:icon-gem-sparkle 1.2s ease-in-out infinite}

/* Microscope → focus bob */
@keyframes icon-scope-bob{0%,100%{transform:translateY(0) scale(1.1)}50%{transform:translateY(-5px) scale(1.18)}}
.service-card:hover .fa-microscope,.service-card:active .fa-microscope{animation:icon-scope-bob .9s ease-in-out infinite}

/* Hand-holding-heart → double heartbeat */
@keyframes icon-heartbeat{0%,100%{transform:scale(1.05)}14%{transform:scale(1.22)}28%{transform:scale(1.08)}42%{transform:scale(1.2)}65%{transform:scale(1.05)}}
.service-card:hover .fa-hand-holding-heart,.service-card:active .fa-hand-holding-heart{animation:icon-heartbeat 1s ease-in-out infinite}

/* Tachometer → needle twitch */
@keyframes icon-tachometer{0%,100%{transform:scale(1.05) rotate(0deg)}50%{transform:scale(1.1) rotate(20deg)}}
.equipment-card:hover .fa-tachometer-alt,.equipment-card:active .fa-tachometer-alt{animation:icon-tachometer .7s ease-in-out infinite}

/* Search → zoom in */
@keyframes icon-search-zoom{0%,100%{transform:scale(1.05)}50%{transform:scale(1.25)}}
.equipment-card:hover .fa-search,.equipment-card:active .fa-search{animation:icon-search-zoom .8s ease-in-out infinite}

/* Bolt → electric zap */
@keyframes icon-bolt-zap{0%,100%{transform:scale(1.05) rotate(0deg);opacity:1}25%{transform:scale(1.25) rotate(-6deg);opacity:.8}75%{transform:scale(1.15) rotate(6deg);opacity:.9}}
.promise-card:hover .fa-bolt,.promise-card:active .fa-bolt{animation:icon-bolt-zap .4s ease-in-out infinite}

/* Euro-sign → coin bounce */
@keyframes icon-coin-bounce{0%,100%{transform:translateY(0) scale(1.05)}50%{transform:translateY(-6px) scale(1.12)}}
.promise-card:hover .fa-euro-sign,.promise-card:active .fa-euro-sign{animation:icon-coin-bounce .6s ease-in-out infinite}

/* Gem → sparkle pop (one-shot) */
@keyframes icon-check-pop{0%{transform:scale(1.05)}40%{transform:scale(1.3) rotate(10deg)}70%{transform:scale(1.1) rotate(-4deg)}100%{transform:scale(1.15) rotate(0deg)}}
.promise-card:hover .fa-gem,.promise-card:active .fa-gem{animation:icon-check-pop .5s ease-out forwards}

/* Smile → happy bounce */
@keyframes icon-smile-bounce{0%,100%{transform:scale(1.05) rotate(0deg)}25%{transform:scale(1.22) rotate(-6deg)}75%{transform:scale(1.15) rotate(6deg)}}
.trust-badge:hover .fa-smile,.trust-badge:active .fa-smile{animation:icon-smile-bounce .8s ease-in-out infinite}

/* Tools → wiggle */
@keyframes icon-tools-wiggle{0%,100%{transform:rotate(0deg) scale(1.05)}25%{transform:rotate(-12deg) scale(1.1)}75%{transform:rotate(12deg) scale(1.1)}}
.equipment-card:hover .fa-tools,.service-card:hover .fa-tools,.equipment-card:active .fa-tools,.service-card:active .fa-tools{animation:icon-tools-wiggle .6s ease-in-out infinite}

/* Respect prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .service-card:hover i,.equipment-card:hover i,.promise-card:hover i,.trust-badge:hover i,
  .service-card:active i,.equipment-card:active i,.promise-card:active i,.trust-badge:active i{animation:none!important;transform:scale(1.1)!important}
}

/* ── PERFORMANCE ─────────────────────────────────────────────────────────── */

/* Skip layout/paint for below-fold sections until they near the viewport.
   contain-intrinsic-size gives the browser a placeholder height so the
   scrollbar stays stable before the section is rendered. */
/* content-visibility removed — it conflicts with the IntersectionObserver scroll-reveal animation */

/* The gradient-border mask technique is only visible on hover-capable devices.
   On touch screens it never fires, so skip the expensive compositing entirely. */
@media(hover:none){
  .service-card::before,.equipment-card::before,.review-cta-card::before{display:none}
}

/* ── FONT AWESOME ────────────────────────────────────────────────────────── */
@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:900;font-display:block;src:url('/webfonts/fa-solid-900.woff2?v=2') format('woff2')}
@font-face{font-family:'Font Awesome 6 Brands';font-style:normal;font-weight:400;font-display:block;src:url('/webfonts/fa-brands-400.woff2?v=2') format('woff2')}
.fas,.fa-solid{font-family:'Font Awesome 6 Free';font-weight:900;font-style:normal;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;display:inline-block}
.fab,.fa-brands{font-family:'Font Awesome 6 Brands';font-weight:400;font-style:normal;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;display:inline-block}
.fa-tint::before{content:"\f043"}
.fa-exclamation-circle::before{content:"\f06a"}
.fa-wrench::before{content:"\f0ad"}

/* ── RESETS ──────────────────────────────────────────────────────────────── */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid}
html{line-height:1.5;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:inherit}
img,svg{display:block;vertical-align:middle;max-width:100%;height:auto}
p,address{margin:0}ul,ol{list-style:none;margin:0;padding:0}
button,input{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}
button{text-transform:none;-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}

/* ── UTILITIES ───────────────────────────────────────────────────────────── */
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.relative{position:relative}
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:flex-start}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}
.pt-2{padding-top:.5rem}.pb-6{padding-bottom:1.5rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}
.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}
.space-x-8>*+*{margin-left:2rem}
.max-w-7xl{max-width:80rem}.max-w-4xl{max-width:56rem}.max-w-3xl{max-width:48rem}
.w-6{width:1.5rem}.w-14{width:3.5rem}.h-14{height:3.5rem}.w-full{width:100%}
.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-200{border-color:#e5e7eb}
.rounded-full{border-radius:9999px}.rounded-2xl{border-radius:1rem}.rounded-xl{border-radius:.75rem}
.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-center{text-align:center}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.italic{font-style:italic}.uppercase{text-transform:uppercase}.tracking-widest{letter-spacing:.1em}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.text-white{color:#fff}.text-gray-200{color:#e5e7eb}.text-gray-300{color:#d1d5db}
.text-gray-400{color:#6b7280}.footer .text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}
.gold{color:var(--accent-gold-accessible)}.gold-display{color:#7a6240}
.transition{transition-property:background-color,opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.hover\:text-\[\#b4945c\]:hover{color:#b4945c}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.hover\:underline:hover{text-decoration-line:underline}
@media (min-width:768px){.md\:flex{display:flex!important}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── SKIP LINK ───────────────────────────────────────────────────────────── */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;top:1rem;left:1rem;width:auto;height:auto;padding:.5rem 1rem;background:var(--btn-start);color:#fff;border-radius:.5rem;z-index:9999;font-weight:600;text-decoration:none;outline:3px solid var(--accent-gold)}

/* ── ARTICLE PAGE ────────────────────────────────────────────────────────── */
.article-hero{background:linear-gradient(160deg,var(--btn-start) 0%,#0d2557 100%);color:#fff;padding:4rem 1.5rem 3rem}
.article-hero-inner{max-width:50rem;margin:0 auto}
.article-category{display:inline-flex;align-items:center;gap:.5rem;background:rgba(180,148,92,.2);color:var(--accent-gold);border:1px solid rgba(180,148,92,.35);border-radius:9999px;padding:.25rem .9rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.25rem}
.article-title{font-size:clamp(1.9rem,5vw,3rem);line-height:1.15;margin-bottom:1rem;color:#fff}
.article-subtitle{font-size:1.05rem;color:rgba(255,255,255,.72);line-height:1.7;margin-bottom:1.75rem;font-family:'Inter',sans-serif;font-weight:400;letter-spacing:0}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;font-size:.82rem;color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.12);padding-top:1.25rem}
.article-meta span{display:flex;align-items:center;gap:.4rem}
.article-meta i{color:var(--accent-gold)}
.breadcrumb{display:none!important}
.breadcrumb-inner{max-width:50rem;margin:0 auto;display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);flex-wrap:wrap}
.breadcrumb a{color:var(--accent-gold-accessible);text-decoration:underline;text-underline-offset:2px}
.breadcrumb a:hover{color:var(--accent-gold)}
.breadcrumb i{font-size:.65rem;color:#bbb}
.article-body{background:var(--bg-warm)}
.article-container{max-width:50rem;margin:0 auto;padding:3rem 1.5rem 5rem}
.article-container h2{font-size:1.6rem;margin:2.5rem 0 .85rem;color:var(--btn-start);padding-bottom:.4rem;border-bottom:1px solid var(--border-light)}
.article-container h3{font-size:1.1rem;font-weight:700;margin:1.5rem 0 .4rem;color:var(--text-primary);font-family:'Inter',sans-serif;letter-spacing:0}
.article-container p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.85;font-size:1.02rem}
.article-container ul,.article-container ol{margin:.3rem 0 1.25rem 1.5rem;padding:0;color:var(--text-secondary);line-height:1.85;font-size:1.02rem}
.article-container ul{list-style:disc}.article-container ol{list-style:decimal}
.article-container li{margin-bottom:.5rem}
.article-container a{color:var(--accent-gold-accessible);text-decoration:underline;text-underline-offset:2px}
.article-container a:hover{color:var(--accent-gold)}
.article-container strong{color:var(--text-primary)}
.article-container table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.93rem}
.article-container th{background:var(--btn-start);color:#fff;padding:.6rem 1rem;text-align:left;font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.article-container td{padding:.65rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:top}
.article-container tr:last-child td{border-bottom:none}
.article-container tr:nth-child(even) td{background:var(--bg-soft)}
@media (max-width:600px){.article-container table{font-size:.82rem}.article-container th,.article-container td{padding:.5rem .65rem}}
.info-box{background:rgba(6,21,59,.04);border-left:3px solid var(--accent-gold);padding:1rem 1.25rem;border-radius:0 .5rem .5rem 0;margin:1.5rem 0}
.info-box p{margin-bottom:.35rem;font-size:.97rem}
.info-box p:last-child{margin-bottom:0}
.tip-box{background:#f0faf4;border-left:3px solid #2a9d5c;padding:1rem 1.25rem;border-radius:0 .5rem .5rem 0;margin:1.5rem 0}
.tip-box p{margin-bottom:.35rem;font-size:.97rem;color:#1a5c38}
.tip-box p:last-child{margin-bottom:0}
.warning-box{background:#fff8ec;border-left:3px solid #e07b00;padding:1rem 1.25rem;border-radius:0 .5rem .5rem 0;margin:1.5rem 0}
.warning-box p{margin-bottom:.35rem;font-size:.97rem;color:#7a3d00}
.warning-box p:last-child{margin-bottom:0}
.signs-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.25rem 0 1.5rem}
@media (min-width:640px){.signs-grid{grid-template-columns:repeat(2,1fr)}}
.sign-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:1rem;padding:1.1rem 1.25rem;display:flex;gap:.9rem;align-items:flex-start;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.sign-icon{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(180,148,92,.12);display:flex;align-items:center;justify-content:center;color:var(--accent-gold);font-size:1rem}
.sign-card h3{font-size:.9rem;font-weight:700;margin:0 0 .2rem;color:var(--text-primary);font-family:'Inter',sans-serif;letter-spacing:0}
.sign-card p{font-size:.86rem;color:var(--text-secondary);line-height:1.6;margin:0}
.steps-list{counter-reset:steps;list-style:none;margin:1rem 0 1.5rem;padding:0}
.steps-list li{counter-increment:steps;display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--border-light)}
.steps-list li:last-child{border-bottom:none}
.step-num{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--btn-start);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;margin-top:.1rem}
.step-text{color:var(--text-secondary);font-size:1rem;line-height:1.7}
.step-text strong{color:var(--text-primary)}
.related-post{background:var(--bg-soft);border:1px solid var(--border-light);border-radius:1rem;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;transition:border-color var(--transition-base),transform var(--transition-base);margin:2rem 0}
.related-post:hover{border-color:var(--accent-gold);transform:translateX(4px)}
.related-post-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-gold-accessible);margin-bottom:.3rem}
.related-post-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:800;color:var(--btn-start);line-height:1.3}
.related-post i{color:var(--accent-gold);font-size:1.2rem;flex-shrink:0}
.cta-card{background:linear-gradient(135deg,var(--btn-start) 0%,#0d2557 100%);color:#fff;border-radius:1.5rem;padding:2.5rem;text-align:center;margin:3rem 0}
.cta-card h2{color:#fff;border:none;padding:0;margin:0 0 .75rem;font-size:1.9rem}
.cta-card p{color:rgba(255,255,255,.8);margin-bottom:1.75rem;font-size:1.02rem;line-height:1.7}
.cta-card .cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.cta-card .btn-gold{background:linear-gradient(145deg,var(--accent-gold),#8a6a34);color:#fff;padding:.85rem 1.75rem;border-radius:9999px;font-weight:600;font-size:.95rem;text-decoration:none;display:inline-block;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(180,148,92,.4)}
.cta-card .btn-gold:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 10px 20px rgba(180,148,92,.5)}
.cta-card .btn-outline{border:2px solid rgba(255,255,255,.5);color:#fff;padding:.85rem 1.75rem;border-radius:9999px;font-weight:600;font-size:.95rem;text-decoration:none;display:inline-block;transition:background .2s,border-color .2s}
.cta-card .btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
@media (max-width:480px){.cta-card .cta-actions a{width:100%;text-align:center}}
/* â”€â”€ HERO ENHANCEMENTS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.hero-kicker-line{width:3rem;height:2px;background:var(--accent-gold);border-radius:1px;margin:.625rem auto 0}
.hero-trust-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.625rem;margin-top:2rem}
.hero-trust-pill{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.375rem .875rem;border-radius:9999px;font-size:.8rem;color:rgba(255,255,255,.9);line-height:1.4;white-space:nowrap}
.hero-trust-pill .pill-stars{color:var(--accent-gold);letter-spacing:.5px}
.hero-trust-pill strong{font-weight:700;color:#fff}
@media(max-width:768px){.hero-trust-strip{gap:.5rem}.hero-trust-pill{font-size:.75rem;padding:.3rem .7rem}}

/* ── PROMISE CARDS — mobile horizontal layout ───────────────────────────── */
@media(max-width:639px){
  .promise-grid{gap:.75rem}
  .promise-card{display:flex;flex-direction:row;align-items:center;gap:.875rem;text-align:left;padding:.875rem 1rem}
  .promise-card .promise-icon{width:2.5rem;height:2.5rem;font-size:1rem;flex-shrink:0;margin-bottom:0}
  .promise-card .dual-gear{font-size:.85rem}
  .promise-card h2{font-size:.925rem;margin-bottom:.15rem;line-height:1.25}
  .promise-card p{font-size:.775rem;line-height:1.35;margin:0}
}

/* ── HAMBURGER BUTTON ───────────────────────────────────────────────────── */
.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.45);border-radius:8px;cursor:pointer;padding:8px;flex-shrink:0;transition:border-color .2s,background .2s}
.hamburger-btn:hover{border-color:var(--accent-gold);background:rgba(255,255,255,.14)}
.hamburger-btn .bar{display:block;width:20px;height:2px;background:#fff;border-radius:1px;transition:transform .25s ease,opacity .25s ease}
.hamburger-btn.open .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger-btn.open .bar:nth-child(2){opacity:0}
.hamburger-btn.open .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}


/* ── STICKY HEADER WRAP ─────────────────────────────────────────────────── */
.site-header-wrap{position:sticky;top:0;z-index:50}

/* ── MOBILE NAV DRAWER ──────────────────────────────────────────────────── */
.nav-drawer{display:none;background:var(--header-bg);border-top:2px solid rgba(180,148,92,.18);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.nav-drawer.open{display:block}
/* CSS-only toggle via hidden checkbox */
#nav-toggle:checked~.nav-drawer{display:block!important}
#nav-toggle:checked~header .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
#nav-toggle:checked~header .bar:nth-child(2){opacity:0}
#nav-toggle:checked~header .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-drawer-inner{padding:.5rem 1.5rem 1rem}
.nav-drawer-link{display:block;color:rgba(255,255,255,.82);text-decoration:none;font-weight:500;font-size:.95rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.07);transition:color .2s,padding-left .2s}
.nav-drawer-link:last-child{border-bottom:none}
.nav-drawer-link:hover{color:var(--accent-gold);padding-left:.4rem}
.nav-drawer-phone{color:var(--accent-gold)!important;font-weight:600;letter-spacing:.02em}

/* ── PAGE HERO (About / Services / Blog index) ──────────────────────────── */
.page-hero{background:linear-gradient(145deg,#020b1e 0%,#06153b 30%,#0c2060 65%,#091d4f 100%);border-bottom:2px solid rgba(180,148,92,0.2);padding:4rem 0 3rem;text-align:center;color:#fff}
.page-hero .kicker{font-size:.75rem;font-weight:700;color:var(--accent-gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem}
.page-hero h1{font-size:clamp(2rem,5vw,2.8rem);margin:.5rem 0 .75rem;line-height:1.2}
.page-hero p{color:rgba(255,255,255,.72);font-size:1rem;max-width:520px;margin:0 auto}
@media(max-width:640px){.page-hero{padding:3rem 0 2.5rem}}

/* ── ICON CIRCLE FIX ─────────────────────────────────────────────────────── */
/* .fas later in this file sets display:inline-block which overrides .faq-icon
   and .promise-icon display:inline-flex. Using element+class specificity wins. */
i.promise-icon,i.faq-icon{display:inline-flex;align-items:center;justify-content:center}

/* ── SUBPAGE ICON ANIMATIONS ─────────────────────────────────────────────── */
@keyframes svc-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes svc-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes svc-bounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px)}65%{transform:translateY(-2px)}}
@keyframes svc-wiggle{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
.svc-card:nth-child(1):hover .svc-icon i,.svc-card:nth-child(1):active .svc-icon i{animation:svc-pulse .55s ease}
.svc-card:nth-child(2):hover .svc-icon i,.svc-card:nth-child(2):active .svc-icon i{animation:svc-spin .6s linear}
.svc-card:nth-child(3):hover .svc-icon i,.svc-card:nth-child(3):active .svc-icon i{animation:svc-bounce .55s ease}
.svc-card:nth-child(4):hover .svc-icon i,.svc-card:nth-child(4):active .svc-icon i{animation:svc-wiggle .5s ease}
.about-card:hover .about-card-icon i,.about-card:active .about-card-icon i{animation:svc-pulse .55s ease}
/* ── HEADER CROWDING FIX ─────────────────────────────────────────────────── */
@media(max-width:1200px){.solid-header .review-badge{display:none}}
@media(max-width:900px){.solid-header a[href^="tel"]{display:none!important}}

/* ── MOBILE TOUCH ACTIVATION — card lift & icon colour on tap ────────────── */
/* On iOS/Android :active fires on touch, enabling the same feedback as :hover */
.service-card:active,.equipment-card:active{border-color:transparent;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.service-card:active i,.equipment-card:active i{transform:scale(1.1);color:var(--accent-gold)}
.promise-card:active{border-color:var(--accent-gold);transform:translateY(-5px)!important;box-shadow:0 10px 20px -5px rgba(180,148,92,.3)}
.promise-card:active i{color:var(--accent-gold);transform:scale(1.1)}
.trust-badge:active{border-color:var(--accent-gold);transform:translateY(-5px);box-shadow:0 10px 20px -5px rgba(180,148,92,.3)}
.trust-badge:active i{color:var(--accent-gold);transform:scale(1.1)}
.svc-card:active{box-shadow:0 8px 28px rgba(0,0,0,.1);transform:translateY(-3px)}
.about-card:active{box-shadow:0 6px 24px rgba(0,0,0,.09)}
/* iOS requires at least one touchstart listener for :active to fire on divs — added via shared.js body listener */

/* ── MOBILE LAYOUT IMPROVEMENTS ──────────────────────────────────────────── */
@media(max-width:768px){
  /* Reduce excessive section padding on mobile */
  .py-24{padding-top:2.5rem!important;padding-bottom:2.5rem!important}
  .py-16{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
  .pt-16{padding-top:1.5rem!important}
  .pb-16{padding-bottom:1.5rem!important}
  /* Reduce section title bottom margin */
  .mb-16{margin-bottom:2rem!important}
  /* Tighten large gaps */
  .gap-12{gap:1.5rem!important}
  /* Make gallery 2-column instead of 1 on mobile */
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-thumb{height:160px}
  /* Workshop section — stack image on top with less margin */
  .flex.flex-col.md\:flex-row{gap:1.5rem!important}
  /* Timeline: tighter gap */
  .space-y-8>*+*{margin-top:1.25rem!important}
}

/* ── FORM FOCUS STYLES ───────────────────────────────────────────────────── */
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent-gold);outline-offset:2px}

/* ── VISITED LINK COLOUR (blog article body links) ───────────────────────── */
.article-container a:visited{color:var(--accent-teal)}

/* ── PRINT STYLES ────────────────────────────────────────────────────────── */
@media print{
  .whatsapp-float,.back-to-top,.call-bar,.solid-header,.site-header-wrap,
  #cookie-banner,#cookie-modal-overlay,.carousel-btn,.carousel-dots,
  [data-action="open-directions"]{display:none!important}
  body{background:#fff!important;padding-bottom:0!important;background-image:none!important;color:#000}
  .footer{background:#fff!important;color:#333!important;border-top:1px solid #ccc}
  .hero-bg{background:#06153b!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  a[href]::after{content:" (" attr(href) ")";font-size:.8em;color:#555;word-break:break-all}
  a[href^="tel"]::after,a[href^="https://wa.me"]::after,a[href^="#"]::after,
  nav a::after,.btn-primary::after,.btn-secondary::after,[data-action]::after{content:""}
}

/* ── ABOUT PAGE CARDS ─────────────────────────────────────────────────────── */
.about-cards{display:flex;flex-direction:column;gap:1.5rem;max-width:700px;margin:0 auto}
.about-card{background:#fff;border-radius:1.25rem;padding:2rem;border:1px solid #eaeaea;display:flex;gap:1.5rem;align-items:flex-start;transition:box-shadow .2s}
.about-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.09)}
.about-card-icon{width:3.25rem;height:3.25rem;border-radius:1rem;background:linear-gradient(135deg,rgba(180,148,92,.18),rgba(180,148,92,.06));display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--accent-gold);flex-shrink:0}
.about-card-body h2{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}
.about-card-body p{font-size:.9rem;color:var(--text-secondary);line-height:1.65;margin:0 0 1rem}
.about-card-body p:last-child{margin-bottom:0}
.stat-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;justify-content:center}
.stat-box{background:#fff;border:1px solid #eaeaea;border-radius:1rem;padding:1.25rem 1.75rem;text-align:center;flex:1;min-width:130px}
.stat-box strong{display:block;font-size:1.75rem;font-weight:800;color:var(--accent-gold);line-height:1}
.stat-box span{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;display:block}

/* ── BUTTON LOADING STATE (directions geolocation wait) ──────────────────── */
.btn-primary[aria-busy="true"],.btn-secondary[aria-busy="true"]{opacity:.7;cursor:wait;pointer-events:none}
/* ── INLINE SVG ICONS — ensure correct sizing inside icon containers ─────── */
.sign-icon>svg,.article-category>svg{display:inline-block;width:1em;height:1em;fill:currentColor;flex-shrink:0;vertical-align:-.125em}

/* ══════════════════════════════════════════════════════════════════════════
   ABOUT PAGE REDESIGN — v2
   All additions are scoped here so they never conflict with other pages.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Missing utility classes (used by about.html but absent from earlier CSS) */
.py-24{padding-top:6rem;padding-bottom:6rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.mb-16{margin-bottom:4rem}
.gap-12{gap:3rem}
.space-y-8>*+*{margin-top:2rem}
.text-5xl{font-size:3rem;line-height:1}
@media(min-width:768px){
  .md\:flex-row{flex-direction:row}
  .md\:w-1\/3{width:33.333333%;flex-shrink:0}
  .md\:w-2\/3{width:66.666667%}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:text-5xl{font-size:3rem;line-height:1}
}

/* ── About section — cream background, tighter bottom padding */
.about-section{background:#f5f0e8;padding:4rem 1.5rem 3rem}

/* ── About cards → 3-column grid on desktop */
@media(min-width:768px){
  .about-cards{display:grid;grid-template-columns:repeat(3,1fr);max-width:none}
}

/* ── Stats — separate white section */
.about-stats-section{background:#fff;padding:2.5rem 1.5rem 3.5rem}
/* Stat box enhancements */
.stat-box{border-top:3px solid #8B6914!important;box-shadow:0 2px 12px rgba(0,0,0,.06)!important}
.stat-box strong{font-size:clamp(2.8rem,4.5vw,3.5rem)!important;color:#0d1b3e!important}
.stat-box span{color:#8B6914!important}
/* Stats 2×2 grid on small screens */
@media(max-width:640px){
  .stat-row{display:grid!important;grid-template-columns:1fr 1fr}
  .stat-box{flex:unset}
}

/* ── Body text readability bump */
.text-gray-600{color:#3d3830!important}

/* ── Workshop subheading gold rule */
.workshop-subheading-rule{display:block;width:40px;height:3px;background:#8B6914;margin-bottom:1rem;border:none}

/* ── Process steps vertical connector */
.process-steps .timeline-item:not(:last-child) .timeline-icon::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);width:2px;height:2rem;background:rgba(139,105,20,0.3)}

/* ── Gallery dark navy treatment */
.section-gallery-navy{background:#0d1b3e!important}
.section-gallery-navy h2{color:#fff!important}
.section-gallery-navy .gold-display{color:#b4945c!important}
.section-gallery-navy p{color:rgba(255,255,255,.72)!important}
.section-gallery-navy .gallery-thumb{border-radius:12px;border:1px solid rgba(255,255,255,0.1)}

/* ── Key Cutting intro paragraph */
.section-intro-para{color:#3d3830;font-size:1.05rem;line-height:1.75;max-width:640px;margin:0 auto 2.5rem;text-align:center}

/* ── TIMELINE STRIP ── */
.about-timeline-strip{background:#fff;padding:2.25rem 1.5rem;border-top:1px solid #e8e0d5;border-bottom:1px solid #e8e0d5}
.timeline-strip-inner{max-width:860px;margin:0 auto}
.timeline-strip-track{display:flex;align-items:flex-start;justify-content:space-between;position:relative}
.timeline-strip-track::before{content:'';position:absolute;top:10px;left:11px;right:11px;height:2px;background:#8B6914;opacity:.35;z-index:0}
.ts-item{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1;flex:1;padding:0 .5rem}
.ts-dot{width:22px;height:22px;border-radius:50%;background:#8B6914;margin-bottom:.6rem;box-shadow:0 0 0 5px rgba(139,105,20,.14);flex-shrink:0}
.ts-year{font-size:.95rem;font-weight:800;color:#0d1b3e;font-family:'Cormorant Garamond',serif;line-height:1;margin-bottom:.3rem}
.ts-label{font-size:.7rem;color:#3d3830;line-height:1.45;max-width:95px}
@media(max-width:600px){
  .timeline-strip-track{flex-direction:column;gap:1.25rem}
  .timeline-strip-track::before{display:none}
  .ts-item{flex-direction:row;text-align:left;gap:.875rem;padding:0}
  .ts-dot{flex-shrink:0;margin-bottom:0}
  .ts-label{max-width:none}
}

/* ── MEET THE FAMILY ── */
.about-family-section{background:#f5f0e8;padding:5rem 1.5rem}
.family-split{display:flex;flex-direction:column;gap:2.5rem;align-items:center;max-width:64rem;margin:0 auto}
.family-photo{width:100%}
.family-photo img{border-radius:1.5rem;box-shadow:0 20px 40px rgba(0,0,0,.12);width:100%;height:360px;object-fit:cover}
.family-text h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 1.25rem;line-height:1.2}
.family-text p{color:#3d3830;font-size:1.05rem;line-height:1.75;margin:0 0 1rem}
.family-text p:last-child{margin:0}
@media(min-width:768px){
  .family-split{flex-direction:row;gap:3.5rem}
  .family-photo{flex:0 0 42%;max-width:420px}
  .family-photo img{height:420px}
  .family-text{flex:1}
}
@media(max-width:768px){
  .about-family-section{padding:3rem 1.5rem}
  .family-photo img{height:260px}
}

/* ── TRUST BANNER ── */
.trust-banner-section{background:#0d1b3e;padding:4rem 1.5rem;text-align:center}
.trust-banner-section p{color:#fff;font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:600;max-width:680px;margin:0 auto 1.75rem;line-height:1.5;font-family:'Cormorant Garamond',serif}
.trust-banner-cta{display:inline-flex;align-items:center;gap:.5rem;border:2px solid #8B6914;color:#fff;padding:.8rem 2rem;border-radius:9999px;font-weight:600;font-size:.95rem;text-decoration:none;transition:background .25s,transform .2s}
.trust-banner-cta:hover{background:rgba(139,105,20,.25);transform:scale(1.04)}
.trust-banner-cta .fa-whatsapp{font-size:1.2rem;color:#25D366}
@media(max-width:768px){.trust-banner-section{padding:3rem 1.5rem}}

/* ── Mobile overrides for new about sections ── */
@media(max-width:768px){
  .about-family-section{padding:2.5rem 1.5rem!important}
  .about-timeline-strip{padding:1.75rem 1.5rem}
}