@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#111513;--paper:#f4f2ec;--peach:#ffb38e;--ink:#17201b;--muted:#a6ada8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--paper);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px 4.5%;border-bottom:1px solid #ffffff1c;background:var(--bg);position:relative;z-index:3}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.6px;font-size:19px}.brand-small{display:block;letter-spacing:1.1px;font-size:7px;font-weight:500;margin-top:8px}.brand-icon{font-size:49px;position:relative;color:var(--peach)}.brand-icon span{font-size:25px;position:absolute;left:15px;top:-6px}nav{display:flex;gap:30px;font-size:12px}nav a:hover{color:var(--peach)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:0;border-radius:4px;background:var(--peach);color:var(--ink);padding:18px 23px;font-size:13px;font-weight:700;transition:transform .25s,background .25s}.button:hover{background:#ffc8ad;transform:translateY(-3px)}.button.small{padding:15px 18px;font-size:11px}.menu{display:none}.hero{padding:38px 4.5% 0}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow,.location,.form-step{font-size:10px;letter-spacing:1.8px;font-weight:600}.eyebrow i{display:inline-block;background:var(--peach);width:7px;height:7px;border-radius:50%;margin-right:8px}.location{color:var(--muted);font-size:9px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(52px,7.3vw,112px);line-height:1.06;letter-spacing:-6px;font-weight:500;margin:39px 0 28px}h1>span:not(.dot){color:var(--peach)}.dot{color:var(--peach)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.hero-bottom p{font-size:14px;line-height:1.8;color:#bec5bf;margin:0}.hero-image{height:490px;position:relative;border-radius:5px;overflow:hidden;background:#302f2a}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 25px;display:flex;justify-content:space-between;background:linear-gradient(transparent,#000b);font-size:10px;letter-spacing:1.6px}.concept{position:absolute;top:16px;right:18px;background:#0008;padding:6px 9px;border-radius:3px;font-size:9px;color:#ddd}.ticker{overflow:hidden;border-bottom:1px solid #ffffff24;padding:30px 0}.ticker>div{white-space:nowrap;word-spacing:8px;font-size:13px;letter-spacing:2px;animation:marquee 38s linear infinite;width:max-content}.ticker b{color:var(--peach);padding:0 30px;font-size:23px}@keyframes marquee{to{transform:translateX(-40%)}}.section{padding:100px 6%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:30px 70px}.intro>.eyebrow{grid-column:1/-1}.intro h2{font-size:49px}.intro h2 span{color:var(--muted)}h2{font-size:clamp(35px,4vw,59px);letter-spacing:-2.5px;line-height:1.15;font-weight:500;margin:21px 0 28px}p{line-height:1.85;color:var(--muted);font-size:14px}.large{font-size:21px;color:var(--paper);line-height:1.55}.text-link{display:inline-block;margin-top:15px;font-size:12px;border-bottom:1px solid var(--peach);padding-bottom:8px}.services{background:var(--paper);color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading p{margin-bottom:4px;color:#758077}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.service-card{padding:30px 22px 25px;border:1px solid #d8ddd5;text-align:left;background:transparent;color:var(--ink);display:flex;flex-direction:column;transition:background .25s,transform .25s;min-height:275px}.service-card:hover{background:#ffe1cf;transform:translateY(-5px)}.service-top{display:flex;justify-content:space-between;font-size:10px;color:#737e74}.service-icon{font-size:42px;line-height:1;padding:30px 0 20px;color:#566c5e}.service-card h3{font-size:19px;letter-spacing:-.5px;margin-bottom:10px}.service-card p{font-size:12px;line-height:1.7;color:#69756c;margin:0}.showcase h2 span{color:var(--peach)}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.sign-demo,.screen-demo{padding:26px;background:#1c221e;border-radius:5px;overflow:hidden}.sign-demo>.eyebrow,.screen-demo>.eyebrow{font-size:9px;color:#b0b9b1}.sign-wall{height:330px;display:grid;place-items:center;background:repeating-linear-gradient(0deg,#20211d 0px,#20211d 45px,#30302a 46px,#1d201b 47px);margin-top:23px;border-radius:4px}.sign-wall>span{font-family:Manrope,sans-serif;font-size:65px;font-weight:800;letter-spacing:-4px;color:#ffd1b4;text-shadow:0 0 14px #ff9f64,0 0 40px #ff8c5366;transition:all .5s;transform:rotate(-5deg)}.sign-wall>span>span{display:block}.sign-wall>span.off{color:#767469;text-shadow:none}.demo-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}.demo-bottom h3{font-size:16px;font-weight:500;margin-bottom:5px}.demo-bottom p{font-size:11px;margin:0}.toggle,.round{background:transparent;border:1px solid #6a786c;color:var(--paper);padding:10px;border-radius:25px;font-size:10px}.toggle.active{color:var(--peach)}.round{font-size:23px;width:45px;height:45px;padding:0}.screen{margin:23px auto 0;height:330px;background:#cf593c;position:relative;overflow:hidden;border:10px solid #050806;border-radius:6px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;transition:background .6s}.screen small{font-size:8px;letter-spacing:1.6px}.screen strong{font-family:Manrope;font-size:48px;line-height:1.05;letter-spacing:-2px;max-width:330px;z-index:1}.screen>span{font-size:8px;letter-spacing:1px}.orb{width:270px;height:270px;background:radial-gradient(circle at 25% 25%,#ffe4d2,#ffbb91 30%,#f76f3d 58%,#ab322a);border-radius:48% 52% 64% 36%;position:absolute;right:-20px;bottom:0;z-index:-1;animation:orb 11s ease-in-out infinite alternate;box-shadow:inset -15px -20px 35px #752f26}@keyframes orb{to{transform:rotate(45deg) translateY(-35px);border-radius:65% 35% 48% 52%}}.process{border-top:1px solid #ffffff20}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps article{border-top:1px solid #536155;padding-top:25px}.steps span{font-size:10px;letter-spacing:1px;color:var(--peach)}.steps h3{font-size:20px;margin:24px 0 15px}.steps p{font-size:12px}.quote-section{background:#ffd0b6;color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:80px}.quote-intro h2{font-size:55px}.quote-intro em,.closing em{font-family:Georgia,serif;font-weight:400}.quote-intro p{color:#5a625a;max-width:370px}.quote-intro>a{display:block;font-size:17px;margin:20px 0}.note{display:block;font-size:10px;line-height:1.6;color:#617065;margin-top:20px}.quote-intro .note{margin-top:30px}form{background:#fff9f3;border-radius:5px;padding:30px;color:var(--ink)}label{font-size:11px;display:block;margin-top:18px}input,select,textarea{width:100%;display:block;border:1px solid #d7dbd1;background:transparent;padding:13px 11px;margin-top:8px;border-radius:3px;color:var(--ink);font-size:12px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.6}.check input{width:14px;margin:1px 0}.dark{background:var(--ink);color:var(--paper);width:100%;margin-top:20px}.dark:hover{background:#344738}form .note{margin-bottom:0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:0 70px;background:var(--paper);color:var(--ink)}.faq>.eyebrow{grid-column:1/-1}.faq>div{padding-top:20px}details{border-bottom:1px solid #cfd6ca;padding:21px 0}summary{cursor:pointer;font-size:14px;font-weight:600}details p{color:#647066;font-size:13px;padding-top:15px;margin-bottom:0}.closing{padding-top:75px;padding-bottom:75px}.closing h2{font-size:70px}.closing h2>span{float:right;color:var(--peach);font-size:100px;line-height:.8}.closing .eyebrow{color:var(--muted)}footer{padding:38px 6%;border-top:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:flex-start;gap:30px}footer .brand{display:block;font-size:16px}footer p{font-size:11px;margin:0}footer>div{display:flex;gap:20px;font-size:11px}.plain{border:0;padding:0;color:var(--muted);background:none;font-size:11px}dialog{background:var(--paper);color:var(--ink);border:0;border-radius:8px;padding:48px;max-width:780px;width:calc(100% - 30px);max-height:88vh;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}dialog p{color:#627065}.close{position:absolute;right:15px;top:10px;border:0;font-size:30px;background:transparent}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.tags span{border:1px solid #ccd4c6;border-radius:30px;padding:8px 13px;font-size:11px}dialog h3{margin-top:30px}.actions{display:flex;flex-wrap:wrap;gap:10px}.secondary{background:#dce2d6}pre{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.7;background:#e9ede3;padding:20px}.reveal{transition:opacity .7s,transform .7s}.js-animate .reveal{opacity:0;transform:translateY(32px)}.js-animate .reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){body{max-width:1700px;margin:auto}}@media(max-width:1050px){nav{gap:16px}header .small{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.quote-section{gap:35px}.quote-intro h2{font-size:44px}.screen strong{font-size:38px}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){header{padding:20px 5%}.brand{font-size:16px}.brand-small{font-size:6px}.menu{display:block;border:1px solid #506055;background:none;color:var(--paper);padding:8px 12px;border-radius:3px}nav{display:none;position:absolute;top:91px;left:0;right:0;background:var(--bg);padding:25px;flex-direction:column}nav.open{display:flex}.hero{padding:28px 5% 0}.location{display:none}h1{font-size:51px;letter-spacing:-3px;margin-top:30px}.hero-bottom{display:block}.hero-bottom p{font-size:12px;margin-bottom:23px}.hero-image{height:330px}.image-caption{font-size:8px;padding:18px 13px}.image-caption span:last-child{display:none}.section{padding:65px 6%}.intro,.faq{grid-template-columns:1fr;gap:0}.intro h2{font-size:38px}.section-heading{display:block}.section-heading p{margin-top:22px}.service-card{padding:22px 16px;min-height:260px}.service-card h3{font-size:17px}.service-icon{font-size:34px}.demo-grid{grid-template-columns:1fr}.sign-wall,.screen{height:300px}.quote-section{grid-template-columns:1fr}.quote-intro h2{font-size:43px}.quote-intro>a{font-size:14px}form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}.steps{gap:25px}.steps h3{font-size:18px}.closing h2{font-size:45px}.closing h2>span{font-size:55px}footer{flex-direction:column}footer>div{flex-wrap:wrap}dialog{padding:35px 24px}dialog h2{font-size:32px}.hero-top .eyebrow{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-animate .reveal{opacity:1;transform:none}}

