:root{--rn-surface:var(--ast-global-color-4,#effafa);--rn-ink:var(--ast-global-color-3,#3a3a3a);--rn-blue:var(--ast-global-color-1,#0072c7)}
#masthead{position:sticky!important;top:0;z-index:999;isolation:isolate;transition:box-shadow .3s ease,background-color .3s ease}
body.admin-bar #masthead{top:32px}
#masthead{background:transparent!important}
#masthead .main-header-bar,#masthead .ast-primary-header-bar{background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;transition:background-color .3s ease,backdrop-filter .3s ease,border-color .3s ease}
#masthead.rn-scrolled{box-shadow:none}
#masthead.rn-scrolled .main-header-bar,#masthead.rn-scrolled .ast-primary-header-bar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
#masthead.rn-enter{animation:rn-header-in .32s ease}
#masthead .site-logo-img img{height:115.2px;max-height:115.2px;width:auto!important;max-width:none}
#masthead .ast-primary-header-bar{min-height:88px}
#masthead .site-branding{padding-top:8px;padding-bottom:8px}
@keyframes rn-header-in{from{transform:translateY(-8px)}to{transform:translateY(0)}}
#masthead a[href^="tel:"]{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;white-space:nowrap;line-height:1.3!important}
#masthead a[href^="tel:"] .dashicons{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;font-size:20px;line-height:1}
#masthead a[href^="tel:"] .dashicons:before{content:"";display:block;width:19px;height:19px;background:currentColor;mask:url(phone.svg) center/contain no-repeat;-webkit-mask:url(phone.svg) center/contain no-repeat}
#masthead a[href^="tel:"] b{font-weight:600;line-height:1.3}
#masthead a:focus-visible,.rn-footer a:focus-visible{outline:2px solid var(--rn-blue);outline-offset:5px}
.rn-footer{background:var(--rn-surface);color:var(--rn-ink);border-top:1px solid rgba(0,114,199,.1);font-size:15px;line-height:1.65}
.rn-footer-inner{max-width:1240px;margin:0 auto;padding:64px 40px 24px}
.rn-footer-grid{display:grid;grid-template-columns:1.35fr .85fr 1fr 1fr;gap:40px;padding-bottom:44px}
.rn-footer h2{font-family:inherit;font-size:17px;line-height:1.4;font-weight:600;color:var(--rn-ink);margin:8px 0 20px}
.rn-footer p{margin:0 0 14px}.rn-footer .rn-brand-name{font-size:20px;font-weight:600;margin:14px 0 8px;color:var(--rn-blue)}
.rn-footer-logo{display:inline-flex}.rn-footer-logo img{width:145px;height:auto;max-height:65px;object-fit:contain;object-position:left}
.rn-slogan{font-weight:500;max-width:240px}.rn-footer-intro{max-width:255px;font-size:14px}
.rn-footer a{color:var(--rn-ink);text-decoration:none;transition:color .2s ease}.rn-footer a:hover{color:var(--rn-blue)}
.rn-footer-menu{list-style:none;margin:0;padding:0}.rn-footer-menu li{margin:0 0 9px}.rn-footer-menu a{display:inline-block}
.rn-footer address{font-style:normal;display:flex;flex-direction:column;gap:10px}.rn-footer address span{max-width:200px}.rn-footer address a{overflow-wrap:anywhere}
.rn-contact-row,.rn-hour-row{display:flex;align-items:flex-start;gap:9px}
.rn-footer .rn-icon{width:17px;height:17px;flex:0 0 17px;display:block;color:var(--rn-blue);margin-top:4px}
.rn-footer .rn-email{text-decoration:underline;text-underline-offset:3px}
.rn-hours .rn-hour-row{margin:0 0 8px}.rn-hour-row strong{font-weight:700}.rn-hours{white-space:normal!important}
.rn-hours{white-space:pre-line;font-variant-numeric:tabular-nums}.rn-footer .rn-footer-cta{display:inline-flex;gap:16px;color:var(--rn-blue);font-weight:500;border-bottom:1px solid rgba(0,114,199,.3);padding:3px 0}
.rn-footer-bottom{border-top:1px solid rgba(0,114,199,.13);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.rn-footer-bottom p{margin:0}
.rn-credit{display:inline-flex;align-items:center;gap:12px;font-size:12px}.rn-credit img{width:100px;height:auto;object-fit:contain}
#content #primary.rn-policy{width:100%;max-width:800px;margin:0 auto;padding:56px 24px 80px}.rn-policy h1{font-size:clamp(32px,5vw,46px);color:var(--rn-blue);margin:0 0 16px}.rn-policy h2{font-size:24px;margin:32px 0 12px}.rn-policy p,.rn-policy li{font-size:16px;line-height:1.8}.rn-policy .rn-policy-date{font-size:14px;color:var(--rn-ink)}
@media(min-width:922px){#masthead .main-header-menu>.menu-item>.menu-link{padding-left:14px;padding-right:14px}#masthead .ast-container{flex-wrap:nowrap}}
@media(max-width:1000px){.rn-footer-grid{grid-template-columns:1.2fr 1fr;gap:36px}}
@media(max-width:921px){
 #masthead .site-logo-img img{height:89.6px;max-height:89.6px}
 #masthead .ast-primary-header-bar{min-height:72px}
 #masthead .ast-mobile-header-content{display:block!important;position:absolute;left:0;right:0;top:100%;max-height:0;overflow:hidden;opacity:0;visibility:hidden;background:rgba(255,255,255,.90)!important;backdrop-filter:blur(18px);transition:max-height .35s ease,opacity .25s ease,visibility 0s linear .35s;box-shadow:none}
 #masthead.rn-menu-open .ast-mobile-header-content{max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;opacity:1;visibility:visible;transition:max-height .35s ease,opacity .25s ease,visibility 0s}
 #masthead .ast-mobile-header-content .main-header-bar-navigation{display:block!important}
 #masthead .ast-mobile-header-content .ast-builder-menu-mobile{padding:8px 18px 18px}
 #masthead .ast-mobile-header-content a[href^="tel:"]{justify-content:flex-start;min-height:54px}
 #masthead .ast-mobile-menu-trigger-minimal .menu-toggle{transition:transform .25s ease}
 #masthead.rn-menu-open .menu-toggle{transform:rotate(90deg)}
}
@media(max-width:782px){body.admin-bar #masthead{top:46px}}
@media(max-width:600px){.rn-footer-inner{padding:44px 24px 22px}.rn-footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px;padding-bottom:30px}.rn-footer-brand{grid-column:1/-1}.rn-footer-grid>div:last-child{grid-column:1/-1}.rn-footer h2{margin:0 0 16px}.rn-footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}.rn-credit{flex-wrap:wrap}.rn-footer address span{max-width:100%}.rn-footer{font-size:14px}.rn-footer-logo img{width:130px}}
@media(prefers-reduced-motion:reduce){#masthead,#masthead *, .rn-footer *{animation:none!important;transition:none!important}}
:is(button,input[type="submit"],input[type="button"],input[type="reset"],a.button,.ast-button,.ast-custom-button,.wp-block-button__link,.uagb-buttons-repeater,.srfm-submit-button):hover{border-color:transparent!important}
/* Preserve authored Swedish capitalization across Astra, Spectra and forms. */
body :is(h1,h2,h3,h4,h5,h6,button,input[type="submit"],input[type="button"],.button,.ast-button,.ast-custom-button,.menu-link,.wp-block-button__link,.uagb-buttons-repeater,.uagb-button__link,.uagb-ifb-cta-button,.srfm-submit-button,.srfm-button-text){text-transform:none!important}
/* Break only the first Spectra section out of Astra's content column. */
body.page .entry-content>.wp-block-uagb-container:first-child{box-sizing:border-box;width:var(--rn-viewport-width,100vw)!important;max-width:var(--rn-viewport-width,100vw)!important;margin-left:calc((100% - var(--rn-viewport-width,100vw))/2)!important;margin-right:calc((100% - var(--rn-viewport-width,100vw))/2)!important;border-radius:0!important}
body.page .entry-content>.wp-block-uagb-container:first-child>.uagb-container-inner-blocks-wrap{width:100%;max-width:1160px;margin-inline:auto}
body.page .entry-content>.wp-block-uagb-container:first-child{margin-top:0!important}
body.page .entry-content>.uagb-is-root-container:not(:first-child){max-width:100%!important;margin-left:0!important;margin-right:0!important}

/* Shared hero: transparent navigation overlays the first section. */
body.page #masthead{position:fixed!important;left:0;right:0;width:100%}
body.page #content,body.page #primary,body.page .site-content>.ast-container,body.page article.page{margin-top:0!important;padding-top:0!important}
body.page .entry-content>.wp-block-uagb-container:first-child{
 padding-top:195px!important;padding-bottom:84px!important;
 border-radius:0 0 50% 50% / 0 0 48px 48px!important;
 box-shadow:0 20px 28px -24px rgba(28,70,87,.38)!important;
 overflow:hidden;position:relative;
}
body.page .entry-content>.wp-block-uagb-container:first-child :is(h1){scroll-margin-top:180px}
.rn-local-hero{background:linear-gradient(110deg,#fff,#effafa)!important}
.rn-local-hero h1{font-size:clamp(32px,3.5vw,48px)!important;line-height:1.15;max-width:850px;color:#0072c7;margin:0}
.rn-local-hero p{max-width:640px;font-size:19px;line-height:1.65;margin:0}
.rn-local-hero>.uagb-container-inner-blocks-wrap{align-items:flex-start!important;gap:24px!important}
body.page .rn-local-body{padding:64px 40px!important}
.rn-policy-hero{width:var(--rn-viewport-width,100vw);margin-left:calc((100% - var(--rn-viewport-width,100vw))/2);padding:195px max(24px,calc((100vw - 1160px)/2)) 84px;background:#effafa;border-radius:0 0 50% 50% / 0 0 48px 48px;box-shadow:0 20px 28px -24px rgba(28,70,87,.38)}
.rn-policy-hero h1{font-size:clamp(32px,4vw,48px);color:#0072c7;margin:0}
#content #primary.rn-policy{max-width:100%;padding:0!important}
.rn-policy-body{max-width:800px;margin:auto;padding:48px 24px 80px}
@media(max-width:921px){body.page .entry-content>.wp-block-uagb-container:first-child{padding-top:154px!important;padding-bottom:64px!important;border-radius:0 0 50% 50% / 0 0 28px 28px!important}.rn-policy-hero{padding-top:154px;padding-bottom:64px;border-radius:0 0 50% 50% / 0 0 28px 28px}body.page .rn-local-body{padding:40px 24px!important}}
@media(max-width:600px){body.page .entry-content>.wp-block-uagb-container:first-child{padding-top:132px!important}.rn-policy-hero{padding-top:132px}}

body.admin-bar #masthead{top:var(--rn-toolbar-offset,32px)}
@media(max-width:782px){body.admin-bar #masthead{top:var(--rn-toolbar-offset,46px)}}
.rn-local-hero .wp-block-button__link{background:#0072c7;color:#fff;border-radius:8px;padding:15px 24px;font-size:16px;text-decoration:none}
.rn-local-hero .wp-block-button__link:hover{background:#e81489}

/* Let the hero cover the corners of the following section without covering its copy. */
body.page .entry-content>.wp-block-uagb-container:first-child{z-index:2;margin-bottom:0!important}
body.page .entry-content>.wp-block-uagb-container:first-child+.wp-block-uagb-container{position:relative;z-index:1;margin-top:-48px!important;padding-top:112px!important}
.rn-policy-hero{position:relative;z-index:2}
.rn-policy-body{position:relative;margin-top:-48px;padding-top:96px}
@media(max-width:921px){body.page .entry-content>.wp-block-uagb-container:first-child+.wp-block-uagb-container{margin-top:-28px!important;padding-top:68px!important}.rn-policy-body{margin-top:-28px;padding-top:76px}}

/* Shared hero typography, including local and policy templates. */
body.page .entry-content>.wp-block-uagb-container:first-child h1,
body.page .entry-content>.wp-block-uagb-container:first-child h1 *,
.rn-policy-hero h1,.rn-policy-hero h1 *{color:#E81489!important;font-weight:700!important}
/* Match the hero curve while keeping dropdowns outside the background layer. */
#masthead.rn-scrolled{box-shadow:none}
#masthead::before{content:"";position:absolute;inset:0 0 auto;height:calc(100% + 48px);border-radius:0 0 50% 50% / 0 0 48px 48px;background:rgba(255,255,255,.86);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:none;z-index:-1;pointer-events:none;opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}
#masthead.rn-scrolled::before{opacity:1;transform:translateY(0)}
#masthead.rn-scrolled .main-header-bar,#masthead.rn-scrolled .ast-primary-header-bar{background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:921px){#masthead::before{height:calc(100% + 28px);border-radius:0 0 50% 50% / 0 0 28px 28px}}
@media(prefers-reduced-motion:reduce){#masthead::before{transition:none}}
/* Reduce the shared navigation and its curved background by twenty percent. */
#masthead .site-logo-img img{height:92.16px;max-height:92.16px}
#masthead .site-branding{padding-top:6.3px;padding-bottom:6.3px}
#masthead .ast-primary-header-bar{min-height:70.4px}
#masthead::before{height:calc(100% + 38.4px);border-radius:0 0 50% 50% / 0 0 38.4px 38.4px}
@media(max-width:921px){#masthead .site-logo-img img{height:71.68px;max-height:71.68px}#masthead .ast-primary-header-bar{min-height:57.6px}#masthead::before{height:calc(100% + 22.4px);border-radius:0 0 50% 50% / 0 0 22.4px 22.4px}}
/* The expanded mobile menu follows the shared downward hero curve. */
@media(max-width:921px){
 #masthead .ast-mobile-header-content{border-radius:0 0 50% 50% / 0 0 22.4px 22.4px;box-shadow:none}
 #masthead .ast-mobile-header-content .ast-builder-menu-mobile{padding-bottom:34px}
}
/* Give each photographic hero a visible image area below its mobile copy. */
@media(max-width:600px){
 body.page .entry-content>.wp-block-uagb-container:first-child:is(.rn-home-intro,.rn-service-hero,.rn-booking-hero,.rn-contact-hero){padding-bottom:300px!important;background:#fff!important}
 body.page .rn-home-intro::before{top:auto!important;bottom:0!important;height:290px!important;background-position:center!important;opacity:1!important}
 body.page :is(.rn-service-hero,.rn-booking-hero,.rn-contact-hero) :is(.rn-service-hero-bg,.rn-booking-bg-figure,.rn-contact-bg){inset:auto 0 0!important;height:290px!important}
 body.page :is(.rn-service-hero,.rn-booking-hero,.rn-contact-hero) :is(.rn-service-hero-bg,.rn-booking-bg-figure,.rn-contact-bg) img{object-position:center!important}
 body.page :is(.rn-home-intro,.rn-service-hero,.rn-booking-hero,.rn-contact-hero)::after{background:linear-gradient(to bottom,#fff 0%,#fff calc(100% - 290px),rgba(255,255,255,.7) calc(100% - 250px),rgba(255,255,255,0) calc(100% - 180px))!important}
 .rn-booking-hero>.uagb-container-inner-blocks-wrap{min-height:0!important}
}
/* Mobile content uses the screen width; sections retain their readable inner spacing. */
@media(max-width:600px){
 body.page{background:#fff}
 body.page .site-content>.ast-container{padding-left:0!important;padding-right:0!important;max-width:100%!important}
 body.page #primary{width:100%!important;margin-left:0!important;margin-right:0!important}
}
