/* CSM Web Design — design-system CSS. Only what Elementor cannot express natively.
   Tokens mirror Elementor Site Settings; source: ui_kits/website-blend + guidelines/05-elementor-build-spec.md */
:root{
  --csm-paper:#FBFAF7;--csm-paper-alt:#F3F1EC;--csm-ink:#1A1917;--csm-grey:#6B675E;--csm-grey-lt:#706C64;
  --csm-flame:#E8481C;--csm-flame-text:#C43710;--csm-lilac:#C9BDF4;--csm-line:rgba(26,25,23,.10);--csm-line-strong:rgba(26,25,23,.25);
  --csm-radius:28px;--csm-radius-lg:36px;
  --csm-shadow:0 2px 14px rgba(26,25,23,.05);--csm-shadow-hover:0 14px 34px rgba(26,25,23,.09);
}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;
  src:url("fonts/instrument-serif-italic.woff2") format("woff2")}

html{-webkit-font-smoothing:antialiased;scroll-behavior:auto!important;scroll-padding-top:90px}
[id]{scroll-margin-top:90px}
body{background:var(--csm-paper)}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}

/* Accent words: last two or three words of a heading */
em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
h1 em,h2 em,h3 em{color:var(--csm-flame)}
.csm-dark h1 em,.csm-dark h2 em,.csm-dark h3 em{color:var(--csm-lilac)}

/* Focus ring */
:where(a,button,summary,input,textarea,select):focus-visible{outline:2px solid var(--csm-flame);outline-offset:3px;border-radius:6px}

/* Scroll reveal (IntersectionObserver in csm-design.js) */
.csm-io .csm-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,.84,.44,1),transform .8s cubic-bezier(.16,.84,.44,1)}
.csm-io .csm-reveal.in{opacity:1;transform:none}

/* Sticky header: frosted paper, hairline appears once scrolled */
.csm-header{background:rgba(251,250,247,.78)!important;-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid transparent;transition:border-color .3s}
.csm-header.elementor-sticky--effects,.csm-header.is-scrolled{border-bottom-color:var(--csm-line)}
.csm-header .elementor-nav-menu--main .elementor-item{opacity:.85}
.csm-header .elementor-nav-menu--main .elementor-item:hover,.csm-header .elementor-nav-menu--main .elementor-item.elementor-item-active{opacity:1}

/* Links with chevron */
.csm-link a,.csm-link{font-weight:500;color:var(--csm-flame)}
.csm-link a::after,a.csm-link::after{content:" \203A"}

/* Pills */
.csm-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}
.csm-pill,.csm-pills span{display:inline-flex;align-items:center;height:33px;padding:0 14px;border-radius:999px;border:1px solid var(--csm-line);
  font-size:13.5px;font-weight:500;color:var(--csm-grey);line-height:1;white-space:nowrap}
.csm-pill.dashed{border-style:dashed}
.csm-pills.center{justify-content:center}

/* Cards (white, 28px, soft warm shadow, lift on hover) */
.csm-card{transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease}
.csm-card:hover{transform:translateY(-4px);box-shadow:var(--csm-shadow-hover)}
.csm-card.flat:hover{transform:none;box-shadow:none}

/* Trust row ticks (Icon List) */
.csm-trust .elementor-icon-list-icon{color:var(--csm-grey)}

/* Work cards (loop item) */
.csm-work-card:hover h3,.csm-work-card:hover .csm-work-title{color:var(--csm-flame)}

