/* ==========================================================================
   Sur-Ryl Marketing theme: design system
   Bold editorial storytelling. Berry as punctuation. Black, white and blush.
   Anton for display, Poppins for everything else.
   ========================================================================== */

@font-face{font-family:"Anton";src:url("../fonts/anton-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --sm-berry:#DE0240;
  --sm-berry-deep:#B80235;
  --sm-plum:#7A133F;
  --sm-black:#121212;
  --sm-ink:#1A1A1A;
  --sm-ink-2:#2A2727;
  --sm-white:#FFFFFF;
  --sm-blush:#F2DDD6;
  --sm-blush-2:#F8ECE8;
  --sm-sand:#E8DDD0;
  --sm-gray:#F5F5F5;
  --sm-line:#E7E1DE;
  --sm-line-dark:rgba(255,255,255,.14);
  --sm-muted:#5C5759;
  --sm-muted-dark:rgba(255,255,255,.72);
  --sm-gradient:linear-gradient(100deg,#DE0240 0%,#7A133F 45%,#141414 100%);

  --sm-display:"Anton",Impact,"Arial Narrow",sans-serif;
  --sm-sans:"Poppins","Helvetica Neue",Arial,sans-serif;

  --sm-wrap:1320px;
  --sm-gutter:clamp(20px,4vw,56px);
  --sm-section:clamp(88px,11vw,168px);
  --sm-radius:22px;
  --sm-radius-lg:36px;
  --sm-ease:cubic-bezier(.2,.7,.2,1);
  --sm-header-h:88px;
  --sm-admin:var(--wp-admin--admin-bar--height,0px);
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.sm-site{margin:0;background:var(--sm-white);color:var(--sm-ink);font-family:var(--sm-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
body.sm-site *,body.sm-site *::before,body.sm-site *::after{box-sizing:border-box}
:where(body.sm-site) img{max-width:100%;height:auto;display:block}
:where(body.sm-site) a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
:where(body.sm-site) p{margin:0 0 1em}
:where(body.sm-site) p:last-child{margin-bottom:0}
:where(body.sm-site) :is(h1,h2,h3,h4){margin:0;font-weight:inherit}
body.sm-site :focus-visible{outline:3px solid var(--sm-berry);outline-offset:3px;border-radius:4px}
body.sm-site ::selection{background:var(--sm-berry);color:#fff}
.sm-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sm-skip{position:absolute;left:16px;top:-80px;z-index:1000;background:var(--sm-berry);color:#fff!important;padding:12px 18px;border-radius:999px;font-weight:600;text-decoration:none;transition:top .2s}
.sm-skip:focus{top:12px}

/* ---------- Neutralize Elementor defaults inside our layouts ---------- */
body.sm-site{--kit-widget-spacing:0px;--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px}
body.sm-site .elementor-widget:not(:last-child){margin-block-end:0}
body.sm-site .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--container-max-width:100%}
body.sm-site .elementor-heading-title{line-height:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;padding:0}
body.sm-site .elementor-widget-text-editor{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}
body.sm-site .elementor-widget-image img{width:100%;max-width:100%;border-radius:0}
body.sm-site .elementor-widget-image,body.sm-site .elementor-widget-html,body.sm-site .elementor-widget-shortcode{width:100%}
body.sm-site .elementor-widget-container{height:100%}
body.sm-site main .e-con.sm-section{width:100%;max-width:none}

/* ---------- Layout ---------- */
.sm-wrap,body.sm-site .sm-wrap{width:100%;max-width:calc(var(--sm-wrap) + var(--sm-gutter)*2);margin-inline:auto;padding-inline:var(--sm-gutter)}
body.sm-site .sm-section{position:relative;padding-block:var(--sm-section)}
body.sm-site .sm-section--tight{padding-block:clamp(64px,8vw,112px)}
body.sm-site .sm-dark{background:var(--sm-black);color:#fff}
body.sm-site .sm-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,80px)}
body.sm-site .sm-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,112px);align-items:start}
body.sm-site .sm-stack{display:flex;flex-direction:column}
body.sm-site .sm-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center}
body.sm-site .sm-gap-s{gap:12px}
body.sm-site .sm-gap-m{gap:24px}
body.sm-site .sm-gap-l{gap:40px}

/* ---------- Type ---------- */
body.sm-site .sm-display,body.sm-site .sm-display .elementor-heading-title{font-family:var(--sm-display);font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:.004em;font-size:clamp(3.4rem,8.2vw,8.25rem)}
body.sm-site .sm-display-m,body.sm-site .sm-display-m .elementor-heading-title{font-family:var(--sm-display);font-weight:400;text-transform:uppercase;line-height:.94;letter-spacing:.005em;font-size:clamp(2.6rem,5.4vw,5.25rem)}
body.sm-site .sm-title,body.sm-site .sm-title .elementor-heading-title{font-family:var(--sm-display);font-weight:400;line-height:1;letter-spacing:.004em;font-size:clamp(2.4rem,4.6vw,4.4rem);text-wrap:balance}
body.sm-site .sm-h3,body.sm-site .sm-h3 .elementor-heading-title{font-family:var(--sm-sans);font-weight:600;font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.3;letter-spacing:-.005em;text-wrap:balance}
body.sm-site .sm-lead,body.sm-site .sm-lead p{font-size:clamp(1.25rem,2.05vw,1.9rem);line-height:1.42;font-weight:400;letter-spacing:-.01em;text-wrap:pretty}
body.sm-site .sm-body{font-size:1.0625rem;line-height:1.7;color:var(--sm-muted)}
body.sm-site .sm-dark .sm-body{color:var(--sm-muted-dark)}
body.sm-site .sm-muted{color:var(--sm-muted)}
body.sm-site .sm-small{font-size:.9375rem}
body.sm-site .sm-maxw{max-width:62ch}
body.sm-site .sm-maxw-s{max-width:46ch}
body.sm-site .sm-berry{color:var(--sm-berry)}

/* The Signal Core dot: Sur-Ryl Berry punctuation from the brand system */
.sm-dot{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:var(--sm-berry);vertical-align:baseline;margin-inline:.02em;transform:translateY(-.02em)}
.sm-dot--mid{width:.14em;height:.14em;margin-inline:.06em;transform:translateY(-.34em)}
.sm-period{color:var(--sm-berry)}

/* ---------- Buttons: S-Capsule ---------- */
body.sm-site .sm-btn .elementor-button,body.sm-site a.sm-btn-a{display:inline-flex;align-items:center;gap:12px;height:58px;padding:0 30px;border-radius:999px;background:var(--sm-berry);color:#fff;font-family:var(--sm-sans);font-weight:600;font-size:1rem;letter-spacing:.005em;line-height:1;text-decoration:none;border:2px solid var(--sm-berry);transition:background .25s var(--sm-ease),border-color .25s var(--sm-ease),color .25s var(--sm-ease),transform .25s var(--sm-ease);fill:currentColor}
body.sm-site .sm-btn .elementor-button:hover,body.sm-site a.sm-btn-a:hover{background:var(--sm-berry-deep);border-color:var(--sm-berry-deep);color:#fff}
body.sm-site .sm-btn .elementor-button .elementor-button-text::after,body.sm-site a.sm-btn-a::after{content:"";width:18px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;display:inline-block;margin-left:12px;transition:transform .25s var(--sm-ease);vertical-align:middle}
body.sm-site a.sm-btn-a::after{margin-left:0}
body.sm-site .sm-btn .elementor-button:hover .elementor-button-text::after,body.sm-site a.sm-btn-a:hover::after{transform:translateX(4px)}
body.sm-site .sm-btn .elementor-button-content-wrapper,body.sm-site .sm-btn .elementor-button-text{display:inline-flex;align-items:center}
body.sm-site .sm-btn--ghost .elementor-button,body.sm-site a.sm-btn-a.sm-btn--ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
body.sm-site .sm-btn--ghost .elementor-button:hover,body.sm-site a.sm-btn-a.sm-btn--ghost:hover{background:#fff;border-color:#fff;color:var(--sm-ink)}
body.sm-site .sm-btn--ink .elementor-button,body.sm-site a.sm-btn-a.sm-btn--ink{background:transparent;border-color:var(--sm-ink);color:var(--sm-ink)}
body.sm-site .sm-btn--ink .elementor-button:hover,body.sm-site a.sm-btn-a.sm-btn--ink:hover{background:var(--sm-ink);color:#fff}
body.sm-site .sm-btn--white .elementor-button,body.sm-site a.sm-btn-a.sm-btn--white{background:#fff;border-color:#fff;color:var(--sm-ink)}
body.sm-site .sm-btn--white .elementor-button:hover,body.sm-site a.sm-btn-a.sm-btn--white:hover{background:var(--sm-ink);border-color:var(--sm-ink);color:#fff}
body.sm-site .sm-btn--sm .elementor-button,body.sm-site a.sm-btn-a.sm-btn--sm{height:46px;padding:0 22px;font-size:.9375rem}
body.sm-site .sm-btn .elementor-button-icon{display:none}
body.sm-site .sm-link,body.sm-site .sm-link .elementor-heading-title a,body.sm-site a.sm-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:inherit;text-decoration:none;border-bottom:2px solid var(--sm-berry);padding-bottom:4px;transition:gap .25s var(--sm-ease),color .2s}
body.sm-site a.sm-link:hover,body.sm-site .sm-link a:hover{gap:16px;color:var(--sm-berry)}

/* ---------- Header ---------- */
.sm-header{position:sticky;top:var(--sm-admin);z-index:100;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);color:var(--sm-ink);border-bottom:1px solid #F0EAE7;transition:box-shadow .3s var(--sm-ease),margin-bottom .35s var(--sm-ease)}
.sm-header__bar{display:flex;align-items:center;gap:28px;height:var(--sm-header-h);transition:height .35s var(--sm-ease)}
.sm-header.is-scrolled{--sm-header-h:68px;margin-bottom:20px;box-shadow:0 12px 30px -12px rgba(18,18,18,.18)}
/* The header slims on scroll; its margin grows by the same amount so the page below never shifts (a shift would re-trigger the scroll state and make the header shake). */
html.sm-scrolled .sm-filters{top:calc(68px + var(--sm-admin))}
html.sm-scrolled .sm-snapshot{top:calc(68px + var(--sm-admin) + 32px)}
.sm-header__logo{display:block;flex:none;line-height:0;text-decoration:none}
body.sm-site .sm-header__logo img{height:56px;width:auto;max-width:none;transition:height .35s var(--sm-ease)}
body.sm-site .sm-header.is-scrolled .sm-header__logo img{height:44px}
.sm-nav{margin-left:auto}
.sm-nav__list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.sm-nav__link{position:relative;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;color:var(--sm-ink);text-decoration:none;font-weight:500;font-size:.98rem;background:none;border:0;font-family:inherit;cursor:pointer;border-radius:999px;transition:color .2s}
.sm-nav__link::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--sm-berry);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--sm-ease)}
.sm-nav__link:hover::after,.sm-nav__link[aria-current="page"]::after,.sm-nav__link[aria-expanded="true"]::after{transform:scaleX(1)}
.sm-nav__chev{width:10px;height:10px;transition:transform .3s var(--sm-ease)}
.sm-nav__link[aria-expanded="true"] .sm-nav__chev{transform:rotate(180deg)}
.sm-header__actions{display:flex;align-items:center;gap:20px;flex:none}
.sm-header__phone{color:var(--sm-muted);text-decoration:none;font-size:.95rem;font-weight:500;white-space:nowrap}
.sm-header__phone:hover{color:var(--sm-berry)}
.sm-header__cta{height:48px!important;padding:0 24px!important}
.sm-menu-toggle{display:none;align-items:center;gap:10px;height:46px;padding:0 18px;border-radius:999px;background:transparent;border:2px solid var(--sm-line);color:var(--sm-ink);font:600 .95rem/1 var(--sm-sans);cursor:pointer}
.sm-menu-toggle__bars{position:relative;width:18px;height:12px}
.sm-menu-toggle__bars::before,.sm-menu-toggle__bars::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .3s var(--sm-ease),top .3s}
.sm-menu-toggle__bars::before{top:1px}
.sm-menu-toggle__bars::after{top:9px}
.sm-menu-open .sm-menu-toggle__bars::before{top:5px;transform:rotate(45deg)}
.sm-menu-open .sm-menu-toggle__bars::after{top:5px;transform:rotate(-45deg)}

/* Expertise panel (Yes&-style, two columns) */
.sm-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #F0EAE7;color:var(--sm-ink);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .28s var(--sm-ease),transform .28s var(--sm-ease),visibility 0s linear .28s;box-shadow:0 40px 80px -30px rgba(18,18,18,.28)}
.sm-panel.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .28s var(--sm-ease),transform .28s var(--sm-ease)}
.sm-panel__inner{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) minmax(0,.9fr);gap:56px;padding-block:44px 52px}
.sm-panel__head{font-family:var(--sm-display);font-size:1.6rem;text-transform:uppercase;letter-spacing:.01em;line-height:1;margin-bottom:22px;color:var(--sm-ink)}
.sm-panel__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.sm-panel__list--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;grid-auto-rows:1fr}
.sm-panel__item{display:flex}
.sm-panel__item a{display:block;flex:1;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--sm-line);transition:color .2s,padding .25s var(--sm-ease)}
.sm-panel__item a:hover{color:var(--sm-berry);padding-left:6px}
.sm-panel__item strong{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1rem;line-height:1.35}
.sm-panel__item span{display:block;font-size:.85rem;line-height:1.45;color:var(--sm-muted);margin-top:2px}
.sm-tag{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:var(--sm-blush);color:var(--sm-berry);font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.sm-panel__feature{display:block;text-decoration:none;border-radius:var(--sm-radius);overflow:hidden;background:var(--sm-blush);align-self:start}
.sm-panel__feature img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s var(--sm-ease)}
.sm-panel__feature:hover img{transform:scale(1.04)}
.sm-panel__feature div{padding:18px 20px 22px}
.sm-panel__feature small{display:block;color:var(--sm-berry);font-weight:600;font-size:.8rem;margin-bottom:4px}
.sm-panel__feature b{display:block;font-weight:600;line-height:1.35}

/* Mobile menu */
.sm-mobile{position:fixed;inset:calc(var(--sm-header-h) + var(--sm-admin)) 0 0 0;background:#fff;color:var(--sm-ink);z-index:99;overflow-y:auto;padding:12px var(--sm-gutter) 48px;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s}
.sm-menu-open .sm-mobile{opacity:1;visibility:visible;transition:opacity .25s}
.sm-mobile__list{list-style:none;margin:0;padding:0}
.sm-mobile__list>li{border-bottom:1px solid var(--sm-line)}
.sm-mobile__link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 0;font-family:var(--sm-display);font-size:2.4rem;line-height:1;text-transform:uppercase;color:var(--sm-ink);text-decoration:none;background:none;border:0;cursor:pointer;text-align:left}
.sm-mobile__sub{display:none;padding:0 0 18px}
.sm-mobile__sub.is-open{display:block}
.sm-mobile__sub h3{font-size:.8rem;font-weight:600;color:var(--sm-berry);margin:14px 0 6px}
.sm-mobile__sub a{display:block;padding:9px 0;color:var(--sm-ink);text-decoration:none;font-weight:500}
.sm-mobile__foot{display:grid;gap:14px;margin-top:28px}
.sm-mobile__foot a{color:var(--sm-ink)}

