/* ==========================================================================
   Sheida Moradi Architects — design system (from mockup v3)
   Tokens → base → components. Elementor handles layout; these classes are
   applied via Advanced → CSS Classes or come from the Plan Hero widget.
   ========================================================================== */

:root{
  --sma-paper:#F4F1EC;
  --sma-paper-2:#EAE5DE;
  --sma-ink:#1B1917;
  --sma-ink-2:#4A4643;
  --sma-stone:#8C867F;
  --sma-line:rgba(27,25,23,.14);
  --sma-clay:#A9543A;
  --sma-white:#FFFFFF;
  --sma-serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sma-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --sma-ease:cubic-bezier(.2,.7,.2,1);
  --sma-gutter:clamp(20px,4vw,56px);
}

/* --- Base ------------------------------------------------------------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.sma{background:var(--sma-paper);color:var(--sma-ink);font-family:var(--sma-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body.sma h1,body.sma h2{font-family:var(--sma-serif);font-weight:300;font-variation-settings:"opsz" 144;letter-spacing:-.025em;line-height:1.02}
body.sma h3,body.sma h4{font-weight:500;letter-spacing:-.005em}
body.sma a{transition:color .2s var(--sma-ease)}
body.sma :focus-visible{outline:2px solid var(--sma-clay);outline-offset:3px}
body.sma img{height:auto}
.sma-i,.sma em.sma-i{font-style:italic;font-weight:300;color:var(--sma-clay)}

/* Type helpers (add as CSS class on Elementor heading/text widgets) */
body.sma .sma-display,body.sma .sma-display .elementor-heading-title,body.sma h1.sma-display{font-family:var(--sma-serif);font-weight:300;font-size:clamp(36px,5vw,72px);line-height:.96;letter-spacing:-.025em}
body.sma .sma-h2 .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:clamp(32px,4.6vw,62px);line-height:1;letter-spacing:-.025em;text-wrap:balance}
.sma-eyebrow .elementor-heading-title,.sma-eyebrow{font-family:var(--sma-sans);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone)}
.sma-lede,.sma-lede p{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--sma-ink-2);max-width:56ch}
.sma-lede p{margin:0}
.sma-on-dark,.sma-on-dark .elementor-heading-title,.sma-on-dark p{color:#fff}
.sma-on-dark .sma-lede,.sma-on-dark .sma-lede p{color:rgba(255,255,255,.8)}
.sma-on-dark .sma-eyebrow,.sma-on-dark .sma-eyebrow .elementor-heading-title{color:rgba(255,255,255,.55)}

/* --- Buttons ------------------------------------------------------------ */
.sma-btn,.sma-btn-primary .elementor-button,.sma-btn-ghost .elementor-button,.sma-btn-light .elementor-button{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;font-family:var(--sma-sans);font-weight:500;font-size:15px;line-height:1;border:1px solid var(--sma-ink);transition:background .25s var(--sma-ease),color .25s var(--sma-ease),border-color .25s var(--sma-ease);white-space:nowrap;text-decoration:none}
.sma-btn--primary,.sma-btn-primary .elementor-button{background:var(--sma-ink);color:#fff}
.sma-btn--primary:hover,.sma-btn-primary .elementor-button:hover{background:var(--sma-clay);border-color:var(--sma-clay);color:#fff}
.sma-btn--ghost,.sma-btn-ghost .elementor-button{background:transparent;color:var(--sma-ink)}
.sma-btn--ghost:hover,.sma-btn-ghost .elementor-button:hover{background:var(--sma-ink);color:#fff}
.sma-btn-light .elementor-button{background:#fff;color:var(--sma-ink);border-color:#fff}
.sma-btn-light .elementor-button:hover{background:var(--sma-paper);color:var(--sma-ink)}
.sma-on-dark .sma-btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.7)}
.sma-on-dark .sma-btn-ghost .elementor-button:hover{background:#fff;color:var(--sma-ink);border-color:#fff}
.sma-link .elementor-button,.sma-link{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:0 0 2px;background:transparent;color:var(--sma-ink);transition:gap .25s var(--sma-ease),color .25s var(--sma-ease)}
.sma-link .elementor-button:hover,.sma-link:hover{gap:14px;color:var(--sma-clay);background:transparent}
.sma-on-dark .sma-link .elementor-button{color:#fff}

/* --- Header (Elementor Pro theme template, container class "sma-header") -- */
.sma-header{position:fixed!important;left:0;right:0;top:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background .4s var(--sma-ease),border-color .4s,box-shadow .5s var(--sma-ease),transform .55s var(--sma-ease),padding .35s var(--sma-ease);will-change:transform}
.sma-header.is-scrolled{background:rgba(244,241,236,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom-color:rgba(27,25,23,.06);box-shadow:0 12px 32px -18px rgba(27,25,23,.35),0 1px 0 rgba(27,25,23,.04)}
.sma-header.is-entering{animation:sma-header-in .55s var(--sma-ease) both}
@keyframes sma-header-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.sma-header,.sma-header.is-entering{animation:none;transition:none}}
.admin-bar .sma-header{top:32px}
@media (max-width:782px){.admin-bar .sma-header{top:46px}}
.sma-header .elementor-nav-menu a{font-size:14px;font-weight:500;letter-spacing:.01em;padding:6px 0;position:relative}
.sma-header .elementor-nav-menu--main .elementor-item::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--sma-ink);transition:right .3s var(--sma-ease)}
.sma-header .elementor-nav-menu--main .elementor-item:hover::after{right:0}
.sma-header .elementor-nav-menu--dropdown{background:var(--sma-paper);border-top:1px solid var(--sma-line)}
.sma-header .elementor-nav-menu--dropdown a{font-family:var(--sma-serif);font-weight:300;font-size:32px;padding:14px var(--sma-gutter);border-bottom:1px solid var(--sma-line)}
.sma-header .elementor-menu-toggle{color:var(--sma-ink);border:0;background:transparent}
.sma-nav-tel .elementor-heading-title a,.sma-nav-tel a{font-size:14px;font-weight:500;color:var(--sma-ink-2);text-decoration:none}
.sma-first-section{padding-top:80px}

/* --- Hero (Plan Hero widget) ------------------------------------------- */
.sma-hero{position:relative;display:grid;gap:44px;align-items:center;min-height:calc(100svh - 80px);padding:40px 0 60px}
.sma-hero--grid::before{content:"";position:absolute;inset:-40px calc(-1 * var(--sma-gutter));z-index:-1;pointer-events:none;background-image:linear-gradient(var(--sma-line) 1px,transparent 1px),linear-gradient(90deg,var(--sma-line) 1px,transparent 1px);background-size:64px 64px;opacity:.35;-webkit-mask-image:radial-gradient(70% 70% at 70% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 70% 50%,#000,transparent)}
.sma-hero__copy{display:grid;gap:28px}
.sma-hero .sma-display{margin:0;max-width:14ch}
.sma-hero .sma-display .ln{display:block;overflow:hidden}
.sma-hero .sma-display .ln span{display:block;transform:translateY(110%);transition:transform 1.1s var(--sma-ease)}
.sma-hero.is-ready .sma-display .ln:nth-child(1) span{transform:none;transition-delay:.15s}
.sma-hero.is-ready .sma-display .ln:nth-child(2) span{transform:none;transition-delay:.27s}
.sma-hero.is-ready .sma-display .ln:nth-child(3) span{transform:none;transition-delay:.39s}
.sma-hero.is-ready .sma-display .ln:nth-child(4) span{transform:none;transition-delay:.51s}
.sma-hero.is-ready .sma-display .ln:nth-child(n+5) span{transform:none;transition-delay:.63s}
.sma-hero__side{display:grid;gap:26px;opacity:0;transform:translateY(16px);transition:opacity 1s var(--sma-ease) .8s,transform 1s var(--sma-ease) .8s}
.sma-hero.is-ready .sma-hero__side{opacity:1;transform:none}
.sma-hero .sma-lede{max-width:44ch;margin:0}
.sma-hero__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sma-hero__tel{font-size:14px;color:var(--sma-ink-2);display:inline-flex;align-items:center;gap:8px;margin-left:6px;text-decoration:none}
@media (min-width:900px){.sma-hero{grid-template-columns:1fr 1.05fr;gap:56px;padding:60px 0 60px}}

/* Drawing sheet */
.sma-sheet{position:relative;background:#FBFAF7;border:1px solid var(--sma-line);box-shadow:0 30px 60px -30px rgba(27,25,23,.35),0 1px 0 rgba(255,255,255,.6) inset;padding:18px 18px 0;opacity:0;transform:translateY(24px) rotate(-.4deg);transition:opacity 1.2s var(--sma-ease) .5s,transform 1.2s var(--sma-ease) .5s}
.sma-hero.is-ready .sma-sheet{opacity:1;transform:none}
.sma-sheet svg{display:block;width:100%;height:auto;overflow:visible}
.sma-tb{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:end;border-top:1px solid var(--sma-ink);margin-top:10px;padding:10px 0 12px;font-family:var(--sma-sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sma-ink-2)}
.sma-tb b{display:block;font-weight:600;color:var(--sma-ink);font-size:11px;margin-bottom:2px}
.sma-tb__phase{min-width:150px;text-align:right}
.sma-tb__phase-label{transition:opacity .4s}
.sma-ph{display:inline-block;padding:3px 8px;border:1px solid var(--sma-ink);border-radius:999px;color:var(--sma-ink);font-weight:500;letter-spacing:.08em}
@media (max-width:899px){.sma-tb{grid-template-columns:1fr auto;font-size:9px}.sma-tb__addr{display:none}.sma-tb__phase{min-width:0}}

/* Line-drawing engine (paths carry pathLength=1) */
.sma-sheet .dw{fill:none;stroke:var(--sma-ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.sma-sheet .dw.thin{stroke-width:.8;stroke:var(--sma-ink-2)}
.sma-sheet .dw.hair{stroke-width:.6;stroke:var(--sma-stone)}
.sma-sheet .dw.wall{stroke-width:2.4}
.sma-sheet .dw.clay{stroke:var(--sma-clay);stroke-width:1.2}
.sma-sheet.is-playing .dw{animation:sma-draw 1.1s var(--sma-ease) forwards}
@keyframes sma-draw{to{stroke-dashoffset:0}}
.sma-sheet .lab{font-family:var(--sma-sans);font-size:9px;letter-spacing:.12em;text-transform:uppercase;fill:var(--sma-ink-2);opacity:0}
.sma-sheet .lab.clay{fill:var(--sma-clay)}
.sma-sheet.is-playing .lab{animation:sma-fadein .6s var(--sma-ease) forwards}
@keyframes sma-fadein{to{opacity:1}}
.sma-sheet .stamp{opacity:0;transform-origin:center;transform:scale(1.3) rotate(-8deg)}
.sma-sheet.is-playing .stamp{animation:sma-stamp .5s cubic-bezier(.2,1.4,.4,1) forwards 7.6s}
@keyframes sma-stamp{to{opacity:1;transform:scale(1) rotate(-8deg)}}
.sma-sheet.is-fading svg{transition:opacity .7s var(--sma-ease);opacity:0}
.sma-sheet.is-playing .p1{animation-delay:.2s}.sma-sheet.is-playing .p2{animation-delay:.9s}.sma-sheet.is-playing .p3{animation-delay:1.8s}.sma-sheet.is-playing .p4{animation-delay:2.7s}.sma-sheet.is-playing .p5{animation-delay:3.7s}.sma-sheet.is-playing .p6{animation-delay:4.7s}.sma-sheet.is-playing .p7{animation-delay:5.6s}.sma-sheet.is-playing .p8{animation-delay:6.4s}
.sma-sheet.is-playing .lab.p6{animation-delay:5s}.sma-sheet.is-playing .lab.p7{animation-delay:5.9s}.sma-sheet.is-playing .lab.p8{animation-delay:6.6s}
@media (prefers-reduced-motion:reduce){
  .sma-hero .sma-display .ln span,.sma-hero__side,.sma-sheet{transform:none;opacity:1;transition:none}
  .sma-sheet .dw{stroke-dashoffset:0;animation:none!important}.sma-sheet .lab,.sma-sheet .stamp{opacity:1;animation:none!important}.sma-sheet .stamp{transform:rotate(-8deg)}
}

/* --- Proof strip ---------------------------------------------------------- */
.sma-proof{border-top:1px solid var(--sma-line);border-bottom:1px solid var(--sma-line)}
.sma-proof-item{border-bottom:1px solid var(--sma-line);padding:22px 16px 22px 0}
.sma-proof-item .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:32px;line-height:1;letter-spacing:-.02em;margin-bottom:6px}
.sma-proof-item .elementor-widget-text-editor{font-size:14px;line-height:1.4;color:var(--sma-ink)}
.sma-proof-item .elementor-widget-text-editor small{display:block;color:var(--sma-stone)}
@media (min-width:900px){.sma-proof-item{border-bottom:0;border-right:1px solid var(--sma-line);padding:30px 24px}.sma-proof-item:first-child{padding-left:0}.sma-proof-item:last-child{border-right:0}}

/* --- Audience path cards ----------------------------------------------- */
.sma-path{background:var(--sma-white);border:1px solid var(--sma-line);border-radius:6px;overflow:hidden}
.sma-path .elementor-widget-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 1.1s var(--sma-ease)}
.sma-path:hover .elementor-widget-image img{transform:scale(1.04)}
.sma-path .sma-path-title .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:clamp(28px,3vw,38px);letter-spacing:-.02em;line-height:1.05}
.sma-path .elementor-icon-list-items{margin:0}
.sma-path .elementor-icon-list-item{border-bottom:1px solid var(--sma-line)}
.sma-path .elementor-icon-list-item a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:15px;font-weight:500;width:100%}
.sma-path .elementor-icon-list-item a:hover{color:var(--sma-clay)}
.sma-path .elementor-icon-list-icon{order:2;opacity:.6}
@media (min-width:900px){.sma-path .elementor-widget-image img{aspect-ratio:auto;min-height:100%}}

/* --- Project cards (Elementor Pro "Posts" widget, class "sma-projects") --- */
.sma-projects .elementor-posts-container{gap:28px 24px}
.sma-projects .elementor-post{display:grid;gap:14px;background:transparent;box-shadow:none;border:0}
.sma-projects .elementor-post__thumbnail{overflow:hidden;border-radius:4px;background:var(--sma-paper-2)}
.sma-projects .elementor-post__thumbnail img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.1s var(--sma-ease)}
.sma-projects .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.035)}
.sma-projects .elementor-post__text{padding:0;display:flex;flex-direction:column;gap:4px}
.sma-projects .elementor-post__title{font-family:var(--sma-sans);font-size:17px;font-weight:500;margin:0;line-height:1.3}
.sma-projects .elementor-post__title a{color:var(--sma-ink)}
.sma-projects .elementor-post__excerpt p{font-size:13px;color:var(--sma-stone);margin:0}
.sma-projects .elementor-post__meta-data{display:none}
@media (min-width:1000px){
  .sma-projects .elementor-posts-container{grid-template-columns:repeat(6,1fr)}
  .sma-projects .elementor-post:nth-child(1){grid-column:span 4}
  .sma-projects .elementor-post:nth-child(1) .elementor-post__thumbnail img{aspect-ratio:16/10}
  .sma-projects .elementor-post:nth-child(2){grid-column:span 2}
  .sma-projects .elementor-post:nth-child(2) .elementor-post__thumbnail img{aspect-ratio:3/4}
  .sma-projects .elementor-post:nth-child(3),.sma-projects .elementor-post:nth-child(4),.sma-projects .elementor-post:nth-child(5){grid-column:span 2}
  .sma-projects .elementor-post:nth-child(6){grid-column:span 6}
  .sma-projects .elementor-post:nth-child(6) .elementor-post__thumbnail img{aspect-ratio:21/9}
}
.sma-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px}
.sma-chips .elementor-icon-list-item{margin:0!important;padding:0!important}
.sma-chips .elementor-icon-list-item a,.sma-chips .elementor-icon-list-text{font-size:13px;padding:8px 14px;border:1px solid var(--sma-line);border-radius:999px;color:var(--sma-ink-2);display:inline-block}
.sma-chips .elementor-icon-list-item:first-child .elementor-icon-list-text{background:var(--sma-ink);color:#fff;border-color:var(--sma-ink)}

/* --- Case study spec list ("sma-spec" on an icon list or text) ----------- */
.sma-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin:8px 0}
.sma-spec dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:4px}
.sma-spec dd{margin:0;font-size:15px;color:#fff}
.sma-spec dl{display:contents}

/* --- Process steps ("sma-step" on each column container) ----------------- */
.sma-step{border-top:1px solid var(--sma-ink);padding-top:26px}
.sma-step .sma-step-n .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:34px;line-height:1;color:var(--sma-stone)}
.sma-step h3,.sma-step .elementor-heading-title.sma-step-title{font-size:clamp(18px,1.6vw,21px);font-weight:500}
.sma-step .elementor-widget-text-editor{color:var(--sma-ink-2);font-size:15px;max-width:44ch}

/* --- About portrait -------------------------------------------------------- */
.sma-portrait img{border-radius:50%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;max-width:420px;width:100%}
.sma-creds .elementor-icon-list-item{font-size:15px;color:var(--sma-ink-2)}
.sma-creds .elementor-icon-list-icon{color:var(--sma-clay)}

/* --- Google reviews (Trustindex widget wrapper "sma-reviews") -------------- */
.sma-gsum{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.sma-gsum .sma-score .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:64px;line-height:1;letter-spacing:-.03em}
.sma-reviews .ti-widget{font-family:var(--sma-sans)!important}
.sma-reviews .ti-widget .ti-review-item,.sma-reviews .ti-widget .ti-review-content{font-family:var(--sma-sans)!important;color:var(--sma-ink-2)!important}
.sma-reviews .ti-widget .ti-name{color:var(--sma-ink)!important}
.sma-reviews .ti-widget .ti-stars .ti-star{color:#F4B400!important}

/* --- Contact form (Gravity Forms) ------------------------------------------ */
.sma-form{background:var(--sma-paper);color:var(--sma-ink);padding:32px 28px;border-radius:6px}
.sma-form .gform_title{font-family:var(--sma-serif);font-weight:300;font-size:30px;letter-spacing:-.02em;margin:0 0 16px}
.sma-form .gform_wrapper.gravity-theme .gfield_label{font-size:13px;font-weight:500;color:var(--sma-ink-2);margin-bottom:6px}
.sma-form .gform_wrapper.gravity-theme input:not([type=submit]),.sma-form .gform_wrapper.gravity-theme select,.sma-form .gform_wrapper.gravity-theme textarea{font:inherit;font-size:15px;padding:13px 14px;border:1px solid var(--sma-line);border-radius:4px;background:#fff;color:var(--sma-ink);width:100%}
.sma-form .gform_wrapper.gravity-theme textarea{min-height:110px}
.sma-form .gform_wrapper.gravity-theme .gform_footer{margin:0;padding:8px 0 0}
.sma-form .gform_wrapper.gravity-theme input[type=submit]{display:inline-flex;align-items:center;padding:15px 24px;border-radius:999px;font-weight:500;font-size:15px;line-height:1;border:1px solid var(--sma-ink);background:var(--sma-ink);color:#fff;cursor:pointer;transition:background .25s}
.sma-form .gform_wrapper.gravity-theme input[type=submit]:hover{background:var(--sma-clay);border-color:var(--sma-clay)}
.sma-form .gform_wrapper.gravity-theme .gform_required_legend{display:none}
.sma-contact-list .elementor-icon-list-item{display:grid;gap:3px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);font-size:15px;color:#fff}
.sma-contact-list .elementor-icon-list-item a{color:#fff}
.sma-contact-list .elementor-icon-list-item small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block}

/* --- Footer ----------------------------------------------------------------- */
.sma-footer{font-size:14px;color:var(--sma-ink-2)}
.sma-footer .elementor-heading-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);font-weight:500}
.sma-footer .elementor-nav-menu a,.sma-footer .elementor-icon-list-item a{font-size:14px;color:var(--sma-ink-2);padding:4px 0}
.sma-footer a:hover{color:var(--sma-clay)}
.sma-footer address{font-style:normal;line-height:1.7}
.sma-footer-bottom{border-top:1px solid var(--sma-line);font-size:13px;color:var(--sma-stone)}
@media (max-width:899px){.sma-footer{padding-bottom:90px!important}}

/* --- Mobile sticky bar (container class "sma-sticky") ----------------------- */
.sma-sticky{position:fixed!important;left:0;right:0;bottom:0;z-index:60;display:grid!important;grid-template-columns:1fr 1fr;gap:1px;background:var(--sma-line);border-top:1px solid var(--sma-line);padding:0 0 env(safe-area-inset-bottom)!important;margin:0!important}
.sma-sticky .elementor-widget-button{width:100%}
.sma-sticky .elementor-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 10px;font-weight:500;font-size:14px;border-radius:0;border:0;background:var(--sma-paper);color:var(--sma-ink);width:100%}
.sma-sticky .sma-sticky-primary .elementor-button{background:var(--sma-ink);color:#fff}
@media (min-width:900px){.sma-sticky{display:none!important}}
/* Hidden above the fold; slides up once the visitor has scrolled. */
.sma-sticky{transform:translateY(105%);transition:transform .55s cubic-bezier(.2,.7,.2,1);box-shadow:0 -12px 30px -18px rgba(27,25,23,.35)}
.sma-sticky.is-visible{transform:none}
@media (prefers-reduced-motion:reduce){.sma-sticky{transition:none}.sma-burger i{transition:none}}

/* --- Reveal on scroll (class "sma-rv" on any element) ----------------------- */
.sma-rv{opacity:0;transform:translateY(18px);transition:opacity .9s var(--sma-ease),transform .9s var(--sma-ease)}
.sma-rv.is-in{opacity:1;transform:none}
.elementor-editor-active .sma-rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sma-rv{opacity:1;transform:none;transition:none}}

