/* PERA: scoped content, responsive navigation and consent controls. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@300;400;500&display=swap');
.seo-content,.seo-hub{box-sizing:border-box;width:min(1100px,calc(100% - 40px));margin:45px auto;color:#eee;line-height:1.75;text-align:left}
.seo-content h2,.seo-hub h2{color:#f0c040;font-size:clamp(1.45rem,2.7vw,2rem);line-height:1.25;margin:0 0 20px}
.seo-content a,.seo-hub a,.seo-breadcrumb a{color:#f0c040;text-underline-offset:4px}
.seo-content section{margin:0 0 42px;max-width:850px}.seo-content p{font-size:1.04rem;color:#e0e0dc;line-height:1.75;max-width:80ch}
.seo-content li{margin-bottom:10px}.seo-content ul,.seo-content ol{padding-left:24px}
.seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.seo-card{display:block;border:1px solid #645029;border-radius:14px;padding:24px;background:#191919;text-decoration:none;transition:border-color .2s,background .2s}.seo-card:hover{background:#222;border-color:#f0c040}.seo-card h3{font-size:1.1rem;margin:0 0 10px;color:#f0c040}.seo-card p{color:#d4d4ce;margin:0;line-height:1.6;font-size:1rem}
.seo-breadcrumb{box-sizing:border-box;max-width:1100px;margin:25px auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:10px;color:#bbb;font-size:.88rem}
.seo-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:44px;width:min(1100px,calc(100% - 40px));margin:35px auto 65px}.seo-intro h1{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.1;color:#f0c040;margin:12px 0 24px;letter-spacing:-.025em}.seo-intro p{font-size:1.1rem;line-height:1.7;color:#deded8}.seo-eyebrow{font-size:.8rem!important;font-weight:700;letter-spacing:.14em;color:#bfa469!important;text-transform:uppercase}
.seo-intro figure{margin:0}.seo-intro figure img{width:100%;height:440px;object-fit:cover;border-radius:18px;border:1px solid #645029;box-sizing:border-box}.seo-intro figcaption{font-size:.8rem;line-height:1.5;color:#aaa;margin-top:10px}
.seo-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.seo-button{display:inline-flex;align-items:center;justify-content:center;background:#f0c040;color:#111!important;padding:13px 21px;border-radius:7px;font-weight:bold;text-decoration:none;line-height:1.35;min-height:20px}.seo-button.outline{background:transparent;color:#f0c040!important;border:1px solid #f0c040}
.seo-faq{border-top:1px solid #51462d;padding:19px 0}.seo-faq h3{color:#f0c040;margin:0 0 10px;font-size:1.1rem}.seo-faq p{margin:0}.seo-contact{border:1px solid #645029;background:#191919;padding:28px;border-radius:14px;margin-top:40px}
.seo-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin:20px}.seo-footer-links a{color:#f0c040}.seo-contact-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin:16px}.seo-contact-links a{color:#f0c040}
.pera-consent{box-sizing:border-box;position:fixed;bottom:22px;left:22px;max-width:400px;width:calc(100% - 44px);padding:24px 26px 22px;border:1px solid rgba(213,179,107,.35);border-top:2px solid #d5b36b;border-radius:0;background:rgba(10,10,10,.97);backdrop-filter:blur(10px);color:#ece8df;z-index:10001;box-shadow:0 24px 60px rgba(0,0,0,.6);text-align:left;font:300 14px/1.6 'Inter',Arial,sans-serif;animation:peraConsentIn .5s cubic-bezier(.2,.7,.2,1)}@keyframes peraConsentIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.pera-consent[hidden]{display:none}.pera-consent p{margin:0 0 18px;color:#a39d90;font:inherit}.pera-consent .pera-consent-title{margin:0 0 8px;color:#fff;font:500 1.45rem/1.2 'Cormorant Garamond',Georgia,serif;display:flex;align-items:center;gap:12px}.pera-consent .pera-consent-title::before{content:"";width:26px;height:1px;background:#d5b36b}.pera-consent a{color:#d5b36b;text-underline-offset:3px}.pera-consent-actions{display:flex;gap:10px;flex-wrap:wrap}.pera-consent button{flex:1;width:auto;margin:0;padding:12px 18px;border:1px solid #d5b36b;border-radius:0;background:#d5b36b;color:#111;font:500 .72rem/1 'Inter',Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s}.pera-consent button:hover{background:#fff;border-color:#fff}.pera-consent button[data-decline]{background:transparent;color:#d5b36b}.pera-consent button[data-decline]:hover{background:#d5b36b;color:#111;border-color:#d5b36b}
.pera-cookie-settings{display:block;width:auto;margin:16px auto;padding:0;border:0;border-radius:0;background:none;color:#a39d90;font:inherit;font-size:.78rem;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(213,179,107,.4);cursor:pointer;transition:color .2s}.pera-cookie-settings:hover,.pera-cookie-settings:focus-visible{color:#d5b36b}footer .pv-legal{display:flex;gap:22px;align-items:center;flex-wrap:wrap}footer .pv-legal .pera-cookie-settings{display:inline;margin:0}
.seo-skip{position:absolute;top:-90px;left:15px;z-index:11000;background:#f0c040;color:#111;padding:12px}.seo-skip:focus{top:12px}.seo-page :focus-visible,.seo-hub a:focus-visible,.pera-consent button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.service-gallery:not(.sg-enhanced) .sg-slide:first-child{opacity:1}
@media(max-width:768px){.seo-grid{grid-template-columns:1fr}.seo-intro{grid-template-columns:1fr;gap:16px;margin-bottom:40px}.seo-intro figure img{height:300px;object-position:center}.seo-content,.seo-hub{width:calc(100% - 32px);margin:32px auto}.seo-contact{padding:22px}.seo-intro h1{font-size:2.25rem}.seo-actions .seo-button{flex:1}.seo-breadcrumb{margin:20px auto;font-size:.8rem}.pera-consent{bottom:10px;left:10px;width:calc(100% - 20px);padding:20px 20px 18px}body:has(.pera-consent:not([hidden])) .whatsapp-button{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.seo-page *,.sg-slide,.sg-slide img{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Reserve a small, stable social heading instead of the icon's 2000px source size. */
.social-section .social-icon{width:40px;height:40px;object-fit:contain;flex:0 0 40px}
.facebook-box iframe{max-width:100%}
/* Finnish and Swedish compound words must fit narrow screens. */
.seo-intro>div,.seo-intro>figure{min-width:0}
.seo-intro h1,.seo-content h2,.seo-content h3,.seo-breadcrumb{overflow-wrap:anywhere;hyphens:auto}

