.elementor-2319 .elementor-element.elementor-element-d54a00c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-1e0d859 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-2319 .elementor-element.elementor-element-1e0d859 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-2319 .elementor-element.elementor-element-1e0d859{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2319 .elementor-element.elementor-element-1e0d859 .elementor-icon-list-text{transition:color 0.3s;}.elementor-2319 .elementor-element.elementor-element-373cd1c{--horizontal-progress-border:none;--horizontal-border-style:none;}.elementor-2319 .elementor-element.elementor-element-158c365{--display:flex;--padding-top:186px;--padding-bottom:92px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-158c365:not(.elementor-motion-effects-element-type-background), .elementor-2319 .elementor-element.elementor-element-158c365 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F7;}.elementor-2319 .elementor-element.elementor-element-afa4109{--display:flex;}.elementor-2319 .elementor-element.elementor-element-a28ffa1{--display:flex;}.elementor-2319 .elementor-element.elementor-element-4d96157{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--flex-wrap:wrap;}.elementor-2319 .elementor-element.elementor-element-8993da8{--display:flex;}.elementor-2319 .elementor-element.elementor-element-06e5488{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--flex-wrap:nowrap;}.elementor-2319 .elementor-element.elementor-element-86c6e7f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--flex-wrap:nowrap;}.elementor-2319 .elementor-element.elementor-element-15b6d04{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--flex-wrap:nowrap;}.elementor-2319 .elementor-element.elementor-element-dc68c7f{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-dc68c7f:not(.elementor-motion-effects-element-type-background), .elementor-2319 .elementor-element.elementor-element-dc68c7f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2319 .elementor-element.elementor-element-dee324b{--display:flex;}.elementor-2319 .elementor-element.elementor-element-6997a88{--display:flex;}.elementor-2319 .elementor-element.elementor-element-662e5e3{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-662e5e3:not(.elementor-motion-effects-element-type-background), .elementor-2319 .elementor-element.elementor-element-662e5e3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F7;}.elementor-2319 .elementor-element.elementor-element-e693092{--display:flex;}.elementor-2319 .elementor-element.elementor-element-d44ade9{--display:flex;}.elementor-2319 .elementor-element.elementor-element-f538c91{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-f538c91:not(.elementor-motion-effects-element-type-background), .elementor-2319 .elementor-element.elementor-element-f538c91 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2319 .elementor-element.elementor-element-d7b4a41{--display:flex;}.elementor-2319 .elementor-element.elementor-element-5dc2e3b{--display:flex;}.elementor-2319 .elementor-element.elementor-element-3bb06a1{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-3bb06a1:not(.elementor-motion-effects-element-type-background), .elementor-2319 .elementor-element.elementor-element-3bb06a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F7;}.elementor-2319 .elementor-element.elementor-element-df7ea1f{--display:flex;}.elementor-2319 .elementor-element.elementor-element-d8498e4{--display:flex;}.elementor-2319 .elementor-element.elementor-element-707c036{--display:flex;--padding-top:0px;--padding-bottom:96px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-707c036:not(.elementor-motion-effects-element-type-background), .elementor-2319 .elementor-element.elementor-element-707c036 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F7;}.elementor-2319 .elementor-element.elementor-element-c7cf4dc{--display:flex;}.elementor-2319 .elementor-element.elementor-element-3681d88{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--flex-wrap:nowrap;}.elementor-2319 .elementor-element.elementor-element-ca13f43{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--flex-wrap:nowrap;}.elementor-2319 .elementor-element.elementor-element-ef28f8e{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:40px;--padding-right:40px;}.elementor-2319 .elementor-element.elementor-element-ef28f8e:not(.elementor-motion-effects-element-type-background), .elementor-2319 .elementor-element.elementor-element-ef28f8e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1436;}.elementor-2319 .elementor-element.elementor-element-dbb7acc{--display:flex;}/* Start custom CSS *//* ======================================================================
   /faq/  (post 2319)  —  .syq-*
   Sky accent (the design's own default), so no --syp-accent override.
   Shared rules come from the kit (.sy-*, post 6) and the page layer
   (.syp-*, post 22). Only what this design does differently lives here.
   Design stacks at 940px; the layer stacks at 1024px, so every grid this
   page owns sets its own columns and its own 940 stack point.
   ====================================================================== */
#top,#booking,#includes,#pricing,#trust,#quote{scroll-margin-top:138px}

/* Kit seam ::before and layer wash ::before are the same pseudo-element. */
.sy-sec.syp-wash::before{top:0;left:0;right:0;bottom:0;height:auto;z-index:0;transform:none}
/* .sy-sec clips its overflow, which would kill position:sticky on the
   category headings. These four sections have nothing to clip. */
.syq-cat{overflow:visible}

/* ============ RAIL ============ */
.syq-rail{background:var(--color-bg-glass);border-bottom:1px solid var(--color-border-default);z-index:98}
.syq-rail > .e-con-inner{max-width:none!important;margin:0;padding:0;position:relative;gap:26px}
.syq-raillist{flex:0 1 auto;min-width:0}
/* Script carrier only — the design's question filter was dropped, but this
   widget still runs the single-open-answer collapse and the FAQPage JSON-LD. */
.syq-filter{display:none}
.syq-rail.syq-rail .elementor-icon-list-item a{height:55px}
/* Elementor sizes this widget from --container-widget-width, which is unset
   here and collapses the bar to 0. Pinning both edges sidesteps the width. */
.syq-progress{position:absolute!important;left:0;right:0;bottom:-1px;width:auto!important;height:2px;pointer-events:none}
.syq-progress > .elementor-widget-container{height:2px}
.syq-progress .elementor-scrolling-tracker{height:2px;min-height:0;background:transparent;border-radius:0;overflow:hidden}
.syq-progress .current-progress{background:var(--color-accent);height:2px;border-radius:0;opacity:.85}
.syq-progress .current-progress-percentage{display:none}

/* ============ SHARED ============ */
.syq-col > .e-con-inner{padding:0;gap:0;max-width:none!important}
.syq-h2 .elementor-heading-title{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,3.2vw,38px);line-height:1.1;letter-spacing:-0.03em;color:var(--color-ink-800);margin:0}
.syq-h2--24 .elementor-heading-title{margin:0 0 24px}
/* The 44px dashed icon tile, painted on .e-con-inner::before. */
.syq-hcard > .e-con-inner::before,.syq-ccard > .e-con-inner::before{content:'icon';display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:10px;border:1px dashed var(--color-border-strong);font-family:var(--font-display);font-size:10px;font-weight:500;color:var(--color-sand-500)}
.syq-hcard--mint > .e-con-inner::before,.syq-ccard--mint > .e-con-inner::before{background:var(--wash-mint)}
.syq-hcard--sky > .e-con-inner::before{background:var(--wash-sky)}
.syq-hcard--lilac > .e-con-inner::before{background:var(--wash-lilac)}
.syq-ccard--blush > .e-con-inner::before{background:var(--wash-blush)}

