.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --primary:#12293C; --secondary:#FBD74B; --tertiary:#4DC0EA; --bg-dark:#12293C; --bg-light:#EEF8FC; --text-body:#3B4F60; --max-width-1400:1400px; --space-2xl:clamp(1.95rem, calc(4.44vw + 1.07rem), 4.95rem); --space-lg:clamp(1.25rem, calc(1.81vw + 0.89rem), 2.47rem); --space-md:clamp(1rem, calc(1.11vw + 0.78rem), 1.75rem); --space-sm:clamp(0.8rem, calc(0.65vw + 0.67rem), 1.24rem); --space-xl:clamp(1.56rem, calc(2.87vw + 0.99rem), 3.5rem); --space-xs:clamp(0.64rem, calc(0.35vw + 0.57rem), 0.88rem); --text-h3:clamp(1.25rem, calc(0.19vw + 1.2rem), 1.375rem); --text-h2:clamp(2rem, calc(0.75vw + 1.82rem), 2.5rem); --text-h1:clamp(2.5rem, calc(1.5vw + 2.15rem), 3.5rem); --text-body-lg:clamp(1.125rem, calc(0.19vw + 1.08rem), 1.25rem); --text-body-md:1.0625rem; --text-body-sm:clamp(0.875rem, calc(0.1vw + 0.85rem), 0.9375rem); --text-h4:clamp(1.125rem, calc(0.19vw + 1.08rem), 1.25rem); --text-body-xs:clamp(0.75rem, calc(0.19vw + 0.7rem), 0.875rem); --radius-full:999px; --radius-lg:clamp(1rem, calc(-0.37vw + 1.32rem), 1.25rem); --radius-md:clamp(0.63rem, calc(-0.19vw + 0.79rem), 0.75rem); --radius-sm:clamp(0.38rem, calc(-0.19vw + 0.54rem), 0.5rem); --radius-xl:clamp(1.63rem, calc(-0.56vw + 2.11rem), 2rem); --radius-xs:clamp(0.25rem, calc(0vw + 0.25rem), 0.25rem); --font-pt-sans:PT Sans; --font-pt-serif:PT Serif; --max-width-800:800px; --white:#FFFFFF; --text-h6:clamp(0.875rem, calc(0.19vw + 0.83rem), 1rem); --text-h5:clamp(1rem, calc(0.19vw + 0.96rem), 1.125rem); --classic-blue:#366BA1; --dark-blue-75:#4D5F6D; --dark-blue-50:#89949E; --dark-blue-25:#C4CACE; --font-heading:Nunito Sans; --font-body:Merriweather; --yellow-dark:#DFBA29; --black:#000000; --line:#D8E4E9; --bg-subtle:#F7FBFD; --ink-deep:#0B1D2A; --sand:#F3F1EC; --space-2xs:clamp(0.5rem, calc(0.2vw + 0.45rem), 0.625rem); --space-3xl:clamp(3.5rem, calc(4.5vw + 2.45rem), 6.5rem); --space-4xl:clamp(3.25rem, calc(9.4vw + 1.05rem), 9.5rem); --gutter:max(3.125rem, calc(50% - 600px)); --gutter-mobile:1.5rem; --max-width-1200:1200px; --text-on-dark:rgba(255, 255, 255, 0.82); --text-on-dark-muted:rgba(255, 255, 255, 0.68); --text-on-dark-subtle:rgba(255, 255, 255, 0.6); --line-on-dark:rgba(255, 255, 255, 0.16); --line-accent:rgba(77, 192, 234, 0.46); --line-strong:#C8D8E1; }
/* Start custom CSS *//* ===== Overscroll color: the page canvas is the footer navy, the page itself stays white,
   so pulling past the bottom of the page (rubber-band scrolling) shows the footer color instead of white. ===== */
html{background-color:var(--ink-deep)}
body{background-color:var(--white)}

