/* KwikPix Signs Studio — component-scoped styles. No external fonts, animation libraries or tracking. */
:root{--kps-ink:#0a0c0d;--kps-panel:#151819;--kps-muted:#a0a7a6;--kps-white:#f6f6f1;--kps-lime:#fc5e01}
html{scroll-behavior:smooth}
.elementor-widget[class*="elementor-widget-kps_"]{margin-bottom:0!important;min-width:0}
.elementor-widget-kps_nav{position:sticky!important;top:0;z-index:999}
.kps-section,.kps-section *{box-sizing:border-box}
.kps-section{--kps-accent:#fc5e01;--kps-radius:8px;background:var(--kps-ink);color:var(--kps-white);font-family:Inter,"Helvetica Neue",Arial,sans-serif;line-height:1.5;position:relative;isolation:isolate;overflow:hidden}
.kps-section h1,.kps-section h2,.kps-section h3,.kps-section p{margin:0;color:inherit}
.kps-section a{color:inherit;text-decoration:none}
.kps-section a:focus-visible,.kps-section button:focus-visible,.kps-section input:focus-visible,.kps-section select:focus-visible,.kps-section textarea:focus-visible,.kps-section summary:focus-visible{outline:3px solid var(--kps-accent);outline-offset:4px}
.kps-section button,.kps-section input,.kps-section textarea,.kps-section select{font:inherit}
.kps-wrap{width:min(100% - 80px,1450px);margin-inline:auto}
.kps-eyebrow{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.2em;color:var(--kps-accent);line-height:1.7}
.kps-dot{display:inline-block;flex:0 0 7px;width:7px;height:7px;background:var(--kps-accent);border-radius:100%}
.kps-heading{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(45px,6.5vw,99px);font-weight:750;line-height:.96;letter-spacing:-.065em;text-wrap:balance;max-width:1000px}
.kps-heading em,.kps-hero-title em{font-style:normal;color:var(--kps-accent)}
.kps-copy{font-size:clamp(15px,1.15vw,18px);line-height:1.85;color:var(--kps-muted);max-width:640px;font-weight:400}
.kps-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,425px);column-gap:50px;align-items:end;padding-bottom:46px}
.kps-section-heading .kps-eyebrow{grid-column:1/-1;margin-bottom:20px}
.kps-section-heading .kps-heading{font-size:clamp(48px,6vw,94px)}
.kps-intro{justify-self:end;padding-bottom:6px}
.kps-button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;min-height:54px;padding:14px 18px 14px 23px;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;border-radius:2px;transition:background .22s,border-color .22s,color .22s,transform .22s;cursor:pointer;white-space:nowrap}
.kps-button:hover{transform:translateY(-3px)}
.kps-button-main{background:var(--kps-accent);color:#10140d!important}
.kps-button-main:hover{background:#ff9a55;color:#111!important}
.kps-button-ghost{border-color:#e4e9e565;color:var(--kps-white)!important;background:#0e111180}
.kps-button-ghost:hover{background:#f4f5f4;color:#111!important;border-color:#f4f5f4}
.kps-button-arrow{font-size:21px;line-height:1;font-weight:400}
.kps-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:35px}
.kps-image-missing{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#282e30,#111314);color:#a8aba5;font-weight:800;letter-spacing:.1em;font-size:11px}
.kps-cover-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.25,1)}
/* Navigation */
.kps-nav{background:rgba(9,11,13,.95)!important;border-bottom:1px solid #ffffff14;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);overflow:visible}
.kps-nav-inner{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:32px}
.kps-brand{display:inline-flex;align-items:flex-start;flex-direction:column;line-height:1;white-space:nowrap;flex:none}
.kps-brand-main{font-size:30px;line-height:.86;font-weight:950;letter-spacing:-.084em;color:#f8f8f2}
.kps-brand-dot{color:var(--kps-accent)}
.kps-brand-small{font-size:8px;letter-spacing:.26em;font-weight:750;margin-top:9px;color:#b8c0bb}
.kps-brand img{display:block;width:225px;max-width:225px;max-height:78px;height:auto;object-fit:contain;object-position:left center}
.kps-nav-menu{display:flex;align-items:center;gap:clamp(16px,2.2vw,40px)}
.kps-nav-menu a,.kps-footer nav a{font-size:12px;letter-spacing:.04em;color:#b4beb9;transition:color .2s}
.kps-nav-menu a:hover,.kps-footer nav a:hover{color:var(--kps-accent)}
.kps-nav-inner>.kps-button{min-height:42px;font-size:10px;gap:18px;padding:11px 12px 11px 16px}
.kps-nav-inner>.kps-button .kps-button-arrow{font-size:16px}
.kps-menu-toggle{display:none;width:44px;height:44px;padding:12px;background:none;border:1px solid #ffffff35;border-radius:2px;cursor:pointer}
.kps-menu-toggle span{display:block;background:#fff;width:100%;height:2px;margin:5px 0}
/* Hero */
.kps-hero{min-height:min(820px,92svh);display:flex;align-items:stretch;background:#12191a}
.kps-hero-media{position:absolute;inset:0;z-index:-2}
.kps-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.95) 0%,rgba(7,9,10,.88) 31%,rgba(7,9,10,.3) 71%,rgba(7,9,10,.24) 100%),linear-gradient(0deg,rgba(7,9,10,.7),transparent 38%)}
.kps-hero-media .kps-cover-img{object-position:center 50%}
.kps-hero-inner{display:flex;flex-direction:column;justify-content:center;position:relative;padding-top:100px;padding-bottom:85px;min-height:min(820px,92svh)}
.kps-hero-copy{max-width:970px}
.kps-hero-title{max-width:920px;margin-top:24px!important;font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(66px,9.3vw,145px);line-height:.89;letter-spacing:-.075em;font-weight:800;text-transform:uppercase;text-wrap:balance}
.kps-hero-description{margin-top:32px!important;color:#e4e9e4;max-width:525px;font-size:17px;line-height:1.75}
.kps-hero-bottom{display:flex;justify-content:space-between;align-items:center;position:absolute;bottom:28px;left:0;right:0;padding-top:20px;border-top:1px solid #ffffff52;color:#dee3dd;font-size:10px;letter-spacing:.14em;font-weight:650}
.kps-hero-bottom span span{color:var(--kps-accent);font-size:17px;margin-left:12px}
/* Seamless CSS marquee: two pixel-identical groups, each long enough for wide monitors. */
.kps-ticker{background:var(--kps-accent);color:#190e07;border-top:1px solid #ffffff33;border-bottom:1px solid #ffffff33;padding:18px 0;overflow:hidden}
.kps-ticker-track{display:flex;align-items:center;flex-wrap:nowrap;width:max-content;max-width:none;animation:kps-ticker var(--kps-ticker-speed,28s) linear infinite;will-change:transform}
.kps-ticker-group{display:flex;align-items:center;flex:none;width:max-content;white-space:nowrap}
.kps-ticker-item{display:inline-flex;align-items:center;gap:45px;flex:none;padding:0 25px;white-space:nowrap;letter-spacing:-.035em;font-size:clamp(19px,2.25vw,31px);font-weight:900;line-height:1.25}
.kps-ticker-star{font-size:.88em;line-height:1;opacity:.76;flex:none}
.kps-ticker-reverse .kps-ticker-track{animation-direction:reverse}
.kps-ticker-pause:hover .kps-ticker-track{animation-play-state:paused}
.kps-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes kps-ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.kps-ticker{padding:13px 0}.kps-ticker-item{font-size:20px;gap:28px;padding:0 16px}}
/* Services */
.kps-services{padding:130px 0 145px;background:#0d0f11}
.kps-service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.kps-service-card{position:relative;display:flex;min-height:400px;grid-column:span 4;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:var(--kps-radius);background:#1d2426;transition:transform .35s}
.kps-service-card.kps-card-wide{grid-column:span 8}
.kps-service-card:hover{transform:translateY(-5px)}
.kps-card-image,.kps-card-shade{position:absolute;inset:0}
.kps-card-shade{background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 38%,rgba(0,0,0,.86));z-index:1}
.kps-service-card:hover .kps-cover-img,.kps-work-card:hover .kps-cover-img{transform:scale(1.065)}
.kps-card-top,.kps-card-bottom{position:relative;z-index:2}
.kps-card-top{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:25px}
.kps-card-top>span:first-child{font-size:10px;color:#f5f7f4;font-weight:800;letter-spacing:.14em;text-transform:uppercase;max-width:75%}
.kps-card-plus{display:grid;place-items:center;width:37px;height:37px;border:1px solid #ffffff99;border-radius:100%;background:#00000018;font-size:21px;transition:background .2s,color .2s}
.kps-service-card:hover .kps-card-plus{background:var(--kps-accent);color:#111;border-color:var(--kps-accent)}
.kps-card-bottom{padding:55px 25px 30px}
.kps-card-bottom h3{font-size:clamp(27px,2.4vw,39px);font-weight:770;letter-spacing:-.045em;line-height:1.06;max-width:420px}
.kps-card-bottom p{font-size:13px;color:#e0e7e2;margin-top:10px;max-width:310px;line-height:1.5}
/* Split editorial */
.kps-split{padding:130px 0;background:#181b1d}
.kps-split-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(60px,9vw,140px)}
.kps-split-reverse .kps-split-visual{order:2}
.kps-split-visual{height:clamp(480px,48vw,650px);overflow:hidden;position:relative;border-radius:var(--kps-radius);background:#242829}
.kps-split-visual .kps-cover-img{object-fit:cover}
.kps-visual-note{position:absolute;bottom:22px;left:22px;background:#121719c9;padding:8px 11px;font-size:9px;letter-spacing:.18em;font-weight:750;color:#e4eae4}
.kps-split-copy .kps-eyebrow{margin-bottom:27px}
.kps-split-copy .kps-heading{font-size:clamp(48px,5.5vw,82px)}
.kps-split-copy .kps-copy{margin-top:33px;margin-bottom:34px;white-space:normal}
/* Projects */
.kps-work{padding:130px 0;background:#0c0e0f}
.kps-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kps-work-card{min-width:0}
.kps-work-image{aspect-ratio:4/4.8;border-radius:var(--kps-radius);overflow:hidden;background:#202525}
.kps-work-meta{display:flex;justify-content:space-between;gap:14px;padding:20px 0}
.kps-work-meta span:not(.kps-work-arrow){font-size:10px;color:var(--kps-accent);letter-spacing:.15em;font-weight:800}
.kps-work-meta h3{font-size:24px;line-height:1.2;margin-top:8px;letter-spacing:-.04em}
.kps-work-arrow{font-size:26px;align-self:center;color:var(--kps-accent)}
/* Process */
.kps-process{padding:130px 0;background:#171a1b}
.kps-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.kps-step-n{font-size:13px;color:var(--kps-accent);font-weight:800;letter-spacing:.15em}
.kps-step-line{height:1px;background:#a7ada24a;margin:20px 0 32px;position:relative}
.kps-step-line:after{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;background:var(--kps-accent);border-radius:100%}
.kps-step h3{font-size:29px;line-height:1.1;letter-spacing:-.055em;margin-bottom:16px}
.kps-step .kps-copy{font-size:15px}
/* Stats: descriptors rather than invented company performance stats */
.kps-stats{padding:92px 0;background:#101314}
.kps-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
.kps-stat{border:1px solid #ffffff24;background:#1b2020;padding:36px 31px;border-radius:var(--kps-radius)}
.kps-stat-number{font-size:clamp(70px,8vw,130px);line-height:1;letter-spacing:-.08em;color:var(--kps-accent);font-weight:800}
.kps-stat h3{margin-top:24px;font-size:22px;font-weight:700}
.kps-stat p{margin-top:8px;font-size:14px}
/* FAQ */
.kps-faq{padding:120px 0 135px;background:#0b0d0e}
.kps-faq-list{max-width:1180px}
.kps-faq-item{border-top:1px solid #ffffff30}
.kps-faq-item:last-child{border-bottom:1px solid #ffffff30}
.kps-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0;font-size:clamp(18px,2.2vw,28px);font-weight:670;letter-spacing:-.025em}
.kps-faq-item summary::-webkit-details-marker{display:none}
.kps-faq-item summary span{font-size:28px;font-weight:300;color:var(--kps-accent);transition:transform .2s}
.kps-faq-item[open] summary span{transform:rotate(45deg)}
.kps-faq-item p{padding:0 55px 25px 0;font-size:16px}
/* CTA */
.kps-cta{padding:145px 0;background:var(--kps-accent);color:#101311}
.kps-cta .kps-eyebrow{color:#542007}
.kps-cta .kps-dot{background:#542007}
.kps-cta .kps-heading{font-size:clamp(62px,8.2vw,123px);margin-top:24px;max-width:1000px}
.kps-cta .kps-heading em{color:#6f2608}
.kps-cta .kps-copy{color:#57220f;margin-top:26px;max-width:500px}
.kps-cta .kps-button{margin-top:35px;background:#101411;color:#f8f9f5!important}
.kps-cta .kps-button:hover{background:#32261e}
/* Contact */
.kps-contact{padding:140px 0;background:#121516}
.kps-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,150px)}
.kps-contact-info .kps-heading{font-size:clamp(52px,5.7vw,88px);margin-top:27px}
.kps-contact-info>.kps-copy{margin-top:25px}
.kps-contact-note{position:relative;margin-top:65px;border:1px solid #ffffff29;padding:35px;max-width:475px;background:#1a1e1e;border-radius:var(--kps-radius)}
.kps-contact-note-mark{position:absolute;top:22px;right:27px;color:var(--kps-accent);font-size:28px}
.kps-contact-note h3{font-size:27px;letter-spacing:-.04em;margin-bottom:12px}
.kps-contact-note p{color:#b5beb7;font-size:14px;line-height:1.8;max-width:330px}
.kps-location{font-size:10px;color:var(--kps-accent);font-weight:700;letter-spacing:.14em;display:inline-block;margin-top:30px}
.kps-quote-form{display:flex;flex-direction:column;gap:20px}
.kps-quote-form label{display:flex;flex-direction:column;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:#dce1d9}
.kps-form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.kps-quote-form input:not([type=checkbox]),.kps-quote-form select,.kps-quote-form textarea{width:100%;min-width:0;color:#f5f5f0;background:#202526;border:1px solid #ffffff2d;outline:0;border-radius:2px;padding:17px;font-size:14px;letter-spacing:0;transition:border-color .2s;text-transform:none}
.kps-quote-form input:focus,.kps-quote-form select:focus,.kps-quote-form textarea:focus{border-color:var(--kps-accent)}
.kps-quote-form select{appearance:auto}
.kps-quote-form option{background:#202526;color:#fff}
.kps-quote-form input::placeholder,.kps-quote-form textarea::placeholder{color:#929d97}
.kps-quote-form textarea{resize:vertical;min-height:155px}
.kps-quote-form .kps-consent{display:flex;flex-direction:row;align-items:flex-start;font-size:12px;letter-spacing:0;text-transform:none;font-weight:400;color:#bbc5c0;line-height:1.6}
.kps-consent input{margin-top:4px;accent-color:var(--kps-accent)}
.kps-consent a{color:var(--kps-accent);text-decoration:underline}
.kps-quote-form .kps-button{align-self:flex-start;border:0;margin-top:5px}
.kps-quote-form .kps-button:disabled{opacity:.6;cursor:wait}
.kps-form-response{min-height:22px;font-size:14px;color:var(--kps-accent)}
.kps-form-response.kps-error{color:#ffb0a6}
.kps-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Footer */
.kps-footer{padding:80px 0 24px;background:#080a0b;border-top:1px solid #ffffff24}
.kps-footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:95px}
.kps-footer .kps-brand-main{font-size:44px}
.kps-footer .kps-brand-small{font-size:10px}
.kps-footer-statement{margin-top:30px!important;font-size:clamp(21px,2.8vw,35px);letter-spacing:-.05em;color:#ecf0e9;max-width:400px}
.kps-footer nav{display:flex;flex-direction:column;gap:14px;min-width:160px}
.kps-footer nav a{font-size:14px}
.kps-footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:23px 0 0;border-top:1px solid #ffffff29;color:#89928d;font-size:11px;letter-spacing:.05em}
.kps-footer-bottom a{color:#d5e1d3}
/* Scroll in view: only hide once JS has initialised; editor stays readable */
html.kps-js .kps-reveal:not(.kps-inview){opacity:0;transform:translateY(38px)}
html.kps-js .kps-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.16,.9,.2,1)}
html.kps-js .kps-reveal.kps-inview{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.kps-wrap{width:min(100% - 48px,1450px)}.kps-nav-menu{gap:16px}.kps-nav-inner>.kps-button{display:none}.kps-service-card{grid-column:span 6}.kps-service-card.kps-card-wide{grid-column:span 6}.kps-split-grid{gap:50px}.kps-section-heading{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .kps-wrap{width:min(100% - 36px,1450px)}.kps-section-heading{grid-template-columns:1fr;gap:16px;padding-bottom:28px}.kps-section-heading .kps-eyebrow{grid-column:1;margin-bottom:0}.kps-intro{justify-self:start}
  .kps-nav-inner{min-height:68px}.kps-nav-inner>.kps-button{display:none}.kps-menu-toggle{display:block}.kps-brand-main{font-size:27px}
  .kps-nav-menu{position:absolute;top:100%;left:0;right:0;display:none;background:#101313;border-bottom:1px solid #ffffff33;padding:20px;flex-direction:column;align-items:stretch;gap:0}
  .kps-nav.kps-menu-open .kps-nav-menu{display:flex}.kps-nav-menu a{display:block;padding:13px 5px;font-size:15px}
  .kps-hero,.kps-hero-inner{min-height:680px}.kps-hero-inner{padding-top:100px;padding-bottom:110px}.kps-hero-media:after{background:linear-gradient(90deg,rgba(7,9,10,.9),rgba(7,9,10,.44)),linear-gradient(0deg,rgba(7,9,10,.7),transparent 55%)}
  .kps-hero-title{font-size:clamp(54px,12.5vw,88px);letter-spacing:-.07em}.kps-hero-description{font-size:16px;margin-top:24px!important}.kps-hero-bottom{font-size:9px}.kps-hero-bottom>span:nth-child(2){display:none}
  .kps-services,.kps-work,.kps-process,.kps-faq{padding:86px 0}.kps-split,.kps-contact{padding:90px 0}.kps-stats{padding:70px 0}.kps-cta{padding:100px 0}
  .kps-service-grid{grid-template-columns:1fr;gap:13px}.kps-service-card,.kps-service-card.kps-card-wide{grid-column:1;min-height:380px}.kps-card-bottom h3{font-size:33px}
  .kps-split-grid{grid-template-columns:1fr;gap:42px}.kps-split-reverse .kps-split-visual{order:0}.kps-split-visual{height:440px}.kps-split-copy .kps-heading{font-size:60px}
  .kps-work-grid{grid-template-columns:1fr;gap:15px}.kps-work-image{aspect-ratio:4/3}.kps-process-grid{grid-template-columns:1fr;gap:34px}.kps-step-line{margin:14px 0 20px}.kps-stats-grid{grid-template-columns:1fr;gap:12px}
  .kps-contact-grid{grid-template-columns:1fr;gap:50px}.kps-contact-info .kps-heading{font-size:60px}.kps-contact-note{margin-top:36px}.kps-cta .kps-heading{font-size:64px}.kps-footer-top{padding-bottom:65px}.kps-footer-bottom{flex-wrap:wrap}
}
@media(max-width:460px){.kps-actions{align-items:stretch}.kps-actions .kps-button{width:100%}.kps-form-row{grid-template-columns:1fr}.kps-hero-title{font-size:56px}.kps-hero-bottom{letter-spacing:.07em}.kps-card-bottom h3{font-size:32px}.kps-footer-top{flex-direction:column;gap:48px}.kps-footer-bottom{flex-direction:column;gap:10px}.kps-hero,.kps-hero-inner{min-height:670px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kps-ticker-track{animation:none!important}.kps-section *,.kps-section,.kps-cover-img{transition:none!important;animation:none!important}html.kps-js .kps-reveal:not(.kps-inview){opacity:1;transform:none}}

/* KwikPix Signs business contact details */
.kps-contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:14px;padding-top:20px;border-top:1px solid #ffffff24;font-style:normal}
.kps-contact-details a,.kps-contact-details address{font-size:14px;color:#e7eee7;font-style:normal;overflow-wrap:anywhere;line-height:1.5}
.kps-contact-details a:hover,.kps-footer-contact a:hover{color:var(--kps-accent)}
.kps-footer-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 20px;align-items:center;max-width:660px}
.kps-footer-contact a,.kps-footer-contact span{overflow-wrap:anywhere;font-size:11px}
@media(max-width:700px){.kps-footer-contact{justify-content:flex-start}}

/* Official KwikPix brand assets & direct-contact links (v1.1). */
.kps-footer .kps-brand img{max-width:285px;width:285px;max-height:110px}
.kps-footer-contact{display:flex;flex-direction:column;gap:5px;max-width:355px}
.kps-footer-contact a{color:#e8e9e5;overflow-wrap:anywhere}
.kps-contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:14px;padding-top:20px;border-top:1px solid #ffffff24;font-style:normal}
.kps-contact-details a,.kps-contact-details address{font-size:14px;color:#e7eee7;font-style:normal;overflow-wrap:anywhere;line-height:1.5}
.kps-contact-details a:hover,.kps-footer-contact a:hover{color:var(--kps-accent)}
.kps-hero-title em{color:#ff6a0d}
@media(max-width:760px){.kps-nav .kps-brand img{width:180px;max-height:60px}.kps-footer .kps-brand img{width:230px;max-width:230px}}
