.elementor-kit-11{--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-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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);}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}@media(max-width:1023px){.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;}}/* Start custom CSS *//* Aristos Claims — self-hosted @font-face. Generated from Google Fonts, latin subset. */
@font-face{
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/plus-jakarta-sans-normal-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/plus-jakarta-sans-normal-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/plus-jakarta-sans-normal-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/plus-jakarta-sans-normal-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/plus-jakarta-sans-normal-800.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/inter-normal-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/inter-normal-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('https://aristosclaims.com/wp-content/uploads/aristos/fonts/inter-normal-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ============================================================
   Aristos Claims — shared stylesheet
   Every rule is namespaced under the wrapper class .aristos-site so nothing
   can collide with the Astra theme's own styles. Wrap each page's content in
   <div class="aristos-site"> (or set the class on the Elementor page container).

   BREAKPOINTS — match these in the page builder:
     sm   max-width: 479px    small phone
     md   max-width: 767px    phone / grids stack to 1 column
     lg   max-width: 1023px   tablet: split layouts stack, nav collapses
     xl   min-width: 1280px   wide desktop (container caps at 1200px)
   Everything is mobile-first fluid between these points via clamp().

   FONTS — Plus Jakarta Sans (headings/labels/numerals) + Inter (body).
   Self-host the woff2 files and add local @font-face rules HERE; there is
   deliberately no CDN link in this file, per the output specification.

   CUSTOM PROPERTIES — all colours, spacing, radii, shadows and motion are
   declared in the first .aristos-site block below. A rebrand is that one block.
   Gold (--gold-500 #C9A45C) is the single accent and the action colour;
   blue (--blue-600 #305090) is the logo blue. Do not add a second accent.
   ============================================================ */


/* Colour system — Aristos Claims.
   Sampled from the supplied logo (assets/logo.png): royal navy #305090, black,
   white. Gold #C9A45C is the single accent and carries the CTAs, matching the
   reference design. Dark panels are near-black navy, never teal, never grey.
   Never introduce a second accent for data, charts or secondary buttons. */
.aristos-site{/* Brand blue — logo blue is --blue-600 */
  --blue-900:#16294D;
  --blue-800:#1D3563;
  --blue-700:#24406F;
  --blue-600:#305090; /* logo blue, primary */
  --blue-500:#3D64AE;
  --blue-300:#8CA5D2;
  --blue-100:#DDE5F3;
  --blue-050:#EFF3FA;

  /* Dark panel ink — navy-black */
  --ink-950:#0B1524;
  --ink-900:#101D30;
  --ink-800:#16263B;
  --ink-700:#1D3048;

  /* Neutrals */
  --white:#FFFFFF;
  --grey-050:#F7F8FA;
  --grey-100:#F0F2F6;
  --grey-200:#E4E7ED;
  --grey-300:#CDD2DB;
  --grey-400:#99A0AD;
  --grey-500:#6A7280;
  --grey-600:#49515E;
  --black:#111111;

  /* Accent — gold. CTAs, eyebrow text on dark, active states, hairline outlines. */
  --gold-600:#B08D45;
  --gold-500:#C9A45C;
  --gold-400:#D8BC85;
  --gold-100:#F3E9D5;

  /* Semantic — text */
  --text-strong:var(--black);
  --text-body:var(--grey-600);
  --text-muted:var(--grey-500);
  --text-inverse:var(--white);
  --text-inverse-muted:rgba(255,255,255,.70);
  --text-brand:var(--blue-600);
  --text-accent:var(--gold-500);

  /* Semantic — surfaces */
  --surface-page:var(--white);
  --surface-muted:var(--grey-050);
  --surface-card:var(--white);
  --surface-brand:var(--blue-600);
  --surface-dark:var(--ink-900);
  --surface-glass:rgba(255,255,255,.10);
  --surface-glass-dark:rgba(11,21,36,.55);
  --surface-glass-light:rgba(255,255,255,.78);

  /* Semantic — borders */
  --border-subtle:var(--grey-200);
  --border-strong:var(--grey-300);
  --border-pill:var(--grey-300);
  --border-brand:rgba(48,80,144,.24);
  --border-glass:rgba(255,255,255,.18);
  --border-accent:rgba(201,164,92,.55);

  /* Interactive — gold is the primary action, blue the secondary */
  --action-primary:var(--gold-500);
  --action-primary-hover:var(--gold-600);
  --action-primary-active:#9C7C3B;
  --action-secondary:var(--blue-600);
  --focus-ring:var(--blue-600);
  --focus-ring-dark:var(--gold-400);

  /* Overlays for photography — darken with navy, never tint */
  --overlay-panel:linear-gradient(160deg,rgba(11,21,36,.92) 0%,rgba(16,29,48,.86) 45%,rgba(22,38,59,.80) 100%); 
  --overlay-image:linear-gradient(180deg,rgba(11,21,36,.15) 0%,rgba(11,21,36,.72) 100%); 
  --overlay-image-side:linear-gradient(90deg,rgba(11,21,36,.94) 0%,rgba(11,21,36,.72) 45%,rgba(11,21,36,.55) 70%,rgba(11,21,36,.78) 100%); 
  --gradient-dark:linear-gradient(160deg,var(--ink-950) 0%,var(--ink-800) 55%,var(--ink-900) 100%); 
  --gradient-brand:linear-gradient(160deg,var(--blue-900) 0%,var(--blue-700) 60%,var(--blue-800) 100%);}

/* Typography — Plus Jakarta Sans for display/headings/eyebrows/numerals,
   Inter for body and UI. Display is extrabold with tight tracking; headings run
   two short lines rather than one long one. */
.aristos-site{--font-display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif; 
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif; 

  --fs-display-1:clamp(2.75rem,5vw,4.25rem); 
  --fs-display-2:clamp(2.125rem,3.4vw,3rem); 
  --fs-display-3:clamp(1.625rem,2.2vw,2rem); 
  --fs-heading:1.3125rem; 
  --fs-subheading:1.0625rem; 
  --fs-lead:1.0625rem; 
  --fs-body:1rem; 
  --fs-body-sm:0.9375rem; 
  --fs-caption:0.8125rem; 
  --fs-eyebrow:0.6875rem; 
  --fs-numeral:clamp(2rem,3vw,2.75rem); 

  --lh-tight:1.03; 
  --lh-snug:1.1; 
  --lh-heading:1.18; 
  --lh-body:1.62; 
  --lh-loose:1.72; 

  --fw-medium:500; 
  --fw-semibold:600; 
  --fw-bold:700; 
  --fw-extrabold:800; 

  --ls-display:-0.03em; 
  --ls-heading:-0.02em; 
  --ls-body:0em; 
  --ls-eyebrow:0.12em; 

  --text-display-1:var(--fw-extrabold) var(--fs-display-1)/var(--lh-tight) var(--font-display); 
  --text-display-2:var(--fw-extrabold) var(--fs-display-2)/var(--lh-snug) var(--font-display); 
  --text-display-3:var(--fw-bold) var(--fs-display-3)/var(--lh-heading) var(--font-display); 
  --text-card-title:var(--fw-bold) var(--fs-heading)/var(--lh-heading) var(--font-display); 
  --text-lead-font:var(--fw-regular,400) var(--fs-lead)/var(--lh-body) var(--font-body); 
  --text-body-font:400 var(--fs-body)/var(--lh-body) var(--font-body); 
  --text-ui:var(--fw-semibold) var(--fs-body-sm)/1.2 var(--font-display); 
  --measure-lead:52ch; 
  --measure-body:62ch;}

/* Spacing — 4px base. Generous by default; whitespace is the brand. */
.aristos-site{--space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;
  --space-32:128px;
  --space-40:160px;

  /* Layout */
  --container-max:1200px; 
  --container-wide:1360px; 
  --container-narrow:760px; 
  --gutter:clamp(20px,5vw,48px); 
  --section-y:clamp(72px,9vw,var(--space-32)); 
  --section-y-tight:clamp(48px,6vw,var(--space-20)); 
  --stack-head:var(--space-5);       /* eyebrow → heading → intro rhythm */
  --grid-gap:clamp(16px,2vw,var(--space-6)); 
  --tap-min:48px;                    /* mobile tap target floor */}

/* Corner radii — reference design: cards 16px, inner media 12px, section
   panels 32px, controls full pill. */
.aristos-site{--radius-xs:6px;
  --radius-sm:10px;
  --radius-md:12px;   /* inner media */
  --radius-lg:16px;   /* default card */
  --radius-xl:20px;
  --radius-2xl:32px;  /* dark section panel */
  --radius-pill:999px;}

/* Elevation — soft, navy-tinted, one layer at rest. White cards lifting off a
   dark photographic panel get the larger shadows. */
.aristos-site{--shadow-hairline:0 0 0 1px var(--border-subtle);
  --shadow-xs:0 1px 2px rgba(11,21,36,.06);
  --shadow-sm:0 2px 10px rgba(11,21,36,.07);
  --shadow-md:0 12px 28px -10px rgba(11,21,36,.16),0 2px 6px rgba(11,21,36,.05);
  --shadow-lg:0 26px 60px -18px rgba(11,21,36,.22),0 4px 12px rgba(11,21,36,.06);
  --shadow-xl:0 44px 100px -28px rgba(11,21,36,.38);
  --shadow-float:0 20px 48px -16px rgba(11,21,36,.5);
  --shadow-gold:0 10px 24px -8px rgba(176,141,69,.45);
  --shadow-inset-glass:inset 0 1px 0 rgba(255,255,255,.16);
  --blur-glass:saturate(140%) blur(16px); 
  --blur-nav:saturate(160%) blur(14px);}

/* Motion — restrained. Fade + short rise, never bounce, never spin. */
.aristos-site{--ease-out:cubic-bezier(.22,1,.36,1); 
  --ease-in-out:cubic-bezier(.4,0,.2,1); 
  --dur-instant:120ms; 
  --dur-fast:180ms; 
  --dur-base:280ms; 
  --dur-slow:520ms; 
  --dur-reveal:700ms; 
  --rise:18px;                 /* scroll-reveal translate distance */
  --lift:-4px;                /* card hover translate */
  --transition-control:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out); 
  --transition-card:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out);}

/* Base — element defaults + shared utilities.
   BREAKPOINTS (match these in the page builder):
     sm  480px   — small phone → phone
     md  768px   — phone → tablet / stack becomes 2-up
     lg  1024px  — tablet → desktop / split layouts go side-by-side
     xl  1280px  — desktop → wide, container caps at 1200px */
.aristos-site *,.aristos-site *::before,.aristos-site *::after{box-sizing:border-box}

.aristos-site{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

.aristos-site{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--text-body-font);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

.aristos-site h1,.aristos-site h2,.aristos-site h3,.aristos-site h4,.aristos-site h5,.aristos-site h6{margin:0;color:var(--text-strong);font-family:var(--font-display);letter-spacing:var(--ls-heading);text-wrap:balance}

.aristos-site h1{font:var(--text-display-1);letter-spacing:var(--ls-display)}

.aristos-site h2{font:var(--text-display-2);letter-spacing:var(--ls-display)}

.aristos-site h3{font:var(--text-display-3)}

.aristos-site h4{font:var(--text-card-title)}

.aristos-site p{margin:0;text-wrap:pretty}

.aristos-site img,.aristos-site svg{display:block;max-width:100%}

.aristos-site a{color:var(--text-brand);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}

.aristos-site a:hover{color:var(--blue-500)}

.aristos-site button{font:inherit}

.aristos-site :where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-xs)}

.aristos-site ::selection{background:var(--blue-100);color:var(--blue-900)}

@media (prefers-reduced-motion:reduce){.aristos-site *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto}
}

