/*!
 * Cosmetic Surgery Psychiatry — design system
 * Works on two outputs from the same markup:
 *   1. WordPress + Elementor (native Container / Heading / Text Editor / Button / Image / HTML widgets)
 *   2. The static HTML preview (which mimics Elementor's wrapper classes)
 * Every component is targeted by a class you can see in Elementor > Advanced > CSS Classes.
 * Designed & developed by World WebLogic Pvt Ltd.
 */

/* ============================== TOKENS ============================== */
:root{
  --navy:#1F4886; --navy-dk:#183462; --sky:#739FD0; --ice:#C7DCF3;
  --ink:#272727; --ink-2:#2F2F31; --text:#333333; --muted:#6D6E71;
  --pearl:#F8F8FA; --marble:#EEF2F8; --line:#DCE3EC; --white:#FFFFFF;
  --danger:#B5455A;
  --foil:linear-gradient(110deg,#1F4886 0%,#3E6DAE 18%,#739FD0 32%,#9CBCE2 42%,#3E6DAE 58%,#1F4886 72%,#5A88C2 86%,#1F4886 100%);
  --foil-lt:linear-gradient(110deg,#739FD0 0%,#C7DCF3 22%,#FFFFFF 34%,#C7DCF3 48%,#739FD0 66%,#C7DCF3 84%,#739FD0 100%);
  --display:'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
  --caps:'Cinzel','Trajan Pro',Georgia,serif;
  --sans:'Jost','Futura',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,.8,.2,1);
  --wrap:1300px;
  --gutter:16px;
  --hd-h:112px;
  --marble-tex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0032 .011' numOctaves='5' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .52 0 0 0 0 .66 0 0 0 -2.7 1.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)' opacity='.5'/%3E%3C/svg%3E");
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.5'/%3E%3C/svg%3E");
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 10'%3E%3Cpath d='M0 5h28M24 1l4 4-4 4' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E");
  --check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ============================== BASE ============================== */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body.csp-site{margin:0;font-family:var(--sans);font-weight:300;font-size:1.02rem;line-height:1.8;color:var(--text);background:var(--pearl);-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
.csp-site *,.csp-site *::before,.csp-site *::after{box-sizing:border-box}
.csp-site a{color:inherit;text-decoration:none;background:none}
.csp-site a:hover{color:inherit}
.csp-site img{max-width:100%;height:auto;display:block}
.csp-site ::selection{background:var(--navy);color:#fff}
.csp-site :focus-visible{outline:1px solid var(--sky);outline-offset:4px}
.csp-site a,.csp-site button,.csp-site label{touch-action:manipulation}
.csp-site main{display:block}
.csp-site .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Hello Elementor resets we do not want */
.csp-site .page-header,.csp-site .site-header:not(.csp-hd),.csp-site .site-footer:not(.csp-ft){display:none}
.csp-site .elementor-heading-title{padding:0;margin:0}
.csp-site .elementor-widget-text-editor p{margin:0 0 1em}
.csp-site .elementor-widget-text-editor p:last-child{margin-bottom:0}
.csp-site .elementor-widget-text-editor ul,.csp-site .elementor-widget-text-editor ol{margin:0;padding:0}

/* ============================== CONTAINER SYSTEM ==============================
   Spacing is set through Elementor's own variables, so values a client types into
   Elementor (Layout > Padding / Gaps) still override these defaults. */
.csp-site .csp{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--row-gap:0px;--column-gap:0px;--gap:0px;--margin-top:0px;--margin-bottom:0px;
  padding:var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);gap:var(--row-gap) var(--column-gap);min-width:0;position:relative}
.csp-site .csp>.elementor-element{min-width:0}
.csp-site .csp-sec{--padding-top:130px;--padding-bottom:130px;width:100%}
.csp-site .csp-sec--tight{--padding-top:90px;--padding-bottom:90px}
.csp-site .csp-sec--flush-top{--padding-top:0px}
.csp-site .csp-wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;--padding-left:var(--gutter);--padding-right:var(--gutter)}
.csp-site .csp-stack{display:flex;flex-direction:column;--row-gap:22px}
.csp-site .csp-stack--lg{--row-gap:34px}
.csp-site .csp-stack--sm{--row-gap:12px}
.csp-site .csp-center{align-items:center;text-align:center}
.csp-site .csp-center>*{text-align:center}
.csp-site .csp-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;--column-gap:14px;--row-gap:14px;--container-widget-width:auto;--container-widget-flex-grow:0}
.csp-site .csp-row>.elementor-element{width:auto;flex:0 0 auto}
.csp-site .csp-center .csp-row,.csp-site .csp-row.csp-row--center{justify-content:center}
.csp-site .csp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);--column-gap:clamp(40px,7vw,110px);--row-gap:56px;align-items:center}
.csp-site .csp-split--wl{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.csp-site .csp-split--wr{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.csp-site .csp-split--top{align-items:start}
.csp-site .csp-grid{display:grid;--column-gap:26px;--row-gap:26px}
.csp-site .csp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.csp-site .csp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.csp-site .csp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.csp-site .csp-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.csp-site .csp-head{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;--column-gap:30px;--row-gap:20px;--padding-bottom:60px}
.csp-site .csp-head>.elementor-element{width:auto;flex:0 1 auto}
.csp-site .csp-head .csp-lead{max-width:44ch}
.csp-site .csp-mb{--padding-bottom:56px}

/* Backgrounds */
.csp-site .csp-bg-pearl{background:var(--pearl)}
.csp-site .csp-bg-white{background:#fff}
.csp-site .csp-bg-marble{background-color:var(--marble);background-image:var(--marble-tex);background-size:cover;background-position:center}
.csp-site .csp-bg-ink{background:var(--ink);color:#fff}
.csp-site .csp-bg-navy{background:var(--navy);color:#fff}

/* ============================== TYPE ============================== */
.csp-site .csp-eyebrow{font-family:var(--caps);font-size:.78rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--navy);line-height:1.6}
.csp-site .csp-eyebrow p{display:flex;align-items:center;gap:16px;margin:0}
.csp-site .csp-eyebrow p::before{content:"";width:34px;height:1px;flex:none;background:linear-gradient(90deg,transparent,var(--sky))}
.csp-site .csp-center .csp-eyebrow p,.csp-site .csp-eyebrow.csp-eyebrow--center p{justify-content:center}
.csp-site .csp-center .csp-eyebrow p::after,.csp-site .csp-eyebrow--center p::after{content:"";width:34px;height:1px;flex:none;background:linear-gradient(90deg,var(--sky),transparent)}
.csp-site .csp-secnum{font-family:var(--display);font-style:italic;font-size:1rem;letter-spacing:.1em;color:var(--navy)}
.csp-site .csp-secnum p::before,.csp-site .csp-secnum p::after{content:" — "}

.csp-site .csp-h1 .elementor-heading-title,
.csp-site .csp-h2 .elementor-heading-title,
.csp-site .csp-h3 .elementor-heading-title,
.csp-site .csp-h4 .elementor-heading-title,
.csp-site .csp-hx .elementor-heading-title{font-family:var(--display);font-weight:400;letter-spacing:-.015em;line-height:1.04;color:var(--ink);text-wrap:balance}
.csp-site .csp-hx .elementor-heading-title{font-size:clamp(2.7rem,6vw,5.6rem);font-size:clamp(2.6rem,min(6vw,10.5vh),5.6rem);line-height:.98;letter-spacing:-.025em}
.csp-site .csp-h1 .elementor-heading-title{font-size:clamp(2.5rem,5.4vw,4.8rem);line-height:1}
.csp-site .csp-h2 .elementor-heading-title{font-size:clamp(2.2rem,4.6vw,4.1rem)}
.csp-site .csp-h3 .elementor-heading-title{font-size:clamp(1.55rem,2.4vw,2.05rem);line-height:1.12}
.csp-site .csp-h4 .elementor-heading-title{font-size:1.32rem;line-height:1.2}
.csp-site .csp-caps .elementor-heading-title{font-family:var(--caps);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.csp-site [class*="csp-h"] .elementor-heading-title em{font-style:italic;font-weight:400;background:var(--foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .05em;animation:csp-foil 7s ease-in-out infinite}
.csp-site .csp-dark [class*="csp-h"] .elementor-heading-title,.csp-site .csp-light .elementor-heading-title{color:#fff}
.csp-site .csp-dark [class*="csp-h"] .elementor-heading-title em,.csp-site .csp-light .elementor-heading-title em{background-image:var(--foil-lt)}
@keyframes csp-foil{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.csp-site .csp-lead{font-size:1.12rem;color:var(--muted);max-width:62ch}
.csp-site .csp-lead strong,.csp-site .csp-body strong{font-weight:500;color:var(--ink)}
.csp-site .csp-body{font-size:1.02rem;color:var(--text);max-width:68ch}
.csp-site .csp-dark .csp-lead,.csp-site .csp-dark .csp-body{color:#DCE6F3}
.csp-site .csp-dark .csp-lead strong,.csp-site .csp-dark .csp-body strong{color:#fff}
.csp-site .csp-dark .csp-eyebrow{color:var(--ice)}
.csp-site .csp-dark .csp-secnum{color:var(--ice)}
.csp-site .csp-dropcap p:first-child::first-letter{float:left;font-family:var(--display);font-style:italic;font-size:4.6em;line-height:.82;padding:.06em .12em 0 0;background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.csp-site .csp-quote{font-family:var(--display);font-style:italic;font-size:1.55rem;line-height:1.4;color:var(--ink);border-left:1px solid var(--sky);padding-left:26px}
.csp-site .csp-dark .csp-quote{color:#F1F5FB}
.csp-site .csp-bigword .elementor-heading-title{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(4.6rem,11vw,10.5rem);line-height:.85;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--sky)}
.csp-site .csp-bigword .elementor-heading-title span{display:block;margin-top:18px;font-style:normal;font-size:.36em;letter-spacing:-.01em;color:var(--ink);-webkit-text-stroke:0}
.csp-site .csp-small{font-size:.86rem;color:var(--muted)}
.csp-site .csp-dark .csp-small{color:#B9C6DA}

/* Lists */
.csp-site .csp-list ul{list-style:none;display:grid;gap:12px}
.csp-site .csp-list li{position:relative;padding-left:22px}
.csp-site .csp-list li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;background:var(--sky);transform:rotate(45deg)}
.csp-site .csp-check ul{list-style:none;display:grid;gap:14px}
.csp-site .csp-check li{position:relative;padding-left:38px}
.csp-site .csp-check li::before{content:"";position:absolute;left:0;top:.18em;width:24px;height:24px;border:1px solid var(--line);background:#fff}
.csp-site .csp-check li::after{content:"";position:absolute;left:5px;top:calc(.18em + 5px);width:14px;height:14px;background:var(--navy);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
.csp-site .csp-check li strong{font-weight:500;color:var(--ink)}
.csp-site .csp-dark .csp-check li::before{background:transparent;border-color:rgba(199,220,243,.35)}
.csp-site .csp-dark .csp-check li::after{background:var(--ice)}
.csp-site .csp-links ul{list-style:none}
.csp-site .csp-links li a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.96rem;transition:color .3s,padding .45s var(--ease)}
.csp-site .csp-links li a::after{content:"";width:6px;height:6px;border-top:1px solid var(--sky);border-right:1px solid var(--sky);transform:rotate(45deg) translateX(-6px);opacity:0;transition:.45s var(--ease)}
.csp-site .csp-links li a:hover{color:var(--navy);padding-left:8px}
.csp-site .csp-links li a:hover::after{opacity:1;transform:rotate(45deg)}
.csp-site .csp-chips p{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.csp-site .csp-chips span{font-family:var(--caps);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line);background:#fff;line-height:1.2}
.csp-site .csp-dark .csp-chips span{background:rgba(255,255,255,.06);border-color:rgba(199,220,243,.3);color:#fff}

/* Tables (fees) */
.csp-site .csp-table table{width:100%;border-collapse:collapse;font-size:.98rem;background:#fff}
.csp-site .csp-table th{font-family:var(--caps);font-weight:500;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);text-align:left;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--pearl)}
.csp-site .csp-table td{padding:20px;border-bottom:1px solid var(--line);vertical-align:top}
.csp-site .csp-table td:first-child{font-family:var(--display);font-size:1.15rem;color:var(--ink)}
.csp-site .csp-table td:last-child{white-space:nowrap;font-family:var(--display);font-size:1.15rem;color:var(--navy)}
.csp-site .csp-table{overflow-x:auto;border:1px solid var(--line)}

/* ============================== BUTTONS ============================== */
.csp-site .csp-btn .elementor-button{display:inline-flex;align-items:center;gap:16px;padding:19px 32px;border-radius:0;border:1px solid currentColor;background:transparent;color:var(--ink);font-family:var(--caps);font-size:.76rem;font-weight:500;letter-spacing:.26em;line-height:1.2;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;white-space:nowrap;box-shadow:none;transition:color .6s var(--ease),border-color .6s,background-color .6s,box-shadow .5s}
.csp-site .csp-btn .elementor-button::before{content:"";position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}
.csp-site .csp-btn .elementor-button:hover::before{transform:none}
.csp-site .csp-btn .elementor-button:hover{color:#fff;border-color:var(--navy)}
.csp-site .csp-btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:16px}
.csp-site .csp-btn .elementor-button-text::after{content:"";display:inline-block;vertical-align:middle;width:28px;height:10px;margin-left:16px;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:transform .45s var(--ease)}
.csp-site .csp-btn .elementor-button:hover .elementor-button-text::after{transform:translateX(6px)}
.csp-site .csp-btn--noarrow .elementor-button-text::after{display:none}
.csp-site .csp-btn--gold .elementor-button{border:0;color:#fff;background:linear-gradient(110deg,#1F4886 0%,#2F5FA3 35%,#739FD0 60%,#1F4886 100%);background-size:220% 100%;box-shadow:0 14px 30px -14px rgba(31,72,134,.8);transition:background-position .9s var(--ease),box-shadow .5s}
.csp-site .csp-btn--gold .elementor-button::before{display:none}
.csp-site .csp-btn--gold .elementor-button:hover{background-position:100% 0;color:#fff;box-shadow:0 20px 40px -14px rgba(31,72,134,.95)}
.csp-site .csp-btn--white .elementor-button{border-color:#fff;background:#fff;color:var(--navy);box-shadow:0 14px 30px -14px rgba(0,0,0,.45)}
.csp-site .csp-btn--white .elementor-button::before{background:var(--ice)}
.csp-site .csp-btn--white .elementor-button:hover{color:var(--navy);border-color:var(--ice)}
.csp-site .csp-btn--light .elementor-button{color:#fff;border-color:rgba(255,255,255,.6)}
.csp-site .csp-btn--light .elementor-button::before{background:#fff}
.csp-site .csp-btn--light .elementor-button:hover{color:var(--navy);border-color:#fff}
.csp-site .csp-btn--link .elementor-button{padding:8px 0;border:0;color:var(--navy);font-size:.72rem}
.csp-site .csp-btn--link .elementor-button::before{display:none}
.csp-site .csp-btn--link .elementor-button:hover{color:var(--navy)}
.csp-site .csp-dark .csp-btn--link .elementor-button,.csp-site .csp-btn--link.csp-light .elementor-button{color:#fff}
.csp-site .csp-btn--full .elementor-button,.csp-site .csp-btn--full .elementor-button-wrapper{width:100%;justify-content:space-between}

/* ============================== IMAGES ============================== */
.csp-site .csp-fill,.csp-site .csp-fill .elementor-widget-container{height:100%;width:100%}
.csp-site .csp-fill img{width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0;box-shadow:none}
.csp-site .csp-frame{aspect-ratio:4/5;position:relative;overflow:hidden;background-color:var(--marble);background-image:var(--marble-tex);background-size:cover;background-position:center}
.csp-site .csp-frame img{transition:transform 1.6s var(--ease),filter 1s}
.csp-site .csp-frame:hover img{transform:scale(1.05)}
.csp-site .csp-corners::before,.csp-site .csp-corners::after{content:"";position:absolute;width:56px;height:56px;border-color:var(--sky);border-style:solid;z-index:3;pointer-events:none;transition:width .6s var(--ease),height .6s var(--ease)}
.csp-site .csp-corners::before{top:16px;left:16px;border-width:1px 0 0 1px}
.csp-site .csp-corners::after{bottom:16px;right:16px;border-width:0 1px 1px 0}
.csp-site .csp-corners:hover::before,.csp-site .csp-corners:hover::after{width:90px;height:90px}
.csp-site .noimg img{visibility:hidden}

/* ============================== HEADER ============================== */
.csp-site .csp-grain{position:fixed;inset:0;pointer-events:none;z-index:900;background-image:var(--grain);opacity:.04;mix-blend-mode:multiply}
.csp-site .csp-prog{position:fixed;top:0;left:0;height:2px;width:0;background:var(--foil);z-index:950}
.csp-site .csp-cursor{position:fixed;left:-100px;top:-100px;width:38px;height:38px;border:1px solid var(--sky);border-radius:50%;pointer-events:none;z-index:960;transform:translate(-50%,-50%);transition:width .35s var(--ease),height .35s var(--ease),background .35s,opacity .3s;opacity:0;mix-blend-mode:difference}
.csp-site .csp-cursor.big{width:76px;height:76px;background:rgba(115,159,208,.2)}
@media (hover:hover) and (pointer:fine){.csp-site:hover .csp-cursor{opacity:1}}
.csp-utility{background:var(--navy);color:var(--ice);font-family:var(--caps);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:310}
.csp-utility .csp-in{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;padding:11px var(--gutter);flex-wrap:wrap;max-width:calc(var(--wrap) + var(--gutter)*2);margin:0 auto}
.csp-utility .g{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.csp-utility a:hover{color:#fff}
.csp-utility .grp b{font-weight:600;color:#fff}
.csp-utility .dot::before{content:"◆";font-size:.5rem;color:var(--sky);margin-right:10px;vertical-align:middle}
.csp-utility .book{color:#fff;font-weight:500}
svg.ext{width:.7em;height:.7em;display:inline-block;vertical-align:.05em;margin-left:6px;transition:transform .4s var(--ease)}
a:hover svg.ext{transform:translate(2px,-2px)}

.csp-hd{position:absolute;left:0;right:0;z-index:300;color:#fff;transition:background .5s,color .5s,box-shadow .5s}
.csp-hd.solid,.csp-hd.fixed{color:var(--ink)}
.csp-hd.solid{position:relative;background:var(--pearl);box-shadow:0 1px 0 var(--line)}
.csp-hd.fixed{position:fixed;top:0;background:rgba(248,248,250,.95);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 1px 0 var(--line)}
body.admin-bar .csp-hd.fixed{top:32px}
.csp-hd .csp-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:var(--hd-h);padding:0 var(--gutter);max-width:calc(var(--wrap) + var(--gutter)*2);margin:0 auto;transition:height .5s var(--ease)}
.csp-hd.fixed .csp-in{height:80px}
.csp-menu-btn{justify-self:start;display:inline-flex;align-items:center;gap:16px;background:none;border:0;padding:10px 0;color:inherit;font-family:var(--caps);font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;min-height:44px}
.csp-menu-btn i{display:grid;gap:7px;width:30px}
.csp-menu-btn i::before,.csp-menu-btn i::after{content:"";height:1px;background:currentColor;transition:width .45s var(--ease)}
.csp-menu-btn i::after{width:60%}
.csp-menu-btn:hover i::after{width:100%}
.csp-logo{justify-self:center;display:flex;align-items:center;gap:16px;color:inherit}
.csp-logo svg{width:52px;height:52px;flex:none;transition:transform 1s var(--ease)}
.csp-logo:hover svg{transform:rotate(-12deg)}
.csp-logo .w{line-height:1}
.csp-logo .t{display:block;font-family:var(--caps);font-size:1.22rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.csp-logo .s{display:block;font-family:var(--display);font-style:italic;font-size:.92rem;letter-spacing:.06em;margin-top:6px;opacity:.85}
.csp-hd-right{justify-self:end;display:flex;align-items:center;gap:14px}
.csp-hd-right .ph{font-family:var(--display);font-size:1.05rem;letter-spacing:.06em;white-space:nowrap;margin-right:10px}
.csp-hbtn{display:inline-flex;align-items:center;padding:15px 22px;font-family:var(--caps);font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;border:1px solid currentColor;transition:background .4s,color .4s,border-color .4s}
.csp-hbtn.fill{background:#fff;color:var(--navy);border-color:#fff}
.csp-hbtn.fill:hover{background:var(--ice);border-color:var(--ice)}
.csp-hbtn.line{color:#fff;border-color:rgba(255,255,255,.6)}
.csp-hbtn.line:hover{background:#fff;color:var(--navy)}
.csp-hd.solid .csp-hbtn.fill,.csp-hd.fixed .csp-hbtn.fill{background:var(--navy);color:#fff;border-color:var(--navy)}
.csp-hd.solid .csp-hbtn.fill:hover,.csp-hd.fixed .csp-hbtn.fill:hover{background:var(--navy-dk)}
.csp-hd.solid .csp-hbtn.line,.csp-hd.fixed .csp-hbtn.line{color:var(--navy);border-color:var(--navy)}
.csp-hd.solid .csp-hbtn.line:hover,.csp-hd.fixed .csp-hbtn.line:hover{background:var(--navy);color:#fff}

/* Full-screen menu */
.csp-overlay{position:fixed;inset:0;z-index:800;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;clip-path:circle(0% at 4% 4%);-webkit-clip-path:circle(0% at 4% 4%);transition:clip-path 1s var(--ease),-webkit-clip-path 1s var(--ease);visibility:hidden}
.csp-overlay.open{clip-path:circle(150% at 4% 4%);-webkit-clip-path:circle(150% at 4% 4%);visibility:visible}
.csp-overlay .cols{padding:120px 6vw 60px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px;align-content:center;overflow:auto;-webkit-overflow-scrolling:touch}
.csp-overlay h4{font-family:var(--caps);font-weight:500;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ice);margin:0 0 24px}
.csp-overlay ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.csp-overlay li a{font-family:var(--display);font-size:1.6rem;line-height:1.3;display:inline-block;transition:color .4s,transform .5s var(--ease)}
.csp-overlay li a:hover{color:var(--ice);transform:translateX(10px);font-style:italic}
.csp-overlay li.current-menu-item a,.csp-overlay li a[aria-current]{font-style:italic;color:var(--ice)}
.csp-overlay .side{position:relative;overflow:hidden;background:var(--navy-dk)}
.csp-overlay .side img{width:100%;height:100%;object-fit:cover;opacity:.45;transform:scale(1.15);transition:transform 2.2s var(--ease)}
.csp-overlay.open .side img{transform:scale(1)}
.csp-overlay .side .cap{position:absolute;left:44px;right:44px;bottom:44px}
.csp-overlay .side .cap p{font-family:var(--display);font-size:2.3rem;line-height:1.1;margin:0 0 26px}
.csp-overlay .side .cap em{background:var(--foil-lt);-webkit-background-clip:text;background-clip:text;color:transparent}
.csp-overlay .x{position:absolute;top:30px;left:6vw;background:none;border:0;color:#fff;font-family:var(--caps);font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:14px;z-index:2;min-height:44px}
.csp-overlay .x::before{content:"×";font-family:var(--display);font-size:2rem;line-height:1}
.csp-overlay .li{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s var(--ease)}
.csp-overlay.open .li{opacity:1;transform:none;transition-delay:.35s}
.csp-overlay.open .li:nth-child(2){transition-delay:.45s}.csp-overlay.open .li:nth-child(3){transition-delay:.55s}
.csp-overlay .ov-cta{display:none}

/* ============================== HOME HERO ============================== */
.csp-site .csp-hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;background:var(--navy-dk);color:#fff;overflow:hidden;isolation:isolate;--padding-top:calc(var(--hd-h) + 48px);--padding-bottom:140px}
.csp-site .csp-slides{position:absolute;inset:0;z-index:-2;display:block}
.csp-site .csp-slides>.elementor-element{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;margin:0}
.csp-site .csp-slides>.elementor-element.on,.csp-site .csp-slides>.elementor-element:first-child{opacity:1}
.csp-site .csp-slides.ready>.elementor-element:first-child:not(.on){opacity:0}
.csp-site .csp-slides img{transform:scale(1.12);transition:transform 10s linear}
.csp-site .csp-slides .on img{transform:scale(1.02)}
.csp-site .csp-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 40%,transparent 0%,rgba(31,72,134,.25) 60%),linear-gradient(90deg,rgba(24,52,98,.92) 0%,rgba(31,72,134,.62) 50%,rgba(31,72,134,.12) 100%),linear-gradient(0deg,rgba(24,40,70,.7),transparent 45%)}
.csp-site .csp-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);--column-gap:clamp(40px,6vw,110px);--row-gap:56px;align-items:center}
.csp-site .csp-hero-copy{--row-gap:24px}
.csp-site .csp-hero .csp-lead{font-size:1.15rem;max-width:46ch}
.csp-site .csp-hero .csp-row{--padding-top:12px}
.csp-site .csp-hero .csp-row .elementor-button{min-width:250px;justify-content:space-between}
.csp-site .csp-panel{justify-self:center;width:100%;max-width:440px;--padding-top:38px;--padding-right:36px;--padding-bottom:32px;--padding-left:36px;--row-gap:0px;background:rgba(14,36,74,.42);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(199,220,243,.28);color:#fff}
.csp-site .csp-panel::before{content:"";position:absolute;inset:8px;border:1px solid rgba(199,220,243,.12);pointer-events:none}
.csp-site .csp-kicker{font-family:var(--caps);font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ice);margin-bottom:18px}
.csp-site .csp-glance ul{list-style:none;margin:0 0 22px;padding:0}
.csp-site .csp-glance li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid rgba(199,220,243,.18)}
.csp-site .csp-glance li:last-child{border-bottom:1px solid rgba(199,220,243,.18)}
.csp-site .csp-glance b,.csp-site .csp-glance strong{font-family:var(--display);font-weight:400;font-style:italic;font-size:1.45rem;line-height:1.1;color:#fff;white-space:nowrap}
.csp-site .csp-glance span{font-size:.92rem;color:#DCE6F3;line-height:1.5}
.csp-seal{position:absolute;top:-62px;right:-30px;width:128px;height:128px;pointer-events:none}
.csp-seal svg{position:absolute;inset:0;width:100%;height:100%;animation:csp-spin 26s linear infinite}
.csp-seal text{font-family:var(--caps);font-size:9.5px;letter-spacing:2.6px;fill:var(--ice)}
.csp-seal .c{position:absolute;inset:24px;border-radius:50%;border:1px solid rgba(199,220,243,.4);display:grid;place-items:center;text-align:center;background:rgba(31,72,134,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.csp-seal .c b{display:block;font-family:var(--display);font-style:italic;font-weight:400;font-size:1.55rem;line-height:1;color:#fff}
.csp-seal .c small{display:block;font-family:var(--caps);font-size:.52rem;letter-spacing:.2em;color:var(--ice);margin-top:6px;text-transform:uppercase}
@keyframes csp-spin{to{transform:rotate(360deg)}}
.csp-endorse{display:flex;align-items:center;gap:14px;margin-top:22px;padding:12px 18px 12px 12px;border:1px solid rgba(199,220,243,.35);background:rgba(31,72,134,.35);color:#fff;transition:background .4s,border-color .4s}
.csp-endorse:hover{background:rgba(31,72,134,.6);border-color:var(--ice);color:#fff}
.csp-endorse .hm{width:42px;height:42px;color:var(--ice);flex:none}
.csp-endorse span{font-family:var(--display);font-size:1.12rem;line-height:1.2}
.csp-endorse small{display:block;font-family:var(--caps);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ice);margin-bottom:3px}
.csp-endorse svg.ext{margin-left:auto}
.csp-hero-ctrl{position:absolute;right:max(var(--gutter),calc((100vw - var(--wrap))/2));bottom:44px;display:flex;align-items:center;gap:24px;z-index:2;color:#fff}
.csp-hero-ctrl .cnt{font-family:var(--display);font-size:1.4rem}
.csp-hero-ctrl .cnt b{font-weight:400;font-style:italic;color:var(--ice);font-size:1.9rem}
.csp-hero-ctrl .bars{display:flex;gap:8px}
.csp-hero-ctrl button{width:50px;height:24px;border:0;background:none;cursor:pointer;position:relative;padding:0}
.csp-hero-ctrl button::before{content:"";position:absolute;left:0;right:0;top:11px;height:1px;background:rgba(255,255,255,.3)}
.csp-hero-ctrl button span{position:absolute;left:0;top:11px;height:1px;width:0;background:var(--ice)}
.csp-hero-ctrl button.on span{animation:csp-fill 6.5s linear forwards}
@keyframes csp-fill{to{width:100%}}

/* ============================== PAGE HERO (inner pages) ============================== */
.csp-site .csp-phero{min-height:72vh;min-height:72svh;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;isolation:isolate;background:var(--navy-dk);--padding-top:calc(var(--hd-h) + 90px);--padding-bottom:90px}
.csp-site .csp-phero>.csp-phero-bg{position:absolute;inset:0;z-index:-2;margin:0}
.csp-site .csp-phero-bg img{transform:scale(1.08);animation:csp-zoom 14s ease-out forwards}
@keyframes csp-zoom{to{transform:scale(1)}}
.csp-site .csp-phero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(24,52,98,.94) 0%,rgba(31,72,134,.7) 55%,rgba(31,72,134,.25) 100%),linear-gradient(0deg,rgba(24,40,70,.65),transparent 50%)}
.csp-site .csp-phero .csp-stack{--row-gap:22px;max-width:900px}
.csp-site .csp-crumbs{font-family:var(--caps);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ice)}
.csp-site .csp-crumbs a{color:#fff;opacity:.85}
.csp-site .csp-crumbs a:hover{opacity:1}
.csp-site .csp-phero .csp-chips{margin-top:6px}

/* ============================== STRIPS ============================== */
.csp-marq{background:var(--navy);color:#fff;overflow:hidden;padding:26px 0;border-top:1px solid rgba(255,255,255,.12)}
.csp-marq .tr{display:flex;width:max-content;gap:50px;align-items:center;animation:csp-mq 46s linear infinite}
.csp-marq:hover .tr{animation-play-state:paused}
.csp-marq span{font-family:var(--display);font-size:2rem;font-style:italic;white-space:nowrap;color:#E9EEF5}
.csp-marq span.c{font-family:var(--caps);font-style:normal;font-size:.95rem;letter-spacing:.3em;color:var(--ice);text-transform:uppercase}
.csp-marq i{width:8px;height:8px;background:var(--sky);transform:rotate(45deg);display:block;flex:none}
@keyframes csp-mq{to{transform:translateX(-50%)}}

.csp-site .csp-creds{background:var(--pearl);border-bottom:1px solid var(--line)}
.csp-site .csp-creds-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.csp-site .csp-cred{text-align:center;--padding-top:40px;--padding-bottom:40px;--padding-left:14px;--padding-right:14px;--row-gap:6px;border-right:1px solid var(--line);transition:background .5s}
.csp-site .csp-cred:last-child{border-right:0}
.csp-site .csp-cred:hover{background:var(--marble)}
.csp-site .csp-cred .elementor-heading-title{font-family:var(--caps)!important;font-size:1.2rem!important;font-weight:500!important;letter-spacing:.14em!important;color:var(--navy)!important;line-height:1.2!important}
.csp-site .csp-cred .csp-small{font-family:var(--display);font-style:italic;font-size:.9rem}

/* ============================== CARDS ============================== */
/* Audience cards */
.csp-site .csp-cat{background:#fff;transition:transform .7s var(--ease),box-shadow .7s}
.csp-site .csp-cat:hover{transform:translateY(-10px);box-shadow:0 40px 70px -40px rgba(14,14,15,.4)}
.csp-site .csp-cat-media{aspect-ratio:3/4;overflow:hidden;background-color:var(--marble);background-image:var(--marble-tex);background-size:cover}
.csp-site .csp-cat-media>.csp-fill{position:absolute;inset:0}
.csp-site .csp-cat-media img{filter:saturate(.85);transition:transform 1.8s var(--ease),filter 1s}
.csp-site .csp-cat:hover .csp-cat-media img{transform:scale(1.08);filter:saturate(1)}
.csp-site .csp-cat-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,52,98,.85),transparent 58%);z-index:1;pointer-events:none}
.csp-site .csp-cat-media>.csp-cat-title{position:absolute;left:26px;right:26px;bottom:24px;z-index:2}
.csp-site .csp-cat-title .elementor-heading-title{color:#fff!important;font-size:2.3rem!important}
.csp-site .csp-cat-title .elementor-heading-title em{display:block;font-size:.48em;letter-spacing:.01em;margin-bottom:4px;background-image:var(--foil-lt)!important}
.csp-site .csp-cat-body{--padding-top:26px;--padding-right:26px;--padding-bottom:30px;--padding-left:26px;--row-gap:18px;border:1px solid var(--line);border-top:0;flex:1}
.csp-site .csp-grid>.csp-cat{display:flex;flex-direction:column}

/* Service cards */
.csp-site .csp-svc{background:#fff;border:1px solid var(--line);--padding-top:40px;--padding-right:36px;--padding-bottom:34px;--padding-left:36px;--row-gap:14px;transition:transform .7s var(--ease),box-shadow .7s,border-color .5s;overflow:hidden}
.csp-site .csp-svc::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--foil);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.csp-site .csp-svc:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(14,14,15,.35);border-color:transparent}
.csp-site .csp-svc:hover::before{transform:scaleX(1)}
.csp-site .csp-svc-num{font-family:var(--display);font-style:italic;font-size:3.4rem;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--sky)}
.csp-site .csp-svc .csp-body{flex:1;color:var(--muted);font-size:.98rem}
.csp-site .csp-svc-meta{font-family:var(--caps);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:6px}
.csp-site .csp-svc-meta b,.csp-site .csp-svc-meta strong{font-family:var(--display);font-weight:400;font-size:1.05rem;letter-spacing:0;text-transform:none;color:var(--navy)}
.csp-site .csp-grid>.csp-svc{display:flex;flex-direction:column}

/* Feature / reason cards */
.csp-site .csp-feature{--padding-top:34px;--padding-right:32px;--padding-bottom:34px;--padding-left:32px;--row-gap:12px;background:#fff;border:1px solid var(--line);transition:transform .6s var(--ease),border-color .5s}
.csp-site .csp-feature:hover{transform:translateY(-6px);border-color:var(--sky)}
.csp-site .csp-feature::before{content:"";position:absolute;inset:7px;border:1px solid var(--marble);pointer-events:none}
.csp-site .csp-dark .csp-feature{background:rgba(255,255,255,.04);border-color:rgba(199,220,243,.2)}
.csp-site .csp-dark .csp-feature::before{border-color:rgba(199,220,243,.08)}
.csp-site .csp-dark .csp-feature:hover{border-color:var(--ice)}
.csp-site .csp-k{font-family:var(--caps);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--navy)}
.csp-site .csp-dark .csp-k{color:var(--ice)}

/* Steps */
.csp-site .csp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));--column-gap:46px;--row-gap:46px;position:relative}
.csp-site .csp-steps::before{content:"";position:absolute;top:34px;left:6%;right:6%;border-top:1px dashed var(--line)}
.csp-site .csp-step{--row-gap:12px}
.csp-site .csp-step-n .elementor-heading-title{width:68px;height:68px;border-radius:50%;background:var(--pearl);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--display)!important;font-style:italic;font-size:1.7rem!important;color:var(--navy)!important;margin-bottom:16px!important;transition:.4s var(--ease);line-height:1!important}
.csp-site .csp-step:hover .csp-step-n .elementor-heading-title{background:var(--navy);color:#fff!important;border-color:var(--navy);transform:rotate(-8deg) scale(1.06)}
.csp-site .csp-bg-white .csp-step-n .elementor-heading-title{background:#fff}
.csp-site .csp-meta-chip{display:inline-block;align-self:flex-start;font-family:var(--caps);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:var(--marble);padding:7px 12px;margin-top:6px}

/* Numbers */
.csp-site .csp-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.csp-site .csp-num{text-align:center;--padding-top:56px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;--row-gap:12px;border-right:1px solid rgba(255,255,255,.14)}
.csp-site .csp-num:last-child{border-right:0}
.csp-site .csp-num .elementor-heading-title{font-family:var(--display)!important;font-weight:400!important;font-size:clamp(2.8rem,5vw,4.4rem)!important;line-height:1!important;color:#fff!important;font-variant-numeric:tabular-nums}
.csp-site .csp-num .elementor-heading-title em{font-size:.42em;color:var(--ice);background:none!important;-webkit-text-fill-color:var(--ice);margin-left:6px;animation:none}
.csp-site .csp-num .csp-small{font-family:var(--caps);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#A9AEB6}

/* Doctor / portrait */
.csp-site .csp-portrait{aspect-ratio:4/5;overflow:visible}
.csp-site .csp-portrait>.csp-frame{position:absolute;inset:0}
.csp-site .csp-portrait::before{content:"";position:absolute;inset:40px -40px -40px 40px;border:1px solid var(--sky);z-index:-1}
.csp-site .csp-tag{position:absolute;right:-44px;bottom:60px;z-index:3;background:var(--navy);color:#fff;--padding-top:28px;--padding-right:32px;--padding-bottom:28px;--padding-left:32px;--row-gap:8px;min-width:250px;width:auto}
.csp-site .csp-tag::before{content:"";position:absolute;inset:6px;border:1px solid rgba(199,220,243,.25);pointer-events:none}
.csp-site .csp-tag .elementor-heading-title{color:#fff!important;font-size:1.45rem!important}
.csp-site .csp-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));--column-gap:16px;--row-gap:16px}
.csp-site .csp-badge{text-align:center;--padding-top:24px;--padding-bottom:22px;--padding-left:14px;--padding-right:14px;--row-gap:4px;background:#fff;border:1px solid var(--line);transition:transform .6s var(--ease),border-color .5s}
.csp-site .csp-badge::before{content:"";position:absolute;inset:6px;border:1px solid var(--ice);pointer-events:none}
.csp-site .csp-badge:hover{transform:translateY(-5px);border-color:var(--sky)}
.csp-site .csp-badge .elementor-heading-title{font-family:var(--caps)!important;font-size:1.02rem!important;font-weight:500!important;letter-spacing:.14em!important;color:var(--navy)!important}
.csp-site .csp-badge .csp-small{font-family:var(--display);font-style:italic}

/* Group (HSMH) */
.csp-site .csp-group{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);--column-gap:70px;--row-gap:46px;align-items:center;background:var(--navy);color:#fff;--padding-top:70px;--padding-right:70px;--padding-bottom:70px;--padding-left:70px;overflow:hidden;isolation:isolate}
.csp-site .csp-group::before{content:"";position:absolute;inset:10px;border:1px solid rgba(199,220,243,.22);pointer-events:none}
.csp-site .csp-group::after{content:"HSMH";position:absolute;right:-20px;bottom:-60px;font-family:var(--caps);font-size:clamp(7rem,15vw,13rem);letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px rgba(199,220,243,.14);z-index:-1;pointer-events:none}
.csp-mono{width:96px;height:96px;color:var(--ice)}
.csp-mono svg{width:100%;height:100%;animation:csp-spin 40s linear infinite}
.csp-site .csp-group-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));--column-gap:1px;--row-gap:1px;background:rgba(199,220,243,.18);border:1px solid rgba(199,220,243,.18)}
.csp-site .csp-group-item{background:var(--navy);--padding-top:24px;--padding-right:22px;--padding-bottom:24px;--padding-left:22px;--row-gap:6px;transition:background .4s}
.csp-site .csp-group-item:hover{background:#244f92}
.csp-site .csp-group-item .elementor-heading-title{color:#fff!important;font-size:1.22rem!important}
.csp-site .csp-group-item .csp-small{color:var(--ice)}

/* Practice slider */
.csp-site .csp-slider{overflow:hidden}
.csp-site .csp-track{display:flex;flex-direction:row;flex-wrap:nowrap;--column-gap:26px;transition:transform 1.1s var(--ease);will-change:transform;cursor:grab;--container-widget-width:auto}
.csp-site .csp-track:active{cursor:grabbing}
.csp-site .csp-track>.csp-ps{flex:0 0 min(580px,82vw);width:min(580px,82vw);--row-gap:20px}
.csp-site .csp-ps-media{aspect-ratio:4/3;background:var(--ink-2)}
.csp-site .csp-ps-media img{filter:grayscale(.4) contrast(1.05);transition:filter .9s,transform 1.6s var(--ease)}
.csp-site .csp-ps:hover .csp-ps-media img{filter:none;transform:scale(1.05)}
.csp-site .csp-ps-cap{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;--column-gap:16px;--padding-top:20px;border-top:1px solid #3D3D40;--container-widget-width:auto}
.csp-site .csp-ps-cap>.elementor-element{width:auto}
.csp-site .csp-ps-cap .elementor-heading-title{color:#fff!important;font-size:1.55rem!important}
.csp-site .csp-ps-cap .csp-small{font-family:var(--caps);font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ice)}
.csp-arrows{display:flex;gap:12px}
.csp-arrows button{width:62px;height:62px;border-radius:50%;border:1px solid #55585E;background:none;color:#fff;cursor:pointer;font-family:var(--display);font-size:1.3rem;transition:.5s var(--ease)}
.csp-arrows button:hover{background:var(--sky);border-color:var(--sky);color:var(--ink)}

/* Band with background photo */
.csp-site .csp-band{min-height:600px;display:flex;flex-direction:column;justify-content:center;color:#fff;overflow:hidden;isolation:isolate;background:var(--ink-2);--padding-top:110px;--padding-bottom:110px}
.csp-site .csp-band>.csp-band-bg{position:absolute;inset:-12% 0;z-index:-2;margin:0}
.csp-site .csp-band-bg img{transform:translateY(var(--py,0))}
.csp-site .csp-band::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(24,52,98,.92),rgba(31,72,134,.25))}
.csp-site .csp-band .csp-stack{max-width:620px}

/* Quotes */
.csp-site .csp-quotes{position:relative;min-height:230px;display:grid}
.csp-site .csp-quotes>.elementor-element{grid-area:1/1;opacity:0;transform:translateY(18px);transition:opacity 1.1s,transform 1.1s var(--ease);pointer-events:none}
.csp-site .csp-quotes>.elementor-element.on{opacity:1;transform:none;pointer-events:auto}
.csp-site .csp-quotes:not(.ready)>.elementor-element:first-child{opacity:1;transform:none}
.csp-site .csp-q{text-align:center}
.csp-site .csp-q p{font-family:var(--display);font-style:italic;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.35;color:var(--ink);margin:0}
.csp-site .csp-q p+p{font-family:var(--caps);font-style:normal;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--navy);margin-top:26px}
.csp-qmark{font-family:var(--display);font-size:9rem;line-height:.5;height:70px;display:block;text-align:center;background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.csp-qdots{display:flex;justify-content:center;gap:14px;margin-top:10px}
.csp-qdots button{width:10px;height:10px;transform:rotate(45deg);border:1px solid var(--sky);background:none;cursor:pointer;transition:.4s;padding:0}
.csp-qdots button.on{background:var(--sky);transform:rotate(45deg) scale(1.25)}
.csp-ornament{display:block;width:160px;height:22px;margin:0 auto;color:var(--sky)}

/* Fees */
.csp-site .csp-fee{--padding-top:48px;--padding-right:38px;--padding-bottom:40px;--padding-left:38px;--row-gap:14px;background:#fff;border:1px solid var(--line);transition:transform .7s var(--ease),box-shadow .7s}
.csp-site .csp-fee::before{content:"";position:absolute;inset:8px;border:1px solid var(--marble);pointer-events:none;transition:border-color .5s}
.csp-site .csp-fee:hover{transform:translateY(-10px);box-shadow:0 40px 70px -40px rgba(14,14,15,.35)}
.csp-site .csp-fee:hover::before{border-color:var(--ice)}
.csp-site .csp-fee.csp-fee--ft{background:var(--navy);color:#fff;border-color:var(--navy)}
.csp-site .csp-fee.csp-fee--ft::before{border-color:rgba(199,220,243,.18)}
.csp-site .csp-price .elementor-heading-title{font-family:var(--display)!important;font-weight:400!important;font-size:4rem!important;line-height:1!important;letter-spacing:-.03em!important}
.csp-site .csp-price .elementor-heading-title small{font-family:var(--display);font-style:italic;font-size:1.1rem;color:var(--muted);margin-right:8px;letter-spacing:0}
.csp-site .csp-fee--ft .csp-price .elementor-heading-title small{color:var(--ice)}
.csp-site .csp-price--sm .elementor-heading-title{font-size:2.8rem!important;font-style:italic}
.csp-site .csp-fee .csp-list{flex:1;padding:10px 0 14px}
.csp-site .csp-fee--ft .csp-list li::before{background:var(--ice)}
.csp-site .csp-fee--ft .csp-list{color:#E3E8EF}
.csp-site .csp-fee--ft .csp-k{color:var(--ice)}
.csp-site .csp-grid>.csp-fee{display:flex;flex-direction:column}
.csp-rib{position:absolute;top:-1px;right:30px;background:var(--sky);color:#fff;font-family:var(--caps);font-size:.6rem;letter-spacing:.2em;padding:10px 14px 12px;text-transform:uppercase}

/* CTA band */
.csp-site .csp-cta{background:var(--navy);color:#fff;text-align:center;--padding-top:140px;--padding-bottom:140px;overflow:hidden;isolation:isolate}
.csp-site .csp-cta::before{content:"";position:absolute;inset:0;background-image:var(--marble-tex);background-size:cover;opacity:.1;mix-blend-mode:screen;pointer-events:none;z-index:-1}
.csp-site .csp-cta::after{content:"Insight";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--display);font-style:italic;font-size:clamp(10rem,28vw,24rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(199,220,243,.2);white-space:nowrap;pointer-events:none;z-index:-1}
.csp-site .csp-cta .csp-h2 .elementor-heading-title{font-size:clamp(2.6rem,6.4vw,5.6rem)}
.csp-site .csp-tel{font-family:var(--display);font-size:2.1rem;color:var(--ice);-webkit-user-select:all;user-select:all}

/* Info items (contact) */
.csp-site .csp-info{--row-gap:28px}
.csp-site .csp-info-item{--row-gap:4px}
.csp-site .csp-info-item .csp-k{font-size:.64rem}
.csp-site .csp-info-item .csp-h4 .elementor-heading-title{font-size:1.5rem;line-height:1.3;-webkit-user-select:all;user-select:all}
.csp-site .csp-info-item .csp-h4.csp-h4--sm .elementor-heading-title{font-size:1.2rem;word-break:break-word}

/* Aside summary card (service pages) */
.csp-site .csp-aside{background:var(--navy);color:#fff;--padding-top:40px;--padding-right:36px;--padding-bottom:36px;--padding-left:36px;--row-gap:18px}
.csp-site .csp-aside::before{content:"";position:absolute;inset:8px;border:1px solid rgba(199,220,243,.2);pointer-events:none}
.csp-site .csp-summary ul{list-style:none}
.csp-site .csp-summary li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(199,220,243,.2);align-items:baseline}
.csp-site .csp-summary li span{font-family:var(--caps);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ice)}
.csp-site .csp-summary li b,.csp-site .csp-summary li strong{font-family:var(--display);font-weight:400;font-size:1.2rem;color:#fff;text-align:right}

/* Notice box */
.csp-site .csp-notice{border:1px solid var(--line);border-left:3px solid var(--danger);background:#fff;--padding-top:28px;--padding-right:30px;--padding-bottom:28px;--padding-left:30px;--row-gap:10px}
.csp-site .csp-notice .csp-k{color:var(--danger)}

/* FAQ */
.csp-site .csp-faq{border-top:1px solid var(--line)}
.csp-site .csp-faq-item{border-bottom:1px solid var(--line);--row-gap:0px}
.csp-site .csp-faq-q{cursor:pointer}
.csp-site .csp-faq-q .elementor-heading-title{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-family:var(--display)!important;font-weight:400!important;font-size:1.32rem!important;line-height:1.3!important;color:var(--ink)!important;letter-spacing:0!important}
.csp-site .csp-faq-q .elementor-heading-title::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--sans);font-size:1.2rem;font-weight:300;color:var(--navy);transition:.4s var(--ease)}
.csp-site .csp-faq-item.open .csp-faq-q .elementor-heading-title::after{content:"–";background:var(--navy);color:#fff;border-color:var(--navy)}
.csp-site .csp-faq-a{color:var(--muted);max-width:70ch}
.js .csp-site .csp-faq-a,.csp-site.js-on .csp-faq-a{display:none;padding-bottom:26px}
.csp-site.js-on .csp-faq-item.open .csp-faq-a{display:block;animation:csp-fade .5s var(--ease)}

/* Report paper (HTML widget) */
.csp-paper{position:relative;background:#fff;border-radius:6px 6px 22px 22px;box-shadow:0 30px 60px -30px rgba(18,21,33,.35);padding:44px 44px 36px;transform:rotate(-2deg);transition:transform .6s var(--ease)}
.csp-paper:hover{transform:rotate(0) translateY(-6px)}
.csp-paper::before,.csp-paper::after{content:"";position:absolute;inset:10px -10px -10px 10px;background:#fff;border-radius:inherit;z-index:-1;box-shadow:0 10px 30px -18px rgba(18,21,33,.3)}
.csp-paper::after{inset:20px -20px -20px 20px;opacity:.6}
.csp-paper .ph{display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}
.csp-paper .ph strong{font-family:var(--display);font-size:1.3rem;font-weight:400}
.csp-paper .ph span{font-family:var(--caps);font-size:.58rem;letter-spacing:.16em;color:var(--muted);text-align:right;line-height:1.7}
.csp-paper .row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:.9rem}
.csp-paper .row b{font-family:var(--caps);font-weight:500;font-size:.62rem;letter-spacing:.14em;color:var(--muted);padding-top:3px}
.csp-paper .bar{height:6px;border-radius:6px;background:var(--marble);overflow:hidden;margin-top:6px}
.csp-paper .bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--navy),var(--sky))}
.csp-paper .stamp{position:absolute;right:30px;bottom:26px;border:2px solid var(--navy);color:var(--navy);font-family:var(--caps);font-size:.64rem;letter-spacing:.16em;padding:8px 12px;border-radius:8px;transform:rotate(-8deg);opacity:.85}

/* Referral form (HTML widget) */
.csp-form{position:relative;padding:56px;background:#fff;border:1px solid var(--line);color:var(--text)}
.csp-form::before{content:"";position:absolute;inset:9px;border:1px solid var(--ice);pointer-events:none}
.csp-form .grp{margin-bottom:26px;position:relative}
.csp-form .lbl{display:block;font-family:var(--caps);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.csp-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.csp-form .u input,.csp-form .u select,.csp-form .u textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;font:inherit;font-size:16px;background:none;color:var(--ink);transition:border-color .4s;box-shadow:none;-webkit-appearance:none;appearance:none}
.csp-form .u select{background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:24px}
.csp-form .u textarea{min-height:96px;resize:vertical}
.csp-form .u::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--foil);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.csp-form .u:focus-within::after{transform:scaleX(1)}
.csp-form .u input:focus,.csp-form .u select:focus,.csp-form .u textarea:focus{outline:none}
.csp-form .pills{display:flex;flex-wrap:wrap;gap:8px}
.csp-form .pills input{position:absolute;opacity:0;width:1px;height:1px}
.csp-form .pills label{padding:12px 18px;border:1px solid var(--line);font-size:.88rem;cursor:pointer;transition:.4s;min-height:44px;display:inline-flex;align-items:center;margin:0;font-weight:400;color:var(--text)}
.csp-form .pills label:hover{border-color:var(--sky)}
.csp-form .pills input:checked+label{background:var(--navy);color:#fff;border-color:var(--navy)}
.csp-form .pills input:focus-visible+label{outline:1px solid var(--sky);outline-offset:3px}
.csp-form button[type=submit]{width:100%;display:flex;justify-content:center;align-items:center;gap:16px;padding:20px;border:0;border-radius:0;background:linear-gradient(110deg,#1F4886 0%,#2F5FA3 35%,#739FD0 60%,#1F4886 100%);background-size:220% 100%;color:#fff;font-family:var(--caps);font-size:.76rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;transition:background-position .9s var(--ease)}
.csp-form button[type=submit]:hover{background-position:100% 0;color:#fff}
.csp-form .note{font-size:.8rem;color:var(--muted);margin:16px 0 0;text-align:center}
.csp-form .done{display:none;text-align:center;padding:50px 0}
.csp-form .done h3{font-family:var(--display);font-weight:400;font-size:2.4rem;margin:0 0 10px;color:var(--ink)}
.csp-form.sent .body{display:none}
.csp-form.sent .done{display:block}
.csp-form .err{border-bottom-color:var(--danger)!important}

/* Map card */
.csp-map{position:relative;display:block;aspect-ratio:16/7;overflow:hidden;background-color:var(--marble);background-image:var(--marble-tex);background-size:cover;border:1px solid var(--line)}
.csp-map .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.csp-map .pin i{width:22px;height:22px;border-radius:50%;background:var(--navy);box-shadow:0 0 0 10px rgba(31,72,134,.18),0 0 0 22px rgba(31,72,134,.08);animation:csp-pulse 2.4s infinite}
.csp-map .pin b{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--ink)}
.csp-map .pin span{font-family:var(--caps);font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--navy)}
.csp-map .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(31,72,134,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(31,72,134,.06) 1px,transparent 1px);background-size:48px 48px}
@keyframes csp-pulse{50%{box-shadow:0 0 0 16px rgba(31,72,134,.12),0 0 0 32px rgba(31,72,134,.04)}}
@keyframes csp-fade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ============================== FOOTER ============================== */
.csp-ft{background:var(--ink);color:#A9AEB6;padding:100px 0 0;font-size:.94rem;line-height:1.8}
.csp-ft .csp-in{max-width:calc(var(--wrap) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.csp-ft .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px}
.csp-ft .csp-logo{justify-self:start;color:#fff;margin-bottom:24px}
.csp-ft h5{font-family:var(--caps);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sky);margin:0 0 22px;font-weight:500}
.csp-ft ul{list-style:none;display:grid;gap:11px;margin:0;padding:0}
.csp-ft a{transition:color .3s}
.csp-ft a:hover{color:var(--ice)}
.csp-ft p{margin:0}
.csp-ft .f-group{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:12px 18px 12px 12px;border:1px solid #444447;color:#fff;transition:border-color .4s}
.csp-ft .f-group:hover{border-color:var(--sky);color:#fff}
.csp-ft .f-group .hm{width:38px;height:38px;color:var(--sky);flex:none}
.csp-ft .f-group span{font-family:var(--display);font-size:1.02rem;line-height:1.2}
.csp-ft .f-group small{display:block;font-family:var(--caps);font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sky);margin-bottom:2px}
.csp-ft .fword{font-family:var(--display);font-style:italic;font-size:clamp(3.4rem,11vw,10rem);line-height:.9;letter-spacing:-.03em;margin-top:80px;color:transparent;-webkit-text-stroke:1px #38383A;white-space:nowrap;overflow:hidden;transition:color 1.2s}
.csp-ft .fword:hover{color:#2F2F31}
.csp-ft .disc{border-top:1px solid #38383A;margin-top:40px;padding:26px 0;font-size:.8rem;color:#7D8189;line-height:1.7}
.csp-ft .fb{border-top:1px solid #38383A;padding:24px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--caps);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase}
.csp-ft .fb div{display:flex;gap:24px;flex-wrap:wrap}
.csp-ft .fb a.u{text-decoration:underline;text-underline-offset:3px}
.csp-ft .credit{border-top:1px solid #38383A;padding:18px 0 22px;text-align:center;font-family:var(--caps);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#A9AEB6}
.csp-ft .credit a{color:#fff;border-bottom:1px solid var(--sky);padding-bottom:2px}
.csp-ft .credit a:hover{color:var(--ice)}
.csp-mbar{display:none}

/* ============================== REVEAL ============================== */
.csp-site.js-on .rv{opacity:0;transform:translateY(50px);transition:opacity 1.3s var(--ease),transform 1.3s var(--ease)}
.csp-site.js-on .rv.in{opacity:1;transform:none}
.csp-site.js-on .stg>*{opacity:0;transform:translateY(44px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.csp-site.js-on .stg.in>*{opacity:1;transform:none}
.csp-site.js-on .stg.in>*:nth-child(2){transition-delay:.12s}.csp-site.js-on .stg.in>*:nth-child(3){transition-delay:.24s}.csp-site.js-on .stg.in>*:nth-child(4){transition-delay:.36s}.csp-site.js-on .stg.in>*:nth-child(5){transition-delay:.48s}.csp-site.js-on .stg.in>*:nth-child(6){transition-delay:.6s}
.csp-site.js-on .csp-hero .csp-hero-copy>*,.csp-site.js-on .csp-phero .csp-stack>*{opacity:0;animation:csp-fade 1.2s var(--ease) forwards}
.csp-site.js-on .csp-hero .csp-hero-copy>*:nth-child(2),.csp-site.js-on .csp-phero .csp-stack>*:nth-child(2){animation-delay:.12s}
.csp-site.js-on .csp-hero .csp-hero-copy>*:nth-child(3),.csp-site.js-on .csp-phero .csp-stack>*:nth-child(3){animation-delay:.24s}
.csp-site.js-on .csp-hero .csp-hero-copy>*:nth-child(4),.csp-site.js-on .csp-phero .csp-stack>*:nth-child(4){animation-delay:.36s}
.csp-site.js-on .csp-hero .csp-hero-copy>*:nth-child(5),.csp-site.js-on .csp-phero .csp-stack>*:nth-child(5){animation-delay:.48s}
.csp-site.js-on .csp-panel{opacity:0;animation:csp-fade 1.2s var(--ease) .5s forwards}

/* Inside the Elementor editor everything is shown at rest so it can be edited */
.elementor-editor-active .rv,.elementor-editor-active .stg>*,.elementor-editor-active .csp-hero-copy>*,.elementor-editor-active .csp-phero .csp-stack>*,.elementor-editor-active .csp-panel{opacity:1!important;transform:none!important;animation:none!important}
.elementor-editor-active .csp-slides>.elementor-element:not(:first-child){display:none}
.elementor-editor-active .csp-faq-a{display:block!important}
.elementor-editor-active .csp-quotes>.elementor-element{position:relative;opacity:1;transform:none;grid-area:auto}

/* ============================== RESPONSIVE ============================== */
@media (max-width:1600px){.csp-hd-right .ph{display:none}}
@media (max-width:1180px){.csp-hd .csp-hbtn.line{display:none}}
@media (max-width:1100px){
  .csp-site .csp-split,.csp-site .csp-split--wl,.csp-site .csp-split--wr,.csp-site .csp-hero-grid,.csp-site .csp-group{grid-template-columns:minmax(0,1fr)}
  .csp-site .csp-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .csp-site .csp-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .csp-site .csp-creds-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .csp-site .csp-cred:nth-child(3){border-right:0}
  .csp-site .csp-cred:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .csp-site .csp-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .csp-site .csp-num:nth-child(2){border-right:0}
  .csp-site .csp-num:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
  .csp-site .csp-panel{justify-self:start;max-width:560px}
  .csp-seal{top:-50px;right:-14px;width:110px;height:110px}
  .csp-site .csp-tag{right:12px}
  .csp-site .csp-portrait::before{inset:24px -12px -12px 24px}
  .csp-site .csp-group{--padding-top:54px;--padding-right:40px;--padding-bottom:54px;--padding-left:40px}
  .csp-overlay{grid-template-columns:1fr}
  .csp-overlay .side{display:none}
  .csp-ft .fg{grid-template-columns:1fr 1fr}
  .csp-site .csp-steps{grid-template-columns:minmax(0,1fr);--row-gap:40px}
  .csp-site .csp-steps::before{display:none}
}
@media (max-width:700px){
  :root{--hd-h:88px}
  .csp-site .csp-sec{--padding-top:84px;--padding-bottom:84px}
  .csp-site .csp-sec--tight{--padding-top:64px;--padding-bottom:64px}
  .csp-site .csp-sec--flush-top{--padding-top:0px}
  .csp-utility .hide{display:none}
  .csp-utility .csp-in{justify-content:center}
  .csp-utility .grp{letter-spacing:.08em;font-size:.62rem}
  .csp-hd .csp-in{grid-template-columns:auto 1fr;gap:16px}
  .csp-logo{justify-self:end;gap:10px}
  .csp-logo svg{width:36px;height:36px}
  .csp-logo .t{font-size:.8rem;letter-spacing:.12em}
  .csp-logo .s{font-size:.78rem}
  .csp-hd-right{display:none}
  .csp-menu-btn span{display:none}
  .csp-site .csp-hero{--padding-top:calc(var(--hd-h) + 34px);--padding-bottom:48px;min-height:0}
  .csp-site .csp-hx .elementor-heading-title{font-size:clamp(2.5rem,12vw,3.6rem)}
  .csp-site .csp-hero .csp-lead{font-size:1.02rem}
  .csp-site .csp-hero .csp-row{flex-direction:column;align-items:stretch}
  .csp-site .csp-hero .csp-row>.elementor-element{width:100%}
  .csp-site .csp-hero .csp-row .elementor-button{min-width:0;width:100%;padding:18px 22px}
  .csp-site .csp-panel{--padding-top:30px;--padding-right:22px;--padding-bottom:24px;--padding-left:22px;max-width:none}
  .csp-seal,.csp-hero-ctrl{display:none}
  .csp-site .csp-glance li{grid-template-columns:1fr;gap:4px}
  .csp-endorse{padding:10px 14px 10px 10px}
  .csp-endorse span{font-size:.98rem}
  .csp-site .csp-phero{min-height:0;--padding-top:calc(var(--hd-h) + 70px);--padding-bottom:64px}
  .csp-site .csp-grid--2,.csp-site .csp-grid--3,.csp-site .csp-grid--4,.csp-site .csp-badges,.csp-site .csp-group-list{grid-template-columns:minmax(0,1fr)}
  .csp-site .csp-creds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .csp-site .csp-cred{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}
  .csp-site .csp-cred:nth-child(2n){border-right:0!important}
  .csp-site .csp-nums{grid-template-columns:minmax(0,1fr)}
  .csp-site .csp-num{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);--padding-top:38px;--padding-bottom:38px}
  .csp-site .csp-cat-media{aspect-ratio:4/3}
  .csp-site .csp-tag{position:relative;right:auto;bottom:auto;margin-top:-6px;width:100%}
  .csp-site .csp-portrait{aspect-ratio:auto}
  .csp-site .csp-portrait>.csp-frame{position:relative;inset:auto;aspect-ratio:4/5}
  .csp-site .csp-portrait::before{inset:18px -12px -12px 18px}
  .csp-site .csp-group{--padding-top:40px;--padding-right:22px;--padding-bottom:40px;--padding-left:22px}
  .csp-site .csp-head{--padding-bottom:40px}
  .csp-paper::before,.csp-paper::after{display:none}
  .csp-site .csp-band{min-height:0}
  .csp-site .csp-cta{--padding-top:96px;--padding-bottom:96px}
  .csp-site .csp-svc,.csp-site .csp-fee{--padding-left:24px;--padding-right:24px}
  .csp-site .csp-btn .elementor-button{white-space:normal;padding:18px 24px}
  .csp-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch;grid-template-rows:auto auto;align-content:start}
  .csp-overlay .cols{grid-template-columns:1fr;gap:30px;padding-top:100px;align-content:start;overflow:visible}
  .csp-overlay li a{font-size:1.45rem}
  .csp-overlay .ov-cta{display:grid;gap:10px;padding:0 6vw 40px}
  .csp-overlay .ov-cta a{display:block;text-align:center;padding:16px;border:1px solid rgba(255,255,255,.5);font-family:var(--caps);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}
  .csp-overlay .ov-cta a.fill{background:#fff;color:var(--navy);border-color:#fff}
  .csp-form{padding:30px 20px}
  .csp-form .row2{grid-template-columns:1fr;gap:0}
  .csp-paper{padding:28px 22px;transform:none}
  .csp-paper .row{grid-template-columns:1fr;gap:4px}
  .csp-map{aspect-ratio:4/3}
  .csp-ft .fg{grid-template-columns:1fr}
  .csp-ft .fb{flex-direction:column;align-items:flex-start}
  .csp-ft .credit{letter-spacing:.12em;line-height:1.8}
  .csp-ft{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .csp-mbar{display:grid;grid-template-columns:58px 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:700;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--ink);box-shadow:0 -10px 30px -12px rgba(0,0,0,.45)}
  .csp-mbar a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 8px;color:#fff;font-family:var(--caps);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.25;text-align:center}
  .csp-mbar a svg{width:20px;height:20px}
  .csp-mbar a:nth-child(2){background:var(--navy)}
  .csp-mbar a:nth-child(3){background:#fff;color:var(--navy)}
  .csp-site .csp-table td,.csp-site .csp-table th{padding:14px}
  .csp-site .csp-q p{font-size:1.4rem}
}
@media (max-width:380px){.csp-mbar a{font-size:.56rem;letter-spacing:.1em}.csp-logo svg{display:none}}
@media (max-height:520px) and (orientation:landscape){
  .csp-site .csp-hero{min-height:0;--padding-top:130px;--padding-bottom:60px}
  .csp-site .csp-hx .elementor-heading-title{font-size:2.4rem}
  .csp-seal{display:none}
}
@media (hover:none){.csp-site .csp-cat:hover,.csp-site .csp-fee:hover,.csp-site .csp-svc:hover,.csp-site .csp-badge:hover,.csp-site .csp-feature:hover{transform:none}}
@media (prefers-reduced-motion:reduce){
  .csp-site *,.csp-site *::before,.csp-site *::after{animation:none!important;transition:none!important}
  .csp-site.js-on .rv,.csp-site.js-on .stg>*,.csp-site.js-on .csp-hero-copy>*,.csp-site.js-on .csp-phero .csp-stack>*,.csp-site.js-on .csp-panel{opacity:1!important;transform:none!important}
}

/* ============================== additions ============================== */
.csp-site .csp-tel--dark{color:var(--navy)}
.csp-site .csp-cat-media>.csp-cat-num{position:absolute;top:20px;left:26px;z-index:2;color:var(--ice)}
.csp-site .csp-cat-num p::before,.csp-site .csp-cat-num p::after{content:none}
.csp-site .csp-marq-wrap{display:block}
/* Contact Form 7 compatibility (when the demo form is swapped for a CF7 shortcode inside a .csp-form widget) */
.csp-site .csp-form .wpcf7-form-control-wrap{display:block}
.csp-site .csp-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:8px}
.csp-site .csp-form .wpcf7-list-item{margin:0}
.csp-site .csp-form .wpcf7-list-item input{position:absolute;opacity:0;width:1px;height:1px}
.csp-site .csp-form .wpcf7-list-item-label{display:inline-flex;align-items:center;min-height:44px;padding:12px 18px;border:1px solid var(--line);font-size:.88rem;cursor:pointer;transition:.4s}
.csp-site .csp-form .wpcf7-list-item input:checked+.wpcf7-list-item-label{background:var(--navy);color:#fff;border-color:var(--navy)}
.csp-site .csp-form input[type=text],.csp-site .csp-form input[type=email],.csp-site .csp-form input[type=tel],.csp-site .csp-form select,.csp-site .csp-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;font:inherit;font-size:16px;background:none;color:var(--ink);box-shadow:none}
.csp-site .csp-form input[type=submit]{width:100%;padding:20px;border:0;border-radius:0;background:var(--navy);color:#fff;font-family:var(--caps);font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;cursor:pointer}
.csp-site .csp-form .wpcf7-response-output{margin:16px 0 0;padding:14px 16px;border-color:var(--sky)}

.csp-site .csp-tag .elementor-heading-title em{background-image:var(--foil-lt)}
@media (max-width:700px){.csp-site .csp-split>.csp-frame{aspect-ratio:4/3}}
