@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700;font-display:swap}
body{font-family:Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #c74632;outline-offset:5px}html{scroll-behavior:smooth;scroll-padding-top:110px}[hidden]{display:none!important}.motion-on .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.motion-on .reveal.is-visible{opacity:1;transform:none}.reveal:focus-within{opacity:1!important;transform:none!important}[data-parallax]{will-change:transform}.motion-off [data-parallax]{transform:none!important}.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:#bd3427;transform:scaleX(0);transform-origin:left;z-index:1000;pointer-events:none}.utility-footer{display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;padding:24px;border-top:1px solid #8884;font-size:12px}.utility-footer button{border:0;background:none;color:inherit;cursor:pointer;padding:10px}.inquiry{--ink:#21282c;--line:#d3d5d4;--accent:#a82f24;background:#f7f7f3;color:var(--ink);border:1px solid var(--line);padding:36px;margin-top:32px;text-align:left}.direction-a .inquiry{--ink:#f3f1ea;--line:#485055;--accent:#e9654d;background:#202a2f;color:var(--ink)}.inquiry-top{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:28px}.inquiry-top strong{font-size:22px}.inquiry-note{font-size:12px;line-height:1.7;margin:8px 0 0!important;max-width:520px!important;color:inherit!important;opacity:.8}.demo-badge{font-size:10px;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--line);padding:8px 12px;white-space:nowrap}.form-steps{display:flex;list-style:none!important;padding:0!important;margin:0 0 30px!important;gap:8px}.form-steps li{flex:1;border-top:2px solid var(--line);padding:12px 0;font-size:12px;opacity:.6}.form-steps li[aria-current=step]{border-color:var(--accent);opacity:1;font-weight:bold}.inquiry fieldset{min-width:0;border:0;padding:0;margin:0}.inquiry legend,.form-review h3{font-size:24px;line-height:1.25;font-weight:700;padding:0;margin-bottom:20px;color:inherit}.field-help{font-size:13px!important;opacity:.8}.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.service-option{display:flex;align-items:center;gap:12px;padding:20px;border:1px solid var(--line);cursor:pointer;font-size:16px}.service-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.service-option input{width:20px;height:20px;accent-color:var(--accent);flex:none}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:block;font-size:13px;font-weight:bold}.form-field.wide{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{display:block;margin-top:9px;width:100%;border:1px solid var(--line);border-radius:0;padding:14px;background:#fff;color:#21282c;min-height:50px;font-size:16px;font-weight:400;box-sizing:border-box}.form-field textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:space-between;gap:16px;margin-top:30px;align-items:center}.form-primary,.form-back,.form-reset{border:1px solid var(--ink);padding:15px 22px;min-height:50px;cursor:pointer;font-size:14px;font-weight:bold}.form-primary{background:var(--ink);color:#f7f7f3;margin-left:auto}.direction-a .form-primary{color:#202a2f}.form-back,.form-reset{background:transparent;color:inherit}.form-error{color:var(--accent);font-size:14px;min-height:20px;margin:12px 0 0!important}.form-review dl{display:grid;grid-template-columns:140px 1fr;gap:14px;margin:0}.form-review dt{opacity:.7;font-size:13px}.form-review dd{margin:0;overflow-wrap:anywhere;font-size:14px;white-space:pre-wrap}.form-result{padding:24px 0}.form-result h3{font-size:32px!important;margin:15px 0!important;color:inherit}.form-result p{font-size:16px!important;max-width:620px!important;color:inherit!important}.success-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--accent);border-radius:50%;font-size:24px;color:var(--accent)}.form-reset{margin-top:20px}.form-noscript{padding:18px;background:#fff1ce;color:#28241e}.site-dialog{background:#f5f3ec;color:#20282c;border:0;padding:0;width:min(680px,calc(100% - 32px));max-height:85dvh;box-shadow:0 20px 100px #0007}.site-dialog::backdrop{background:#0d171dcc;backdrop-filter:blur(5px)}.dialog-inner{padding:36px}.dialog-inner h2{font-size:34px!important;line-height:1.1;margin:15px 0 24px!important;color:#20282c}.dialog-inner p{font-size:15px!important;line-height:1.8;color:#40484b!important;max-width:none!important}.dialog-inner a{color:#9a3027;text-decoration:underline}.dialog-close{float:right;border:1px solid #777;background:none;min-height:44px;padding:8px 14px;cursor:pointer}.dialog-photo{width:100%;height:260px;object-fit:contain;background:#e3e1d9;margin-top:20px}.project-detail-link{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;padding:10px 0;margin-top:14px;cursor:pointer;font:inherit;font-size:13px}.noscript-note{padding:20px}
@media(max-width:700px){.inquiry{padding:22px 18px}.inquiry-top{display:block}.demo-badge{display:inline-block;margin-top:14px}.form-steps li{font-size:10px}.field-grid{grid-template-columns:1fr}.service-option{padding:16px 12px;font-size:14px;gap:8px}.inquiry legend{font-size:22px}.form-review dl{grid-template-columns:1fr;gap:5px}.form-review dd{margin-bottom:10px}.dialog-inner{padding:24px}.form-actions{gap:8px}.form-primary,.form-back{padding:13px 15px;font-size:13px}[data-parallax]{transform:none!important;will-change:auto}.utility-footer{gap:2px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-on .reveal{opacity:1;transform:none}[data-parallax]{transform:none!important}}
html.motion-off{scroll-behavior:auto}.motion-off *{animation:none!important;transition:none!important}
@media(max-width:700px){.site-header{position:sticky;top:0;z-index:50;flex-wrap:wrap}.site-header .brand{flex:none}.site-header .menu-toggle{display:flex;align-items:center;gap:16px;min-height:44px;padding:10px 14px;border:1px solid #a8aaa5;background:transparent;color:inherit;margin-left:auto;cursor:pointer;font-size:13px}.js-ready .site-header .primary-nav{display:none!important;position:absolute!important;top:100%;left:0;right:0;width:100%;margin:0;padding:15px 6% 24px;background:#f8f7f2;color:#20282c;border-bottom:1px solid #bbb;box-shadow:0 20px 24px #0002;flex-direction:column;align-items:stretch;gap:0!important}.site-header .primary-nav.is-open{display:flex!important}.site-header .primary-nav a{padding:16px 0!important;display:block!important;border:0!important;border-bottom:1px solid #aaa5!important}.direction-a .site-header .primary-nav{background:#182020;color:#f5f4ed}.site-header .header-note{display:none}.site-header:has(.menu-toggle:disabled) .primary-nav{display:flex!important}}

html:not(.js-ready) .menu-toggle{display:none!important}@media(max-width:700px){html:not(.js-ready) .site-header .primary-nav{display:flex;flex-wrap:wrap;font-size:12px;gap:12px}}

/* Vector arrows render consistently without platform emoji substitution. */
.icon-arrow-ne{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}