/* Utilities */
.aristos-site .ar-container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}

.aristos-site .ar-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-brand)}

.aristos-site .ar-eyebrow--on-dark{color:var(--gold-400)}

.aristos-site .ar-lead{font:var(--text-lead-font);color:var(--text-body);max-width:var(--measure-lead)}

.aristos-site .ar-hairline{height:1px;background:var(--border-subtle);border:0}

/* Component classes — consumed by the JSX components and the WordPress export.
   Every class is prefixed .ar- so it cannot collide with a theme's own styles.
   Visual language follows the supplied reference: dark rounded photographic
   panels, outlined pill labels, gold pill CTAs with a circular arrow badge,
   white cards with circular outline arrow buttons. */

/* ---------- Pill label (eyebrow) ---------- */
.aristos-site .ar-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px var(--space-4);border:1px solid var(--border-pill);border-radius:var(--radius-pill);background:transparent;font-family:var(--font-display);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-strong);white-space:nowrap}

.aristos-site .ar-pill--on-dark{border-color:var(--border-glass);background:var(--surface-glass);color:var(--text-inverse);backdrop-filter:var(--blur-glass)}

.aristos-site .ar-pill--accent{border-color:var(--border-accent);color:var(--gold-500)}

.aristos-site .ar-pill--solid{border-color:transparent;background:var(--ink-900);color:var(--text-inverse)}

.aristos-site .ar-pill svg{width:13px;height:13px}

/* ---------- Button ---------- */
.aristos-site .ar-btn{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:6px 8px 6px var(--space-6);border:1px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:var(--fw-bold);letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:var(--transition-control)}

.aristos-site .ar-btn__badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:var(--radius-pill);background:var(--white);color:var(--gold-600);transition:var(--transition-control)}

.aristos-site .ar-btn__badge svg{width:16px;height:16px}

.aristos-site .ar-btn--primary{background:var(--action-primary);color:var(--text-inverse);box-shadow:var(--shadow-gold)}

.aristos-site .ar-btn--primary:hover{background:var(--action-primary-hover);color:var(--text-inverse);transform:translateY(-2px)}

.aristos-site .ar-btn--primary:active{background:var(--action-primary-active);transform:translateY(0);box-shadow:none}

.aristos-site .ar-btn--primary:hover .ar-btn__badge{transform:rotate(45deg)}

.aristos-site .ar-btn--dark{background:var(--ink-900);color:var(--text-inverse)}

.aristos-site .ar-btn--dark:hover{background:var(--ink-800);color:var(--text-inverse);transform:translateY(-2px)}

.aristos-site .ar-btn--dark .ar-btn__badge{background:var(--white);color:var(--ink-900)}

.aristos-site .ar-btn--outline{background:transparent;color:var(--text-strong);border-color:var(--border-pill);padding-right:var(--space-6)}

.aristos-site .ar-btn--outline:hover{border-color:var(--blue-300);color:var(--text-brand);background:var(--blue-050)}

.aristos-site .ar-btn--outline .ar-btn__badge{background:var(--blue-050);color:var(--blue-600)}

.aristos-site .ar-btn--ghost{background:transparent;color:var(--text-strong);padding-inline:var(--space-4)}

.aristos-site .ar-btn--ghost:hover{color:var(--text-brand)}

.aristos-site .ar-btn--on-dark.ar-btn--outline{color:var(--text-inverse);border-color:var(--border-glass);background:var(--surface-glass);backdrop-filter:var(--blur-glass)}

.aristos-site .ar-btn--on-dark.ar-btn--outline:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.36);color:var(--text-inverse)}

.aristos-site .ar-btn--on-dark.ar-btn--outline .ar-btn__badge{background:rgba(255,255,255,.14);color:var(--text-inverse)}

.aristos-site .ar-btn--on-dark.ar-btn--ghost{color:var(--text-inverse)}

.aristos-site .ar-btn--on-dark.ar-btn--ghost:hover{color:var(--gold-400)}

.aristos-site .ar-btn--lg{min-height:60px;padding:8px 10px 8px var(--space-8);font-size:var(--fs-body)}

.aristos-site .ar-btn--lg .ar-btn__badge{width:44px;height:44px}

.aristos-site .ar-btn--lg .ar-btn__badge svg{width:18px;height:18px}

.aristos-site .ar-btn--sm{min-height:42px;padding:5px 6px 5px var(--space-5);font-size:var(--fs-caption)}

.aristos-site .ar-btn--sm .ar-btn__badge{width:30px;height:30px}

.aristos-site .ar-btn--sm .ar-btn__badge svg{width:14px;height:14px}

.aristos-site .ar-btn--plain{padding-right:var(--space-6)}

.aristos-site .ar-btn--block{width:100%;justify-content:center}

.aristos-site .ar-btn[aria-disabled="true"],.aristos-site .ar-btn:disabled{opacity:.45;pointer-events:none}

/* ---------- Circular icon button ---------- */
.aristos-site .ar-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;border:1px solid var(--border-pill);border-radius:var(--radius-pill);background:transparent;color:var(--gold-500);cursor:pointer;transition:var(--transition-control)}

.aristos-site .ar-iconbtn svg{width:18px;height:18px}

.aristos-site .ar-iconbtn:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--white);transform:rotate(45deg)}

.aristos-site .ar-iconbtn--sm{width:40px;height:40px}

.aristos-site .ar-iconbtn--sm svg{width:15px;height:15px}

.aristos-site .ar-iconbtn--filled{background:var(--gold-500);border-color:var(--gold-500);color:var(--white)}

.aristos-site .ar-iconbtn--filled:hover{background:var(--gold-600);border-color:var(--gold-600)}

.aristos-site .ar-iconbtn--dark{background:rgba(255,255,255,.10);border-color:var(--border-glass);color:var(--text-inverse)}

.aristos-site .ar-iconbtn--dark:hover{background:var(--white);border-color:var(--white);color:var(--ink-900)}

.aristos-site .ar-iconbtn--noturn:hover{transform:none}

/* ---------- Badge (glass trust marker) ---------- */
.aristos-site .ar-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--white);color:var(--text-body);font-family:var(--font-display);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}

.aristos-site .ar-badge svg{width:14px;height:14px;color:var(--gold-500)}

.aristos-site .ar-badge--brand{background:var(--blue-050);border-color:var(--border-brand);color:var(--text-brand)}

.aristos-site .ar-badge--accent{background:transparent;border-color:var(--border-accent);color:var(--gold-500)}

.aristos-site .ar-badge--glass{background:var(--surface-glass);border-color:var(--border-glass);color:var(--text-inverse);backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-inset-glass)}

/* ---------- Card ---------- */
.aristos-site .ar-card{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-card)}