/* ---------- Hero ---------- */
body.sm-site .sm-hero{position:relative;background:#fff;color:var(--sm-ink);overflow:hidden;padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(64px,7vw,104px);min-height:min(calc(100vh - var(--sm-header-h) - var(--sm-admin)),940px);display:flex;flex-direction:column;justify-content:center}
body.sm-site .sm-hero::before{content:"";position:absolute;inset:-35% auto auto -14%;width:80vw;height:80vw;max-width:1200px;max-height:1200px;background:radial-gradient(closest-side,rgba(242,221,214,.95),rgba(242,221,214,.35) 45%,transparent 72%);pointer-events:none;z-index:0}
body.sm-site .sm-hero__content{position:relative;z-index:2;width:100%}
body.sm-site .sm-hero__title,body.sm-site .sm-hero__title .elementor-heading-title{font-family:var(--sm-display);font-weight:400;font-size:clamp(3rem,6.1vw,6.6rem);line-height:1.04;letter-spacing:.003em;max-width:11.6em;text-wrap:balance;color:#141414}
body.sm-site .sm-hero__sub,body.sm-site .sm-hero__sub p{max-width:48ch;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.55;color:#3D3839;margin-top:clamp(22px,2.4vw,34px)}
body.sm-site .sm-hero__actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;margin-top:clamp(28px,3vw,40px)}
body.sm-site .sm-hero__actions .elementor-widget{width:auto}

/* Who we serve: overlapping the hero edge */
body.sm-site .sm-serve{position:relative;z-index:3;padding-block:clamp(40px,5vw,72px) clamp(56px,6vw,96px);background:linear-gradient(180deg,#FBF4F1 0%,#fff 100%)}
body.sm-site .sm-serve__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body.sm-site .sm-card{position:relative;display:flex;flex-direction:column;gap:14px;background:#fff;color:var(--sm-ink);border-radius:var(--sm-radius);padding:30px 28px 28px;box-shadow:0 30px 60px -20px rgba(18,18,18,.22),0 0 0 1px rgba(18,18,18,.05);text-decoration:none;transition:transform .45s var(--sm-ease),box-shadow .45s var(--sm-ease);min-height:100%}
body.sm-site a.sm-card:hover,body.sm-site .sm-card:has(a:hover){transform:translateY(-6px);box-shadow:0 40px 70px -20px rgba(18,18,18,.28),0 0 0 1px rgba(222,2,64,.35)}
body.sm-site .sm-card__icon,body.sm-site .sm-card__icon svg{width:52px;height:52px;color:var(--sm-ink)}
body.sm-site .sm-card__title,body.sm-site .sm-card__title .elementor-heading-title{font-weight:600;font-size:1.25rem;line-height:1.25}
body.sm-site .sm-card__text,body.sm-site .sm-card__text p{font-size:.975rem;line-height:1.6;color:var(--sm-muted)}
body.sm-site .sm-card__more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;color:var(--sm-ink)}
body.sm-site .sm-card__more i{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--sm-gray);align-items:center;justify-content:center;transition:background .3s,color .3s,transform .3s var(--sm-ease)}
body.sm-site .sm-card:hover .sm-card__more i{background:var(--sm-berry);color:#fff;transform:translateX(4px)}

/* ---------- We get it ---------- */
body.sm-site .sm-getit{padding-top:clamp(64px,8vw,128px);padding-bottom:clamp(48px,6vw,96px)}
body.sm-site .sm-help{padding-top:clamp(48px,6vw,96px)}
body.sm-site .sm-getit .sm-display{font-size:clamp(4rem,10.5vw,10rem)}
body.sm-site .sm-getit__lead,body.sm-site .sm-getit__lead p{font-size:clamp(1.4rem,2.5vw,2.25rem);line-height:1.36;letter-spacing:-.015em;font-weight:400;color:var(--sm-ink);text-wrap:pretty}
body.sm-site .sm-getit__after,body.sm-site .sm-getit__after p{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.65;color:var(--sm-muted);margin-top:clamp(20px,2.5vw,32px);max-width:52ch}
body.sm-site .sm-getit__after strong{color:var(--sm-ink);font-weight:600}

/* Gradient monogram separator: problem to possibility */
.sm-separator{display:flex;flex-direction:column;align-items:center;gap:18px;padding-block:8px}
.sm-separator::before,.sm-separator::after{content:"";width:1px;height:64px;background:linear-gradient(var(--sm-line),var(--sm-berry))}
.sm-separator::after{background:linear-gradient(var(--sm-berry),var(--sm-line))}
.sm-separator img{width:118px;height:auto}

/* ---------- We can help ---------- */
body.sm-site .sm-help__intro,body.sm-site .sm-help__intro p{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.55;color:var(--sm-ink)}
body.sm-site .sm-outcomes{margin-top:clamp(48px,6vw,88px);border-top:1px solid var(--sm-line)}
body.sm-site .sm-outcome{display:grid;grid-template-columns:90px minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:baseline;padding-block:clamp(28px,3.4vw,44px);border-bottom:1px solid var(--sm-line);transition:background .35s}
body.sm-site .sm-outcome__num{font-family:var(--sm-display);font-size:1.25rem;color:var(--sm-berry);letter-spacing:.04em}
body.sm-site .sm-outcome__title,body.sm-site .sm-outcome__title .elementor-heading-title{font-family:var(--sm-display);font-size:clamp(2rem,3.9vw,3.6rem);line-height:.98;text-transform:uppercase;letter-spacing:.005em;text-wrap:balance;transition:transform .5s var(--sm-ease)}
body.sm-site .sm-outcome:hover .sm-outcome__title{transform:translateX(10px)}
body.sm-site .sm-outcome__text,body.sm-site .sm-outcome__text p{color:var(--sm-muted);font-size:1.05rem;line-height:1.65}

body.sm-site .sm-method{margin-top:clamp(48px,6vw,88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);background:var(--sm-blush);border-radius:var(--sm-radius-lg);padding:clamp(32px,5vw,72px);position:relative;overflow:hidden}
body.sm-site .sm-method__name,body.sm-site .sm-method__name .elementor-heading-title{font-family:var(--sm-display);font-size:clamp(2rem,3.4vw,3rem);line-height:1;text-transform:uppercase;margin-bottom:14px}
body.sm-site .sm-method__text,body.sm-site .sm-method__text p{font-size:1.08rem;line-height:1.65}
body.sm-site .sm-method__ai{border-left:2px solid var(--sm-berry);padding-left:clamp(20px,3vw,40px)}
body.sm-site .sm-method__ai h3,body.sm-site .sm-method__ai .elementor-heading-title{font-weight:600;font-size:1.15rem;margin-bottom:10px}

/* ---------- Discover. Design. Deliver. (Segmented Arch System) ---------- */
body.sm-site .sm-arches__head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(48px,6vw,88px)}
body.sm-site .sm-arches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);align-items:end}
body.sm-site .sm-arch{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;border-radius:999px 999px 26px 26px;padding:clamp(28px,3vw,44px);padding-top:clamp(120px,14vw,200px);min-height:clamp(440px,40vw,560px);overflow:hidden}
body.sm-site .sm-arch:nth-child(1){background:var(--sm-berry);color:#fff}
body.sm-site .sm-arch:nth-child(2){background:var(--sm-blush);color:var(--sm-ink);min-height:clamp(480px,44vw,620px)}
body.sm-site .sm-arch:nth-child(3){background:#fff;color:var(--sm-ink);min-height:clamp(520px,48vw,680px)}
body.sm-site .sm-arch__num{font-family:var(--sm-display);font-size:1.1rem;letter-spacing:.06em;opacity:.8}
body.sm-site .sm-arch__word,body.sm-site .sm-arch__word .elementor-heading-title{font-family:var(--sm-display);font-size:clamp(2.8rem,5vw,4.75rem);line-height:.92;text-transform:uppercase}
body.sm-site .sm-arch__title,body.sm-site .sm-arch__title .elementor-heading-title{font-weight:600;font-size:1.15rem;line-height:1.35}
body.sm-site .sm-arch__text,body.sm-site .sm-arch__text p{font-size:1rem;line-height:1.6;opacity:.86}

/* ---------- Featured work ---------- */
body.sm-site .sm-work-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(44px,5vw,80px)}
body.sm-site .sm-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);align-items:center;text-decoration:none;color:inherit}
body.sm-site .sm-feature__media{position:relative;border-radius:var(--sm-radius-lg);overflow:hidden;aspect-ratio:16/11;background:var(--sm-gray)}
body.sm-site .sm-feature__media img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1s var(--sm-ease)}
body.sm-site .sm-feature:hover .sm-feature__media img,body.sm-site .sm-tile:hover .sm-tile__media img{transform:scale(1.04)}
body.sm-site .sm-client,body.sm-site .sm-client p{font-size:.95rem;font-weight:600;color:var(--sm-berry)}
body.sm-site .sm-feature__title,body.sm-site .sm-feature__title .elementor-heading-title{font-weight:600;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.18;letter-spacing:-.015em;text-wrap:balance}
body.sm-site .sm-metric{display:flex;flex-direction:column;gap:6px;padding-block:22px;border-block:1px solid var(--sm-line)}
body.sm-site .sm-metric__value,body.sm-site .sm-metric__value .elementor-heading-title{font-family:var(--sm-display);font-size:clamp(3rem,5.6vw,5.4rem);line-height:.95;color:var(--sm-berry);font-variant-numeric:tabular-nums;white-space:nowrap}
body.sm-site .sm-metric__label,body.sm-site .sm-metric__label p{font-size:.98rem;line-height:1.5;color:var(--sm-muted);max-width:36ch}
body.sm-site .sm-metric__also,body.sm-site .sm-metric__also p{font-size:.95rem;color:var(--sm-ink);line-height:1.5}
body.sm-site .sm-metric__also strong{font-family:var(--sm-display);font-weight:400;font-size:1.6rem;color:var(--sm-berry);margin-right:6px;vertical-align:-.08em}
body.sm-site .sm-services-line,body.sm-site .sm-services-line p{font-size:.88rem;color:var(--sm-muted);letter-spacing:.01em}
body.sm-site .sm-tiles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(56px,7vw,112px)}
body.sm-site .sm-tile{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit}
body.sm-site .sm-tile__media{position:relative;border-radius:var(--sm-radius-lg);overflow:hidden;aspect-ratio:5/4;background:var(--sm-gray)}
body.sm-site .sm-tile__media img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1s var(--sm-ease)}
body.sm-site .sm-tile__media--contain img{object-fit:contain;padding:7%}
body.sm-site .sm-tile__media--white{background:#fff;box-shadow:inset 0 0 0 1px var(--sm-line)}
body.sm-site .sm-tile__media--print img{object-fit:contain;padding:7% 10%;filter:drop-shadow(0 24px 30px rgba(18,18,18,.22))}
body.sm-site .sm-pos-low img{object-position:50% 88%}
body.sm-site .sm-tile__media--blush{background:var(--sm-blush)}
body.sm-site .sm-tile__title,body.sm-site .sm-tile__title .elementor-heading-title{font-weight:600;font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.25;letter-spacing:-.01em;text-wrap:balance}
body.sm-site .sm-tile__result,body.sm-site .sm-tile__result p{color:var(--sm-muted);font-size:1rem;line-height:1.6;max-width:48ch}
body.sm-site .sm-tile .sm-tile__media{margin-bottom:8px}

/* ---------- Proof band ---------- */
body.sm-site .sm-proof{background:var(--sm-gray);border-radius:var(--sm-radius-lg);padding:clamp(32px,5vw,72px)}
body.sm-site .sm-proof__head .sm-title,body.sm-site .sm-proof__head .sm-title .elementor-heading-title,body.sm-site .sm-explain .sm-title,body.sm-site .sm-explain .sm-title .elementor-heading-title{font-size:clamp(2.1rem,3.4vw,3.2rem)}
body.sm-site .sm-proof__head{display:flex;flex-direction:row;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,3.5vw,48px)}
body.sm-site .sm-proof__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #DCD6D3}
body.sm-site .sm-cred{padding:26px 22px 26px 0;border-bottom:1px solid #DCD6D3}
body.sm-site .sm-cred:not(:nth-child(4n+1)){padding-left:22px;border-left:1px solid #DCD6D3}
body.sm-site .sm-cred__mark,body.sm-site .sm-cred__mark .elementor-heading-title{display:block;font-family:var(--sm-display);font-weight:400;font-size:clamp(1.4rem,2vw,1.85rem);line-height:1.05;text-transform:uppercase;letter-spacing:.01em;margin-bottom:8px}
body.sm-site .sm-cred__text,body.sm-site .sm-cred__text p{display:block;font-size:.9rem;line-height:1.5;color:var(--sm-muted)}

/* ---------- Testimonial ---------- */
body.sm-site .sm-quote{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:clamp(24px,5vw,80px);align-items:start}
.sm-quote__mark{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(9rem,15vw,14rem);line-height:.72;color:var(--sm-berry)}
body.sm-site .sm-quote__text,body.sm-site .sm-quote__text p{font-size:clamp(1.2rem,2.1vw,1.85rem);line-height:1.42;font-weight:500;letter-spacing:-.015em;color:var(--sm-ink);text-wrap:pretty}
body.sm-site .sm-quote__by,body.sm-site .sm-quote__by p{margin-top:28px;font-size:1rem;line-height:1.6;color:var(--sm-muted)}
body.sm-site .sm-quote__by strong{color:var(--sm-ink);font-weight:600}

/* ---------- Explanatory + transitional CTA ---------- */
body.sm-site .sm-explain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
body.sm-site .sm-audit{border:2px solid var(--sm-berry);border-radius:44px;padding:clamp(28px,3.4vw,44px) clamp(32px,4.5vw,64px);display:flex;flex-direction:column;gap:14px}
body.sm-site .sm-audit h3,body.sm-site .sm-audit .elementor-heading-title{font-weight:600;font-size:1.3rem;line-height:1.3}

/* ---------- Final CTA with plan (Signal Gradient) ---------- */
body.sm-site .sm-cta{position:relative;background:linear-gradient(100deg,#DE0240 0%,#B00A42 48%,#7A133F 100%);color:#fff;overflow:hidden}
body.sm-site .sm-cta::after{content:"";position:absolute;right:-6vw;bottom:-18vw;width:46vw;height:46vw;background:url("../img/sm-monogram-white.svg") center/contain no-repeat;opacity:.05;pointer-events:none}
body.sm-site .sm-cta .sm-display{font-size:clamp(3.4rem,8.2vw,8.2rem);max-width:10.5em;margin-bottom:clamp(20px,2.4vw,32px)}
body.sm-site .sm-cta .sm-period{color:#fff}
body.sm-site .sm-cta__text,body.sm-site .sm-cta__text p{font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.6;max-width:44ch;color:#fff}
body.sm-site .sm-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-block:clamp(40px,5vw,72px);counter-reset:plan}
body.sm-site .sm-plan__step{display:flex;align-items:center;gap:18px;padding:18px 26px 18px 18px;border:1.5px solid rgba(255,255,255,.45);border-radius:999px;font-weight:600;font-size:1.05rem;line-height:1.3}
body.sm-site .sm-plan__step::before{counter-increment:plan;content:counter(plan);flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--sm-ink);font-family:var(--sm-display);font-size:1.3rem}
body.sm-site .sm-cta__actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}
body.sm-site .sm-cta__actions .elementor-widget{width:auto}
body.sm-site .sm-cta__phone a,body.sm-site .sm-cta__phone p{color:#fff;font-weight:600;text-decoration:none}

/* ---------- Footer ---------- */
.sm-footer{background:var(--sm-black);color:#fff;padding-top:clamp(72px,9vw,128px)}
.sm-footer a{color:#fff;text-decoration:none}
.sm-footer a:hover{color:var(--sm-berry)}
.sm-footer__top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);padding-bottom:clamp(48px,6vw,88px);border-bottom:1px solid var(--sm-line-dark)}
body.sm-site .sm-footer__brand img{height:92px;width:auto;max-width:none;margin-bottom:26px}
.sm-footer__entity{font-size:1.15rem;line-height:1.5;max-width:26ch;margin-bottom:26px}
.sm-footer__contact{display:grid;gap:6px;font-size:.95rem;color:rgba(255,255,255,.75);font-style:normal}
.sm-footer__contact a{color:#fff;font-weight:500}
.sm-footer h2{font-family:var(--sm-display);font-weight:400;font-size:1.35rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:18px;color:#fff}
.sm-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.95rem}
.sm-footer li span{display:block;font-size:.8rem;color:rgba(255,255,255,.55)}
.sm-footer__band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding-block:36px;border-bottom:1px solid var(--sm-line-dark)}
.sm-footer__certs{display:flex;flex-wrap:wrap;gap:10px}
.sm-footer__certs span{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:.8rem;font-weight:500;color:rgba(255,255,255,.85)}
.sm-social{display:flex;gap:10px}
.sm-social a{display:inline-flex;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);align-items:center;justify-content:center;transition:background .25s,border-color .25s}
.sm-social a:hover{background:var(--sm-berry);border-color:var(--sm-berry);color:#fff}
.sm-social svg{width:18px;height:18px;fill:currentColor}
.sm-footer__word{font-family:var(--sm-display);font-size:clamp(3rem,10.9vw,10.4rem);line-height:.8;text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);padding-top:clamp(32px,4vw,56px);overflow:hidden;user-select:none}
.sm-footer__word .sm-dot{background:var(--sm-berry);-webkit-text-stroke:0}
.sm-footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:24px 32px;font-size:.85rem;color:rgba(255,255,255,.6)}
.sm-footer__bottom nav{display:flex;gap:20px;flex-wrap:wrap}

/* ---------- Inner page hero ---------- */
body.sm-site .sm-page-hero{background:#fff;color:var(--sm-ink);padding-block:clamp(72px,9vw,140px) clamp(64px,7vw,104px);position:relative;overflow:hidden}
.sm-page-hero::before{content:"";position:absolute;right:-15%;top:-40%;width:70vw;height:70vw;max-width:1000px;max-height:1000px;background:radial-gradient(closest-side,rgba(242,221,214,.95),rgba(242,221,214,.4) 50%,transparent 74%);pointer-events:none}
.sm-page-hero>*{position:relative}
.sm-page-hero--light{background:#fff;color:var(--sm-ink)}
.sm-page-hero--light::before{display:none}

/* ---------- Work grid ---------- */
.sm-filters{position:sticky;top:calc(var(--sm-header-h) + var(--sm-admin));z-index:20;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--sm-line);transition:top .35s var(--sm-ease)}
.sm-filters__row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-block:11px;-webkit-mask:linear-gradient(90deg,#000 92%,transparent);mask:linear-gradient(90deg,#000 92%,transparent)}
.sm-filters__row::-webkit-scrollbar{display:none}
.sm-filters__row+.sm-filters__row{border-top:1px solid var(--sm-line)}
.sm-filters__label{flex:none;font-weight:600;font-size:.82rem;color:var(--sm-muted);min-width:118px}
.sm-chip{flex:none;white-space:nowrap;height:36px;padding:0 15px;border-radius:999px;border:1.5px solid var(--sm-line);background:#fff;color:var(--sm-ink);font:500 .9rem/1 var(--sm-sans);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.sm-chip:hover{border-color:var(--sm-ink)}
.sm-chip[aria-pressed="true"]{background:var(--sm-ink);border-color:var(--sm-ink);color:#fff}
.sm-workgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);padding-block:clamp(40px,5vw,72px)}
.sm-workgrid__meta{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;font-size:.92rem;color:var(--sm-muted)}
.sm-workgrid__meta button{background:none;border:0;color:var(--sm-berry);font:600 .92rem var(--sm-sans);cursor:pointer;padding:0}
.sm-wcard{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;min-width:0}
.sm-wcard[hidden]{display:none}
.sm-wcard__media{position:relative;border-radius:var(--sm-radius);overflow:hidden;aspect-ratio:4/3;background:var(--sm-gray)}
body.sm-site .sm-wcard__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .9s var(--sm-ease)}
.sm-wcard:hover .sm-wcard__media img{transform:scale(1.04)}
.sm-wcard__ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,2.4vw,30px)}
.sm-wcard__ph b{font-family:var(--sm-display);font-weight:400;font-size:clamp(2.3rem,3.6vw,3.4rem);line-height:.95;text-transform:uppercase;font-variant-numeric:tabular-nums}
.sm-wcard__ph>span{font-size:.92rem;line-height:1.45;max-width:30ch}
.sm-wcard__ph--gov{background:#DFF4F1;color:var(--sm-ink)}
.sm-wcard__ph--gov b{color:var(--sm-berry)}
.sm-wcard__ph--np{background:var(--sm-blush);color:var(--sm-ink)}
.sm-wcard__ph--assoc{background:#FFF1D3;color:var(--sm-ink)}
.sm-wcard__ph--brand{background:var(--sm-berry);color:#fff}
.sm-wcard__client{font-size:.86rem;font-weight:600;color:var(--sm-berry)}
.sm-wcard__title{font-weight:600;font-size:1.2rem;line-height:1.3;letter-spacing:-.01em;text-wrap:balance}
.sm-wcard__metric{font-size:.92rem;color:var(--sm-muted);line-height:1.5}
.sm-wcard__metric b{color:var(--sm-ink);font-weight:600}
.sm-wcard--lead{grid-column:span 2}
.sm-wcard--lead .sm-wcard__media{aspect-ratio:16/9.6}
.sm-wcard--lead .sm-wcard__title{font-size:clamp(1.4rem,2.1vw,1.9rem)}
.sm-empty{grid-column:1/-1;padding:56px 0;text-align:center;color:var(--sm-muted)}

/* ---------- Case study ---------- */
.sm-cs-hero{background:#fff;color:var(--sm-ink);position:relative;overflow:hidden;padding-top:clamp(48px,6vw,96px)}
.sm-cs-hero::before{content:"";position:absolute;left:-20%;bottom:-30%;width:70vw;height:70vw;max-width:1100px;max-height:1100px;background:radial-gradient(closest-side,rgba(242,221,214,.95),rgba(242,221,214,.35) 50%,transparent 74%);pointer-events:none}
.sm-cs-hero>*{position:relative}
.sm-back{display:inline-flex;align-items:center;gap:10px;color:var(--sm-muted);text-decoration:none;font-weight:500;font-size:.95rem;margin-bottom:clamp(28px,3.5vw,48px)}
.sm-back:hover{color:var(--sm-berry)}
.sm-cs-hero__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:end}
.sm-cs-hero h1{font-family:var(--sm-display);font-weight:400;font-size:clamp(3rem,6.4vw,6.6rem);line-height:.98;letter-spacing:.003em;text-wrap:balance}
.sm-cs-hero__summary{font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.55;color:#3D3839;margin-top:26px;max-width:46ch}
.sm-cs-hero__client{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:.95rem;color:var(--sm-muted)}
.sm-cs-hero__client strong{color:var(--sm-ink);font-weight:600}
.sm-cs-hero__metric{border-left:2px solid var(--sm-berry);padding-left:clamp(20px,2.4vw,32px)}
.sm-cs-hero__metric b{display:block;font-family:var(--sm-display);font-weight:400;font-size:clamp(3.6rem,6.6vw,6.4rem);line-height:.92;color:var(--sm-berry);white-space:nowrap}
.sm-cs-hero__metric>span{display:block;margin-top:12px;color:var(--sm-muted);font-size:1rem;line-height:1.5;max-width:28ch}
.sm-cs-hero__media{margin-top:clamp(48px,6vw,88px);margin-left:var(--sm-gutter);border-radius:999px 0 0 999px;overflow:hidden;height:clamp(300px,42vw,620px);position:relative}
body.sm-site .sm-cs-hero__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
@media (min-width:1432px){.sm-cs-hero__media{margin-left:calc((100vw - var(--sm-wrap))/2)}}
.sm-cs-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);gap:clamp(32px,6vw,112px);padding-block:clamp(72px,9vw,140px);align-items:start}
.sm-snapshot{position:sticky;top:calc(var(--sm-header-h) + var(--sm-admin) + 32px);border-radius:var(--sm-radius);background:var(--sm-gray);padding:28px 26px}
.sm-snapshot h2{font-family:var(--sm-display);font-weight:400;font-size:1.5rem;text-transform:uppercase;margin-bottom:8px}
.sm-snapshot dl{margin:0}
.sm-snapshot dt{font-size:.8rem;font-weight:600;color:var(--sm-berry);margin-top:18px}
.sm-snapshot dd{margin:4px 0 0;font-size:.95rem;line-height:1.55}
.sm-snapshot .sm-btn-a{margin-top:26px;width:100%;justify-content:center}
.sm-cs-section+.sm-cs-section{margin-top:clamp(56px,7vw,104px)}
.sm-cs-section>h2{font-family:var(--sm-display);font-weight:400;font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:.95;text-transform:uppercase;margin-bottom:clamp(20px,2.5vw,32px)}
.sm-cs-section p{font-size:1.12rem;line-height:1.75;color:#2B2829;max-width:68ch}
.sm-cs-section p.sm-cs-big{font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.5;color:var(--sm-ink);letter-spacing:-.01em}
.sm-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.sm-gallery figure{margin:0}
.sm-gallery figure:first-child{grid-column:1/-1}
.sm-gallery img{width:100%;border-radius:var(--sm-radius);background:var(--sm-gray)}
.sm-gallery figcaption{font-size:.88rem;color:var(--sm-muted);margin-top:10px;line-height:1.5}
.sm-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.sm-result{background:var(--sm-blush);border-radius:var(--sm-radius);padding:28px 26px 26px;display:flex;flex-direction:column;gap:10px}
.sm-result b{font-family:var(--sm-display);font-weight:400;font-size:clamp(2.6rem,4vw,3.6rem);line-height:.95;color:var(--sm-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.sm-result>span{font-size:.95rem;line-height:1.5;color:#3A3536}
.sm-result:first-child{background:var(--sm-berry);color:#fff}
.sm-result:first-child b,.sm-result:first-child>span{color:#fff}
.sm-award{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:12px 20px 12px 14px;border-radius:999px;border:1.5px solid var(--sm-ink);font-weight:600;font-size:.95rem}
.sm-award::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--sm-berry);box-shadow:inset 0 0 0 5px #fff,0 0 0 1.5px var(--sm-berry)}
.sm-cs-quote{border-left:3px solid var(--sm-berry);padding-left:clamp(20px,3vw,40px)}
.sm-cs-quote p{font-size:clamp(1.3rem,2.1vw,1.8rem)!important;line-height:1.45!important;font-weight:500;color:var(--sm-ink)!important}
.sm-cs-quote cite{display:block;font-style:normal;margin-top:16px;color:var(--sm-muted)}
.sm-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:center;text-decoration:none;color:inherit;border-top:1px solid var(--sm-line);padding-block:clamp(48px,6vw,88px)}
.sm-next small{display:block;font-weight:600;color:var(--sm-berry);margin-bottom:8px}
.sm-next b{display:block;font-family:var(--sm-display);font-weight:400;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;text-wrap:balance}
.sm-next__media{border-radius:999px 0 0 999px;overflow:hidden;aspect-ratio:21/9;background:var(--sm-gray)}
.sm-next__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--sm-ease)}
.sm-next:hover .sm-next__media img{transform:scale(1.05)}

/* ---------- Simple content pages ---------- */
.sm-prose{max-width:72ch}
.sm-prose h2{font-family:var(--sm-display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,3.4vw,3rem);line-height:1;margin:1.4em 0 .5em}
.sm-prose h3{font-weight:600;font-size:1.25rem;margin:1.4em 0 .4em}
.sm-list-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sm-list-card{border:1px solid var(--sm-line);border-radius:var(--sm-radius);padding:28px 26px;scroll-margin-top:140px;display:flex;flex-direction:column;gap:10px;transition:border-color .25s}
.sm-list-card:target{border-color:var(--sm-berry);box-shadow:0 0 0 3px rgba(222,2,64,.15)}
.sm-list-card h3{font-weight:600;font-size:1.15rem;line-height:1.3;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sm-list-card p{color:var(--sm-muted);font-size:.98rem;line-height:1.6}
.sm-note{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:var(--sm-blush);color:var(--sm-ink);font-size:.9rem;font-weight:500;margin-top:28px}
.sm-note::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sm-berry)}
.sm-contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.sm-contact-card{background:var(--sm-gray);border-radius:var(--sm-radius-lg);padding:clamp(28px,4vw,52px);display:grid;gap:26px}
.sm-contact-card h3{font-size:.85rem;font-weight:600;color:var(--sm-berry);margin-bottom:4px}
.sm-contact-card p,.sm-contact-card address{font-style:normal;font-size:1.1rem;line-height:1.55}
.sm-contact-card a{font-weight:600;text-decoration:none;border-bottom:2px solid var(--sm-berry)}

/* ---------- Motion ---------- */
.sm-js .sm-reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s var(--sm-ease),transform .9s var(--sm-ease);transition-delay:var(--sm-delay,0s)}
.sm-js .sm-reveal.is-in{opacity:1;transform:none}
.sm-js .sm-arch.sm-reveal{transform:translate3d(0,80px,0)}
.sm-js .sm-arch.sm-reveal.is-in{transform:none}
.sm-js .sm-hero .sm-reveal{transition-duration:1.1s}
@media (prefers-reduced-motion:reduce){
  .sm-js .sm-reveal{opacity:1;transform:none;transition:none}
  body.sm-site *{transition-duration:.01ms!important}
}
/* Elementor editor: never hide content while editing */
.elementor-editor-active .sm-reveal{opacity:1!important;transform:none!important}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .sm-nav__link{padding:0 10px}
  .sm-header__phone{display:none}
  .sm-panel__inner{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
  .sm-panel__feature{display:none}
  body.sm-site .sm-serve__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.sm-site .sm-proof__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.sm-site .sm-cred:not(:nth-child(4n+1)){padding-left:0;border-left:0}
  body.sm-site .sm-cred:nth-child(2n){padding-left:22px!important;border-left:1px solid #DCD6D3!important}
  .sm-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  :root{--sm-header-h:72px}
  .sm-nav,.sm-panel{display:none}
  .sm-menu-toggle{display:inline-flex}
  .sm-header__actions{margin-left:auto}
  body.sm-site .sm-header__logo img{height:46px}
  .sm-header.is-scrolled{--sm-header-h:64px;margin-bottom:8px}
  html.sm-scrolled .sm-filters{top:calc(64px + var(--sm-admin))}
  body.sm-site .sm-hero{min-height:0;padding-top:40px;padding-bottom:0;display:flex;flex-direction:column}
  body.sm-site .sm-hero__content{order:1}
  .sm-header__cta{height:42px!important;padding:0 18px!important;font-size:.9rem!important}
  body.sm-site .sm-hero__title,body.sm-site .sm-hero__title .elementor-heading-title{font-size:clamp(2.6rem,9.6vw,4.6rem);max-width:none}
  body.sm-site .sm-split,body.sm-site .sm-grid-2,body.sm-site .sm-work-head,body.sm-site .sm-arches__head,body.sm-site .sm-explain,body.sm-site .sm-method,body.sm-site .sm-quote,.sm-contact-grid{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-outcome{grid-template-columns:52px minmax(0,1fr)}
  body.sm-site .sm-outcome__text{grid-column:2}
  body.sm-site .sm-arches{grid-template-columns:minmax(0,1fr);gap:16px}
  body.sm-site .sm-arch,body.sm-site .sm-arch:nth-child(n){min-height:0;padding-top:clamp(140px,40vw,260px)}
  body.sm-site .sm-feature{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-tiles{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-plan{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-method__ai{border-left:0;padding-left:0;border-top:2px solid var(--sm-berry);padding-top:24px}
  .sm-quote__mark{font-size:7rem;height:.5em}
  .sm-workgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm-cs-hero__grid,.sm-cs-body,.sm-next{grid-template-columns:minmax(0,1fr)}
  .sm-snapshot{position:static}
  .sm-list-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm-footer__band{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  body.sm-site{font-size:16px}
  body.sm-site .sm-header__logo img{height:42px}
  .sm-menu-toggle__label{display:none}
  .sm-menu-toggle{padding:0 14px}
  body.sm-site .sm-serve__grid{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-proof__grid{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-cred:nth-child(n){padding-left:0!important;border-left:0!important}
  body.sm-site .sm-hero__actions .elementor-widget,body.sm-site .sm-hero__actions .elementor-button{width:100%;justify-content:center}
  .sm-workgrid{grid-template-columns:minmax(0,1fr)}
  .sm-wcard--lead{grid-column:auto}
  .sm-gallery{grid-template-columns:minmax(0,1fr)}
  .sm-list-cards{grid-template-columns:minmax(0,1fr)}
  .sm-footer__top{grid-template-columns:minmax(0,1fr)}
  .sm-filters__label{min-width:0}
  body.sm-site .sm-audit{border-radius:28px}
}

/* "→" in metrics: Anton has no arrow, so draw it in Poppins */
.sm-to{font-family:var(--sm-sans);font-weight:300;font-size:.62em;display:inline-block;vertical-align:.22em;margin-inline:.08em;letter-spacing:0}

.sm-nw{white-space:nowrap}

/* ==========================================================================
   Bright hero: a real portrait that dissolves into line art
   ========================================================================== */
body.sm-site .sm-hero{min-height:min(calc(100vh - var(--sm-header-h) - var(--sm-admin)),900px)}
body.sm-site .sm-hero__art-wrap{position:absolute;inset:0;z-index:1;pointer-events:none}
body.sm-site .sm-hero__art-wrap .elementor-widget-container,body.sm-site .sm-hero__art-wrap .elementor-shortcode,body.sm-site .sm-hero__art-wrap .elementor-widget{position:static}
.sm-hero__art{position:absolute;right:max(0px,calc((100% - var(--sm-wrap))/2 - 40px));bottom:0;top:clamp(8px,2vw,24px);width:min(48vw,740px);display:flex;align-items:flex-end;justify-content:flex-end}
.sm-por{display:block;height:100%;width:100%;overflow:visible}
.sm-por__disc{fill:#02AB96;transform-box:fill-box;transform-origin:center;animation:smPop 1.1s cubic-bezier(.2,1.25,.4,1) both}
.sm-por__orbit{fill:none;stroke:#1A1A1A;stroke-opacity:.14;stroke-width:2}
.sm-por__dots{transform-box:fill-box;transform-origin:center}
.sm-por__lines path{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:smDraw 1.6s cubic-bezier(.3,.6,.2,1) forwards;animation-delay:var(--d,0s)}
.sm-por__lines--in path{stroke:#fff}
.sm-por__lines--out path{stroke:#1A1A1A}
.sm-por__photo{opacity:0;animation:smRise 1.4s cubic-bezier(.2,.7,.2,1) .6s forwards}
/* Hero disc tones from the brand palette: Slate Teal (default), Amber Gold, Deep Navy */
.sm-por--gold .sm-por__disc{fill:#FCB613}
.sm-por--navy .sm-por__disc{fill:#1A1E3B}
.sm-por--gold .sm-por__lines--in path{stroke:#1A1A1A}
.sm-thread{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;pointer-events:none}
.sm-thread path{fill:none;stroke:var(--sm-berry);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.sm-thread.is-drawn path{animation:smDraw 2s cubic-bezier(.45,.1,.2,1) .4s forwards}
@keyframes smDraw{to{stroke-dashoffset:0}}
@keyframes smPop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes smRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
body.sm-site .sm-hero__content{z-index:3}
body.sm-site .sm-hero__content .elementor-widget{position:relative}
.elementor-editor-active .sm-por__lines path,.elementor-editor-active .sm-thread path{stroke-dashoffset:0;animation:none}
.elementor-editor-active .sm-por__photo{opacity:1;animation:none}
@media (prefers-reduced-motion:reduce){
  .sm-por__lines path,.sm-thread path{stroke-dashoffset:0!important;animation:none!important}
  .sm-por__photo,.sm-por__disc{opacity:1!important;animation:none!important}
}
@media (max-width:1180px){.sm-hero__art{width:min(46vw,600px)}}
@media (max-width:960px){
  body.sm-site .sm-hero{padding-bottom:0}
  body.sm-site .sm-hero__art-wrap{position:relative;inset:auto;height:clamp(380px,92vw,620px);margin-top:28px;order:2}
  .sm-hero__art{right:auto;left:50%;transform:translateX(-50%);top:0;width:min(100%,560px)}
  .sm-thread{display:none}
}

/* ==========================================================================
   Process: Discover. Design. Deliver. drawn in line art, joined by one thread
   ========================================================================== */
body.sm-site .sm-process{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(40px,5vw,72px)}
.sm-process__line-wrap{position:absolute!important;left:0;right:0;top:0;height:clamp(150px,13vw,190px);pointer-events:none;z-index:0}
.sm-process__line{display:block;width:100%;height:100%;overflow:visible}
.sm-process__line path{fill:none;stroke:var(--sm-berry);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s cubic-bezier(.45,.1,.2,1)}
.sm-process.is-in .sm-process__line path,.sm-process-wrap.is-in .sm-process__line path{stroke-dashoffset:0}
body.sm-site .sm-step{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px}
.sm-step__icon{width:clamp(150px,13vw,190px);height:clamp(150px,13vw,190px);border-radius:50%;background:var(--sm-blush);display:flex;align-items:center;justify-content:center;margin-bottom:10px;position:relative}
.sm-step:nth-child(3) .sm-step__icon{background:#DFF4F1}
.sm-step:nth-child(4) .sm-step__icon{background:#FFF1D3}
.sm-step__icon svg{width:62%;height:62%;overflow:visible}
.sm-step__icon svg path,.sm-step__icon svg circle{fill:none;stroke:#1A1A1A;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sm-step__icon svg .b{stroke:var(--sm-berry)}
.sm-step__icon::after{content:"";position:absolute;right:8%;top:8%;width:14px;height:14px;border-radius:50%;background:var(--sm-berry)}
.sm-step:nth-child(3) .sm-step__icon::after{background:#02AB96}
.sm-step:nth-child(4) .sm-step__icon::after{background:#FCB613}
body.sm-site .sm-step__num,body.sm-site .sm-step__num p{font-family:var(--sm-display);font-size:1.05rem;letter-spacing:.06em;color:var(--sm-berry)}
body.sm-site .sm-step__word,body.sm-site .sm-step__word .elementor-heading-title{font-family:var(--sm-display);font-size:clamp(2.6rem,4.4vw,4.2rem);line-height:.92;text-transform:uppercase}
body.sm-site .sm-step__title,body.sm-site .sm-step__title .elementor-heading-title{font-weight:600;font-size:1.15rem;line-height:1.35}
body.sm-site .sm-step__text,body.sm-site .sm-step__text p{color:var(--sm-muted);font-size:1rem;line-height:1.65}
@media (max-width:960px){body.sm-site .sm-process{grid-template-columns:minmax(0,1fr)}.sm-process__line-wrap{display:none}}

/* Image widgets inside fixed-ratio media frames fill the frame (Elementor makes the widget the containing block) */
body.sm-site .sm-feature__media>.elementor-widget,body.sm-site .sm-tile__media>.elementor-widget,body.sm-site .sm-feature__media>.elementor-widget>.elementor-widget-container,body.sm-site .sm-tile__media>.elementor-widget>.elementor-widget-container{position:absolute;inset:0;width:100%;height:100%;margin:0}
/* Two white sections in a row: don't double the gap */
body.sm-site .sm-section.sm-how{padding-bottom:clamp(40px,5vw,72px)}

/* Fun, light touches */
.sm-por__spark path{fill:none;stroke:#1A1A1A;stroke-width:5;stroke-linecap:round}

body.sm-site .sm-hero__title,body.sm-site .sm-hero__title .elementor-heading-title{max-width:8.9em}
@media (max-width:960px){body.sm-site .sm-hero__title,body.sm-site .sm-hero__title .elementor-heading-title{max-width:none}}

/* ==========================================================================
   v1.2: collage, audit card, expertise pages and polish
   ========================================================================== */
body.sm-site .sm-pos-right img{object-position:100% 50%}

/* Who we serve cards: "Learn more" sits on the same line in every card */
body.sm-site .sm-card>.sm-card__foot{margin-top:auto;width:100%}
body.sm-site .sm-card__foot .sm-card__more{padding-top:0}

/* People in shapes, gapless, a little busy on purpose */
body.sm-site .sm-collage-wrap{position:relative;padding-block:clamp(8px,2vw,24px) 0}
.sm-collage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr) minmax(0,1fr) minmax(0,1.75fr);grid-template-rows:repeat(3,clamp(110px,13vw,184px));gap:0}
.sm-collage__cell{position:relative;overflow:hidden;margin:0;min-width:0}
.sm-collage__cell img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 8%}
.sm-collage__a{grid-column:1;grid-row:1/3;background:var(--sm-blush);border-top-left-radius:clamp(56px,8vw,130px)}
.sm-collage__b{grid-column:1;grid-row:3;background:var(--sm-berry);border-radius:50%;display:grid;place-items:center;aspect-ratio:1;height:100%;justify-self:center}
.sm-collage__ring{width:36%;aspect-ratio:1;border:2px solid #fff;border-radius:50%;display:grid;place-items:center}
.sm-collage__ring::after{content:"";width:22%;aspect-ratio:1;border-radius:50%;background:#fff}
.sm-collage__c{grid-column:2;grid-row:1/4;background:#DFF4F1;border-radius:clamp(56px,8vw,130px) clamp(56px,8vw,130px) clamp(56px,8vw,130px) 0}
.sm-collage__c img{object-position:50% 0}
.sm-collage__q{grid-column:2;grid-row:3;justify-self:start;height:100%;aspect-ratio:1;background:#02AB96;border-top-right-radius:100%;z-index:2;display:grid;place-items:center}
.sm-collage__q svg{width:34%;height:34%;transform:translate(-14%,14%);fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sm-collage__d{grid-column:3;grid-row:1;background:#FCB613;border-radius:50% 50% 0 50%;display:grid;place-items:center}
.sm-collage__dot{width:22px;height:22px;border-radius:50%;background:var(--sm-berry)}
.sm-collage__e{grid-column:3;grid-row:2/4;background:var(--sm-blush);border-radius:999px;display:grid;place-items:center}
.sm-collage__e svg{width:60%;height:78%;overflow:visible;fill:none;stroke:var(--sm-berry);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sm-collage__e svg path{vector-effect:non-scaling-stroke}
.sm-collage__f{grid-column:4;grid-row:1/4;background:#FFF1D3;border-radius:0 clamp(56px,8vw,130px) clamp(56px,8vw,130px) clamp(56px,8vw,130px)}
.sm-collage__cell.sm-reveal{transform:scale(.94)}
.sm-collage__cell.sm-reveal.is-in{transform:none}
@media (max-width:760px){
  .sm-collage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(5,110px)}
  .sm-collage__a{grid-column:1;grid-row:1/3}
  .sm-collage__c{grid-column:2;grid-row:1/3}
  .sm-collage__b{grid-column:1;grid-row:3}
  .sm-collage__d{grid-column:2;grid-row:3}
  .sm-collage__q,.sm-collage__e{display:none}
  .sm-collage__f{grid-column:1/3;grid-row:4/6}
}

/* The SOUL Method block: copy beside a photo */
body.sm-site .sm-method__media{position:relative;min-height:280px;border-radius:calc(var(--sm-radius-lg) - 8px);overflow:hidden;background:#fff}
body.sm-site .sm-method__media>.elementor-widget,body.sm-site .sm-method__media>.elementor-widget>.elementor-widget-container{position:absolute;inset:0;width:100%;height:100%;margin:0}
body.sm-site .sm-method__media img{width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:50% 50%}
@media (max-width:960px){body.sm-site .sm-method__media{min-height:0;aspect-ratio:4/3}}

/* How we work: centered icon and headings on mobile, body copy stays left */
@media (max-width:960px){
  body.sm-site .sm-step{align-items:center;text-align:center}
  body.sm-site .sm-step>.elementor-widget{width:auto}
  body.sm-site .sm-step>.sm-step__text{align-self:stretch;text-align:left}
}

/* Closing call to action */
body.sm-site .sm-cta .sm-cta__title,body.sm-site .sm-cta .sm-cta__title .elementor-heading-title{font-size:clamp(2.8rem,6.2vw,6.4rem);line-height:.98;max-width:11em;color:#fff;margin-bottom:clamp(18px,2.2vw,28px)}
body.sm-site .sm-cta.sm-section--tight .sm-cta__title,body.sm-site .sm-cta.sm-section--tight .sm-cta__title .elementor-heading-title{font-size:clamp(2.4rem,4.6vw,4.6rem)}

/* Not ready to talk yet? */
body.sm-site .sm-audit2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:center;background:var(--sm-blush);border-radius:var(--sm-radius-lg);padding:clamp(28px,4.5vw,64px);position:relative;overflow:hidden}
body.sm-site .sm-audit2__copy{gap:16px}
body.sm-site .sm-audit2__title,body.sm-site .sm-audit2__title .elementor-heading-title{font-family:var(--sm-display);font-weight:400;font-size:clamp(2.1rem,3.4vw,3.2rem);line-height:1}
.sm-audit2__viz{position:relative;background:#fff;border-radius:28px;padding:clamp(22px,2.8vw,36px);display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 60px -28px rgba(122,19,63,.35)}
.sm-audit2__name{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.98rem;margin-bottom:4px}
.sm-audit2__name::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sm-berry)}
.sm-meter{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:14px;font-size:.92rem;font-weight:500;color:var(--sm-ink)}
.sm-meter i{position:relative;height:12px;border-radius:999px;background:#F3ECE9;overflow:hidden}
.sm-meter i::after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--v) * 100%);border-radius:inherit;background:var(--sm-berry);transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.3,.7,.2,1) .25s}
.sm-meter:nth-of-type(2) i::after{background:#02AB96;transition-delay:.4s}
.sm-meter:nth-of-type(3) i::after{background:#FCB613;transition-delay:.55s}
.sm-audit2.is-in .sm-meter i::after,.sm-audit2:not(.sm-reveal) .sm-meter i::after{transform:none}
.sm-audit2__spark{position:absolute;right:-14px;top:-14px;width:44px;height:44px;border-radius:50% 50% 50% 0;background:#02AB96}
@media (max-width:960px){body.sm-site .sm-audit2{grid-template-columns:minmax(0,1fr)}}

/* Thread: a small Berry dot marks where it lands */
.sm-thread__end{fill:var(--sm-berry);opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(0)}
.sm-thread.is-drawn .sm-thread__end{animation:smEnd .55s cubic-bezier(.2,1.5,.4,1) 2.35s forwards}
@keyframes smEnd{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sm-thread__end{opacity:1!important;transform:none!important;animation:none!important}}

/* Expertise pages */
body.sm-site .sm-hero--inner{min-height:min(calc(100vh - var(--sm-header-h) - var(--sm-admin)),600px)}
body.sm-site .sm-hero--inner .sm-hero__title,body.sm-site .sm-hero--inner .sm-hero__title .elementor-heading-title{font-size:clamp(2.8rem,5.2vw,5.6rem);max-width:9.4em}
body.sm-site .sm-hero--inner .sm-back{margin-bottom:22px}
body.sm-site .sm-split--top{align-items:start}
body.sm-site .sm-subhead,body.sm-site .sm-subhead .elementor-heading-title{font-weight:600;font-size:1.15rem;line-height:1.3}
.sm-checks{list-style:none;margin:0;padding:0;border-top:1px solid var(--sm-line)}
.sm-checks li{display:flex;gap:14px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--sm-line);font-weight:500;font-size:1.04rem;line-height:1.45}
.sm-checks li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--sm-berry);transform:translateY(-2px)}
.sm-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
@media (max-width:860px){.sm-related{grid-template-columns:minmax(0,1fr)}}
body.sm-site .sm-start{background:linear-gradient(180deg,#FBF4F1 0%,#fff 100%)}
body.sm-site .sm-card--svc{min-height:220px}
body.sm-site .sm-vsam{background:var(--sm-blush);border-radius:var(--sm-radius-lg);padding:clamp(32px,5vw,72px)}
.sm-list-card--link{text-decoration:none;color:inherit;transition:border-color .25s,transform .3s var(--sm-ease),box-shadow .3s}
.sm-list-card--link:hover{border-color:var(--sm-berry);transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(18,18,18,.25)}
.sm-list-card--link .sm-card__more{margin-top:auto;padding-top:8px}
.sm-list-card--link:hover .sm-card__more i{background:var(--sm-berry);color:#fff}
.sm-list-card .sm-tag{background:var(--sm-blush);color:var(--sm-ink)}
.sm-list-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.sm-list-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sm-list-cards--4{grid-template-columns:minmax(0,1fr)}}
.sm-wcard__ph--edu{background:#FFF1D3;color:var(--sm-ink)}
body.sm-site .sm-section.sm-help{padding-bottom:clamp(56px,6vw,104px)}
body.sm-site .sm-cred__logo img{width:auto!important;height:56px;max-width:140px;object-fit:contain;margin-bottom:14px}
body.sm-site .sm-collage__cell img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 8%}
body.sm-site .sm-collage__c img{object-position:50% 0}

/* ==========================================================================
   v1.3: photo-only collage, laptop mockup, compact CTA with SM pattern
   ========================================================================== */
.sm-collage__d{background:#FFF1D3}
.sm-collage__e{background:#DFF4F1}
.sm-collage__b{background:var(--sm-berry)}
.sm-collage__q{background:#02AB96}
.sm-collage__todo{display:grid;place-items:center;padding:12%}
.sm-collage__a.sm-collage__todo{background:var(--sm-blush)}
.sm-collage__f.sm-collage__todo{background:#FFF1D3}
.sm-collage__note{font-size:.82rem;line-height:1.4;font-weight:500;color:rgba(26,26,26,.55);text-align:center;max-width:16ch}
@media (max-width:760px){.sm-collage__e{display:block;grid-column:1/3;grid-row:6/7}.sm-collage{grid-template-rows:repeat(6,110px)}}

/* Laptop mockup: the page scrolls inside the screen on hover */
body.sm-site .sm-tile__media--device{display:grid;place-items:center;padding:8% 7% 9%}
body.sm-site .sm-tile__media--device>.elementor-widget{width:100%}
.sm-laptop{width:100%;max-width:560px;margin-inline:auto;filter:drop-shadow(0 26px 30px rgba(122,19,63,.22))}
.sm-laptop__lid{background:#1A1A1A;border-radius:14px 14px 4px 4px;padding:3.2% 3.2% 4%}
.sm-laptop__screen{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;background:#fff}
body.sm-site .sm-laptop__screen img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:50% 0;transition:object-position 6s cubic-bezier(.45,.05,.55,.95)}
body.sm-site .sm-tile:hover .sm-laptop__screen img{object-position:50% 100%}
.sm-laptop__base{position:relative;height:0;padding-bottom:3.6%;margin:0 -6%;background:linear-gradient(#D9D3D0,#B9B2AE);border-radius:2px 2px 14px 14px}
.sm-laptop__base::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:16%;height:38%;background:#A8A09C;border-radius:0 0 8px 8px}

/* Closing call to action: compact, steps on the right, SM pattern at bottom left */
body.sm-site .sm-cta{padding-block:clamp(64px,7vw,104px)}
body.sm-site .sm-cta::after{content:"";left:0;right:auto;bottom:0;width:min(62vw,880px);height:auto;aspect-ratio:1477/749;background:url("../img/sm-pattern.svg") left bottom/contain no-repeat;opacity:.08;transform:translateX(-5%)}
body.sm-site .sm-cta__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
body.sm-site .sm-cta__main{gap:0}
body.sm-site .sm-cta .sm-cta__title,body.sm-site .sm-cta .sm-cta__title .elementor-heading-title,body.sm-site .sm-cta.sm-section--tight .sm-cta__title,body.sm-site .sm-cta.sm-section--tight .sm-cta__title .elementor-heading-title{font-size:clamp(2.4rem,4.4vw,4.4rem);max-width:12em;margin-bottom:16px}
body.sm-site .sm-cta__actions{margin-top:28px}
body.sm-site .sm-cta .sm-plan{display:flex;flex-direction:column;gap:14px;margin:0}
body.sm-site .sm-cta .sm-plan__step{width:100%}
@media (max-width:960px){body.sm-site .sm-cta__grid{grid-template-columns:minmax(0,1fr)}body.sm-site .sm-cta::after{width:120vw}}
.sm-laptop{width:88%}
body.sm-site .sm-tile__media--device{padding:6% 6% 7%}
body.sm-site .sm-cta::after{width:min(46vw,640px);opacity:.06;transform:none}
@media (max-width:960px){body.sm-site .sm-cta::after{width:110vw}}
body.sm-site .sm-tile__media--device>.elementor-widget{display:flex;align-items:center;justify-content:center;padding:7% 6% 8%}
body.sm-site .sm-cta::after{-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent 98%);mask-image:linear-gradient(90deg,#000 55%,transparent 98%)}
/* Who we serve: keep "Nonprofits, associations" together on one line */
body.sm-site .sm-serve .sm-card{padding-left:24px;padding-right:24px}
body.sm-site .sm-serve .sm-card__title,body.sm-site .sm-serve .sm-card__title .elementor-heading-title{font-size:clamp(1.08rem,1.42vw,1.25rem)}
/* Footer band without the certification chips */
.sm-footer__band{grid-template-columns:auto;justify-content:end}
/* Design step icon: clean vector pen */
.sm-step__icon svg .w{fill:#fff}
.sm-step__icon svg g path,.sm-step__icon svg g circle{vector-effect:non-scaling-stroke}

/* One spacing rhythm: every section gets the same gap, and two plain white sections in a row share it */
:root{--sm-gap:clamp(56px,6.4vw,100px)}
body.sm-site main .sm-section:not(.sm-hero):not(.sm-cta){padding-top:var(--sm-gap);padding-bottom:var(--sm-gap)}
body.sm-site main .sm-section:not(.sm-hero):not(.sm-cta):not(.sm-start)+.sm-section:not(.sm-hero):not(.sm-cta):not(.sm-start){padding-top:0}
body.sm-site main .sm-serve+.sm-section{padding-top:calc(var(--sm-gap) * .7)}
body.sm-site main .sm-serve{padding-bottom:clamp(40px,4vw,64px)}
body.sm-site .sm-collage-wrap{padding-top:0}
body.sm-site main .sm-collage-wrap+.sm-section{padding-top:var(--sm-gap)}
body.sm-site .sm-arches__head,body.sm-site .sm-work-head{margin-bottom:clamp(36px,4.4vw,64px)}
/* Outcomes without numbers: title and text side by side */
body.sm-site .sm-outcome{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
@media (max-width:960px){body.sm-site .sm-outcome{grid-template-columns:minmax(0,1fr);gap:10px}}
/* Collage crops: one person on the narrow left, the whole moment on the right */
body.sm-site .sm-collage__a img{object-position:28% 30%}
body.sm-site .sm-collage__f img{object-position:52% 30%}
/* Meet Virtual SAM: copy beside Sam */
body.sm-site .sm-vsam{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;position:relative;overflow:hidden;padding-block:clamp(32px,4vw,56px) 0}
body.sm-site .sm-vsam__copy{padding-bottom:clamp(32px,5vw,72px)}
body.sm-site .sm-vsam__media{align-self:end;display:flex;justify-content:center}
body.sm-site .sm-vsam__sam{display:block;width:auto;max-width:100%;height:clamp(300px,34vw,460px);object-fit:contain;filter:drop-shadow(0 24px 30px rgba(122,19,63,.25))}
@media (max-width:860px){body.sm-site .sm-vsam{grid-template-columns:minmax(0,1fr)}body.sm-site .sm-vsam__copy{padding-bottom:0}body.sm-site .sm-vsam__sam{height:300px}}
/* Credentials: the last cell points public agencies to procurement details */
body.sm-site .sm-cred--link{text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:space-between;gap:14px;transition:background .25s}
body.sm-site .sm-cred--link .sm-cred__mark,body.sm-site .sm-cred--link .sm-cred__mark .elementor-heading-title{color:var(--sm-berry)}
body.sm-site .sm-cred--link:hover .sm-link{color:var(--sm-berry)}
body.sm-site .sm-cred--link{justify-content:flex-start;align-items:flex-start}
body.sm-site .sm-cred--link>.elementor-widget{width:auto}
body.sm-site .sm-cred--link .sm-link{font-size:.95rem;white-space:nowrap}
/* Expertise menu feature: print pieces (covers) sit whole on blush instead of being cropped */
.sm-panel__feature--print img{object-fit:contain;padding:8% 18%;background:var(--sm-blush);filter:drop-shadow(0 14px 18px rgba(18,18,18,.18))}
/* Case study header images: favor the upper part of the picture, where logos and faces usually sit */
body.sm-site .sm-cs-hero__media img{object-position:50% 30%}
/* Ready to take the next step: three filled color steps (blush, teal, amber) */
body.sm-site .sm-cta .sm-plan__step{border:0}
body.sm-site .sm-cta .sm-plan__step:nth-child(1){background:#F2DDD6;color:#1A1A1A}
body.sm-site .sm-cta .sm-plan__step:nth-child(2){background:#02AB96;color:#1A1A1A}
body.sm-site .sm-cta .sm-plan__step:nth-child(3){background:#FCB613;color:#1A1A1A}
body.sm-site .sm-cta .sm-plan__step::before{background:#fff;color:#1A1A1A}

/* ---------- v1.4.9 ---------- */
/* Footer: social icons sit under the contact details */
.sm-footer__brand .sm-social{margin-top:24px;flex-wrap:wrap}
/* Text-link CTAs are now capsule buttons; any leftover .sm-link renders like the ink button */
body.sm-site a.sm-link,body.sm-site .sm-link .elementor-heading-title a{display:inline-flex;align-items:center;gap:12px;height:46px;padding:0 22px;border:2px solid var(--sm-ink);border-radius:999px;background:transparent;color:var(--sm-ink);font-weight:600;font-size:.9375rem;line-height:1;text-decoration:none;white-space:nowrap;transition:background .25s var(--sm-ease),color .25s var(--sm-ease)}
body.sm-site a.sm-link:hover,body.sm-site .sm-link a:hover{gap:12px;background:var(--sm-ink);color:#fff}
body.sm-site .sm-tile .sm-btn-a,body.sm-site .sm-feature .sm-btn-a{margin-top:4px}
/* Testimonial: Kyla in an abstract shape under the quote mark */
body.sm-site .sm-quote{grid-template-columns:minmax(0,1.15fr) minmax(0,2.85fr);align-items:center}
body.sm-site .sm-quote__side{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1.4vw,20px)}
body.sm-site .sm-quote__photo,body.sm-site .sm-quote__photo .elementor-widget-container{width:100%;max-width:340px}
body.sm-site .sm-quote__photo img{display:block;width:100%;height:auto}
@media (max-width:960px){
  body.sm-site .sm-quote{grid-template-columns:minmax(0,1fr);align-items:start}
  body.sm-site .sm-quote__side{flex-direction:row-reverse;align-items:flex-end;justify-content:flex-end;gap:14px;width:100%}
  body.sm-site .sm-quote__photo,body.sm-site .sm-quote__photo .elementor-widget-container{max-width:220px}
}
@media (max-width:600px){
  body.sm-site .sm-quote__photo,body.sm-site .sm-quote__photo .elementor-widget-container{max-width:180px}
}
body.sm-site .sm-quote__side .sm-quote__mark{height:.38em;overflow:visible}
@media (max-width:960px){body.sm-site .sm-quote__side .sm-quote__mark{height:.5em}}

/* ---------- v1.5.0 ---------- */
/* "What we do": title and button on the left, intro on the right, both starting at the top */
body.sm-site .sm-work-head{align-items:start;margin-bottom:clamp(32px,3.6vw,52px)}
body.sm-site .sm-work-head__lead,body.sm-site .sm-work-head__lead p{margin:0;padding-top:.1em}
@media (max-width:960px){body.sm-site .sm-work-head__lead,body.sm-site .sm-work-head__lead p{padding-top:0}}
/* Light gray band behind the work and credentials sections */
body.sm-site main .sm-section.sm-band{background:#F3F3F3}
body.sm-site main .sm-section.sm-band:not(.sm-band--after){padding-top:var(--sm-gap)!important}
body.sm-site main .sm-section.sm-band+.sm-section:not(.sm-band){padding-top:var(--sm-gap)!important}
body.sm-site main .sm-section.sm-band--after{padding-top:0!important}
body.sm-site .sm-band .sm-proof{background:#fff}
/* SOUL photo: the office starts as a line drawing and becomes the photo */
body.sm-site .sm-method__media .elementor-shortcode{height:100%}
.sm-sketch{display:block;width:100%;height:100%}
.sm-sketch__paper{fill:#fff}
.sm-sketch__lines path{fill:none;stroke:#1A1A1A;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.sm-js .sm-sketch__lines path{stroke-dasharray:1;stroke-dashoffset:1}
.sm-js .is-in .sm-sketch__lines path{animation:smDraw 1.8s cubic-bezier(.3,.6,.2,1) forwards;animation-delay:calc(var(--d,0s) + .35s)}
.elementor-editor-active .sm-sketch__lines path{stroke-dashoffset:0!important;animation:none!important}
@media (prefers-reduced-motion:reduce){.sm-js .sm-sketch__lines path{stroke-dashoffset:0;animation:none}}
@media (max-width:960px){
  body.sm-site .sm-work-head{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
  body.sm-site .sm-work-head>.sm-stack{display:contents}
  body.sm-site .sm-work-head .sm-work-head__lead{order:1}
  body.sm-site .sm-work-head .elementor-widget-html{order:2}
}

/* ==========================================================================
   Layout precision pass (Oct 2026)
   One column gap and two column ratios across the site, so every right-hand
   column starts on a shared line: 5/7 for text-led pairs, 7/5 for media-led
   pairs and section heads. Plus equal title blocks, top-aligned media and a
   results grid that never leaves an orphan card.
   ========================================================================== */
:root{--sm-col-gap:clamp(32px,6vw,112px)}

@media (min-width:961px){
  /* Text-led pairs: heading left, copy right, on the same line as .sm-split */
  body.sm-site .sm-split,
  body.sm-site .sm-explain,
  body.sm-site .sm-outcome,
  body.sm-site .sm-next{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--sm-col-gap)}

  /* Media-led pairs and section heads: the right column shares one line */
  body.sm-site .sm-feature,
  body.sm-site .sm-work-head,
  body.sm-site .sm-cta__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--sm-col-gap)}

  /* Feature image and story text share a top edge */
  body.sm-site .sm-feature{align-items:start}

  /* "Related work" head: a lone button sits on the right edge of the grid */
  body.sm-site .sm-work-head>.elementor-widget-html{justify-self:end;align-self:end}

  /* How we work: the intro lines up with the third step below it */
  body.sm-site .sm-arches__head{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}
  body.sm-site .sm-arches__head>:first-child{grid-column:span 2}

  /* Testimonial: quote copy starts level with the quote mark */
  body.sm-site .sm-quote>*{align-self:start}
}

/* Card titles reserve two lines, so descriptions and links line up across a row */
@media (min-width:601px){
  body.sm-site .sm-card__title .elementor-heading-title,
  body.sm-site .sm-list-card h3{min-height:2lh}
}

/* Page heroes that reuse the CTA text style get dark text on the white hero */
body.sm-site .sm-page-hero .sm-cta__text,
body.sm-site .sm-page-hero .sm-cta__text p{color:var(--sm-ink-2)}

/* Work filters: a soft fade shows there are more chips to scroll to */
body.sm-site .sm-filters__row{padding-right:56px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}

/* Report covers on work cards: show the whole cover, like the homepage tile */
body.sm-site .sm-wcard__media:has(img[src*="icf-report-cover"]){background:var(--sm-blush)}
body.sm-site .sm-wcard__media img[src*="icf-report-cover"]{object-fit:contain;padding:8% 0;filter:drop-shadow(0 18px 24px rgba(18,18,18,.2))}

/* Results: 4 cards sit 2 x 2, 5 cards sit 3 over 2, never an orphan */
body.sm-site .sm-cs-section{container-type:inline-size}
@container (min-width:720px){
  body.sm-site .sm-results:has(>.sm-result:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
  body.sm-site .sm-results:has(>.sm-result:nth-child(5):last-child)>.sm-result{grid-column:span 2}
  body.sm-site .sm-results:has(>.sm-result:nth-child(5):last-child)>.sm-result:nth-child(n+4){grid-column:span 3}
  body.sm-site .sm-results:has(>.sm-result:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (min-width:460px) and (max-width:719.98px){
  body.sm-site .sm-results:has(>.sm-result:nth-child(4):last-child),
  body.sm-site .sm-results:has(>.sm-result:nth-child(5):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.sm-site .sm-results:has(>.sm-result:nth-child(5):last-child)>.sm-result:nth-child(5){grid-column:1/-1}
}

/* Section heads: one gap between a head and the content it introduces */
body.sm-site .sm-arches__head,
body.sm-site .sm-work-head{margin-bottom:clamp(32px,3.6vw,52px)}
body.sm-site .sm-arches__head+.sm-process{margin-top:0}

/* Page heroes: the intro sits a clear step below the title, and one gap leads into the next section */
body.sm-site .sm-page-hero .sm-cta__text{margin-top:clamp(20px,2.4vw,32px);max-width:46ch}
body.sm-site main .sm-page-hero{padding-bottom:var(--sm-gap)}
body.sm-site main .sm-page-hero+.sm-section:not(.sm-cta):not(.sm-band){padding-top:0}

/* Related work head: the lone button aligns to the right edge of the cards below */
@media (min-width:961px){
  body.sm-site .sm-work-head>.elementor-widget-html{--container-widget-width:auto;width:auto}
  body.sm-site .sm-work-head>.elementor-widget-html p{margin:0;text-align:right}
}

/* Work filters on smaller screens: both rows of chips start on the same line */
@media (max-width:960px){
  body.sm-site .sm-filters__label{min-width:7.8em}
}

/* ==========================================================================
   Audit placement (Oct 2026)
   ========================================================================== */
/* SOUL Method card: audit invite with two actions side by side */
body.sm-site .sm-actions{display:flex;flex-wrap:wrap;gap:12px;margin:clamp(16px,2vw,22px) 0 0}

/* Inline links in body copy: ink, semibold, with a berry underline so they read as links without shouting */
body.sm-site main .elementor-widget-text-editor a:not([class]){color:var(--sm-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--sm-berry);text-decoration-thickness:1.5px;text-underline-offset:4px;transition:text-decoration-color .2s ease}
body.sm-site main .elementor-widget-text-editor a:not([class]):hover{text-decoration-color:currentColor}
body.sm-site main .sm-cta .elementor-widget-text-editor a:not([class]){color:inherit;text-decoration-color:currentColor}


/* SOUL Method card: lead line, audit question and paragraph rhythm */
body.sm-site .sm-method__text p{margin:0}
body.sm-site .sm-method__text p+p{margin-top:12px}
body.sm-site .sm-method__lead{font-weight:600;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.45;color:var(--sm-ink)}
body.sm-site .sm-method__ask{font-weight:600;color:var(--sm-ink)}
body.sm-site .sm-method__audit{margin-top:clamp(20px,2.2vw,28px)}

/* SOUL Method card: a 2:1 frame anchored to the right of the sketch-to-photo scene, so the drawing
   and the whole team both read. Desktop: copy left, scene right. Tablet and phone: scene on top,
   and on phones it bleeds to the card edges. */
body.sm-site .sm-method__media{aspect-ratio:2/1;min-height:0}
body.sm-site .sm-method__media .sm-sketch{position:absolute;top:0;right:0;width:auto;height:100%;aspect-ratio:1600/686}
body.sm-site .sm-method__text p{text-wrap:pretty}
@media (min-width:961px){
  body.sm-site .sm-method{grid-template-columns:minmax(0,4fr) minmax(0,5fr)}
  body.sm-site .sm-method__media{align-self:center}
}
@media (max-width:960px){
  body.sm-site .sm-method__media{order:-1}
}
@media (max-width:600px){
  body.sm-site .sm-method{padding:32px 24px}
  body.sm-site .sm-method__media{margin:-32px -24px 0;width:auto;max-width:none;justify-self:stretch;border-radius:0}
}

/* We get it: the follow-up paragraph's top margin was set on both the widget and its <p>, doubling the gap */
body.sm-site .sm-getit__after p{margin-top:0}

/* We can help: the audit button sits the same distance below its copy as the hero buttons do
   (clamp 28 to 40px), less the 24px gap Elementor already puts between the two widgets */
body.sm-site .sm-help__actions{margin-top:calc(clamp(28px,3vw,40px) - 24px)}

/* Group hero art (inner pages): the people stay real and the room around them is drawn in line art,
   over the same teal disc and orbit as the homepage portrait. Lines stay thin and even at any size. */
body.sm-site .sm-por--group .sm-por__lines path{vector-effect:non-scaling-stroke;stroke-width:1.2px}
body.sm-site .sm-por--group .sm-por__lines--in path{stroke-opacity:.8}
@media (max-width:960px){
  body.sm-site .sm-hero__art-wrap:has(.sm-por--group){height:auto;aspect-ratio:4/3;width:100%;max-width:560px;margin-inline:auto}
}

/* ===== Insights ===== */
body.sm-site .sm-ins-hero{padding-bottom:clamp(48px,5.6vw,80px)}
body.sm-site .sm-ins-hero::before,body.sm-site .sm-article__hero::before{width:56vw;height:56vw;max-width:760px;max-height:760px;top:-300px;right:-12%}
/* Work page hero: same top spacing as About and Insights (.sm-page-hero), so headlines start at the same height */
body.sm-site main .sm-section.sm-work-hero:not(.sm-hero):not(.sm-cta){padding-top:clamp(72px,9vw,140px)}
/* Insights page hero: tagline uses the same type as the Work intro (.sm-lead) */
body.sm-site.blog .sm-ins-hero .sm-cs-hero__summary{font-size:clamp(1.25rem,2.05vw,1.9rem);line-height:1.42;letter-spacing:-.01em;color:var(--sm-ink);max-width:none;text-wrap:pretty}
/* Insights page hero: intro sits to the right of the title on desktop, last lines share a baseline; columns match the Work hero */
@media (min-width:961px){
  body.sm-site.blog .sm-ins-hero>.sm-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--sm-col-gap);align-items:end;align-items:last baseline}
  body.sm-site.blog .sm-ins-hero .sm-cs-hero__summary{margin-top:0}
}
body.sm-site .sm-cta h2.sm-cta__title{margin-bottom:32px}

/* Shared bits */
body.sm-site .sm-ins-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;font-size:.86rem;font-weight:600;line-height:1;color:var(--sm-berry)}
body.sm-site .sm-ins-tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--sm-berry);color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
body.sm-site .sm-ins-meta{margin:0;font-size:.9rem;line-height:1.5;color:var(--sm-muted);font-variant-numeric:tabular-nums}
body.sm-site .sm-ins-meta__part{white-space:nowrap}
body.sm-site .sm-ins-sep{display:inline-block;width:4px;height:4px;margin:0 10px;border-radius:50%;background:currentColor;opacity:.55;vertical-align:middle}
body.sm-site .sm-ins-feature svg,body.sm-site .sm-ins-news svg,body.sm-site .sm-ins-all svg{width:18px;height:auto;flex:none}

/* Featured story */
body.sm-site .sm-ins-feature{padding-bottom:clamp(72px,9vw,128px)}
body.sm-site .sm-ins-feature__card{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(32px,5vw,80px);align-items:center;text-decoration:none;color:inherit}
body.sm-site .sm-ins-feature__media{position:relative;aspect-ratio:16/9;border-radius:var(--sm-radius-lg);overflow:hidden;background:var(--sm-blush)}
body.sm-site .sm-ins-feature__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .9s var(--sm-ease)}
body.sm-site .sm-ins-feature__card:hover .sm-ins-feature__media img{transform:scale(1.03)}
body.sm-site .sm-ins-feature__title{margin:0 0 18px;font-family:var(--sm-sans);font-weight:600;font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.22;letter-spacing:-.02em;text-wrap:balance;transition:color .2s}
body.sm-site .sm-ins-feature__excerpt{margin:0 0 20px;max-width:44ch;font-size:1.05rem;line-height:1.6;color:var(--sm-ink-2)}
body.sm-site .sm-ins-more{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-weight:600;color:var(--sm-ink);transition:color .2s}
body.sm-site .sm-ins-more svg{transition:transform .3s var(--sm-ease)}
body.sm-site .sm-ins-feature__card:hover .sm-ins-feature__title,body.sm-site .sm-ins-feature__card:hover .sm-ins-more{color:var(--sm-berry)}
body.sm-site .sm-ins-feature__card:hover .sm-ins-more svg{transform:translateX(4px)}

/* Listing */
body.sm-site .sm-ins-list{padding-bottom:clamp(88px,10vw,144px)}
body.sm-site .sm-ins-list--archive{padding-top:clamp(8px,1vw,16px)}
body.sm-site .sm-ins-filter{display:flex;flex-wrap:wrap;gap:10px;padding-top:32px;border-top:1px solid var(--sm-line)}
body.sm-site .sm-ins-block{padding-top:clamp(56px,6vw,88px)}
body.sm-site .sm-ins-block[hidden]{display:none}
body.sm-site .sm-ins-block + .sm-ins-block{padding-top:clamp(96px,11vw,160px)}
body.sm-site .sm-ins-block__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:clamp(32px,4vw,56px)}
body.sm-site .sm-ins-block__title{margin:0;font-family:var(--sm-display);font-weight:400;text-transform:uppercase;line-height:.94;letter-spacing:.005em;font-size:clamp(2.4rem,4.6vw,4.4rem)}
body.sm-site .sm-ins-block__count{margin:0 0 .35em;font-size:.92rem;color:var(--sm-muted)}

/* Cards */
body.sm-site .sm-ins-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(18px,2.4vw,32px);row-gap:clamp(44px,4.6vw,64px);margin:0;padding:0;list-style:none}
body.sm-site .sm-ins-card{margin:0;min-width:0}
body.sm-site .sm-ins-card[hidden]{display:none}
body.sm-site .sm-ins-card__link{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}
body.sm-site .sm-ins-card__media{position:relative;aspect-ratio:16/9;margin-bottom:8px;border-radius:var(--sm-radius);overflow:hidden;background:var(--sm-gray)}
body.sm-site .sm-ins-card__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .9s var(--sm-ease)}
body.sm-site .sm-ins-card__link:hover .sm-ins-card__media img{transform:scale(1.04)}
body.sm-site .sm-ins-card__title{margin:0;font-weight:600;font-size:1.2rem;line-height:1.3;letter-spacing:-.01em;text-wrap:balance;transition:color .2s}
body.sm-site .sm-ins-card__link:hover .sm-ins-card__title{color:var(--sm-berry)}

/* Type card for articles without an image */
body.sm-site .sm-ins-ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:clamp(22px,2.4vw,32px);background:var(--sm-blush);color:var(--sm-ink)}
body.sm-site .sm-ins-ph::before{content:"";position:absolute;top:clamp(22px,2.4vw,32px);left:clamp(22px,2.4vw,32px);width:46px;height:34px;background:url("../img/sm-monogram-color.svg") left top/contain no-repeat}
body.sm-site .sm-ins-ph--ink{background:var(--sm-black);color:#fff}
body.sm-site .sm-ins-ph--ink::before{background-image:url("../img/sm-monogram-white.svg")}
body.sm-site .sm-ins-ph--teal{background:#02AB96;color:#1A1A1A}
body.sm-site .sm-ins-ph--teal::before{background-image:url("../img/sm-monogram-white.svg")}
body.sm-site .sm-ins-ph--teal .sm-period{color:#fff}
body.sm-site .sm-ins-ph b{display:block;max-width:16ch;font-family:var(--sm-display);font-weight:400;font-size:clamp(2.6rem,4vw,3.6rem);line-height:.96;text-transform:uppercase;text-wrap:balance}
body.sm-site .sm-ins-feature__media .sm-ins-ph b{font-size:clamp(2.6rem,4.6vw,4.4rem)}

/* Show more */
body.sm-site .sm-ins-loadmore{display:flex;justify-content:center;margin-top:clamp(56px,6vw,80px)}
body.sm-site .sm-ins-loadmore[hidden]{display:none}
body.sm-site .sm-ins-btn{display:inline-flex;align-items:center;height:54px;padding:0 30px;border-radius:999px;border:1.5px solid var(--sm-ink);background:#fff;color:var(--sm-ink);font:600 1rem/1 var(--sm-sans);cursor:pointer;transition:background .2s,color .2s}
body.sm-site .sm-ins-btn:hover,body.sm-site .sm-ins-btn:focus-visible{background:var(--sm-ink);color:#fff}

/* News list */
body.sm-site .sm-ins-news{margin:0;padding:0;list-style:none;border-top:1px solid var(--sm-line)}
body.sm-site .sm-ins-news li{margin:0;border-bottom:1px solid var(--sm-line)}
body.sm-site .sm-ins-news__item{display:grid;grid-template-columns:150px minmax(0,1fr) 44px;align-items:center;column-gap:clamp(20px,4vw,64px);padding-block:clamp(22px,2.4vw,30px);text-decoration:none;color:inherit}
body.sm-site .sm-ins-news__date{font-size:.92rem;color:var(--sm-muted);font-variant-numeric:tabular-nums}
body.sm-site .sm-ins-news__title{max-width:56ch;font-weight:600;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.38;letter-spacing:-.01em;text-wrap:balance;transition:color .2s}
body.sm-site .sm-ins-news__arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--sm-line);color:var(--sm-ink);transition:background .25s var(--sm-ease),border-color .25s var(--sm-ease),color .25s var(--sm-ease)}
body.sm-site .sm-ins-news__arrow svg{width:16px}
body.sm-site .sm-ins-news__item:hover .sm-ins-news__title{color:var(--sm-berry)}
body.sm-site .sm-ins-news__item:hover .sm-ins-news__arrow{background:var(--sm-berry);border-color:var(--sm-berry);color:#fff}

/* Article */
body.sm-site .sm-article__hero{padding-bottom:clamp(44px,5vw,72px)}
body.sm-site .sm-article__hero .sm-back{margin-bottom:clamp(32px,3.6vw,52px)}
body.sm-site .sm-article__title{max-width:26ch;margin:0 0 clamp(20px,2.4vw,28px)}
body.sm-site .sm-article__media .sm-article__figure{margin:0;border-radius:var(--sm-radius-lg);overflow:hidden;background:var(--sm-gray)}
body.sm-site .sm-article__media--col .sm-article__figure{max-width:760px}
body.sm-site .sm-article__media--wide .sm-article__figure{max-width:1100px}
body.sm-site .sm-article__figure img{display:block;width:100%;height:auto;max-width:none}
body.sm-site .sm-article__wrap{padding-block:clamp(48px,6vw,88px) clamp(72px,8vw,120px)}
body.sm-site .sm-article__body{max-width:720px;font-size:1.125rem;line-height:1.75;color:var(--sm-ink)}
body.sm-site .sm-article__body>*:first-child{margin-top:0}
body.sm-site .sm-article__body p{margin:0 0 1.35em}
body.sm-site .sm-article__body a{color:var(--sm-berry);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body.sm-site .sm-article__body a:hover{color:var(--sm-berry-deep)}
body.sm-site .sm-article__body h2{margin:1.6em 0 .55em}
body.sm-site .sm-article__body h3,body.sm-site .sm-article__body h4{margin:1.7em 0 .5em;font-weight:600;font-size:1.35rem;line-height:1.3;letter-spacing:-.01em}
body.sm-site .sm-article__body h4{font-size:1.15rem}
body.sm-site .sm-article__body ul,body.sm-site .sm-article__body ol{margin:0 0 1.35em;padding-left:1.3em}
body.sm-site .sm-article__body li{margin-bottom:.5em}
body.sm-site .sm-article__body li::marker{color:var(--sm-berry)}
body.sm-site .sm-article__body blockquote{margin:1.8em 0;padding-left:24px;border-left:3px solid var(--sm-berry);font-size:1.3rem;line-height:1.5;font-weight:500}
body.sm-site .sm-article__body img{max-width:100%;height:auto;border-radius:12px}
body.sm-site .sm-article__body iframe,body.sm-site .sm-article__body video{display:block;max-width:100%;margin:0 0 1.35em;border:0}
body.sm-site .sm-article__body iframe[src*="vimeo.com"],body.sm-site .sm-article__body iframe[src*="youtube"],body.sm-site .sm-article__body iframe[src*="killerplayer"]{width:100%;height:auto;aspect-ratio:16/9;border-radius:12px}
body.sm-site .sm-article__body iframe[src*="automation.surrylmarketing.com"]{display:none}
body.sm-site .sm-article__body .wp-caption{max-width:100%}
body.sm-site .sm-article__body .wp-caption-text{margin-top:8px;font-size:.88rem;color:var(--sm-muted)}
body.sm-site .sm-article__body .alignleft{float:left;margin:.3em 1.5em 1em 0}
body.sm-site .sm-article__body .alignright{float:right;margin:.3em 0 1em 1.5em}
body.sm-site .sm-article__body .aligncenter{display:block;margin-inline:auto}
body.sm-site .sm-article__body::after{content:"";display:table;clear:both}

/* Keep reading */
body.sm-site .sm-ins-related{padding-bottom:clamp(80px,9vw,128px)}
body.sm-site .sm-ins-related>.sm-wrap{position:relative;padding-top:clamp(80px,9vw,128px)}
body.sm-site .sm-ins-related>.sm-wrap::before{content:"";position:absolute;top:0;left:var(--sm-gutter);right:var(--sm-gutter);height:1px;background:var(--sm-line)}
body.sm-site .sm-ins-all{display:inline-flex;align-items:center;gap:10px;margin-bottom:.35em;font-weight:600;color:var(--sm-ink);text-decoration:none;transition:color .2s}
body.sm-site .sm-ins-all svg{transition:transform .3s var(--sm-ease)}
body.sm-site .sm-ins-all:hover{color:var(--sm-berry)}
body.sm-site .sm-ins-all:hover svg{transform:translateX(4px)}

@media (max-width:960px){
  body.sm-site .sm-ins-feature__card{grid-template-columns:minmax(0,1fr);row-gap:32px}
  body.sm-site .sm-ins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  body.sm-site .sm-ins-grid{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-ins-feature__media{border-radius:var(--sm-radius)}
  body.sm-site .sm-ins-news__item{grid-template-columns:minmax(0,1fr);row-gap:6px}
  body.sm-site .sm-ins-news__arrow{display:none}
  body.sm-site .sm-article__media .sm-article__figure{border-radius:var(--sm-radius)}
  body.sm-site .sm-article__body{font-size:1.0625rem}
  body.sm-site .sm-article__body .alignleft,body.sm-site .sm-article__body .alignright{float:none;margin:0 0 1em}
}
/* ===== /Insights ===== */

/* ==========================================================================
   Home hero spacing, thread retired, round Berry period (Oct 10 2026)
   ========================================================================== */
/* Home hero: the headline tops out at 5rem so it stays in its own column and never runs into the portrait on wide screens */
@media (min-width:961px){
  body.sm-site .sm-hero:not(.sm-hero--inner) .sm-hero__title,body.sm-site .sm-hero:not(.sm-hero--inner) .sm-hero__title .elementor-heading-title{font-size:clamp(3rem,6.1vw,5rem)}
}
/* Thread retired: [sm_hero_art] no longer prints it; this keeps any cached page clean too */
.sm-thread{display:none!important}
/* Berry period: a circle everywhere, matching the logo dot and the hero's .sm-dot. The "." stays in the text for screen readers and copy and paste */
.sm-period{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:currentColor;overflow:hidden;text-indent:1em;white-space:nowrap;vertical-align:baseline;margin-inline:.02em;transform:translateY(-.02em)}

/* Expertise menu: every service sits on one line. The What we do column sizes to its longest label,
   and the hover nudge moves the text (not the padding) so the columns never shift */
@media (min-width:961px){
  .sm-panel__inner{grid-template-columns:max-content minmax(0,1fr) minmax(0,.8fr)}
  .sm-panel__list--2{grid-template-columns:repeat(2,max-content);column-gap:32px}
  .sm-panel__list--2 .sm-panel__item strong{white-space:nowrap;transition:transform .2s var(--sm-ease)}
  .sm-panel__list--2 .sm-panel__item a:hover{padding-left:0}
  .sm-panel__list--2 .sm-panel__item a:hover strong{transform:translateX(6px)}
}
@media (min-width:961px) and (max-width:1439px){.sm-panel__inner{column-gap:40px}}
@media (min-width:961px) and (max-width:1229px){.sm-panel__inner{grid-template-columns:max-content minmax(0,1fr)}.sm-panel__feature{display:none}}

/* About: team list. Initials stand in until team photos are ready */
body.sm-site .sm-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);margin-top:clamp(40px,5vw,72px)}
body.sm-site .sm-team__card{display:flex;align-items:center;gap:18px;padding:24px 0;border-top:1px solid var(--sm-line)}
body.sm-site .sm-team__mono{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:var(--sm-display);font-size:1.45rem;letter-spacing:.02em;line-height:1;background:var(--sm-berry);color:#fff}
body.sm-site .sm-team__card:nth-child(3n+2) .sm-team__mono{background:#02AB96;color:var(--sm-ink)}
body.sm-site .sm-team__card:nth-child(3n+3) .sm-team__mono{background:#FCB613;color:var(--sm-ink)}
body.sm-site .sm-team__name{font-family:inherit;font-size:1.1rem;font-weight:600;line-height:1.3;margin:0}
body.sm-site .sm-team__role{font-size:.95rem;line-height:1.45;color:var(--sm-muted);margin:2px 0 0}
@media (max-width:960px){body.sm-site .sm-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){body.sm-site .sm-team{grid-template-columns:minmax(0,1fr)}}

/* About: callout panel (Human-led, AI-assisted) and anchor offsets under the sticky header */
body.sm-site .sm-callout{background:var(--sm-blush);border-radius:var(--sm-radius-lg);padding:clamp(32px,5vw,72px);margin-top:clamp(48px,6vw,88px)}
body.sm-site .sm-callout .sm-title,body.sm-site .sm-callout .sm-title .elementor-heading-title{font-size:clamp(2rem,3.4vw,3.2rem)}
body.sm-site main .sm-section[id]{scroll-margin-top:calc(var(--sm-header-h) + var(--sm-admin) + 16px)}
/* About hero: lead paragraph under the headline, then the agency introduction at a matching measure */
body.sm-site .sm-page-hero--about .sm-lead{margin-top:clamp(28px,3vw,44px);max-width:34em;color:var(--sm-ink)}
body.sm-site .sm-page-hero--about .sm-cta__text,body.sm-site .sm-page-hero--about .sm-cta__text p{max-width:46rem;margin-top:clamp(18px,2vw,28px)}
/* Outcome rows on tablet and phone: title above its text (an older rule pushed the text into a second column, collapsing the title to zero width) */
@media (max-width:960px){body.sm-site .sm-outcome__text{grid-column:auto}}

/* ==========================================================================
   About page: photo hero, image sections, values with photos, team portraits (Oct 10 2026)
   ========================================================================== */
body.sm-site .sm-about-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,5.5vw,104px);align-items:stretch}
body.sm-site .sm-about-hero__text{display:flex;flex-direction:column;justify-content:center;min-width:0}
body.sm-site .sm-page-hero--about .sm-display,body.sm-site .sm-page-hero--about .sm-display .elementor-heading-title{font-size:clamp(3rem,6.1vw,6.5rem)}
body.sm-site .sm-page-hero--about .sm-lead{max-width:none}
body.sm-site .sm-about-hero__media{position:relative;margin:0;height:100%;min-height:clamp(440px,44vw,680px);isolation:isolate}
body.sm-site .sm-about-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%;border-radius:var(--sm-radius-lg)}
body.sm-site .sm-about-hero__media::before{content:"";position:absolute;z-index:-1;width:44%;aspect-ratio:1;border-radius:50%;background:#02AB96;left:-14%;bottom:calc(-1 * var(--sm-about-disc-drop,40px))}
body.sm-site .sm-about-split__lead{display:flex;flex-direction:column;gap:clamp(28px,3vw,44px);min-width:0}
body.sm-site .sm-about-figure{margin:0}
body.sm-site .sm-about-figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--sm-radius)}
body.sm-site .sm-about-wide{margin:0;padding-top:clamp(56px,6.5vw,104px)}
body.sm-site .sm-about-wide img{display:block;width:100%;height:auto;aspect-ratio:21/8;object-fit:cover;object-position:50% 40%;border-radius:var(--sm-radius-lg)}
body.sm-site .sm-values{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--sm-line)}
body.sm-site .sm-value{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,5fr);column-gap:clamp(24px,3.6vw,64px);align-items:center;padding-block:clamp(24px,3vw,40px);border-bottom:1px solid var(--sm-line)}
body.sm-site .sm-value__media{margin:0}
body.sm-site .sm-value__media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--sm-radius)}
body.sm-site .sm-value__title{font-family:var(--sm-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,2.9vw,2.9rem);line-height:.98;letter-spacing:.005em;text-wrap:balance;margin:0;color:var(--sm-ink)}
body.sm-site .sm-value__text{margin:0;color:var(--sm-muted);font-size:1.05rem;line-height:1.65;max-width:34em}
body.sm-site .sm-team--photos{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:clamp(16px,2.2vw,36px);row-gap:clamp(36px,4vw,56px);margin:clamp(48px,6vw,88px) 0 0;padding:0;list-style:none}
body.sm-site .sm-team--photos .sm-team__card{display:block;padding:0;border:0;text-align:center}
body.sm-site .sm-team__photo{display:block;width:100%;max-width:220px;aspect-ratio:1;margin:0 auto 18px;border-radius:50%;overflow:hidden;background:#02AB96}
/* Team circles: teal, berry, yellow, navy; the creative row starts one step later so the rows never line up */
body.sm-site .sm-team--photos .sm-team__card:nth-child(4n+2) .sm-team__photo{background:var(--sm-berry)}
body.sm-site .sm-team--photos .sm-team__card:nth-child(4n+3) .sm-team__photo{background:#FCB613}
body.sm-site .sm-team--photos .sm-team__card:nth-child(4n) .sm-team__photo{background:#1A1E3B}
body.sm-site .sm-team--creative .sm-team__card:nth-child(4n+1) .sm-team__photo{background:var(--sm-berry)}
body.sm-site .sm-team--creative .sm-team__card:nth-child(4n+2) .sm-team__photo{background:#FCB613}
body.sm-site .sm-team--creative .sm-team__card:nth-child(4n+3) .sm-team__photo{background:#1A1E3B}
body.sm-site .sm-team--creative .sm-team__card:nth-child(4n) .sm-team__photo{background:#02AB96}
body.sm-site .sm-team__photo img{display:block;width:100%;height:100%;object-fit:cover}
body.sm-site .sm-team--photos .sm-team__name{display:block}
body.sm-site .sm-team--photos .sm-team__role{display:block;margin-top:4px}
@media (max-width:1180px){body.sm-site .sm-team--photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:960px){
  body.sm-site .sm-about-hero{grid-template-columns:minmax(0,1fr);gap:40px}
  body.sm-site .sm-about-hero__media{height:auto;min-height:0;aspect-ratio:4/3}
  body.sm-site .sm-about-hero__media::before{width:34%;left:-7%}
  body.sm-site .sm-value{grid-template-columns:minmax(0,2fr) minmax(0,3fr);row-gap:12px;align-items:start}
  body.sm-site .sm-value__media{grid-row:span 2}
  body.sm-site .sm-value__title{align-self:end}
}
@media (max-width:600px){
  body.sm-site .sm-about-wide img{aspect-ratio:4/3}
  body.sm-site .sm-value{grid-template-columns:minmax(0,1fr);row-gap:14px}
  body.sm-site .sm-value__media{grid-row:auto}
  body.sm-site .sm-value__media img{aspect-ratio:16/10}
  body.sm-site .sm-team--photos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
}

/* About hero: the teal disc hangs below the photo, so the hero adds that drop to the shared section gap. The space from the disc to the next heading then matches every other section gap. */
body.sm-site .sm-page-hero.sm-page-hero--about{--sm-about-disc-drop:clamp(28px,3.6vw,52px);padding-bottom:calc(var(--sm-gap) + var(--sm-about-disc-drop))}

/* About team in two centered rows: marketing on top, design below (Oct 10 2026) */
body.sm-site .sm-team.sm-team--photos{display:flex;flex-wrap:wrap;justify-content:center;--sm-team-cols:4;--sm-team-gap:clamp(20px,3vw,48px);column-gap:var(--sm-team-gap)}
body.sm-site .sm-team--photos .sm-team__card{flex:0 0 calc((100% - (var(--sm-team-cols) - 1) * var(--sm-team-gap)) / var(--sm-team-cols));min-width:0}
body.sm-site .sm-team--photos .sm-team__photo{max-width:240px}
@media (max-width:600px){body.sm-site .sm-team.sm-team--photos{--sm-team-cols:2;--sm-team-gap:16px}}
/* About values: heading and intro line sit in the same split as the other sections */
body.sm-site .sm-about-values__head{align-items:end}
body.sm-site .sm-about-values__head .sm-body p{margin:0}
/* The All expertise overview is in draft, so service and industry pages drop their back link to it */
body.sm-site .sm-back[href$="/expertise/"]{display:none}

/* About team with nine people: five across on desktop, three on tablet, two on phones */
body.sm-site .sm-team.sm-team--photos{--sm-team-cols:5}
@media (max-width:960px){body.sm-site .sm-team.sm-team--photos{--sm-team-cols:3}}
@media (max-width:600px){body.sm-site .sm-team.sm-team--photos{--sm-team-cols:2}}

/* Contact: photo on the left, the conversation copy on the right (Oct 10 2026) */
body.sm-site .sm-contact-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5.5vw,104px);align-items:stretch}
body.sm-site .sm-contact-hero__media{position:relative;margin:0;height:100%;min-height:clamp(440px,42vw,640px)}
body.sm-site .sm-contact-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;border-radius:var(--sm-radius-lg)}
body.sm-site .sm-contact-hero__text{display:flex;flex-direction:column;justify-content:center;gap:0;min-width:0}
body.sm-site .sm-contact-hero__text > .elementor-element{margin-top:20px}
body.sm-site .sm-contact-hero__text > .elementor-element:first-child{margin-top:0}
body.sm-site .sm-contact-hero__sub,body.sm-site .sm-contact-hero__sub .elementor-heading-title{font-size:clamp(1.9rem,3vw,2.8rem)}
body.sm-site .sm-contact-hero__text > .elementor-widget-heading.sm-contact-hero__sub{margin-top:clamp(40px,4.5vw,64px)}
@media (max-width:960px){
  body.sm-site .sm-contact-hero{grid-template-columns:minmax(0,1fr);gap:40px}
  body.sm-site .sm-contact-hero__media{order:2;height:auto;min-height:0;aspect-ratio:4/3}
}

/* Team as two lists: strategy and marketing on top, creative and design below */
body.sm-site .sm-team--photos + .sm-team--photos{margin-top:clamp(36px,4vw,56px)}
@media (max-width:960px){body.sm-site .sm-team.sm-team--photos{--sm-team-cols:5}}
@media (max-width:760px){body.sm-site .sm-team.sm-team--photos{--sm-team-cols:2;--sm-team-gap:16px}}
@media (max-width:960px){body.sm-site .sm-contact-hero > .elementor-widget-html{order:2}}

/* Contact: copy first, photo on the right, matching the other page tops */
body.sm-site .sm-contact-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
@media (max-width:960px){body.sm-site .sm-contact-hero{grid-template-columns:minmax(0,1fr)}}

/* Next story capsule: smaller and 4:3 like the photos, so the whole scene shows instead of a tight crop (Oct 2026) */
body.sm-site .sm-next__media{aspect-ratio:4/3;width:100%;max-width:440px;justify-self:end}
@media (max-width:960px){body.sm-site .sm-next__media{justify-self:start}}

/* Case study picture: small, inside the story under Results (or Our approach), rounded corners, 3:2 so the whole scene shows (Oct 2026) */
body.sm-site .sm-cs-figure{margin:clamp(28px,3vw,40px) 0 0;max-width:480px;aspect-ratio:3/2;border-radius:var(--sm-radius);overflow:hidden;background:var(--sm-gray)}
body.sm-site .sm-cs-figure img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}

/* Work filters: on desktop, chips wrap under the row instead of scrolling out of view (Oct 2026) */
@media (min-width:961px){
	body.sm-site .sm-filters__row{flex-wrap:wrap;row-gap:8px;overflow:visible;-webkit-mask-image:none;mask-image:none;padding-left:126px;padding-right:0}
	body.sm-site .sm-filters__label{margin-left:-126px}
}

/* Home SMPS tile: real laptop mockup image in place of the CSS laptop frame (Oct 2026) */
body.sm-site .sm-device-shot,body.sm-site .sm-tile__media .sm-device-shot{position:relative;inset:auto;display:block;width:min(86%,470px);max-width:none;height:auto;object-fit:contain;margin:auto}

/* Contact card: details on the left, office photo filling the right side (Oct 11 2026) */
body.sm-site .sm-contact-card.sm-contact-card--photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0;overflow:hidden;align-items:stretch}
body.sm-site .sm-contact-card__info{display:grid;gap:26px;align-content:center;padding:clamp(28px,4vw,52px)}
body.sm-site .sm-contact-card__info p{text-wrap:pretty}
body.sm-site .sm-contact-card__media{position:relative;margin:0;min-height:100%}
body.sm-site .sm-contact-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
@media (max-width:960px){
  body.sm-site .sm-contact-card.sm-contact-card--photo{grid-template-columns:minmax(0,1fr)}
  body.sm-site .sm-contact-card__media{min-height:0;aspect-ratio:3/2}
}


/* ---------- v1.7.0 prelaunch fixes (Oct 11 2026) ---------- */
/* Notes for Sequoia on the dev site: red, bracketed, easy to spot and delete */
.sm-note{color:#D0021B;font-weight:600}
/* About: each team card opens a short bio */
body.sm-site .sm-team__open{display:block;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:center;cursor:pointer;border-radius:20px}
body.sm-site .sm-team__open:focus-visible{outline:3px solid var(--sm-berry);outline-offset:6px}
body.sm-site .sm-team__photo img{transition:transform .35s ease}
body.sm-site .sm-team__open:hover .sm-team__photo img,body.sm-site .sm-team__open:focus-visible .sm-team__photo img{transform:scale(1.04)}
body.sm-site .sm-team__more{display:inline-block;margin-top:10px;font-size:.85rem;font-weight:600;color:var(--sm-berry);border-bottom:1.5px solid transparent;transition:border-color .2s ease}
body.sm-site .sm-team__open:hover .sm-team__more,body.sm-site .sm-team__open:focus-visible .sm-team__more{border-bottom-color:currentColor}
body.sm-site dialog.sm-bio{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);margin:auto;padding:0;border:0;border-radius:24px;background:#fff;color:var(--sm-ink);box-shadow:0 30px 80px rgba(0,0,0,.25);text-align:left;overflow:auto}
body.sm-site dialog.sm-bio::backdrop{background:rgba(26,26,26,.6)}
body.sm-site .sm-bio__inner{position:relative;padding:clamp(28px,4vw,44px)}
body.sm-site .sm-bio__head{display:flex;align-items:center;gap:20px;margin:0 48px 22px 0}
body.sm-site .sm-bio__head img{flex:none;width:96px;height:96px;border-radius:50%;object-fit:cover;background:#02AB96}
body.sm-site .sm-bio__name{font-family:var(--sm-display);font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.05;margin:0}
body.sm-site .sm-bio__role{margin:6px 0 0;font-size:.95rem;line-height:1.45;color:var(--sm-muted)}
body.sm-site .sm-bio p.sm-bio__text,body.sm-site .sm-bio p.sm-bio__clients{font-size:1rem;line-height:1.65;margin:0 0 14px}
body.sm-site .sm-bio p.sm-bio__clients{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--sm-line)}
body.sm-site .sm-bio__close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#F2DDD6;color:#1A1A1A;font-size:1.6rem;line-height:1;cursor:pointer}
body.sm-site .sm-bio__close:focus-visible{outline:3px solid var(--sm-berry);outline-offset:3px}
@media (max-width:600px){body.sm-site .sm-bio__head{flex-direction:column;align-items:flex-start;gap:14px}body.sm-site .sm-bio__head img{width:80px;height:80px}}
@media (prefers-reduced-motion:reduce){body.sm-site .sm-team__photo img{transition:none}}

/* Case study hero (Oct 2026): one gap between the hero and the story (the story's own top padding; the old spacer under the hero is gone), and the blush glow fades out past the hero instead of being cut off at its bottom edge */
.sm-cs-hero{overflow-x:clip;overflow-y:visible;clip-path:inset(0 0 -60vw 0)}
.sm-cs-body{position:relative;z-index:1}
/* Stories without a hero stat show their picture in the right column, its top lined up with the headline's capital letters (Oct 2026) */
body.sm-site .sm-cs-hero__pic{margin:calc(clamp(3rem,6.4vw,6.6rem) * .055) 0 0;align-self:start;border-radius:var(--sm-radius);overflow:hidden;background:var(--sm-gray)}
body.sm-site .sm-cs-hero__pic img{display:block;width:100%;height:auto;max-width:none}
@media (max-width:960px){body.sm-site .sm-cs-hero__pic{max-width:560px;margin-top:0}}

/* Story body rhythm (Oct 2026): one gap between sections, a tighter gap under each heading, and one shared gap between blocks inside a section (stat cards, closing text, award, photo) */
body.sm-site .sm-cs-section+.sm-cs-section{margin-top:clamp(44px,4.9vw,76px)}
body.sm-site .sm-cs-section>*{margin-top:0;margin-bottom:0}
body.sm-site .sm-cs-section>*+*{margin-top:clamp(22px,2.3vw,30px)}
body.sm-site .sm-cs-section>h2+*{margin-top:clamp(16px,1.8vw,24px)}
body.sm-site .sm-cs-section>p+p{margin-top:1em}
body.sm-site .sm-cs-section .sm-award{display:flex;width:fit-content}

/* Story header right column (Oct 2026): the picture on top, lined up with the headline, and the stat beneath it when the story has one */
body.sm-site .sm-cs-hero__grid{align-items:start}
body.sm-site .sm-cs-hero__side{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(24px,2.6vw,36px);align-self:stretch;min-width:0}
body.sm-site .sm-cs-hero__side .sm-cs-hero__pic{align-self:auto}
body.sm-site .sm-cs-hero__side .sm-cs-hero__metric b{font-size:clamp(2.6rem,4vw,4.4rem)}
@media (max-width:960px){body.sm-site .sm-cs-hero__side{align-self:auto;justify-content:flex-start}}

/* The work, full-piece link (Oct 2026): the cover opens the full piece (a flipbook, for example) in a new tab, with a button beside it */
body.sm-site .sm-cs-full{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,3vw,40px)}
body.sm-site .sm-cs-full__cover{display:block;width:clamp(180px,22vw,280px);border-radius:var(--sm-radius);overflow:hidden;box-shadow:0 18px 40px rgba(18,18,18,.14);transition:transform .25s}
body.sm-site .sm-cs-full__cover:hover{transform:translateY(-3px)}
body.sm-site .sm-cs-full__cover img{display:block;width:100%;height:auto;max-width:none}

/* Contact: GHL inquiry form under "Book a call" (the form adds ~16px of its own side padding, so the frame is widened to line the fields up with the text above) */
body.sm-site .sm-contact-form{margin-top:clamp(44px,5vw,64px)}
body.sm-site .sm-contact-form h3{font-family:var(--sm-display);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:400;line-height:1.1;margin:0 0 12px}
body.sm-site .sm-contact-form p{margin:0 0 20px;color:rgb(92,87,89);line-height:1.7;max-width:34em}
body.sm-site .sm-contact-form iframe{display:block;width:calc(100% + 32px)!important;max-width:none;margin:0 -16px}

/* Contact: keep the photo at its natural 2:3 shape instead of stretching to the full height of the form, and keep it in view while visitors scroll the form (Oct 12 2026) */
@media (min-width:961px){
body.sm-site section.sm-page-hero--contact{overflow:clip}
body.sm-site .sm-contact-hero > .elementor-widget-html{position:sticky;top:calc(var(--sm-admin,0px) + 100px);align-self:start}
body.sm-site .sm-contact-hero__media{height:auto;min-height:0;aspect-ratio:2/3;max-height:calc(100vh - var(--sm-admin,0px) - 132px)}
}

/* Contact: Send a note sits beside Book a call and opens the GHL form in a pop-up (Oct 12 2026) */
body.sm-site .sm-contact-hero .sm-row{gap:14px 16px}
body.sm-site .sm-contact-hero__text > .sm-note-dialog-wrap{margin:0}
body.sm-site .sm-note-dialog{width:min(640px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-radius:var(--sm-radius-lg);background:#fff;color:var(--sm-ink);box-shadow:0 30px 80px -20px rgba(18,18,18,.35);overflow:hidden}
body.sm-site .sm-note-dialog:focus,body.sm-site .sm-note-dialog:focus-visible{outline:none}
body.sm-site .sm-note-dialog::backdrop{background:rgba(26,26,26,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
body.sm-site .sm-note-dialog[open]{animation:sm-note-in .3s var(--sm-ease)}
@keyframes sm-note-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.sm-site .sm-note-dialog[open]{animation:none}}
body.sm-site .sm-note-dialog__inner{max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(26,26,26,.28) transparent;padding:clamp(28px,4vw,48px)}
body.sm-site .sm-note-dialog .sm-contact-form{margin:0}
body.sm-site .sm-note-dialog h3{margin-top:0;padding-right:52px}
body.sm-site .sm-note-dialog__close{position:absolute;top:16px;right:16px;z-index:1;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--sm-gray);color:var(--sm-ink);cursor:pointer;transition:background .2s var(--sm-ease),color .2s var(--sm-ease)}
body.sm-site .sm-note-dialog__close:hover{background:var(--sm-ink);color:#fff}
body.sm-site .sm-note-dialog__close:focus-visible{outline:2px solid var(--sm-berry);outline-offset:2px}
body.sm-site .sm-note-dialog.is-inline{display:block;position:static;width:auto;max-height:none;margin:40px 0 0;box-shadow:none;border-radius:0}
body.sm-site .sm-note-dialog.is-inline .sm-note-dialog__close{display:none}
@media (max-width:600px){body.sm-site .sm-note-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:var(--sm-radius)}body.sm-site .sm-note-dialog__inner{max-height:calc(100dvh - 24px);padding:28px 20px}}
@media (max-width:480px){body.sm-site .sm-contact-hero .sm-row > .elementor-widget-button{flex:1 1 100%}body.sm-site .sm-contact-hero .sm-row .elementor-button{width:100%;justify-content:center}}

/* Story header balance (Oct 2026): every header follows one system. The photo starts at the top of the headline; on stories with a stat it sits a set distance above the stat, which ends on the client line; on stories without one it runs down to the client line. Headline and stat sizes stop growing once the page hits full width, so line breaks match on every desktop screen. */
body.sm-site .sm-cs-hero h1{font-size:clamp(3rem,6.4vw,5.75rem)}
body.sm-site .sm-cs-hero__side .sm-cs-hero__metric b{font-size:clamp(2.6rem,4vw,3.6rem)}
@media (min-width:961px){
body.sm-site .sm-cs-hero__side{container-type:inline-size}
body.sm-site .sm-cs-hero__side .sm-cs-hero__pic{position:relative;flex:1 1 auto;aspect-ratio:2/1;max-height:75cqw}
body.sm-site .sm-cs-hero__side .sm-cs-hero__pic:only-child{max-height:100cqw}
body.sm-site .sm-cs-hero__side .sm-cs-hero__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* Full-piece link, stacked (Oct 2026): the piece's mockup sits full width on the white page with the button underneath. The mockup has its own shadows, so no frame here. */
body.sm-site .sm-cs-full{flex-direction:column;align-items:flex-start;gap:clamp(18px,2vw,26px)}
body.sm-site .sm-cs-full__cover{width:100%;max-width:720px;border-radius:0;box-shadow:none;overflow:visible}

/* ==========================================================================
   Testimonial slider (.sm-quotes on the section, one .sm-quote per client)
   Without JS the quotes simply stack.
   ========================================================================== */
body.sm-site .sm-quotes__track { width: 100%; }
body.sm-site .sm-quotes--ready .sm-quotes__track { display: grid; }
body.sm-site .sm-quotes--ready .sm-quotes__track > .sm-quote {
	grid-area: 1 / 1;
	align-content: start;
	transition: opacity .45s ease, transform .9s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .45s;
}
body.sm-site .sm-quotes--ready .sm-quotes__track > .sm-quote.is-active {
	transition: opacity .6s ease .1s, transform .9s cubic-bezier(.2, .7, .2, 1), visibility 0s;
}
body.sm-site .sm-quotes--ready .sm-quotes__track > .sm-quote:not(.is-active) {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* Dots centered under the testimonial, small pause button after them */
body.sm-site .sm-quotes__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: clamp(16px, 1.6vw, 24px);
}
body.sm-site .sm-quotes__dots { display: flex; align-items: center; gap: 2px; }
body.sm-site .sm-quotes__dot,
body.sm-site .sm-quotes__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
body.sm-site .sm-quotes__dot::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid var(--sm-berry);
	border-radius: 50%;
	background: transparent;
	transition: background-color .3s ease;
}
body.sm-site .sm-quotes__dot[aria-current="true"]::before { background: var(--sm-berry); }
body.sm-site .sm-quotes__dot:hover::before { background: color-mix(in srgb, var(--sm-berry) 30%, transparent); }
body.sm-site .sm-quotes__dot[aria-current="true"]:hover::before { background: var(--sm-berry); }
body.sm-site .sm-quotes__dot:focus-visible,
body.sm-site .sm-quotes__toggle:focus-visible { border-radius: 50%; outline-offset: 0; }
body.sm-site .sm-quotes__toggle { color: var(--sm-muted); transition: color .2s ease; }
body.sm-site .sm-quotes__toggle:hover { color: var(--sm-ink); }
body.sm-site .sm-quotes__toggle svg { width: 11px; height: 11px; display: block; }
@media (prefers-reduced-motion: reduce) {
	body.sm-site .sm-quotes--ready .sm-quotes__track > .sm-quote,
	body.sm-site .sm-quotes__dot::before { transition: none; }
}

/* Home collage on phones: drop the berry circle and the sticky-note photo, keep the four people photos */
@media (max-width: 760px) {
	.sm-collage { grid-template-rows: repeat(5, 110px); }
	.sm-collage__b,
	.sm-collage__d { display: none; }
	.sm-collage__f { grid-area: 3 / 1 / 5 / 3; }
	.sm-collage__e { grid-area: 5 / 1 / 6 / 3; }
}

/* Testimonials on desktop: quote mark sits above the photo, and the quote starts level with the top of the photo */
@media (min-width: 961px) {
	body.sm-site .sm-quote { grid-template-columns: minmax(0, 1.05fr) minmax(0, 2.95fr); grid-template-rows: auto auto; row-gap: clamp(8px, 1.4vw, 20px); }
	body.sm-site .sm-quote > .sm-quote__side { display: contents; }
	body.sm-site .sm-quote__side > .elementor-widget-html { grid-column: 1; grid-row: 1; align-self: end; }
	body.sm-site .sm-quote__side > .sm-quote__photo { grid-column: 1; grid-row: 2; align-self: start; }
	body.sm-site .sm-quote > .sm-stack { grid-column: 2; grid-row: 2; align-self: start; }
}

/* How we work: steps centered, icon circles centered in each column */
body.sm-site .sm-step { align-items: center; text-align: center; }
body.sm-site .sm-step__icon { margin-inline: auto; }
body.sm-site .sm-step__title .elementor-heading-title,
body.sm-site .sm-step__text p { text-wrap: balance; }
@media (max-width: 960px) {
	body.sm-site .sm-step > .sm-step__text { text-align: center; }
}

/* Testimonials: a little more compact */
body.sm-site main .sm-section.sm-quotes:not(.sm-hero):not(.sm-cta) {
	padding-top: calc(var(--sm-gap) * .7);
	padding-bottom: calc(var(--sm-gap) * .7);
}
/* the band rule above uses !important for the section after a band, so match it here */
body.sm-site main .sm-section.sm-band + .sm-section.sm-quotes:not(.sm-band) { padding-top: calc(var(--sm-gap) * .7) !important; }

/* About page team (Oct 2026): one list, four across, with the remainder centered on the last row.
   Photo colors rotate one step per row so no color stacks in a column. Two across on phones. */
body.sm-site .sm-team.sm-team--photos.sm-team--four { --sm-team-cols: 4; }
@media (max-width: 760px) { body.sm-site .sm-team.sm-team--photos.sm-team--four { --sm-team-cols: 2; } }
body.sm-site .sm-team--photos.sm-team--four .sm-team__card:is(:nth-child(16n+1), :nth-child(16n+6), :nth-child(16n+11), :nth-child(16n+16)) .sm-team__photo { background: #02AB96; }
body.sm-site .sm-team--photos.sm-team--four .sm-team__card:is(:nth-child(16n+2), :nth-child(16n+7), :nth-child(16n+12), :nth-child(16n+13)) .sm-team__photo { background: var(--sm-berry); }
body.sm-site .sm-team--photos.sm-team--four .sm-team__card:is(:nth-child(16n+3), :nth-child(16n+8), :nth-child(16n+9), :nth-child(16n+14)) .sm-team__photo { background: #FCB613; }
body.sm-site .sm-team--photos.sm-team--four .sm-team__card:is(:nth-child(16n+4), :nth-child(16n+5), :nth-child(16n+10), :nth-child(16n+15)) .sm-team__photo { background: #1A1E3B; }