/* --- Small utilities ---------------------------------------------------------- */
.sma-card-img img{border-radius:4px}
.sma-quote{background:var(--sma-white);border:1px solid var(--sma-line);border-radius:6px}
.sma-quote .elementor-widget-text-editor{font-family:var(--sma-serif);font-weight:300;font-size:clamp(20px,1.8vw,24px);line-height:1.3}
.sma-note-clay{color:var(--sma-clay)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* --- Added for the Elementor build ------------------------------------------ */
.sma-contact-list-plain,.sma-contact-list .sma-contact-list-plain{list-style:none;margin:0;padding:0;display:grid;gap:16px;font-size:15px}
.sma-contact-list-plain li{display:grid;gap:3px;padding-top:16px;border-top:1px solid var(--sma-line)}
.sma-on-dark .sma-contact-list-plain li{border-top-color:rgba(255,255,255,.18);color:#fff}
.sma-contact-list-plain small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sma-stone)}
.sma-on-dark .sma-contact-list-plain small{color:rgba(255,255,255,.5)}
.sma-contact-list-plain a{text-decoration:none}
.sma-contact-list-plain a:hover{text-decoration:underline}
.sma-spec-row{border-top:1px solid var(--sma-line);border-bottom:1px solid var(--sma-line);padding:18px 0;margin-top:12px}
.sma-spec-row .elementor-widget-text-editor{font-size:15px;width:auto}
.sma-spec-row .elementor-widget-text-editor:empty{display:none}
.sma-spec-row small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sma-stone);margin-bottom:2px}
.sma-prose{font-size:17px;line-height:1.65;color:var(--sma-ink-2);max-width:66ch}
.sma-prose h2{font-size:clamp(26px,3vw,34px);margin:32px 0 12px;color:var(--sma-ink)}
.sma-prose ul{padding-left:1.2em}
.sma-projects--even .elementor-post{grid-column:auto!important}
.sma-projects--even .elementor-post .elementor-post__thumbnail img{aspect-ratio:4/3!important}
.sma-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.sma-gallery-grid .sma-gallery-item{display:block;overflow:hidden;border-radius:4px;background:var(--sma-paper-2)}
.sma-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.1s var(--sma-ease)}
.sma-gallery-grid .sma-gallery-item:hover img{transform:scale(1.03)}
@media (min-width:900px){.sma-gallery-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.sma-footer-logo img{width:120px;height:auto}
.sma-header .sma-logo img{width:110px;height:auto}
.sma-header .elementor-widget-button .elementor-button{padding:13px 20px;font-size:14px}
.sma-projects .elementor-post__title a:hover{color:var(--sma-clay)}
.elementor-widget-theme-post-featured-image img{border-radius:4px;width:100%}
.sma-specs{display:flex;flex-wrap:wrap;gap:18px 40px;margin:0;padding:18px 0;border-top:1px solid var(--sma-line);border-bottom:1px solid var(--sma-line)}
.sma-specs div{display:grid;gap:3px}
.sma-specs dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sma-stone)}
.sma-specs dd{margin:0;font-size:15px}
.sma-spec-row{border:0;padding:0}
@media (min-width:900px){.sma-proof .sma-proof-item{width:auto!important;flex:1 1 0;min-width:0}}
/* Hello Elementor resets links to pink; inherit instead. */
:where(body.sma) a{color:inherit}
.sma-header .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap}
.sma-header .elementor-widget-nav-menu{flex-shrink:0}
.sma-header .e-con-inner{flex-wrap:nowrap}
/* Rows: never let 50/50 columns wrap on desktop because of the gap. */
@media (min-width:1025px){.e-con.e-flex > .e-con-inner > .e-con[style*="--width"],.e-con.e-flex > .e-con[style*="--width"]{min-width:0}}

.sma-path .elementor-widget-image,.sma-path .elementor-widget-image .elementor-widget-container,.sma-path .elementor-widget-image img{width:100%;height:100%}
.sma-path > .e-con{min-height:100%}
.sma-header .sma-logo{align-self:center}
.sma-creds .elementor-icon-list-icon svg,.sma-creds .elementor-icon-list-icon i{width:6px;height:6px;font-size:6px;fill:var(--sma-clay);color:var(--sma-clay)}
.sma-creds .elementor-icon-list-icon{margin-top:2px}
.sma-form .gform_wrapper.gravity-theme .gfield_required{color:var(--sma-stone);font-weight:400}
.sma-link .elementor-button-content-wrapper{gap:8px}
@media (max-width:899px){.sma-proof .sma-proof-item{width:50%!important}.sma-proof .sma-proof-item:nth-child(odd){padding-right:16px}}
.sma-header .sma-logo{align-self:center!important;height:auto}
.sma-header .sma-logo img{display:block}
/* Page gutter lives on top-level boxed containers only (kit container padding is 0). */
body.sma .e-con.e-parent.e-con-boxed > .e-con-inner{padding-inline:var(--sma-gutter);box-sizing:border-box}
/* Featured grid ratios (Elementor Pro posts widget uses padding-bottom ratio boxes). */
@media (min-width:1000px){
  .sma-projects .elementor-post:nth-child(1) .elementor-post__thumbnail__link{padding-bottom:62.5%!important}
  .sma-projects .elementor-post:nth-child(2) .elementor-post__thumbnail__link{padding-bottom:133%!important}
  .sma-projects .elementor-post:nth-child(6) .elementor-post__thumbnail__link{padding-bottom:42.85%!important}
}
.sma-projects .elementor-post__thumbnail__link{padding-bottom:75%!important;display:block;position:relative;overflow:hidden;border-radius:4px}
.sma-projects .elementor-post__thumbnail{position:absolute;inset:0}
.sma-projects .elementor-post__thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.sma-projects .elementor-post__thumbnail img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.sma-projects .elementor-post__thumbnail{position:absolute!important;inset:0!important;padding:0!important}
/* Proof strip stays a wrapping row on phones (Elementor switches rows to columns on mobile). */
@media (max-width:899px){.sma-proof > .e-con-inner > .e-con{flex-direction:row!important;flex-wrap:wrap!important}}
@media (min-width:1000px){.sma-projects--even .elementor-posts-container{grid-template-columns:repeat(3,1fr)!important}}
@media (min-width:1000px){.sma-projects--even .elementor-post .elementor-post__thumbnail__link{padding-bottom:75%!important}}
.sma-projects.sma-projects--even .elementor-post:nth-child(n) .elementor-post__thumbnail__link{padding-bottom:75%!important}
.sma-projects.sma-projects--even .elementor-post:nth-child(n){grid-column:auto!important}
/* Elementor Pro centres card images with translate(-50%,-50%); we position with inset instead. */
.sma-projects .elementor-post__thumbnail img{transform:none!important}
.sma-projects .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.035)!important}

/* ==========================================================================
   Free-stack additions: theme layout helpers, project cards, HFE header
   ========================================================================== */
.sma-wrap{max-width:1360px;margin:0 auto;padding-inline:var(--sma-gutter);box-sizing:border-box}
.sma-h2-plain{font-family:var(--sma-serif);font-weight:300;font-size:clamp(32px,4vw,52px);letter-spacing:-.025em;line-height:1;margin:0 0 32px}

/* Project cards (Project Grid widget + [sma_projects]) */
.sma-grid{display:grid;gap:28px 24px;grid-template-columns:1fr}
@media (min-width:700px){.sma-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){
  .sma-grid--even{grid-template-columns:repeat(3,1fr)}
  .sma-grid--featured{grid-template-columns:repeat(6,1fr)}
  .sma-grid--featured .sma-card:nth-child(1){grid-column:span 4}
  .sma-grid--featured .sma-card:nth-child(1) .sma-card__media{aspect-ratio:16/10}
  .sma-grid--featured .sma-card:nth-child(2){grid-column:span 2}
  .sma-grid--featured .sma-card:nth-child(2) .sma-card__media{aspect-ratio:3/4}
  .sma-grid--featured .sma-card:nth-child(3),.sma-grid--featured .sma-card:nth-child(4),.sma-grid--featured .sma-card:nth-child(5){grid-column:span 2}
  .sma-grid--featured .sma-card:nth-child(6){grid-column:span 6}
  .sma-grid--featured .sma-card:nth-child(6) .sma-card__media{aspect-ratio:21/9}
}
.sma-card{display:grid;gap:14px;text-decoration:none;color:var(--sma-ink)}
.sma-card__media{display:block;overflow:hidden;border-radius:4px;background:var(--sma-paper-2);aspect-ratio:4/3}
.sma-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--sma-ease)}
.sma-card:hover .sma-card__media img{transform:scale(1.035)}
.sma-card__text{display:grid;gap:4px}
.sma-card__title{font-family:var(--sma-sans);font-size:17px;font-weight:500;margin:0;line-height:1.3;transition:color .2s}
.sma-card:hover .sma-card__title{color:var(--sma-clay)}
.sma-card__meta{font-size:13px;color:var(--sma-stone)}
.sma-pagination{margin-top:40px;font-size:14px}
.sma-pagination .page-numbers{display:inline-block;padding:8px 12px;border:1px solid var(--sma-line);border-radius:999px;margin-right:6px;text-decoration:none}
.sma-pagination .page-numbers.current{background:var(--sma-ink);color:#fff;border-color:var(--sma-ink)}

/* Single project template */
.sma-project-head{padding-top:150px;display:grid;gap:18px;padding-bottom:40px}
.sma-project-head .sma-crumbs{margin:0}
.sma-project-head .sma-crumbs a{text-decoration:none}
.sma-project-head .sma-display{margin:0}
.sma-project-hero img{width:100%;height:auto;border-radius:4px;display:block}
.sma-project-body{display:grid;gap:48px;padding:40px 0 64px}
.sma-project-aside{background:var(--sma-paper-2);padding:28px;border-radius:4px;align-self:start;display:grid;gap:14px}
.sma-project-aside h3{margin:0;font-size:20px}
.sma-project-aside p{margin:0;color:var(--sma-ink-2)}
.sma-project-gallery{padding-bottom:96px}
.sma-project-more{padding-bottom:96px}
@media (min-width:900px){.sma-project-body{grid-template-columns:1.5fr 1fr;gap:64px}.sma-project-head{padding-top:160px}}
@media (max-width:899px){.sma-project-head{padding-top:110px}}
.sma-archive-head{padding-top:150px;padding-bottom:48px;display:grid;gap:18px}
.sma-archive-grid{padding-bottom:96px}

/* Header (Header & Footer Builder template, container class "sma-header") */
@media (min-width:1025px){.sma-header .sma-nav--horizontal .sma-nav__list{display:flex;align-items:center;gap:0;flex-wrap:nowrap}}
.sma-header .sma-nav__list li{margin:0}
.sma-header .sma-nav__list a.sma-nav__link{font-family:var(--sma-sans);font-size:14px;font-weight:500;letter-spacing:.01em;color:var(--sma-ink);padding:10px 14px;position:relative;text-decoration:none;transition:color .2s}
.sma-header .sma-nav__list a.sma-nav__link:hover,.sma-header .sma-nav__list .current-menu-item > a.sma-nav__link{color:var(--sma-clay)}
@media (min-width:1025px){.sma-header .sma-nav--horizontal a.sma-nav__link::after{content:"";position:absolute;left:14px;right:100%;bottom:6px;height:1px;background:currentColor;transition:right .3s var(--sma-ease)}
.sma-header .sma-nav--horizontal a.sma-nav__link:hover::after{right:14px}}
.sma-header .sma-nav__toggle{color:var(--sma-ink);border:0;background:transparent;padding:8px}
.sma-header .sma-nav__toggle svg,.sma-header .sma-nav__toggle i{width:24px;height:24px;font-size:24px}
.sma-header .sma-nav--vertical,.sma-header .sma-nav.is-mobile nav.sma-nav__menu .sma-nav__list{background:var(--sma-paper);border-top:1px solid var(--sma-line)}
.sma-header .sma-nav.is-mobile nav.sma-nav__menu a.sma-nav__link{font-family:var(--sma-serif);font-weight:300;font-size:30px;padding:14px var(--sma-gutter);border-bottom:1px solid var(--sma-line);letter-spacing:-.02em}
.sma-header .sma-nav.is-mobile nav.sma-nav__menu{position:absolute;left:0;right:0;top:100%}
.sma-header .sma-logo__img,.sma-header .sma-logo__img{width:110px;height:auto;display:block}
.sma-header .sma-nav-right{display:flex;align-items:center;gap:20px}
.sma-header .elementor-widget{margin:0!important}
.sma-header .elementor-widget-button .elementor-button{padding:13px 20px;font-size:14px}
.sma-footer .sma-logo__img{width:120px;height:auto}
.sma-footer .sma-nav--vertical .sma-nav__list{display:grid;gap:8px}
.sma-footer .sma-nav__list a.sma-nav__link{font-size:14px;color:var(--sma-ink-2);padding:2px 0;text-decoration:none}
.sma-footer .sma-nav__list a.sma-nav__link:hover{color:var(--sma-clay)}
/* Header layout is enforced here so it cannot drift: logo left, nav centre, phone + CTA right. */
body.sma .sma-header > .e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:24px;min-height:80px}
body.sma .sma-header > .e-con-inner > .elementor-widget-sma-site-logo{flex:0 0 auto;width:auto!important;max-width:none!important}
body.sma .sma-header > .e-con-inner > .elementor-widget-sma-nav-menu{flex:0 1 auto;width:auto!important;max-width:none!important}
body.sma .sma-header .sma-nav-right{flex:0 0 auto!important;width:auto!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:20px!important;min-height:0}
body.sma .sma-header .sma-nav-right > .elementor-widget{width:auto!important;max-width:none!important}
body.sma .sma-header .sma-nav-tel .elementor-heading-title{white-space:nowrap}
body.sma .sma-header .sma-nav__toggle{margin-left:auto}
@media (max-width:1024px){body.sma .sma-header > .e-con-inner > .elementor-widget-sma-nav-menu{flex:1 1 auto}}
@media (max-width:767px){body.sma .sma-header .sma-nav-right{display:none!important}body.sma .sma-header > .e-con-inner{min-height:64px}}
@media (max-width:1024px){body.sma .sma-header .sma-nav-tel{display:none!important}}
@media (max-width:1024px){body.sma .sma-header .elementor-widget-sma-nav-menu > .elementor-widget-container{display:flex;justify-content:flex-end}body.sma .sma-header .sma-nav__toggle{margin:0}}
@media (max-width:1024px){body.sma .sma-header .sma-nav{display:flex;justify-content:flex-end;width:100%}}
body.sma .sma-header .sma-nav__toggle{margin:0 0 0 auto!important}
@media (max-width:1024px){
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu{position:absolute;left:0;right:0;top:100%;width:100%;background:var(--sma-paper);border-top:1px solid var(--sma-line);box-shadow:0 30px 40px -20px rgba(27,25,23,.25)}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu .sma-nav__list{display:block;padding:8px 0 16px}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu li{display:block;width:100%}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu a.sma-nav__link{display:block;font-family:var(--sma-serif);font-weight:300;font-size:30px;letter-spacing:-.02em;padding:14px var(--sma-gutter);border-bottom:1px solid var(--sma-line);color:var(--sma-ink)}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu a.sma-nav__link::after{display:none}
}
body.sma h2.sma-card__title,body.sma h3.sma-card__title,body.sma .sma-card__title{font-family:var(--sma-sans);font-size:17px;font-weight:500;letter-spacing:0;line-height:1.3;margin:0}

/* ==========================================================================
   Header v3: quiet, editorial. Space, a hairline, letter-spaced labels.
   ========================================================================== */
body.sma .sma-header{padding-top:18px!important;padding-bottom:0!important;border-bottom:0}
body.sma .sma-header::before{display:none}
body.sma .sma-header > .e-con-inner{min-height:72px;gap:40px;border-bottom:1px solid var(--sma-line);padding-bottom:18px}
body.sma .sma-header.is-scrolled{padding-top:10px!important}
body.sma .sma-header.is-scrolled > .e-con-inner{border-bottom-color:transparent;padding-bottom:10px;min-height:60px}
body.sma .sma-header .sma-logo__img,body.sma .sma-header .sma-logo__img{width:150px}
body.sma .sma-first-section{padding-top:110px}
@media (min-width:1025px){
  body.sma .sma-header .sma-nav--horizontal .sma-nav__list{display:flex;align-items:center;gap:6px;padding:0;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  body.sma .sma-header .sma-nav__list a.sma-nav__link{padding:8px 12px;border-radius:0;background:none!important;font-family:var(--sma-sans);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-ink-2)!important;position:relative;transition:color .25s var(--sma-ease)}
  body.sma .sma-header .sma-nav__list a.sma-nav__link::after{content:"";display:block;position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--sma-ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--sma-ease)}
  body.sma .sma-header .sma-nav__list a.sma-nav__link:hover{color:var(--sma-ink)!important}
  body.sma .sma-header .sma-nav__list a.sma-nav__link:hover::after{transform:scaleX(1)}
  body.sma .sma-header .sma-nav__list .current-menu-item > a.sma-nav__link,body.sma .sma-header .sma-nav__list .current_page_item > a.sma-nav__link,body.sma .sma-header .sma-nav__list .current-menu-ancestor > a.sma-nav__link{color:var(--sma-ink)!important;background:none!important}
  body.sma .sma-header .sma-nav__list .current-menu-item > a.sma-nav__link::after,body.sma .sma-header .sma-nav__list .current_page_item > a.sma-nav__link::after{transform:scaleX(1);background:var(--sma-clay)}
}
body.sma .sma-header .sma-nav-right{gap:10px!important}
body.sma .sma-header .sma-nav-tel-btn .elementor-button{background:transparent;border:0;color:var(--sma-ink);padding:12px 12px;border-radius:0;font-size:14px;font-weight:500;letter-spacing:.01em;box-shadow:none;transition:color .25s}
body.sma .sma-header .sma-nav-tel-btn .elementor-button:hover{color:var(--sma-clay);background:transparent}
body.sma .sma-header .sma-nav-tel-btn .elementor-button svg,body.sma .sma-header .sma-nav-tel-btn .elementor-button i{width:13px;height:13px;font-size:13px;fill:currentColor;opacity:.7}
body.sma .sma-header .sma-cta .elementor-button{padding:14px 20px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--sma-ink);color:#fff;border:1px solid var(--sma-ink);border-radius:2px;box-shadow:none;transition:background .25s var(--sma-ease),border-color .25s var(--sma-ease)}
body.sma .sma-header .sma-cta .elementor-button:hover{background:var(--sma-clay);border-color:var(--sma-clay);transform:none;box-shadow:none}
body.sma .sma-header .sma-cta .elementor-button svg,body.sma .sma-header .sma-cta .elementor-button i{width:14px;height:14px;font-size:14px;fill:currentColor}
body.sma .sma-header .elementor-button-content-wrapper{align-items:center}
body.sma .sma-header .sma-nav__toggle{color:var(--sma-ink)}
@media (max-width:1024px){body.sma .sma-header{padding-top:12px!important}body.sma .sma-header > .e-con-inner{min-height:60px;padding-bottom:12px;gap:16px}body.sma .sma-header .sma-logo__img{width:130px}body.sma .sma-first-section{padding-top:92px}body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu{top:calc(100% + 1px)}}
@media (max-width:767px){body.sma .sma-header > .e-con-inner{min-height:52px}body.sma .sma-header .sma-logo__img{width:112px}}
/* Reveal/animation helpers unaffected. */
@media (min-width:1025px){body.sma .sma-header .sma-nav--horizontal .sma-nav__list{gap:2px}body.sma .sma-header .sma-nav__list a.sma-nav__link{padding:8px 10px;font-size:12px;letter-spacing:.11em}body.sma .sma-header .sma-nav__list a.sma-nav__link::after{left:10px;right:10px}body.sma .sma-header > .e-con-inner{gap:28px}}
@media (max-width:1320px){body.sma .sma-header .sma-nav-tel-btn{display:none!important}}

/* ==========================================================================
   Hero "slide" mode: one large drawing sheet enters from the right and fades toward the headline.
   ========================================================================== */
