:root{--navy:#011b34;--navy-2:#001226;--orange:#ff4d00;--white:#fff;--ink:#f6f8fb;--muted:#9eabba;--surface:#061f38;--surface-2:#092843;--border:rgba(255,255,255,.12);--shadow:0 24px 80px rgba(0,0,0,.35);--heading:'Barlow Condensed',sans-serif;--body:'Inter',sans-serif}
[data-bs-theme="light"]{--ink:#011b34;--muted:#536577;--surface:#fff;--surface-2:#edf2f6;--border:rgba(1,27,52,.14);--shadow:0 24px 80px rgba(1,27,52,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:var(--body);background:var(--navy-2);color:var(--ink);overflow-x:hidden;transition:background .35s,color .35s}[data-bs-theme="light"] body{background:#f7f9fb}a{text-decoration:none}::selection{background:var(--orange);color:#fff}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;color:var(--navy);padding:.75rem 1rem}.skip-link:focus{top:1rem}.cursor-glow{position:fixed;width:320px;height:320px;border-radius:50%;background:rgba(255,77,0,.055);filter:blur(12px);pointer-events:none;z-index:-1;transform:translate(-50%,-50%)}
.navbar{padding:1.1rem 0;background:linear-gradient(to bottom,rgba(0,11,24,.9),transparent);transition:.3s}.navbar.scrolled{padding:.7rem 0;background:rgba(1,18,38,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}[data-bs-theme="light"] .navbar.scrolled{background:rgba(255,255,255,.92);border-color:var(--border)}.navbar-brand{display:flex;align-items:center;gap:.65rem;color:#fff!important;font:800 1.4rem/1 var(--heading);letter-spacing:.04em}.navbar-brand>span:last-child>span{color:var(--orange)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--orange);color:var(--orange);font:800 1.4rem var(--heading);transform:skew(-8deg);box-shadow:0 0 20px rgba(255,77,0,.25)}[data-bs-theme="light"] .navbar-brand{color:var(--navy)!important}.nav-link{color:rgba(255,255,255,.7);font-size:.84rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;position:relative}.nav-link:hover,.nav-link.active{color:#fff}.nav-link:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:2px;height:2px;background:var(--orange);transform:scaleX(0);transition:.25s}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}[data-bs-theme="light"] .nav-link{color:#4d6073}[data-bs-theme="light"] .nav-link:hover,[data-bs-theme="light"] .nav-link.active{color:var(--navy)}.theme-toggle{width:43px;height:43px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;transition:.25s}.theme-toggle:hover{border-color:var(--orange);transform:rotate(15deg)}[data-bs-theme="light"] .theme-toggle{color:var(--navy);border-color:var(--border);background:#fff}.btn{border-radius:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.9rem 1.25rem}.btn-brand{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 9px 24px rgba(255,77,0,.22)}.btn-brand:hover{background:#e84600;border-color:#e84600;color:#fff;transform:translateY(-2px)}.btn span{margin-left:.45rem}.btn-outline-contrast{border:1px solid rgba(255,255,255,.45);color:#fff}.btn-outline-contrast:hover{background:#fff;color:var(--navy)}
.hero{position:relative;min-height:100vh;background:var(--navy-2);overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,12,27,.96) 0%,rgba(0,12,27,.78) 38%,rgba(0,12,27,.1) 72%),linear-gradient(0deg,rgba(0,12,27,.82),transparent 50%),url('../images/sign-studio-hero.png') center/cover no-repeat;animation:heroZoom 18s ease-in-out infinite alternate}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,#000,transparent)}.hero-copy{padding-top:6rem;color:#fff}.eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--orange);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.3rem}.eyebrow span{display:inline-block;width:32px;height:2px;background:var(--orange)}h1,h2{font-family:var(--heading);font-weight:800;letter-spacing:-.035em;text-transform:uppercase;margin:0}h1{font-size:clamp(4rem,8.1vw,7.6rem);line-height:.78;max-width:780px}h1 em,h2 em{display:block;color:var(--orange);font-style:normal}h2{font-size:clamp(3.2rem,6vw,5.5rem);line-height:.9}h3{font-family:var(--heading);font-weight:700}.hero-lead{max-width:610px;color:#c0cad5;font-size:1.1rem;line-height:1.8;margin:2rem 0}.hero-stats{max-width:600px;margin-top:4rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18)}.hero-stats>div{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.15);padding-right:1rem}.hero-stats>div:last-child{border:0;padding-left:1rem}.hero-stats>div:nth-child(2){padding-left:1rem}.hero-stats strong{font:700 2rem var(--heading);color:#fff}.hero-stats strong:after{content:"+";color:var(--orange)}.hero-stats>div:last-child strong:after{content:""}.hero-stats span{font-size:.69rem;color:#9aa7b5;text-transform:uppercase;letter-spacing:.08em}.hero-scroll{position:absolute;right:2.5rem;bottom:2rem;color:#83909f;writing-mode:vertical-rl;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:1rem}.hero-scroll i{height:50px;width:1px;background:linear-gradient(var(--orange) 50%,rgba(255,255,255,.2) 50%);background-size:100% 200%;animation:scrollLine 2s infinite}
.service-ticker{background:var(--orange);color:#fff;overflow:hidden;transform:rotate(-1deg) scale(1.02);position:relative;z-index:2}.ticker-track{display:flex;width:max-content;align-items:center;gap:1.8rem;padding:1rem 0;font:700 1.3rem var(--heading);letter-spacing:.06em;animation:ticker 28s linear infinite}.ticker-track b{color:var(--navy);font-size:.85rem}.section-pad{padding:8rem 0}.section-intro{color:var(--muted);line-height:1.8;margin:0;max-width:500px}.service-card{position:relative;background:var(--surface);border:1px solid var(--border);padding:2rem;min-height:350px;overflow:hidden;transition:.35s}.service-card:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:.35s}.service-card:hover{transform:translateY(-10px);border-color:rgba(255,77,0,.45);box-shadow:var(--shadow)}.service-card:hover:before{transform:scaleX(1)}.service-number{color:var(--muted);font:600 .72rem var(--body);letter-spacing:.1em}.service-icon{font:700 4rem var(--heading);color:var(--orange);margin:2rem 0 1.3rem;line-height:1}.service-icon span{font-size:1.2rem}.service-card h3{font-size:1.65rem;text-transform:uppercase}.service-card p{color:var(--muted);font-size:.92rem;line-height:1.7}.service-card a,.text-link{color:var(--ink);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.service-card a span,.text-link span{color:var(--orange);margin-left:.4rem}
.work-section{background:var(--surface)}.work-filters{display:flex;flex-wrap:wrap;gap:.4rem}.work-filters button{border:1px solid var(--border);background:transparent;color:var(--muted);padding:.65rem 1rem;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em}.work-filters button:hover,.work-filters button.active{background:var(--orange);color:#fff;border-color:var(--orange)}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-auto-rows:280px;gap:1rem}.project-card{position:relative;overflow:hidden;transition:.4s}.project-tall{grid-row:span 2}.project-wide{grid-column:2;grid-row:auto}.project-photo{position:absolute;inset:0;background-image:url('../images/sign-studio-hero.png');background-repeat:no-repeat;background-size:210%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.photo-one{background-position:78% 48%}.photo-two{background-position:7% 76%}.photo-three{background-position:94% 28%}.photo-four{background-position:42% 50%;background-size:150%}.project-overlay{position:absolute;inset:0;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 35%,rgba(0,8,18,.92));color:#fff}.project-overlay span{color:#ff9b70;text-transform:uppercase;font-size:.66rem;letter-spacing:.12em}.project-overlay h3{font-size:2rem;text-transform:uppercase;margin:.35rem 0 0}.project-overlay a{position:absolute;right:1.6rem;bottom:1.8rem;width:46px;height:46px;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;color:#fff;opacity:0;transform:translateY(10px);transition:.3s}.project-card:hover .project-photo{transform:scale(1.06);filter:saturate(1.2)}.project-card:hover .project-overlay a{opacity:1;transform:none}.project-card.is-hidden{display:none}
.process-heading{max-width:700px;margin:0 auto 5rem}.process-line{height:1px;background:var(--border);position:relative;top:31px}.process-step{position:relative;text-align:center}.process-step b{position:relative;z-index:2;display:grid;place-items:center;margin:0 auto 2rem;width:62px;height:62px;border:1px solid var(--border);border-radius:50%;background:var(--navy-2);color:var(--orange);font:700 1rem var(--heading);transition:.3s}[data-bs-theme="light"] .process-step b{background:#f7f9fb}.process-step:hover b{background:var(--orange);color:#fff;box-shadow:0 0 0 8px rgba(255,77,0,.1)}.process-step h3{text-transform:uppercase;font-size:1.4rem}.process-step p{color:var(--muted);font-size:.86rem;line-height:1.65;max-width:220px;margin:auto}.about-section{background:var(--surface)}.about-visual{min-height:700px;position:relative;background:linear-gradient(140deg,rgba(1,27,52,.1),rgba(255,77,0,.13)),url('../images/sign-studio-hero.png') 76% center/cover no-repeat}.about-badge{position:absolute;right:-1px;bottom:0;background:var(--orange);color:#fff;padding:1.5rem 2rem;display:flex;align-items:center;gap:.8rem}.about-badge strong{font:800 4rem/1 var(--heading)}.about-badge span{text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}.about-copy{padding-left:8%!important;padding-right:8%!important}.about-copy>p{color:var(--muted);line-height:1.9;font-size:1.03rem;margin:2rem 0}.about-points{margin-bottom:2rem}.about-points>div{display:flex;gap:1rem;margin:1.35rem 0}.about-points>div>span{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,77,0,.12);color:var(--orange)}.about-points p{margin:0;color:var(--muted);font-size:.84rem}.about-points strong{display:block;color:var(--ink);text-transform:uppercase;font:700 1rem var(--heading);margin-bottom:.25rem}.testimonial{text-align:center}.quote-mark{font:800 7rem/1 var(--heading);color:var(--orange);height:60px}.testimonial blockquote{font:600 clamp(1.7rem,3vw,2.6rem)/1.35 var(--heading);text-transform:uppercase;max-width:980px;margin:1.5rem auto 2.5rem}.quote-author{display:flex;justify-content:center;align-items:center;gap:.8rem}.quote-author>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700}.quote-author p{margin:0;text-align:left;color:var(--muted);font-size:.75rem}.quote-author strong{display:block;color:var(--ink);font-size:.85rem}.carousel-controls{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.carousel-controls button{width:46px;height:46px;border:1px solid var(--border);background:transparent;color:var(--ink)}.carousel-controls button:hover{border-color:var(--orange);color:var(--orange)}
.cta-section{position:relative;background:var(--orange);color:#fff;text-align:center;padding:8rem 0;overflow:hidden}.cta-section .eyebrow{color:#fff}.cta-section .eyebrow span{background:#fff}.cta-section h2{font-size:clamp(3.5rem,7vw,7rem)}.cta-section h2 em{color:var(--navy)}.cta-section p{max-width:600px;margin:2rem auto;color:rgba(255,255,255,.82)}.cta-section .btn-light{color:var(--navy);padding:1.15rem 1.6rem}.cta-orbit{position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.22);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.cta-orbit:before,.cta-orbit:after{content:"";position:absolute;border:inherit;border-radius:50%;inset:55px}.cta-orbit:after{inset:110px}footer{background:#001124;color:#fff;padding:5rem 0 2rem}footer a{display:block;color:#8f9bab;font-size:.83rem;margin:.75rem 0}footer a:hover{color:var(--orange)}footer h3{font:700 .85rem var(--heading);text-transform:uppercase;letter-spacing:.1em;color:#fff}.footer-about{max-width:370px;color:#8f9bab;line-height:1.7;margin-top:1.5rem}.footer-brand{width:max-content}footer p{color:#8f9bab;font-size:.8rem}.footer-bottom{display:flex;align-items:center;gap:2rem;border-top:1px solid rgba(255,255,255,.1);margin-top:4rem;padding-top:1.5rem;font-size:.7rem;color:#6f7c8b}.footer-bottom a{margin:0;font-size:.7rem}.back-top{margin-left:auto!important}
.modal-content{border:1px solid var(--border);background:var(--surface);border-radius:0;box-shadow:var(--shadow)}.modal-header,.modal-footer{border-color:var(--border);padding:1.5rem 2rem}.modal-body{padding:2rem}.modal-title{font-size:2.5rem}.form-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.form-control,.form-select{border-radius:0;padding:.9rem 1rem;background:var(--surface-2);border-color:var(--border);color:var(--ink)}.form-control:focus,.form-select:focus{border-color:var(--orange);box-shadow:0 0 0 .2rem rgba(255,77,0,.12)}.modal-footer>span{color:var(--muted);font-size:.72rem;margin-right:auto}.form-success{display:none;text-align:center;padding:2rem}.form-success.show{display:block}.form-success span{display:grid;place-items:center;margin:0 auto 1rem;width:56px;height:56px;border-radius:50%;background:var(--orange);color:#fff;font-size:1.5rem}.form-success p{color:var(--muted);margin:.5rem 0}.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s ease}.reveal.in-view{opacity:1;transform:none}
@keyframes heroZoom{to{transform:scale(1.04)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes scrollLine{0%{background-position:0 100%}100%{background-position:0 -100%}}
@media(max-width:991.98px){.navbar-collapse{background:rgba(1,18,38,.98);padding:1.25rem;margin-top:1rem;border:1px solid rgba(255,255,255,.1)}[data-bs-theme="light"] .navbar-collapse{background:#fff}.nav-actions{margin-top:1rem}.hero-image{background:linear-gradient(90deg,rgba(0,12,27,.94),rgba(0,12,27,.42)),url('../images/sign-studio-hero.png') 64% center/cover}.hero-scroll{display:none}.section-pad{padding:6rem 0}.project-grid{grid-template-columns:1fr 1fr}.project-tall{grid-row:span 2}.project-wide{grid-column:auto}.about-visual{min-height:500px}.process-line{display:none}}
@media(max-width:767.98px){h1{font-size:clamp(3.8rem,19vw,5.6rem)}h2{font-size:3.4rem}.hero-copy{padding-top:7rem}.hero-lead{font-size:.96rem}.hero-stats{margin-top:2.5rem}.hero-stats strong{font-size:1.6rem}.hero-cta .btn{width:100%}.section-pad{padding:5rem 0}.project-grid{display:block}.project-card{height:380px;margin-bottom:1rem}.project-tall{height:500px}.process-step{margin-bottom:2rem}.about-copy{padding-left:1.25rem!important;padding-right:1.25rem!important}.about-visual{min-height:430px}.testimonial blockquote{font-size:1.6rem}.footer-bottom{flex-wrap:wrap;gap:1rem}.back-top{margin-left:0!important}.modal-header,.modal-footer,.modal-body{padding:1.25rem}.modal-footer>span{width:100%}.modal-footer .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.cursor-glow{display:none}}

/* Updated logo, image-led services, neon cursor and location */
.navbar-brand img{display:block;width:194px;max-width:44vw;height:40px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 12px rgba(255,77,0,.18))}
.cursor-glow{left:0;top:0;width:32px;height:32px;border:2px solid var(--orange);background:rgba(255,77,0,.05);filter:none;box-shadow:0 0 8px var(--orange),0 0 22px rgba(255,77,0,.8),inset 0 0 7px rgba(255,77,0,.7);z-index:10000;transition:width .16s,height .16s,background .16s,opacity .2s}
.cursor-glow:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 8px var(--orange);transform:translate(-50%,-50%)}
.cursor-glow.cursor-hover{width:50px;height:50px;background:rgba(255,77,0,.14)}
.cursor-glow.cursor-click{width:24px;height:24px}
.service-gallery .service-card{padding:0;min-height:0}
.service-card>img{width:100%;height:235px;object-fit:cover;display:block;filter:saturate(.9);transition:transform .65s,filter .4s}
.service-card:hover>img{transform:scale(1.045);filter:saturate(1.15)}
.service-content{position:relative;padding:1.65rem 1.75rem 1.85rem;background:var(--surface);min-height:238px}
.service-gallery .service-number{color:var(--orange);font-weight:700;margin-bottom:1rem}
.service-feature>img{height:310px}
.service-feature .service-content{min-height:auto}
.photo-one{background-image:url('../images/channel-letter.png');background-position:center;background-size:cover}
.photo-two{background-image:url('../images/wide-format-printer.png');background-position:center;background-size:cover}
.photo-three{background-image:url('../images/exhibition-booth.png');background-position:center;background-size:cover}
.photo-four{background-image:url('../images/pylon-sign.png');background-position:center 58%;background-size:cover}
.photo-five{background-image:url('../images/street-flex-banner.png');background-position:center;background-size:cover}
.new-tab-mark{color:var(--orange);font-size:.7em;margin-left:.2rem}
.about-visual{background-image:linear-gradient(140deg,rgba(1,27,52,.1),rgba(255,77,0,.13)),url('../images/exhibition-booth.png');background-position:center;background-size:cover}
.map-section{background:var(--navy-2)}
[data-bs-theme="light"] .map-section{background:#f7f9fb}
.map-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}
.map-copy{padding:4rem}
.map-copy h2{font-size:clamp(3rem,5vw,4.8rem)}
.map-copy p{color:var(--muted);line-height:1.8;margin:1.8rem 0 2rem}
.google-map{display:block;width:100%;height:100%;min-height:520px;border:0;filter:saturate(.78) contrast(1.05)}
@media(max-width:767.98px){.service-card>img,.service-feature>img{height:240px}.service-content{min-height:auto}.map-copy{padding:2.2rem 1.5rem}.google-map{min-height:390px}}
@media(pointer:fine){body,body a,body button,body input,body select,body textarea{cursor:none!important}}
@media(pointer:coarse){.cursor-glow{display:none}}
