.elementor-kit-3020{--e-global-color-primary:#0E1B2B;--e-global-color-secondary:#B59B4C;--e-global-color-text:#2E3237;--e-global-color-accent:#7E6A2E;--e-global-color-163a5695:#0E1B2B;--e-global-color-2b5b1670:#000000;--e-global-color-0839dfc:#0A1420;--e-global-color-6877cdc:#E8E8EB;--e-global-color-07570d5:#13243A;--e-global-color-c0ffw01:#F8F8F6;--e-global-color-c0wht02:#FFFFFF;--e-global-color-c0gld03:#A38A3E;--e-global-color-c0chr04:#333333;--e-global-color-c0mut05:#4E5663;--e-global-color-c0lin06:#D9D9DE;--e-global-color-c0onv07:#FFFFFFD6;--e-global-color-c0ons08:#FFFFFFA3;--e-global-color-c0lnd09:#FFFFFF29;--e-global-color-c0ok010:#3F7A57;--e-global-color-c0rsk11:#A64B42;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:2rem;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.1;--e-global-typography-primary-letter-spacing:-0.018em;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:1.2rem;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.3;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:18.5px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.72;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.2;--e-global-typography-accent-letter-spacing:0.005em;--e-global-typography-284aed3-font-family:"Montserrat";--e-global-typography-284aed3-font-size:clamp(2.6rem, 4.3vw, 4.25rem);--e-global-typography-284aed3-font-weight:800;--e-global-typography-284aed3-line-height:1.02;--e-global-typography-284aed3-letter-spacing:-0.03em;--e-global-typography-00549b7-font-family:"Inter";--e-global-typography-00549b7-font-size:clamp(1.18rem, 1.45vw, 1.34rem);--e-global-typography-00549b7-font-weight:400;--e-global-typography-00549b7-line-height:1.62;--e-global-typography-d70da10-font-family:"Inter";--e-global-typography-d70da10-font-size:1.2rem;--e-global-typography-d70da10-font-weight:400;--e-global-typography-d70da10-line-height:1.7;--e-global-typography-76942a9-font-family:"Montserrat";--e-global-typography-76942a9-font-size:0.82rem;--e-global-typography-76942a9-font-weight:700;--e-global-typography-76942a9-text-transform:uppercase;--e-global-typography-76942a9-line-height:1.5;--e-global-typography-76942a9-letter-spacing:0.16em;--e-global-typography-t0h1001-font-family:"Montserrat";--e-global-typography-t0h1001-font-size:clamp(2.4rem, 4.6vw, 3.9rem);--e-global-typography-t0h1001-font-weight:800;--e-global-typography-t0h1001-line-height:1.05;--e-global-typography-t0h1001-letter-spacing:-0.026em;--e-global-typography-t0h2002-font-family:"Montserrat";--e-global-typography-t0h2002-font-size:clamp(2rem, 3.5vw, 3.05rem);--e-global-typography-t0h2002-font-weight:800;--e-global-typography-t0h2002-line-height:1.08;--e-global-typography-t0h2002-letter-spacing:-0.024em;--e-global-typography-t0h3003-font-family:"Montserrat";--e-global-typography-t0h3003-font-size:clamp(1.35rem, 2vw, 1.7rem);--e-global-typography-t0h3003-font-weight:700;--e-global-typography-t0h3003-line-height:1.22;--e-global-typography-t0h3003-letter-spacing:-0.018em;--e-global-typography-t0h4004-font-family:"Montserrat";--e-global-typography-t0h4004-font-size:1.2rem;--e-global-typography-t0h4004-font-weight:700;--e-global-typography-t0h4004-line-height:1.3;--e-global-typography-t0h4004-letter-spacing:-0.018em;--e-global-typography-t0crd05-font-family:"Montserrat";--e-global-typography-t0crd05-font-size:1.15rem;--e-global-typography-t0crd05-font-weight:700;--e-global-typography-t0crd05-line-height:1.28;--e-global-typography-t0crd05-letter-spacing:-0.018em;--e-global-typography-t0stm06-font-family:"Montserrat";--e-global-typography-t0stm06-font-size:clamp(1.4rem, 2.3vw, 1.9rem);--e-global-typography-t0stm06-font-weight:700;--e-global-typography-t0stm06-line-height:1.28;--e-global-typography-t0stm06-letter-spacing:-0.015em;--e-global-typography-t0fxl07-font-family:"Montserrat";--e-global-typography-t0fxl07-font-size:clamp(3.6rem, 8vw, 7rem);--e-global-typography-t0fxl07-font-weight:800;--e-global-typography-t0fxl07-line-height:0.95;--e-global-typography-t0fxl07-letter-spacing:-0.03em;--e-global-typography-t0flg08-font-family:"Montserrat";--e-global-typography-t0flg08-font-size:clamp(2.6rem, 5vw, 4.2rem);--e-global-typography-t0flg08-font-weight:800;--e-global-typography-t0flg08-line-height:0.95;--e-global-typography-t0flg08-letter-spacing:-0.03em;--e-global-typography-t0flb09-font-family:"Montserrat";--e-global-typography-t0flb09-font-size:0.78rem;--e-global-typography-t0flb09-font-weight:700;--e-global-typography-t0flb09-text-transform:uppercase;--e-global-typography-t0flb09-line-height:1.4;--e-global-typography-t0flb09-letter-spacing:0.16em;--e-global-typography-t0sml10-font-family:"Inter";--e-global-typography-t0sml10-font-size:0.92rem;--e-global-typography-t0sml10-font-weight:400;--e-global-typography-t0sml10-line-height:1.6;--e-global-typography-t0lnk11-font-family:"Montserrat";--e-global-typography-t0lnk11-font-size:1rem;--e-global-typography-t0lnk11-font-weight:700;--e-global-typography-t0lnk11-line-height:1.72;--e-global-typography-t0bsm12-font-family:"Montserrat";--e-global-typography-t0bsm12-font-size:0.9rem;--e-global-typography-t0bsm12-font-weight:700;--e-global-typography-t0bsm12-line-height:1.2;--e-global-typography-t0bsm12-letter-spacing:0.005em;--e-global-typography-t0lbl13-font-family:"Montserrat";--e-global-typography-t0lbl13-font-size:0.86rem;--e-global-typography-t0lbl13-font-weight:700;--e-global-typography-t0lbl13-line-height:1.4;background-color:var( --e-global-color-c0ffw01 );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-3020 button,.elementor-kit-3020 input[type="button"],.elementor-kit-3020 input[type="submit"],.elementor-kit-3020 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-primary );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-secondary );border-radius:2px 2px 2px 2px;padding:18px 28px 18px 28px;}.elementor-kit-3020 button:hover,.elementor-kit-3020 button:focus,.elementor-kit-3020 input[type="button"]:hover,.elementor-kit-3020 input[type="button"]:focus,.elementor-kit-3020 input[type="submit"]:hover,.elementor-kit-3020 input[type="submit"]:focus,.elementor-kit-3020 .elementor-button:hover,.elementor-kit-3020 .elementor-button:focus{background-color:var( --e-global-color-c0gld03 );color:var( --e-global-color-primary );}.elementor-kit-3020 e-page-transition{background-color:#FFBC7D;}.elementor-kit-3020 p{margin-block-end:1.05em;}.elementor-kit-3020 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-t0h1001-font-family ), Sans-serif;font-size:var( --e-global-typography-t0h1001-font-size );font-weight:var( --e-global-typography-t0h1001-font-weight );line-height:var( --e-global-typography-t0h1001-line-height );letter-spacing:var( --e-global-typography-t0h1001-letter-spacing );}.elementor-kit-3020 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-t0h2002-font-family ), Sans-serif;font-size:var( --e-global-typography-t0h2002-font-size );font-weight:var( --e-global-typography-t0h2002-font-weight );line-height:var( --e-global-typography-t0h2002-line-height );letter-spacing:var( --e-global-typography-t0h2002-letter-spacing );}.elementor-kit-3020 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-t0h3003-font-family ), Sans-serif;font-size:var( --e-global-typography-t0h3003-font-size );font-weight:var( --e-global-typography-t0h3003-font-weight );line-height:var( --e-global-typography-t0h3003-line-height );letter-spacing:var( --e-global-typography-t0h3003-letter-spacing );}.elementor-kit-3020 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-t0h4004-font-family ), Sans-serif;font-size:var( --e-global-typography-t0h4004-font-size );font-weight:var( --e-global-typography-t0h4004-font-weight );line-height:var( --e-global-typography-t0h4004-line-height );letter-spacing:var( --e-global-typography-t0h4004-letter-spacing );}.elementor-kit-3020 h5{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:1.08rem;font-weight:700;line-height:1.3;}.elementor-kit-3020 h6{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:0.95rem;font-weight:700;line-height:1.35;}.elementor-kit-3020 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-t0lbl13-font-family ), Sans-serif;font-size:var( --e-global-typography-t0lbl13-font-size );font-weight:var( --e-global-typography-t0lbl13-font-weight );line-height:var( --e-global-typography-t0lbl13-line-height );}.elementor-kit-3020 input:not([type="button"]):not([type="submit"]),.elementor-kit-3020 textarea,.elementor-kit-3020 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-primary );background-color:var( --e-global-color-c0wht02 );border-style:solid;border-width:1px 1px 1px 1px;border-color:#BFC2C9;border-radius:2px 2px 2px 2px;}.elementor-kit-3020 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-3020 textarea:focus,.elementor-kit-3020 .elementor-field-textual:focus{box-shadow:0px 0px 0px 3px rgba(181,155,76,0.4);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:960px){.elementor-kit-3020{--e-global-typography-t0h1001-font-size:clamp(2rem, 5.2vw, 2.75rem);--e-global-typography-t0h2002-font-size:clamp(1.7rem, 4.1vw, 2.1rem);font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-3020 h1{font-size:var( --e-global-typography-t0h1001-font-size );line-height:var( --e-global-typography-t0h1001-line-height );letter-spacing:var( --e-global-typography-t0h1001-letter-spacing );}.elementor-kit-3020 h2{font-size:var( --e-global-typography-t0h2002-font-size );line-height:var( --e-global-typography-t0h2002-line-height );letter-spacing:var( --e-global-typography-t0h2002-letter-spacing );}.elementor-kit-3020 h3{font-size:var( --e-global-typography-t0h3003-font-size );line-height:var( --e-global-typography-t0h3003-line-height );letter-spacing:var( --e-global-typography-t0h3003-letter-spacing );}.elementor-kit-3020 h4{font-size:var( --e-global-typography-t0h4004-font-size );line-height:var( --e-global-typography-t0h4004-line-height );letter-spacing:var( --e-global-typography-t0h4004-letter-spacing );}.elementor-kit-3020 button,.elementor-kit-3020 input[type="button"],.elementor-kit-3020 input[type="submit"],.elementor-kit-3020 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-3020 label{font-size:var( --e-global-typography-t0lbl13-font-size );line-height:var( --e-global-typography-t0lbl13-line-height );}.elementor-kit-3020 input:not([type="button"]):not([type="submit"]),.elementor-kit-3020 textarea,.elementor-kit-3020 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}}@media(max-width:640px){.elementor-kit-3020{--e-global-typography-t0h1001-font-size:2rem;--e-global-typography-t0h2002-font-size:1.7rem;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-3020 h1{font-size:var( --e-global-typography-t0h1001-font-size );line-height:var( --e-global-typography-t0h1001-line-height );letter-spacing:var( --e-global-typography-t0h1001-letter-spacing );}.elementor-kit-3020 h2{font-size:var( --e-global-typography-t0h2002-font-size );line-height:var( --e-global-typography-t0h2002-line-height );letter-spacing:var( --e-global-typography-t0h2002-letter-spacing );}.elementor-kit-3020 h3{font-size:var( --e-global-typography-t0h3003-font-size );line-height:var( --e-global-typography-t0h3003-line-height );letter-spacing:var( --e-global-typography-t0h3003-letter-spacing );}.elementor-kit-3020 h4{font-size:var( --e-global-typography-t0h4004-font-size );line-height:var( --e-global-typography-t0h4004-line-height );letter-spacing:var( --e-global-typography-t0h4004-letter-spacing );}.elementor-kit-3020 button,.elementor-kit-3020 input[type="button"],.elementor-kit-3020 input[type="submit"],.elementor-kit-3020 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-3020 label{font-size:var( --e-global-typography-t0lbl13-font-size );line-height:var( --e-global-typography-t0lbl13-line-height );}.elementor-kit-3020 input:not([type="button"]):not([type="submit"]),.elementor-kit-3020 textarea,.elementor-kit-3020 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:16px;--container-default-padding-bottom:0px;--container-default-padding-left:16px;}}/* Start custom CSS *//* =====================================================================
   The QS Co. — global utility classes (Site Settings > Custom CSS)
   Colours/fonts come from the Site Kit globals (--e-global-*), so change
   them in Site Settings > Global Colors / Global Fonts, not here.
   Use: add the class in the widget/container > Advanced > CSS Classes.
   ===================================================================== */
html, body { width: 100%; overflow-x: hidden; }
/* anchor jumps clear the sticky header (HTML: scroll-padding-top) */
html { scroll-padding-top: 108px; }
@media (max-width: 960px) { html { scroll-padding-top: 92px; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:focus-visible { outline: 3px solid var(--e-global-color-secondary); outline-offset: 3px; }
.text-highlight { color: var(--e-global-color-accent); }
/* Heading widgets rendered as <p>/<div> must not pick up the paragraph spacing */
.elementor-kit-3020 .elementor-heading-title { margin-block: 0; }
/* links inherit their text colour, like the HTML (a { color: inherit }) */
.elementor-kit-3020 a { color: inherit; }

/* ---- Trademark mark inside headings: <span class="tm">™</span> ---- */
.tm { font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: 500; font-size: .92em; letter-spacing: 0; }
.elementor-heading-title .tm { font-size: .5em; vertical-align: .95em; font-weight: 600; margin-left: .04em; }

/* ---- Buttons (Button widget). Default = gold. ---- */
.elementor-kit-3020 .elementor-button { gap: 12px; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.elementor-kit-3020 .elementor-button .elementor-button-icon { transition: transform .2s ease; }
.elementor-kit-3020 .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
/* btn--navy */
.elementor-kit-3020 .btn--navy .elementor-button { background-color: var(--e-global-color-primary); border-color: var(--e-global-color-primary); color: #fff; }
.elementor-kit-3020 .btn--navy .elementor-button:hover { background-color: var(--e-global-color-07570d5); border-color: var(--e-global-color-07570d5); color: #fff; }
/* btn--ghost (navy outline, for light backgrounds) */
.elementor-kit-3020 .btn--ghost .elementor-button { background-color: transparent; border-color: var(--e-global-color-primary); color: var(--e-global-color-primary); }
.elementor-kit-3020 .btn--ghost .elementor-button:hover { background-color: var(--e-global-color-primary); color: #fff; }
/* btn--ghost-light (white outline, for navy backgrounds) */
.elementor-kit-3020 .btn--ghost-light .elementor-button { background-color: transparent; border-color: rgba(255,255,255,.5); color: #fff; }
.elementor-kit-3020 .btn--ghost-light .elementor-button:hover { background-color: rgba(255,255,255,.08); border-color: #fff; color: #fff; }
/* btn--sm / btn--block (combine with any colour) */
.elementor-kit-3020 .btn--sm .elementor-button { padding: 13px 20px; font-size: var(--e-global-typography-t0bsm12-font-size); }
.btn--block, .btn--block .elementor-button { width: 100%; }
/* text-link: navy text with gold underline (Button widget) */
.elementor-kit-3020 .text-link .elementor-button { background: transparent; border: 0; border-bottom: 2px solid var(--e-global-color-secondary); border-radius: 0; padding: 0 0 4px; color: var(--e-global-color-primary); }
.elementor-kit-3020 .text-link .elementor-button:hover { background: transparent; color: var(--e-global-color-accent); }
@media (max-width: 767px) { .elementor-kit-3020 .btn-row-stack .elementor-button { width: 100%; } }

/* ---- Kicker (Heading widget, global font "Kicker") — gold C-segment before the text ---- */
.kicker .elementor-heading-title::before {
  content: ""; display: inline-block; vertical-align: -5px; margin-right: 12px; width: 11px; height: 21px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='140 50 52 100'%3E%3Cpath fill='%23B59B4C' d='M189.42 55.22A100 100 0 0 1 189.42 144.78L146 124.63L146 75.37Z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.kicker .elementor-heading-title .n { color: var(--e-global-color-accent); margin-right: 4px; }

/* ---- Lead paragraph (Text Editor widget) ---- */
/* (size/line-height come from the widget typography: global font "Lead") */
.lead p:last-child, .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---- Rich text: strong = navy, like the HTML ---- */
.elementor-widget-text-editor strong { font-weight: 600; color: var(--e-global-color-primary); }

/* ---- Dark sections: add "on-dark" to a navy Container ---- */
.elementor-kit-3020 .on-dark { color: var(--e-global-color-c0onv07); }
.elementor-kit-3020 .on-dark :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title) { color: #fff; }
.elementor-kit-3020 .on-dark .elementor-widget-text-editor { color: var(--e-global-color-c0onv07); }
.elementor-kit-3020 .on-dark .lead { color: rgba(255,255,255,.88); }
.elementor-kit-3020 .on-dark strong { color: #fff; }
.elementor-kit-3020 .on-dark .kicker .elementor-heading-title .n,
.elementor-kit-3020 .on-dark .text-gold { color: var(--e-global-color-secondary); }
.elementor-kit-3020 .on-dark .text-link .elementor-button { color: #fff; }
.elementor-kit-3020 .on-dark .text-link .elementor-button:hover { color: var(--e-global-color-secondary); }
.elementor-kit-3020 .on-dark a:not(.elementor-button) { color: inherit; }

/* ---- Small helpers ---- */
.text-gold { color: var(--e-global-color-accent); }
.muted { color: var(--e-global-color-c0mut05); }
.measure { max-width: 720px; }
.measure-sm { max-width: 560px; }
.prose p { max-width: 62ch; }
.card-shadow { box-shadow: 0 20px 50px rgba(14, 27, 43, .12); }
.gold-top { border-top: 6px solid var(--e-global-color-secondary); }

/* =====================================================================
   COMPONENTS — only what Elementor controls can't express (pseudo
   elements, counters, hover chains). Sizes/colours live on the widgets.
   ===================================================================== */

/* ---- Line icons (uploaded SVGs drawn with stroke) ---- */
.elementor svg[stroke="currentColor"] { fill: none !important; }
/* Elementor colours icon SVGs with fill only, so stroke icons use the gold token (all QS icons are gold) */
.elementor-icon-list-icon svg[stroke="currentColor"] { stroke: var(--qs-icon-color, var(--e-global-color-secondary)); }
.elementor-button-icon svg[stroke="currentColor"] { stroke: currentColor; }

/* ---- Photos: the HTML's warm photo grade. Image widget or bg container ---- */
.ph img, .ph-bg { filter: saturate(.74) contrast(1.07) sepia(.06) brightness(.99); }
.ph img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Header (Theme Builder: QS – Header) ---- */
.qs-strap .elementor-heading-title span, .qs-footer-strap .elementor-heading-title span { color: var(--e-global-color-secondary); }
.qs-header { transition: box-shadow .2s ease; }
.qs-header.elementor-sticky--effects { box-shadow: 0 6px 24px rgba(14, 27, 43, .08); }
.qs-nav .elementor-nav-menu--main .menu-cta { display: none; }
.qs-nav .elementor-nav-menu--dropdown .menu-cta { padding: 28px 0 8px; border: 0; }
.qs-nav .elementor-nav-menu--dropdown .menu-cta > a.elementor-item {
  justify-content: center; background: var(--e-global-color-secondary) !important; color: var(--e-global-color-primary) !important;
  font-family: var(--e-global-typography-accent-font-family), sans-serif; font-weight: 700; font-size: .9rem;
  padding: 13px 20px !important; border-radius: 2px; border-bottom: 0 !important; white-space: normal; text-align: center;
}

/* ---- Footer (Theme Builder: QS – Footer) ---- */
.qs-footer { color: var(--e-global-color-c0ons08); }
.qs-footer-nav .elementor-item:hover { text-decoration: underline; text-decoration-color: var(--e-global-color-secondary); text-underline-offset: 5px; }
/* contact lines without a link (address) use the softer footer colour, like the HTML */
.elementor-kit-3020 .qs-footer .footer-contact .elementor-icon-list-item:not(:has(a)) .elementor-icon-list-text { color: var(--e-global-color-c0ons08); }
.footer-impact strong { color: #fff; font-weight: 600; }
.footer-impact span { display: block; margin-top: 6px; }

/* ---- Legal pages: content column ---- */
.elementor-kit-3020 .legal-copy h2 { font-size: 26px; font-weight: 700; line-height: 1.72; margin: 40px 0 20px; }
.legal-copy ul { padding-left: 24px; }
.elementor-kit-3020 .legal-copy a { text-decoration: underline; }

/* ---- CONTROL framework tiles (saved section: QS – CONTROL framework) ---- */
.control-sign { counter-reset: cs; }
.control-sign .cs-item { counter-increment: cs; text-decoration: none; color: inherit; }
.cs-tile { position: relative; aspect-ratio: 1 / 1.05; overflow: hidden; transition: background-color .25s ease; }
.cs-tile::before { content: "0" counter(cs); position: absolute; left: 14px; top: 12px; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 700; font-size: .72rem; letter-spacing: .12em; color: var(--e-global-color-secondary); }
.cs-tile::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--e-global-color-secondary); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.cs-item:hover .cs-tile, .cs-item:focus-within .cs-tile { background-color: var(--e-global-color-secondary) !important; }
.cs-item:hover .cs-tile .elementor-heading-title, .cs-item:focus-within .cs-tile .elementor-heading-title, .cs-item:hover .cs-tile::before { color: var(--e-global-color-primary) !important; }
.cs-item:hover .cs-tile::after, .cs-item:focus-within .cs-tile::after { transform: scaleX(1); background: var(--e-global-color-primary); }
.cs-body h3, .cs-body .elementor-heading-title { min-height: 2.6em; }
@media (max-width: 1180px) {
  .control-sign { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; row-gap: 28px !important; }
  .cs-body h3, .cs-body .elementor-heading-title { min-height: 0; }
}
@media (max-width: 640px) {
  .control-sign { grid-template-columns: minmax(0, 1fr) !important; row-gap: 3px !important; }
  .cs-tile { aspect-ratio: auto; }
  .cs-tile::before { left: 8px; top: 6px; font-size: .62rem; }
}

/* ---- Insight article (Single Post template: QS – Insight) ---- */
.insight-copy p { margin-bottom: 20px; }
.insight-copy p:first-child { font-size: 24px; line-height: 1.5; color: var(--e-global-color-primary); }
.elementor-kit-3020 .insight-copy h2 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.3; letter-spacing: -0.018em; margin: 52px 0 24px; scroll-margin-top: 130px; }
.insight-copy ul, .insight-copy ol:not(.margin-flow) { padding-left: 24px; margin: 0 0 28px; }
.insight-copy li { padding-left: 6px; margin-bottom: 8px; }
.insight-copy li::marker { color: var(--e-global-color-accent); }
.insight-copy .insight-callout { padding: 24px 28px; background: var(--e-global-color-6877cdc); border-left: 4px solid var(--e-global-color-secondary); font-weight: 600; color: var(--e-global-color-primary); line-height: 1.6; }
.insight-copy .margin-flow { display: flex; gap: 12px; flex-wrap: wrap; list-style: none; padding: 0; margin: 28px 0 48px; font-size: 15px; font-weight: 600; }
.insight-copy .margin-flow li { padding: 0; margin: 0; }
.insight-copy .margin-flow li:not(:last-child)::after { content: "→"; color: var(--e-global-color-secondary); margin-left: 12px; font-family: "Segoe UI", Arial, sans-serif; } /* HTML arrow falls back to the system font */
/* .insight-aside stickiness is Elementor's Motion Effects > Sticky (Stay In Column) on the template */
.insight-toc .elementor-toc__list-wrapper { list-style: none; margin: 0 0 28px; padding: 0; border-top: 1px solid var(--e-global-color-c0lin06); }
.insight-toc .elementor-toc__list-item { border-bottom: 1px solid var(--e-global-color-c0lin06); margin: 0; }
.insight-toc .elementor-toc__list-item-text-wrapper::before { display: none; }
.insight-toc a.elementor-toc__list-item-text { display: block; padding: 12px 0; line-height: 1.5; text-decoration: none; }
.insight-toc .elementor-toc__header { display: none; }  /* the "In this insight" kicker above replaces it */
.insight-toc .elementor-toc__list-item-text-wrapper i, .insight-toc .elementor-toc__list-item-text-wrapper svg { display: none; }
.insight-toc .elementor-toc__body { padding: 0; }
@media (max-width: 960px) {
  .insight-toc .elementor-toc__list-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
}
@media (max-width: 640px) {
  .insight-toc .elementor-toc__list-wrapper { display: block; }
}
.insight-breadcrumbs .elementor-heading-title a { text-decoration: underline; text-underline-offset: 4px; }

/* ---- Insight card (Loop Item: QS – Insight card) ---- */
.article-ph { overflow: hidden; background: var(--e-global-color-primary); }
.article-ph img { aspect-ratio: 3 / 2; transition: transform .3s; }
.article-ph:hover img { transform: scale(1.025); }
.article-title .elementor-heading-title a:hover { text-decoration: underline; text-underline-offset: 5px; }
@media (prefers-reduced-motion: reduce) { .article-ph img { transition: none; } }

/* header toggle + footer tablet layout */
.qs-nav .elementor-menu-toggle { width: 50px; height: 50px; border: 1px solid var(--e-global-color-c0lin06); border-radius: 2px; }
.qs-nav .elementor-nav-menu--dropdown { border-top: 1px solid var(--e-global-color-c0lin06); padding-bottom: 32px; }
@media (max-width: 960px) { .footer-brand { grid-column: 1 / -1; } }
@media (max-width: 640px) { .footer-brand { grid-column: auto; } }

/* posts without headings: hide the empty-state text of the table of contents */
.insight-toc .elementor-toc__body .elementor-toc__no-headings, .insight-toc .elementor-toc__no-headings { display: none; }

/* =====================================================================
   COMPONENTS (batch 2) — page sections from the HTML design system
   ===================================================================== */


/* ---- Heroes ---- */
.cf-media { position: relative; }

/* ---- Photos with fixed ratios (Image widget) ---- */
.ratio-4-44 img { aspect-ratio: 4 / 4.4; }
.ratio-4-46 img { aspect-ratio: 4 / 4.6; }
.ratio-4-3 img { aspect-ratio: 4 / 3; }
.ratio-3-2 img { aspect-ratio: 3 / 2; }
.ph.ratio-4-44 img, .ph.ratio-4-46 img, .ph.ratio-4-3 img { height: auto; }
.expert-portrait img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; width: 100%; background: var(--e-global-color-6877cdc); }

/* ---- Stroke widths for line icons (Icon widget / Icon List class) ---- */
.stroke-15 svg, .icons-15 svg { stroke-width: 1.5; }
.stroke-24 svg, .check-list svg { stroke-width: 2.4; }

/* ---- Lists rendered by Text Editor widgets (class on the widget) ---- */
.margin-flow ol { display: flex; gap: 12px; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; font-size: 15px; font-weight: 600; }
.margin-flow li:not(:last-child)::after { content: "→"; color: var(--e-global-color-secondary); margin-left: 12px; font-family: "Segoe UI", Arial, sans-serif; }

/* ---- Icon List variants ---- */
.check-list .elementor-icon-list-items { border-top: 1px solid var(--e-global-color-c0lin06); }
.check-list .elementor-icon-list-item { padding: 14px 0 !important; border-bottom: 1px solid var(--e-global-color-c0lin06); align-items: flex-start !important; }
.check-list .elementor-icon-list-icon { margin-top: 3px; }
.on-dark .check-list .elementor-icon-list-items, .on-dark .check-list .elementor-icon-list-item { border-color: var(--e-global-color-c0lnd09); }
.change-words .elementor-icon-list-items { border-top: 2px solid var(--e-global-color-primary); }
.change-words .elementor-icon-list-item { padding: 16px 0 !important; border-bottom: 1px solid var(--e-global-color-c0lin06); }

/* ---- Form availability box (contact) ---- */
.form-availability { padding: 28px; border: 1px solid var(--e-global-color-c0lin06); border-top: 3px solid var(--e-global-color-secondary); background: #fff; }
.form-availability a, .contact-value a { font-weight: 600; text-underline-offset: 4px; }
.elementor-kit-3020 .form-availability a, .elementor-kit-3020 .faq .elementor-tab-content a { text-decoration: underline; }
.contact-value a { text-decoration: none; }
.contact-value a:hover { color: var(--e-global-color-accent); }

/* ---- Pledge figure ---- */
.pledge-number { white-space: nowrap; }
.pledge-number small { display: block; font-size: 12px; letter-spacing: .18em; margin-top: 12px; }

/* ---- Implementation: journey strip arrows ---- */
.journey-step { position: relative; }
.journey-step.has-arrow::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: 0; transform: translate(50%, -50%); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--e-global-color-accent); box-shadow: 0 2px 12px rgba(14, 27, 43, .2); font: 700 1.5rem/1 var(--e-global-typography-primary-font-family), sans-serif; }
@media (max-width: 960px) { .journey-step.has-arrow::after { top: auto; right: 50%; bottom: 0; transform: translate(50%, 50%) rotate(90deg); } }

@media (max-width: 1180px) { .outcome-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ---- Comparison table extras (class compare): highlighted row, check icons, column labels. Table, cells and header use Table Styling. ---- */
.compare thead th small { display: block; font-weight: 700; color: var(--e-global-color-secondary); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 4px; }
.compare td.yes::before { content: ""; display: block; width: 24px; height: 24px; margin: 0 auto; background: var(--e-global-color-accent);
  -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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") center / contain no-repeat; }
.elementor-kit-3020 .compare.elementor-widget table tr.strong :is(th, td) { font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 800; color: var(--e-global-color-primary); font-size: 1.35rem; background: var(--e-global-color-c0ffw01); border-top: 2px solid var(--e-global-color-primary); }
.elementor-kit-3020 .compare.elementor-widget table tr.strong td { color: var(--e-global-color-accent); }
.compare .elementor-widget-container, .compare { overflow-x: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---- FAQ (Accordion widget, class faq) ---- */
.faq .elementor-accordion-item, .faq .e-n-accordion-item { border: 0 !important; border-bottom: 1px solid var(--e-global-color-c0lin06) !important; }
.faq .elementor-accordion { border-top: 2px solid var(--e-global-color-primary); }
.faq .elementor-tab-title { padding: 24px 56px 24px 0 !important; position: relative; border: 0 !important; }
.faq .elementor-accordion-icon { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; display: grid !important; place-items: center; background: var(--e-global-color-primary); color: #fff; font-size: 1.3rem; transition: background-color .2s ease; }
.faq .elementor-tab-title.elementor-active .elementor-accordion-icon { background: var(--e-global-color-secondary); }
.faq .elementor-accordion-icon i, .faq .elementor-accordion-icon svg { color: inherit; fill: currentColor; }
.faq .elementor-tab-title.elementor-active .elementor-accordion-icon i { color: var(--e-global-color-primary); }
.faq .elementor-tab-content { padding: 0 56px 28px 0 !important; max-width: 72ch; border: 0 !important; }
.faq .elementor-tab-content a { text-decoration: underline; }

/* ---- Expert bio toggle ---- */
.expert-bio .elementor-toggle-item { border: 0; }
.expert-bio .elementor-tab-title { border: 0 !important; }
.expert-bio .elementor-tab-content { border: 0 !important; padding: 24px 0 0 !important; }
.expert-bio .elementor-tab-content p { max-width: 62ch; }

/* ---- Method: steps timeline ---- */
.st-dot .elementor-heading-title { position: relative; z-index: 1; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--e-global-color-c0ffw01); border: 2px solid var(--e-global-color-primary); }
.steps--8 .st-dot .elementor-heading-title { width: 32px; height: 32px; }
.step-last .st-dot .elementor-heading-title { background: var(--e-global-color-secondary); border-color: var(--e-global-color-secondary); }

/* ---- Method: pillar letter + outcome ---- */
.pillar-media { position: relative; }
.pillar-letter { position: absolute !important; z-index: 2; right: -22px; bottom: -22px; width: clamp(92px, 10vw, 132px) !important; aspect-ratio: 1; }
.pillar-even .pillar-letter { right: auto; left: -22px; }
@media (max-width: 960px) { .pillar-letter, .pillar-even .pillar-letter { right: -8px; left: auto; bottom: -16px; } }
.outcome-label { border-right: 1px solid var(--e-global-color-c0lnd09); padding-right: 18px; }
@media (max-width: 640px) { .outcome-label { border-right: 0; padding-right: 0; } }

/* ---- Method: CONTROL jump nav (Nav Menu widget, class control-nav) ---- */
.control-nav .elementor-nav-menu--main .elementor-item { width: 46px; height: 46px; justify-content: center; padding: 0 !important; border: 1px solid var(--e-global-color-c0lnd09); transition: background-color .2s ease, color .2s ease; }
.control-nav .elementor-nav-menu--main .elementor-item:hover { border-color: var(--e-global-color-secondary); }
.control-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { background: var(--e-global-color-secondary); border-color: var(--e-global-color-secondary); color: var(--e-global-color-primary) !important; }

/* ---- CONTROL tiles: compact + dark variants ---- */
.control-sign--compact .cs-tile { aspect-ratio: 1 / .82; }
.control-sign--compact .cs-body { border-top: 0 !important; }
.control-sign--compact .cs-body .elementor-heading-title { min-height: 0; }
.on-dark .cs-tile { background-color: var(--e-global-color-07570d5) !important; box-shadow: inset 0 0 0 1px var(--e-global-color-c0lnd09); }
.on-dark .cs-item:hover .cs-tile, .on-dark .cs-item:focus-within .cs-tile { background-color: var(--e-global-color-secondary) !important; }
@media (max-width: 640px) { .control-sign--compact .cs-tile { aspect-ratio: auto; } }

/* ---- Index: before / after ---- */
.ba-arrow { position: absolute !important; z-index: 2; left: calc(100% / 2.45); top: 50%; transform: translate(-50%, -50%); }
@media (max-width: 960px) { .ba-arrow { position: relative !important; left: auto; top: auto; transform: rotate(90deg); margin: -32px auto !important; } }

/* ---- Index: route image tag ---- */
.route-media { position: relative; }

/* ---- Report mock (saved template: QS – Commercial review) — one HTML widget, original markup ---- */
.sheet-comp { position: relative; }
.sheet-photo { position: absolute !important; right: 0; top: 0; width: 64% !important; height: 82%; }
.qs-report { position: relative; margin: 0; }
.qs-report .report-under { position: absolute; inset: 14px -14px -14px 14px; background: #EFEDE7; border: 1px solid #D8D5CC; box-shadow: 0 20px 40px rgba(14, 27, 43, .18); }
.qs-report .report-page { position: relative; background: #FDFCF9; border: 1px solid #D8D5CC; box-shadow: 0 30px 60px rgba(14, 27, 43, .22); padding: 28px 30px 20px; color: var(--e-global-color-c0chr04); }
.qs-report .report-page::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--e-global-color-primary); }
.qs-report p { margin: 0; }
.qs-report .rp-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 4px 16px; padding-bottom: 14px; border-bottom: 2px solid var(--e-global-color-primary); }
.qs-report .rp-brand { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 700; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--e-global-color-c0mut05); }
.qs-report .rp-brand .cm { width: 18px; height: 18px; display: block; flex: none; }
.qs-report .cm-n { fill: var(--e-global-color-primary); }
.qs-report .cm-g { fill: var(--e-global-color-secondary); }
.qs-report .rp-title { margin-top: 6px; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 800; font-size: 1.55rem; color: var(--e-global-color-primary); letter-spacing: -0.02em; line-height: 1.1; }
.qs-report .rp-meta { display: flex; gap: 14px; font-size: .76rem; color: var(--e-global-color-c0mut05); }
.qs-report .rp-meta span + span::before { content: "·"; margin-right: 14px; color: var(--e-global-color-accent); }
.qs-report .rp-sec { padding: 14px 0 4px; }
.qs-report .rp-h { margin: 0 0 10px; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--e-global-color-primary); display: flex; align-items: center; gap: 10px; }
.qs-report .rp-h span { width: 20px; height: 20px; display: grid; place-items: center; background: var(--e-global-color-primary); color: #fff; font-size: .66rem; letter-spacing: 0; }
.qs-report .rp-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid #D8D5CC; border-bottom: 1px solid #D8D5CC; }
.qs-report .rp-figs > div { padding: 10px 14px 12px 0; }
.qs-report .rp-figs > div + div { padding-left: 14px; border-left: 1px solid #D8D5CC; }
.qs-report .rp-figs dt { font-size: .72rem; color: var(--e-global-color-c0mut05); font-weight: 600; line-height: 1.3; }
.qs-report .rp-figs dd { margin: 2px 0 0; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 800; font-size: 1.7rem; color: var(--e-global-color-primary); letter-spacing: -0.03em; line-height: 1.1; }
.qs-report .rp-figs dd.gold { color: var(--e-global-color-accent); }
.qs-report .rp-figs dd.risk { color: var(--e-global-color-c0rsk11); }
.qs-report .rp-table-wrap { max-width: 100%; overflow: auto; }
.qs-report .rp-table { width: 100%; min-width: 950px; border-collapse: collapse; font-size: .82rem; font-variant-numeric: tabular-nums; margin: 0; }
.qs-report .rp-table th, .qs-report .rp-table td { padding: 8px 6px; text-align: right; border: 0; border-bottom: 1px solid #E4E1D9; white-space: nowrap; background: none; }
.qs-report .rp-table thead th { font-family: var(--e-global-typography-primary-font-family), sans-serif; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--e-global-color-c0mut05); border-bottom: 1.5px solid var(--e-global-color-primary); vertical-align: bottom; white-space: normal; line-height: 1.25; }
.qs-report .rp-table th:first-child, .qs-report .rp-table td:first-child { text-align: left; padding-left: 0; }
.qs-report .rp-table th:last-child, .qs-report .rp-table td:last-child { padding-right: 0; }
.qs-report .rp-table tbody th { font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 700; color: var(--e-global-color-primary); }
.qs-report .rp-table .b { font-weight: 700; color: var(--e-global-color-primary); }
.qs-report .rp-table .neg { color: var(--e-global-color-c0rsk11); }
.qs-report .rp-note p:not(.rp-h) { margin: 0; padding: 10px 14px; background: #F4F1E8; border-left: 3px solid var(--e-global-color-secondary); font-size: .9rem; line-height: 1.5; color: var(--e-global-color-primary); font-weight: 500; }
.qs-report .rp-foot { margin-top: 14px; padding-top: 10px; border-top: 1px solid #E4E1D9; font-size: .72rem; color: var(--e-global-color-c0mut05); }
.rag { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: .78rem; white-space: nowrap; }
.rag::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.rag--ok { color: var(--e-global-color-c0ok010); }
.rag--watch { color: #7a6627; }
.rag--risk { color: var(--e-global-color-c0rsk11); }
@media (max-width: 960px) { .sheet-photo { position: relative !important; width: 100% !important; height: auto; aspect-ratio: 4 / 3; } }
@media (max-width: 640px) {
  .qs-report .report-page { padding: 22px 16px 16px; }
  .qs-report .report-under { display: none; }
  .qs-report .rp-head { grid-template-columns: minmax(0, 1fr); }
  .qs-report .rp-meta { flex-wrap: wrap; gap: 6px 10px; }
  .qs-report .rp-meta span + span::before { margin-right: 10px; }
  .qs-report .rp-figs dd { font-size: 1.3rem; }
  .qs-report .rp-figs > div { padding-right: 8px; }
  .qs-report .rp-figs > div + div { padding-left: 8px; }
}

/* ---- Photo strip (fractional) ---- */
@media (max-width: 960px) { .photo-strip > .e-con:first-child, .photo-strip > .elementor-element:first-child { grid-column: 1 / -1; } }

/* ---- Statement / gold text inside Text Editor content ---- */
.elementor-widget-text-editor .statement { font-family: var(--e-global-typography-t0stm06-font-family), sans-serif; font-weight: 700; color: var(--e-global-color-primary); font-size: var(--e-global-typography-t0stm06-font-size); line-height: 1.28; letter-spacing: -0.015em; }
.on-dark .elementor-widget-text-editor .statement { color: #fff; }
.text-gold, .elementor-heading-title .text-gold { color: var(--e-global-color-accent); }
.on-dark .text-gold, .on-dark .elementor-heading-title .text-gold { color: var(--e-global-color-secondary); }

/* a statement paragraph inside body-large prose keeps the prose size (HTML: .body-lg p wins) */
.prose .statement, .elementor-widget-text-editor.prose .statement { font-size: inherit; line-height: 1.7; letter-spacing: -0.015em; }

/* ---- About: philosophy photo mark + credentials logos ---- */
.philo-media { position: relative; }
.credentials .elementor-widget-image img { width: auto; height: 84px; object-fit: contain; }
.credentials .elementor-widget-image:first-of-type img, .credentials .cred-rics img { max-width: 190px; height: auto; }
@media (max-width: 640px) { .credentials { column-gap: 14px !important; } .credentials .elementor-widget-image { max-width: 24%; } .credentials .elementor-widget-image img { height: 74px; max-width: 100%; } .credentials .cred-rics { max-width: 36%; } .credentials .cred-rics img { height: auto; } }

/* ---- Method pillars: even rows photo right ---- */
.pillar-even > .pillar-media, .pillar-even > .e-con-inner > .pillar-media { order: 2; }
@media (max-width: 960px) { .pillar-even > .pillar-media, .pillar-even > .e-con-inner > .pillar-media { order: 0; } }
.pillar-copy p { max-width: 60ch; }
.pillar-copy ul { margin: 0; padding: 0; }
.gold-dot { color: var(--e-global-color-secondary); }
/* five questions (method) */
@media (max-width: 1180px) { .five-q { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .five-q > .e-con:nth-child(4) { border-left-width: 0 !important; } .five-q > .e-con:nth-child(n + 4) { border-top: 1px solid var(--e-global-color-c0lnd09); } }
@media (max-width: 640px) { .five-q { grid-template-columns: minmax(0, 1fr) !important; } .five-q > .e-con { border-left-width: 0 !important; border-top: 1px solid var(--e-global-color-c0lnd09); background: none !important; } .five-q > .e-con:first-child { border-top: 0; } }

/* ---- Home ---- */
.elementor-kit-3020 .btn-hero .elementor-button { padding: 14px 20px; font-size: 14px; }
.footer-impact-light span { display: block; margin-top: 6px; }

/* ---- Spec figures: 2px top rule + 1px light bottom rule (HTML .spec-figs) ---- */
.elementor-kit-3020 .spec-figs { border-bottom-color: var(--e-global-color-c0lin06) !important; }
.elementor-kit-3020 .spec-figs.spec-dark { border-bottom-color: var(--e-global-color-c0lnd09) !important; }

/* core journey step: the HTML's two soft radial glows over navy */
.elementor-kit-3020 .journey-core { background-image: radial-gradient(circle at 0 100%, rgba(181, 155, 76, .1), transparent 46%), radial-gradient(circle at 100% 0, rgba(255, 255, 255, .055), transparent 42%); }

/* ---- Expert bio toggle: caret vertically centred with the label ---- */
.expert-bio .elementor-tab-title { display: flex; align-items: center; gap: 8px; }
.expert-bio .elementor-toggle-icon { float: none !important; display: inline-flex; align-items: center; width: auto !important; line-height: 1; }
.expert-bio .elementor-toggle-icon i, .expert-bio .elementor-toggle-icon svg { font-size: .8em; line-height: 1; }

/* === Mobile redesigns (<=640px): credentials, CONTROL list, step timelines, five questions === */
@media (max-width: 640px) {
  /* Credentials: label, RICS logo, then the two ISO badges, all centred */
  .credentials { justify-content: center !important; align-items: center !important; gap: 18px 28px !important; text-align: center; }
  .credentials > .elementor-widget-text-editor { flex: 0 0 100% !important; max-width: 100% !important; text-align: center; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 700; font-size: 11px !important; letter-spacing: .16em; text-transform: uppercase; }
  .credentials > .elementor-widget-text-editor * { font-size: 11px !important; letter-spacing: .16em; text-transform: uppercase; margin: 0; }
  .credentials > .elementor-widget-image { flex: 0 0 auto !important; width: auto !important; max-width: none !important; margin: 0 !important; }
  .credentials > .elementor-widget-image img { width: 72px !important; height: 72px !important; max-width: none !important; object-fit: contain; }
  .credentials > .elementor-widget-text-editor + .elementor-widget-image { flex: 0 0 100% !important; display: flex; justify-content: center; padding-bottom: 6px; }
  .credentials > .elementor-widget-text-editor + .elementor-widget-image img { width: 200px !important; max-width: 200px !important; height: auto !important; }

  /* CONTROL list: letter tile + number + title + arrow per row */
  .control-sign { row-gap: 0 !important; }
  .control-sign .cs-item { display: grid !important; grid-template-columns: 56px minmax(0,1fr) 20px; align-items: center; column-gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--e-global-color-c0lnd09); }
  .control-sign .cs-item:last-child { border-bottom: 0; }
  .control-sign .cs-item::after { content: "→"; color: var(--e-global-color-secondary); font-size: 18px; line-height: 1; text-align: right; }
  .control-sign .cs-tile { width: 56px; height: 56px; aspect-ratio: 1 / 1 !important; display: grid; place-items: center; padding: 0 !important; }
  .control-sign .cs-tile > .e-con-inner, .control-sign .cs-tile .elementor-widget { margin: 0 !important; padding: 0 !important; }
  .control-sign .cs-tile .elementor-heading-title { font-size: 28px !important; line-height: 1 !important; }
  .control-sign .cs-tile::before, .control-sign .cs-tile::after { display: none; }
  .control-sign .cs-body { padding: 0 !important; border: 0 !important; }
  .control-sign .cs-body::before { position: static !important; inset: auto !important; width: auto !important; height: auto !important; opacity: 1 !important; background: none !important; content: "0" counter(cs); display: block; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .16em; color: var(--e-global-color-secondary); margin-bottom: 4px; }
  .control-sign .cs-body .elementor-heading-title { font-size: 17px !important; line-height: 1.25 !important; min-height: 0 !important; }

  /* 3-step timelines: horizontal track, dot above label */
  .steps:not(.steps--8) { grid-template-columns: repeat(3, minmax(0,1fr)) !important; column-gap: 8px !important; row-gap: 0 !important; }
  .steps:not(.steps--8) > .e-con { flex-direction: column !important; align-items: center !important; gap: 10px !important; }
  .steps:not(.steps--8) > .e-con, .steps:not(.steps--8) > .e-con .elementor-widget, .steps:not(.steps--8) > .e-con .elementor-widget-container, .steps:not(.steps--8) > .e-con .elementor-heading-title { text-align: center !important; line-height: 1.25 !important; }
  .steps:not(.steps--8) .st-dot .elementor-heading-title { width: 36px !important; height: 36px !important; font-size: 14px !important; }
  .steps:not(.steps--8) > .e-con .elementor-heading-title { font-size: 14px !important; }
  .steps:not(.steps--8) .st-dot, .steps:not(.steps--8) .st-dot .elementor-widget, .steps:not(.steps--8) .st-dot .elementor-widget-container { width: auto !important; display: grid; justify-items: center; }
  /* 8-step timeline: two-column chips instead of a long vertical line */
  .steps--8 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
  .steps--8 > .e-con { flex-direction: row !important; align-items: center !important; gap: 12px !important; padding: 10px 12px !important; border: 1px solid var(--e-global-color-c0lin06); border-radius: 2px; background: #fff; }
  .steps--8 > .e-con.step-last { border-color: var(--e-global-color-secondary); background: rgba(181,155,76,.12); }
  .steps--8 .st-dot .elementor-heading-title { width: 28px; height: 28px; font-size: 13px !important; }
  .steps--8 > .e-con .elementor-heading-title { line-height: 1.2 !important; }
  .steps--8 > .e-con > .e-con:last-child .elementor-heading-title, .steps--8 > .e-con > .elementor-widget:last-child .elementor-heading-title { font-size: 15px !important; }

  /* Five questions: big gold number + question */
  .five-q { gap: 0 !important; }
  .five-q > .e-con { display: grid !important; grid-template-columns: 52px minmax(0,1fr); align-items: start; column-gap: 14px !important; padding: 18px 0 !important; border-top: 1px solid var(--e-global-color-c0lnd09) !important; border-left-width: 0 !important; background: none !important; }
  .five-q > .e-con:first-child { border-top: 0 !important; }
  .five-q > .e-con .elementor-widget { margin: 0 !important; width: auto !important; }
  .five-q > .e-con .elementor-widget:first-child .elementor-heading-title { font-size: 30px !important; line-height: 1 !important; }
  .five-q > .e-con .elementor-widget:last-child .elementor-heading-title { font-size: 18px !important; line-height: 1.3 !important; padding-top: 4px; }
}

/* === Mobile layout fixes (<=640px) === */
@media (max-width: 640px) {
  /* Loop grids: "Equal height" is useful across columns, but on a single column it only adds empty space under shorter cards */
  .elementor-kit-3020 .elementor-loop-container.elementor-grid { grid-auto-rows: auto !important; }

  /* Equation strip (A + B + C): compact stacked cards, icon beside the label */
  .equation { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; margin-bottom: 16px; }
  .equation > .e-con-full { --flex-direction: row; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 16px !important; padding: 16px 18px !important; border: 1px solid var(--e-global-color-c0lin06); background: #fff; }
  .equation > .eq-op { align-self: center; padding: 6px 0 !important; line-height: 1 !important; min-height: 0 !important; height: auto !important; border: 0 !important; background: none !important; }
  .equation > .eq-op, .equation > .eq-op * { font-size: 22px !important; font-weight: 700; color: var(--e-global-color-secondary); }
  .equation .elementor-widget-icon { flex: 0 0 auto; margin: 0 !important; }
  .equation .elementor-heading-title { font-size: 17px !important; line-height: 1.3 !important; }
}/* End custom CSS */