/* Secondary (outline) button */
.csm-btn-lt .elementor-button{background:transparent;border:1px solid var(--csm-line-strong);color:var(--csm-ink)}
.csm-btn-lt .elementor-button:hover{background:var(--csm-ink);color:var(--csm-paper);border-color:var(--csm-ink)}
.csm-btn-paper .elementor-button{background:var(--csm-paper);color:var(--csm-ink)}
.csm-btn-paper .elementor-button:hover{background:#fff;color:var(--csm-ink)}
.csm-btn-ghost .elementor-button{background:transparent;color:var(--csm-paper);border:1px solid rgba(251,250,247,.3)}
.csm-btn-ghost .elementor-button:hover{background:var(--csm-paper);color:var(--csm-ink)}
.csm-btn-flame .elementor-button{background:var(--csm-flame);color:#fff}
.csm-btn-flame .elementor-button:hover{background:var(--csm-paper);color:var(--csm-ink)}
.elementor-button{transition:background .2s ease,color .2s ease,transform .2s ease}
.elementor-button:hover{transform:translateY(-1px)}
.elementor-button:active{transform:scale(.985)}

/* FAQ accordion */
.csm-faq .elementor-accordion .elementor-accordion-item{border:0;border-top:1px solid var(--csm-line)}
.csm-faq .elementor-accordion .elementor-accordion-item:last-child{border-bottom:1px solid var(--csm-line)}
.csm-faq .elementor-accordion .elementor-tab-title{padding:20px 0;font-size:18px;font-weight:600;color:var(--csm-ink);display:flex;justify-content:space-between;align-items:center;gap:18px}
.csm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:32px;height:32px;border:1px solid var(--csm-line);border-radius:999px;display:grid;place-content:center;font-weight:400;font-size:18px;color:var(--csm-ink);flex:0 0 auto;transition:transform .25s;float:none;order:2}
.csm-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:14px;height:14px}
.csm-faq .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon{transform:rotate(45deg)}
.csm-faq .elementor-accordion .elementor-tab-content{border:0;padding:0 0 22px;max-width:64ch;color:var(--csm-grey);font-size:15.5px}

/* Pricing tiers */
.csm-tier ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;font-size:15px;color:var(--csm-grey)}
.csm-tier li{display:flex;gap:10px;align-items:flex-start;line-height:1.4}
.csm-tier li::before{content:"";flex:0 0 auto;width:16px;height:16px;margin-top:3px;border-radius:999px;background:var(--csm-flame);opacity:.14;box-shadow:inset 0 0 0 1.5px var(--csm-flame)}
.csm-tier.pick ul,.csm-tier.pick p{color:rgba(251,250,247,.72)}
.csm-tag{position:absolute;top:-11px;left:clamp(1.75rem,3vw,2.4rem);height:24px;padding:0 12px;border-radius:999px;background:var(--csm-flame);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;z-index:2}
.csm-note{font-size:13.5px;color:var(--csm-grey-lt);border-left:2px solid var(--csm-flame);padding-left:14px;line-height:1.45}
.csm-table table{width:100%;border-collapse:collapse;font-size:15px}
.csm-table th,.csm-table td{text-align:left;padding:15px 14px;border-bottom:1px solid var(--csm-line);vertical-align:top}
.csm-table th{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--csm-grey-lt);font-weight:600;white-space:nowrap}
.csm-table td b{font-weight:600;color:var(--csm-ink)}
.csm-table td.c,.csm-table th.c{text-align:center;white-space:nowrap}
.csm-table .yes{color:var(--csm-flame);font-weight:700}
.csm-table .no{color:var(--csm-grey-lt)}
@media (max-width:980px){.csm-table{overflow-x:auto}.csm-table table{min-width:640px}}