.sma-hero--slide{overflow:visible}
@media (min-width:900px){.sma-hero--slide{grid-template-columns:.85fr 1.35fr;gap:24px}}
.sma-hero--slide .sma-sheet{border:0;background:transparent;box-shadow:none;padding:0;opacity:0;transform:translateX(140px);transition:opacity 1.6s var(--sma-ease) .2s,transform 1.8s var(--sma-ease) .2s;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 18%,#000 45%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 18%,#000 45%)}
.sma-hero--slide.is-ready .sma-sheet{opacity:1;transform:none}
@media (min-width:900px){.sma-hero--slide .sma-sheet{margin-right:calc(-1 * var(--sma-gutter) - 4vw);margin-left:-8%;width:calc(108% + var(--sma-gutter) + 4vw)}}
.sma-hero--slide .sma-sheet svg{transform-origin:right center;filter:drop-shadow(0 30px 40px rgba(27,25,23,.08))}
.sma-hero--slide .sma-sheet .dw{stroke-dashoffset:0;animation:none!important}
.sma-hero--slide .sma-sheet .lab{opacity:1;animation:none!important}
.sma-hero--slide .sma-sheet .stamp{opacity:0;transform:scale(1.3) rotate(-8deg);transition:opacity .5s cubic-bezier(.2,1.4,.4,1) 1.9s,transform .5s cubic-bezier(.2,1.4,.4,1) 1.9s}
.sma-hero--slide.is-ready .sma-sheet .stamp{opacity:1;transform:scale(1) rotate(-8deg)}
.sma-hero--slide .sma-tb{border-top:1px solid var(--sma-ink);margin-top:6px;padding-top:12px}
.sma-hero--slide .sma-tb__phase-label{transition:none}
@media (max-width:899px){.sma-hero--slide .sma-sheet{-webkit-mask-image:none;mask-image:none;transform:translateX(60px)}}
@media (prefers-reduced-motion:reduce){.sma-hero--slide .sma-sheet{transform:none;opacity:1;transition:none}.sma-hero--slide .sma-sheet .stamp{opacity:1;transform:rotate(-8deg);transition:none}}
@media (min-width:900px){.sma-hero--slide .sma-sheet{margin-left:-4%;margin-right:calc(-1 * var(--sma-gutter) - 2vw);width:calc(104% + var(--sma-gutter) + 2vw)}.sma-hero--slide{padding:40px 0 48px}}
@media (min-width:900px) and (max-height:820px){.sma-hero--slide .sma-sheet{margin-left:0;width:calc(100% + var(--sma-gutter))}}
.sma-hero--slide .sma-tb{display:none}

/* ==========================================================================
   Media Hero: full-bleed photography / video with copy set over it
   ========================================================================== */
.sma-hero-section{padding:0!important}
.sma-mhero{position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;color:#fff;background:var(--sma-ink);overflow:hidden;isolation:isolate}
.sma-mhero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.sma-mhero__img,.sma-mhero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.8s var(--sma-ease)}
.sma-mhero__img--top{object-position:center top}.sma-mhero__img--bottom{object-position:center bottom}.sma-mhero__img--left{object-position:left center}.sma-mhero__img--right{object-position:right center}
.sma-mhero__img.is-on{opacity:1}
.sma-mhero--kb .sma-mhero__img.is-on{animation:sma-kb 12s linear forwards}
@keyframes sma-kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.sma-mhero--video .sma-mhero__video{z-index:1}
.sma-mhero.is-video .sma-mhero__video{opacity:1}
.sma-mhero.is-video .sma-mhero__img{opacity:0;animation:none}
.sma-mhero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.08) 32%,rgba(0,0,0,calc(var(--sma-overlay,.55) * .7)) 62%,rgba(0,0,0,var(--sma-overlay,.55)) 100%),linear-gradient(90deg,rgba(0,0,0,calc(var(--sma-overlay,.55) * .55)) 0%,rgba(0,0,0,0) 60%)}
.sma-mhero__inner{width:100%;align-self:end;padding-top:150px;padding-bottom:36px}
.sma-mhero__copy{display:grid;gap:24px;max-width:62ch}
.sma-mhero__eyebrow{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);opacity:0;transform:translateY(10px);transition:opacity .9s var(--sma-ease) .1s,transform .9s var(--sma-ease) .1s}
.sma-mhero__title{margin:0;font-family:var(--sma-serif);font-weight:300;font-size:clamp(40px,5.8vw,86px);line-height:.98;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.sma-mhero__title .ln{display:block;overflow:hidden}
.sma-mhero__title .ln span{display:block;transform:translateY(110%);transition:transform 1.1s var(--sma-ease)}
.sma-mhero.is-ready .sma-mhero__title .ln:nth-child(1) span{transform:none;transition-delay:.2s}
.sma-mhero.is-ready .sma-mhero__title .ln:nth-child(2) span{transform:none;transition-delay:.32s}
.sma-mhero.is-ready .sma-mhero__title .ln:nth-child(3) span{transform:none;transition-delay:.44s}
.sma-mhero.is-ready .sma-mhero__title .ln:nth-child(n+4) span{transform:none;transition-delay:.56s}
.sma-mhero.is-ready .sma-mhero__eyebrow{opacity:1;transform:none}
.sma-mhero__lede{margin:0;font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:rgba(255,255,255,.86);max-width:46ch;opacity:0;transform:translateY(12px);transition:opacity 1s var(--sma-ease) .8s,transform 1s var(--sma-ease) .8s}
.sma-mhero__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;opacity:0;transform:translateY(12px);transition:opacity 1s var(--sma-ease) 1s,transform 1s var(--sma-ease) 1s}
.sma-mhero.is-ready .sma-mhero__lede,.sma-mhero.is-ready .sma-mhero__actions{opacity:1;transform:none}
.sma-btn--light{background:#fff;color:var(--sma-ink);border-color:#fff}
.sma-btn--light:hover{background:var(--sma-paper);color:var(--sma-ink)}
.sma-btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.sma-btn--outline:hover{background:#fff;color:var(--sma-ink);border-color:#fff}
.sma-mhero__tel{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.85);font-size:14px;text-decoration:none;margin-left:6px}
.sma-mhero__tel:hover{color:#fff}
.sma-mhero__foot{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:18px;padding-bottom:22px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);opacity:0;transition:opacity 1s var(--sma-ease) 1.3s}
.sma-mhero.is-ready .sma-mhero__foot{opacity:1}
.sma-mhero__foot::before{content:"";position:absolute;left:0;right:0;height:1px}
.sma-mhero__proof{margin:0}
.sma-mhero__meta{display:flex;align-items:center;gap:18px;white-space:nowrap}
.sma-mhero__dots{display:flex;gap:6px}
.sma-mhero__dots button{width:34px;height:2px;border:0;padding:0;background:rgba(255,255,255,.3);cursor:pointer;position:relative;overflow:hidden}
.sma-mhero__dots button::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.sma-mhero__dots button.is-on::after{animation:sma-bar 7s linear forwards}
@keyframes sma-bar{to{transform:scaleX(1)}}
@media (max-width:899px){
  .sma-mhero{min-height:92svh}
  .sma-mhero__inner{padding-top:120px;padding-bottom:28px}
  .sma-mhero__foot{flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:88px;white-space:normal}
  .sma-mhero__proof{font-size:11px;line-height:1.6}
  .sma-mhero__meta{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .sma-mhero__title .ln span,.sma-mhero__eyebrow,.sma-mhero__lede,.sma-mhero__actions,.sma-mhero__foot{transform:none;opacity:1;transition:none}
  .sma-mhero--kb .sma-mhero__img.is-on{animation:none}.sma-mhero__dots button.is-on::after{animation:none;transform:none}
}

/* Header over the dark hero: light text until scrolled past it */
body.sma .sma-header.is-over-dark:not(.is-scrolled) > .e-con-inner{border-bottom-color:rgba(255,255,255,.18)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-logo__img{filter:invert(1) brightness(2)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__list a.sma-nav__link{color:rgba(255,255,255,.85)!important}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__list a.sma-nav__link:hover,body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__list .current-menu-item > a.sma-nav__link{color:#fff!important}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__list a.sma-nav__link::after{background:#fff}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav-tel-btn .elementor-button{color:#fff}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-cta .elementor-button{background:#fff;color:var(--sma-ink);border-color:#fff}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-cta .elementor-button:hover{background:var(--sma-paper)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__toggle{color:#fff}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav.is-mobile nav.sma-nav__menu a.sma-nav__link{color:var(--sma-ink)!important}
.sma-mhero{grid-template-columns:minmax(0,1fr)}
.sma-mhero__inner,.sma-mhero__foot{min-width:0;max-width:100%}
.sma-mhero__meta{white-space:normal}
@media (max-width:899px){.sma-mhero__title{font-size:clamp(36px,10.5vw,48px)}}
.sma-mhero__shade{background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.06) 30%,rgba(0,0,0,calc(var(--sma-overlay,.55) * .75)) 62%,rgba(0,0,0,var(--sma-overlay,.55)) 100%),linear-gradient(90deg,rgba(0,0,0,calc(var(--sma-overlay,.55) * .8)) 0%,rgba(0,0,0,calc(var(--sma-overlay,.55) * .35)) 45%,rgba(0,0,0,0) 72%)}
@media (max-width:899px){.sma-mhero{--sma-overlay:.5}.sma-mhero__shade{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.15) 25%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.78) 100%)}}
/* Hero copy shares the header's container width so text aligns with the logo. */
.sma-mhero__inner,.sma-mhero__foot{max-width:1360px;margin-inline:auto}
/* Legibility over photography: deeper top band for the nav, gentle shadow on copy. */
.sma-mhero__shade{background:linear-gradient(180deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.28) 22%,rgba(0,0,0,.08) 38%,rgba(0,0,0,calc(var(--sma-overlay,.55) * .8)) 66%,rgba(0,0,0,var(--sma-overlay,.55)) 100%),linear-gradient(90deg,rgba(0,0,0,calc(var(--sma-overlay,.55) * .85)) 0%,rgba(0,0,0,calc(var(--sma-overlay,.55) * .4)) 45%,rgba(0,0,0,0) 72%)}
.sma-mhero__title,.sma-mhero__lede,.sma-mhero__eyebrow,.sma-mhero__foot{text-shadow:0 1px 2px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.25)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__list a.sma-nav__link{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.45)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav-tel-btn .elementor-button{text-shadow:0 1px 2px rgba(0,0,0,.45)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-logo__img{filter:invert(1) brightness(2) drop-shadow(0 1px 2px rgba(0,0,0,.4))}
body.sma .sma-header.is-over-dark:not(.is-scrolled) > .e-con-inner{border-bottom-color:rgba(255,255,255,.28)}
/* Hero legibility, pass 3: full scrim + dark left panel + heavier type. */
.sma-mhero__shade{background:
  linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.38) 20%,rgba(0,0,0,.22) 40%,rgba(0,0,0,calc(var(--sma-overlay,.62) * .9)) 70%,rgba(0,0,0,calc(var(--sma-overlay,.62) * 1.05)) 100%),
  linear-gradient(90deg,rgba(0,0,0,calc(var(--sma-overlay,.62) * 1.1)) 0%,rgba(0,0,0,calc(var(--sma-overlay,.62) * .75)) 38%,rgba(0,0,0,calc(var(--sma-overlay,.62) * .25)) 62%,rgba(0,0,0,0) 82%)}
.sma-mhero__media::after{content:"";position:absolute;inset:0;background:rgba(20,18,16,.18)}
.sma-mhero__title{font-weight:400;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.45),0 12px 32px rgba(0,0,0,.35)}
.sma-mhero__lede{color:#fff;font-weight:500;font-size:clamp(17px,1.45vw,20px);text-shadow:0 1px 3px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.35)}
.sma-mhero__eyebrow{color:rgba(255,255,255,.92);font-weight:600}
.sma-mhero__foot{color:rgba(255,255,255,.88);border-top-color:rgba(255,255,255,.3)}
.sma-mhero__tel{color:#fff}
.sma-btn--outline{border-color:#fff;background:rgba(0,0,0,.25)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__list a.sma-nav__link{color:#fff!important;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav-tel-btn .elementor-button{color:#fff;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6)}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-logo__img{filter:invert(1) brightness(2) drop-shadow(0 2px 4px rgba(0,0,0,.55))}
@media (max-width:899px){.sma-mhero__shade{background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.3) 22%,rgba(0,0,0,.62) 48%,rgba(0,0,0,.85) 100%)}}
/* Line masks leave room for descenders (g, y, p) at tight line-height. */
.sma-mhero__title .ln,.sma-hero .sma-display .ln{padding-bottom:.16em;margin-bottom:-.16em;padding-right:.1em}

/* ==========================================================================
   Proof strip v2: editorial band of five credentials
   ========================================================================== */
body.sma .sma-proof{background:var(--sma-paper-2);border-top:0;border-bottom:1px solid var(--sma-line)}
body.sma .sma-proof > .e-con-inner{padding-top:8px;padding-bottom:8px}
body.sma .sma-proof .sma-proof-item{position:relative;padding:44px 32px 40px 0;border:0;display:grid;gap:10px;align-content:start}
body.sma .sma-proof .sma-proof-item::before{content:"";position:absolute;left:0;top:44px;width:28px;height:2px;background:var(--sma-clay)}
body.sma .sma-proof .sma-proof-item .elementor-widget-heading{padding-top:22px}
body.sma .sma-proof .sma-proof-item .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-variation-settings:"opsz" 144;font-size:clamp(40px,3.6vw,54px);line-height:1;letter-spacing:-.03em;margin:0;color:var(--sma-ink)}
body.sma .sma-proof .sma-proof-item .elementor-widget-text-editor{font-size:15px;font-weight:500;line-height:1.35;color:var(--sma-ink);max-width:22ch}
body.sma .sma-proof .sma-proof-item .elementor-widget-text-editor small{display:block;margin-top:6px;font-size:13px;font-weight:400;line-height:1.45;color:var(--sma-stone)}
@media (min-width:900px){
  body.sma .sma-proof .sma-proof-item{padding-left:32px;border-left:1px solid var(--sma-line)}
  body.sma .sma-proof .sma-proof-item:first-child{padding-left:0;border-left:0}
  body.sma .sma-proof .sma-proof-item::before{left:32px}
  body.sma .sma-proof .sma-proof-item:first-child::before{left:0}
}
@media (max-width:899px){
  body.sma .sma-proof .sma-proof-item{padding:28px 16px 28px 0;border-bottom:1px solid var(--sma-line)}
  body.sma .sma-proof .sma-proof-item:nth-last-child(-n+1){border-bottom:0}
  body.sma .sma-proof .sma-proof-item::before{top:28px}
  body.sma .sma-proof .sma-proof-item .elementor-widget-heading{padding-top:18px}
  body.sma .sma-proof .sma-proof-item .elementor-heading-title{font-size:36px}
}

/* Sticky header: logo shrinks once scrolled. */
body.sma .sma-header .sma-logo__img,body.sma .sma-header .sma-logo__img{transition:width .35s var(--sma-ease)}

/* Sticky logo: beat the widget's generated width rule. */

body.sma .sma-header .sma-logo,body.sma .sma-header .sma-logo{transition:width .35s var(--sma-ease),max-width .35s var(--sma-ease)}
/* Proof strip on phones: two per row. */
@media (max-width:899px){
  body.sma .sma-proof > .e-con-inner > .e-con{gap:0 16px!important}
  body.sma .sma-proof .sma-proof-item{width:calc(50% - 8px)!important;flex:0 0 auto!important;padding-right:0}
  body.sma .sma-proof .sma-proof-item:nth-last-child(-n+2){border-bottom:0}
}

/* ==========================================================================
   Service List: numbered index + hover image panel
   ========================================================================== */
.sma-svc{display:grid;gap:40px}
@media (min-width:1000px){.sma-svc{grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}.sma-svc--right .sma-svc__panel{order:2}}
.sma-svc__panel{position:sticky;top:120px;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--sma-paper-2);display:none}
@media (min-width:1000px){.sma-svc__panel{display:block}}
.sma-svc__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .7s var(--sma-ease),transform 1.4s var(--sma-ease)}
.sma-svc__img.is-on{opacity:1;transform:scale(1)}
.sma-svc__panel-cap{position:absolute;left:18px;bottom:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);background:rgba(27,25,23,.35);padding:6px 10px;border-radius:2px;backdrop-filter:blur(6px)}
.sma-svc__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--sma-ink)}
.sma-svc__row{border-bottom:1px solid var(--sma-line)}
.sma-svc__link{display:grid;grid-template-columns:44px 1fr auto 28px;gap:18px;align-items:center;padding:26px 0;text-decoration:none;color:var(--sma-ink);transition:padding .35s var(--sma-ease)}
.sma-svc__num{font-family:var(--sma-serif);font-weight:300;font-size:20px;color:var(--sma-stone);transition:color .3s}
.sma-svc__body{display:grid;gap:6px;min-width:0}
body.sma .sma-svc__title{font-family:var(--sma-serif);font-weight:400;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.02em;line-height:1.05;margin:0;transition:color .3s}
.sma-svc__desc{font-size:15px;line-height:1.5;color:var(--sma-ink-2);max-width:52ch;opacity:.85}
.sma-svc__tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);white-space:nowrap}
.sma-svc__arrow{color:var(--sma-ink);opacity:0;transform:translateX(-8px);transition:opacity .3s var(--sma-ease),transform .35s var(--sma-ease)}
.sma-svc__row.is-on .sma-svc__arrow,.sma-svc__link:hover .sma-svc__arrow,.sma-svc__link:focus-visible .sma-svc__arrow{opacity:1;transform:none}
.sma-svc__row.is-on .sma-svc__num,.sma-svc__link:hover .sma-svc__num{color:var(--sma-clay)}
.sma-svc__link:hover .sma-svc__title,.sma-svc__link:focus-visible .sma-svc__title{color:var(--sma-clay)}
.sma-svc__link:hover,.sma-svc__link:focus-visible{padding-left:8px}
@media (max-width:767px){.sma-svc__link{grid-template-columns:36px 1fr 24px;gap:14px;padding:20px 0}.sma-svc__tag{display:none}body.sma .sma-svc__title{font-size:22px}.sma-svc__desc{font-size:14px}}

/* ==========================================================================
   Services gallery wall: staggered portrait tiles on a dark ground
   ========================================================================== */
