/* Desktop enhancement. Phone layout is the default in styles.css. */
html{height:auto}body{height:auto;overscroll-behavior:auto}
.site-header{display:flex;grid-template-columns:none;grid-template-rows:none;padding-top:0}
.site-header nav{grid-column:auto;align-self:auto;overflow:visible;white-space:normal;scroll-padding:0;margin:0;min-width:0}
.site-header nav a{display:block;min-height:0;flex:none;border-radius:0;font-size:inherit}
.site-header nav a.active{background:none;color:inherit}
.journey{position:static;inset:auto}
.viewport{padding:0;scroll-snap-type:none;overscroll-behavior:auto}
.track{gap:0}.scene{display:block;min-width:0;overscroll-behavior:auto;scroll-padding:0;scroll-snap-align:none;scroll-snap-stop:normal}
.scene-copy{display:block;max-width:none;margin:0}.scene-copy>*{width:auto;max-width:none;margin-inline:0}
.scene-visual{width:auto;max-width:none;height:auto;min-height:0;aspect-ratio:auto;margin:0;flex:none}
.visual-badge{max-width:none;white-space:normal}.scene-side-note,.scene-bottom-note{display:flex}
.journey-controls{display:flex;grid-template-columns:none;padding:0;min-height:0}
.scroll-hint{grid-column:auto;justify-content:flex-start}.scroll-icon{display:grid}.desktop-hint{display:inline}
.scene-progress{flex:none;width:auto;justify-content:flex-start}
.scene-progress button{flex-direction:row;justify-content:flex-start;min-width:0;min-height:0;border-radius:0}
.scene-progress i{display:block;position:static;bottom:auto}
.next-scene{min-width:0;min-height:0}.scope-link{min-height:0}
.inquiry-dialog,.standard-dialog{inset:0;margin:auto;height:fit-content;max-width:calc(100vw - 32px);scroll-padding:30px}
.close-dialog{position:absolute;float:none;margin:0;z-index:2;display:block}
.form-eyebrow{display:inline;max-width:none}.inquiry-dialog h2,.standard-intro h2{clear:none}
.scope-choices>label{min-height:0;padding:0;border:0;border-radius:0}
.optional-details summary,.direct-contact a,.edit-inquiry{min-height:0}