/* ============ HERO ============ */
.syq-hero{overflow:hidden}
.syq-hero.syq-hero > .e-con-inner::before{top:-340px;right:-180px;left:auto;bottom:auto;width:720px;height:720px;background:var(--aura-sky)}
.syq-hero.syq-hero > .e-con-inner::after{content:'';position:absolute;bottom:-300px;left:-240px;width:600px;height:600px;border-radius:50%;background:var(--aura-mint);pointer-events:none;z-index:-1;animation:sy-drift 44s var(--ease-glide) infinite;animation-delay:-12s}
@media(prefers-reduced-motion:reduce){.syq-hero.syq-hero > .e-con-inner::after{animation:none}}
.syq-herogrid.syq-herogrid > .e-con-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end;max-width:1160px!important;padding:0}
.syq-herogrid > .e-con-inner > .e-con{width:100%!important;max-width:none!important;flex:none!important}
.syq-h1.syq-h1 .elementor-heading-title{font-size:clamp(34px,4.6vw,60px);margin:0 0 28px}
.elementor-2319 .syq-lede p{margin:0 0 36px;max-width:70ch}
.syq-herocta > .e-con-inner{gap:24px;padding:0;max-width:none!important}
.syq-herocta > .e-con-inner > .elementor-widget{width:auto}
.elementor-2319 .syq-heronote p{margin:0;font-size:16px;line-height:1.7;color:var(--color-ink-500)}
.syq-herocards > .e-con-inner{display:grid;gap:14px;max-width:none!important;padding:0}
.syq-herocards > .e-con-inner > .e-con{width:100%!important;max-width:none!important;flex:none!important}
.syq-hcard{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:20px 22px;box-shadow:var(--shadow-1)}
.syq-hcard > .e-con-inner{padding:0;gap:16px;max-width:none!important}
.syq-hcard > .e-con-inner > .elementor-widget{width:auto!important;flex:1 1 auto;min-width:0}
.elementor-2319 .syq-hcardtext p{margin:0;font-family:var(--font-display);font-size:16px;font-weight:500;line-height:1.45;color:var(--color-ink-800)}

