.elementor-kit-8{--e-global-color-primary:#1C1C1C;--e-global-color-secondary:#2998D6;--e-global-color-text:#515151;--e-global-color-accent:#DB6423;--e-global-color-sp_red:#C71212;--e-global-color-sp_yellow:#FFCE4A;--e-global-color-sp_green:#83B13A;--e-global-color-sp_soft:#F4F4F2;--e-global-color-sp_white:#FFFFFF;--e-global-typography-primary-font-family:"Assistant";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Assistant";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Assistant";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Assistant";--e-global-typography-accent-font-weight:700;color:#515151;font-family:"Assistant", Sans-serif;font-size:18px;background-color:#FFFFFF;}.elementor-kit-8 a{color:#2998D6;}.elementor-kit-8 a:hover{color:#DB6423;}.elementor-kit-8 h1{font-family:"Assistant", Sans-serif;font-weight:800;}.elementor-kit-8 h2{font-family:"Assistant", Sans-serif;font-weight:800;}.elementor-kit-8 h3{font-family:"Assistant", Sans-serif;font-weight:700;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-family:"Assistant", Sans-serif;font-weight:700;color:#FFFFFF;background-color:#DB6423;border-radius:999px 999px 999px 999px;}.elementor-kit-8 input:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea,.elementor-kit-8 .elementor-field-textual{border-radius:12px 12px 12px 12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* SmartPic design system (Elementor Site Settings → Custom CSS). "The site is a camera."
   Colors/fonts live in the kit globals; this file only adds the camera motifs and motion.
   Classes are set on native widgets/containers (Advanced → CSS Classes). */
:root{
  --sp-ink:#1C1C1C; --sp-gray:#515151; --sp-line:#D1D1D1; --sp-soft:#F4F4F2;
  --sp-orange:#DB6423; --sp-blue:#2998D6; --sp-red:#C71212; --sp-yellow:#FFCE4A; --sp-green:#83B13A;
  --sp-ease:cubic-bezier(.2,.7,.2,1); --sp-r:22px;
}
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip}
.elementor-widget-text-editor a{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;color:var(--sp-blue)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ---------- viewfinder corners: any widget/container with .sp-corners ---------- */
.sp-corners{position:relative}
.sp-corners::before,.sp-corners::after{content:"";position:absolute;z-index:3;width:34px;height:34px;pointer-events:none;border:2px solid currentColor;opacity:.9;transition:transform .35s var(--sp-ease)}
.sp-corners::before{top:14px;right:14px;border-left:0;border-bottom:0}
.sp-corners::after{bottom:14px;left:14px;border-right:0;border-top:0}
.sp-corners.sp-light{color:#fff}
.sp-corners:hover::before{transform:translate(4px,-4px)}
.sp-corners:hover::after{transform:translate(-4px,4px)}

/* ---------- page hero (container .sp-hero, bg image + overlay set natively) ---------- */
.sp-hero{position:relative;overflow:hidden;isolation:isolate}
.sp-hero.sp-kb{animation:sp-kb 16s ease-out both}
@keyframes sp-kb{from{background-size:auto 118%}to{background-size:auto 100%}}
.sp-hero h1,.sp-hero h2{text-wrap:balance}
.sp-vfui{position:absolute;inset:22px;pointer-events:none;z-index:1;color:rgba(255,255,255,.88);font:700 13px/1 Assistant,sans-serif;letter-spacing:.08em}
.elementor-widget-html:has(.sp-vfui){position:absolute!important;inset:0;width:100%!important;margin:0!important;z-index:1;pointer-events:none}
.sp-vfui i.c{position:absolute;width:44px;height:44px;border:2px solid currentColor}
.sp-vfui i.c1{top:0;right:0;border-left:0;border-bottom:0}.sp-vfui i.c2{top:0;left:0;border-right:0;border-bottom:0}
.sp-vfui i.c3{bottom:0;right:0;border-left:0;border-top:0}.sp-vfui i.c4{bottom:0;left:0;border-right:0;border-top:0}
.sp-vfui i.g{position:absolute;background:rgba(255,255,255,.14)}
.sp-vfui i.gv{top:0;bottom:0;width:1px}.sp-vfui i.gh{left:0;right:0;height:1px}
.sp-vfui .top{position:absolute;top:12px;left:66px;right:66px;display:flex;justify-content:space-between;direction:ltr}
.sp-vfui .bot{position:absolute;bottom:14px;left:66px;display:flex;gap:20px;direction:ltr;opacity:.85}
.sp-vfui .bot b{color:var(--sp-yellow);font-weight:700}
.sp-rec{display:inline-flex;align-items:center;gap:8px}
.sp-rec::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sp-red);animation:sp-blink 1.2s steps(2,end) infinite}
@keyframes sp-blink{50%{opacity:.15}}
.sp-hero>.e-con-inner,.sp-hero>.elementor-element{position:relative;z-index:2}
.sp-hero-title .elementor-heading-title .ln{display:block}
.sp-hero .elementor-widget-text-editor,.sp-hero .elementor-heading-title{text-shadow:0 1px 14px rgba(0,0,0,.35)}