.sma-services-dark{position:relative;overflow:hidden}
.sma-services-dark::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(80% 60% at 50% 40%,#000,transparent);mask-image:radial-gradient(80% 60% at 50% 40%,#000,transparent)}
.sma-services-dark .sma-lede,.sma-services-dark .sma-lede p{color:rgba(255,255,255,.75)}
.sma-wall{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}
@media (min-width:1000px){.sma-wall{grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:88px}.sma-wall__tile:nth-child(3n+2){transform:translateY(88px)}}
.sma-wall__tile{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:#2a2725;color:#fff;text-decoration:none;isolation:isolate;opacity:0;translate:0 24px;transition:opacity .9s var(--sma-ease) calc(var(--i,0) * 90ms),translate .9s var(--sma-ease) calc(var(--i,0) * 90ms)}
.is-in .sma-wall__tile,.elementor-editor-active .sma-wall__tile{opacity:1;translate:0 0}
@media (min-width:1000px){.is-in .sma-wall__tile:nth-child(3n+2){translate:0 88px}}
.sma-wall__media{position:absolute;inset:0}
.sma-wall__media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);filter:saturate(.92);transition:transform 1.6s var(--sma-ease),filter .8s}
.sma-wall__tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.85) 100%);transition:opacity .6s}
.sma-wall__frame{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.28);pointer-events:none;z-index:2;transition:inset .6s var(--sma-ease),border-color .6s}
.sma-wall__num{position:absolute;top:26px;left:26px;z-index:3;font-family:var(--sma-serif);font-weight:300;font-size:22px;color:rgba(255,255,255,.85)}
.sma-wall__tag{position:absolute;top:30px;right:26px;z-index:3;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.sma-wall__text{position:absolute;left:26px;right:26px;bottom:24px;z-index:3;display:grid;gap:10px}
body.sma .sma-wall__title{font-family:var(--sma-serif);font-weight:400;font-size:clamp(24px,2.4vw,34px);line-height:1.02;letter-spacing:-.02em;margin:0;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.sma-wall__desc{font-size:14px;line-height:1.5;color:rgba(255,255,255,.85);max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--sma-ease),opacity .5s var(--sma-ease) .1s}
.sma-wall__cta{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(6px);transition:opacity .5s var(--sma-ease) .15s,transform .5s var(--sma-ease) .15s}
.sma-wall__cta::before{content:"";width:22px;height:1px;background:var(--sma-clay)}
.sma-wall__tile:hover .sma-wall__media img,.sma-wall__tile:focus-visible .sma-wall__media img{transform:scale(1.08);filter:saturate(1)}
.sma-wall__tile:hover .sma-wall__frame,.sma-wall__tile:focus-visible .sma-wall__frame{inset:10px;border-color:rgba(255,255,255,.6)}
.sma-wall__tile:hover .sma-wall__desc,.sma-wall__tile:focus-visible .sma-wall__desc{max-height:120px;opacity:1}
.sma-wall__tile:hover .sma-wall__cta,.sma-wall__tile:focus-visible .sma-wall__cta{opacity:1;transform:none}
.sma-wall__tile:hover::after{opacity:1}
@media (max-width:767px){.sma-wall{grid-template-columns:1fr 1fr;gap:12px}.sma-wall__tile{aspect-ratio:4/5}.sma-wall__num{top:14px;left:14px;font-size:16px}.sma-wall__tag{display:none}.sma-wall__frame{inset:8px}.sma-wall__text{left:14px;right:14px;bottom:14px}body.sma .sma-wall__title{font-size:18px}.sma-wall__desc,.sma-wall__cta{display:none}}
@media (prefers-reduced-motion:reduce){.sma-wall__tile{opacity:1;translate:0 0;transition:none}.sma-wall__media img{transition:none}}
body.sma .sma-wall__media img{width:100%!important;height:100%!important;object-fit:cover;object-position:center}
/* Phones: the wall becomes a horizontal, snap-scrolling strip of tall tiles. */
@media (max-width:767px){
  .sma-services-dark{overflow:visible}
  .sma-services-dark > .e-con-inner{overflow:visible}
  .sma-wall{display:flex!important;grid-template-columns:none;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px var(--sma-gutter) 12px;margin:0 calc(-1 * var(--sma-gutter));scrollbar-width:none}
  .sma-wall::-webkit-scrollbar{display:none}
  .sma-wall__tile{flex:0 0 74vw;aspect-ratio:3/4;scroll-snap-align:start;opacity:1;translate:0 0}
  .sma-wall__tag{display:block;top:16px;right:14px;font-size:10px}
  body.sma .sma-wall__title{font-size:24px}
  .sma-wall__desc{display:block;max-height:none;opacity:1;font-size:13px}
  .sma-wall__cta{display:inline-flex;opacity:1;transform:none}
  .sma-wall__num{font-size:18px;top:16px;left:14px}
}

/* ==========================================================================
   Annotated services: photo with drawn annotations + accordion (light)
   ========================================================================== */
.sma-anno{display:grid;gap:40px}
@media (min-width:1000px){.sma-anno{grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}}
.sma-anno__fig{position:relative;margin:0;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--sma-paper-2);display:none;position:sticky;top:120px}
@media (min-width:1000px){.sma-anno__fig{display:block}}
.sma-anno__img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s var(--sma-ease),transform 1.6s var(--sma-ease)}
.sma-anno__img.is-on{opacity:1;transform:scale(1)}
.sma-anno__fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0) 40%,rgba(0,0,0,.25) 100%);pointer-events:none}
.sma-anno__svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.sma-anno__svg .a{fill:none;stroke:#fff;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.95;vector-effect:non-scaling-stroke}
.sma-anno__svg .a4{fill:var(--sma-clay);stroke:#fff;stroke-width:1.5;stroke-dasharray:none;opacity:0;transform-origin:470px 330px;transform:scale(0)}
.sma-anno__fig.is-drawn .a{animation:sma-draw 1s var(--sma-ease) forwards}
.sma-anno__fig.is-drawn .a2{animation-delay:.25s}.sma-anno__fig.is-drawn .a3{animation-delay:.55s;stroke:var(--sma-clay)}
.sma-anno__fig.is-drawn .a4{animation:sma-pop .45s cubic-bezier(.2,1.4,.4,1) forwards .9s}
@keyframes sma-pop{to{opacity:1;transform:scale(1)}}
.sma-anno__dim{position:absolute;z-index:3;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);opacity:0;transition:opacity .6s .6s}
.sma-anno__dim--top{top:10px;left:50%;transform:translateX(-50%)}
.sma-anno__dim--left{left:6px;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left top}
.sma-anno__fig.is-drawn .sma-anno__dim{opacity:1}
.sma-anno__label{position:absolute;z-index:3;right:5.5%;top:35%;transform:translateY(-100%);display:inline-flex;align-items:center;gap:10px;background:rgba(251,250,247,.94);color:var(--sma-ink);padding:9px 12px 9px 10px;border-radius:2px;font-size:12px;letter-spacing:.06em;box-shadow:0 10px 30px -12px rgba(0,0,0,.5);opacity:0;translate:0 6px;transition:opacity .5s var(--sma-ease) 1.1s,translate .5s var(--sma-ease) 1.1s;max-width:60%}
.sma-anno__fig.is-drawn .sma-anno__label{opacity:1;translate:0 0}
.sma-anno__label-num{font-family:var(--sma-serif);font-size:16px;color:var(--sma-clay);line-height:1}
.sma-anno__label-text{font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.12em;line-height:1.3}
.sma-anno__list{border-top:1px solid var(--sma-ink)}
.sma-anno__item{border-bottom:1px solid var(--sma-line)}
.sma-anno__head{display:grid;grid-template-columns:56px 1fr 28px;align-items:center;gap:16px;width:100%;padding:22px 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--sma-ink);font:inherit}
.sma-anno__num{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sma-stone);font-weight:500;transition:color .3s}
body.sma .sma-anno__title{font-family:var(--sma-serif);font-weight:400;font-size:clamp(24px,2.3vw,34px);letter-spacing:-.02em;line-height:1.05;margin:0;transition:color .3s,translate .35s var(--sma-ease)}
.sma-anno__plus{position:relative;width:20px;height:20px;justify-self:end}
.sma-anno__plus::before,.sma-anno__plus::after{content:"";position:absolute;background:var(--sma-ink);transition:transform .35s var(--sma-ease),opacity .3s}
.sma-anno__plus::before{left:0;right:0;top:9.5px;height:1px}
.sma-anno__plus::after{top:0;bottom:0;left:9.5px;width:1px}
.sma-anno__item.is-on .sma-anno__plus::after{transform:rotate(90deg);opacity:0}
.sma-anno__item.is-on .sma-anno__num{color:var(--sma-clay)}
.sma-anno__head:hover .sma-anno__title{color:var(--sma-clay)}
.sma-anno__item.is-on .sma-anno__title{translate:6px 0}
.sma-anno__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--sma-ease)}
.sma-anno__item.is-on .sma-anno__panel{grid-template-rows:1fr}
.sma-anno__panel-in{overflow:hidden;padding-left:72px;display:grid;gap:14px}
.sma-anno__item.is-on .sma-anno__panel-in{padding-bottom:26px}
.sma-anno__mimg{display:none;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.sma-anno__desc{margin:0;font-size:15px;line-height:1.55;color:var(--sma-ink-2);max-width:48ch}
.sma-anno__link{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--sma-ink);text-decoration:none;border-bottom:1px solid var(--sma-ink);padding-bottom:3px;width:max-content;transition:color .25s,border-color .25s}
.sma-anno__link:hover{color:var(--sma-clay);border-color:var(--sma-clay)}
@media (max-width:999px){.sma-anno__panel-in{padding-left:0}.sma-anno__mimg{display:block;margin-top:6px}.sma-anno__head{grid-template-columns:44px 1fr 24px;padding:18px 0}body.sma .sma-anno__title{font-size:22px}}
@media (prefers-reduced-motion:reduce){.sma-anno__svg .a{stroke-dashoffset:0;animation:none!important}.sma-anno__svg .a4{opacity:1;transform:none;animation:none!important}.sma-anno__label,.sma-anno__dim{opacity:1;transition:none}.sma-anno__img{transition:none}}
/* Accordion heads are <button>s: undo the kit's button styling. */
body.sma .sma-anno__head,body.sma .sma-anno__head:hover,body.sma .sma-anno__head:focus{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--sma-ink)!important;padding:22px 0!important;font-family:var(--sma-sans)!important;text-transform:none!important;letter-spacing:0!important;line-height:1.2!important}
body.sma .sma-anno__head .sma-anno__title{color:var(--sma-ink)}
body.sma .sma-anno__head:hover .sma-anno__title{color:var(--sma-clay)}
body.sma .sma-anno__head:focus-visible{outline:2px solid var(--sma-clay);outline-offset:4px}
@media (max-width:999px){body.sma .sma-anno__head{padding:18px 0!important}}
.sma-anno__fig.is-drawn .a3{stroke:#fff;stroke-width:1.5}
.sma-anno__label{top:41.7%;right:7.5%;transform:translateY(calc(-100% - 8px));max-width:52%}
.sma-anno__label-text{font-size:10.5px}
.sma-anno,.sma-anno__list,.sma-anno__item,.sma-anno__panel,.sma-anno__panel-in{min-width:0;max-width:100%}
.sma-anno__desc{max-width:100%}
@media (max-width:999px){.sma-anno__desc{max-width:48ch}.sma-anno__head{min-width:0}body.sma .sma-anno__title{overflow-wrap:anywhere}}

/* ==========================================================================
   Services bento: light tiles, line icons, two photographs
   ========================================================================== */
.sma-bento{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media (min-width:1000px){
  .sma-bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,auto);gap:20px}
  .sma-bento__tile--img:nth-child(1){grid-column:1/3;grid-row:1/3}
  .sma-bento__tile--img:nth-child(6){grid-column:3/5;grid-row:3/4}
}
.sma-bento__tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:26px;border-radius:8px;background:#fff;border:1px solid var(--sma-line);color:var(--sma-ink);text-decoration:none;min-height:230px;overflow:hidden;transition:transform .5s var(--sma-ease),box-shadow .5s var(--sma-ease),border-color .4s;opacity:0;translate:0 18px}
.is-in .sma-bento__tile,.elementor-editor-active .sma-bento__tile{opacity:1;translate:0 0;transition:opacity .8s var(--sma-ease) calc(var(--i,0) * 70ms),translate .8s var(--sma-ease) calc(var(--i,0) * 70ms),transform .5s var(--sma-ease),box-shadow .5s var(--sma-ease),border-color .4s}
.sma-bento__tile--text:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(27,25,23,.35);border-color:rgba(27,25,23,.28)}
.sma-bento__top{display:flex;justify-content:space-between;align-items:flex-start}
.sma-bento__icon{color:var(--sma-ink);transition:color .3s,transform .5s var(--sma-ease)}
.sma-bento__tile--text:hover .sma-bento__icon{color:var(--sma-clay);transform:translateY(-2px)}
.sma-bento__num{font-family:var(--sma-serif);font-weight:300;font-size:18px;color:var(--sma-stone)}
.sma-bento__body{display:grid;gap:8px}
.sma-bento__tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sma-stone);font-weight:500}
body.sma .sma-bento__title{font-family:var(--sma-serif);font-weight:400;font-size:clamp(22px,1.9vw,28px);letter-spacing:-.02em;line-height:1.05;margin:0;color:var(--sma-ink);transition:color .3s}
.sma-bento__tile--text:hover .sma-bento__title{color:var(--sma-clay)}
.sma-bento__desc{font-size:14px;line-height:1.5;color:var(--sma-ink-2)}
.sma-bento__arrow{position:absolute;right:22px;bottom:22px;color:var(--sma-ink);opacity:0;transform:translate(-6px,0);transition:opacity .3s,transform .4s var(--sma-ease)}
.sma-bento__tile--text:hover .sma-bento__arrow{opacity:1;transform:none}
.sma-bento__tile--img{padding:0;border:0;background:var(--sma-paper-2);justify-content:flex-end}
.sma-bento__tile--img img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1.6s var(--sma-ease)}
.sma-bento__tile--img:hover img{transform:scale(1.05)}
.sma-bento__tile--img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%)}
.sma-bento__cap{position:relative;z-index:1;margin:22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}
@media (max-width:999px){.sma-bento__tile--img{grid-column:1/-1;min-height:220px;aspect-ratio:16/9}.sma-bento__tile{min-height:0;padding:20px;gap:20px}}
@media (max-width:560px){.sma-bento{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.sma-bento__tile{opacity:1;translate:0 0;transition:none}}
@media (min-width:1000px){.sma-bento__tile--img:nth-child(6){grid-column:auto;grid-row:auto}.sma-bento__tile--img:nth-child(5){grid-column:1/3;grid-row:3/4}}
@media (max-width:999px){.sma-bento__tile--img{padding:0!important;justify-content:flex-end;aspect-ratio:16/10}.sma-bento__cap{margin:16px}}
/* Services intro: paragraph sits under the heading with a clay rule; audience labels on the right. */
.sma-lede--rule{position:relative;padding-top:18px;margin-top:6px}
.sma-lede--rule::before{content:"";position:absolute;left:0;top:0;width:44px;height:2px;background:var(--sma-clay)}
.sma-lede--rule,.sma-lede--rule p{max-width:58ch}
.sma-audience{list-style:none;margin:0;padding:0;display:grid;gap:14px;font-size:14px;line-height:1.45;color:var(--sma-ink-2)}
.sma-audience li{padding-left:16px;border-left:1px solid var(--sma-line);display:grid;gap:3px}
.sma-audience small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-ink);font-weight:500}
@media (max-width:1024px){.sma-audience{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.sma-audience{grid-template-columns:1fr}}
.sma-lede--rule .elementor-widget-container,.sma-lede--rule > div{position:relative;padding-top:18px}
.sma-lede--rule .elementor-widget-container::before,.sma-lede--rule > div::before{content:"";position:absolute;left:0;top:0;width:44px;height:2px;background:var(--sma-clay)}
.sma-lede--rule::before{display:none}
.sma-lede--rule{padding-top:0}
.e-con:has(> .e-con-inner > .sma-audience),.e-con:has(> .sma-audience),.elementor-widget:has(.sma-audience){align-self:flex-end}
.e-con:has(.sma-audience){align-self:flex-end!important;justify-content:flex-end!important}
body.sma .sma-lede--rule{position:relative;padding-top:20px!important;margin-top:4px}
body.sma .sma-lede--rule::before{content:"";display:block!important;position:absolute;left:0;top:0;width:44px;height:2px;background:var(--sma-clay)}

/* ==========================================================================
   Selected work: band, filters, editorial cards
   ========================================================================== */
.sma-work{position:relative;border-top:1px solid var(--sma-line);border-bottom:1px solid var(--sma-line)}
.sma-work::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--sma-clay) 0 22%,var(--sma-ink) 22% 100%);opacity:.9}
body.sma .sma-h2--xl .elementor-heading-title{font-size:clamp(40px,5.6vw,80px);line-height:.96}
.sma-filters{display:flex;flex-wrap:wrap;gap:4px 28px;margin-bottom:36px;padding-bottom:14px;border-bottom:1px solid var(--sma-ink)}
body.sma .sma-filter,body.sma .sma-filter:hover,body.sma .sma-filter:focus{appearance:none;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 0!important;margin:0;font-family:var(--sma-sans)!important;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase!important;color:var(--sma-stone)!important;cursor:pointer;position:relative;line-height:1.2!important;transition:color .25s}
body.sma .sma-filter sup{font-size:10px;margin-left:4px;color:var(--sma-stone);letter-spacing:0;top:-.5em}
body.sma .sma-filter::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;background:var(--sma-clay);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--sma-ease)}
body.sma .sma-filter:hover,body.sma .sma-filter.is-on{color:var(--sma-ink)!important}
body.sma .sma-filter.is-on::after{transform:scaleX(1)}
body.sma .sma-filter:focus-visible{outline:2px solid var(--sma-clay);outline-offset:4px}
.sma-grid{transition:opacity .22s}
.sma-grid.is-filtering{opacity:0}
.sma-card.is-hidden{display:none}
@media (min-width:1000px){
  .sma-grid--editorial{grid-template-columns:repeat(3,1fr);gap:40px 28px;align-items:start}
  .sma-grid--editorial .sma-card:not(.is-hidden):nth-child(3n+2){margin-top:56px}
}
.sma-grid--editorial .sma-card__media{aspect-ratio:4/5;border-radius:6px;position:relative}
.sma-grid--editorial .sma-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35));opacity:0;transition:opacity .5s}
.sma-grid--editorial .sma-card:hover .sma-card__media::after{opacity:1}
.sma-card__hover{position:absolute;left:18px;bottom:18px;z-index:2;opacity:0;transform:translateY(8px);transition:opacity .4s var(--sma-ease),transform .45s var(--sma-ease)}
.sma-card:hover .sma-card__hover{opacity:1;transform:none}
.sma-card__cta{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--sma-ink);padding:10px 14px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.06em}
.sma-grid--editorial .sma-card__text{gap:6px;padding-top:2px}
.sma-card__kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);font-weight:500}
.sma-card__kicker i{font-style:normal;margin:0 8px;color:var(--sma-clay)}
body.sma .sma-grid--editorial .sma-card__title{font-family:var(--sma-serif);font-weight:400;font-size:clamp(22px,1.9vw,28px);letter-spacing:-.02em;line-height:1.05}
.sma-grid--editorial .sma-card__meta{font-size:14px;color:var(--sma-ink-2)}
@media (max-width:999px){.sma-grid--editorial{gap:28px 16px}.sma-grid--editorial .sma-card__media{aspect-ratio:4/5}}
@media (max-width:560px){.sma-grid--editorial{grid-template-columns:1fr}.sma-grid--editorial .sma-card__media{aspect-ratio:4/3}.sma-filters{gap:2px 20px}}
body.sma .sma-card__media img{width:100%!important;height:100%!important;object-fit:cover;position:absolute;inset:0}
.sma-card__media{position:relative}

/* Selected work v3: no top rule, serif tabs, square button, matted cards */
.sma-work::before{display:none}
body.sma .sma-work-head-right{align-items:flex-end!important;justify-content:flex-end!important}
body.sma .sma-work-head-right .elementor-widget-button{align-self:flex-end}
body.sma .sma-btn-square .elementor-button{padding:14px 20px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--sma-ink);color:#fff;border:1px solid var(--sma-ink);border-radius:2px;transition:background .25s var(--sma-ease),border-color .25s}
body.sma .sma-btn-square .elementor-button:hover{background:var(--sma-clay);border-color:var(--sma-clay);color:#fff}
body.sma .sma-btn-square .elementor-button svg,body.sma .sma-btn-square .elementor-button i{width:14px;height:14px;font-size:14px;fill:currentColor}
.sma-filters{gap:6px 34px;border-bottom:1px solid var(--sma-line);padding-bottom:0;margin-bottom:40px}
body.sma .sma-filter,body.sma .sma-filter:hover,body.sma .sma-filter:focus{font-family:var(--sma-serif)!important;font-weight:400;font-size:clamp(18px,1.5vw,22px);letter-spacing:-.01em;text-transform:none!important;padding:6px 0 16px 18px!important;color:var(--sma-stone)!important}
body.sma .sma-filter::before{content:"";position:absolute;left:0;top:50%;margin-top:-10px;width:7px;height:7px;border-radius:50%;background:var(--sma-clay);transform:scale(0);transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
body.sma .sma-filter.is-on::before{transform:scale(1)}
body.sma .sma-filter::after{bottom:-1px;height:1px;background:var(--sma-ink)}
body.sma .sma-filter sup{display:none}
/* Matted cards with a drawing title block */
.sma-grid--editorial .sma-card{background:#fff;padding:12px 12px 0;border-radius:2px;box-shadow:0 1px 0 rgba(27,25,23,.06),0 24px 40px -32px rgba(27,25,23,.35);transition:box-shadow .5s var(--sma-ease),transform .5s var(--sma-ease);gap:0}
.sma-grid--editorial .sma-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(27,25,23,.08),0 36px 50px -30px rgba(27,25,23,.4)}
.sma-grid--editorial .sma-card__media{border-radius:1px;aspect-ratio:4/5}
.sma-grid--editorial .sma-card__media::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.55);z-index:2;pointer-events:none;transition:inset .5s var(--sma-ease),border-color .5s}
.sma-grid--editorial .sma-card:hover .sma-card__media::before{inset:6px;border-color:rgba(255,255,255,.9)}
.sma-grid--editorial .sma-card__text{padding:16px 6px 18px;gap:8px;border-top:0}
.sma-card__row{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.sma-card__row--meta{padding-top:8px;border-top:1px solid var(--sma-line)}
body.sma .sma-grid--editorial .sma-card__title{font-size:clamp(20px,1.6vw,24px)}
.sma-card__city{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);white-space:nowrap}
.sma-grid--editorial .sma-card__meta{font-size:13px;color:var(--sma-ink-2)}
.sma-card__year{font-family:var(--sma-serif);font-size:14px;color:var(--sma-stone)}
.sma-card__cta{border-radius:2px;text-transform:uppercase;font-size:11px;letter-spacing:.12em}
/* Filters v4: soft pill on the active tab, no rules or underlines */
.sma-filters{border-bottom:0;padding-bottom:0;margin-bottom:36px;gap:6px 6px}
body.sma .sma-filter,body.sma .sma-filter:hover,body.sma .sma-filter:focus{padding:10px 18px!important;border-radius:999px!important;font-size:clamp(17px,1.35vw,20px);color:var(--sma-stone)!important;transition:color .25s,background .3s var(--sma-ease)}
body.sma .sma-filter::before,body.sma .sma-filter::after{display:none}
body.sma .sma-filter:hover{color:var(--sma-ink)!important}
body.sma .sma-filter.is-on,body.sma .sma-filter.is-on:hover{background:#fff!important;color:var(--sma-ink)!important;box-shadow:0 1px 0 rgba(27,25,23,.06),0 12px 24px -18px rgba(27,25,23,.35)}
.sma-card__row--meta{justify-content:flex-start}
/* Filters v5: small uppercase labels, ink pill on the active one */
.sma-filters{gap:8px;margin-bottom:36px}
body.sma .sma-filter,body.sma .sma-filter:hover,body.sma .sma-filter:focus{font-family:var(--sma-sans)!important;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase!important;padding:10px 16px!important;border:1px solid transparent!important;border-radius:999px!important;color:var(--sma-ink-2)!important;background:transparent!important;box-shadow:none!important}
body.sma .sma-filter:hover{border-color:var(--sma-line)!important;color:var(--sma-ink)!important}
body.sma .sma-filter.is-on,body.sma .sma-filter.is-on:hover{background:var(--sma-ink)!important;border-color:var(--sma-ink)!important;color:#fff!important;box-shadow:none!important}
/* Cards: aligned grid (no offset), no inner frame line */
@media (min-width:1000px){.sma-grid--editorial .sma-card:not(.is-hidden):nth-child(3n+2){margin-top:0}.sma-grid--editorial{align-items:stretch;gap:28px}}
.sma-grid--editorial .sma-card__media::before{display:none}
/* Case study: photo bleeds right, ink fades in from the left and up from the bottom */
.sma-case{position:relative;isolation:isolate}
.sma-case > .e-con-inner{position:relative;z-index:2}
.sma-case::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--sma-ink) 0%,rgba(27,25,23,.92) 32%,rgba(27,25,23,.45) 58%,rgba(27,25,23,.05) 100%),linear-gradient(0deg,rgba(27,25,23,.6) 0%,rgba(27,25,23,0) 40%)}
.sma-case .sma-spec{border-color:rgba(255,255,255,.22)}
.sma-case .sma-lede,.sma-case .sma-lede p{color:rgba(255,255,255,.86)}
@media (max-width:899px){.sma-case::before{background:linear-gradient(0deg,var(--sma-ink) 0%,rgba(27,25,23,.9) 45%,rgba(27,25,23,.25) 100%)}.sma-case > .e-con-inner{padding-top:34vh}}

/* ==========================================================================
   Process: drawn timeline
   ========================================================================== */
body.sma .sma-steps{position:relative}
body.sma .sma-steps::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--sma-line)}
body.sma .sma-step{position:relative;border:0!important;padding:34px 36px 0 0!important;gap:14px!important}
body.sma .sma-step::before{content:"";position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--sma-paper);border:2px solid var(--sma-clay);box-sizing:border-box;transition:background .3s,transform .4s var(--sma-ease)}
body.sma .sma-step:hover::before{background:var(--sma-clay);transform:scale(1.25)}
body.sma .sma-step .sma-step-n .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:clamp(48px,4.6vw,72px);line-height:.9;letter-spacing:-.03em;color:var(--sma-paper-2);-webkit-text-stroke:1px var(--sma-stone);transition:color .35s,-webkit-text-stroke-color .35s}
body.sma .sma-step:hover .sma-step-n .elementor-heading-title{color:var(--sma-clay);-webkit-text-stroke-color:var(--sma-clay)}
body.sma .sma-step .sma-step-title .elementor-heading-title{font-family:var(--sma-sans);font-size:clamp(18px,1.5vw,21px);font-weight:600;letter-spacing:-.005em;line-height:1.2;color:var(--sma-ink)}
body.sma .sma-step .elementor-widget-text-editor{font-size:15px;line-height:1.55;color:var(--sma-ink-2);max-width:32ch}
@media (max-width:1024px){body.sma .sma-steps::before{display:none}body.sma .sma-step{padding:28px 24px 28px 0!important;border-top:1px solid var(--sma-line)!important}}
@media (max-width:767px){body.sma .sma-steps > .e-con,body.sma .sma-step{width:100%!important}}
body.sma .sma-step .sma-step-title .elementor-heading-title{font-size:clamp(16px,1.25vw,19px);white-space:nowrap;letter-spacing:-.01em}
body.sma .sma-step{padding-right:20px!important}
@media (max-width:1024px){body.sma .sma-step .sma-step-title .elementor-heading-title{white-space:normal}}

/* ==========================================================================
   About: matted portrait, route line, credentials grid
   ========================================================================== */
.sma-about{border-top:1px solid var(--sma-line);border-bottom:1px solid var(--sma-line)}
body.sma .sma-portrait-mat img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:0;background:#fff;padding:12px;box-shadow:0 1px 0 rgba(27,25,23,.06),0 30px 50px -34px rgba(27,25,23,.4);box-sizing:border-box}
.sma-portrait-cap{margin:0!important;font-size:13px;color:var(--sma-stone);padding:0 4px}
.sma-portrait-cap strong{display:block;font-family:var(--sma-serif);font-weight:400;font-size:20px;color:var(--sma-ink);letter-spacing:-.01em;margin-bottom:2px}
.sma-route{list-style:none;margin:4px 0 0;padding:0;display:flex;align-items:flex-start;position:relative}
.sma-route::before{content:"";position:absolute;left:4px;right:20%;top:4px;height:1px;background:var(--sma-ink)}
.sma-route li{position:relative;flex:1;padding:18px 12px 0 0;font-size:14px;font-weight:500;color:var(--sma-ink)}
.sma-route li::before{content:"";position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:var(--sma-paper-2);border:2px solid var(--sma-clay);box-sizing:border-box}
.sma-route li:last-child::before{background:var(--sma-clay)}
.sma-route li span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);margin-bottom:2px}
.sma-creds-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:6px 0 4px;padding-top:22px;border-top:1px solid var(--sma-line)}
.sma-creds-grid div{display:grid;gap:4px}
.sma-creds-grid dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);font-weight:500}
.sma-creds-grid dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--sma-ink-2)}
@media (max-width:600px){.sma-creds-grid{grid-template-columns:1fr}.sma-route li{font-size:13px}}
/* About portrait v2: no mat, rounded photo with a soft ink shadow and a clay corner mark */
body.sma .sma-portrait-mat{position:relative}
body.sma .sma-portrait-mat img{padding:0;background:transparent;border-radius:6px;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;box-shadow:0 40px 60px -40px rgba(27,25,23,.45)}
body.sma .sma-portrait-mat::after{content:"";position:absolute;right:-14px;bottom:-14px;width:120px;height:120px;border-right:2px solid var(--sma-clay);border-bottom:2px solid var(--sma-clay);pointer-events:none}
body.sma .sma-portrait-mat::before{content:"";position:absolute;left:-14px;top:-14px;width:120px;height:120px;border-left:1px solid var(--sma-line);border-top:1px solid var(--sma-line);pointer-events:none}
body.sma .sma-portrait-mat img{object-position:50% 20%}
body.sma .sma-portrait-mat img{object-position:50% 12%;border-radius:4px}

/* ==========================================================================
   Google reviews: rating block + restyled Trustindex slider
   ========================================================================== */