/* Enquiry form (Elementor Pro Form) */
.csm-form .elementor-field-group{margin-bottom:0}
.csm-form .elementor-field-label{font-size:14px;font-weight:600;color:var(--csm-ink)}
.csm-form .elementor-field-textual{font-size:16px;padding:13px 15px;border-radius:14px;min-height:48px}
.csm-form .elementor-field-textual:focus{box-shadow:0 0 0 3px rgba(232,72,28,.13)}
.csm-form .elementor-field-subgroup{display:flex;gap:9px;flex-wrap:wrap}
.csm-form .elementor-field-subgroup .elementor-field-option{position:relative;margin:0;padding:0}
.csm-form .elementor-field-subgroup .elementor-field-option input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}
.csm-form .elementor-field-subgroup .elementor-field-option label{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(26,25,23,.16);background:#fff;font-size:14.5px;font-weight:500;color:var(--csm-grey);cursor:pointer;transition:all .16s;margin:0}
.csm-form .elementor-field-subgroup .elementor-field-option input:checked+label{background:var(--csm-ink);border-color:var(--csm-ink);color:var(--csm-paper)}
.csm-form .elementor-field-subgroup .elementor-field-option input:focus-visible+label{outline:2px solid var(--csm-flame);outline-offset:2px}
.csm-form .elementor-field-type-acceptance .elementor-field-subgroup{display:block}
.csm-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option{display:flex;gap:11px;align-items:flex-start}
.csm-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input{position:static;opacity:1;width:19px;height:19px;flex:0 0 auto;margin-top:2px;accent-color:var(--csm-flame)}
.csm-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,
.csm-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input:checked+label{display:inline;height:auto;padding:0;border:0;background:none;font-weight:400;font-size:14px;color:var(--csm-grey);line-height:1.45;white-space:normal}
.csm-form .elementor-field-type-acceptance label a{color:var(--csm-ink);text-decoration:underline}
.csm-form .elementor-field-type-submit{justify-content:flex-start}
.csm-form .elementor-field-type-submit .elementor-button{width:auto;flex-basis:auto;flex-grow:0}
.csm-form .elementor-message{font-size:15px}

/* Mobile nav overlay (Nav Menu widget dropdown) */
.csm-nav .elementor-nav-menu--dropdown{background:var(--csm-ink);padding:24px clamp(1.25rem,4vw,2.5rem) 40px}
.csm-nav .elementor-nav-menu--dropdown a{color:var(--csm-paper);font-size:20px;font-weight:600;padding:11px 0;line-height:1.3}
.csm-nav .elementor-nav-menu--dropdown a:hover,.csm-nav .elementor-nav-menu--dropdown a.elementor-item-active{color:var(--csm-lilac);background:transparent}
.csm-nav .elementor-menu-toggle{color:var(--csm-ink)}
.csm-nav .elementor-menu-toggle.elementor-active{color:var(--csm-ink)}

/* Work page filter (Taxonomy Filter) */
.csm-filter .e-filter-item{height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(26,25,23,.16);background:#fff;font-size:14.5px;font-weight:500;color:var(--csm-grey);display:inline-flex;align-items:center;transition:all .16s}
.csm-filter .e-filter-item:hover{border-color:var(--csm-ink);color:var(--csm-ink)}
.csm-filter .e-filter-item.e--filter-active,.csm-filter .e-filter-item[aria-pressed="true"],.csm-filter:not(:has([aria-pressed="true"])) .e-filter-item[data-filter="__all"]{background:var(--csm-ink);border-color:var(--csm-ink);color:var(--csm-paper)}

/* Loop carousel: hide default arrows, dots as hairline */
.csm-rail .swiper-pagination-bullet{background:var(--csm-ink)}

@media (prefers-reduced-motion:reduce){
  .csm-reveal{opacity:1;transform:none;transition:none}
  .csm-card,.elementor-button{transition:none}
  .csm-card:hover,.elementor-button:hover{transform:none}
}

/* Trusted-by logo row */
.csm-trustedby .csm-logo{line-height:0}
.csm-trustedby .csm-logo img{height:36px;width:auto;max-width:180px;object-fit:contain;opacity:.9}
@media (max-width:767px){.csm-trustedby .csm-logo img{height:26px;max-width:120px}}

/* Hero trust row: allow it to run wider than the narrow hero column on desktop */
@media (min-width:1025px){.e-con>.csm-trust.elementor-widget,.csm-trust{width:max-content!important;max-width:calc(100vw - 3rem)!important}.csm-trust .elementor-icon-list-items{flex-wrap:nowrap}}

/* prose (accessibility statement etc) */
.csm-prose h2{font-size:clamp(1.35rem,2.2vw,1.65rem);line-height:1.2;letter-spacing:-.02em;margin:2.2em 0 .6em;color:#1A1917}.csm-prose h2:first-child{margin-top:0}.csm-prose p{margin:0 0 1.1em}.csm-prose ul{margin:0 0 1.3em 1.2em;padding:0}.csm-prose li{margin:0 0 .5em}.csm-prose a{color:#1A1917;text-decoration:underline;text-underline-offset:.15em}.csm-prose a:hover{color:#E8481C}
/* stat links */
.csm-statlink{text-decoration:none;color:inherit;transition:transform .2s ease}.csm-statlink:hover{transform:translateY(-2px)}.csm-statlink .csm-stars{display:block;color:#E8481C;font-size:1rem;letter-spacing:.08em;margin-bottom:6px;line-height:1}

/* service card imagery + dark phones */
.csm-card:has(>.csm-svc-img){overflow:hidden}.e-con>.csm-svc-img.elementor-widget{--p:clamp(1.75rem,3vw,2.5rem);width:calc(100% + 2*var(--p))!important;max-width:none!important;margin:calc(-1*var(--p)) calc(-1*var(--p)) 14px!important}.csm-svc-img img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top;border-radius:0;display:block}
.csm-dark-phones{width:min(100%,1320px)!important;margin-top:clamp(.5rem,2vw,1.5rem)}.csm-dark-phones img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent);mask-image:linear-gradient(to bottom,#000 78%,transparent)}

/* portraits */
.csm-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:28px;display:block;box-shadow:0 14px 34px rgba(26,25,23,.09)}
.csm-avatar img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block}
@media (max-width:1024px){.elementor-widget.csm-photo,.e-con>.csm-photo{max-width:400px!important;width:100%}}

/* insights */
.csm-article h2{font-size:clamp(1.4rem,2.3vw,1.75rem);line-height:1.2;letter-spacing:-.02em;margin:2.1em 0 .6em;color:#1A1917}.csm-article h3{font-size:1.15rem;margin:1.6em 0 .5em}.csm-article p{margin:0 0 1.15em}.csm-article ul,.csm-article ol{margin:0 0 1.3em 1.3em;padding:0}.csm-article li{margin:0 0 .55em}.csm-article a{color:#1A1917;text-decoration:underline;text-underline-offset:.15em}.csm-article a:hover{color:#E8481C}
.csm-article-cta{margin:2.5em 0 0;padding:clamp(1.25rem,2.5vw,1.75rem);background:#F3F1EC;border-radius:24px}.csm-article-cta p:last-child{margin:0}.csm-btn-inline{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;background:#C43710;color:#fff!important;text-decoration:none!important;font-weight:600;font-size:15px}.csm-btn-inline:hover{background:#1A1917}
.csm-avatar-lg img{width:88px;height:88px;border-radius:50%;object-fit:cover;display:block}.csm-author{align-items:center}@media (max-width:640px){.csm-author{flex-wrap:wrap!important}}
.csm-postinfo .elementor-icon-list-item{text-transform:uppercase;letter-spacing:.05em}.csm-postinfo .elementor-icon-list-text{color:#706C64}
.csm-posts .elementor-post{background:#fff;border-radius:28px;padding:clamp(1.5rem,2.5vw,2rem);box-shadow:0 2px 14px rgba(26,25,23,.05);transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease}.csm-posts .elementor-post:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(26,25,23,.09)}.csm-posts .elementor-post__title{font-size:19px;line-height:1.25;letter-spacing:-.01em;margin:0 0 10px}.csm-posts .elementor-post__title a{color:#1A1917}.csm-posts .elementor-post__excerpt p{font-size:15px;line-height:1.5;color:#6B675E}.csm-posts .elementor-post__meta-data{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:#706C64;margin-bottom:8px}.csm-posts .elementor-post__read-more{color:#C43710;font-weight:500;font-size:15px}.csm-posts .elementor-pagination{margin-top:28px;text-align:center}.csm-posts .elementor-pagination a,.csm-posts .elementor-pagination span{padding:8px 12px;color:#1A1917}

/* nav dropdown */
.csm-nav .elementor-nav-menu--main .sub-menu{background:#1A1917;border-radius:18px;padding:8px;min-width:250px;box-shadow:0 14px 34px rgba(26,25,23,.18);margin-top:10px}.csm-nav .elementor-nav-menu--main .sub-menu a{font-size:14px;font-weight:500;padding:10px 14px;border-radius:12px;color:#FBFAF7;background:transparent}.csm-nav .elementor-nav-menu--main .sub-menu a:hover,.csm-nav .elementor-nav-menu--main .sub-menu a.elementor-item-active{color:#C9BDF4;background:rgba(251,250,247,.06)}.csm-nav .elementor-nav-menu--main .menu-item-has-children>a .sub-arrow{margin-left:4px;opacity:.6}
.csm-nav .elementor-nav-menu--dropdown .sub-menu a{font-size:16px;font-weight:500;padding:8px 0 8px 16px;opacity:.85}

/* desktop sub-menu sizing fix 2026-10-17 */
.csm-nav .elementor-nav-menu--main .sub-menu{padding:8px!important;min-width:260px}
.csm-nav .elementor-nav-menu--main .sub-menu a,.csm-nav .elementor-nav-menu--main .sub-menu .elementor-item,.csm-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item{font-size:14px!important;font-weight:500!important;line-height:1.35!important;padding:10px 14px!important;white-space:nowrap}

/* CWV 2026-10-17 */
.csm-link,.csm-link a,a.csm-link{color:#C43710}

/* CWV buttons */
.elementor-widget-button .elementor-button,.csm-form .elementor-button,.csm-btn-flame .elementor-button{background-color:#C43710;color:#fff}
.csm-btn-lt .elementor-button{background:transparent;border:1px solid var(--csm-line-strong);color:var(--csm-ink)}
.csm-btn-lt .elementor-button:hover{background:var(--csm-ink);color:var(--csm-paper);border-color:var(--csm-ink)}
.csm-btn-paper .elementor-button{background:var(--csm-paper);color:var(--csm-ink)}
.csm-btn-paper .elementor-button:hover{background:#fff;color:var(--csm-ink)}
.csm-btn-ghost .elementor-button{background:transparent;color:var(--csm-paper);border:1px solid rgba(251,250,247,.3)}
.csm-btn-ghost .elementor-button:hover{background:var(--csm-paper);color:var(--csm-ink)}
.csm-btn-flame .elementor-button:hover{background:var(--csm-paper);color:var(--csm-ink)}
.csm-mono,.csm-stars{color:#C43710}

/* a11y accordion */
.elementor-accordion .elementor-tab-title a.elementor-accordion-title,.elementor-accordion .elementor-tab-title.elementor-active a.elementor-accordion-title,.elementor-accordion .elementor-tab-title a.elementor-accordion-title:hover{color:#1A1917}

/* Security notice banner */
.csm-alert{background:#1A1917;color:#FBFAF7;border-bottom:3px solid #E8A33C;font-size:14px;line-height:1.5;position:relative;z-index:1000}
.csm-alert__inner{max-width:1180px;margin:0 auto;padding:14px clamp(1.25rem,4vw,2.5rem)}
.csm-alert p{margin:0 0 6px;color:#E9E6DF}.csm-alert p:last-child{margin:0}
.csm-alert__title{font-weight:700;font-size:15px;color:#FBFAF7!important;display:flex;align-items:center;gap:10px}
.csm-alert__icon{display:inline-grid;place-content:center;width:22px;height:22px;border-radius:50%;background:#E8A33C;color:#1A1917;font-weight:800;font-size:14px;flex:0 0 auto}
.csm-alert strong{color:#FBFAF7}
.csm-alert a{color:#F5C77E;text-decoration:underline;text-underline-offset:2px;font-weight:600}
.csm-alert a:hover{color:#FBFAF7}
@media (max-width:640px){.csm-alert{font-size:13px}.csm-alert__inner{padding:12px 16px}}

/* mobile header 2026-10-22 */
.elementor-element-csm-logo img{height:auto!important;object-fit:contain}
@media (max-width:880px){
  .elementor-element-csm-logo img{width:220px!important;max-width:none!important}
  .elementor .elementor-element-csm-phone.elementor-hidden-mobile{display:block!important}
  .elementor-element-csm-phone a{display:inline-grid;place-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--csm-line-strong);font-size:0!important;line-height:0;color:var(--csm-ink)}
  .elementor-element-csm-phone a::before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/></svg>") center/contain no-repeat}
}
@media (max-width:480px){
  .elementor-element-csm-header-btn{display:none!important}
  .elementor-element-csm-logo img{width:min(220px,58vw)!important}
}

/* mobile header fix2 */
@media (max-width:880px){
  .elementor-element-csm-logo{order:0}.elementor-element-csm-phone{order:1;margin-left:auto}.elementor-element-csm-nav{order:2}.elementor-element-csm-header-btn{order:3}
  .elementor-element-csm-phone .elementor-heading-title{line-height:0}
  .elementor-element-csm-phone a{display:flex!important;align-items:center;justify-content:center;padding:0}
  .elementor-element-csm-phone a::before{display:block;flex:0 0 18px}
}

/* ===== CSM SHOWCASE ===== */
.csm-has-showcase .elementor-element-sp-image-sec,.csm-has-showcase .elementor-element-sp-body{display:none!important}
.csm-sc{padding:clamp(1.5rem,4vw,3rem) 20px clamp(3.5rem,7vw,6rem)}
.csm-sc-in{max-width:1240px;margin:0 auto}
.csm-sc-head{text-align:center;max-width:720px;margin:0 auto clamp(1.75rem,4vw,3rem)}
.csm-sc-eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--csm-flame-text);margin:0 0 12px}
.csm-sc h2{font-size:clamp(30px,4.2vw,48px);line-height:1.06;letter-spacing:-.025em;font-weight:600;color:var(--csm-ink);margin:0 0 14px}
.csm-sc-lede{font-size:17px;line-height:1.55;color:var(--csm-grey);margin:0}
.csm-sc-stage{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,3.5vw,48px);align-items:end}
.csm-sc-stage.no-phone{grid-template-columns:1fr}
.csm-sc figure{margin:0;position:relative}
.csm-sc-browser{background:#fff;border-radius:16px;box-shadow:0 1px 0 var(--csm-line),0 30px 70px -20px rgba(26,25,23,.28),0 0 0 1px var(--csm-line);overflow:hidden}
.csm-sc-bar{display:flex;align-items:center;gap:7px;height:42px;padding:0 16px;background:var(--csm-paper-alt);border-bottom:1px solid var(--csm-line)}
.csm-sc-bar i{width:11px;height:11px;border-radius:50%;background:#D9D5CC}
.csm-sc-bar i:first-child{background:#EC6A5E}.csm-sc-bar i:nth-child(2){background:#F4BF4F}.csm-sc-bar i:nth-child(3){background:#61C554}
.csm-sc-url{margin:0 auto;transform:translateX(-24px);min-width:0;max-width:60%;height:26px;padding:0 16px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;border:1px solid var(--csm-line);font-size:12.5px;color:var(--csm-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.csm-sc-vp{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(26,25,23,.25) transparent;background:#fff}
.csm-sc-vp img{display:block;width:100%;height:auto;max-width:none}
.csm-sc-browser .csm-sc-vp{aspect-ratio:16/10;max-height:640px}
.csm-sc-phone{width:300px;justify-self:center;padding:30px 11px 11px;border-radius:46px;background:#1A1917;box-shadow:0 30px 60px -18px rgba(26,25,23,.4),inset 0 0 0 2px #3a3835}
.csm-sc-phone::before{content:"";position:absolute;top:11px;left:50%;width:64px;height:9px;margin-left:-32px;border-radius:9px;background:#3a3835;z-index:2}
.csm-sc-phone .csm-sc-vp{height:580px;border-radius:12px 12px 34px 34px;scrollbar-width:none}
.csm-sc-phone .csm-sc-vp::-webkit-scrollbar{display:none}
.csm-sc-vp:focus-visible{outline:2px solid var(--csm-flame);outline-offset:-2px}
.csm-sc-hint{position:absolute;right:16px;bottom:16px;z-index:3;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:rgba(26,25,23,.82);color:#fff;font-size:12.5px;font-weight:500;pointer-events:none;transition:opacity .4s}
.csm-sc-hint::before{content:"";width:8px;height:12px;border:1.5px solid #fff;border-radius:5px;box-sizing:border-box}
.csm-sc-phone .csm-sc-hint{right:50%;transform:translateX(50%);bottom:28px}
.csm-sc figure.scrolled .csm-sc-hint{opacity:0}
.csm-sc-visit{text-align:center;margin:26px 0 0;font-size:15px}
.csm-sc-galhead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:clamp(3rem,6vw,4.5rem) 0 18px;padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--csm-line)}
.csm-sc-galhead h3,.csm-sc-story h3{font-size:22px;letter-spacing:-.01em;font-weight:600;color:var(--csm-ink);margin:0}
.csm-sc-galhead p{margin:0;color:var(--csm-grey);font-size:15px}
.csm-sc-gal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.csm-sc-thumb{all:unset;box-sizing:border-box;display:block;width:100%;cursor:zoom-in}
.csm-sc-tframe{display:block;border-radius:14px;overflow:hidden;aspect-ratio:16/11;background:var(--csm-paper-alt);box-shadow:0 0 0 1px var(--csm-line),var(--csm-shadow);transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s}
.csm-sc-tframe img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.csm-sc-thumb:hover .csm-sc-tframe{transform:translateY(-4px);box-shadow:0 0 0 1px var(--csm-line),var(--csm-shadow-hover)}
.csm-sc-thumb:focus-visible .csm-sc-tframe{outline:2px solid var(--csm-flame);outline-offset:3px}
.csm-sc-cap{display:block;margin-top:10px;font-size:14.5px;font-weight:500;color:var(--csm-ink)}
.csm-sc-thumb:hover .csm-sc-cap{color:var(--csm-flame-text)}
.csm-sc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin:clamp(3rem,6vw,4.5rem) 0 0;border-top:1px solid var(--csm-line);border-bottom:1px solid var(--csm-line)}
.csm-sc-facts div{padding:26px 22px 24px;border-left:1px solid var(--csm-line)}
.csm-sc-facts div:first-child{border-left:0;padding-left:0}
.csm-sc-facts dt{font-size:clamp(28px,3.4vw,40px);line-height:1.05;letter-spacing:-.03em;font-weight:600;color:var(--csm-ink);margin:0 0 6px}
.csm-sc-facts dd{margin:0;font-size:14.5px;line-height:1.45;color:var(--csm-grey)}
.csm-sc-story{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:clamp(24px,4vw,56px);margin-top:clamp(2.5rem,5vw,3.5rem)}
.csm-sc-story h3{margin-bottom:12px}
.csm-sc-story p,.csm-sc-story li{font-size:16px;line-height:1.6;color:var(--csm-grey);margin:0}
.csm-sc-story ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.csm-sc-story li{position:relative;padding-left:20px}
.csm-sc-story li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--csm-flame)}
.csm-sc-pill{margin-top:16px!important}
.csm-sc-quote{margin:clamp(3rem,6vw,4.5rem) auto 0!important;max-width:820px;text-align:center}
.csm-sc-quote blockquote{margin:0;padding:0;border:0}
.csm-sc-quote p{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:clamp(26px,3.2vw,36px);line-height:1.25;color:var(--csm-ink);margin:0}
.csm-sc-quote figcaption{margin-top:16px;font-size:15px;font-weight:600;color:var(--csm-ink)}
.csm-sc-quote figcaption span{font-weight:400;color:var(--csm-grey)}
/* lightbox */
.csm-lb{width:min(1360px,96vw);max-width:none;max-height:94vh;padding:0;border:0;border-radius:16px;background:#141312;color:#fff;overflow:hidden}
.csm-lb::backdrop{background:rgba(20,19,18,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.csm-lb-top{display:flex;align-items:center;gap:14px;height:52px;padding:0 10px 0 20px;font-size:15px;font-weight:500}
.csm-lb-n{color:#A8A39A;font-weight:400;margin-right:auto}
.csm-lb button{all:unset;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:30px;line-height:1;color:#fff}
.csm-lb button:hover{background:rgba(255,255,255,.1)}
.csm-lb button:focus-visible{outline:2px solid var(--csm-flame)}
.csm-lb-body{position:relative;display:flex;align-items:center;justify-content:center;padding:0 8px 10px}
.csm-lb-img{display:block;max-width:100%;max-height:calc(94vh - 66px);width:auto;height:auto;border-radius:8px}
.csm-lb-p,.csm-lb-nx{position:absolute!important;top:50%;transform:translateY(-50%);background:rgba(20,19,18,.7)!important;font-size:36px!important}
.csm-lb-p{left:16px}.csm-lb-nx{right:16px}
@media (max-width:1050px){.csm-sc-stage{grid-template-columns:minmax(0,1fr) 250px}.csm-sc-phone{width:250px;border-radius:40px}.csm-sc-phone .csm-sc-vp{height:480px}.csm-sc-gal{grid-template-columns:repeat(2,minmax(0,1fr))}.csm-sc-story{grid-template-columns:1fr 1fr}.csm-sc-story>div:nth-child(2){grid-row:span 2}}
@media (max-width:880px){.csm-sc-stage{grid-template-columns:1fr;gap:36px}.csm-sc-phone{order:-1}.csm-sc-facts{grid-template-columns:1fr 1fr}.csm-sc-facts div:nth-child(2){border-top:0}.csm-sc-browser .csm-sc-vp{aspect-ratio:4/3}.csm-sc-phone{width:280px}.csm-sc-phone .csm-sc-vp{height:540px}.csm-sc-story{grid-template-columns:1fr}.csm-sc-story>div:nth-child(2){grid-row:auto}.csm-sc-facts div{padding:20px 12px 18px 0;border-left:0;border-top:1px solid var(--csm-line)}.csm-sc-facts div:first-child{border-top:0}.csm-sc-url{transform:none}}
@media (max-width:480px){.csm-sc-gal{gap:12px}.csm-sc-bar{height:34px;padding:0 10px;gap:5px}.csm-sc-bar i{width:8px;height:8px}.csm-sc-url{font-size:11px;height:22px}.csm-lb-p,.csm-lb-nx{display:none!important}}
@media (prefers-reduced-motion:reduce){.csm-sc-tframe{transition:none}}
.csm-sc .csm-sc-thumb,.csm-sc .csm-sc-thumb:hover,.csm-sc .csm-sc-thumb:focus{background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;color:inherit!important;text-transform:none!important;letter-spacing:normal!important;font:inherit!important;text-align:left!important;line-height:normal!important}
.csm-lb .csm-lb-x,.csm-lb .csm-lb-p,.csm-lb .csm-lb-nx{padding:0!important;border:0!important;border-radius:50%!important;width:44px!important;height:44px!important;color:#fff!important;box-shadow:none!important;line-height:1!important}
.csm-lb .csm-lb-x{background:transparent!important;font-size:30px!important}.csm-lb .csm-lb-x:hover{background:rgba(255,255,255,.1)!important}
.csm-lb .csm-lb-body .csm-lb-p,.csm-lb .csm-lb-body .csm-lb-nx{position:absolute!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;background:rgba(20,19,18,.72)!important;font-size:36px!important;margin:0!important}
.csm-lb .csm-lb-body .csm-lb-p{left:16px!important;right:auto!important}.csm-lb .csm-lb-body .csm-lb-nx{right:16px!important;left:auto!important}
.csm-lb .csm-lb-body .csm-lb-p:hover,.csm-lb .csm-lb-body .csm-lb-nx:hover{background:rgba(20,19,18,.92)!important}
.csm-lb .csm-lb-img{max-height:calc(94vh - 72px)!important;max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain}
.csm-lb .csm-lb-x:focus:not(:focus-visible){outline:0!important}
@media (max-width:480px){.csm-lb .csm-lb-body .csm-lb-p,.csm-lb .csm-lb-body .csm-lb-nx{display:none!important}}
/* ===== /CSM SHOWCASE ===== */

/* ===== CSM CASE STUDY EXTRAS ===== */
.csm-ccta{padding:0 20px clamp(3.5rem,7vw,6rem)}
.csm-ccta-in{max-width:1240px;margin:0 auto;background:#1A1917;color:#FBFAF7;border-radius:28px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 48px;align-items:center}
.csm-ccta-eyebrow{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#F3B9A8}
.csm-ccta h2{margin:0 0 12px;font-size:clamp(28px,3.6vw,42px);line-height:1.08;letter-spacing:-.025em;font-weight:600;color:#FBFAF7}
.csm-ccta h2 em{color:var(--csm-lilac)}
.csm-ccta-copy p:last-child{margin:0;max-width:58ch;font-size:16.5px;line-height:1.55;color:#D9D5CC}
.csm-ccta-btns{display:flex;flex-direction:column;gap:12px;min-width:230px}
.csm-ccta-btn,.csm-ccta-lt{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border-radius:999px;font-size:15.5px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.csm-ccta-btn{background:var(--csm-flame-text);color:#fff!important}
.csm-ccta-btn:hover{background:#A92E0C}
.csm-ccta-lt{border:1px solid rgba(251,250,247,.35);color:#FBFAF7!important}
.csm-ccta-lt:hover{border-color:#FBFAF7}
@media (max-width:880px){.csm-ccta-in{grid-template-columns:1fr}.csm-ccta-btns{min-width:0}}
.csm-wf{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.csm-wf .csm-wf-b,.csm-wf .csm-wf-b:hover,.csm-wf .csm-wf-b:focus{all:unset;box-sizing:border-box;display:inline-flex!important;align-items:center;gap:8px;height:38px;padding:0 16px!important;border-radius:999px!important;border:1px solid var(--csm-line-strong)!important;background:transparent!important;color:var(--csm-ink)!important;font-size:14px!important;font-weight:500!important;cursor:pointer;text-transform:none!important;letter-spacing:normal!important}
.csm-wf .csm-wf-b span{font-size:12.5px;color:var(--csm-grey)}
.csm-wf .csm-wf-b[aria-pressed="true"]{background:var(--csm-ink)!important;color:var(--csm-paper)!important;border-color:var(--csm-ink)!important}
.csm-wf .csm-wf-b[aria-pressed="true"] span{color:#D9D5CC}
.csm-wf .csm-wf-b:focus-visible{outline:2px solid var(--csm-flame);outline-offset:2px}
/* ===== /CSM CASE STUDY EXTRAS ===== */