.aristos-site .ar-card--muted{background:var(--surface-muted);box-shadow:none}

.aristos-site .ar-card--dark{background:var(--ink-900);border-color:rgba(255,255,255,.10);color:var(--text-inverse-muted);box-shadow:var(--shadow-xl)}

.aristos-site .ar-card--dark .ar-card__title{color:var(--text-inverse)}

.aristos-site .ar-card--glass{background:var(--surface-glass-dark);border-color:var(--border-glass);color:var(--text-inverse);backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-float),var(--shadow-inset-glass)}

.aristos-site .ar-card--flat{box-shadow:none}

.aristos-site .ar-card--pad-lg{padding:var(--space-10)}

.aristos-site .ar-card--interactive:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-lg)}

.aristos-site .ar-card__title{font:var(--text-card-title);letter-spacing:var(--ls-heading);color:var(--text-strong)}

.aristos-site .ar-card__body{font:var(--text-body-font);color:var(--text-body)}

.aristos-site .ar-card--dark .ar-card__body{color:var(--text-inverse-muted)}

.aristos-site .ar-card__rule{width:28px;height:2px;background:var(--gold-500);border:0;margin:0}

/* ---------- Section head ---------- */
.aristos-site .ar-head{display:flex;flex-direction:column;gap:var(--stack-head);align-items:flex-start;max-width:var(--measure-lead)}

.aristos-site .ar-head--center{align-items:center;text-align:center;margin-inline:auto}

.aristos-site .ar-head--on-dark .ar-head__title{color:var(--text-inverse)}

.aristos-site .ar-head--on-dark .ar-head__intro{color:var(--text-inverse-muted)}

.aristos-site .ar-head__title{margin:0}

.aristos-site .ar-head__title em{font-style:normal;color:var(--gold-500)}

.aristos-site .ar-head__intro{font:var(--text-lead-font);color:var(--text-body);margin:0}

/* ---------- Section shell ---------- */
.aristos-site .ar-section{padding-block:var(--section-y)}

.aristos-site .ar-section--tight{padding-block:var(--section-y-tight)}

.aristos-site .ar-section--muted{background:var(--surface-muted)}

.aristos-site .ar-section--flush{padding-block:0}

/* Dark photographic panel — the signature container */
.aristos-site .ar-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-2xl);background:var(--ink-950);color:var(--text-inverse-muted);padding:clamp(40px,5vw,var(--space-24))}

.aristos-site .ar-panel__bg{position:absolute;inset:0;z-index:-2}

.aristos-site .ar-panel__bg img{width:100%;height:100%;object-fit:cover}

.aristos-site .ar-panel__scrim{position:absolute;inset:0;z-index:-1;background:var(--overlay-panel)}

.aristos-site .ar-panel--flat{background:var(--gradient-dark)}

.aristos-site .ar-section__body{margin-top:clamp(32px,4vw,var(--space-12))}

.aristos-site .ar-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-10);flex-wrap:wrap}

.aristos-site .ar-head-row__aside{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start;max-width:44ch}

/* ---------- Trust card ---------- */
.aristos-site .ar-trust{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:var(--transition-card)}

.aristos-site .ar-trust:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}

.aristos-site .ar-trust__mark{width:26px;height:2px;background:var(--gold-500)}

.aristos-site .ar-trust__label{font-family:var(--font-display);font-size:var(--fs-subheading);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);color:var(--text-strong)}

.aristos-site .ar-trust__text{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-muted)}

.aristos-site .ar-trust--on-dark{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.10);box-shadow:none}

.aristos-site .ar-trust--on-dark .ar-trust__label{color:var(--text-inverse)}

.aristos-site .ar-trust--on-dark .ar-trust__text{color:var(--text-inverse-muted)}

/* ---------- Service card ---------- */
.aristos-site .ar-service{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6);background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:var(--transition-card)}

.aristos-site .ar-service:hover{transform:translateY(var(--lift))}

.aristos-site .ar-service__media{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:16/10;background:var(--ink-900)}

.aristos-site .ar-service__media img{width:100%;height:100%;object-fit:cover}

.aristos-site .ar-service__title{font-family:var(--font-display);font-size:var(--fs-display-3);font-weight:var(--fw-extrabold);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);color:var(--text-strong)}

.aristos-site .ar-service__text{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-body)}

.aristos-site .ar-service__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}

.aristos-site .ar-service__list li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--fs-body-sm);color:var(--text-body)}

.aristos-site .ar-service__list svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--gold-500)}

.aristos-site .ar-service__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-top:auto}

.aristos-site .ar-service__note{font-size:var(--fs-caption);color:var(--text-muted)}

.aristos-site .ar-service--dark{background:var(--ink-900);box-shadow:var(--shadow-xl)}

.aristos-site .ar-service--dark .ar-service__title{color:var(--text-inverse)}

.aristos-site .ar-service--dark .ar-service__text,.aristos-site .ar-service--dark .ar-service__list li{color:var(--text-inverse-muted)}

.aristos-site .ar-service--dark .ar-service__note{color:rgba(255,255,255,.55)}

/* ---------- Feature card ---------- */
.aristos-site .ar-feature{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-8);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xs);transition:var(--transition-card)}

.aristos-site .ar-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}

.aristos-site .ar-feature__index{font-family:var(--font-display);font-size:var(--fs-caption);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-eyebrow);color:var(--gold-500)}

.aristos-site .ar-feature__title{font-family:var(--font-display);font-size:var(--fs-heading);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);color:var(--text-strong)}

.aristos-site .ar-feature__text{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-body)}

.aristos-site .ar-feature--on-dark{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.10);box-shadow:none}

.aristos-site .ar-feature--on-dark .ar-feature__title{color:var(--text-inverse)}

.aristos-site .ar-feature--on-dark .ar-feature__text{color:var(--text-inverse-muted)}

/* ---------- Step card (process) ---------- */
.aristos-site .ar-steps{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

.aristos-site .ar-step{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}

.aristos-site .ar-step__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}

.aristos-site .ar-step__num{font-family:var(--font-display);font-size:var(--fs-numeral);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-display);line-height:1;color:var(--text-strong)}

.aristos-site .ar-step__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:var(--radius-pill);border:1px solid var(--border-accent);color:var(--gold-500)}

.aristos-site .ar-step__icon svg{width:16px;height:16px}

.aristos-site .ar-step__title{font-family:var(--font-display);font-size:var(--fs-heading);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);color:var(--text-strong)}

.aristos-site .ar-step__text{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-body)}

.aristos-site .ar-step--dark{background:var(--surface-glass-dark);border:1px solid var(--border-glass);backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-float)}

.aristos-site .ar-step--dark .ar-step__num,.aristos-site .ar-step--dark .ar-step__title{color:var(--text-inverse)}

.aristos-site .ar-step--dark .ar-step__text{color:var(--text-inverse-muted)}

.aristos-site .ar-step--offset{margin-top:var(--space-10)}

@media (max-width:767px){.aristos-site .ar-step--offset{margin-top:0}
}

/* ---------- Stat ---------- */
.aristos-site .ar-stat{display:flex;flex-direction:column;gap:var(--space-2)}

.aristos-site .ar-stat__figure{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.75rem);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-display);line-height:1;color:var(--text-inverse)}

.aristos-site .ar-stat__label{font-size:var(--fs-body-sm);color:var(--text-inverse-muted)}

.aristos-site .ar-stat--on-light .ar-stat__figure{color:var(--text-strong)}

.aristos-site .ar-stat--on-light .ar-stat__label{color:var(--text-muted)}

/* ---------- Testimonial ---------- */
.aristos-site .ar-quote{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8);background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}

.aristos-site .ar-quote__mark{position:absolute;top:-6px;right:var(--space-6);font-family:var(--font-display);font-size:7rem;font-weight:var(--fw-extrabold);line-height:1;color:var(--grey-100)}

.aristos-site .ar-quote__head{display:flex;align-items:center;gap:var(--space-3);position:relative}

.aristos-site .ar-quote__avatar{width:40px;height:40px;border-radius:var(--radius-pill);object-fit:cover;background:var(--grey-100)}

.aristos-site .ar-quote__name{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-body-sm);color:var(--text-strong)}

.aristos-site .ar-quote__stars{display:flex;gap:1px;color:var(--gold-500)}

.aristos-site .ar-quote__stars svg{width:14px;height:14px}

.aristos-site .ar-quote__text{position:relative;font-size:var(--fs-lead);line-height:var(--lh-body);font-style:italic;color:var(--text-body);margin:0}

.aristos-site .ar-quote__meta{font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:var(--fw-bold);color:var(--text-strong)}

/* ---------- FAQ accordion ---------- */
.aristos-site .ar-acc{display:grid;gap:var(--space-3)}

.aristos-site .ar-acc__item{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}

.aristos-site .ar-acc__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:100%;min-height:var(--tap-min);padding:var(--space-5) var(--space-5) var(--space-5) var(--space-6);background:none;border:0;text-align:left;cursor:pointer;font-family:var(--font-display);font-size:var(--fs-subheading);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);color:var(--text-strong)}

.aristos-site .ar-acc__chev{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border:1px solid var(--border-pill);border-radius:var(--radius-pill);color:var(--text-muted);transition:var(--transition-control)}