/* Keep FAQ questions expandable without browser disclosure arrows. */
.faq summary { list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::marker { content: ""; }

.shop-section{background:#f4f2ec;color:#17201b}.shop-section p{color:#647066}

.brand-logo{display:block;width:230px;height:auto}header .brand{flex-shrink:0}footer .brand-logo{width:205px}@media(max-width:700px){header .brand-logo{width:192px}}

/* Display the approved artwork with its surrounding presentation space clipped. */
.approved-logo{display:block;position:relative;width:235px;height:93px;overflow:hidden;flex-shrink:0}
.approved-logo img{display:block;position:absolute;width:150%;max-width:none;height:auto;left:-26.5%;top:-44%;mix-blend-mode:lighten}
header{padding-top:14px;padding-bottom:14px}
footer .approved-logo{width:215px;height:85px}
@media(max-width:700px){header .approved-logo{width:195px;height:77px}header{padding-top:10px;padding-bottom:10px}nav{top:97px}}

/* Clearer main navigation, with space reserved for the brand and quote button. */
header nav{gap:25px;font-size:16px;font-weight:700;line-height:1.4}
header nav a{position:relative;white-space:nowrap;padding:12px 0;color:#f4f2ec;transition:color .2s ease}
header nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#ffb38e;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
header nav a:hover,header nav a:focus-visible{color:#ffb38e}
header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}
@media(max-width:1280px){header>.button.small{display:none}}
@media(max-width:900px){header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:5px;background:#111513;padding:20px 6%;border-bottom:1px solid #ffffff24;font-size:18px}header nav.open{display:flex}header .menu{display:block;border:1px solid #506055;background:none;color:#f4f2ec;padding:10px 14px;border-radius:3px;font-size:20px}header nav a{padding:13px 0}}

/* Let the illuminated lettering fill its display while scaling with the card. */
.sign-wall{container-type:inline-size}
.sign-wall>span{font-size:clamp(64px,8vw,118px);font-size:clamp(64px,23cqi,118px);line-height:1.02;letter-spacing:-.065em}
@media(max-width:700px){.sign-wall>span{font-size:clamp(64px,18vw,104px);font-size:clamp(64px,23cqi,104px)}}

.service-page{max-width:1100px;margin:auto}.service-page h1{font-size:clamp(42px,6vw,76px);letter-spacing:-3px;max-width:900px}.service-page p{max-width:790px}.service-page h2{font-size:32px;letter-spacing:-1px;margin-top:48px}.service-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;list-style:none}.service-range li{padding:15px;border:1px solid #536155;border-radius:4px;font-size:14px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:#a6ada8;font-size:12px;margin-bottom:40px}.related-services{display:flex;flex-wrap:wrap;gap:14px}.related-services a{padding:12px;border:1px solid #536155;border-radius:4px;font-size:13px}.service-page a:not(.button):hover{color:#ffb38e}@media(max-width:700px){.service-range{grid-template-columns:repeat(2,minmax(0,1fr))}.service-page h1{letter-spacing:-2px}.service-page h2{font-size:28px}}