/* ===== Brand fonts, self-hosted (2026-10-28). Licensed for skylok.com: Stevie Sans Book, Medium and Bold (Fontspring web
   licenses, one-time, 10,000 pageviews/month) and FF Tisa Pro Regular and Bold (MyFonts webfont licenses, renewed yearly,
   10,000 pageviews/month). They replace the Adobe Fonts kit mnk4iko, which Rosewood may only use on its own sites.
   The files were uploaded through Elementor > Custom Fonts ("Skylok font files", media 662-666); that entry only holds
   the files, so its name must not be used in any typography setting. These rules keep the font names the whole site already
   uses (stevie-sans, ff-tisa-web-pro), so no class or widget needs changing, and they also load in the Elementor editor.
   The ascent/descent overrides copy the line metrics of the Adobe versions, so every line sits exactly where it did.
   Custom Code snippet 552 preloads the three faces used at the top of each page.

   Fontspring: "The fonts included in this stylesheet are subject to the End User License you purchased from Fontspring.
   The fonts are protected under domestic and international trademark and copyright law. You are prohibited from
   modifying, reverse engineering, duplicating, or distributing this font software." (c) 2010-2026 Fontspring.
   Vendor: Typefolio Digital Foundry. License URL: https://www.fontspring.com/licenses/typefolio/webfont

   MyFonts Webfont Build ID 3867246. "The fonts listed in this notice are subject to the End User License Agreement(s)
   entered into by the website owner. All other parties are explicitly restricted from using the Licensed Webfonts(s).
   You may obtain a valid license at the URLs below."
   Webfont: FF Tisa Pro Bold by FontFont. URL: https://www.myfonts.com/collections/fontfont-foundry
   Webfont: FF Tisa Pro Regular by FontFont. URL: https://www.myfonts.com/collections/fontfont-foundry
   (c) 2026 MyFonts Inc. ===== */
@font-face{font-family:"stevie-sans";font-weight:400;font-style:normal;font-display:swap;src:url("/wp-content/uploads/2026/10/steviesans_book-webfont.woff2") format("woff2");ascent-override:90.8%;descent-override:25%;line-gap-override:0%}
@font-face{font-family:"stevie-sans";font-weight:600;font-style:normal;font-display:swap;src:url("/wp-content/uploads/2026/10/steviesans_medium-webfont.woff2") format("woff2");ascent-override:92.9%;descent-override:25.7%;line-gap-override:0%}
@font-face{font-family:"stevie-sans";font-weight:700;font-style:normal;font-display:swap;src:url("/wp-content/uploads/2026/10/steviesans_bold-webfont.woff2") format("woff2");ascent-override:94.2%;descent-override:26.1%;line-gap-override:0%}
@font-face{font-family:"ff-tisa-web-pro";font-weight:400;font-style:normal;font-display:swap;src:url("/wp-content/uploads/2026/10/font.woff2") format("woff2");ascent-override:108.8%;descent-override:26.9%;line-gap-override:0%}
@font-face{font-family:"ff-tisa-web-pro";font-weight:700;font-style:normal;font-display:swap;src:url("/wp-content/uploads/2026/10/font-1.woff2") format("woff2");ascent-override:116.7%;descent-override:34.5%;line-gap-override:0%}

/* ===== Sticky header offset. The site header stays pinned to the top (87px tall, 72px on phones), so anything the browser
   scrolls into view (keyboard focus while tabbing, in-page #anchor links) is kept below it instead of hidden behind it
   (WCAG 2.2 "Focus Not Obscured"). Update these numbers if the header height changes.
   Smooth scrolling for anchor links, switched off for visitors who ask their device to reduce motion. ===== */