.aristos-site .ar-acc__chev svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}

.aristos-site .ar-acc__trigger:hover .ar-acc__chev{border-color:var(--gold-500);color:var(--gold-500)}

.aristos-site .ar-acc__item[data-open="true"] .ar-acc__chev{background:var(--gold-500);border-color:var(--gold-500);color:var(--white)}

.aristos-site .ar-acc__item[data-open="true"] .ar-acc__chev svg{transform:rotate(180deg)}

.aristos-site .ar-acc__panel{overflow:hidden;transition:height var(--dur-base) var(--ease-out)}

.aristos-site .ar-acc__panel[hidden]{display:none}

.aristos-site .ar-acc__panel-inner{padding:0 var(--space-6) var(--space-6);font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-body);max-width:var(--measure-body)}

/* ---------- Floating glass card (over hero imagery) ---------- */
.aristos-site .ar-float{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-glass-dark);border:1px solid var(--border-glass);backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-float),var(--shadow-inset-glass);color:var(--text-inverse);max-width:280px}

.aristos-site .ar-float__figure{font-family:var(--font-display);font-size:var(--fs-heading);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-heading)}

.aristos-site .ar-float__label{font-size:var(--fs-caption);line-height:var(--lh-body);color:var(--text-inverse-muted)}

.aristos-site .ar-float svg{width:20px;height:20px}
.aristos-site .ar-float--light{background:var(--surface-glass-light);border-color:rgba(255,255,255,.9);color:var(--text-strong)}

.aristos-site .ar-float--light .ar-float__label{color:var(--text-muted)}

/* ---------- Nav ---------- */
.aristos-site .ar-nav{position:fixed;top:0;left:0;right:0;z-index:50;padding-block:var(--space-5);transition:background-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),padding var(--dur-base) var(--ease-out)}
/* Embedded: the nav sits inside the dark hero panel and has NO background of its
   own. It only gains the frosted bar once the page is scrolled. */
.aristos-site .ar-nav--embedded{position:absolute;background:transparent;box-shadow:none;padding-block:var(--space-5)}
.aristos-site .ar-nav--embedded .ar-nav__inner{max-width:none;padding-inline:clamp(20px,3vw,var(--space-10))}
.aristos-site .ar-nav--embedded .ar-nav__wordmark b{color:var(--text-inverse)}
.aristos-site .ar-nav--embedded .ar-nav__wordmark span{color:var(--text-inverse-muted)}
.aristos-site .ar-nav--embedded .ar-nav__toggle{background:rgba(255,255,255,.10);border-color:var(--border-glass);color:var(--text-inverse)}
.aristos-site .ar-nav--embedded.ar-nav--scrolled{position:fixed;background:rgba(255,255,255,.9);backdrop-filter:var(--blur-nav);box-shadow:var(--shadow-xs)}
.aristos-site .ar-nav--embedded.ar-nav--scrolled .ar-nav__inner{max-width:var(--container-max);padding-inline:var(--gutter)}
.aristos-site .ar-nav--embedded.ar-nav--scrolled .ar-nav__wordmark b{color:var(--text-strong)}
.aristos-site .ar-nav--embedded.ar-nav--scrolled .ar-nav__wordmark span{color:var(--text-muted)}
.aristos-site .ar-nav--embedded.ar-nav--scrolled .ar-nav__toggle{background:var(--grey-050);border-color:var(--border-subtle);color:var(--text-strong)}

.aristos-site .ar-nav__inner{display:flex;align-items:center;gap:var(--space-6)}

.aristos-site .ar-nav__logo{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none}

.aristos-site .ar-nav__logo img{height:44px;width:auto}

.aristos-site .ar-nav__wordmark{display:flex;flex-direction:column;line-height:1}

.aristos-site .ar-nav__wordmark b{font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-strong)}

.aristos-site .ar-nav__wordmark span{font-family:var(--font-display);font-size:.5625rem;font-weight:var(--fw-semibold);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:3px}

.aristos-site .ar-nav__capsule{display:flex;align-items:center;gap:var(--space-1);margin-inline:auto;padding:6px;list-style:none;border-radius:var(--radius-pill);background:var(--surface-glass-dark);border:1px solid var(--border-glass);backdrop-filter:var(--blur-nav)}

.aristos-site .ar-nav__link{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:rgba(255,255,255,.82);text-decoration:none;transition:var(--transition-control)}

.aristos-site .ar-nav__link:hover{background:rgba(255,255,255,.12);color:var(--white)}

.aristos-site .ar-nav__link[aria-current="page"]{background:var(--white);color:var(--ink-900)}

.aristos-site 
.aristos-site 
.aristos-site .ar-nav--scrolled{background:rgba(255,255,255,.9);backdrop-filter:var(--blur-nav);box-shadow:var(--shadow-xs);padding-block:var(--space-3)}

.aristos-site .ar-nav--scrolled .ar-nav__capsule{background:var(--grey-050);border-color:var(--border-subtle)}

.aristos-site .ar-nav--scrolled .ar-nav__link{color:var(--text-body)}

.aristos-site .ar-nav--scrolled .ar-nav__link:hover{background:var(--white);color:var(--text-brand)}

.aristos-site .ar-nav--scrolled .ar-nav__link[aria-current="page"]{background:var(--ink-900);color:var(--white)}

.aristos-site .ar-nav--scrolled .ar-nav__wordmark b{color:var(--text-strong)}

.aristos-site .ar-nav--scrolled .ar-nav__wordmark span{color:var(--text-muted)}

.aristos-site .ar-nav__toggle{display:none;align-items:center;justify-content:center;width:var(--tap-min);height:var(--tap-min);margin-left:auto;background:var(--ink-900);border:1px solid var(--ink-900);border-radius:var(--radius-pill);color:var(--text-inverse);cursor:pointer}

.aristos-site .ar-nav--scrolled .ar-nav__toggle{background:var(--grey-050);border-color:var(--border-subtle);color:var(--text-strong)}

@media (max-width:1023px){.aristos-site .ar-nav__capsule,.aristos-site .ar-nav__cta{display:none}
.aristos-site .ar-nav__toggle{display:inline-flex}
}

/* ---------- Hero ---------- */
.aristos-site .ar-hero{padding-top:var(--space-4);padding-bottom:var(--space-8)}

.aristos-site .ar-hero__panel{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-2xl);background:var(--ink-950);color:var(--text-inverse)}

.aristos-site .ar-hero__bg{position:absolute;inset:0;z-index:-2}

.aristos-site .ar-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 20%}

.aristos-site .ar-hero__scrim{position:absolute;inset:0;z-index:-1;background:var(--overlay-image-side)}

.aristos-site .ar-hero__inner{padding:clamp(84px,8vw,116px) clamp(20px,3vw,var(--space-10)) clamp(28px,3vw,var(--space-10))}
.aristos-site .ar-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:var(--space-12);align-items:center;padding:clamp(32px,5vw,var(--space-16)) clamp(8px,1.5vw,var(--space-6));min-height:clamp(460px,50vw,600px)}
.aristos-site .ar-hero__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-6);padding-top:var(--space-8);margin-top:var(--space-4);border-top:1px solid rgba(255,255,255,.16)}
.aristos-site .ar-hero__stat{display:flex;align-items:flex-start;gap:var(--space-4)}
.aristos-site .ar-hero__stat-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:var(--radius-pill);border:1px solid var(--border-glass);background:rgba(255,255,255,.08);color:var(--gold-400)}
.aristos-site .ar-hero__stat-icon svg{width:18px;height:18px}
.aristos-site .ar-hero__stat-figure{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:var(--fw-extrabold);letter-spacing:var(--ls-heading);line-height:1.1;color:var(--text-inverse)}
.aristos-site .ar-hero__stat-label{display:block;font-size:var(--fs-caption);color:var(--text-inverse-muted);margin-top:2px}

.aristos-site .ar-hero__copy{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start;max-width:620px}

.aristos-site .ar-hero__title{font:var(--text-display-1);letter-spacing:var(--ls-display);color:var(--text-inverse)}

.aristos-site .ar-hero__title em{font-style:normal;color:var(--gold-400)}

.aristos-site .ar-hero__lead{font:var(--text-lead-font);color:var(--text-inverse-muted);max-width:48ch}

.aristos-site .ar-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-2)}

.aristos-site .ar-hero__pills{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}

.aristos-site .ar-hero__aside{display:grid;gap:var(--space-4);justify-items:end;align-content:center}

@media (max-width:1023px){.aristos-site .ar-hero__grid{grid-template-columns:1fr;gap:var(--space-10);min-height:0}
.aristos-site .ar-hero__aside{justify-items:start}
}

/* ---------- CTA panel ---------- */
.aristos-site .ar-cta{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-2xl);background:var(--ink-950);color:var(--text-inverse);padding:clamp(40px,6vw,var(--space-24))}

.aristos-site .ar-cta__bg{position:absolute;inset:0;z-index:-2}

.aristos-site .ar-cta__bg img{width:100%;height:100%;object-fit:cover}

.aristos-site .ar-cta__scrim{position:absolute;inset:0;z-index:-1;background:var(--overlay-panel)}