/* ===== PERA 2026 theme: subpages share the homepage look (scoped to pages without the .pv homepage block) ===== */
body:not(:has(.pv)){--pg:#d5b36b;--pg2:#e6c88a;--ptx:#ece8df;--pmu:#a39d90;--pln:rgba(213,179,107,.18);--pbg:#0c0c0c;color:var(--ptx);font-family:'Inter',Arial,sans-serif;font-weight:300}
body:not(:has(.pv)) :is(h1,h2,h3):not(nav *):not(footer *):not(.pera-consent *){font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;letter-spacing:-.005em;text-shadow:none!important}
body:not(:has(.pv)) h1:not(nav *){color:#fff!important;line-height:1.08!important}
body:not(:has(.pv)) h2:not(nav *):not(footer *){color:#fff!important;line-height:1.12}
body:not(:has(.pv)) h3:not(nav *):not(footer *){color:#fff!important}
body:not(:has(.pv)) main a:not([class]),body:not(:has(.pv)) .about-section a:not([class]),body:not(:has(.pv)) .seo-content a:not([class]){color:var(--pg)!important;text-decoration-color:rgba(213,179,107,.45);text-underline-offset:4px}

/* buttons */
body:not(:has(.pv)) :is(.hero-action,.seo-button,.cta-button,#contact-flyin a,.thermal-actions a){display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:15px 28px!important;border-radius:0!important;border:1px solid var(--pg)!important;font:500 .74rem/1.2 'Inter',Arial,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase!important;box-shadow:none!important;transition:background .3s,color .3s,border-color .3s!important;text-decoration:none!important}
body:not(:has(.pv)) :is(.hero-action.primary,.cta-button.primary,#contact-flyin a,.seo-button){background:var(--pg)!important;color:#111!important}
body:not(:has(.pv)) :is(.hero-action.primary,.cta-button.primary,#contact-flyin a,.seo-button):hover{background:#fff!important;border-color:#fff!important;color:#111!important}
body:not(:has(.pv)) :is(.hero-action.secondary,.cta-button.secondary){background:transparent!important;color:var(--pg)!important}
body:not(:has(.pv)) :is(.hero-action.secondary,.cta-button.secondary):hover{background:var(--pg)!important;color:#111!important}
body:not(:has(.pv)) #contact-flyin{position:static!important;transform:none!important;margin-top:26px!important;opacity:1!important}

/* classic service pages: hero */
body:not(:has(.pv)) .hero-section:not(:has(.hero-backgrounds)){min-height:0!important;padding:96px 24px 84px!important;background:radial-gradient(ellipse at 50% -10%,rgba(213,179,107,.16),transparent 62%),#0a0a0a!important;border-bottom:1px solid var(--pln)}
body:not(:has(.pv)) .hero-section:not(:has(.hero-backgrounds)) .logo{width:112px!important;height:auto!important;margin:0 auto 6px!important;animation:none!important;opacity:1!important}
body:not(:has(.pv)) .hero-section:not(:has(.hero-backgrounds)) h1{font-size:clamp(2.4rem,5.2vw,4.3rem)!important;max-width:19ch;margin:22px auto 18px!important}
body:not(:has(.pv)) .hero-section:not(:has(.hero-backgrounds))>p,body:not(:has(.pv)) .hero-section:not(:has(.hero-backgrounds)) .hero-copy p{color:var(--pmu)!important;font-size:1.08rem!important;line-height:1.7;max-width:60ch;margin-left:auto;margin-right:auto}

/* classic service pages: content */
body:not(:has(.pv)) .about-section{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;max-width:860px!important;padding:84px 24px 40px!important;margin:0 auto!important;text-align:left!important;color:var(--ptx)!important;opacity:1!important;transform:none!important;animation:none!important}
body:not(:has(.pv)) .about-section h2{font-size:clamp(1.9rem,3.4vw,2.6rem)!important;margin:64px 0 18px!important;text-align:left!important;display:block}
body:not(:has(.pv)) .about-section h2::before{content:"";display:block;width:34px;height:1px;background:var(--pg);margin-bottom:18px}
body:not(:has(.pv)) .about-section>h2:first-child,body:not(:has(.pv)) .about-section>*:first-child+h2{margin-top:0!important}
body:not(:has(.pv)) .about-section h3{font-size:1.5rem!important;margin:34px 0 10px!important;text-align:left!important}
body:not(:has(.pv)) .about-section p{color:#c4bdb0!important;font-size:1.04rem!important;line-height:1.85!important;text-align:left!important}
body:not(:has(.pv)) .about-section hr{display:none}
body:not(:has(.pv)) .about-section ul,body:not(:has(.pv)) .seo-content ul{list-style:none!important;padding:0!important;margin:18px 0 26px!important;display:grid;gap:10px;text-align:left!important}
body:not(:has(.pv)) .about-section ul li,body:not(:has(.pv)) .seo-content ul li{position:relative;padding-left:28px!important;color:var(--ptx);line-height:1.6;text-align:left!important}
body:not(:has(.pv)) .about-section ul li::before,body:not(:has(.pv)) .seo-content ul li::before{content:"";position:absolute;left:0;top:.8em;width:14px;height:1px;background:var(--pg)}
body:not(:has(.pv)) :is(.service-links,.city-links){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:0!important;margin:26px 0 10px!important;border-top:1px solid var(--pln);border-left:1px solid var(--pln)}
body:not(:has(.pv)) :is(.service-links,.city-links) a{position:relative;display:block!important;padding:22px 46px 22px 22px!important;border:0!important;border-right:1px solid var(--pln)!important;border-bottom:1px solid var(--pln)!important;border-radius:0!important;background:none!important;color:#fff!important;font:500 1.2rem/1.3 'Cormorant Garamond',Georgia,serif!important;text-align:left!important;text-decoration:none!important;transform:none!important;transition:background .3s!important;box-shadow:none!important}
body:not(:has(.pv)) :is(.service-links,.city-links) a::after{content:"→";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--pg);font-family:'Inter',sans-serif;font-size:.95rem;transition:transform .3s}
body:not(:has(.pv)) :is(.service-links,.city-links) a:hover{background:rgba(213,179,107,.07)!important}
body:not(:has(.pv)) :is(.service-links,.city-links) a:hover::after{transform:translate(4px,-50%)}
body:not(:has(.pv)) :is(.area-note,.note){border-left:2px solid var(--pg)!important;background:rgba(213,179,107,.05)!important;border-radius:0!important;padding:18px 22px!important;color:var(--ptx)!important}

/* galleries */
body:not(:has(.pv)) :is(.service-gallery,.sg-stage,.swiper,.ufh-gallery-grid) img,body:not(:has(.pv)) :is(.service-gallery,.sg-stage){border-radius:0!important}
body:not(:has(.pv)) .service-gallery{border:1px solid var(--pln)!important;box-shadow:none!important;margin-bottom:56px!important}

/* faq */
body:not(:has(.pv)) .faq-section,body:not(:has(.pv)) .ufh-faq-section{max-width:860px!important;margin:0 auto!important;padding:56px 24px 40px!important;text-align:left!important}
body:not(:has(.pv)) .faq-section h2,body:not(:has(.pv)) .ufh-faq-section h2{text-align:left!important;font-size:clamp(1.9rem,3.4vw,2.6rem)!important;margin:0 0 26px!important}
body:not(:has(.pv)) :is(.faq-item,.ufh-faq-item){margin:0!important;padding:24px 0!important;border:0!important;border-top:1px solid var(--pln)!important;border-radius:0!important;background:none!important;text-align:left!important}
body:not(:has(.pv)) :is(.faq-item,.ufh-faq-item):last-child{border-bottom:1px solid var(--pln)!important}
body:not(:has(.pv)) :is(.faq-item,.ufh-faq-item) :is(h3,button,summary){font:500 1.4rem/1.3 'Cormorant Garamond',Georgia,serif!important;color:#fff!important;margin:0 0 8px!important;text-align:left!important}
body:not(:has(.pv)) :is(.faq-item,.ufh-faq-item) p{color:var(--pmu)!important;font-size:.98rem!important;line-height:1.75!important;margin:0!important;text-align:left!important}

/* call to action box */
body:not(:has(.pv)) .contact-section{max-width:860px!important;margin:40px auto 110px!important;padding:64px 40px!important;border:1px solid var(--pln)!important;border-top:2px solid var(--pg)!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(160deg,rgba(213,179,107,.08),rgba(213,179,107,0) 60%),#101010!important;text-align:center}
body:not(:has(.pv)) .contact-section h2{font-size:clamp(2rem,3.6vw,2.8rem)!important;margin:0 0 12px!important}
body:not(:has(.pv)) .contact-section p{color:var(--pmu)!important}
body:not(:has(.pv)) .contact-section .cta-buttons{margin-top:28px!important;gap:12px!important}

/* guide pages (.seo-*) */
body:not(:has(.pv)) .seo-intro h1{font-size:clamp(2.4rem,4.6vw,3.8rem)!important;font-weight:500!important}
body:not(:has(.pv)) .seo-eyebrow{color:var(--pg)!important;font:500 .72rem/1.4 'Inter',sans-serif!important;letter-spacing:.26em!important;text-transform:uppercase}
body:not(:has(.pv)) .seo-intro p:not(.seo-eyebrow){color:#c4bdb0!important}
body:not(:has(.pv)) .seo-intro figure img,body:not(:has(.pv)) .thermal-photo img,body:not(:has(.pv)) .thermal-photo{border-radius:0!important;border-color:var(--pln)!important;box-shadow:none!important}
body:not(:has(.pv)) .seo-content h2{font-size:clamp(1.8rem,3vw,2.4rem)!important;color:#fff!important}
body:not(:has(.pv)) .seo-content h3{font-size:1.4rem!important}
body:not(:has(.pv)) .seo-content p{color:#c4bdb0!important}
body:not(:has(.pv)) .seo-content>section+section{border-top:1px solid var(--pln)!important}
body:not(:has(.pv)) .seo-contact{border:1px solid var(--pln)!important;border-top:2px solid var(--pg)!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(160deg,rgba(213,179,107,.08),rgba(213,179,107,0) 60%),#101010!important}
body:not(:has(.pv)) .seo-breadcrumb{font-size:.78rem!important;letter-spacing:.06em;color:var(--pmu)!important}
body:not(:has(.pv)) .seo-faq details,body:not(:has(.pv)) .thermal-faq details{border-color:var(--pln)!important}
body:not(:has(.pv)) .seo-faq summary,body:not(:has(.pv)) .thermal-faq summary{font:500 1.35rem/1.3 'Cormorant Garamond',Georgia,serif!important;color:#fff!important}

/* thermal pages */
body:not(:has(.pv)) .thermal-page{background:#0c0c0c!important}
body:not(:has(.pv)) .thermal-page h1{font-size:clamp(2.4rem,4.6vw,3.8rem)!important}
body:not(:has(.pv)) .thermal-page h2{font-size:clamp(1.9rem,3.2vw,2.6rem)!important}
body:not(:has(.pv)) .thermal-eyebrow{color:var(--pg)!important;letter-spacing:.26em!important;font-weight:500!important}
body:not(:has(.pv)) :is(.thermal-report,.thermal-contact,.thermal-note){border-radius:0!important}
body:not(:has(.pv)) .thermal-step-number{font-family:'Cormorant Garamond',Georgia,serif!important;color:var(--pg)!important}

/* quote calculator */
body:not(:has(.pv)) .calculator-box{border-radius:0!important;border-color:var(--pln)!important;border-top:2px solid var(--pg)!important}
body:not(:has(.pv)) .calculator-box :is(button,.btn){border-radius:0!important;letter-spacing:.08em}

body:not(:has(.pv)):not(:has(.calculator-box)){background:#0c0c0c!important}
/* underfloor heating extras */
body:not(:has(.pv)) :is(.ufh-process-section,.ufh-gallery-section) h2{font-size:clamp(1.9rem,3.4vw,2.6rem)!important;margin-bottom:14px!important}
body:not(:has(.pv)) .ufh-step{border-radius:0!important;background:#111!important;border-color:var(--pln)!important}
body:not(:has(.pv)) .ufh-step-number{border-radius:0!important;background:none!important;width:auto!important;height:auto!important;justify-content:flex-start!important;color:var(--pg)!important;font:500 1.6rem/1 'Cormorant Garamond',Georgia,serif!important}
body:not(:has(.pv)) .ufh-step h3{font-size:1.35rem!important}
body:not(:has(.pv)) .ufh-gallery-grid button{border-radius:0!important;border-color:var(--pln)!important}
/* quote calculator */
html:has(.calculator-box){background:#0c0c0c}
body:has(.calculator-box){background-color:#0c0c0c!important;background-attachment:fixed!important;min-height:100vh}
body:not(:has(.pv)) .calculator-box h2{font-size:1.6rem!important}
body:not(:has(.pv)) .calculator-box button:not(.whatsapp-quote):not(.pera-cookie-settings){background:#d5b36b!important;color:#111!important;font:500 .76rem/1.2 'Inter',Arial,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase}
body:not(:has(.pv)) .calculator-box button:not(.whatsapp-quote):not(.pera-cookie-settings):hover{background:#fff!important}
body:not(:has(.pv)) .calculator-box label{color:#d5b36b!important;font:500 .68rem/1.4 'Inter',Arial,sans-serif!important;letter-spacing:.2em;text-transform:uppercase}
body:not(:has(.pv)) .calculator-box :is(input,textarea,select){border-radius:0!important;border-color:rgba(213,179,107,.35)!important;font-family:'Inter',Arial,sans-serif!important}

/* ===== PERA 2026: navigation (all pages) ===== */
nav:has(.pv-brand){position:sticky!important;top:0;z-index:1000!important;display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:26px;padding:14px max(20px,calc((100vw - 1240px)/2 + 28px))!important;padding-top:max(14px,env(safe-area-inset-top))!important;background:rgba(8,8,8,.82)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(213,179,107,.12);transition:padding .3s,background .3s;box-sizing:border-box}
nav.pv-scrolled{padding-top:9px!important;padding-bottom:9px!important;background:rgba(8,8,8,.94)!important}
.pv-brand{display:flex;align-items:center;gap:11px;text-decoration:none!important;flex:none;order:0}
.pv-brand img{width:44px;height:44px;object-fit:contain;transition:width .3s,height .3s}
nav.pv-scrolled .pv-brand img{width:36px;height:36px}
.pv-brand span{font:600 1.15rem/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.2em;color:#fff}
.pv-brand small{display:block;margin-top:4px;font:400 .5rem/1 'Inter',Arial,sans-serif;letter-spacing:.42em;color:#d5b36b}
nav:has(.pv-brand) .nav-links{order:1;flex:1;display:flex!important;flex-wrap:nowrap!important;justify-content:center;gap:clamp(16px,2.2vw,30px)!important;margin:0!important;width:auto!important}
nav:has(.pv-brand) .nav-links a{font:400 .7rem/1.2 'Inter',Arial,sans-serif!important;letter-spacing:.17em;text-transform:uppercase;color:rgba(236,232,223,.78)!important;padding:6px 0!important;white-space:nowrap}
nav:has(.pv-brand) .nav-links a::after{height:1px!important;bottom:0!important;background:#d5b36b!important;border-radius:0!important;animation:none!important}
nav:has(.pv-brand) .nav-links a:hover{color:#d5b36b!important}
nav:has(.pv-brand) .nav-links a[href*="quote"]{display:none!important}
.pv-nav-cta{order:2;flex:none;display:inline-flex;align-items:center;padding:12px 20px;border:1px solid #d5b36b;background:#d5b36b;color:#111!important;font:500 .66rem/1 'Inter',Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;text-decoration:none!important;transition:background .25s,border-color .25s}
.pv-nav-cta:hover{background:#fff;border-color:#fff}
nav:has(.pv-brand) .language-selector{order:3;margin:0!important;flex:none}
nav:has(.pv-brand) .lang-current-flag{width:28px!important;height:28px!important;border:1px solid rgba(213,179,107,.6)!important}
nav:has(.pv-brand) .lang-dropdown{top:44px!important;border-radius:0!important;background:#0c0c0c!important;border:1px solid rgba(213,179,107,.2);box-shadow:0 18px 40px rgba(0,0,0,.6)!important}
nav:has(.pv-brand) .lang-dropdown a{font:400 .85rem 'Inter',Arial,sans-serif!important;color:#ece8df!important}
nav:has(.pv-brand) .lang-dropdown a:hover{background:rgba(213,179,107,.08)!important;color:#d5b36b!important}
nav:has(.pv-brand) .nav-toggle{order:4;display:none!important;flex-direction:column;gap:5px!important;width:42px;height:42px;padding:0!important;margin:0!important;border:1px solid rgba(213,179,107,.4)!important;border-radius:0!important;background:none!important;align-items:center;justify-content:center}
nav:has(.pv-brand) .nav-toggle span{width:18px!important;height:1px!important;background:#d5b36b!important;border-radius:0!important;transition:transform .3s,opacity .3s}
body.nav-open nav:has(.pv-brand) .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open nav:has(.pv-brand) .nav-toggle span:nth-child(2){opacity:0}
body.nav-open nav:has(.pv-brand) .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1180px){
nav:has(.pv-brand){gap:14px}
nav:has(.pv-brand) .nav-toggle{display:flex!important}
nav:has(.pv-brand) .pv-nav-cta{margin-left:auto}
nav:has(.pv-brand) .nav-links{display:none!important}
body.nav-open nav:has(.pv-brand) .nav-links{display:flex!important;position:fixed;left:0;right:0;top:72px;bottom:0;height:calc(100dvh - 72px);flex-direction:column;justify-content:flex-start;gap:0!important;padding:26px 28px 40px!important;background:#080808;overflow-y:auto;z-index:999;animation:pvMenuIn .3s ease}
body.nav-open nav:has(.pv-brand) .nav-links a{display:block!important;font:500 1.9rem/1.2 'Cormorant Garamond',Georgia,serif!important;letter-spacing:0;text-transform:none;color:#fff!important;padding:16px 0!important;border-bottom:1px solid rgba(213,179,107,.14)}
body.nav-open nav:has(.pv-brand) .nav-links a[href*="quote"]{display:block!important;color:#d5b36b!important}
body.nav-open{overflow:hidden}
}
@keyframes pvMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:560px){
nav:has(.pv-brand){padding-left:16px!important;padding-right:16px!important;gap:10px}
.pv-brand span{display:none}
.pv-nav-cta{padding:11px 13px;font-size:.6rem;letter-spacing:.12em}
}
@media(max-width:360px){.pv-nav-cta{display:none}nav:has(.pv-brand) .language-selector{margin-left:auto!important}}

/* ===== subpage hero photo ===== */
body:not(:has(.pv)) .hero-section.pv-photo:not(:has(.hero-backgrounds)){min-height:min(78vh,720px)!important;justify-content:flex-end!important;padding:150px 24px 90px!important;background:linear-gradient(180deg,rgba(8,8,8,.62) 0%,rgba(8,8,8,.38) 38%,rgba(8,8,8,.9) 88%,#0c0c0c 100%),var(--hero-img) center/cover no-repeat!important;border-bottom:0!important}
.hero-section.pv-photo .logo{width:84px!important;opacity:.95!important}
.hero-section.pv-photo>p,.hero-section.pv-photo .hero-copy p{color:rgba(255,255,255,.8)!important}
.hero-section.pv-photo h1{text-shadow:0 2px 30px rgba(0,0,0,.45)!important}

/* ===== trust strip under subpage hero ===== */
.pv-substrip{background:#090909;border-top:1px solid rgba(213,179,107,.18);border-bottom:1px solid rgba(213,179,107,.18)}
.pv-substrip>div{max-width:1240px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:repeat(4,1fr);box-sizing:border-box}
.pv-substrip>div>div{padding:26px 22px;border-right:1px solid rgba(213,179,107,.18)}
.pv-substrip>div>div:last-child{border-right:0}
.pv-substrip strong{display:block;font:500 1.25rem/1.2 'Cormorant Garamond',Georgia,serif;color:#fff;margin-bottom:3px}
.pv-substrip span{font:300 .82rem/1.5 'Inter',Arial,sans-serif;color:#a39d90}

/* ===== lists as a grid ===== */
body:not(:has(.pv)) .about-section ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important;border-top:1px solid rgba(213,179,107,.18);border-left:1px solid rgba(213,179,107,.18)}
body:not(:has(.pv)) .about-section ul li{padding:16px 18px 16px 46px!important;border-right:1px solid rgba(213,179,107,.18);border-bottom:1px solid rgba(213,179,107,.18);font-size:.95rem}
body:not(:has(.pv)) .about-section ul li::before{content:""!important;left:18px!important;top:21px!important;width:12px!important;height:6px!important;background:none!important;border-left:1.5px solid #d5b36b;border-bottom:1.5px solid #d5b36b;transform:rotate(-45deg)}

/* ===== inline photo, mid CTA, area map ===== */
.pv-inline{margin:34px 0 10px!important}
.pv-inline img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;border:1px solid rgba(213,179,107,.18)}
.pv-midcta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:58px 0 0;padding:26px 28px;border:1px solid rgba(213,179,107,.25);border-left:2px solid #d5b36b;background:linear-gradient(100deg,rgba(213,179,107,.1),rgba(213,179,107,0) 70%)}
.pv-midcta strong{display:block;font:500 1.4rem/1.2 'Cormorant Garamond',Georgia,serif;color:#fff}
.pv-midcta span{display:block;margin-top:4px;font:300 .9rem/1.55 'Inter',Arial,sans-serif;color:#a39d90}
.pv-midcta a,body:not(:has(.pv)) .about-section .pv-midcta a{flex:none;padding:14px 22px;background:#d5b36b;color:#111!important;font:500 .68rem/1 'Inter',Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none!important;transition:background .25s}
.pv-midcta a:hover,body:not(:has(.pv)) .about-section .pv-midcta a:hover{background:#fff}
.pv-areamap{margin:34px 0 10px!important;border:1px solid rgba(213,179,107,.18);background:radial-gradient(circle at 50% 55%,rgba(213,179,107,.07),transparent 60%),#0f0f0f}
.pv-areamap svg{display:block;width:100%;height:auto}
.pv-areamap .coast{fill:none;stroke:#d5b36b;stroke-width:1.5;opacity:.8}
.pv-areamap .sea{font:italic 16px 'Cormorant Garamond',Georgia,serif;letter-spacing:.2em;fill:#6f6a60}
.pv-areamap .pv-pin .dot{fill:#0f0f0f;stroke:rgba(213,179,107,.55);stroke-width:2}
.pv-areamap .pv-pin text{font:600 16px 'Cormorant Garamond',Georgia,serif;text-anchor:middle;fill:#8d877b}
.pv-areamap .pv-pin:hover text{fill:#fff}
.pv-areamap .pv-pin.on .dot{fill:#d5b36b;stroke:#d5b36b}
.pv-areamap .pv-pin.on text{fill:#d5b36b;font-size:19px}
.pv-areamap .pv-pin .pulse{fill:#d5b36b;opacity:0}
.pv-areamap .pv-pin.on .pulse{animation:pvPulseA 1.8s ease-out infinite}
@keyframes pvPulseA{0%{opacity:.55;r:7}100%{opacity:0;r:24}}

/* ===== related service cards with photos ===== */
body:not(:has(.pv)) .service-links a[style*="--img"]{padding:0 46px 20px 20px!important;overflow:hidden}
body:not(:has(.pv)) .service-links a[style*="--img"]::before{content:"";display:block;height:150px;margin:0 -46px 18px -20px;background:var(--img) center/cover;filter:saturate(.9);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
body:not(:has(.pv)) .service-links a[style*="--img"]:hover::before{transform:scale(1.05)}
body:not(:has(.pv)) .service-links a[style*="--img"]::after{top:auto!important;bottom:22px;transform:none!important}
body:not(:has(.pv)) .service-links a[style*="--img"]:hover::after{transform:translateX(4px)!important}

@media(max-width:768px){
body:not(:has(.pv)) .hero-section.pv-photo:not(:has(.hero-backgrounds)){min-height:560px!important;padding:120px 18px 64px!important}
.pv-substrip>div{grid-template-columns:1fr 1fr;padding:0 16px}
.pv-substrip>div>div{padding:18px 12px}
.pv-substrip>div>div:nth-child(2){border-right:0}
.pv-substrip>div>div:nth-child(-n+2){border-bottom:1px solid rgba(213,179,107,.18)}
body:not(:has(.pv)) .about-section ul{grid-template-columns:1fr}
.pv-midcta{flex-direction:column;align-items:flex-start;padding:22px 20px}
.pv-areamap .pv-pin text{font-size:21px}.pv-areamap .pv-pin.on text{font-size:24px}
}

body:has(.about-section):not(:has(.pv)) .seo-content{width:min(860px,calc(100% - 48px))!important;margin-left:auto!important;margin-right:auto!important}
/* new footer (all pages) */
.pv-foot{--g:#d5b36b;--mu:#a39d90;--ln:rgba(213,179,107,.18);background:#070707!important;border-top:1px solid var(--ln);padding:64px 0 30px!important;color:var(--mu)!important;font:300 .88rem/1.65 'Inter',Arial,sans-serif;text-align:left!important}
.pv-foot .pv-wrap{max-width:1240px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;box-sizing:border-box}
.pv-foot img{width:84px;height:auto;margin-bottom:16px;display:block}
.pv-foot p{color:var(--mu)!important;margin:0}
.pv-foot h4{font:500 .68rem/1.4 'Inter',Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--g);margin:0 0 16px}
.pv-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.pv-foot a{color:var(--mu)!important;text-decoration:none!important}
.pv-foot a:hover{color:var(--g)!important}
.pv-foot .pv-copy{grid-column:1/-1;border-top:1px solid var(--ln);padding-top:24px;margin-top:20px;font-size:.78rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
@media(max-width:980px){.pv-foot .pv-wrap{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.pv-foot .pv-wrap{grid-template-columns:1fr;padding:0 16px}}

@media(max-width:768px){
body:not(:has(.pv)) .hero-section:not(:has(.hero-backgrounds)){padding:72px 18px 64px!important}
body:not(:has(.pv)) .about-section{padding:60px 18px 30px!important}
body:not(:has(.pv)) .about-section h2{margin-top:48px!important}
body:not(:has(.pv)) .contact-section{margin:20px 16px 70px!important;padding:44px 22px!important}
body:not(:has(.pv)) .faq-section,body:not(:has(.pv)) .ufh-faq-section{padding:44px 18px 30px!important}
}