.sma-rating{display:flex;align-items:center;gap:16px}
.sma-rating__score{font-family:var(--sma-serif);font-weight:300;font-size:clamp(56px,5vw,76px);line-height:.9;letter-spacing:-.03em;color:var(--sma-ink)}
.sma-rating__body{display:grid;gap:6px}
.sma-rating__stars{display:flex;gap:3px}
.sma-rating__stars i{width:16px;height:16px;background:var(--sma-clay);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.sma-rating__label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);font-weight:500}
body.sma .sma-reviews .ti-widget{font-family:var(--sma-sans)!important}
body.sma .sma-reviews .ti-widget .ti-review-item{padding:0 14px!important}
body.sma .sma-reviews .ti-widget .ti-inner{background:#fff!important;border:1px solid var(--sma-line)!important;border-radius:6px!important;padding:28px 26px 24px!important;box-shadow:0 1px 0 rgba(27,25,23,.05),0 24px 40px -34px rgba(27,25,23,.35)!important;min-height:260px;display:flex;flex-direction:column;gap:14px}
body.sma .sma-reviews .ti-widget .ti-review-header{display:flex;align-items:center;gap:12px;order:3;margin-top:auto;padding-top:16px;border-top:1px solid var(--sma-line)}
body.sma .sma-reviews .ti-widget .ti-profile-img img{width:36px!important;height:36px!important;border-radius:50%}
body.sma .sma-reviews .ti-widget .ti-name{font-size:14px!important;font-weight:600!important;color:var(--sma-ink)!important;font-family:var(--sma-sans)!important}
body.sma .sma-reviews .ti-widget .ti-date{font-size:12px!important;color:var(--sma-stone)!important}
body.sma .sma-reviews .ti-widget .ti-platform-icon{margin-left:auto;order:5}
body.sma .sma-reviews .ti-widget .ti-stars{order:1;display:flex;gap:2px}
body.sma .sma-reviews .ti-widget .ti-stars .ti-star{width:14px!important;height:14px!important;filter:sepia(1) saturate(3) hue-rotate(-20deg) brightness(.85)}
body.sma .sma-reviews .ti-widget .ti-review-text-container,body.sma .sma-reviews .ti-widget .ti-review-content{order:2;font-family:var(--sma-serif)!important;font-size:19px!important;line-height:1.4!important;color:var(--sma-ink)!important;font-weight:400}
body.sma .sma-reviews .ti-widget .ti-review-content{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
body.sma .sma-reviews .ti-widget .ti-read-more{font-family:var(--sma-sans)!important;font-size:12px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--sma-clay)!important;font-weight:500}
body.sma .sma-reviews .ti-widget .ti-controls{margin-top:18px}
body.sma .sma-reviews .ti-widget .ti-controls .ti-prev,body.sma .sma-reviews .ti-widget .ti-controls .ti-next{width:44px;height:44px;border:1px solid var(--sma-ink);border-radius:999px;background:transparent;color:var(--sma-ink);opacity:1}
body.sma .sma-reviews .ti-widget .ti-controls .ti-prev:hover,body.sma .sma-reviews .ti-widget .ti-controls .ti-next:hover{background:var(--sma-ink);color:#fff}
body.sma .sma-reviews .ti-widget .ti-controls-line{display:none!important}
body.sma .sma-reviews .ti-widget .ti-verified-review,body.sma .sma-reviews .ti-widget .ti-verified-platform{display:none!important}
body.sma .sma-reviews .ti-widget .ti-inner{display:flex!important;flex-direction:column!important;gap:14px!important;min-height:300px!important}
body.sma .sma-reviews .ti-widget .ti-stars{order:1!important}
body.sma .sma-reviews .ti-widget .ti-review-text-container{order:2!important}
body.sma .sma-reviews .ti-widget .ti-review-header{order:3!important;margin-top:auto!important;padding-top:16px!important;border-top:1px solid var(--sma-line)!important}
body.sma .sma-reviews .ti-widget .ti-read-more{order:4!important;margin-top:-6px}
body.sma .sma-reviews{padding-inline:60px}
body.sma .sma-reviews .ti-widget .ti-controls .ti-prev{left:-58px!important}
body.sma .sma-reviews .ti-widget .ti-controls .ti-next{right:-58px!important}
@media (max-width:767px){body.sma .sma-reviews{padding-inline:0}body.sma .sma-reviews .ti-widget .ti-controls{display:none!important}}
body.sma .sma-reviews .ti-widget .ti-review-text-container{max-height:none!important;height:auto!important}
body.sma .sma-reviews .ti-widget .ti-review-content{max-height:none!important;height:auto!important;display:-webkit-box!important;-webkit-line-clamp:5!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
body.sma .sma-reviews .ti-widget .ti-review-content.ti-read-more-active,body.sma .sma-reviews .ti-widget .ti-read-more-active .ti-review-content{-webkit-line-clamp:unset!important;display:block!important}
/* Reviews: readable sans text, no clamp, no read-more */
body.sma .sma-reviews .ti-widget .ti-review-text-container,body.sma .sma-reviews .ti-widget .ti-review-content{font-family:var(--sma-sans)!important;font-size:15px!important;line-height:1.6!important;color:var(--sma-ink-2)!important}
body.sma .sma-reviews .ti-widget .ti-review-content{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;max-height:none!important}
body.sma .sma-reviews .ti-widget .ti-read-more{display:none!important}
body.sma .sma-reviews .ti-widget .ti-inner{min-height:0!important;padding:26px 24px 22px!important}
body.sma .sma-reviews .ti-widget .ti-review-item{align-items:stretch}
/* Reviews: even card height, long text fades out instead of a button */
body.sma .sma-reviews .ti-widget .ti-inner{min-height:300px!important;height:300px!important;box-sizing:border-box}
body.sma .sma-reviews .ti-widget .ti-review-text-container{flex:1 1 auto;min-height:0;overflow:hidden!important;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}
body.sma .sma-reviews .ti-widget .ti-review-header{flex:0 0 auto}
/* Reviews: header row alignment, read-more link, modal */
body.sma .sma-reviews .ti-widget .ti-review-header{display:flex!important;align-items:center!important;gap:12px!important;position:relative}
body.sma .sma-reviews .ti-widget .ti-platform-icon{position:static!important;margin:0 0 0 auto!important;order:5!important;width:20px;height:20px;display:flex;align-items:center}
body.sma .sma-reviews .ti-widget .ti-platform-icon img{width:20px!important;height:20px!important;display:block}
body.sma .sma-reviews .ti-widget .ti-profile-details{display:grid;gap:2px}
body.sma .sma-reviews .ti-widget .ti-review-item.has-more .ti-review-text-container{-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%)}
body.sma .sma-reviews .ti-widget .ti-review-item:not(.has-more) .ti-review-text-container{-webkit-mask-image:none;mask-image:none}
body.sma .sma-reviews .ti-widget .sma-rv-more{order:4;align-self:flex-start;margin:-6px 0 2px;padding:0!important;background:none!important;border:0!important;border-bottom:1px solid var(--sma-clay)!important;border-radius:0!important;font-family:var(--sma-sans)!important;font-size:12px!important;letter-spacing:.12em;text-transform:uppercase!important;color:var(--sma-clay)!important;cursor:pointer;line-height:1.6!important;box-shadow:none!important}
body.sma .sma-reviews .ti-widget .sma-rv-more:hover{color:var(--sma-ink)!important;border-color:var(--sma-ink)!important}
.sma-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.sma-modal[hidden]{display:none}
.sma-modal__back{position:absolute;inset:0;background:rgba(27,25,23,.55);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s}
.sma-modal__card{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:8px;padding:40px 36px 30px;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .3s var(--sma-ease),transform .35s var(--sma-ease)}
.sma-modal.is-open .sma-modal__back{opacity:1}
.sma-modal.is-open .sma-modal__card{opacity:1;transform:none}
.sma-modal__close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;background:transparent;font-size:28px;line-height:1;color:var(--sma-stone);cursor:pointer;border-radius:50%}
.sma-modal__close:hover{background:var(--sma-paper-2);color:var(--sma-ink)}
.sma-modal__stars{display:flex;gap:2px;margin-bottom:16px}
.sma-modal__stars img{width:15px;height:15px;filter:sepia(1) saturate(3) hue-rotate(-20deg) brightness(.85)}
.sma-modal__text{font-family:var(--sma-sans);font-size:16px;line-height:1.7;color:var(--sma-ink);white-space:pre-line}
.sma-modal__who{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--sma-line);font-size:14px}
.sma-modal__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}
.sma-modal__who b{display:block;font-weight:600;color:var(--sma-ink)}
.sma-modal__date{font-size:12px;color:var(--sma-stone)}
.sma-modal__src{margin-left:auto;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sma-stone)}
body.sma .sma-reviews .ti-widget .sma-rv-more{order:3!important;margin:2px 0 0!important}
body.sma .sma-reviews .ti-widget .ti-review-header{order:4!important}
body.sma .sma-reviews .ti-widget .ti-profile-img{width:36px!important;height:36px!important;flex:0 0 36px!important;margin:0!important}
body.sma .sma-modal__close,body.sma .sma-modal__close:hover{background:transparent!important;border:0!important;border-radius:50%!important;padding:0!important;color:var(--sma-stone)!important;font-size:28px!important;line-height:40px!important;width:40px!important;height:40px!important;box-shadow:none!important}
body.sma .sma-modal__close:hover{background:var(--sma-paper-2)!important;color:var(--sma-ink)!important}
body.sma .sma-reviews .ti-widget .ti-profile-details{margin:0!important;padding:0!important;flex:1 1 auto}
body.sma .sma-reviews .ti-widget .ti-review-header > *{margin-left:0!important}
body.sma .sma-reviews .ti-widget .ti-platform-icon{margin-left:auto!important}
.sma-modal__src{display:inline-flex;align-items:center;gap:6px}
body.sma .sma-reviews .ti-widget .ti-profile-img{margin:0 10px 0 0!important}
body.sma .sma-reviews .ti-widget .ti-review-header{gap:0!important}
body.sma .sma-reviews .ti-widget .ti-name,body.sma .sma-reviews .ti-widget .ti-date{margin:0!important;padding:0!important;text-indent:0!important;text-align:left!important}
body.sma .sma-reviews .ti-widget .ti-profile-details{text-align:left!important}
body.sma .sma-reviews .ti-widget .ti-profile-details{justify-content:start!important;justify-items:start!important;align-content:center!important}
body.sma .sma-reviews .ti-widget .ti-name{padding:0!important}
/* Contact section: copy column fills the height; "what happens next" sits at the bottom */
body.sma .sma-contact-copy{justify-content:space-between!important;align-self:stretch;min-height:100%}
.sma-next{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:12px}
.sma-next li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:baseline;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.8)}
.sma-next li span{font-family:var(--sma-serif);font-size:18px;color:var(--sma-clay)}
.sma-next-wrap{margin-top:auto}
/* Contact: compact form so both columns match; copy column centred */
body.sma .sma-contact-copy{justify-content:center!important}
.sma-next-wrap{margin-top:0}
.sma-form .gform_wrapper.gravity-theme textarea{min-height:88px!important;height:88px}
.sma-form .gform_wrapper.gravity-theme .gform_fileupload_multifile .gform_drop_area{padding:14px!important;min-height:0!important;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed var(--sma-line)!important;background:#fff!important;border-radius:4px}
.sma-form .gform_wrapper.gravity-theme .gform_drop_instructions{margin:0!important;font-size:13px}
.sma-form .gform_wrapper.gravity-theme .gform_button_select_files{padding:8px 14px!important;font-size:13px!important;border-radius:999px!important;background:var(--sma-ink)!important;color:#fff!important;border:0!important}
.sma-form .gform_wrapper.gravity-theme .gform_fileupload_rules{font-size:11px!important;color:var(--sma-stone)!important;margin-top:6px}
.sma-form .gform_wrapper.gravity-theme .gfield{margin-bottom:0}
.sma-form .gform_wrapper.gravity-theme .gform_fields{row-gap:14px!important}
.sma-form .gform_wrapper.gravity-theme .gfield_label{margin-bottom:4px}
.sma-form .gform_wrapper.gravity-theme input:not([type=submit]),.sma-form .gform_wrapper.gravity-theme select{padding:11px 13px!important}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield textarea,body.sma .sma-form textarea.textarea{height:96px!important;min-height:96px!important;max-height:96px!important;resize:none}
/* Contact form: two columns for the short fields */
body.sma .sma-form .gform_wrapper.gravity-theme .gform_fields{display:grid!important;grid-template-columns:repeat(12,1fr);column-gap:16px!important;row-gap:14px!important}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield{grid-column:span 12}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield.gf_left_half,body.sma .sma-form .gform_wrapper.gravity-theme .gfield.gf_right_half{grid-column:span 6}
@media (max-width:600px){body.sma .sma-form .gform_wrapper.gravity-theme .gfield.gf_left_half,body.sma .sma-form .gform_wrapper.gravity-theme .gfield.gf_right_half{grid-column:span 12}}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield textarea,body.sma .sma-form textarea.textarea{height:120px!important;min-height:120px!important;max-height:120px!important}
/* Contact form: identical field heights and label offsets across both columns */
body.sma .sma-form .gform_wrapper.gravity-theme .gfield{display:flex;flex-direction:column;justify-content:flex-start;margin:0!important;padding:0!important}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield_label{margin:0 0 6px!important;line-height:1.3!important;display:block!important}
body.sma .sma-form .gform_wrapper.gravity-theme .ginput_container{margin:0!important;width:100%}
body.sma .sma-form .gform_wrapper.gravity-theme .ginput_container_name span,body.sma .sma-form .gform_wrapper.gravity-theme .ginput_container_name{padding:0!important;margin:0!important;display:block!important;width:100%}
body.sma .sma-form .gform_wrapper.gravity-theme .ginput_container_name label{display:none!important}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield input:not([type=submit]):not([type=file]),body.sma .sma-form .gform_wrapper.gravity-theme .gfield select{height:46px!important;min-height:46px!important;padding:0 13px!important;line-height:44px!important;box-sizing:border-box;width:100%!important;margin:0!important}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234A4643' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px!important}
/* Contact section: readable hovers on dark, soft architectural shapes in the background */
body.sma .sma-on-dark a,body.sma .sma-contact-section a{color:#fff}
body.sma .sma-contact-section .sma-contact-list-plain a:hover,body.sma .sma-contact-section .sma-contact-list-plain a:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:var(--sma-clay);text-underline-offset:4px}
body.sma .sma-contact-section .sma-h2 .elementor-heading-title,body.sma .sma-contact-section .sma-eyebrow .elementor-heading-title{color:#fff}
body.sma .sma-form .gform_wrapper.gravity-theme .gfield input:focus,body.sma .sma-form .gform_wrapper.gravity-theme .gfield select:focus,body.sma .sma-form .gform_wrapper.gravity-theme .gfield textarea:focus{outline:0;border-color:var(--sma-ink)!important;box-shadow:0 0 0 3px rgba(169,84,58,.18)}
body.sma .sma-form .gform_wrapper.gravity-theme input[type=submit]:hover,body.sma .sma-form .gform_wrapper.gravity-theme input[type=submit]:focus-visible{background:var(--sma-clay)!important;border-color:var(--sma-clay)!important;color:#fff!important}
body.sma .sma-form .gform_wrapper.gravity-theme .gform_button_select_files:hover{background:var(--sma-clay)!important;color:#fff!important}
body.sma .sma-contact-section{position:relative;overflow:hidden;isolation:isolate}
body.sma .sma-contact-section::before{content:"";position:absolute;z-index:0;left:-12%;top:-30%;width:62vw;height:62vw;max-width:900px;max-height:900px;border-radius:50%;border:1px solid rgba(255,255,255,.07);background:radial-gradient(closest-side,rgba(169,84,58,.16),rgba(169,84,58,0) 70%);pointer-events:none}
body.sma .sma-contact-section::after{content:"";position:absolute;z-index:0;right:-8%;bottom:-38%;width:44vw;height:44vw;max-width:680px;max-height:680px;border:1px solid rgba(255,255,255,.08);transform:rotate(12deg);background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,0) 60%);pointer-events:none}
body.sma .sma-contact-section > .e-con-inner{position:relative;z-index:1}
/* Footer v2 */
body.sma .sma-footer .sma-footer-logo,body.sma .sma-footer .sma-logo,body.sma .sma-footer .sma-logo{text-align:left!important;margin:0!important;justify-content:flex-start!important;align-self:flex-start}
body.sma .sma-footer .sma-logo__img{width:140px!important;height:auto;display:block;margin:0!important}
body.sma .sma-footer address{margin:0}
.sma-social{list-style:none;margin:6px 0 0;padding:0;display:flex;gap:10px}
.sma-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--sma-line);border-radius:50%;color:var(--sma-ink);transition:background .25s,color .25s,border-color .25s}
.sma-social a:hover{background:var(--sma-ink);border-color:var(--sma-ink);color:#fff}
body.sma .sma-footer{padding-bottom:40px!important}
@media (max-width:899px){body.sma .sma-footer{padding-bottom:96px!important}}
body.sma .sma-footer-bottom{border-top:1px solid var(--sma-line);font-size:13px;color:var(--sma-stone)}
body.sma .sma-footer-bottom p{margin:0}
body.sma .sma-footer-bottom a{color:var(--sma-ink-2)}
body.sma .sma-footer-bottom a:hover{color:var(--sma-clay)}
.sma-credit sup{font-size:8px;letter-spacing:.05em;margin-left:1px}
body.sma .sma-footer-bottom{display:flex!important;flex-direction:row!important;justify-content:space-between!important;flex-wrap:wrap;gap:8px 24px}
body.sma .sma-footer-bottom > .elementor-widget{width:auto!important;max-width:none!important;flex:0 0 auto}
body.sma .sma-footer-bottom > .elementor-widget:last-child{margin-left:auto!important}
body.sma .sma-footer,body.sma .sma-footer > .e-con-inner{padding-bottom:28px!important;margin-bottom:0!important}
body.sma .sma-footer > .e-con-inner > .e-con:last-child{padding-bottom:0!important;margin-bottom:0!important}
@media (min-width:900px){body.sma .sma-sticky{display:none!important;height:0}}
@media (max-width:899px){body.sma .sma-footer{padding-bottom:96px!important}}
/* Case study CTA: solid white, dark text, clay on hover */
body.sma .sma-case .sma-btn-light .elementor-button,body.sma .sma-on-dark .sma-btn-light .elementor-button{background:#fff!important;color:var(--sma-ink)!important;border:1px solid #fff!important;padding:14px 20px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
body.sma .sma-case .sma-btn-light .elementor-button:hover,body.sma .sma-on-dark .sma-btn-light .elementor-button:hover{background:var(--sma-clay)!important;border-color:var(--sma-clay)!important;color:#fff!important}
body.sma .sma-case .sma-btn-light .elementor-button .elementor-button-text{color:inherit!important}

/* ==========================================================================
   Theme header/footer (no plugin): base layout for Site Logo + Navigation Menu widgets
   ========================================================================== */
.sma-site-header{position:relative;z-index:50}
.sma-logo{display:flex;align-items:center}
.sma-logo__link{display:inline-flex;line-height:0}
.sma-logo__img{display:block;height:auto;width:150px}
body.sma .sma-logo__img--light{display:none!important}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-logo.has-light .sma-logo__img:not(.sma-logo__img--light){display:none!important}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-logo.has-light .sma-logo__img--light{display:block!important;filter:none!important}
.sma-nav{position:relative}
.sma-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.sma-nav__list li{margin:0;position:relative}
.sma-nav__list .sub-menu{display:none}
.sma-nav--vertical .sma-nav__list{flex-direction:column;align-items:flex-start;gap:8px}
.sma-nav__toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--sma-ink);cursor:pointer;margin-left:auto}
/* Animated hamburger: three bars fold into a cross. */
.sma-burger{position:relative;display:block;width:24px;height:16px}
body.sma .sma-header .sma-nav__toggle .sma-burger i,.sma-burger i{position:absolute;left:0;width:100%!important;height:1.5px!important;font-size:0;line-height:0;display:block;background:currentColor;border-radius:2px;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .25s ease,width .3s ease}
.sma-burger i:nth-child(1){top:0}
body.sma .sma-header .sma-nav__toggle .sma-burger i:nth-child(2),.sma-burger i:nth-child(2){top:50%;margin-top:-.75px;width:70%!important}
.sma-burger i:nth-child(3){bottom:0}
body.sma .sma-header .sma-nav__toggle:hover .sma-burger i:nth-child(2){width:100%!important}
.elementor-widget.is-open .sma-burger i:nth-child(1){transform:translateY(7.25px) rotate(45deg)}
.elementor-widget.is-open .sma-burger i:nth-child(2){opacity:0;transform:scaleX(0)}
.elementor-widget.is-open .sma-burger i:nth-child(3){transform:translateY(-7.25px) rotate(-45deg)}
/* Menu links cascade in after the panel opens. */
@media (max-width:1024px){
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu li{opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li{opacity:1;transform:none}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li:nth-child(2){transition-delay:.05s}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li:nth-child(3){transition-delay:.1s}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li:nth-child(4){transition-delay:.15s}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li:nth-child(5){transition-delay:.2s}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li:nth-child(6){transition-delay:.25s}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li:nth-child(7){transition-delay:.3s}
  body.sma .sma-header .elementor-widget.is-open .sma-nav.is-mobile nav.sma-nav__menu li:nth-child(n+8){transition-delay:.35s}
}
@media (max-width:1024px){
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu{background:var(--sma-paper);border-top:1px solid var(--sma-line);box-shadow:0 30px 40px -20px rgba(27,25,23,.25);z-index:60}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu .sma-nav__list{display:block;padding:8px 0 16px}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu li{display:block;width:100%}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu a.sma-nav__link{display:block;font-family:var(--sma-serif);font-weight:300;font-size:30px;letter-spacing:-.02em;padding:14px var(--sma-gutter);border-bottom:1px solid var(--sma-line);color:var(--sma-ink)!important;text-decoration:none;text-shadow:none}
  body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu a.sma-nav__link::after{display:none}
  body.sma .sma-header .elementor-widget-sma-nav-menu{position:static}
}
/* Mobile dropdown spans the full header width; toggle is a plain icon button */
.sma-nav.is-mobile{position:static}
body.sma .sma-header .sma-nav.is-mobile nav.sma-nav__menu{position:absolute;left:0;right:0;top:100%;width:100%}
body.sma .sma-nav__toggle,body.sma .sma-nav__toggle:hover,body.sma .sma-nav__toggle:focus{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;color:inherit!important;width:44px!important;height:44px!important}
body.sma .sma-nav__toggle:focus-visible{outline:2px solid var(--sma-clay);outline-offset:2px}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-nav__toggle{color:#fff!important}
/* Media hero heights */
.sma-mhero--h-tall{min-height:78svh}
.sma-mhero--h-short{min-height:62svh}
.sma-mhero--h-tall .sma-mhero__inner,.sma-mhero--h-short .sma-mhero__inner{padding-top:150px}
@media (max-width:899px){.sma-mhero--h-tall{min-height:72svh}.sma-mhero--h-short{min-height:60svh}}
/* Portfolio side note: serif, hairline rule, italic instruction in clay */
body.sma .sma-work-note{position:relative;margin:0;padding:22px 0 0 0;font-family:var(--sma-serif);font-weight:400;font-size:clamp(19px,1.5vw,22px);line-height:1.4;letter-spacing:-.01em;color:var(--sma-ink);max-width:34ch}
body.sma .sma-work-note__rule{position:absolute;left:0;top:0;width:56px;height:1px;background:var(--sma-ink)}
body.sma .sma-work-note em{display:block;margin-top:10px;font-family:var(--sma-serif);font-style:italic;font-weight:300;font-size:.92em;color:var(--sma-clay)}

/* ==========================================================================
   Project detail page
   ========================================================================== */
.sma-project-hero .sma-mhero__copy{max-width:70ch}
.sma-project-crumbs{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:6px}
.sma-project-crumbs a{color:rgba(255,255,255,.7);text-decoration:none}
.sma-project-crumbs a:hover{color:#fff}
.sma-project-crumbs .breadcrumb_last{color:#fff}
.sma-project-hero .sma-mhero__title{font-size:clamp(38px,5.4vw,80px)}
.sma-project-hero__foot{align-items:flex-end}
.sma-project-specbar{display:flex;flex-wrap:wrap;gap:10px 40px;margin:0}
.sma-project-specbar div{display:grid;gap:3px}
.sma-project-specbar dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.sma-project-specbar dd{margin:0;font-size:14px;letter-spacing:0;text-transform:none;color:#fff}
.sma-project-hero__scroll{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.8);text-decoration:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.sma-project-hero__scroll i{display:block;width:1px;height:30px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.sma-project-hero__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:#fff;animation:drop 2.2s var(--sma-ease) infinite}
@keyframes drop{to{top:100%}}
@media (max-width:899px){.sma-project-hero__scroll{display:none}.sma-project-specbar{gap:10px 22px}}

.sma-project-story{display:grid;gap:48px;padding:96px 0 72px}
@media (min-width:1000px){.sma-project-story{grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);gap:80px;padding:112px 0 88px}}
.sma-project-story__main .sma-eyebrow{margin:0 0 14px}
.sma-prose--lg p:first-of-type{font-family:var(--sma-serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.3;letter-spacing:-.015em;color:var(--sma-ink);margin-bottom:24px}
.sma-prose--lg p{font-size:17px;line-height:1.7;color:var(--sma-ink-2);margin:0 0 18px}
.sma-project-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;padding-top:24px;border-top:1px solid var(--sma-line)}
.sma-project-tags .sma-eyebrow{margin-right:8px}
.sma-tag{font-size:12px;font-weight:500;letter-spacing:.06em;padding:8px 14px;border:1px solid var(--sma-line);border-radius:999px;color:var(--sma-ink-2);background:#fff}
.sma-project-side{position:relative}
.sma-project-side__card{position:sticky;top:120px;background:#fff;border:1px solid var(--sma-line);border-radius:8px;padding:28px 26px;display:grid;gap:22px;box-shadow:0 30px 50px -40px rgba(27,25,23,.35)}
.sma-project-specs{margin:0;display:grid;gap:12px}
.sma-project-specs div{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--sma-line)}
.sma-project-specs dt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone)}
.sma-project-specs dd{margin:0;font-size:14.5px;color:var(--sma-ink)}
.sma-project-side__card .sma-eyebrow{margin:0 0 -10px}
.sma-project-services{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sma-project-services a{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--sma-ink);text-decoration:none;padding:6px 0;border-bottom:1px dashed var(--sma-line)}
.sma-project-services a::after{content:"→";color:var(--sma-stone);transition:transform .25s var(--sma-ease),color .25s}
.sma-project-services a:hover{color:var(--sma-clay)}
.sma-project-services a:hover::after{transform:translateX(4px);color:var(--sma-clay)}
.sma-project-side__cta{display:grid;gap:10px;padding-top:6px}
.sma-project-side__lead{margin:0 0 4px;font-family:var(--sma-serif);font-size:20px;letter-spacing:-.01em;color:var(--sma-ink)}
.sma-project-side__cta .sma-btn{justify-content:center}
.sma-project-side__tel{font-size:13px;color:var(--sma-ink-2);text-decoration:none;text-align:center}
.sma-project-side__tel:hover{color:var(--sma-clay)}

.sma-project-gallery{padding:0 0 96px}
.sma-project-gallery__head{display:grid;gap:12px;margin-bottom:36px}
.sma-project-gallery__head .sma-h2-plain{margin:0}
.sma-pgrid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);grid-auto-flow:dense}
@media (min-width:900px){.sma-pgrid{grid-template-columns:repeat(4,1fr);gap:20px}.sma-pgrid__item.is-lead{grid-column:span 2;grid-row:span 2}.sma-pgrid__item.is-tall{grid-row:span 2}}
.sma-pgrid__item{position:relative;display:block;overflow:hidden;border-radius:6px;background:var(--sma-paper-2);aspect-ratio:4/3}
.sma-pgrid__item.is-tall{aspect-ratio:3/4}
@media (min-width:900px){.sma-pgrid__item.is-lead{aspect-ratio:auto}.sma-pgrid__item.is-tall{aspect-ratio:auto}}
.sma-pgrid__item img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1.4s var(--sma-ease)}
.sma-pgrid__item:hover img{transform:scale(1.05)}
.sma-pgrid__item::after{content:"";position:absolute;inset:0;background:rgba(27,25,23,0);transition:background .4s}
.sma-pgrid__item:hover::after{background:rgba(27,25,23,.18)}
.sma-pgrid__zoom{position:absolute;right:14px;bottom:14px;z-index:2;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--sma-ink);display:grid;place-items:center;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .4s var(--sma-ease)}
.sma-pgrid__item:hover .sma-pgrid__zoom{opacity:1;transform:none}

.sma-project-strip{background:var(--sma-paper-2);border-top:1px solid var(--sma-line);border-bottom:1px solid var(--sma-line)}
.sma-project-strip__in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;padding:44px 0}
.sma-project-strip__text{margin:0;font-family:var(--sma-serif);font-size:clamp(22px,2.2vw,30px);line-height:1.2;letter-spacing:-.015em;color:var(--sma-ink);max-width:30ch}
.sma-project-strip__text em{display:block;font-size:.72em;font-style:italic;font-weight:300;color:var(--sma-clay);margin-top:6px}
.sma-project-strip__actions{display:flex;flex-wrap:wrap;gap:12px}
.sma-btn--ghost{background:transparent;color:var(--sma-ink);border-color:var(--sma-ink)}
.sma-btn--ghost:hover{background:var(--sma-ink);color:#fff}

.sma-project-more-wrap{padding:96px 0 88px}
.sma-project-more__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.sma-project-more__head .sma-h2-plain{margin:8px 0 0}
.sma-project-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px;padding-top:28px;border-top:1px solid var(--sma-ink)}
.sma-project-nav__link{display:grid;gap:6px;text-decoration:none;color:var(--sma-ink)}
.sma-project-nav__link span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone)}
.sma-project-nav__link strong{font-family:var(--sma-serif);font-weight:400;font-size:clamp(20px,2vw,28px);letter-spacing:-.015em;line-height:1.1;transition:color .25s}
.sma-project-nav__link:hover strong{color:var(--sma-clay)}
.sma-project-nav__link--next{text-align:right;justify-items:end}
@media (max-width:899px){.sma-prose--lg p:first-of-type{font-size:20px}.sma-project-story{padding:64px 0 48px}.sma-project-hero .sma-mhero__title{font-size:clamp(34px,9.5vw,44px)}}
/* Project hero image must fill the hero box regardless of the photo's own ratio */
body.sma .sma-mhero .sma-mhero__img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:50% 40%}
body.sma .sma-project-hero .sma-mhero__img{object-position:50% 35%}
/* Gallery grid: fixed row height so every tile has a box for its absolutely positioned image */
.sma-pgrid{grid-auto-rows:46vw}
@media (min-width:600px){.sma-pgrid{grid-auto-rows:34vw}}
@media (min-width:900px){.sma-pgrid{grid-auto-rows:clamp(220px,17.5vw,300px)}}
.sma-pgrid__item,.sma-pgrid__item.is-tall,.sma-pgrid__item.is-lead{aspect-ratio:auto!important;min-height:0}
@media (max-width:899px){.sma-pgrid__item.is-lead{grid-column:span 2;grid-row:span 2}.sma-pgrid__item.is-tall{grid-row:span 2}}
/* Gallery v2: masonry columns, no empty cells */
.sma-pgrid{display:block!important;columns:2;column-gap:14px}
@media (min-width:900px){.sma-pgrid{columns:3;column-gap:20px}}
.sma-pgrid__item,.sma-pgrid__item.is-lead,.sma-pgrid__item.is-tall{display:block;position:relative;break-inside:avoid;margin:0 0 14px;grid-column:auto!important;grid-row:auto!important;aspect-ratio:auto!important;min-height:0}
@media (min-width:900px){.sma-pgrid__item{margin-bottom:20px}}
.sma-pgrid__item img{position:static!important;width:100%!important;height:auto!important;display:block}
.sma-pgrid__item.is-lead img,.sma-pgrid__item img{aspect-ratio:4/3;object-fit:cover}
.sma-pgrid__item.is-tall img{aspect-ratio:3/4}
.sma-project-gallery--first{padding-top:96px}
.sma-project-brief{display:grid;gap:32px;padding:0 0 96px;align-items:start}
@media (min-width:1000px){.sma-project-brief{grid-template-columns:1.4fr .8fr;gap:64px}}
.sma-project-brief__specs{display:grid;gap:18px;padding-top:28px;border-top:1px solid var(--sma-ink)}
.sma-project-specs--row{display:flex;flex-wrap:wrap;gap:16px 40px}
.sma-project-specs--row div{display:grid;grid-template-columns:none;gap:4px;padding:0;border:0}
.sma-project-brief .sma-project-tags{margin-top:6px;padding-top:0;border-top:0}
.sma-project-brief__cta{display:grid;gap:10px;background:#fff;border:1px solid var(--sma-line);border-radius:8px;padding:26px 24px}
.sma-project-brief__cta .sma-btn{justify-content:center}
.sma-project-gallery--inline{padding:0}
.sma-project-story--gallery .sma-pgrid{columns:2}
.sma-project-story--gallery .sma-project-gallery__head{margin-bottom:28px}

/* ==========================================================================
   Services page
   ========================================================================== */
.sma-audience a{color:inherit;text-decoration:none}
.sma-audience a:hover{color:var(--sma-clay)}
.sma-svc-band{border-top:1px solid var(--sma-line)}
.sma-svcrow{border-bottom:1px solid var(--sma-line)}
.sma-svcrow__img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;box-shadow:0 40px 60px -44px rgba(27,25,23,.45)}
body.sma .sma-svcrow__title .elementor-heading-title{font-size:clamp(30px,3.4vw,46px)}
.sma-svcrow__cols{display:grid;gap:22px 32px;padding-top:18px;border-top:1px solid var(--sma-line)}
@media (min-width:700px){.sma-svcrow__cols{grid-template-columns:1.1fr .9fr}}
.sma-svcrow__h{font-family:var(--sma-sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);margin:0 0 10px}
.sma-svcrow__list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.sma-svcrow__list li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.5;color:var(--sma-ink-2)}
.sma-svcrow__list li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;background:var(--sma-clay)}
.sma-svcrow__permits{margin:0;font-size:14.5px;line-height:1.55;color:var(--sma-ink-2)}
body.sma .sma-faq .elementor-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--sma-line)}
body.sma .sma-faq .elementor-accordion .elementor-tab-title{padding:20px 0;font-family:var(--sma-serif);font-weight:400;font-size:clamp(20px,1.8vw,24px);letter-spacing:-.015em;color:var(--sma-ink);border:0}
body.sma .sma-faq .elementor-accordion .elementor-tab-title.elementor-active{color:var(--sma-clay)}
body.sma .sma-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon{color:var(--sma-stone)}
body.sma .sma-faq .elementor-accordion .elementor-tab-content{padding:0 0 22px;border:0;font-size:15.5px;line-height:1.65;color:var(--sma-ink-2)}
body.sma .sma-faq .elementor-accordion .elementor-tab-content p{margin:0}
body.sma h3.sma-svcrow__h{font-family:var(--sma-sans)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);margin:0 0 10px}
/* Services audience bands: centred statement over a darkened photo */
body.sma .sma-band{position:relative;isolation:isolate;border:0}
body.sma .sma-band::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(60% 80% at 50% 50%,rgba(27,25,23,.15),rgba(27,25,23,.55))}
body.sma .sma-band > .e-con-inner{position:relative;z-index:2}
body.sma .sma-band .sma-band__in{max-width:820px;margin:0 auto;text-align:center;align-items:center!important}
body.sma .sma-band .sma-band__in .elementor-widget{text-align:center}
body.sma .sma-band .sma-h2--xl .elementor-heading-title{color:#fff;font-size:clamp(36px,4.8vw,68px);text-shadow:0 2px 12px rgba(0,0,0,.35)}
body.sma .sma-band .sma-eyebrow .elementor-heading-title{color:var(--sma-clay);font-weight:600}
body.sma .sma-band .sma-lede,body.sma .sma-band .sma-lede p{color:rgba(255,255,255,.88);max-width:62ch;margin-inline:auto;text-shadow:0 1px 3px rgba(0,0,0,.4)}
body.sma .sma-band .sma-eyebrow .elementor-heading-title{color:#fff!important;opacity:.85;text-shadow:0 1px 3px rgba(0,0,0,.5)}
body.sma .sma-band{padding-top:120px!important;padding-bottom:120px!important}
@media (max-width:899px){body.sma .sma-band{padding-top:80px!important;padding-bottom:80px!important}}
/* Light band: paper ground with a faint drafting grid and clay corner marks */
body.sma .sma-band--light::before{background:linear-gradient(var(--sma-line) 1px,transparent 1px),linear-gradient(90deg,var(--sma-line) 1px,transparent 1px);background-size:72px 72px;opacity:.7;-webkit-mask-image:radial-gradient(70% 90% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 90% at 50% 50%,#000,transparent)}
body.sma .sma-band--light::after{content:"";position:absolute;left:50%;top:50%;z-index:1;width:min(920px,92%);height:calc(100% - 64px);transform:translate(-50%,-50%);border:1px solid var(--sma-line);pointer-events:none;background:
  linear-gradient(var(--sma-clay),var(--sma-clay)) top left/18px 2px no-repeat,linear-gradient(var(--sma-clay),var(--sma-clay)) top left/2px 18px no-repeat,
  linear-gradient(var(--sma-clay),var(--sma-clay)) bottom right/18px 2px no-repeat,linear-gradient(var(--sma-clay),var(--sma-clay)) bottom right/2px 18px no-repeat}
body.sma .sma-band--light .sma-h2--xl .elementor-heading-title{color:var(--sma-ink);text-shadow:none}
body.sma .sma-band--light .sma-eyebrow .elementor-heading-title{color:var(--sma-clay)!important;opacity:1;text-shadow:none}
body.sma .sma-band--light .sma-lede,body.sma .sma-band--light .sma-lede p{color:var(--sma-ink-2);text-shadow:none}
body.sma .sma-band{padding-top:72px!important;padding-bottom:72px!important}
body.sma .sma-band--light::after{height:calc(100% - 40px)}
body.sma .sma-band .sma-h2--xl .elementor-heading-title{font-size:clamp(32px,4vw,54px)}
@media (max-width:899px){body.sma .sma-band{padding-top:56px!important;padding-bottom:56px!important}}
body.sma .sma-band > .e-con-inner{padding-top:0!important;padding-bottom:0!important}
/* Light band v2: soft gradient wash + blurred clay glow, no grid or frame */
body.sma .sma-band--light{background:linear-gradient(135deg,#F1ECE4 0%,var(--sma-paper-2) 45%,#E3DBD0 100%)!important;overflow:hidden}
body.sma .sma-band--light::before{background:radial-gradient(42% 60% at 18% 30%,rgba(169,84,58,.16),rgba(169,84,58,0) 70%),radial-gradient(38% 55% at 84% 78%,rgba(255,255,255,.7),rgba(255,255,255,0) 70%);opacity:1;-webkit-mask-image:none;mask-image:none}
body.sma .sma-band--light::after{content:"";position:absolute;inset:auto;left:-6%;bottom:-38%;width:46vw;height:46vw;max-width:640px;max-height:640px;transform:none;border:1px solid rgba(169,84,58,.18);border-radius:50%;background:radial-gradient(closest-side,rgba(169,84,58,.08),rgba(169,84,58,0));pointer-events:none}
body.sma .sma-band--light .sma-band__in{position:relative;padding:28px 32px;border-radius:12px;background:rgba(251,250,247,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 60px -40px rgba(27,25,23,.35),inset 0 1px 0 rgba(255,255,255,.6)}
/* Text-link button: single underline, arrow slides on hover */
body.sma .sma-link .elementor-button,body.sma .sma-link .elementor-button:hover,body.sma .sma-link .elementor-button:focus{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;color:var(--sma-ink)!important;text-decoration:none!important;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
body.sma .sma-link .elementor-button .elementor-button-text{text-decoration:none!important;border-bottom:1px solid var(--sma-ink);padding-bottom:3px;transition:border-color .25s,color .25s}
body.sma .sma-link .elementor-button:hover .elementor-button-text{color:var(--sma-clay);border-color:var(--sma-clay)}
body.sma .sma-link .elementor-button .elementor-button-content-wrapper{gap:8px}
body.sma .sma-link .elementor-button svg,body.sma .sma-link .elementor-button i{width:13px;height:13px;fill:currentColor;transition:transform .3s var(--sma-ease)}
body.sma .sma-link .elementor-button:hover svg,body.sma .sma-link .elementor-button:hover i{transform:translateX(4px)}
body.sma .sma-link a.elementor-button,body.sma .sma-link .elementor-button{border-bottom:0!important;padding-bottom:0!important;display:inline-flex}
body.sma .elementor-widget.sma-link{border:0!important;padding:0!important;display:block;gap:0}
/* Outline square button, matches the ink square button */
body.sma .sma-btn-outline .elementor-button{padding:14px 20px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--sma-ink);border:1px solid var(--sma-ink);border-radius:2px;transition:background .25s var(--sma-ease),color .25s var(--sma-ease),border-color .25s}
body.sma .sma-btn-outline .elementor-button:hover{background:var(--sma-ink);color:#fff}
body.sma .sma-btn-outline .elementor-button svg,body.sma .sma-btn-outline .elementor-button i{width:13px;height:13px;fill:currentColor;transition:transform .3s var(--sma-ease)}
body.sma .sma-btn-outline .elementor-button:hover svg{transform:translateX(4px)}
/* Consultation button: sweeping clay fill on hover, calendar icon nods */
body.sma .sma-btn-square .elementor-button,body.sma .sma-header .sma-cta .elementor-button{position:relative;overflow:hidden;isolation:isolate}
body.sma .sma-btn-square .elementor-button::before,body.sma .sma-header .sma-cta .elementor-button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sma-clay);transform:translateX(-101%);transition:transform .45s var(--sma-ease)}
body.sma .sma-btn-square .elementor-button:hover::before,body.sma .sma-header .sma-cta .elementor-button:hover::before{transform:translateX(0)}
body.sma .sma-btn-square .elementor-button:hover,body.sma .sma-header .sma-cta .elementor-button:hover{background:var(--sma-ink)!important;border-color:var(--sma-clay)!important}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-cta .elementor-button:hover{background:#fff!important;color:var(--sma-ink)!important;border-color:#fff!important}
body.sma .sma-header.is-over-dark:not(.is-scrolled) .sma-cta .elementor-button::before{background:var(--sma-paper-2)}
@keyframes sma-nod{0%,100%{transform:rotate(0)}30%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}}
body.sma .sma-btn-square .elementor-button:hover svg,body.sma .sma-header .sma-cta .elementor-button:hover svg{animation:sma-nod .6s var(--sma-ease)}
#work,#story,#services,#projects,#process,#about,#reviews,#contact,#faq,#commercial,#residential{scroll-margin-top:72px}

/* ==========================================================================
   About page: Profile Hero, Journey, story
   ========================================================================== */
.sma-about-hero{position:relative}
.sma-phero{display:grid;gap:40px;align-items:center}
@media (min-width:1000px){.sma-phero{grid-template-columns:1.1fr .9fr;gap:72px}.sma-phero--left .sma-phero__media{order:-1}}
.sma-phero__copy{display:grid;gap:22px}
.sma-phero__eyebrow{margin:0}
body.sma .sma-phero__name{margin:0;font-family:var(--sma-serif);font-weight:300;font-size:clamp(56px,8vw,120px);line-height:.92;letter-spacing:-.035em;color:var(--sma-ink)}
.sma-phero__name .ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.sma-phero__name .ln span{display:block;transform:translateY(110%);transition:transform 1.1s var(--sma-ease) .15s}
.sma-phero.is-ready .sma-phero__name .ln span{transform:none}
.sma-phero__role{margin:0;font-family:var(--sma-serif);font-style:italic;font-weight:300;font-size:clamp(20px,1.9vw,26px);line-height:1.3;color:var(--sma-clay);max-width:30ch}
.sma-phero__statement{margin:0;font-size:clamp(17px,1.4vw,19px);line-height:1.6;color:var(--sma-ink-2);max-width:52ch;padding-top:18px;position:relative}
.sma-phero__statement::before{content:"";position:absolute;left:0;top:0;width:44px;height:2px;background:var(--sma-clay)}
.sma-phero__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sma-phero__chips li{font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:9px 13px;border:1px solid var(--sma-line);border-radius:999px;color:var(--sma-ink-2);background:#fff}
.sma-phero__actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:6px}
.sma-btn--sq{border-radius:2px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:14px 20px;gap:10px}
.sma-btn--sq svg{width:14px;height:14px}
.sma-phero__media{position:relative;margin:0}
.sma-phero__media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:4px;display:block;box-shadow:0 50px 70px -50px rgba(27,25,23,.5)}
.sma-phero__media--center img{object-position:50% 40%}
.sma-phero__media::before{content:"";position:absolute;left:-14px;top:-14px;width:120px;height:120px;border-left:1px solid var(--sma-line);border-top:1px solid var(--sma-line);pointer-events:none}
.sma-phero__media::after{content:"";position:absolute;right:-14px;bottom:36px;width:120px;height:120px;border-right:2px solid var(--sma-clay);border-bottom:2px solid var(--sma-clay);pointer-events:none}
.sma-phero__media figcaption{margin-top:12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sma-stone)}
@media (max-width:999px){.sma-phero__media::after{bottom:30px}}

.sma-story-lead{font-family:var(--sma-serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.3;letter-spacing:-.015em;color:var(--sma-ink)!important;margin:0 0 20px!important}
.sma-prose--about p{font-size:17px;line-height:1.7;color:var(--sma-ink-2);margin:0 0 16px}

.sma-journey{list-style:none;margin:0;padding:0;display:grid;gap:36px;position:relative}
@media (min-width:900px){.sma-journey{grid-template-columns:repeat(var(--n,4),1fr);gap:32px}.sma-journey::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:var(--sma-ink)}}
@media (max-width:899px){.sma-journey{padding-left:26px}.sma-journey::before{content:"";position:absolute;left:5px;top:0;bottom:0;width:1px;background:var(--sma-ink)}}
.sma-journey__stop{position:relative;display:grid;gap:12px;padding-top:32px;opacity:0;translate:0 14px;transition:opacity .8s var(--sma-ease) calc(var(--i,0) * 120ms),translate .8s var(--sma-ease) calc(var(--i,0) * 120ms)}
.is-in .sma-journey__stop,.elementor-editor-active .sma-journey__stop{opacity:1;translate:0 0}
.sma-journey__marker{position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:var(--sma-paper-2);border:2px solid var(--sma-clay);box-sizing:border-box}
.sma-journey__stop.is-last .sma-journey__marker{background:var(--sma-clay)}
@media (max-width:899px){.sma-journey__stop{padding-top:0;padding-left:0}.sma-journey__marker{left:-26px;top:4px}}
.sma-journey__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block}
.sma-journey__meta{display:flex;align-items:baseline;gap:12px}
.sma-journey__year{font-family:var(--sma-serif);font-weight:300;font-size:clamp(34px,3vw,44px);line-height:1;letter-spacing:-.03em;color:var(--sma-ink)}
.sma-journey__place{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-clay);font-weight:500}
body.sma .sma-journey__title{margin:0;font-family:var(--sma-sans);font-size:16px;font-weight:600;line-height:1.3;color:var(--sma-ink)}
.sma-journey__text{margin:0;font-size:14.5px;line-height:1.55;color:var(--sma-ink-2)}
@media (prefers-reduced-motion:reduce){.sma-journey__stop{opacity:1;translate:0 0;transition:none}.sma-phero__name .ln span{transform:none;transition:none}}
body.sma .sma-prose--about p.sma-story-lead{font-family:var(--sma-serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.3;letter-spacing:-.015em;color:var(--sma-ink);margin:0 0 20px}

/* ==========================================================================
   Process page
   ========================================================================== */
.sma-stage-index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--sma-ink)}
@media (min-width:900px){.sma-stage-index{grid-template-columns:repeat(6,1fr)}}
.sma-stage-index a{display:grid;gap:10px;padding:22px 18px 22px 0;border-bottom:1px solid var(--sma-line);text-decoration:none;color:var(--sma-ink);font-size:14px;font-weight:500;line-height:1.3;transition:color .25s}
.sma-stage-index a span{font-family:var(--sma-serif);font-weight:300;font-size:30px;line-height:1;color:var(--sma-stone);transition:color .25s}
.sma-stage-index a:hover,.sma-stage-index a:hover span{color:var(--sma-clay)}
.sma-stage{border-bottom:1px solid var(--sma-line);scroll-margin-top:72px}
.sma-stage__img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:6px;box-shadow:0 40px 60px -44px rgba(27,25,23,.45)}
body.sma .sma-stage__n .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:clamp(48px,4.6vw,72px);line-height:.9;letter-spacing:-.03em;color:var(--sma-paper-2);-webkit-text-stroke:1px var(--sma-clay)}
body.sma .sma-stage__title .elementor-heading-title{font-size:clamp(30px,3.4vw,46px)}
.sma-stage__cols{display:grid;gap:22px 32px;padding-top:18px;border-top:1px solid var(--sma-line)}
@media (min-width:700px){.sma-stage__cols{grid-template-columns:1fr 1fr}}
.sma-stage__p{margin:0;font-size:14.5px;line-height:1.55;color:var(--sma-ink-2)}
.sma-who{padding:26px 24px;background:#fff;border:1px solid var(--sma-line);border-radius:8px}
.sma-who--us{background:var(--sma-ink);border-color:var(--sma-ink)}
.sma-who--us .sma-svcrow__list li{color:rgba(255,255,255,.85)}
.sma-who--us .sma-svcrow__list li::before{background:var(--sma-clay)}
body.sma .sma-who__h .elementor-heading-title{font-family:var(--sma-serif);font-weight:400;font-size:24px;letter-spacing:-.015em;margin-bottom:6px}
body.sma .sma-who__h--us .elementor-heading-title{color:#fff}
/* Process v2 */
.sma-stage-index--v2{border-top:0;display:flex;flex-wrap:wrap;gap:8px}
.sma-stage-index--v2 a{display:inline-flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border:1px solid var(--sma-line);border-radius:999px;background:#fff;font-size:13px;font-weight:500;transition:border-color .25s,color .25s,transform .3s var(--sma-ease)}
.sma-stage-index--v2 a span{font-family:var(--sma-sans);font-size:11px;font-weight:600;letter-spacing:.08em;color:#fff;background:var(--sma-ink);width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;line-height:1}
.sma-stage-index--v2 a:hover{border-color:var(--sma-ink);color:var(--sma-ink);transform:translateY(-2px)}
.sma-stage-index--v2 a:hover span{background:var(--sma-clay)}
body.sma .sma-stage__media{position:relative}
body.sma .sma-stage__img img{aspect-ratio:4/3;object-position:50% 40%;border-radius:6px}
body.sma .sma-stage__badge{position:absolute;left:18px;top:18px;margin:0}
body.sma .sma-stage__badge .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:22px;line-height:1;letter-spacing:-.02em;color:var(--sma-ink);background:rgba(251,250,247,.94);padding:10px 12px;border-radius:2px;-webkit-text-stroke:0}
body.sma .sma-stage__n{display:none}
.sma-stage__grid{display:grid;gap:18px;padding-top:18px;border-top:1px solid var(--sma-line)}
@media (min-width:900px){.sma-stage__grid{grid-template-columns:1.1fr .95fr .95fr}}
.sma-stage__cell--out{background:#fff;border:1px solid var(--sma-line);border-radius:6px;padding:16px 18px}
.sma-stage__cell--out .sma-svcrow__h{color:var(--sma-clay)}
body.sma .sma-stage .e-con-inner > .e-con{align-items:flex-start!important}
.sma-outcomes{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sma-outcomes li{display:grid;gap:3px;padding-left:16px;border-left:1px solid var(--sma-line);font-family:var(--sma-serif);font-size:19px;letter-spacing:-.01em;color:var(--sma-ink)}
.sma-outcomes small{font-family:var(--sma-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-clay);font-weight:500}
/* Process: restore v1 stage rows, new index strip */
body.sma .sma-stage__n{display:block}
body.sma .sma-stage__img img{aspect-ratio:4/5;object-position:50% 20%}
body.sma .sma-stage .e-con-inner > .e-con{align-items:center!important}
.sma-stage-index--v3{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:0;position:relative;padding-top:18px}
@media (min-width:900px){.sma-stage-index--v3{grid-template-columns:repeat(6,1fr)}.sma-stage-index--v3::before{content:"";position:absolute;left:0;right:0;top:23px;height:1px;background:var(--sma-line)}}
.sma-stage-index--v3 a{display:grid;gap:14px;padding:0 20px 0 0;border:0;border-radius:0;background:none;transform:none;font-size:14px;font-weight:500;line-height:1.3;color:var(--sma-ink);position:relative}
.sma-stage-index--v3 a span{width:11px;height:11px;border-radius:50%;background:var(--sma-paper);border:2px solid var(--sma-clay);box-sizing:border-box;font-size:0;display:block;transition:background .25s,transform .3s var(--sma-ease)}
.sma-stage-index--v3 a::after{content:attr(data-n);position:absolute;right:20px;top:-2px;font-family:var(--sma-serif);font-weight:300;font-size:14px;color:var(--sma-stone)}
.sma-stage-index--v3 a:hover{color:var(--sma-clay);transform:none}
.sma-stage-index--v3 a:hover span{background:var(--sma-clay);transform:scale(1.25)}
@media (max-width:899px){.sma-stage-index--v3 a{padding:12px 16px 12px 0;border-bottom:1px solid var(--sma-line)}}
/* Process index v4: bold numbered tiles */
.sma-stage-index--v4{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;border:0;padding:0}
@media (min-width:700px){.sma-stage-index--v4{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.sma-stage-index--v4{grid-template-columns:repeat(6,1fr);gap:14px}}
.sma-stage-index--v4::before{display:none}
.sma-stage-index--v4 a{display:grid;grid-template-rows:auto 1fr;gap:26px;padding:20px 18px 18px;border:1px solid var(--sma-line);border-radius:6px;background:#fff;color:var(--sma-ink);font-size:14px;font-weight:600;line-height:1.25;letter-spacing:-.005em;position:relative;transition:background .3s var(--sma-ease),color .3s,transform .35s var(--sma-ease),box-shadow .35s}
.sma-stage-index--v4 a span{width:auto;height:auto;border:0;border-radius:0;background:none;display:block;font-family:var(--sma-serif);font-weight:300;font-size:44px;line-height:.9;letter-spacing:-.03em;color:var(--sma-ink);transition:color .3s}
.sma-stage-index--v4 a::after{content:"→";position:absolute;right:16px;bottom:16px;font-size:16px;color:var(--sma-stone);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .35s var(--sma-ease),color .3s}
.sma-stage-index--v4 a:hover{background:var(--sma-ink);color:#fff;transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(27,25,23,.5)}
.sma-stage-index--v4 a:hover span{color:var(--sma-clay)}
.sma-stage-index--v4 a:hover::after{opacity:1;transform:none;color:#fff}
/* Index tiles: icon + number + arrows between tiles */
.sma-stage-index--v4 li{position:relative;min-width:0}
.sma-stage-index--v4 a{grid-template-rows:auto auto 1fr;gap:14px;padding:18px 16px 18px}
.sma-stage-index__ico{display:block;color:var(--sma-clay);line-height:0}
.sma-stage-index--v4 a span{font-size:30px}
.sma-stage-index--v4 a:hover .sma-stage-index__ico{color:#fff}
@media (min-width:1000px){
  .sma-stage-index--v4{gap:22px}
  .sma-stage-index--v4 li:not(:last-child)::after{content:"";position:absolute;right:-19px;top:50%;width:16px;height:16px;transform:translateY(-50%);background:no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238C867F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");pointer-events:none}
}
.sma-stage-index--v4{align-items:stretch}
.sma-stage-index--v4 li{display:flex}
.sma-stage-index--v4 a{width:100%;min-height:150px;grid-template-rows:auto auto auto;align-content:start}
/* Process: tighter rhythm between index and stages */
body.sma .e-con:has(> .e-con-inner > .sma-stage-index),body.sma .e-con:has(> .e-con-inner > .elementor-widget .sma-stage-index){padding-bottom:0!important}
body.sma .e-con:has(.sma-stage-index) > .e-con-inner{padding-bottom:12px!important}
body.sma .sma-stage > .e-con-inner{padding-top:0!important;padding-bottom:0!important}
body.sma .sma-stage{padding-top:56px!important;padding-bottom:56px!important}
body.sma #stage-01.sma-stage{padding-top:36px!important}
body.sma #stage-01.sma-stage{padding-top:64px!important}
body.sma .e-con:has(.sma-stage-index) > .e-con-inner{padding-bottom:24px!important}
body.sma #stage-02 .sma-stage__img img,body.sma #stage-04 .sma-stage__img img{object-fit:cover;object-position:50% 50%;background:#fff;padding:14px;box-sizing:border-box;box-shadow:0 1px 0 rgba(27,25,23,.06),0 30px 50px -34px rgba(27,25,23,.4)}
body.sma #stage-05 .sma-stage__img img{object-position:50% 70%}

/* ==========================================================================
   Who does what: dark band with drifting glow, icon cards, flow arrows
   ========================================================================== */
body.sma .sma-who-section{position:relative;overflow:hidden;isolation:isolate}
body.sma .sma-who-section::before{content:"";position:absolute;inset:-20%;z-index:0;background:radial-gradient(38% 50% at 20% 30%,rgba(169,84,58,.28),rgba(169,84,58,0) 70%),radial-gradient(34% 46% at 82% 76%,rgba(255,255,255,.10),rgba(255,255,255,0) 70%);animation:sma-drift 18s ease-in-out infinite alternate;pointer-events:none}
@keyframes sma-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(4%,-4%) scale(1.06)}}
body.sma .sma-who-section::after{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);pointer-events:none}
body.sma .sma-who-section > .e-con-inner{position:relative;z-index:1}
body.sma .sma-who-section .sma-lede,body.sma .sma-who-section .sma-lede p{color:rgba(255,255,255,.8)}
body.sma .sma-who-section .sma-lede--rule::before{background:var(--sma-clay)}
body.sma .sma-who{padding:0!important;background:transparent!important;border:0!important;position:relative}
.sma-who__card{position:relative;height:100%;box-sizing:border-box;padding:30px 28px 28px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;gap:16px;align-content:start;transition:transform .5s var(--sma-ease),border-color .4s,background .4s}
.sma-who__card:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}
.sma-who__card--us{background:#fff;border-color:#fff;color:var(--sma-ink)}
.sma-who__card--us:hover{background:#fff;transform:translateY(-6px) scale(1.01)}
.sma-who__ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--sma-clay);transition:transform .5s var(--sma-ease)}
.sma-who__card--us .sma-who__ico{background:var(--sma-paper-2);color:var(--sma-clay)}
.sma-who__card:hover .sma-who__ico{transform:rotate(-8deg) scale(1.06)}
.sma-who__tag{position:absolute;top:22px;right:22px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#fff;background:var(--sma-clay);padding:6px 10px;border-radius:999px}
body.sma h3.sma-who__title{margin:0;font-family:var(--sma-serif);font-weight:400;font-size:26px;letter-spacing:-.015em;line-height:1.1;color:#fff}
.sma-who__card--us h3.sma-who__title{color:var(--sma-ink)}
.sma-who__card .sma-svcrow__list li{color:rgba(255,255,255,.82)}
.sma-who__card--us .sma-svcrow__list li{color:var(--sma-ink-2)}
.sma-who__card .sma-svcrow__list li::before{background:var(--sma-clay)}
@media (min-width:1000px){
  body.sma .sma-who:not(:last-child)::after{content:"";position:absolute;right:-22px;top:50%;width:16px;height:16px;transform:translateY(-50%);background:no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9543A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");z-index:2}
}
@media (prefers-reduced-motion:reduce){body.sma .sma-who-section::before{animation:none}}
body.sma .sma-on-dark .sma-who__card--us h3.sma-who__title,body.sma .sma-who__card--us h3.sma-who__title{color:var(--sma-ink)!important}
body.sma .sma-on-dark .sma-who__card--us .sma-svcrow__list li{color:var(--sma-ink-2)!important}
body.sma .sma-who-section .sma-lede,body.sma .sma-who-section .sma-lede p{max-width:none;width:100%}
body.sma .sma-who-section .sma-lede--rule{padding-top:0!important;margin-top:4px;padding-bottom:0}
body.sma .sma-who-section .sma-lede--rule::before{display:none}
body.sma .sma-who-section .sma-lede{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:22px!important}
body.sma .sma-who-section .sma-lede--rule::before,body.sma .sma-who-section .sma-lede--rule .elementor-widget-container::before{display:none!important;content:none!important}
body.sma .sma-who-section .sma-lede{border-bottom:0!important;padding-bottom:0!important}

/* ==========================================================================
   Journal: index, cards, article
   ========================================================================== */
.sma-journal-hero .sma-mhero__inner{padding-bottom:56px}
.sma-jfeat{padding:72px 0 0}
.sma-jfeat__card{display:grid;gap:28px;text-decoration:none;color:var(--sma-ink);background:#fff;border:1px solid var(--sma-line);border-radius:8px;overflow:hidden;box-shadow:0 30px 50px -40px rgba(27,25,23,.35);transition:transform .5s var(--sma-ease),box-shadow .5s}
.sma-jfeat__card:hover{transform:translateY(-4px);box-shadow:0 40px 60px -36px rgba(27,25,23,.45)}
@media (min-width:1000px){.sma-jfeat__card{grid-template-columns:1.15fr .85fr;gap:0}}
.sma-jfeat__media{display:block;position:relative;aspect-ratio:16/10;background:var(--sma-paper-2);overflow:hidden}
.sma-jfeat__media img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1.6s var(--sma-ease)}
.sma-jfeat__card:hover .sma-jfeat__media img{transform:scale(1.04)}
.sma-jfeat__body{display:grid;gap:14px;align-content:center;padding:36px 36px 40px}
@media (min-width:1000px){.sma-jfeat__body{padding:48px 48px 52px}}
.sma-jfeat__title{margin:0;font-family:var(--sma-serif);font-weight:400;font-size:clamp(28px,2.8vw,40px);line-height:1.05;letter-spacing:-.02em}
.sma-jfeat__excerpt{margin:0;font-size:16px;line-height:1.6;color:var(--sma-ink-2)}
.sma-jfeat__meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sma-stone)}
.sma-jfeat__body .sma-btn{justify-self:start;margin-top:6px}
.sma-jgrid-wrap{padding:80px 0 96px}
.sma-jgrid__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.sma-jgrid__head .sma-h2-plain{margin:8px 0 0}
.sma-filters--links{margin:0;gap:6px}
body.sma .sma-filters--links .sma-filter{text-decoration:none}
.sma-jgrid{display:grid;gap:28px 24px;grid-template-columns:1fr}
@media (min-width:700px){.sma-jgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sma-jgrid{grid-template-columns:repeat(3,1fr)}}
.sma-jcard{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:var(--sma-ink);background:#fff;border:1px solid var(--sma-line);border-radius:8px;overflow:hidden;transition:transform .5s var(--sma-ease),box-shadow .5s,border-color .4s}
.sma-jcard:hover{transform:translateY(-4px);box-shadow:0 30px 50px -36px rgba(27,25,23,.4);border-color:rgba(27,25,23,.25)}
.sma-jcard__media{display:block;position:relative;aspect-ratio:16/10;background:var(--sma-paper-2);overflow:hidden}
.sma-jcard__media img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform 1.4s var(--sma-ease)}
.sma-jcard:hover .sma-jcard__media img{transform:scale(1.05)}
.sma-jcard__body{display:grid;gap:10px;padding:22px 22px 24px;align-content:start}
.sma-jcard__kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone);font-weight:500}
.sma-jcard__kicker i,.sma-article__kicker i{font-style:normal;margin:0 8px;color:var(--sma-clay)}
body.sma .sma-jcard__title{margin:0;font-family:var(--sma-serif);font-weight:400;font-size:22px;line-height:1.15;letter-spacing:-.015em;transition:color .25s}
.sma-jcard:hover .sma-jcard__title{color:var(--sma-clay)}
.sma-jcard__excerpt{font-size:14.5px;line-height:1.55;color:var(--sma-ink-2)}
.sma-jcard__more{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--sma-ink);margin-top:4px}

.sma-article__head{padding-top:150px;padding-bottom:36px;display:grid;gap:18px}
.sma-article__head > *{max-width:none}
body.sma .sma-article__title{max-width:none}
.sma-article__standfirst{max-width:none}
@media (max-width:899px){.sma-article__head{padding-top:110px}}
.sma-article__kicker{margin:0}
body.sma .sma-article__title{margin:0;font-family:var(--sma-serif);font-weight:300;font-size:clamp(36px,4.8vw,64px);line-height:1.02;letter-spacing:-.025em;color:var(--sma-ink);text-wrap:balance}
.sma-article__standfirst{margin:0;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--sma-ink-2)}
.sma-article__byline{display:flex;align-items:center;gap:12px;font-size:14px;padding-top:6px}
.sma-article__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}
.sma-article__byline strong{display:block;font-weight:600;color:var(--sma-ink)}
.sma-article__date{font-size:12.5px;color:var(--sma-stone)}
.sma-article__hero{margin:0 auto;padding-bottom:48px}
.sma-article__hero img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:8px;display:block}
.sma-article__hero figcaption{margin-top:10px;font-size:12px;color:var(--sma-stone)}
.sma-article__body{display:grid;gap:40px;padding-bottom:72px}
@media (min-width:1000px){.sma-article__body{grid-template-columns:280px minmax(0,1fr);gap:72px;align-items:start}}
.sma-prose--article{max-width:760px}
.sma-article__side{display:grid;gap:22px;align-content:start}
@media (min-width:1000px){.sma-article__side{position:sticky;top:110px;align-self:start;max-height:calc(100vh - 130px);overflow:auto}}
.sma-toc{padding:22px 22px 20px;background:#fff;border:1px solid var(--sma-line);border-radius:8px}
.sma-toc .sma-eyebrow{margin:0 0 12px}
.sma-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:toc}
.sma-toc li{counter-increment:toc;display:flex;gap:10px;font-size:14px;line-height:1.4}
.sma-toc li::before{content:counter(toc,decimal-leading-zero);font-family:var(--sma-serif);color:var(--sma-clay);flex:0 0 22px}
.sma-toc a{color:var(--sma-ink);text-decoration:none}
.sma-toc a:hover{color:var(--sma-clay)}
.sma-article__cta{display:grid;gap:10px;padding:24px 22px;background:var(--sma-paper-2);border-radius:8px}
.sma-article__cta .sma-btn{justify-content:center}
.sma-prose--article{font-size:17.5px;line-height:1.75;color:var(--sma-ink-2)}
.sma-prose--article > p:first-of-type{font-size:20px;line-height:1.6;color:var(--sma-ink)}
.sma-prose--article h2{font-family:var(--sma-serif);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.1;letter-spacing:-.02em;color:var(--sma-ink);margin:44px 0 14px;scroll-margin-top:96px}
.sma-prose--article h3{font-size:19px;font-weight:600;color:var(--sma-ink);margin:28px 0 10px}
.sma-prose--article p{margin:0 0 18px}
.sma-prose--article ul,.sma-prose--article ol{padding-left:1.3em;margin:0 0 18px}
.sma-prose--article li{margin-bottom:8px}
.sma-prose--article a{color:var(--sma-ink);text-decoration:underline;text-decoration-color:var(--sma-clay);text-underline-offset:3px}
.sma-prose--article a:hover{color:var(--sma-clay)}
.sma-prose--article blockquote{margin:28px 0;padding:22px 26px;border-left:2px solid var(--sma-clay);background:#fff;border-radius:0 8px 8px 0;font-family:var(--sma-serif);font-size:21px;line-height:1.4;color:var(--sma-ink)}
.sma-prose--article blockquote p{margin:0}
.sma-prose--article figure{margin:28px 0}
.sma-prose--article img{max-width:100%;height:auto;border-radius:6px}
.sma-prose--article figcaption{font-size:12.5px;color:var(--sma-stone);margin-top:8px}
.sma-prose--article .sma-callout{padding:22px 24px;background:var(--sma-paper-2);border-radius:8px;margin:28px 0;font-size:16px}
.sma-prose--article .sma-callout strong{color:var(--sma-ink)}
.sma-prose--article table{width:100%;border-collapse:collapse;font-size:15px;margin:24px 0}
.sma-prose--article th,.sma-prose--article td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--sma-line);vertical-align:top}
.sma-prose--article th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sma-stone);font-weight:500}
.sma-article__tags{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 0}
.sma-article__tags .sma-tag{text-decoration:none}
.sma-author{display:grid;grid-template-columns:88px 1fr;gap:22px;align-items:start;margin-top:48px;padding-top:32px;border-top:1px solid var(--sma-ink)}
.sma-author__avatar{width:88px;height:88px;border-radius:50%;object-fit:cover}
.sma-author .sma-eyebrow{margin:0 0 6px}
body.sma h3.sma-author__name{margin:0 0 8px;font-family:var(--sma-serif);font-weight:400;font-size:24px;letter-spacing:-.015em}
.sma-author__bio{margin:0 0 12px;font-size:15px;line-height:1.6}
@media (max-width:600px){.sma-author{grid-template-columns:1fr}}
.sma-article__related{background:var(--sma-paper-2);border-top:1px solid var(--sma-line);padding:88px 0}
.sma-prose--article a.sma-link,.sma-author a.sma-link{text-decoration:none!important;border-bottom:1px solid var(--sma-ink);padding-bottom:3px;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--sma-ink)}
.sma-prose--article a.sma-link:hover,.sma-author a.sma-link:hover{color:var(--sma-clay);border-color:var(--sma-clay)}