.aristos-site .ar-cta__inner{display:flex;flex-direction:column;gap:var(--space-5);align-items:center;text-align:center;max-width:680px;margin-inline:auto}

.aristos-site .ar-cta__title{font:var(--text-display-2);letter-spacing:var(--ls-display);color:var(--text-inverse)}

.aristos-site .ar-cta__title em{font-style:normal;color:var(--gold-400)}

.aristos-site .ar-cta__text{font:var(--text-lead-font);color:var(--text-inverse-muted)}

.aristos-site .ar-cta__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-top:var(--space-2)}

.aristos-site .ar-cta__note{font-size:var(--fs-caption);color:var(--text-inverse-muted)}

/* ---------- Footer ---------- */
.aristos-site .ar-footer{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:var(--ink-950);color:var(--text-inverse-muted);padding:var(--space-20) 0 0}

.aristos-site .ar-footer__bg{position:absolute;inset:0;z-index:-2}

.aristos-site .ar-footer__bg img{width:100%;height:100%;object-fit:cover}

.aristos-site .ar-footer__scrim{position:absolute;inset:0;z-index:-1;background:var(--overlay-panel)}

.aristos-site .ar-footer__grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:var(--space-12)}

.aristos-site .ar-footer__brand{display:flex;flex-direction:column;gap:var(--space-4);max-width:34ch}

.aristos-site .ar-footer__logo img{height:64px;width:auto}

.aristos-site .ar-footer__title{font-family:var(--font-display);font-size:var(--fs-display-3);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-heading);color:var(--text-inverse)}

.aristos-site .ar-footer__title em{font-style:normal;color:var(--gold-400)}

.aristos-site .ar-footer__blurb{font-size:var(--fs-body-sm);line-height:var(--lh-body)}

.aristos-site .ar-footer h2,.aristos-site .ar-footer h3{font-family:var(--font-display);font-size:var(--fs-heading);font-weight:var(--fw-bold);letter-spacing:var(--ls-heading);color:var(--text-inverse)}

.aristos-site .ar-footer__col{display:flex;flex-direction:column;gap:var(--space-4)}

.aristos-site .ar-footer__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}

.aristos-site .ar-footer__list a,.aristos-site .ar-footer__list li{font-size:var(--fs-body-sm);color:var(--text-inverse-muted);text-decoration:none;display:flex;align-items:flex-start;gap:var(--space-3)}

.aristos-site .ar-footer__list a:hover{color:var(--white)}

.aristos-site .ar-footer__list svg{width:15px;height:15px;flex:none;margin-top:4px;color:var(--gold-400)}

.aristos-site .ar-footer__socials{display:flex;gap:var(--space-3);margin-top:var(--space-2)}

.aristos-site .ar-footer__social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-pill);background:var(--gold-500);color:var(--white);transition:var(--transition-control)}

.aristos-site .ar-footer__social:hover{background:var(--gold-600);color:var(--white);transform:translateY(-2px)}

.aristos-site .ar-footer__social svg{width:16px;height:16px}

.aristos-site .ar-footer__note{margin-top:var(--space-16);padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,.12);font-size:var(--fs-caption);line-height:var(--lh-body);display:grid;gap:var(--space-4)}

.aristos-site .ar-footer__wordmark{margin-top:var(--space-10);font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:clamp(3.5rem,13vw,11rem);line-height:.8;letter-spacing:-.045em;text-transform:uppercase;color:rgba(255,255,255,.10);white-space:nowrap;overflow:hidden;user-select:none}

@media (max-width:1023px){.aristos-site .ar-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10)}
}

@media (max-width:479px){.aristos-site .ar-footer__grid{grid-template-columns:1fr}
}

/* ---------- Grids & splits ---------- */
.aristos-site .ar-grid-2{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}

.aristos-site .ar-grid-3{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

.aristos-site .ar-grid-4{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.aristos-site .ar-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,var(--space-16));align-items:start}

.aristos-site .ar-split--faq{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}

@media (max-width:1023px){.aristos-site .ar-split,.aristos-site .ar-split--faq{grid-template-columns:1fr}
}

/* ---------- Scroll reveal (progressive enhancement) ---------- */
/* Content is visible by default. The JS adds [data-ar-reveal] only when it runs. */
.aristos-site [data-ar-reveal]{opacity:0;transform:translateY(var(--rise));transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}

.aristos-site [data-ar-reveal="in"]{opacity:1;transform:none}


/* ---------- Export-only: skip link, mobile menu panel, sticky CTA ---------- */
.aristos-site .ar-skip{position:absolute;left:-9999px;top:0;z-index:100;padding:12px 18px;background:var(--white);color:var(--text-brand);border-radius:0 0 var(--radius-sm) 0;font-weight:600}
.aristos-site .ar-skip:focus{left:0}
.aristos-site .ar-nav__panel{margin-top:var(--space-4);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-lg);overflow:hidden}
.aristos-site .ar-nav__panel[hidden]{display:none}
.aristos-site .ar-nav__panel ul{list-style:none;margin:0;padding:var(--space-3) 0;display:grid;gap:2px}
.aristos-site .ar-nav__panel a{display:flex;align-items:center;min-height:var(--tap-min);padding:0 var(--space-6);font-family:var(--font-display);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-body);text-decoration:none}
.aristos-site .ar-nav__panel a:hover{color:var(--text-brand);background:var(--surface-muted)}
.aristos-site .ar-nav__panel .ar-btn{margin:var(--space-2) var(--space-6) var(--space-5)}
.aristos-site .ar-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:rgba(255,255,255,.95);backdrop-filter:var(--blur-nav);border-top:1px solid var(--border-subtle);transform:translateY(100%);transition:transform var(--dur-base) var(--ease-out)}
.aristos-site .ar-sticky-cta--in{transform:none}
.aristos-site .ar-sticky-cta .ar-btn{flex:1;justify-content:center}
@media (max-width:767px){.aristos-site .ar-sticky-cta{display:flex}.aristos-site .ar-footer{padding-bottom:var(--space-10)}}
.aristos-site .ar-check{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.aristos-site .ar-check li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--fs-body-sm);color:var(--text-body)}
.aristos-site .ar-check svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--gold-500)}
.aristos-site .ar-prose{display:grid;gap:var(--space-5)}
.aristos-site .ar-prose p{font:var(--text-body-font);color:var(--text-body)}
.aristos-site .ar-prose p:first-child{font:var(--text-lead-font)}
.aristos-site .ar-media-round{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}

/* ---------- Horizontal carousel (services) ---------- */
.aristos-site .ar-carousel{position:relative;margin-top:clamp(32px,4vw,var(--space-12))}
.aristos-site .ar-carousel__track{display:flex;gap:var(--grid-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:var(--space-4);scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.aristos-site .ar-carousel__track::-webkit-scrollbar{display:none}
.aristos-site .ar-carousel__track[data-dragging="true"]{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.aristos-site .ar-carousel__track > *{flex:0 0 clamp(280px,30vw,360px);scroll-snap-align:start}
.aristos-site .ar-carousel__controls{display:flex;gap:var(--space-3)}
.aristos-site .ar-carousel__drag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-radius:var(--radius-pill);background:var(--white);box-shadow:var(--shadow-lg);font-family:var(--font-display);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-strong);pointer-events:none;transition:opacity var(--dur-base) var(--ease-out)}
.aristos-site .ar-carousel__drag svg{width:14px;height:14px;color:var(--text-muted)}
.aristos-site .ar-carousel[data-scrolled="true"] .ar-carousel__drag{opacity:0}
@media (max-width:767px){.aristos-site .ar-carousel__drag{display:none}}

/* ---------- Nav: unified floating capsule (logo + links + CTA in one dark bar) ---------- */
.aristos-site .ar-nav__inner{display:flex;align-items:center;gap:var(--space-4);max-width:1200px;margin-inline:auto;padding:8px 8px 8px var(--space-5);border-radius:var(--radius-pill);background:rgba(12,21,37,.62);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.10);box-shadow:0 12px 32px -18px rgba(6,12,24,.8)}
.aristos-site .ar-nav--embedded .ar-nav__inner{max-width:1200px;padding-inline:var(--space-5) 8px}
.aristos-site .ar-nav__capsule{background:transparent;border:0;padding:0;gap:2px;margin-inline:auto}
.aristos-site .ar-nav__link{color:rgba(255,255,255,.82)}
.aristos-site .ar-nav__link:hover{background:rgba(255,255,255,.10);color:var(--white)}
.aristos-site .ar-nav__link[aria-current="page"]{background:rgba(255,255,255,.14);color:var(--white)}
.aristos-site .ar-nav__wordmark b{color:var(--text-inverse)}
.aristos-site .ar-nav__wordmark span{color:var(--text-inverse-muted)}
.aristos-site .ar-nav__logo img{height:36px}
.aristos-site .ar-nav--scrolled .ar-nav__inner{background:rgba(255,255,255,.86);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}
.aristos-site .ar-nav--scrolled .ar-nav__capsule{background:transparent;border:0}
.aristos-site .ar-nav--scrolled .ar-nav__link{color:var(--text-body)}
.aristos-site .ar-nav--scrolled .ar-nav__link:hover{background:var(--grey-050);color:var(--text-brand)}
.aristos-site .ar-nav--scrolled .ar-nav__link[aria-current="page"]{background:var(--ink-900);color:var(--white)}
.aristos-site .ar-nav--scrolled .ar-nav__wordmark b{color:var(--text-strong)}
.aristos-site .ar-nav--scrolled .ar-nav__wordmark span{color:var(--text-muted)}
.aristos-site .ar-nav--scrolled{background:transparent;box-shadow:none;backdrop-filter:none}
.aristos-site .ar-nav--embedded.ar-nav--scrolled{background:transparent;box-shadow:none;backdrop-filter:none}
.aristos-site .ar-nav__toggle{margin-left:auto}