:root{--paper:#f3f1e9;--ink:#203c3e;--accent:#ef713b;--muted:#718078;--line:#203c3e26;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scrollbar-gutter:stable}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper)}
button,input,textarea,select{font:inherit}
button{cursor:pointer;color:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:#ef713b;color:white}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:fixed;top:-90px;left:20px;z-index:99;background:#203c3e;color:#fff;border:0;padding:15px}
.skip-link:focus{top:12px}
.site-header{color:var(--ink);background:var(--paper);position:fixed;z-index:20;inset:0 0 auto;height:108px;padding:0 4.4vw;display:flex;align-items:center;justify-content:space-between;gap:26px;transition:color .4s,background .4s}
.site-header:after{content:'';position:absolute;bottom:0;left:4.4vw;right:4.4vw;height:1px;background:currentColor;opacity:.15}
.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.brand svg{width:38px;height:38px}
.brand strong{display:block;font-size:28px;letter-spacing:-1.1px;line-height:1;font-weight:800}
.brand small{display:block;font-size:8px;letter-spacing:1.4px;margin:6px 0 0 2px}
.site-header nav{display:flex;gap:25px;font-size:12px}
.site-header nav a{position:relative;padding:12px 0;opacity:.85;transition:opacity .2s}
.site-header nav a:hover,.site-header nav a.active{opacity:1}
.site-header nav a:after{content:'';position:absolute;bottom:3px;left:0;right:100%;height:1px;background:currentColor;transition:right .2s}
.site-header nav a.active:after,.site-header nav a:hover:after{right:0}
.header-cta{border:1px solid currentColor;background:transparent;border-radius:30px;padding:13px 19px;font-size:12px;display:flex;align-items:center;gap:24px;white-space:nowrap}
.header-cta span{font-size:22px}
.header-cta:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.journey{height:730vh}
.viewport{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden}
.track{display:flex;width:max-content;height:100%;will-change:transform}
.scene{width:100vw;height:100%;flex:none;position:relative;overflow:hidden;padding:17vh 7vw 112px;background:var(--paper);color:var(--ink);--spark:#fff9df}
.scene-developer{--paper:#f3f1e9;--ink:#203c3e;--accent:#ef713b}
.scene-office{--paper:#1b3b3d;--ink:#f0f0e3;--accent:#c4d8bb;--muted:#b0c3b8}
.scene-home{--paper:#efe5d7;--ink:#4c4e3e;--accent:#b56f4b;--muted:#817c6b}
.scene-retail{--paper:#e3e8d9;--ink:#304b3d;--accent:#6e8864;--muted:#758170}
.scene-gastro{--paper:#293e34;--ink:#f2eddb;--accent:#e7a875;--muted:#b7c5b3}
.scene-copy{position:relative;width:49%;z-index:3;pointer-events:none}
.scene-copy button{pointer-events:auto}
.eyebrow{font-size:9px;font-weight:500;letter-spacing:1.8px;display:flex;gap:9px;align-items:center;line-height:1.5}
.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}
h1,.scene h2{font-size:clamp(65px,6.5vw,110px);font-weight:400;line-height:1.02;letter-spacing:-.075em;margin:36px 0 28px}
em{font-style:normal;color:var(--accent)}
.scene-description{max-width:380px;font-size:15px;line-height:1.75;color:var(--muted);letter-spacing:-.15px}
.scope-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px;max-width:430px}
.scope-tags span{font-size:9px;border:1px solid currentColor;border-radius:20px;padding:9px 12px;opacity:.7;white-space:nowrap}
.solid-button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:var(--paper);padding:17px 22px;border-radius:5px;font-size:12px;min-height:54px;transition:transform .2s,box-shadow .2s}
.solid-button>span{font-size:23px;line-height:1}
.solid-button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #00000012}
.scene-copy>.solid-button{margin-top:29px;max-width:100%}
.scene-office .solid-button{background:#d1dec5;color:#213e38}
.scene-gastro .solid-button{background:#e7ae80;color:#263d30}
.cta-note{font-size:9px;color:var(--muted);margin-top:13px}
.scene-visual{position:absolute;left:42%;right:-2%;top:10%;bottom:4%;pointer-events:none}
.scene-svg{width:100%;height:100%;display:block;overflow:visible}
.visual-index{position:absolute;right:17%;top:5%;font-size:12px;letter-spacing:1.3px;color:var(--ink);z-index:2}
.visual-index span{font-size:7px;opacity:.5;margin-left:10px}
.visual-badge{position:absolute;bottom:7%;left:25%;display:flex;align-items:center;gap:12px;padding:16px 18px;background:rgba(255,255,245,.82);border:1px solid #ffffff88;border-radius:7px;box-shadow:0 10px 35px #203c3e0a;color:#304f42;font-size:11px;transform:rotate(-3deg);backdrop-filter:blur(12px)}
.visual-badge i{width:6px;height:6px;background:#78916a;box-shadow:0 0 0 5px #78916a20;border-radius:50%;margin:3px}
.visual-badge b{font-weight:400;font-size:22px;margin-left:20px}
.scene-developer .scene-visual{left:45%;top:10%;bottom:5%;right:-2%}
.scene-developer .visual-index{right:9%;top:5%}
.scene-developer .visual-badge{left:21%;bottom:5%}
.scene-home .scene-copy{width:52%}
.scene-home :is(h1,h2){font-size:clamp(62px,6.1vw,103px)}
.scene-retail h2{margin-top:25px;margin-bottom:21px;font-size:clamp(62px,5.8vw,98px);line-height:.99}
.scene-retail .scope-tags{margin-top:18px}
.scene-retail .scene-copy>.solid-button{margin-top:22px}
.scene-gastro h2{font-size:clamp(62px,6.1vw,103px)}
.scene-gastro .scene-visual{left:44%;right:-4%}
.scene-side-note{position:absolute;right:23px;top:43%;font-size:7px;letter-spacing:1.5px;writing-mode:vertical-rl;opacity:.45}
.scene-bottom-note{position:absolute;bottom:111px;left:7vw;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:9px}
.little-spark{font-size:30px;line-height:1;color:var(--ink)}
.clean-spark{opacity:0}
.dust{opacity:1}
.journey-controls{color:var(--ink);background:var(--paper);position:fixed;bottom:0;left:0;right:0;z-index:20;height:76px;margin:0 4.4vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid currentColor;border-color:var(--line);gap:20px;transition:color .4s,background .4s}
.scroll-hint{display:flex;gap:12px;align-items:center;font-size:7px;letter-spacing:1.2px;width:31%}
.scroll-icon{border:1px solid currentColor;border-radius:20px;width:26px;height:35px;display:grid;place-items:center;font-size:17px;animation:nudge 3s ease-in-out infinite}
.mobile-hint{display:none}
.scene-progress{display:flex;gap:13px}
.scene-progress button{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:16px 0;opacity:.35;transition:opacity .25s}
.scene-progress button.active{opacity:1}
.scene-progress button>span{font-size:9px;letter-spacing:.8px}
.scene-progress i{width:35px;height:2px;background:currentColor;opacity:.5}
.scene-progress button.active i{background:var(--accent);opacity:1}
.next-scene{width:31%;display:flex;align-items:center;justify-content:flex-end;gap:30px;border:0;background:none;font-size:8px;letter-spacing:1.3px;padding:12px 0}
.next-scene>span{font-size:24px}
body[data-theme=office]{--paper:#1b3b3d;--ink:#f0f0e3;--accent:#c4d8bb;--line:#ffffff26}
body[data-theme=home]{--paper:#efe5d7;--ink:#4c4e3e;--accent:#b56f4b;--line:#4c4e3e26}
body[data-theme=retail]{--paper:#e3e8d9;--ink:#304b3d;--accent:#6e8864;--line:#304b3d26}
body[data-theme=gastro]{--paper:#293e34;--ink:#f2eddb;--accent:#e7a875;--line:#ffffff26}
/* A single, clear enquiry form, reachable from every scene. */
.inquiry-dialog{--paper:#f8f6f0;--ink:#203c3e;--accent:#ef713b;color:var(--ink);background:var(--paper);border:0;border-radius:17px;width:min(590px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:39px 42px 29px;box-shadow:0 30px 120px #061c2b40;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b8c3b2 transparent}
.inquiry-dialog::backdrop{background:#142e32a3;backdrop-filter:blur(8px)}
.close-dialog{position:absolute;right:17px;top:15px;border:1px solid #203c3e20;background:transparent;width:35px;height:35px;border-radius:50%;font-size:25px;line-height:1}
.close-dialog:hover{background:#e3e7dc}
.form-eyebrow{font-size:8px;letter-spacing:1.4px;color:#7b877b}
.inquiry-dialog h2{font-size:42px;line-height:1.04;letter-spacing:-2.2px;font-weight:400;margin:19px 0 15px}
.form-subtitle{font-size:12px;line-height:1.6;color:#708071;margin-bottom:24px}
.field{margin-top:17px}
.field>label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;margin-bottom:9px}
.field>label>span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e5e9de;color:#6b7f69;font-size:10px}
.field input,.field select,.optional-details textarea,#inquiry-text{display:block;width:100%;background:#fffef9;color:#203c3e;border:1px solid #cdd3c6;border-radius:6px;min-height:49px;padding:13px 14px;font-size:13px;line-height:1.5}
.field input::placeholder,.optional-details textarea::placeholder{color:#919b8d}
.field input[aria-invalid=true]{border-color:#bf4e30}
.field-error{display:block;font-size:11px;color:#af432a;line-height:1.5;margin-top:5px}
.field-error:empty{display:none}
.select-wrap{position:relative}
.select-wrap select{appearance:none;padding-right:40px;cursor:pointer}
.select-wrap b{position:absolute;right:16px;top:12px;pointer-events:none;font-size:18px;font-weight:400}
.optional-details{margin-top:20px;border-bottom:1px solid #203c3e1c;padding-bottom:16px}
.optional-details summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;list-style:none;user-select:none}
.optional-details summary::-webkit-details-marker{display:none}
.optional-details summary>span{font-size:10px;color:#8b9685}
.optional-details summary>b{margin-left:auto;font-size:18px;font-weight:400}
.optional-details[open] summary>b{transform:rotate(45deg)}
.optional-details>label{display:block;font-size:10px;color:#778470;margin:15px 0 8px}
.optional-details textarea{resize:vertical;max-height:200px;min-height:88px}
.form-submit{width:100%;margin-top:22px;min-height:53px;background:#ef713b;color:#fff;font-size:13px}
.form-disclosure{font-size:10px;line-height:1.65;color:#7f8a77;margin-top:13px}
.result-icon{display:grid;place-items:center;width:52px;height:52px;margin:15px 0 20px;background:#dde8d3;color:#466847;font-size:25px;border-radius:50%}
.inquiry-dialog h3{font-size:32px;font-weight:400;letter-spacing:-1.4px;margin-bottom:12px}
#inquiry-result>p{font-size:12px;line-height:1.7;color:#72806c}
#inquiry-text{margin-top:23px;font-size:12px;resize:vertical;min-height:180px;max-height:300px}
.copy-status{min-height:19px;margin:12px 0!important;color:#436b46!important}
.edit-inquiry{border:0;background:transparent;font-size:11px;padding:8px 0}
.edit-inquiry:hover{text-decoration:underline}
#inquiry-result .result-note{font-size:10px;margin-top:13px;color:#8b9582}
@keyframes nudge{0%,60%,100%{transform:translateY(0)}75%{transform:translateY(4px)}}
@media(min-width:1600px){.scene{padding-top:20vh}.scene-visual{left:44%;right:0;top:9%;bottom:3%}.scene-developer .scene-visual{left:45%;right:0}.scope-tags span{font-size:10px}.scene-description{max-width:430px;font-size:16px}.eyebrow{font-size:10px}.scene-copy>.solid-button{margin-top:35px}.scene-gastro .scene-visual{left:44%;right:0}}
@media(max-width:1150px) and (min-width:901px){.site-header nav{gap:15px;font-size:10px}.site-header{gap:18px}.header-cta{gap:15px;font-size:10px;padding:12px 14px}.brand strong{font-size:25px}.brand svg{width:33px}.scene{padding-left:5.5vw;padding-right:5.5vw}.scene-copy{width:50%}.scene-description{max-width:325px;font-size:13px}.scene-copy>.solid-button{font-size:11px;padding:15px 18px;gap:20px}.scope-tags{max-width:345px}.scope-tags span{font-size:8px;padding:8px 10px}.scene-visual{left:43%;right:-10%}.scene-developer .scene-visual{left:46%;right:-9%;top:13%}.scene-bottom-note{left:5.5vw}.scene-progress{gap:10px}.scene-progress i{width:26px}.scene-home :is(h1,h2),.scene-gastro h2{font-size:6.1vw}.visual-badge{font-size:9px;left:23%;padding:13px 14px}.visual-badge b{margin-left:12px}.visual-index{font-size:10px;right:20%}.visual-index span{font-size:6px}.scene-side-note{display:none}}
@media(max-height:800px) and (min-width:901px){.site-header{height:88px}.scene{padding-top:132px;padding-bottom:96px}.viewport{min-height:580px}.scene h1,.scene h2{font-size:clamp(59px,6.2vw,88px);margin-top:24px;margin-bottom:21px}.scene-home :is(h1,h2),.scene-gastro h2{font-size:clamp(58px,5.8vw,83px)}.scene-retail h2{font-size:clamp(52px,5.1vw,75px);margin-top:20px;margin-bottom:17px}.scene-description{font-size:13px;line-height:1.7;max-width:350px}.scope-tags{margin-top:19px}.scope-tags span{font-size:8px;padding:8px 10px}.scene-copy>.solid-button{margin-top:21px;min-height:49px;padding:14px 18px;font-size:11px}.scene-retail .scene-copy>.solid-button{margin-top:18px}.cta-note{margin-top:10px;font-size:8px}.scene-bottom-note{bottom:94px;font-size:8px}.little-spark{font-size:26px}.scene-visual{top:12%;bottom:4%}.scene-developer .scene-visual{top:12%;bottom:5%}.journey-controls{height:66px}}
@media(max-height:680px) and (min-width:901px){.scene{padding-top:115px}.scene h1,.scene h2{font-size:60px;margin:21px 0 18px}.scene-home :is(h1,h2),.scene-gastro h2{font-size:58px}.scene-retail h2{font-size:48px}.scene-description{font-size:12px;max-width:345px}.scene-bottom-note{display:none}.scope-tags{margin-top:16px}.scene-copy>.solid-button{margin-top:19px}.scene-retail .scope-tags{margin-top:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Complete service scope and the brand's approach. */
.scope-link{display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--muted);font-size:10px;padding:4px 0 6px;margin-top:12px;pointer-events:auto}
.scope-link span{font-size:16px}
.scope-link:hover{color:var(--ink)}
.scene-bottom-note strong{display:block;color:var(--ink);font-size:10px;font-weight:500}
.scene-bottom-note small{display:block;font-size:8px;margin-top:5px;letter-spacing:.3px}
.standard-dialog{--paper:#f8f6f0;--ink:#203c3e;--accent:#ef713b;border:0;border-radius:17px;width:min(900px,calc(100vw - 40px));max-height:calc(100dvh - 40px);background:var(--paper);color:var(--ink);padding:45px 48px 30px;box-shadow:0 30px 120px #061c2b40;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b8c3b2 transparent}
.standard-dialog::backdrop{background:#142e32a3;backdrop-filter:blur(8px)}
.standard-intro h2{font-size:49px;line-height:1.02;letter-spacing:-2.6px;font-weight:400;margin:21px 0 19px}
.standard-intro>p{font-size:13px;line-height:1.8;max-width:610px;color:#738070}
.service-scope{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:0;margin-top:31px}
.service-scope article{display:flex;gap:14px;padding:22px 0;border-top:1px solid #203c3e25}
.scope-number{font-size:10px;color:#91a083;padding-top:4px}
.service-scope h3{font-size:17px;font-weight:400;letter-spacing:-.5px;margin-bottom:10px}
.service-scope p{font-size:11px;line-height:1.8;color:#788373}
.our-standard{display:grid;grid-template-columns:1fr 1.3fr;gap:35px;background:#e5eadc;padding:29px 30px;margin-top:12px;border-radius:8px}
.standard-heading h3{font-size:29px;line-height:1.1;letter-spacing:-1.2px;font-weight:400;margin-top:17px}
.standard-points>div+div{margin-top:17px}
.standard-points strong{font-size:12px;font-weight:500}
.standard-points p{font-size:11px;line-height:1.7;color:#71816c;margin-top:6px}
.brand-motto{padding:35px 0 30px;border-bottom:1px solid #203c3e25}
.brand-motto blockquote{margin:20px 0 17px;font-size:32px;line-height:1.15;letter-spacing:-1.3px;font-weight:400}
.brand-motto p{font-size:11px;line-height:1.8;max-width:520px;color:#7c8975}
.standard-action{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-top:24px}
.standard-action p{font-size:10px;color:#7a8773;line-height:1.8}
.standard-action .solid-button{background:#ef713b;color:#fff;font-size:11px;min-height:49px}
.scope-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;padding:0;margin:18px 0 20px;border:0}
.scope-choices legend{font-size:11px;line-height:1.6;padding:0;margin-bottom:12px}
.scope-choices legend>span{display:block;font-size:10px;color:#8b9685}
.scope-choices>label{display:flex;align-items:center;gap:7px;font-size:10px;cursor:pointer;line-height:1.5}
.scope-choices input{accent-color:#203c3e;width:15px;height:15px;flex-shrink:0;margin:0}
@media(max-height:800px) and (min-width:901px){.scope-link{font-size:9px;margin-top:9px;padding-bottom:5px}.scope-link span{font-size:14px}.scene-bottom-note strong{font-size:9px}.scene-bottom-note small{font-size:7px}}
@media(max-height:680px) and (min-width:901px){.scope-link{margin-top:7px;font-size:8px;padding:2px 0 4px}.scope-link span{font-size:12px}}
.form-trap{display:none!important}
.form-submit:disabled{opacity:.65;cursor:wait}
.inquiry-dialog [hidden]{display:none!important}
.submit-status{font-size:11px;line-height:1.6;margin:12px 0;color:#435a48}
.submit-status:empty{display:none}
.form-disclosure a,.direct-contact a{color:inherit;text-underline-offset:3px}
.direct-contact{font-size:11px;line-height:1.7;margin-top:16px;color:#52664f}
.direct-contact a{font-size:13px;font-weight:500;color:#203c3e}
.direct-contact a:hover{color:#a43b16}
#inquiry-result[data-status=error]{border-top:1px solid #203c3e25;margin-top:25px;padding-top:5px}
#inquiry-result[data-status=error] .result-icon{background:#f6dfcf;color:#9b421e}
#inquiry-result[data-status=pending] .result-icon{background:#f5e6be;color:#7c5c1b}
#inquiry-result .copy-inquiry{background:#e2e8dc;color:#203c3e}
#email-fallback{text-decoration:none}
#result-title:focus-visible{outline:2px solid #ef713b;outline-offset:5px}

/* Reset mobile-only flow properties while retaining the established desktop composition. */
body{overflow-y:auto}.scene-copy>.solid-button{width:auto;min-width:0}.scene-retail h2 br:first-child{display:inline}.scope-link{justify-content:flex-start;max-width:none}.scene-side-note{display:block}.standard-action .solid-button{width:auto;margin-top:0}.scene-progress{max-width:none}.brand{min-height:0;width:auto}.header-cta{min-height:0}.form-eyebrow{padding-top:0}.direct-contact a{display:inline}.site-header nav{grid-row:auto}.scene-home .scene-copy{max-width:none}body[data-theme=developer]{--paper:#f3f1e9;--ink:#203c3e;--accent:#ef713b}
.service-links.scope-link{display:flex;gap:22px;justify-content:flex-start;min-height:28px;padding:0;border:0;width:auto}.service-links>a,.service-links>button{min-height:28px;padding:5px 0;color:var(--ink);pointer-events:auto}.local-services nav{grid-template-columns:1fr 1fr;column-gap:24px}