/* ==========================================================================
   404
   ========================================================================== */
.sma-404__hero{display:grid;gap:40px;align-items:center;padding-top:140px;padding-bottom:72px}
@media (min-width:1000px){.sma-404__hero{grid-template-columns:1.05fr .95fr;gap:72px;padding-top:150px;padding-bottom:96px}}
@media (max-width:899px){.sma-404__hero{padding-top:110px}}
.sma-404__sheet{position:relative;background:#FBFAF7;border:1px solid var(--sma-line);padding:16px;box-shadow:0 40px 70px -46px rgba(27,25,23,.45);color:var(--sma-ink);opacity:0;transform:translateY(20px) rotate(-.6deg);animation:sma-404in 1s var(--sma-ease) .1s forwards}
@keyframes sma-404in{to{opacity:1;transform:none}}
.sma-404__svg{display:block;width:100%;height:auto;font-family:var(--sma-serif)}
.sma-404__svg .dw path{stroke-dasharray:1400;stroke-dashoffset:1400;animation:sma-404draw 2.2s var(--sma-ease) .3s forwards}
.sma-404__svg .dw path:nth-child(2){animation-delay:.6s}.sma-404__svg .dw path:nth-child(3){animation-delay:.9s}.sma-404__svg .dw path:nth-child(4),.sma-404__svg .dw path:nth-child(5){animation-delay:1.2s}.sma-404__svg .dw path:nth-child(6),.sma-404__svg .dw path:nth-child(7){animation-delay:1.5s}
@keyframes sma-404draw{to{stroke-dashoffset:0}}
.sma-404__svg .cloud{stroke-dasharray:600;stroke-dashoffset:600;animation:sma-404draw 1.4s var(--sma-ease) 1.9s forwards,sma-404pulse 3s ease-in-out 3.4s infinite}
@keyframes sma-404pulse{0%,100%{opacity:1}50%{opacity:.55}}
.sma-404__svg .lab{opacity:0;animation:sma-fadein .6s var(--sma-ease) 2.6s forwards;font-weight:300;letter-spacing:-.03em}
.sma-404__svg .lab--s{font-family:var(--sma-sans);font-weight:500;letter-spacing:.18em;animation-delay:2.9s}
.sma-404__copy{display:grid;gap:22px}
body.sma .sma-404__title{margin:0;max-width:12ch}
.sma-404__actions{display:flex;flex-wrap:wrap;gap:12px}
.sma-404__links{list-style:none;margin:8px 0 0;padding:18px 0 0;border-top:1px solid var(--sma-line);display:flex;flex-wrap:wrap;gap:8px 22px}
.sma-404__links a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--sma-ink-2);text-decoration:none;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.sma-404__links a:hover{color:var(--sma-clay);border-color:var(--sma-clay)}
.sma-404__work{padding-bottom:96px}
@media (prefers-reduced-motion:reduce){.sma-404__sheet{animation:none;opacity:1;transform:none}.sma-404__svg .dw path,.sma-404__svg .cloud{stroke-dashoffset:0;animation:none}.sma-404__svg .lab{opacity:1;animation:none}}