/* ---------- Hero: full-bleed panel, image fills the section edge to edge ---------- */
.aristos-site .ar-hero{padding:0}
.aristos-site .ar-hero>.ar-container{max-width:none;padding-inline:0}
.aristos-site .ar-hero__panel{border-radius:0;min-height:min(92vh,860px);display:flex;flex-direction:column;justify-content:flex-end}
.aristos-site .ar-hero__bg img{object-position:center 30%}
.aristos-site .ar-hero__inner{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.aristos-site .ar-hero__grid{padding-inline:0}

.aristos-site .ar-nav{padding-block:clamp(16px,2vw,28px);padding-inline:clamp(16px,5vw,48px)}
.aristos-site .ar-nav--embedded{padding-block:clamp(16px,2vw,28px);padding-inline:clamp(16px,5vw,48px)}
.aristos-site .ar-nav--embedded .ar-nav__inner,.aristos-site .ar-nav--scrolled .ar-nav__inner{max-width:1200px;padding-inline:var(--space-5) 8px}

/* ---------- Nav: smooth transition between transparent and scrolled ---------- */
.aristos-site .ar-nav{transition:padding var(--dur-base) var(--ease-out)}
.aristos-site .ar-nav__inner{transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),backdrop-filter var(--dur-base) var(--ease-out),padding var(--dur-base) var(--ease-out)}
.aristos-site .ar-nav__link,.aristos-site .ar-nav__wordmark b,.aristos-site .ar-nav__wordmark span,.aristos-site .ar-nav__toggle{transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.aristos-site .ar-nav--scrolled{padding-block:clamp(10px,1.2vw,16px)}

/* ---------- Hero quote form (glass card in the hero aside) ---------- */
.aristos-site .ar-hero__aside{justify-items:stretch;align-content:center}
.aristos-site .ar-quote{width:100%;max-width:420px;margin-left:auto;padding:clamp(24px,2.4vw,32px);border-radius:var(--radius-xl,24px);background:rgba(12,21,37,.62);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 70px -40px rgba(3,8,18,.9);display:flex;flex-direction:column;gap:14px}
.aristos-site .ar-quote__title{font-family:var(--font-display);font-size:1.375rem;font-weight:var(--fw-extrabold);letter-spacing:var(--ls-heading);line-height:1.2;color:var(--text-inverse);margin:0}
.aristos-site .ar-quote__note{font-size:var(--fs-caption);color:var(--text-inverse-muted);margin:0}
.aristos-site .ar-quote__row{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.aristos-site .ar-quote__field{display:flex;flex-direction:column;gap:6px}
.aristos-site .ar-quote__label{font-family:var(--font-display);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-inverse-muted)}
.aristos-site .ar-quote__input,.aristos-site .ar-quote__select,.aristos-site .ar-quote__textarea{width:100%;min-height:46px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:var(--text-inverse);font-family:inherit;font-size:var(--fs-body-sm);transition:border-color var(--dur-fast,.15s) var(--ease-out),background-color var(--dur-fast,.15s) var(--ease-out)}
.aristos-site .ar-quote__textarea{min-height:84px;resize:vertical}
.aristos-site .ar-quote__input::placeholder,.aristos-site .ar-quote__textarea::placeholder{color:rgba(255,255,255,.42)}
.aristos-site .ar-quote__input:focus,.aristos-site .ar-quote__select:focus,.aristos-site .ar-quote__textarea:focus{outline:none;border-color:var(--gold-400);background:rgba(255,255,255,.13)}
.aristos-site .ar-quote__select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.6) 50%),linear-gradient(135deg,rgba(255,255,255,.6) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.aristos-site .ar-quote__select option{background:var(--ink-900);color:var(--text-inverse)}
@media (max-width:1023px){.aristos-site .ar-quote{margin-left:0}}

/* ---------- Hero: call-us block replaces the CTA buttons (form carries the CTA) ---------- */
.aristos-site .ar-hero__copy{gap:var(--space-4);max-width:640px}
.aristos-site .ar-hero__title{font-size:clamp(2.75rem,4.6vw,4.25rem)}
.aristos-site .ar-hero__lead{max-width:52ch}
.aristos-site .ar-hero__call{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-4);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.16);align-items:flex-start}
.aristos-site .ar-hero__call-label{font-family:var(--font-display);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--text-inverse-muted)}
.aristos-site .ar-hero__call-number{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-heading);line-height:1.1;color:var(--gold-400);text-decoration:none;transition:color var(--dur-base) var(--ease-out)}
.aristos-site .ar-hero__call-number svg{width:22px;height:22px;flex:none}
.aristos-site .ar-hero__call-number:hover{color:var(--white)}
.aristos-site .ar-hero__call-hours{font-size:var(--fs-caption);color:var(--text-inverse-muted)}
.aristos-site .ar-hero__actions:has(.ar-hero__call){display:block;margin-top:0}