html{scroll-padding-top:calc(87px + 1rem);scroll-behavior:smooth}
@media (max-width:767px){html{scroll-padding-top:calc(72px + 1rem)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== Phone number with icon: a link with the class "phone-lockup" holding an empty div "phone-glyph" + the number.
   The icon is a mask filled with the current text color, so it always matches the number and changes with it on hover.
   The number is not underlined at rest and underlines on hover/keyboard focus (the icon never does). ===== */
.phone-glyph{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat}
.phone-lockup{text-decoration:none!important}
.phone-lockup:hover > :not(.phone-glyph),.phone-lockup:focus-visible > :not(.phone-glyph){text-decoration:underline;text-underline-offset:0.2em;text-decoration-thickness:0.08em}

/* ===== RealWork "See work near you" bump-out (#rwl-neighborhood, added by the RealWork custom code snippet):
   use the brand sans font; the tab label matches the buttons (17px, weight 600). Google Maps labels inside it (.gm-style)
   are left alone. Colors are handled by the "RealWork widget color" custom code snippet. ===== */
#rwl-neighborhood,#rwl-neighborhood *:not(.gm-style):not(.gm-style *){font-family:stevie-sans,sans-serif!important}
#rwl-neighborhood [data-testid$="tab-handle"] span{font-size:var(--text-body-md)!important;font-weight:600!important;line-height:1!important;letter-spacing:0.01em!important;color:var(--primary)!important}

/* ===== Site-wide Fluent Forms styling (uses the Skylok design variables).
   The submit button sits on a white form card, so it uses the light-blue primary button look (same as the global class "button-primary"). ===== */
.fluentform .ff-el-group{margin-bottom:1.25rem}
.fluentform .ff-el-input--label label{font-family:stevie-sans;font-weight:600;font-size:0.875rem;line-height:1.5;color:var(--primary)}
.fluentform .ff-el-form-control{font-family:ff-tisa-web-pro;font-size:var(--text-body-md);line-height:1.5;color:var(--primary);background-color:var(--white);border:1px solid var(--line);border-radius:6px;padding:0.75rem 1rem}
.fluentform .ff-el-form-control::placeholder{color:var(--text-body);opacity:1}
.fluentform .ff-el-form-control:focus{border-color:var(--classic-blue);box-shadow:0 0 0 3px rgba(54,107,161,0.15);outline:none}
.fluentform .ff-el-form-check-label{font-family:stevie-sans;font-size:var(--text-body-sm);line-height:1.5;color:var(--text-body)}
.fluentform .ff-el-form-check-input{accent-color:var(--classic-blue);width:1.1rem;height:1.1rem}
.fluentform .sk-required-note{margin:0 0 0.25rem;font-family:stevie-sans;font-size:var(--text-body-sm);line-height:1.5;color:var(--text-body)}
.fluentform .ff_submit_btn_wrapper{margin-top:0.5rem}
.fluentform .ff-btn-submit{font-family:stevie-sans!important;font-weight:600!important;font-size:var(--text-body-md)!important;line-height:24px!important;color:var(--primary)!important;background-color:var(--tertiary)!important;border:1px solid transparent!important;border-radius:6px!important;padding:12px 60px!important;transition:border-radius .15s,background-color .15s,color .15s}
.fluentform .ff-btn-submit:hover,.fluentform .ff-btn-submit:focus-visible{color:var(--bg-light)!important;background-color:var(--classic-blue)!important;border-radius:30px 6px 30px 6px!important}
/* Looks inactive (gray) until the required fields are complete (class "sk-incomplete", set by the form's custom JS in Fluent Forms).
   It stays clickable: clicking early shows a message under each field that still needs filling in. */
.fluentform .ff-btn-submit:disabled,.fluentform .ff-btn-submit:disabled:hover,.fluentform .ff-btn-submit.sk-incomplete,.fluentform .ff-btn-submit.sk-incomplete:hover{color:var(--text-body)!important;background-color:var(--line)!important;border-radius:6px!important;cursor:not-allowed!important;opacity:1!important}
.fluentform .ff-btn-submit.sk-incomplete:focus-visible{outline:3px solid var(--classic-blue)!important;outline-offset:2px}
/* Errors in brand colors (2026-10-22): a 2px navy border on the field (drawn with an inset shadow, so nothing shifts) and a navy
   message with a small yellow "!" dot in front. Brand yellow is too light for text or borders, so it's only used for the dot. */
.fluentform .ff-el-is-error .ff-el-form-control{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.fluentform .ff-el-is-error .ff-el-form-control:focus{box-shadow:inset 0 0 0 1px var(--primary),0 0 0 3px rgba(54,107,161,0.15)}
.fluentform .text-danger{display:flex;align-items:flex-start;gap:0.4em;font-family:stevie-sans;font-weight:600;font-size:var(--text-body-sm);line-height:1.4;color:var(--primary);margin-top:0.4rem}
.fluentform .text-danger::before{content:"!" / "";flex:0 0 auto;width:1.15em;height:1.15em;margin-top:0.07em;border-radius:50%;background-color:var(--secondary);color:var(--primary);font-size:0.95em;font-weight:700;line-height:1.15em;text-align:center}
.ff-message-success{font-family:ff-tisa-web-pro;font-size:var(--text-body-md);color:var(--primary);background-color:var(--bg-light);border:1px solid var(--line);border-radius:6px;padding:1.25rem}
@media (max-width:767px){.fluentform .ff-btn-submit{width:100%}}
/* Placeholder-style fields: add the CSS class "sk-sr-label" to a field in Fluent Forms.
   The label stays in the page for screen readers but is hidden visually; set the field's placeholder to the same text plus * if required. */
.fluentform .sk-sr-label .ff-el-input--label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* ===== Inline links: any link sitting inside running text is underlined so it reads as a link (WCAG 1.4.1).
   Only links INSIDE a sentence; standalone links ("Learn More", buttons, phone numbers) keep their own styles.
   Covers links typed into Elementor paragraph/heading text, post content, and the theme's default page content (policy pages);
   in page/post content only class-less links count, because the whole Elementor page sits inside .page-content and its buttons must never be underlined. ===== */
.e-paragraph-base a:not(.e-paragraph-link-base),.e-heading-base a:not(.e-heading-link-base),.page-content a:not([class]),.entry-content a:not([class]),.fluentform .ff-el-form-check-label a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;color:inherit}
.e-paragraph-base a:not(.e-paragraph-link-base):hover,.e-paragraph-base a:not(.e-paragraph-link-base):focus-visible,.page-content a:not([class]):hover,.entry-content a:not([class]):hover{color:var(--classic-blue)}

/* ===== Case study / post body text. Wrap the Post Content widget in a div with the class "post-body".
   Uses the site type scale: subheads = H3, body = Body (17), pull quotes = Large body (20), notes = Small (15). ===== */
.post-body .elementor-widget-theme-post-content > *:first-child,.post-body .elementor-widget-container > *:first-child{margin-top:0}
.post-body p{margin:var(--space-md) 0 0;font-family:ff-tisa-web-pro;font-size:var(--text-body-md);line-height:1.6;color:var(--text-body)}
.post-body h2,.post-body h3{margin:var(--space-xl) 0 0;font-family:stevie-sans;font-weight:700;font-size:var(--text-h3);line-height:1.2;color:var(--primary)}
.post-body blockquote,.post-body .wp-block-quote{margin:var(--space-lg) 0 0;padding:0 0 0 var(--space-md);border-left:4px solid var(--tertiary)}
.post-body blockquote p{margin:0;font-size:var(--text-body-lg);line-height:1.6;color:var(--primary)}
.post-body figure{margin:var(--space-xl) 0 0}
.post-body figure img{display:block;width:100%;height:auto;border-radius:var(--radius-lg)}
.post-body ul,.post-body ol{margin:var(--space-md) 0 0;padding-left:1.25rem;font-family:ff-tisa-web-pro;font-size:var(--text-body-md);line-height:1.6;color:var(--text-body)}
.post-body a{color:var(--classic-blue);text-decoration:underline;text-underline-offset:2px}
.post-body a:hover,.post-body a:focus-visible{color:var(--primary)}
.post-body .sk-note{font-family:stevie-sans;font-weight:400;font-size:var(--text-body-sm);line-height:1.5}

/* ===== Clickable cards (homepage services, Case Studies archive). Add the class "post-card" to the card.
   The card's one link (its title link, or its "Learn More" text-link) is stretched over the whole card, so keyboard and
   screen-reader users still get a single link per card. On hover/focus the card tints and takes the button corner shape,
   and the card's link/button shows its hover state no matter where on the card the pointer is.
   The card button ("Read More") is a light-blue button-primary because the cards are white, so its hover matches button-primary's hover. ===== */
.elementor .post-card{overflow:hidden;transition:background-color .2s,border-radius .2s}
/* Containers inside the card must not be positioned, or the stretched link only covers that inner box (e.g. the text, not the image) */
.elementor .post-card .e-con{position:static}
.post-card h2 a::after,.post-card h3 a::after,.post-card .text-link a::after{content:"";position:absolute;inset:0;z-index:1}
.post-card h2 a:focus-visible,.post-card h3 a:focus-visible,.post-card .text-link a:focus-visible{outline:none}
.post-card:focus-within{outline:3px solid var(--classic-blue);outline-offset:3px}
.elementor .post-card:hover,.elementor .post-card:focus-within{background-color:var(--bg-light);border-radius:30px 6px 30px 6px}
.elementor .post-card:hover .card-body,.elementor .post-card:focus-within .card-body{background-color:transparent}
.elementor .post-card:hover .card-btn,.elementor .post-card:focus-within .card-btn{color:var(--bg-light);background-color:var(--classic-blue);border-radius:30px 6px 30px 6px}
.elementor .post-card:hover .text-link,.elementor .post-card:focus-within .text-link,.elementor .post-card:hover .text-link:hover{color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* ===== Footer links underline on hover/focus (applies to every link inside the site footer) ===== */
.elementor-location-footer a:hover,.elementor-location-footer a:focus-visible{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* ===== Links that open in a new tab: add the class "link-new-tab" to the paragraph and end its text with
   <span> (opens ... in a new tab)</span>. The span is read by screen readers only; sighted users get a small arrow. ===== */
.link-new-tab a > span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.link-new-tab a::after{content:"\2197" / "";display:inline-block;margin-left:0.3em;font-size:0.85em;line-height:1}

/* ===== Desktop header nav links (class "nav-link": Services, Reviews and Recent Jobs, Case Studies) underline on hover/keyboard focus,
   same treatment as the footer links. The yellow "Contact" button is a button-primary, not a nav-link, so it keeps its own hover. ===== */
.elementor .nav-link a:hover,.elementor .nav-link a:focus-visible{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* ===== RealWork in-page feed (#rwl-output on Home and Reviews): the "Job locations" heading under the map uses the site H2 style
   (matches the global class "h2", including its phone size), is title-cased, and gets more room above it so it separates from the map. ===== */
#rwl-output .rwlLocationLabel{font-family:stevie-sans;font-weight:700;font-size:var(--text-h2);line-height:1.2;letter-spacing:-0.02em;color:var(--primary);text-transform:capitalize;margin-top:var(--space-xl)}
@media (max-width:767px){#rwl-output .rwlLocationLabel{font-size:32px;line-height:38px;letter-spacing:-0.5px}}

/* ===== Policy pages (Privacy 3, Cookie 31, Terms 39). Each page is one Elementor container with the class "sk-policy" holding
   the page H1 and an HTML widget with the Enzuzo embed. Enzuzo renders the policy into its own .ez-container in its own fonts;
   these rules put it on the site type scale: H1 = global class "h1", section headings = H3 size, sub-headings = H4/H5,
   text = Body (17px Tisa), notes = Small. Enzuzo's own title is hidden because the page H1 already says the same thing.
   The accessibility fixes for Enzuzo's markup are in the Custom Code snippet "Enzuzo: accessibility". ===== */
.elementor .elementor-element.sk-policy{padding:var(--space-3xl) var(--gutter);gap:var(--space-lg)}
@media (max-width:767px){.elementor .elementor-element.sk-policy{padding:var(--space-2xl) var(--gutter-mobile)}}
.elementor .sk-policy .elementor-heading-title{font-family:stevie-sans;font-weight:700;font-size:var(--text-h1);line-height:1.1;letter-spacing:-0.026em;color:var(--primary)}
@media (max-width:767px){.elementor .sk-policy .elementor-heading-title{font-size:40px;line-height:44px;letter-spacing:-1px}}
.elementor .sk-policy .ez-container{max-width:var(--max-width-800);margin:0;padding:0;font-family:ff-tisa-web-pro;font-size:var(--text-body-md);line-height:1.6;color:var(--text-body)}
.elementor .sk-policy .ez-container > h1{display:none}
.elementor .sk-policy .ez-container h2,.elementor .sk-policy .ez-container h2.enzuzo-privacyPolicySubHeader{display:block;margin:var(--space-xl) 0 0;padding:0;font-family:stevie-sans;font-weight:700;font-size:var(--text-h3);line-height:1.2;color:var(--primary);text-align:left}
.elementor .sk-policy .ez-container h3,.elementor .sk-policy .ez-container h3.enzuzo-privacyPolicySubHeader{display:block;margin:var(--space-lg) 0 0;padding:0;font-family:stevie-sans;font-weight:700;font-size:var(--text-h4);line-height:1.3;color:var(--primary)}
.elementor .sk-policy .ez-container h4,.elementor .sk-policy .ez-container h4.enzuzo-policySubSubHeader{margin:var(--space-md) 0 0;padding:0;font-family:stevie-sans;font-weight:600;font-size:var(--text-h5);line-height:1.4;color:var(--primary)}
.elementor .sk-policy .ez-container p,.elementor .sk-policy .ez-container li,.elementor .sk-policy .ez-container div{font-family:ff-tisa-web-pro;font-size:var(--text-body-md);line-height:1.6;color:var(--text-body)}
.elementor .sk-policy .ez-container p{margin:var(--space-sm) 0 0;padding:0}
.elementor .sk-policy .ez-container ul{margin:var(--space-sm) 0 0;padding-left:1.25rem}
.elementor .sk-policy .ez-container li{padding:0;margin:0.4em 0 0}
.elementor .sk-policy .ez-container strong{color:var(--primary);font-weight:700}
.elementor .sk-policy .ez-container a{color:var(--classic-blue);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.elementor .sk-policy .ez-container a:hover,.elementor .sk-policy .ez-container a:focus-visible{color:var(--primary)}
.elementor .sk-policy .ez-container select{font-family:stevie-sans;font-size:var(--text-body-sm);color:var(--primary);background-color:var(--white);border:1px solid var(--line);border-radius:6px;min-height:44px}
.elementor .sk-policy .ez-container select:focus-visible{border-color:var(--classic-blue);outline:3px solid var(--classic-blue);outline-offset:2px}
.elementor .sk-policy .ez-container [ez-locale]{justify-content:flex-start;gap:var(--space-sm)}
.elementor .sk-policy .ez-container [ez-last-updated]{display:block;margin-top:var(--space-xl);font-family:stevie-sans;font-size:var(--text-body-sm);line-height:1.5;color:var(--text-body)}
.elementor .sk-policy .ez-container [ez-powered]{display:inline-block;margin-top:var(--space-2xs);font-family:stevie-sans;font-size:var(--text-body-sm);line-height:1.5}
/* The Terms page uses Enzuzo's "flat" layout: its section titles force a small top margin (!important) and its sections are indented. */
.elementor .sk-policy .ez-container [ez-flat-title]{display:block;margin-top:var(--space-xl)!important;padding:0}
.elementor .sk-policy .ez-container [ez-flat-content]{padding-left:0;padding-right:0}

/* ===== Enzuzo cookie banner and preferences panel (every page; loaded by the Custom Code snippet "Enzuzo cookie banner").
   Enzuzo themes these with --ez-* variables; they're mapped to the Skylok palette here: navy text, classic-blue links
   (Enzuzo's default blue fails contrast), navy buttons that turn classic blue on hover, classic-blue switches, brand font.
   The accessibility fixes (dialog semantics, focus handling, real buttons) are in the snippet "Enzuzo: accessibility". ===== */
body .ez-consent{--ez-banner-text-color:var(--primary);--ez-banner-link-color:var(--classic-blue);--ez-banner-border:1px solid var(--line);--ez-banner-border-color:var(--line);--ez-banner-allow-all-text-color:var(--white);--ez-banner-allow-all-background-color:var(--primary);--ez-banner-allow-all-background-color-hover:var(--classic-blue);--ez-banner-allow-all-border-color:var(--primary);--ez-banner-decline-text-color:var(--white);--ez-banner-decline-background-color:var(--primary);--ez-banner-decline-background-color-hover:var(--classic-blue);--ez-banner-decline-border-color:var(--primary);--ez-preferences-text-color:var(--primary);--ez-preferences-link-color:var(--classic-blue);--ez-preferences-switch-on:var(--classic-blue);--ez-preferences-border-color:var(--line);--ez-preferences-allow-all-text-color:var(--primary);--ez-preferences-allow-all-border-color:var(--primary);--ez-preferences-allow-all-background-color-hover:var(--bg-light);--ez-preferences-decline-all-text-color:var(--primary);--ez-preferences-decline-all-border-color:var(--primary);--ez-preferences-decline-all-background-color-hover:var(--bg-light);--ez-preferences-allow-selected-text-color:var(--white);--ez-preferences-allow-selected-background-color:var(--primary);--ez-preferences-allow-selected-background-color-hover:var(--classic-blue)}
body .ez-consent :is(p,div,span,a,button,label,h1,h2,h3,h4){font-family:stevie-sans,sans-serif}
body #ez-cookie-notification .enzuzo-notification-desc,body #ez-cookie-notification .enzuzo-notification-desc *,body #ez-cookie-notification a{font-size:var(--text-body-sm);line-height:1.5}
body .ez-consent button.enzuzo-notification-button,body .ez-consent button.enzuzo-modal-button{border-radius:6px;font-weight:600;min-height:40px}
body .ez-consent .enzuzo-modal-button-close{min-width:24px;min-height:24px}
body .ez-consent .sk-ez-expand{display:inline-flex;align-items:center;padding:0;margin:0;border:0;background:none;color:inherit;cursor:pointer}
body .ez-consent .sk-ez-expand:focus-visible,body .ez-consent [data-sk-btn]:focus-visible{outline:3px solid var(--classic-blue);outline-offset:2px}/* End custom CSS */