/* ==========================================================================
   Contact page
   ========================================================================== */
body.sma .sma-cform{background:#fff;border:1px solid var(--sma-line);border-radius:10px;padding:34px 30px 30px!important;position:relative}
body.sma .sma-cform--primary{border-color:var(--sma-ink);box-shadow:0 30px 50px -40px rgba(27,25,23,.4)}
body.sma .sma-cform--primary{border-top:3px solid var(--sma-clay)}
body.sma .sma-cform .sma-cform__title .elementor-heading-title{font-size:clamp(28px,2.6vw,36px)}
body.sma .sma-cform .sma-lede,body.sma .sma-cform .sma-lede p{font-size:15.5px;max-width:none}
body.sma .sma-cform .gform_wrapper.gravity-theme .gfield input:not([type=submit]),body.sma .sma-cform .gform_wrapper.gravity-theme select,body.sma .sma-cform .gform_wrapper.gravity-theme textarea{background:var(--sma-paper)}
body.sma .sma-cform .gform_wrapper.gravity-theme .gform_fields{display:grid!important;grid-template-columns:repeat(12,1fr);column-gap:14px!important;row-gap:12px!important}
body.sma .sma-cform .gform_wrapper.gravity-theme .gfield{grid-column:span 12}
body.sma .sma-cform .gform_wrapper.gravity-theme .gfield.gf_left_half,body.sma .sma-cform .gform_wrapper.gravity-theme .gfield.gf_right_half{grid-column:span 6}
@media (max-width:600px){body.sma .sma-cform .gform_wrapper.gravity-theme .gfield.gf_left_half,body.sma .sma-cform .gform_wrapper.gravity-theme .gfield.gf_right_half{grid-column:span 12}}
body.sma .sma-cform .gform_wrapper.gravity-theme .gfield_label{font-size:13px;font-weight:500;color:var(--sma-ink-2);margin-bottom:4px}
body.sma .sma-cform .gform_wrapper.gravity-theme input[type=submit]{display:inline-flex;padding:14px 22px;border-radius:2px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--sma-ink);color:#fff;border:1px solid var(--sma-ink);cursor:pointer;transition:background .25s,border-color .25s}
body.sma .sma-cform .gform_wrapper.gravity-theme input[type=submit]:hover{background:var(--sma-clay);border-color:var(--sma-clay)}
body.sma .sma-cform .gform_wrapper.gravity-theme .gform_required_legend{display:none}
body.sma .sma-cform .gform_confirmation_message{font-size:16px;line-height:1.6;padding:18px 20px;background:var(--sma-paper-2);border-radius:6px}
.sma-contact-list-plain--light li{border-top-color:var(--sma-line);color:var(--sma-ink)}
.sma-contact-list-plain--light small{color:var(--sma-stone)}
.sma-cnote{margin:6px 0 0;font-size:14px;color:var(--sma-stone)}
.sma-map{position:relative;height:var(--h,460px);border-radius:10px;overflow:hidden;background:var(--sma-paper-2);border:1px solid var(--sma-line);isolation:isolate}
.sma-map__canvas{position:absolute;inset:0;z-index:1;background:var(--sma-paper-2)!important;font:inherit}
.sma-map__tiles{filter:saturate(.72) brightness(1.03) contrast(.94)}
.sma-map__poster{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:var(--sma-paper-2);background-image:linear-gradient(var(--sma-line) 1px,transparent 1px),linear-gradient(90deg,var(--sma-line) 1px,transparent 1px);background-size:40px 40px;transition:opacity .8s var(--sma-ease);pointer-events:none}
.sma-map.is-loaded .sma-map__poster{opacity:0}
.sma-map__pin{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--sma-ink);color:#fff}
.sma-map__marker{background:none;border:0}
.sma-map__marker i{position:absolute;inset:0;border-radius:50%;background:var(--sma-clay);opacity:.22;animation:sma-pulse 2.4s ease-out infinite}
.sma-map__marker b{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--sma-clay);border:3px solid #fff;box-shadow:0 4px 10px -2px rgba(27,25,23,.5)}
@keyframes sma-pulse{0%{transform:scale(.4);opacity:.35}100%{transform:scale(1.15);opacity:0}}
.sma-map__card{position:absolute;left:20px;top:20px;z-index:3;max-width:260px;padding:18px 20px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border:1px solid var(--sma-line);border-radius:6px;box-shadow:0 24px 40px -30px rgba(27,25,23,.5)}
.sma-map__card .sma-eyebrow{margin:0 0 6px}
.sma-map__name{margin:0 0 4px;font-family:var(--sma-serif);font-size:20px;line-height:1.15;letter-spacing:-.01em;color:var(--sma-ink)}
.sma-map__line{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:var(--sma-ink-2)}
.sma-map .leaflet-control-attribution{font-size:10px;background:rgba(244,241,236,.85);color:var(--sma-stone);padding:2px 6px}
.sma-map .leaflet-control-attribution a{color:var(--sma-stone)}
.sma-map .leaflet-bar{border:1px solid var(--sma-line);box-shadow:0 10px 20px -14px rgba(27,25,23,.5);border-radius:4px;overflow:hidden}
.sma-map .leaflet-bar a{width:34px;height:34px;line-height:34px;color:var(--sma-ink);background:#fff;border-bottom-color:var(--sma-line);font-weight:400}
.sma-map .leaflet-bar a:hover{background:var(--sma-paper)}
@media (max-width:600px){.sma-map{height:min(var(--h,460px),400px)}.sma-map__card{left:12px;top:12px;right:12px;max-width:none;padding:14px 16px}}
body.sma .sma-check-list .elementor-icon-list-icon{color:var(--sma-clay)}
body.sma .sma-check-list .elementor-icon-list-text{font-size:15.5px;line-height:1.55;color:var(--sma-ink-2)}
.sma-cnote a{color:var(--sma-clay);text-decoration:underline;text-underline-offset:3px}

/* Form grid: every field bottom-aligned, same control height, same label spacing. */
body.sma .sma-cform .gform_wrapper.gravity-theme .gfield{display:flex;flex-direction:column;justify-content:flex-end;margin:0}
body.sma .sma-cform .gform_wrapper.gravity-theme .gfield_label{margin:0 0 6px;line-height:1.3}
body.sma .sma-cform .gform_wrapper.gravity-theme .ginput_container{margin:0}
body.sma .sma-cform .gform_wrapper.gravity-theme .ginput_container input:not([type=submit]):not([type=file]),body.sma .sma-cform .gform_wrapper.gravity-theme select{height:46px;padding:0 14px;line-height:44px;box-sizing:border-box}
body.sma .sma-cform .gform_wrapper.gravity-theme .gfield_description{margin-top:6px}

/* Full-bleed map band: map fills the section, text sits on the left over a fade from the page background. */
body.sma .sma-map-band{position:relative;overflow:hidden;min-height:640px;background:var(--sma-paper-2)}
body.sma .sma-map-band > .e-con-inner{position:relative;z-index:2;min-height:640px;pointer-events:none}
body.sma .sma-map-band .sma-map-band__copy{position:relative;z-index:3;width:46%;max-width:560px;padding:96px 0;pointer-events:auto}
body.sma .sma-map-band .sma-map-band__map{position:absolute;top:0;bottom:0;left:50%;--width:100vw;width:100vw!important;transform:translateX(-50%);z-index:1;margin:0;max-width:none!important;--container-widget-width:100vw}
.sma-map--full{position:absolute;inset:0;height:auto;border:0;border-radius:0}
.sma-map--full::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,var(--sma-paper-2) 0%,var(--sma-paper-2) 34%,rgba(234,229,222,.86) 46%,rgba(234,229,222,0) 66%)}
.sma-map--full .leaflet-control-zoom{margin:0 24px 24px 0}
.sma-map--full .leaflet-control-attribution{margin:0}
.sma-map-band__directions{display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap}
@media (max-width:900px){
  body.sma .sma-map-band{min-height:0}
  body.sma .sma-map-band > .e-con-inner{min-height:0;pointer-events:auto}
  body.sma .sma-map-band .sma-map-band__copy{width:100%;max-width:none;padding:56px 0 32px}
  body.sma .sma-map-band .sma-map-band__map{position:relative;top:auto;bottom:auto;height:400px;--width:100vw;--container-widget-width:100vw;width:100vw!important;max-width:none!important;left:50%!important;transform:translateX(-50%)!important}
  .sma-map--full .leaflet-control-zoom{margin:0 16px 16px 0}
  .sma-map--full::after{background:linear-gradient(180deg,var(--sma-paper-2) 0%,rgba(234,229,222,0) 22%)}
}