html,body{margin:0;padding:0}
body{background:var(--white,#fff)}

/* ---------- Hero: calmer field, larger display type ---------- */
.aristos-site .ar-hero__scrim{background:linear-gradient(90deg,rgba(8,15,28,.94) 0%,rgba(8,15,28,.86) 34%,rgba(8,15,28,.58) 62%,rgba(8,15,28,.42) 100%)}
.aristos-site .ar-hero__copy{gap:var(--space-6);max-width:660px}
.aristos-site .ar-hero__title{font-size:clamp(3.25rem,5.8vw,5.5rem);line-height:1.02;letter-spacing:-.03em}
.aristos-site .ar-hero__lead{font-size:clamp(1.0625rem,1.15vw,1.1875rem);max-width:46ch}
.aristos-site .ar-hero__actions:empty{display:none}

/* ---------- Quote form: light variant (on white sections) ---------- */
.aristos-site .ar-quote--light{background:var(--surface-card);border-color:var(--border-subtle);backdrop-filter:none;box-shadow:var(--shadow-lg);max-width:none;margin-left:0}
.aristos-site .ar-quote--light .ar-quote__title{color:var(--text-strong)}
.aristos-site .ar-quote--light .ar-quote__note,.aristos-site .ar-quote--light .ar-quote__label{color:var(--text-muted)}
.aristos-site .ar-quote--light .ar-quote__input,.aristos-site .ar-quote--light .ar-quote__select,.aristos-site .ar-quote--light .ar-quote__textarea{background-color:var(--white);border-color:var(--border-subtle);color:var(--text-strong)}
.aristos-site .ar-quote--light .ar-quote__input::placeholder,.aristos-site .ar-quote--light .ar-quote__textarea::placeholder{color:var(--text-muted)}
.aristos-site .ar-quote--light .ar-quote__input:focus,.aristos-site .ar-quote--light .ar-quote__select:focus,.aristos-site .ar-quote--light .ar-quote__textarea:focus{border-color:var(--gold-500);background-color:var(--white)}
.aristos-site .ar-quote--light .ar-quote__select{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.aristos-site .ar-quote--light .ar-quote__select option{background:var(--white);color:var(--text-strong)}

/* ---------- Process steps: uniform four-up row, no stagger ---------- */
.aristos-site .ar-steps{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(12px,1.4vw,20px)}
.aristos-site .ar-step--offset{margin-top:0}
.aristos-site .ar-step{height:100%;gap:var(--space-4);padding:var(--space-7,28px) var(--space-6)}
.aristos-site .ar-step__top{align-items:flex-start}
.aristos-site .ar-step__num{font-size:clamp(2rem,2.6vw,2.75rem);color:var(--gold-400);line-height:1}
.aristos-site .ar-step--dark .ar-step__num{color:var(--gold-400)}
.aristos-site .ar-step__title{font-size:var(--fs-subheading,1.0625rem);text-wrap:balance}
.aristos-site .ar-step__text{text-wrap:pretty}
@media (max-width:1100px){.aristos-site .ar-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.aristos-site .ar-steps{grid-template-columns:1fr}}

/* ==========================================================================
   Mobile optimisation (<=1023px tablet, <=767px phone, <=479px small phone)
   ========================================================================== */
html,body{overflow-x:hidden}
@media (max-width:1023px){
.aristos-site .ar-split{grid-template-columns:minmax(0,1fr)}
.aristos-site .ar-head-row{align-items:flex-start}
.aristos-site .ar-hero__panel{min-height:0}
.aristos-site .ar-hero__inner{padding-top:clamp(96px,18vw,130px)}
.aristos-site .ar-hero__grid{min-height:0!important;gap:var(--space-8);padding-block:clamp(24px,5vw,40px)}
.aristos-site .ar-hero__scrim{background:linear-gradient(180deg,rgba(8,15,28,.86) 0%,rgba(8,15,28,.92) 55%,rgba(8,15,28,.96) 100%)}
.aristos-site .ar-quote{max-width:none;margin-left:0}
}
@media (max-width:767px){
.aristos-site .ar-section{padding-block:clamp(40px,10vw,56px)}
.aristos-site .ar-section--tight{padding-block:clamp(28px,7vw,40px)}
.aristos-site .ar-hero__title{font-size:clamp(2.25rem,10vw,3rem);line-height:1.06}
.aristos-site .ar-hero__lead{font-size:1rem;max-width:none}
.aristos-site .ar-head__title{font-size:clamp(1.75rem,7.4vw,2.25rem)}
.aristos-site .ar-cta__title{font-size:clamp(1.75rem,7.4vw,2.25rem)}
.aristos-site .ar-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);padding-top:var(--space-6)}
.aristos-site .ar-hero__stat-figure{font-size:1.125rem}
.aristos-site .ar-hero__stat-icon{width:32px;height:32px}
.aristos-site .ar-hero__actions,.aristos-site .ar-cta__actions{flex-direction:column;align-items:stretch;width:100%}
.aristos-site .ar-hero__actions .ar-btn,.aristos-site .ar-cta__actions .ar-btn{width:100%;justify-content:center}
.aristos-site .ar-panel{padding:clamp(24px,7vw,36px) clamp(18px,5vw,28px);border-radius:var(--radius-xl,24px)}
.aristos-site .ar-cta{padding:clamp(28px,8vw,40px) clamp(18px,5vw,28px);border-radius:var(--radius-xl,24px)}
.aristos-site .ar-card,.aristos-site .ar-card--pad-lg{padding:var(--space-6)}
.aristos-site .ar-quote{padding:var(--space-6)}
.aristos-site .ar-quote__row{grid-template-columns:1fr}
.aristos-site .ar-quote__input,.aristos-site .ar-quote__select,.aristos-site .ar-quote__textarea{font-size:16px}
.aristos-site .ar-nav{padding-block:12px;padding-inline:14px}
.aristos-site .ar-nav__inner{padding:8px 8px 8px 14px;gap:var(--space-3)}
.aristos-site .ar-nav__logo img{height:32px}
.aristos-site .ar-nav__wordmark b{font-size:.8125rem}
.aristos-site .ar-nav__wordmark span{font-size:.5rem;letter-spacing:.16em}
.aristos-site .ar-footer__grid{grid-template-columns:1fr;gap:var(--space-8)}
.aristos-site .ar-footer__wordmark{font-size:clamp(3rem,18vw,5rem)}
.aristos-site .ar-service__foot{flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.aristos-site .ar-sticky-cta{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}
.aristos-site .ar-sticky-cta .ar-btn{min-height:48px;font-size:var(--fs-body-sm)}
}
@media (max-width:479px){
.aristos-site .ar-nav__wordmark span{display:none}
.aristos-site .ar-hero__stats{grid-template-columns:1fr;gap:var(--space-4)}
.aristos-site .ar-pill{font-size:.625rem;padding:6px var(--space-3)}
.aristos-site .ar-btn{padding-left:var(--space-5)}
.aristos-site .ar-btn--lg{min-height:54px;font-size:var(--fs-body-sm)}
}
@media (hover:none){
.aristos-site .ar-card--interactive:hover,.aristos-site .ar-trust:hover,.aristos-site .ar-service:hover,.aristos-site .ar-feature:hover{transform:none;box-shadow:var(--shadow-md)}
.aristos-site .ar-btn--primary:hover{transform:none}
}


/* ============================================================
   Aristos Claims - EXPORT CORRECTIONS
   Kept in a SEPARATE file from aristos.css on purpose: when a new
   design export arrives, aristos.css is replaced wholesale and these
   corrections survive. Loaded AFTER aristos.css in Site Settings.
   Every rule here documents a defect in the export - fold them back
   into the design system prompt rather than letting them recur.
   ============================================================ */

/* [1] ICON SVGs HAVE NO SIZE UNLESS A WRAPPER CLASS PROVIDES ONE.
   Every SVG sizing rule in aristos.css targets a wrapper
   (.ar-btn__badge svg, .ar-pill svg, .ar-iconbtn svg, .ar-step__icon svg ...).
   Any glyph placed somewhere without such a rule matches only
   `svg{display:block;max-width:100%}` and falls back to the CSS default
   replaced-element size. Confirmed casualties:
     - .ar-btn--plain  -> giant phone glyph in the CTA panel + sticky Call bar
     - .ar-nav__toggle -> hamburger invisible, leaving an empty circle on mobile
                          (there is NO `.ar-nav__toggle svg` rule at all)
   All 120 SVGs in the export are 24x24 icons, so a blanket fallback is safe.
   :where() contributes zero specificity, so every existing sizing rule in
   aristos.css still wins over it - this only catches the ones with no rule. */
.aristos-site :where(svg){width:16px;height:16px;flex:none}
.aristos-site .ar-btn > svg{width:16px;height:16px;flex:none}
.aristos-site .ar-btn--lg > svg{width:18px;height:18px}
.aristos-site .ar-btn--sm > svg{width:14px;height:14px}
.aristos-site .ar-nav__toggle > svg{width:20px;height:20px;flex:none}

/* [2] Astra wraps Elementor content in .ast-container, which caps the
   page at the theme content width and stops .ar-hero and .ar-footer
   bleeding edge to edge. Theme settings are set to full-width-stretched;
   this is the belt-and-braces guard so a theme update cannot re-box the
   design. Scoped to pages carrying the design wrapper only. */
.ast-plain-container .ast-container:has(.aristos-site),
.ast-page-builder-template .ast-container:has(.aristos-site){
  max-width:none;
  padding-left:0;
  padding-right:0;
  margin-left:0;
  margin-right:0;
}
#content:has(.aristos-site) > .ast-container{max-width:none;padding-inline:0}

/* [3] NAV CAPSULE GEOMETRY.
   The capsule jumped sideways on scroll: padding-inline was 20px left / 8px
   right while embedded over the hero, but var(--gutter) (up to 48px) once
   scrolled, because `.ar-nav--embedded.ar-nav--scrolled .ar-nav__inner`
   carries 4 classes and outranks the 3-class embedded rule. Unified here.

   Alignment is OPTION B, chosen deliberately: the base flex layout plus
   `margin-inline:auto` on <nav> splits the leftover space equally, giving
   EQUAL VISIBLE GAPS either side of the menu. Measured on a 1296px viewport
   this puts the menu's centre ~12px right of the capsule's true centre,
   because the logo block (193px) is wider than the CTA pill (169px).
   The alternative (grid 1fr auto 1fr) centres the menu exactly but makes the
   gaps uneven by 26px. You cannot have both unless logo and CTA match width.
   Deliberately NOT setting display here, so the base flex rule applies. */
@media (min-width:1024px){
  .aristos-site .ar-nav__inner,
  .aristos-site .ar-nav--embedded .ar-nav__inner,
  .aristos-site .ar-nav--scrolled .ar-nav__inner,
  .aristos-site .ar-nav--embedded.ar-nav--scrolled .ar-nav__inner{
    max-width:var(--container-max);
    margin-inline:auto;
    padding-inline:var(--space-5);
  }
}

/* [4] .ar-btn sets `display:inline-flex; align-items:center` but never sets
   justify-content, so it inherits flex-start. That is invisible while the
   button is content-sized, but inside .ar-nav__panel the button stretches to
   the panel width and the label + badge pack hard against the left edge.
   Harmless everywhere else: on a content-sized inline-flex box there is no
   free space for justify-content to distribute. */
.aristos-site .ar-btn{justify-content:center}

/* [6] THEME LIST MARGINS PUSH FLEX-CENTRED CONTENT OFF-CENTRE.
   Astra's main.min.css sets `ul,ol{margin:0 0 1.5em 3em}`. The design's list
   components set `margin-inline` (or nothing at all) but never `margin-block`,
   so that 1.5em BOTTOM margin survives - roughly 23px at the nav's font size.

   On .ar-nav__capsule this was visible: .ar-nav__inner uses align-items:center,
   and flex centres the MARGIN box, not the border box. A 23px bottom margin
   therefore lifts the visible capsule by half of it. Measured on a screenshot:
   logo mark centred at y=69.5, CTA pill at y=69.5, menu text at y=58 - the
   links sat 11.5px high, which is exactly half of 23px.

   Scoped to the design's own classed lists ON PURPOSE. The bare <ul> elements
   in privacy.html and terms.html are prose and must keep their default
   spacing, so they are deliberately left alone. */
.aristos-site :where(.ar-nav__capsule,.ar-service__list,.ar-footer__list){
  margin-block:0;
}

/* [5] ASTRA PAINTS EVERY BARE <button>. From main.min.css:
       button{border:1px solid;border-radius:2px;background:#e6e6e6;
              padding:.6em 1em .4em;color:#fff}
   The design sets background/border/radius/colour on .ar-nav__toggle and
   .ar-iconbtn, and those win on specificity - which is why the toggle still
   renders as a correct dark circle. But the design sets NO PADDING on either,
   so Astra's em-based padding applies unopposed and consumes the whole 48px
   button. Together with the export's own `svg{max-width:100%}` that caps the
   glyph at the content-box width, which is zero. Result: a visible circle with
   an invisible hamburger inside it. Verified by sampling a screenshot - zero
   near-white pixels anywhere within the circle.
   The same applies to the carousel .ar-iconbtn arrows.

   Reset bare buttons, then let the design's own rules paint - :where() carries
   zero specificity, so every .ar-* rule (0,2,0 and up) still wins over this,
   and buttons that DO declare padding (.ar-btn, .ar-acc__trigger,
   .ar-carousel__drag) are unaffected. */
.aristos-site :where(button){
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  color:inherit;
  font:inherit;
  line-height:inherit;
  text-align:inherit;
}

/* [9] NATIVE FORM SKIN.
   The playbook's one exception: the enquiry form is a native Elementor Pro Form,
   because the design's own markup posts to action="#" and captures nothing.

   SPECIFICITY NOTE - this bit matters. Elementor generates per-widget CSS into
   post-<id>.css at FOUR classes
   (.elementor-17 .elementor-element.elementor-element-frm0001 .elementor-field-group)
   and that file loads AFTER post-11.css. So a three-class .elementor-kit-11 loses, and a
   four-class .elementor-kit-11 loses the tie on source order. Every rule below is
   prefixed to FIVE classes so it actually wins. The widget's own column_gap and
   row_gap are set to 0 so Elementor stops emitting its negative-margin gutter
   system and the spacing below is the only spacing in play. */
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-form-fields-wrapper{
  display:flex;flex-wrap:wrap;gap:14px;margin:0;
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-group{
  display:flex;flex-direction:column;align-items:stretch;gap:6px;
  margin:0;padding:0;flex-basis:100%;max-width:100%;
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-group.elementor-col-50{
  flex-basis:calc(50% - 7px);max-width:calc(50% - 7px);
}
@media (max-width:767px){
  .aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-group.elementor-col-50{
    flex-basis:100%;max-width:100%;
  }
}
/* labels: .ar-quote__label on the light variant */
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-label{
  font-family:var(--font-display);font-size:.6875rem;font-weight:var(--fw-semibold);
  letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);
  padding:0;line-height:1.3;
}
/* inputs, select, textarea: .ar-quote--light .ar-quote__input */
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-textual{
  width:100%;min-height:46px;padding:12px 14px;border-radius:12px;
  border:1px solid var(--border-subtle);background-color:var(--white);
  color:var(--text-strong);font-family:inherit;font-size:16px;line-height:1.4;
  box-shadow:none;
  transition:border-color var(--dur-fast,.15s) var(--ease-out),background-color var(--dur-fast,.15s) var(--ease-out);
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form textarea.elementor-field-textual{
  min-height:84px;resize:vertical;
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-textual::placeholder{color:var(--text-muted);opacity:1}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-textual:focus{
  outline:none;border-color:var(--gold-500);background-color:var(--white);box-shadow:none;
}
/* Elementor wraps <select> in .elementor-select-wrapper and adds its own arrow;
   hide that and reuse the design's gradient caret. */
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-select-wrapper{display:block;width:100%}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-select-wrapper::before,
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-select-wrapper .e-font-icon-svg,
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-select-wrapper i{display:none}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form select.elementor-field-textual{
  appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}
/* Consent tickbox. Elementor renders acceptance as
   <span class="elementor-field-option"><input><label></span> - the input is a
   SIBLING of the label, not its parent, so the option wrapper is the target. */
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-type-acceptance .elementor-field-option{
  display:flex;align-items:flex-start;gap:10px;
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-type-acceptance input[type="checkbox"]{
  width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--gold-500);
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-type-acceptance label{
  font-size:var(--fs-caption);color:var(--text-muted);line-height:1.45;text-transform:none;letter-spacing:0;font-weight:var(--fw-regular,400);
}
/* Submit button reuses the design's primary button. The [type="submit"] attribute
   is needed to outrank Elementor's own generated colour rule. */
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-type-submit{width:100%;padding:0}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-button[type="submit"]{
  width:100%;display:inline-flex;align-items:center;justify-content:center;
  gap:var(--space-3);min-height:var(--tap-min);padding:6px var(--space-5);
  border:1px solid transparent;border-radius:var(--radius-pill);
  font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:var(--fw-bold);
  letter-spacing:-.005em;background-color:var(--gold-500);color:var(--ink-900);cursor:pointer;
  transition:var(--transition-control);
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-button[type="submit"]:hover{
  background-color:var(--gold-400);color:var(--ink-900);
}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-message{font-size:var(--fs-caption);margin-top:4px}
.aristos-site .elementor-widget-form.ar-quote--native .elementor-form .elementor-field-required .elementor-field-label::after{content:" *";color:var(--gold-500)}

/* [11] Footer credit line.
   Copyright and the "Made by Satelsite" credit share one baseline row, pushed
   to opposite ends, with the regulatory notice spanning the full width above
   them. Stacks under 600px rather than squeezing. The credit uses the design's
   own gold accent TOKEN, not a hard-coded hex, so it tracks any palette change. */
.aristos-site .ar-footer__note{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.aristos-site .ar-footer__note > p{margin:0}
.aristos-site .ar-footer__credit{white-space:nowrap}
.aristos-site .ar-footer__credit a{
  color:var(--gold-500);
  font-weight:var(--fw-bold);
  text-decoration:none;
  transition:color var(--dur-fast,.15s) var(--ease-out);
}
.aristos-site .ar-footer__credit a:hover,
.aristos-site .ar-footer__credit a:focus-visible{
  color:var(--gold-400);
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (min-width:600px){
  .aristos-site .ar-footer__note{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:baseline;
    column-gap:var(--space-6);
    row-gap:var(--space-3);
  }
  .aristos-site .ar-footer__note > p:first-child{grid-column:1 / -1}
}

/* [10] HOME HERO - form removed, copy centred.
   The hero enquiry form was removed at the client's request (it duplicated the
   claim-check popup and read as two competing entry points). That leaves
   .ar-hero__copy as the only child of .ar-hero__grid, so the two-column split
   collapses to one and the copy is centred in the full width.

   Scoped to the --solo modifier ON PURPOSE: about, contact, housing-disrepair
   and rta-claims all still have an .ar-hero__aside with other content, and
   their heroes must stay left-aligned. */
.aristos-site .ar-hero__grid--solo{grid-template-columns:minmax(0,1fr)}
.aristos-site .ar-hero__grid--solo .ar-hero__copy{
  align-items:center;
  text-align:center;
  max-width:860px;
  margin-inline:auto;
}
.aristos-site .ar-hero__grid--solo .ar-hero__lead{margin-inline:auto;max-width:56ch}

/* [8] STAGGERED REVEALS.
   The export's reveal engine is good - IntersectionObserver, --dur-reveal 700ms,
   --rise 18px, --ease-out cubic-bezier(.22,1,.36,1) - but the markup only tagged
   whole containers, so a six-card grid faded in as one lump. Cards, steps, FAQ
   rows, section heads and footer columns are now tagged individually and are
   offset here so they cascade.

   Elementor Pro motion effects were deliberately NOT used. Each section is a
   single HTML widget, so Elementor could only animate the whole block - coarser
   than this, not finer - and its entrance animations rely on
   .elementor-invisible{visibility:hidden}, which breaks the export's stated
   contract that nothing is hidden by default and everything stays readable if
   scripting fails.

   [data-ar-reveal] is added by aristos.js and never exists in the markup, so
   these delays are inert unless the reveal engine is actually running. */
.aristos-site :where(.ar-grid-3,.ar-steps,.ar-acc,.ar-carousel__track,.ar-footer__grid) > [data-ar-reveal]:nth-child(2){transition-delay:70ms}
.aristos-site :where(.ar-grid-3,.ar-steps,.ar-acc,.ar-carousel__track,.ar-footer__grid) > [data-ar-reveal]:nth-child(3){transition-delay:140ms}
.aristos-site :where(.ar-grid-3,.ar-steps,.ar-acc,.ar-carousel__track,.ar-footer__grid) > [data-ar-reveal]:nth-child(4){transition-delay:210ms}
.aristos-site :where(.ar-grid-3,.ar-steps,.ar-acc,.ar-carousel__track,.ar-footer__grid) > [data-ar-reveal]:nth-child(5){transition-delay:280ms}
.aristos-site :where(.ar-grid-3,.ar-steps,.ar-acc,.ar-carousel__track,.ar-footer__grid) > [data-ar-reveal]:nth-child(n+6){transition-delay:350ms}

/* Section heads lead their own body by a beat, so the eye lands on the
   headline first and the cards follow it in. */
.aristos-site .ar-head[data-ar-reveal]{transition-delay:0ms}
.aristos-site .ar-section__body[data-ar-reveal]{transition-delay:90ms}

/* Reduced motion: the export already neutralises durations inside its own
   prefers-reduced-motion block, but transition-delay is not covered there -
   without this, honouring the preference would leave content sitting invisible
   for up to 350ms before snapping in. */
@media (prefers-reduced-motion:reduce){
  .aristos-site [data-ar-reveal]{transition-delay:0ms!important}
}/* End custom CSS */