/* ---------- eyebrow with a REC dot ---------- */
.sp-eyebrow .elementor-heading-title,.sp-eyebrow p{display:inline-flex;align-items:center;gap:10px}
.sp-eyebrow .elementor-heading-title::before,.sp-eyebrow p::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--sp-red);box-shadow:0 0 0 4px rgba(199,18,18,.14)}

/* ---------- big statement, words light up while scrolling ---------- */
.sp-statement .elementor-heading-title{text-wrap:balance}
.sp-lit .w{color:#cfcfcf;transition:color .5s var(--sp-ease)}
.sp-lit .w.on{color:inherit}

/* ---------- numbered lines (the "frames" list) ---------- */
.sp-lines{counter-reset:spl}
.sp-lines .sp-line{counter-increment:spl;position:relative;padding:16px 64px 16px 0;border-top:1px solid #ececec;margin:0!important}
.sp-lines .sp-line:last-child{border-bottom:1px solid #ececec}
.sp-lines .sp-line::before{content:counter(spl,decimal-leading-zero);position:absolute;right:0;top:19px;font:800 16px/1 Assistant,sans-serif;color:var(--sp-line);direction:ltr;transition:color .5s}
.sp-lines .sp-line.on::before,.sp-lines.sp-static .sp-line::before{color:var(--sp-orange)}
.sp-lines .sp-line .elementor-widget-container{transition:color .6s var(--sp-ease)}
.sp-lines.sp-dim .sp-line:not(.on) .elementor-widget-container{color:#b5b5b5}
.sp-on-dark .sp-lines .sp-line{border-color:rgba(255,255,255,.14)}

/* list markup inside numbered lines / tiles: the number is the marker */
.sp-line ul,.sp-line ol,.sp-spec ul,.sp-spec ol{list-style:none;padding:0;margin:0}
.sp-line li,.sp-spec li{margin:0}

/* ---------- spec tiles: "camera settings" ---------- */
.sp-spec{background:#fff;border-radius:16px;padding:18px 20px!important;border:1px solid #ececec;transition:transform .35s var(--sp-ease),box-shadow .35s}
.sp-spec:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.sp-spec strong,.sp-spec b{display:block;color:var(--sp-orange);font-weight:800;font-size:.86em;margin-bottom:2px}

/* ---------- film strip band (sprocket holes) ---------- */
.sp-film{position:relative}
.sp-film::before,.sp-film::after{content:"";position:absolute;left:0;right:0;height:12px;z-index:1;pointer-events:none;opacity:.22;
  background:repeating-linear-gradient(to left,transparent 0 14px,#fff 14px 28px,transparent 28px 44px)}
.sp-film::before{top:9px}.sp-film::after{bottom:9px}

/* ---------- photo in a viewfinder frame ---------- */
.sp-shot img{border-radius:18px;box-shadow:0 30px 60px -36px rgba(0,0,0,.55)}
.sp-shot{color:#fff}
.sp-shot.sp-corners::before{top:16px;right:16px}.sp-shot.sp-corners::after{bottom:16px;left:16px}
.sp-focus img{filter:blur(12px) saturate(.4);transform:scale(1.05);transition:filter 1.3s var(--sp-ease),transform 1.5s var(--sp-ease)}
.sp-focus.in img{filter:none;transform:none}

/* ---------- phone frame (image or container .sp-phone) ---------- */
.sp-phone img{aspect-ratio:9/16;object-fit:cover;border-radius:30px;border:10px solid var(--sp-ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.sp-phone .elementor-widget-container,.sp-phone .elementor-image{position:relative}
.sp-phone .elementor-widget-container::before{content:"";position:absolute;z-index:2;top:20px;left:50%;width:30%;height:18px;margin-left:-15%;border-radius:999px;background:var(--sp-ink)}

/* ---------- cards ---------- */
.sp-card{border-radius:var(--sp-r);overflow:hidden;transition:transform .45s var(--sp-ease),box-shadow .45s}
.sp-card:hover{transform:translateY(-8px);box-shadow:0 34px 60px -34px rgba(0,0,0,.45)}
.sp-card img{transition:transform 1.1s var(--sp-ease)}
.sp-card:hover img{transform:scale(1.05)}
.sp-tag .elementor-heading-title{display:inline-block;padding:4px 14px;border-radius:999px;background:var(--sp-tag,var(--sp-blue));color:#fff}

/* phone-screen cards (workshop chooser) */

/* ---------- contact-sheet gallery (Elementor Pro gallery .sp-sheet) ---------- */
.sp-sheet .e-gallery-item{counter-increment:sps;position:relative;border-radius:6px;overflow:hidden}
.sp-sheet{counter-reset:sps}
.sp-sheet .e-gallery-item::after{content:counter(sps,decimal-leading-zero) "A";position:absolute;top:8px;left:10px;font:800 11px/1 Assistant,sans-serif;letter-spacing:.1em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);direction:ltr;opacity:.9}
.sp-sheet .e-gallery-image{transition:transform 1s var(--sp-ease),filter .4s}
.sp-sheet .e-gallery-item:hover .e-gallery-image{transform:scale(1.06)}

/* ---------- logo wall with corner ticks ---------- */
.sp-logos{display:grid!important;grid-template-columns:repeat(var(--cols,8),1fr);border-top:1px solid #eee;border-right:1px solid #eee}
.sp-logos>.elementor-element{position:relative;margin:0!important;aspect-ratio:1.3;display:grid;place-items:center;padding:14px;border-bottom:1px solid #eee;border-left:1px solid #eee;color:var(--sp-orange)}
.sp-logos img{max-height:56px!important;width:auto!important;max-width:100%!important;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .3s,opacity .3s,transform .3s var(--sp-ease)}
.sp-logos>.elementor-element:hover img{filter:none;opacity:1;transform:scale(1.06)}
.sp-logos>.elementor-element::before,.sp-logos>.elementor-element::after{content:"";position:absolute;width:12px;height:12px;border:2px solid currentColor;opacity:0;transition:opacity .25s}
.sp-logos>.elementor-element::before{top:8px;right:8px;border-left:0;border-bottom:0}
.sp-logos>.elementor-element::after{bottom:8px;left:8px;border-right:0;border-top:0}
.sp-logos>.elementor-element:hover::before,.sp-logos>.elementor-element:hover::after{opacity:1}

/* ---------- testimonial frames ---------- */
.sp-quote{position:relative;background:#fff;border-radius:14px;padding:30px 26px 22px!important;transition:transform .4s var(--sp-ease)}
.sp-quote:nth-child(3n+2){transform:rotate(.7deg)}.sp-quote:nth-child(3n){transform:rotate(-.6deg)}
.sp-quote:hover{transform:translateY(-6px) rotate(0)}
.sp-quote .sp-fno{position:absolute;top:12px;left:16px;direction:ltr;font:800 12px/1 Assistant,sans-serif;letter-spacing:.1em;color:var(--sp-orange)}
.sp-quote-name .elementor-widget-container{border-top:1px dashed var(--sp-line);padding-top:12px}

/* ---------- buttons ---------- */
.elementor-button{transition:transform .25s var(--sp-ease),box-shadow .25s,background-color .25s!important}
.elementor-button:hover{transform:translateY(-2px)}
.sp-btn-glow .elementor-button{box-shadow:0 12px 28px -12px rgba(219,100,35,.75)}
.sp-btn-ghost .elementor-button{background:transparent!important;border:2px solid currentColor!important}

/* links on dark bands */
.sp-on-dark a,.sp-on-dark-links a{color:var(--sp-yellow)!important}

/* camera screen */
.sp-screen .sp-hud{display:flex;justify-content:space-between;color:#fff;font:700 13px/1 Assistant,sans-serif;letter-spacing:.08em;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.sp-screen-label .elementor-heading-title{display:inline-block;background:rgba(28,28,28,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:6px 14px;border-radius:999px}
/* back to top */
.sp-totop{position:fixed;z-index:60;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--sp-ink);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.sp-totop.show{opacity:1;pointer-events:auto}
.elementor-widget-html:has(.sp-totop){position:absolute!important;width:0!important;height:0!important;margin:0!important}

/* credits roll */
.sp-credits-list .elementor-widget-container,.sp-credits-list{columns:var(--cols,4) 200px;column-gap:34px}
.sp-credits-list span{display:block;break-inside:avoid;padding:5px 0;border-bottom:1px dashed #e4e4e4}
.sp-chip-h .elementor-heading-title{display:inline-block;padding:7px 16px;border-radius:999px;border:1.5px solid currentColor}
@media (max-width:767px){.sp-credits-list .elementor-widget-container{columns:2 140px}}

/* home: phone-screen chooser cards */
.sp-pcard{border:10px solid var(--sp-ink)!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);transition:transform .45s var(--sp-ease),box-shadow .45s;overflow:hidden}
.sp-pcard:hover{transform:translateY(-10px) rotate(-1.2deg);box-shadow:0 44px 70px -30px rgba(0,0,0,.6)}
.sp-pcard-low{margin-top:34px!important}.sp-pcard-low:hover{transform:translateY(-10px) rotate(1.2deg)}
.sp-pcard>.elementor-widget-html{position:absolute!important;inset:0;width:100%!important;pointer-events:none;margin:0!important}
.sp-pc-notch{position:absolute;top:10px;left:50%;width:34%;height:20px;margin-left:-17%;border-radius:999px;background:var(--sp-ink)}
.sp-pc-top{position:absolute;top:40px;left:18px;display:flex;align-items:center;gap:6px;color:#fff;font:700 13px/1 Assistant,sans-serif;letter-spacing:.08em}
.sp-pc-top i{width:8px;height:8px;border-radius:50%;background:var(--sp-red)}
.sp-pcard .sp-tag .elementor-heading-title{background:var(--sp-tag)}
.sp-pcard .sp-pc-desc a{color:#fff!important}
/* home: stats strip + reels band */
.sp-stat .elementor-heading-title{color:var(--sp-yellow)}
.sp-reels-band{position:relative;overflow:hidden}
.sp-reels-band::before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:var(--sp-yellow);left:-140px;top:50%;transform:translateY(-50%)}
.sp-reels-band>.e-con-inner{position:relative;z-index:1}
.sp-reels-vid .elementor-wrapper{border-radius:24px;overflow:hidden;transform:rotate(-3deg);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.sp-ltr-word .elementor-heading-title{direction:ltr;text-align:right}
.sp-trio .elementor-widget-image{align-self:stretch;width:100%!important}.sp-trio .elementor-widget-image img{width:100%!important;object-fit:cover}
@media (max-width:767px){.sp-pcard{border-width:7px!important}.sp-pcard-low{margin-top:22px!important}.sp-pc-top{top:28px;left:12px;font-size:11px}.sp-pc-notch{height:14px}
 .sp-pc-desc{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.sp-reels-band::before{width:420px;height:420px;left:auto;right:-160px;top:auto;bottom:-120px;transform:none}}

/* english page */
.sp-ltr{direction:ltr}.sp-ltr .elementor-widget-text-editor,.sp-ltr .elementor-heading-title{text-align:left}
.sp-ltr .sp-lines .sp-line{padding:16px 0 16px 64px}.sp-ltr .sp-lines .sp-line::before{right:auto;left:0}
.sp-ltr .sp-vfui .top{direction:ltr}
/* posts grid + faq + doc */
.sp-posts .elementor-post__thumbnail{border-radius:18px;overflow:hidden}
.sp-posts .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.05)}
.sp-posts .elementor-post__thumbnail img{transition:transform 1s var(--sp-ease)}
.sp-faq-no .elementor-heading-title{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.sp-doc{margin-inline:auto}

/* ---------- videos ---------- */
.sp-vid video,.sp-vid .elementor-wrapper{border-radius:22px;overflow:hidden}
.sp-phone-vid .elementor-wrapper{border:10px solid var(--sp-ink);border-radius:40px!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);max-width:330px;margin-inline:auto}
.sp-phone-vid video{object-fit:cover}
.sp-vid-tall .elementor-wrapper{max-width:360px;margin-inline:auto;border-radius:28px;box-shadow:0 34px 70px -34px rgba(0,0,0,.5)}
/* list card */
.sp-listcard{box-shadow:0 24px 50px -36px rgba(0,0,0,.4)}
.sp-listcard .sp-lines .sp-line{padding:11px 44px 11px 0}
.sp-listcard .sp-lines .sp-line::before{top:14px;font-size:14px}

/* ---------- forms (popups + contact + quote) ---------- */
.sp-form .elementor-field-group .elementor-field{border-radius:12px!important;border:1.5px solid #dcdcdc!important;min-height:50px;transition:border-color .2s,box-shadow .2s}
.sp-form .elementor-field-group .elementor-field:focus{border-color:var(--sp-blue)!important;box-shadow:0 0 0 4px rgba(41,152,214,.16)}
.sp-form .elementor-button{border-radius:999px!important;min-height:54px}

/* ---------- reveal on scroll (added by smartpic-design-fx) ---------- */
.sp-reveal{opacity:0;translate:0 26px;transition:opacity .8s var(--sp-ease),translate .8s var(--sp-ease)}
.sp-reveal.in{opacity:1;translate:0 0}
.elementor-editor-active .sp-reveal,.elementor-editor-active .sp-focus img{opacity:1;translate:none;filter:none;transform:none}

/* ---------- header ---------- */
.sp-header{backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px)}
.sp-header .elementor-nav-menu .current-menu-item>a,.sp-header .elementor-nav-menu .current-menu-ancestor>a{color:var(--sp-red)!important}
.sp-phone-pill .elementor-button{direction:ltr;white-space:nowrap;padding:11px 18px!important}
.sp-phone-pill .elementor-button-content-wrapper{flex-direction:row!important;gap:8px}
.sp-legal a{color:var(--sp-gray)!important;text-decoration:none!important}.sp-legal a:hover{color:var(--sp-ink)!important}
.sp-copy{white-space:nowrap}
@media (max-width:767px){.sp-copy{white-space:normal}.sp-phone-pill .elementor-button-text{display:none}.sp-phone-pill .elementor-button{padding:12px!important}}

/* floating WhatsApp */
.sp-fab{position:fixed!important;z-index:60;bottom:96px;left:22px;width:58px!important;opacity:0;pointer-events:none;transition:opacity .3s}
.sp-fab.show{opacity:1;pointer-events:auto}
.sp-fab img{border-radius:50%;box-shadow:0 12px 30px -10px rgba(0,0,0,.4);background:#fff}

@media (max-width:767px){
  .sp-hero::before{background:linear-gradient(to top,rgba(28,28,28,.94) 0%,rgba(28,28,28,.6) 55%,rgba(28,28,28,.2) 100%)!important;opacity:1!important}
  .sp-vfui{inset:12px}.sp-vfui .bot{display:none}.sp-vfui .top{left:40px;right:40px;top:6px}
  .sp-vfui i.c{width:28px;height:28px}
  .sp-lines .sp-line{padding-right:42px}
  .sp-logos{--cols:4!important}
  .sp-quote:nth-child(n){transform:none}
  .sp-corners::before,.sp-corners::after{width:24px;height:24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .sp-reveal{opacity:1;translate:none}.sp-focus img{filter:none;transform:none}.sp-lit .w{color:inherit}
}/* End custom CSS */