body.sma .sma-sec-head--split{align-items:flex-end!important}
body.sma .sma-sec-head--split .sma-sec-head__lede{justify-content:flex-end;padding-bottom:6px}
body.sma .sma-sec-head--split .sma-lede p{max-width:440px}
@media (max-width:900px){body.sma .sma-sec-head--split .sma-sec-head__lede{padding-bottom:0}}

/* ==========================================================================
   Closing CTA band (contact page): marquee, drifting glow, drafting grid, staggered reveal
   ========================================================================== */
body.sma .sma-ctab{position:relative;overflow:hidden;isolation:isolate}
body.sma .sma-ctab::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(80% 90% at 70% 60%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(80% 90% at 70% 60%,#000 20%,transparent 75%)}
body.sma .sma-ctab::after{content:"";position:absolute;z-index:-1;width:62vw;height:62vw;max-width:900px;max-height:900px;right:-18vw;top:-30%;border-radius:50%;background:radial-gradient(circle at center,rgba(169,84,58,.42) 0%,rgba(169,84,58,.16) 38%,rgba(27,25,23,0) 68%);filter:blur(10px);animation:sma-ctab-drift 16s ease-in-out infinite alternate}
@keyframes sma-ctab-drift{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-14%,18%) scale(1.15)}}
body.sma .sma-ctab__marquee-w{width:100%;max-width:none}
.sma-ctab__marquee{position:relative;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.1);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.sma-ctab__track{display:flex;align-items:center;gap:36px;width:max-content;animation:sma-marquee 48s linear infinite;will-change:transform}
.sma-ctab__track span{font-family:var(--sma-serif);font-size:clamp(22px,2.4vw,32px);font-weight:300;letter-spacing:-.01em;color:rgba(255,255,255,.72);white-space:nowrap}
.sma-ctab__track i{width:7px;height:7px;border-radius:50%;background:var(--sma-clay);flex:none}
@keyframes sma-marquee{to{transform:translateX(-50%)}}
.sma-ctab:hover .sma-ctab__track{animation-play-state:paused}
body.sma .sma-ctab .sma-ctab__eyebrow .elementor-heading-title{color:var(--sma-clay-2,#D9927B)}
body.sma .sma-ctab .sma-ctab__title .elementor-heading-title{font-family:var(--sma-serif);font-weight:300;font-size:clamp(40px,5.2vw,74px);line-height:1.02;letter-spacing:-.025em;color:#fff;white-space:pre-line}
body.sma .sma-ctab .sma-ctab__lede p{color:rgba(255,255,255,.72);max-width:520px}
/* staggered reveal once the block scrolls in */
body.sma .sma-ctab__copy>.elementor-element{opacity:0;transform:translateY(22px);transition:opacity .9s var(--sma-ease),transform .9s var(--sma-ease)}
body.sma .sma-ctab__copy.is-in>.elementor-element{opacity:1;transform:none}
body.sma .sma-ctab__copy.is-in>.elementor-element:nth-child(2){transition-delay:.12s}
body.sma .sma-ctab__copy.is-in>.elementor-element:nth-child(3){transition-delay:.24s}
body.sma .sma-ctab__side.is-in{transition-delay:.36s}
.sma-ctab__actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0}
.sma-ctab__btn{position:relative;display:inline-flex;align-items:center;gap:14px;padding:20px 26px;border-radius:2px;background:#fff;color:var(--sma-ink)!important;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;overflow:hidden;transition:transform .35s var(--sma-ease),box-shadow .35s var(--sma-ease);box-shadow:0 24px 40px -24px rgba(0,0,0,.8)}
.sma-ctab__btn::before{content:"";position:absolute;inset:0;background:var(--sma-clay);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--sma-ease);z-index:0}
.sma-ctab__btn>span{position:relative;z-index:1;display:inline-flex;align-items:center;transition:color .3s}
.sma-ctab__btn-arrow{width:18px;overflow:hidden}
.sma-ctab__btn-arrow svg{transition:transform .35s var(--sma-ease)}
.sma-ctab__btn:hover{transform:translateY(-2px);box-shadow:0 30px 50px -24px rgba(169,84,58,.7)}
.sma-ctab__btn:hover::before{transform:scaleX(1)}
.sma-ctab__btn:hover>span{color:#fff}
.sma-ctab__btn:hover .sma-ctab__btn-arrow svg{transform:translateX(4px)}
.sma-ctab__btn-ico{color:var(--sma-clay)}
.sma-ctab__btn:hover .sma-ctab__btn-ico{color:#fff}
.sma-ctab__tel{font-size:14px;color:rgba(255,255,255,.7)!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px;transition:color .3s,border-color .3s}
.sma-ctab__tel:hover{color:#fff!important;border-color:#fff}
@media (max-width:900px){.sma-ctab__track{animation-duration:30s;gap:24px}.sma-ctab__marquee{padding:18px 0}.sma-ctab__btn{padding:18px 22px}}
@media (prefers-reduced-motion:reduce){.sma-ctab__track,.sma-ctab::after{animation:none}}

body.sma .sma-ctab__side{align-self:flex-end;justify-content:flex-end;padding-bottom:6px}
@media (max-width:900px){body.sma .sma-ctab__side{align-self:auto;padding-bottom:0}}

/* Sticky sidebar column (Elementor container with class sma-sticky-col). Parent row must not stretch it. */
@media (min-width:1000px){body.sma .e-con.sma-sticky-col{position:sticky;top:110px;align-self:flex-start}}

/* ==========================================================================
   Area pages
   ========================================================================== */
body.sma .sma-crumbs-w{margin:0;padding-bottom:36px}
body.sma .sma-crumbs-w .sma-crumbs,body.sma .sma-crumbs-w #breadcrumbs{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sma-stone)}
body.sma .sma-crumbs-w a{color:var(--sma-stone);text-decoration:none}
body.sma .sma-crumbs-w a:hover{color:var(--sma-clay)}
body.sma .sma-crumbs-w .breadcrumb_last{color:var(--sma-ink)}
body.sma .sma-prose--lede p{font-size:17px;line-height:1.65;color:var(--sma-ink-2);max-width:620px}
body.sma .sma-prose--lede p+p{margin-top:14px}
body.sma .sma-facts-col{background:#fff;border:1px solid var(--sma-line);border-radius:8px;padding:28px 28px 20px!important;box-shadow:0 30px 50px -44px rgba(27,25,23,.4)}
body.sma .sma-facts li{padding:12px 0}
body.sma .sma-facts li:first-child{border-top:0;padding-top:0}
body.sma .sma-facts small{margin-bottom:3px}
body.sma .sma-acard{background:#fff;border:1px solid var(--sma-line);border-radius:8px;padding:30px 28px 28px!important;position:relative;overflow:hidden;transition:transform .5s var(--sma-ease),box-shadow .5s var(--sma-ease),border-color .3s}
body.sma .sma-acard::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--sma-clay);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--sma-ease)}
body.sma .sma-acard:hover{transform:translateY(-4px);box-shadow:0 30px 50px -36px rgba(27,25,23,.45);border-color:transparent}
body.sma .sma-acard:hover::after{transform:scaleX(1)}
body.sma .sma-acard__ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--sma-paper);color:var(--sma-clay);margin-bottom:4px}
body.sma .sma-acard .sma-acard__title .elementor-heading-title{font-family:var(--sma-serif);font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-.01em}
body.sma .sma-acard p{font-size:15px;line-height:1.6;color:var(--sma-ink-2);margin:0}
body.sma .sma-acard>.elementor-widget-button{margin-top:auto}
body.sma .sma-areacard{position:relative;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--sma-line);padding:0 0 28px!important;transition:transform .5s var(--sma-ease),box-shadow .5s var(--sma-ease)}
body.sma .sma-areacard:hover{transform:translateY(-4px);box-shadow:0 30px 50px -36px rgba(27,25,23,.45)}
body.sma .sma-areacard__img{width:100%;max-width:none;margin:0 0 8px}
body.sma .sma-areacard__img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform 1.2s var(--sma-ease)}
body.sma .sma-areacard:hover .sma-areacard__img img{transform:scale(1.04)}
body.sma .sma-areacard .sma-areacard__title,body.sma .sma-areacard .elementor-widget-text-editor,body.sma .sma-areacard .elementor-widget-button{margin-left:28px;margin-right:28px}
body.sma .sma-areacard .sma-areacard__title .elementor-heading-title{font-family:var(--sma-serif);font-weight:400;font-size:30px;letter-spacing:-.015em}
body.sma .sma-areacard p{color:var(--sma-ink-2);margin:0}
@media (max-width:900px){body.sma .sma-facts-col{padding:22px 20px 14px!important}}

/* Legal pages */
body.sma .sma-prose--legal{max-width:none;width:100%}
body.sma .sma-prose--legal ul{max-width:none}
@media (min-width:1100px){body.sma .sma-prose--legal h2{font-size:32px}body.sma .sma-prose--legal p,body.sma .sma-prose--legal li{font-size:17.5px}}
body.sma .sma-prose--legal h2{font-family:var(--sma-serif);font-weight:400;font-size:28px;letter-spacing:-.015em;margin:44px 0 12px;line-height:1.15}
body.sma .sma-prose--legal p,body.sma .sma-prose--legal li{font-size:16.5px;line-height:1.7;color:var(--sma-ink-2)}
body.sma .sma-prose--legal p+p{margin-top:14px}
body.sma .sma-prose--legal ul{margin:12px 0 0 20px;display:grid;gap:10px}
body.sma .sma-prose--legal a{color:var(--sma-clay);text-decoration:underline;text-underline-offset:3px}
body.sma .sma-prose--legal strong{color:var(--sma-ink);font-weight:500}

/* Header: keep menu and CTA clear of each other on laptops */
@media (min-width:1025px) and (max-width:1220px){body.sma .sma-header .sma-nav__list a.sma-nav__link{padding:8px 8px;font-size:11.5px;letter-spacing:.1em}body.sma .sma-header .sma-nav__list a.sma-nav__link::after{left:8px;right:8px}body.sma .sma-header .sma-nav-right{gap:12px!important}body.sma .sma-header .sma-cta .elementor-button{padding:12px 16px}}
@media (min-width:1025px){body.sma .sma-header .sma-nav-widget{flex:0 0 auto;width:auto!important;max-width:none!important}body.sma .sma-header .sma-nav__list{flex-wrap:nowrap}}
@media (min-width:1025px) and (max-width:1120px){body.sma .sma-header .sma-nav__list a.sma-nav__link{padding:8px 6px;font-size:11px;letter-spacing:.08em}body.sma .sma-header > .e-con-inner{gap:14px!important}}

/* Header can never be wider than the screen (phones/tablets). */
@media (max-width:1024px){body.sma .sma-header,body.sma .sma-header > .e-con-inner{max-width:100vw;min-width:0}body.sma .sma-header .sma-nav-widget{flex:1 1 auto;min-width:0}body.sma .sma-header .sma-logo-widget{flex:0 1 auto;min-width:0}}
html,body.sma{overflow-x:clip}

/* Footer bottom row wraps on small screens; no widget may exceed the row. */
@media (max-width:900px){body.sma .sma-footer-bottom{flex-wrap:wrap!important;gap:10px!important}body.sma .sma-footer-bottom > .elementor-widget{width:100%!important;max-width:100%!important}body.sma .sma-footer-bottom p{white-space:normal}}
body.sma .sma-footer-bottom > .elementor-widget{max-width:100%;min-width:0}

/* Mobile bar icons */
body.sma .sma-sticky .elementor-button,body.sma .sma-sticky .elementor-button .elementor-button-icon,body.sma .sma-sticky .elementor-button i,body.sma .sma-sticky .elementor-button svg{color:var(--sma-ink)!important;fill:var(--sma-ink)!important;opacity:1}
body.sma .sma-sticky .sma-sticky-primary .elementor-button,body.sma .sma-sticky .sma-sticky-primary .elementor-button i,body.sma .sma-sticky .sma-sticky-primary .elementor-button svg{color:#fff!important;fill:#fff!important}
body.sma .sma-sticky .elementor-button .elementor-button-icon svg{width:16px;height:16px}

/* Touch: no tap flash, no double-tap zoom delay on the menu button and bar */
.sma-nav__toggle,.sma-nav__menu a,.sma-sticky a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