/* ============ CATEGORY SECTIONS ============ */
.syq-catgrid.syq-catgrid > .e-con-inner{display:grid;grid-template-columns:.62fr 1fr;gap:56px;align-items:start;max-width:1000px!important;padding:0}
.syq-catgrid > .e-con-inner > .e-con,.syq-catgrid > .e-con-inner > .elementor-widget{width:100%!important;max-width:none!important;flex:none!important}
.syq-cathead{position:sticky;top:158px;align-self:start}
.elementor-2319 .syq-faq .elementor-tab-content{padding:0 0 28px!important}
.elementor-2319 .syq-faq .elementor-tab-content p{margin:0 0 18px}
.elementor-2319 .syq-faq .elementor-tab-content p:last-child{margin:0}
.syq-faq .elementor-tab-title{min-height:44px}
/* Scope list inside the first answer. The 18px paragraph margin above it
   collapses with this 20px top margin, which is what the design asks for. */
.syq-scopelist{list-style:none;margin:20px 0;padding:0;border-top:1px solid var(--color-border-default)}
.syq-scopelist li{margin:0;display:flex;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--color-border-default);font-size:17px;line-height:1.7;color:var(--color-ink-600)}
.syq-scopelist li::before{content:'';width:12px;height:1px;background:var(--color-sand-300);flex:none;transform:translateY(-5px)}
.syq-scopelist strong{font-family:var(--font-display);font-weight:600;color:var(--color-ink-800)}

/* ============ PRICE PANEL ============ */
.syq-price{border:1px solid var(--color-border-default);background:var(--wash-sky);border-radius:var(--radius-card);padding:22px 24px}
.syq-pricelabel{font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--color-ink-500);margin-bottom:10px}
.syq-pricefig{font-family:var(--font-body);font-size:30px;font-weight:600;color:var(--color-ink-800);line-height:1.1}
.elementor-2319 .syq-pricenote{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--color-ink-500)}

/* ============ CONTACT STRIP ============ */
.syq-contactgrid.syq-contactgrid > .e-con-inner{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px!important;padding:0;margin:0 auto}
.syq-contactgrid > .e-con-inner > .e-con{width:100%!important;max-width:none!important;flex:none!important}
.syq-ccard{border:1px solid var(--color-border-default);border-radius:var(--radius-card);background:var(--color-bg-surface);padding:26px 28px;box-shadow:var(--shadow-1)}
.syq-ccard > .e-con-inner{padding:0;gap:18px;max-width:none!important}
.syq-ccard > .e-con-inner > .elementor-widget{width:auto!important;flex:1 1 auto;min-width:0}
.elementor-2319 .syq-ctext p{margin:0;font-size:18px;line-height:1.6;color:var(--color-ink-600)}

/* ============ CTA BAND ============ */
.syq-cta.syq-cta > .e-con-inner::before{top:auto;right:auto;bottom:-260px;left:30%;width:620px;height:620px;background:var(--aura-sky)}
.syq-ctah2.syq-ctah2 .elementor-heading-title{font-size:clamp(28px,3.8vw,46px);margin:0 0 20px}
.elementor-2319 .syq-ctalede p{margin:0 auto 34px;max-width:64ch;font-size:19px;line-height:1.7;color:rgba(255,255,255,.82)}

/* ============ RESPONSIVE ============
   Elementor's tablet default adds 24px inline padding to every nested
   container and it compounds with depth; the two card types set their own
   padding on .e-con, so they are the exceptions. */
@media(max-width:1024px){
.elementor-2319 .e-con:not(.e-parent):not(.syq-hcard):not(.syq-ccard){padding-left:0!important;padding-right:0!important}
}
@media(max-width:940px){
.elementor-2319 .sy-sec,.elementor-2319 .syq-contact{padding-left:22px!important;padding-right:22px!important}
.syq-rail{padding-left:22px!important;padding-right:22px!important}
.syq-rail.syq-rail .elementor-icon-list-item a{height:53px}
.syq-rail > .e-con-inner{gap:18px}
.syq-herogrid.syq-herogrid > .e-con-inner,.syq-catgrid.syq-catgrid > .e-con-inner{grid-template-columns:1fr;gap:32px}
.syq-herocards > .e-con-inner{gap:18px}
.syq-contactgrid.syq-contactgrid > .e-con-inner{grid-template-columns:1fr;gap:18px}
.syq-cathead{position:static}
}
@media(max-width:767px){
.syq-hcard{padding:18px 20px}
.syq-ccard{padding:22px 24px}
}/* End custom CSS */