:root { --ink:#111814; --ink-2:#19231d; --paper:#f4efe4; --paper-2:#e7dece; --white:#fffbf2; --gold:#b89359; --gold-soft:#d7bd8c; --orange:#c85f42; --signal:#a9c968; --lime:var(--gold); --line:rgba(17,24,20,.17); --line-light:rgba(255,251,242,.16); --shadow:0 28px 80px rgba(12,18,14,.17); --hero-parallax:0px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.5; overflow-x:hidden; }
button,input,textarea { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; } a { color:inherit; text-decoration:none; } button { color:inherit; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:100; background:var(--gold); padding:10px 16px; border-radius:999px; font-weight:800; }
.skip-link:focus { top:16px; }
.site-header { position:fixed; inset:0 0 auto; z-index:30; width:100%; margin:0; padding:20px max(40px,calc((100vw - 1240px)/2)); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; border-bottom:1px solid transparent; transition:padding .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease; }
.brand { display:inline-flex; align-items:center; gap:11px; width:fit-content; }
.brand-logo { display:block; width:168px; max-width:100%; height:auto; object-fit:contain; transition:width .3s ease; }
.site-header nav { display:flex; gap:23px; font-size:11px; font-weight:800; letter-spacing:.015em; } .site-header nav a { position:relative; padding:7px 0; } .site-header nav a::after { content:""; position:absolute; left:0; right:100%; bottom:2px; height:1px; background:var(--gold); transition:right .28s ease; } .site-header nav a:hover::after,.site-header nav a:focus-visible::after { right:0; } .header-cta { justify-self:end; }
.site-header.is-scrolled { padding-block:9px; background:rgba(244,239,228,.9); border-bottom-color:rgba(17,24,20,.1); box-shadow:0 12px 35px rgba(12,18,14,.08); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
.site-header.is-scrolled .brand-logo { width:154px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:56px; padding:0 25px; border:1px solid transparent; border-radius:999px; font-weight:850; letter-spacing:-.015em; cursor:pointer; transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease; }
.button:hover { transform:translateY(-2px); } .button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.button-small { min-height:44px; padding:0 19px; font-size:12px; } .button-dark { background:var(--ink); color:var(--white); } .button-dark:hover { background:var(--gold); color:var(--ink); } .button-primary { background:var(--orange); color:white; box-shadow:0 14px 34px rgba(137,58,37,.2); } .button-primary:hover { box-shadow:0 18px 42px rgba(137,58,37,.3); }
.text-link { position:relative; display:inline-block; padding:11px 0 7px; border-bottom:1px solid var(--line); font-size:13px; font-weight:850; transition:color .25s ease,border-color .25s ease; } .text-link:hover { color:var(--orange); border-color:var(--orange); } .text-link-light { border-color:rgba(255,255,255,.25); }

.hero { min-height:830px; max-width:1320px; margin:0 auto; padding:155px 56px 86px; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(470px,.97fr); align-items:center; gap:52px; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 26px; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.18em; } .eyebrow>span { width:30px; height:1px; background:var(--gold); }
.hero h1,.section-heading h2,.ways-head h2,.inquiry-intro h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(51px,5vw,76px); line-height:.94; letter-spacing:-.058em; font-weight:500; }
.hero h1 em,.section-heading h2 em,.workflow-copy h3 em,.ways-head h2 em { color:var(--gold); font-weight:500; }
.hero-lede { max-width:590px; margin:28px 0 30px; color:#4f5b54; font-size:17px; line-height:1.68; }
.hero-actions { display:flex; align-items:center; gap:25px; }
.hero-pillars { display:grid; grid-template-columns:repeat(3,auto); width:fit-content; gap:25px; margin-top:50px; padding-top:22px; border-top:1px solid var(--line); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.hero-pillars span { display:flex; gap:7px; } .hero-pillars b { color:var(--gold); }
.hero-demo { position:relative; height:570px; isolation:isolate; }
.hero-orbit { position:absolute; z-index:-2; width:440px; height:440px; right:4%; top:55px; border-radius:50%; background:radial-gradient(circle at 34% 30%,#eadfc7 0,#d8c198 50%,#c5a36b 100%); } .hero-orbit::after { content:""; position:absolute; inset:27px; border:1px solid rgba(17,24,20,.18); border-radius:inherit; }
.hero-photo { position:absolute; left:0; top:54px; width:286px; height:410px; margin:0; background:#fff9ec; border:1px solid rgba(23,33,28,.15); box-shadow:var(--shadow); transform:rotate(-7deg); overflow:hidden; }
.hero-photo img { width:100%; height:108%; display:block; object-fit:cover; transform:translate3d(0,var(--hero-parallax),0) scale(1.025); transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease; }
.hero-photo figcaption { position:absolute; inset:auto 14px 14px; display:flex; flex-direction:column; padding:11px 12px; background:rgba(255,253,248,.94); color:var(--ink); box-shadow:0 8px 22px rgba(23,33,28,.18); }
.hero-photo figcaption span { color:var(--gold); font-size:7px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.hero-photo figcaption b { margin-top:3px; font-size:10px; line-height:1.3; }
.phone-mock { position:absolute; right:0; bottom:24px; width:276px; height:486px; padding:18px 13px 14px; background:#0d1511; border:8px solid #111914; border-radius:36px; color:var(--ink); box-shadow:0 32px 74px rgba(23,33,28,.28); transform:rotate(5deg); }
.phone-mock::before { content:""; position:absolute; inset:0; border-radius:27px; background:#f7f5ef; z-index:-1; }
.phone-speaker { width:70px; height:17px; margin:-11px auto 10px; border-radius:0 0 12px 12px; background:#111914; }
.phone-head { display:grid; grid-template-columns:30px 1fr 22px; align-items:center; padding:4px 2px 12px; border-bottom:1px solid var(--line); } .phone-head button { border:0; background:none; font-size:24px; line-height:1; } .phone-head span { display:flex; flex-direction:column; text-align:center; } .phone-head b { font-size:10px; } .phone-head small { font-size:7px; color:#7d8881; } .phone-head i { width:8px; height:8px; background:#29ba66; border-radius:50%; }
.message-day { margin:12px 0; text-align:center; color:#8b958f; font-size:6px; letter-spacing:.12em; }
.call-alert,.lead-alert { display:flex; gap:9px; align-items:center; padding:9px; border-radius:8px; } .call-alert { background:#ffe3da; } .lead-alert { margin-top:9px; background:#e5f8c3; }
.call-alert>span,.lead-alert>span { width:25px; height:25px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--orange); color:white; font-size:11px; font-weight:900; } .lead-alert>span { background:#57a525; }
.call-alert p,.lead-alert p { margin:0; display:flex; flex-direction:column; } .call-alert b,.lead-alert b { font-size:8px; } .call-alert small,.lead-alert small { font-size:6px; color:#707b74; }
.message { width:79%; margin-top:13px; padding:9px 10px; border-radius:10px; font-size:8px; line-height:1.4; } .message small { display:block; margin-bottom:3px; font-size:6px; color:#758078; } .message-out { margin-left:auto; background:#e6d4b4; border-bottom-right-radius:2px; } .message-in { background:#e4e6e4; border-bottom-left-radius:2px; }
.phone-input { position:absolute; left:13px; right:13px; bottom:13px; height:33px; display:flex; align-items:center; justify-content:space-between; padding:0 7px 0 11px; border:1px solid var(--line); border-radius:999px; color:#9aa29d; font-size:8px; } .phone-input span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:white; }
.connection-line { position:absolute; z-index:-1; left:90px; right:80px; bottom:27px; display:flex; align-items:center; color:#526057; font-size:7px; font-weight:900; letter-spacing:.12em; } .connection-line i { flex:1; height:1px; background:rgba(23,33,28,.35); } .connection-line b { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:var(--orange); color:white; font-size:13px; }
.hero-stamp { position:absolute; right:39%; top:15px; width:112px; height:112px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:var(--gold); color:var(--ink); box-shadow:0 15px 35px rgba(61,45,20,.18); transform:rotate(7deg); } .hero-stamp b { font-family:Georgia,serif; font-size:18px; } .hero-stamp small { font-size:6px; font-weight:900; letter-spacing:.1em; }

.capabilities { overflow:hidden; background:linear-gradient(180deg,#101713 0%,#131d17 52%,#0e1511 100%); color:var(--white); padding:126px max(32px,calc((100vw - 1180px)/2)) 132px; }
.eyebrow-light { color:var(--lime); } .eyebrow-light>span { background:var(--lime); }
.section-heading { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:70px; } .section-heading h2 { font-size:clamp(46px,4.8vw,70px); } .section-heading>p { margin:0 0 5px; color:rgba(255,255,255,.68); font-size:16px; line-height:1.75; }
.capability-split { margin-top:76px; border-top:1px solid rgba(255,255,255,.18); }
.design-capability,.automation-capability { position:relative; min-height:590px; display:grid; grid-template-columns:.83fr 1.17fr; gap:70px; padding:70px 0; border-bottom:1px solid rgba(255,255,255,.18); } .automation-capability { grid-template-columns:.75fr 1.25fr; }
.capability-copy { position:relative; z-index:2; } .cap-number,.section-index { display:block; margin-bottom:22px; color:var(--lime); font-size:9px; font-weight:900; letter-spacing:.14em; }
.capability-copy h3,.workflow-copy h3,.restaurant-copy h3,.local-businesses h3,.work-head h3 { margin:0; font-family:Georgia,serif; font-size:clamp(37px,4vw,55px); line-height:1; letter-spacing:-.05em; font-weight:500; }
.capability-copy>p { color:rgba(255,255,255,.68); line-height:1.72; }
.service-list { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; margin:28px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.15); } .service-list li { padding:11px 0; border-bottom:1px solid rgba(255,255,255,.15); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.design-gallery { position:relative; height:470px; background:linear-gradient(135deg,#9f845d 0%,#d7c5a2 48%,#38443b 100%); overflow:hidden; }
.design-photo { position:absolute; margin:0; overflow:hidden; background:var(--paper); box-shadow:0 25px 50px rgba(22,25,23,.24); }
.design-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.design-photo figcaption { position:absolute; inset:auto 10px 10px; display:flex; flex-direction:column; padding:9px 10px; background:rgba(23,33,28,.91); color:white; }
.design-photo figcaption span { color:var(--lime); font-size:6px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.design-photo figcaption b { margin-top:3px; font-size:9px; }
.design-photo-main { left:6%; top:8%; width:53%; height:63%; transform:rotate(-4deg); }
.design-photo-top { right:5%; top:7%; width:38%; height:42%; transform:rotate(4deg); }
.design-photo-bottom { right:8%; bottom:4%; width:46%; height:43%; transform:rotate(-2deg); }
.stack-sign { position:absolute; left:9%; top:9%; width:48%; height:65%; padding:25px; display:flex; flex-direction:column; justify-content:center; background:var(--lime); color:var(--ink); transform:rotate(-5deg); box-shadow:0 25px 50px rgba(22,25,23,.24); } .stack-sign small { position:absolute; top:17px; left:20px; font-size:6px; letter-spacing:.12em; } .stack-sign strong { font-size:clamp(40px,5vw,67px); line-height:.73; letter-spacing:-.09em; } .stack-sign span { margin-top:18px; font-size:7px; letter-spacing:.16em; }
.stack-menu { position:absolute; right:10%; top:17%; width:36%; height:58%; padding:20px; display:flex; flex-direction:column; background:#fff9ec; color:var(--ink); transform:rotate(7deg); box-shadow:0 25px 50px rgba(22,25,23,.22); } .stack-menu span { font-size:7px; letter-spacing:.2em; } .stack-menu b { margin:auto 0; font-family:Georgia,serif; font-size:25px; line-height:.9; } .stack-menu i { font-size:7px; font-style:normal; }
.stack-social { position:absolute; right:19%; bottom:4%; width:31%; aspect-ratio:1; padding:17px; background:var(--orange); color:white; transform:rotate(-3deg); box-shadow:0 20px 40px rgba(22,25,23,.25); } .stack-social span { display:block; font-size:16px; font-weight:950; line-height:.85; } .stack-social b { display:block; margin-top:17px; font-family:Georgia,serif; font-size:42px; } .stack-social small { font-size:6px; }
.stack-card { position:absolute; left:18%; bottom:8%; width:35%; height:74px; padding:14px; display:flex; flex-direction:column; justify-content:space-between; background:var(--ink); border:1px solid rgba(255,255,255,.2); color:var(--lime); transform:rotate(4deg); font-weight:900; } .stack-card span { font-size:6px; color:white; }
.outcome-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.16); }
.outcome-grid>div { min-height:150px; display:flex; align-items:flex-start; gap:13px; padding:25px; background:var(--ink); } .outcome-grid>div>span { width:33px; height:33px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:50%; color:var(--lime); font-size:13px; }
.outcome-grid p { margin:2px 0 0; display:flex; flex-direction:column; } .outcome-grid b { margin-bottom:7px; font-size:13px; } .outcome-grid small { color:rgba(255,255,255,.64); font-size:10px; line-height:1.55; }
.outcome-grid .consult-card { display:flex; flex-direction:column; justify-content:center; background:var(--lime); color:var(--ink); } .consult-card>small { color:var(--ink); font-size:7px; font-weight:900; letter-spacing:.12em; } .consult-card>b { margin:8px 0 11px; font-family:Georgia,serif; font-size:19px; line-height:1.05; } .consult-card>a { font-size:9px; font-weight:900; text-decoration:underline; text-underline-offset:4px; }

.workflow-block { display:grid; grid-template-columns:.7fr 1.3fr; gap:75px; padding:120px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.workflow-copy h3 { font-size:clamp(42px,4.7vw,66px); } .workflow-copy>p:not(.eyebrow) { margin:26px 0; color:rgba(255,255,255,.68); line-height:1.7; }
.workflow-demo { align-self:center; } .workflow-track { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.flow-step { min-height:91px; display:flex; flex-direction:column; align-items:flex-start; padding:13px; border:1px solid rgba(255,255,255,.16); background:transparent; color:white; cursor:pointer; transition:background .25s,color .25s,transform .25s,border-color .25s; } .flow-step:hover { transform:translateY(-2px); border-color:rgba(184,147,89,.68); } .flow-step.active { background:var(--signal); color:var(--ink); border-color:var(--signal); } .flow-step>span { margin-bottom:auto; font-size:7px; font-weight:900; } .flow-step b { font-size:10px; } .flow-step small { color:inherit; opacity:.55; font-size:7px; }
.workflow-screen { min-height:330px; background:#f6f2e8; color:var(--ink); } .screen-top { height:38px; display:flex; align-items:center; gap:6px; padding:0 14px; border-bottom:1px solid var(--line); } .screen-top>span { margin-right:auto; font-size:7px; font-weight:900; letter-spacing:.12em; } .screen-top i { width:7px; height:7px; border-radius:50%; background:var(--paper-2); }
.screen-visual { min-height:292px; display:grid; grid-template-columns:130px 1fr; grid-template-rows:auto auto auto auto; align-content:center; column-gap:30px; padding:35px 50px; } .screen-icon { grid-row:1/5; align-self:center; width:120px; height:120px; display:grid; place-items:center; border-radius:50%; background:var(--orange); color:white; font-size:42px; transition:transform .25s ease; } .screen-visual.changed .screen-icon { transform:scale(.88) rotate(-8deg); } .screen-status { align-self:end; color:var(--orange); font-size:8px; font-weight:900; letter-spacing:.12em; } .screen-visual strong { font-family:Georgia,serif; font-size:27px; line-height:1; letter-spacing:-.04em; } .screen-visual>small { color:#78827c; font-size:9px; }
.screen-example { width:fit-content; margin-top:12px; padding:8px 10px; border-radius:999px; background:#e1efbd; color:#34402f; font-size:8px; font-weight:800; line-height:1.4; }

.restaurant-block { min-height:610px; display:grid; grid-template-columns:.84fr 1.16fr; gap:75px; align-items:center; padding:110px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.restaurant-copy>p { margin:23px 0 25px; max-width:480px; color:rgba(255,255,255,.68); font-size:16px; line-height:1.7; } .restaurant-services { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:30px; } .restaurant-services span { padding:7px 10px; border:1px solid rgba(255,255,255,.2); border-radius:999px; font-size:8px; text-transform:uppercase; letter-spacing:.08em; } .restaurant-copy .button { width:fit-content; }
.local-photo-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:240px 220px; gap:10px; }
.local-photo { position:relative; min-width:0; min-height:0; margin:0; overflow:hidden; background:#111914; }
.local-photo-wide { grid-column:1/-1; }
.local-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.local-photo:hover img { transform:scale(1.025); }
.local-photo figcaption { position:absolute; left:12px; bottom:12px; padding:7px 9px; background:var(--lime); color:var(--ink); font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.restaurant-visual { position:relative; min-height:440px; background:#de724d; overflow:hidden; }
.specials-poster { position:absolute; left:11%; top:9%; width:47%; height:76%; padding:25px; background:var(--ink); color:var(--lime); transform:rotate(-5deg); box-shadow:0 30px 55px rgba(20,24,21,.28); } .specials-poster>span { font-size:7px; letter-spacing:.15em; } .specials-poster strong { display:block; margin-top:60px; font-size:clamp(32px,4vw,53px); line-height:.79; letter-spacing:-.08em; } .specials-poster strong i { color:white; font-style:normal; } .specials-poster small { position:absolute; bottom:23px; left:25px; font-size:6px; letter-spacing:.14em; }
.rush-card { position:absolute; z-index:2; right:6%; top:10%; width:42%; min-height:120px; display:grid; grid-template-columns:65px 1fr; padding:17px; background:var(--lime); color:var(--ink); transform:rotate(4deg); box-shadow:0 22px 44px rgba(20,24,21,.24); } .rush-card small { grid-column:1/-1; font-size:6px; letter-spacing:.13em; } .rush-card b { font-family:Georgia,serif; font-size:55px; line-height:1; } .rush-card span { align-self:center; font-size:8px; line-height:1.35; font-weight:800; }
.reservation-card { position:absolute; z-index:3; right:7%; bottom:10%; width:48%; padding:18px; background:white; color:var(--ink); transform:rotate(-2deg); box-shadow:0 22px 44px rgba(20,24,21,.24); } .reservation-card span,.reservation-card small { display:block; font-size:7px; color:#718078; } .reservation-card b { display:block; margin:10px 0 14px; font-family:Georgia,serif; font-size:21px; }
.local-businesses { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding:90px 0; border-bottom:1px solid rgba(255,255,255,.18); } .local-businesses h3 { font-size:clamp(34px,3.6vw,49px); } .business-types { display:flex; flex-wrap:wrap; gap:9px; } .business-types span { padding:10px 13px; border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.7); font-size:10px; }
.restaurant-seo figure { position:relative; height:420px; margin:0; overflow:hidden; }
.restaurant-seo figure img { width:100%; height:100%; display:block; object-fit:cover; }
.restaurant-seo figure figcaption { position:absolute; left:14px; bottom:14px; padding:8px 10px; background:rgba(23,33,28,.91); color:var(--lime); font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.restaurant-seo>div>p { color:rgba(255,255,255,.68); line-height:1.72; }

.work-block { padding-top:115px; } .work-head { display:grid; grid-template-columns:1fr 420px; gap:60px; align-items:end; } .work-head h3 { font-size:clamp(42px,4.6vw,64px); } .work-head>p { margin:0 0 5px; color:rgba(255,255,255,.64); font-size:12px; line-height:1.65; }
.work-filters { display:flex; gap:7px; margin:35px 0 22px; } .work-filters button { padding:8px 12px; border:1px solid rgba(255,255,255,.18); background:transparent; color:rgba(255,255,255,.65); font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; cursor:pointer; } .work-filters button.active { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.portfolio-grid { display:grid; grid-template-columns:1fr 1fr; gap:35px 20px; } .project.hidden { display:none; } .project-art { position:relative; height:480px; overflow:hidden; }
.photo-project .project-art { background:#111914; }
.photo-project .project-art>img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.supplied-project .project-art>img { object-fit:contain; object-position:center; }
.photo-project:hover .project-art>img { transform:scale(1.025); }
.photo-note { position:absolute; left:15px; top:15px; padding:8px 10px; background:rgba(255,253,248,.94); color:var(--ink); font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.social-overlay { position:absolute; left:7%; bottom:8%; width:58%; padding:22px; background:rgba(23,33,28,.92); color:white; box-shadow:0 20px 45px rgba(23,33,28,.3); }
.social-overlay span,.social-overlay small { display:block; color:var(--lime); font-size:7px; font-weight:900; letter-spacing:.13em; }
.social-overlay strong { display:block; margin:34px 0 28px; font-size:clamp(35px,4vw,53px); line-height:.8; letter-spacing:-.07em; }
.placeholder-project .project-art { display:flex; flex-direction:column; justify-content:flex-end; padding:30px; background:linear-gradient(135deg,rgba(206,241,120,.16),transparent 55%),repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 1px,transparent 1px 18px),#28372f; border:1px dashed rgba(206,241,120,.48); }
.placeholder-project .project-art>span { position:absolute; left:22px; top:22px; padding:6px 8px; background:var(--lime); color:var(--ink); font-size:7px; font-weight:900; letter-spacing:.12em; }
.placeholder-project .project-art>strong { font-family:Georgia,serif; font-size:clamp(36px,4vw,50px); line-height:.93; letter-spacing:-.05em; font-weight:500; }
.placeholder-project .project-art>small { margin-top:14px; color:rgba(255,255,255,.58); font-size:9px; }
.project-menu .project-art { background:#ded2bd; } .menu-sheet { position:absolute; left:14%; top:10%; width:46%; height:77%; padding:28px; background:#fff9eb; color:var(--ink); transform:rotate(-6deg); box-shadow:0 28px 50px rgba(20,24,21,.22); } .menu-sheet>span,.menu-sheet>small { font-size:6px; letter-spacing:.15em; } .menu-sheet>strong { display:block; margin:70px 0 45px; font-family:Georgia,serif; font-size:34px; line-height:.9; } .menu-sheet>i { display:block; height:1px; margin:13px 0; background:rgba(23,33,28,.25); } .menu-sheet.rear { left:49%; top:18%; background:var(--orange); color:white; transform:rotate(7deg); } .menu-sheet.rear strong { margin-top:90px; font-size:38px; }
.project-brand .project-art { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; background:var(--lime); color:var(--ink); } .brand-sign { grid-row:1/3; display:grid; place-items:center; font-family:Georgia,serif; font-size:170px; border-right:1px solid rgba(23,33,28,.2); } .brand-sign span { font-size:25px; color:var(--orange); } .brand-type { display:flex; flex-direction:column; justify-content:flex-end; padding:26px; border-bottom:1px solid rgba(23,33,28,.2); } .brand-type small { font-size:6px; letter-spacing:.13em; } .brand-type strong { margin-top:25px; font-size:22px; line-height:.95; } .brand-card { align-self:center; justify-self:center; width:76%; height:90px; padding:15px; display:flex; flex-direction:column; justify-content:space-between; background:var(--ink); color:var(--lime); font-weight:900; transform:rotate(-4deg); } .brand-card small { color:white; font-size:6px; }
.project-social,.project-print { grid-column:1/-1; } .project-social .project-art { height:400px; display:flex; align-items:center; justify-content:center; gap:80px; background:#d6c19a; color:var(--ink); } .social-title>span,.social-title>small { display:block; font-size:8px; font-weight:900; letter-spacing:.17em; } .social-title>strong { display:block; margin:14px 0; font-size:clamp(57px,7.5vw,95px); line-height:.7; letter-spacing:-.09em; } .social-phone { width:180px; height:300px; padding:25px; display:flex; flex-direction:column; background:var(--ink-2); color:var(--gold-soft); transform:rotate(5deg); box-shadow:0 28px 50px rgba(12,18,14,.24); } .social-phone span,.social-phone small { font-size:7px; letter-spacing:.15em; } .social-phone b { margin:auto 0; font-size:29px; line-height:.85; } .offer-badge { position:absolute; right:10%; top:8%; width:85px; height:85px; display:grid; place-items:center; border-radius:50%; background:var(--orange); color:white; font-family:Georgia,serif; font-size:35px; transform:rotate(8deg); }
.project-print .project-art { height:390px; background:#eee7d9; } .project-print .project-art::before { content:""; position:absolute; inset:0 0 43%; background:#cfc6b5; } .window-copy { position:absolute; left:11%; top:11%; width:53%; height:76%; display:flex; flex-direction:column; justify-content:center; padding:35px; background:rgba(23,33,28,.93); color:var(--lime); border:10px solid #776d5d; } .window-copy small { position:absolute; top:23px; font-size:6px; letter-spacing:.15em; } .window-copy strong { font-size:clamp(48px,6vw,78px); line-height:.72; letter-spacing:-.08em; } .window-copy span { margin-top:25px; font-size:7px; letter-spacing:.15em; } .awning { position:absolute; right:8%; top:21%; width:34%; padding:20px; background:repeating-linear-gradient(90deg,var(--orange) 0 34px,#fff8eb 34px 68px); color:var(--ink); font-size:11px; font-weight:950; text-align:center; letter-spacing:.12em; box-shadow:0 20px 35px rgba(23,33,28,.18); }
.project-meta { display:flex; justify-content:space-between; gap:20px; padding:16px 2px 0; } .project-meta p { margin:0; display:flex; flex-direction:column; } .project-meta p span { width:fit-content; margin-bottom:5px; padding:4px 7px; border:1px solid rgba(255,255,255,.2); color:var(--lime); font-size:6px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; } .project-meta p b { font-size:13px; } .project-meta>small { color:rgba(255,255,255,.58); font-size:9px; }

.consultation { max-width:1260px; margin:0 auto; padding:120px 40px 130px; } .ways-head { display:grid; grid-template-columns:.72fr 1.28fr; gap:55px; align-items:start; } .ways-head h2 { font-size:clamp(45px,4.8vw,69px); }
.path-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:65px; border:1px solid var(--line); } .path-grid article { position:relative; min-height:385px; display:flex; flex-direction:column; padding:30px 28px; border-right:1px solid var(--line); } .path-grid article:last-child { border-right:0; } .path-grid article>span { color:var(--orange); font-size:8px; font-weight:900; letter-spacing:.12em; } .path-grid article>h3 { margin:62px 0 14px; font-family:Georgia,serif; font-size:29px; line-height:1; letter-spacing:-.04em; font-weight:500; } .path-grid article>p { margin:0; color:#68746c; font-size:12px; line-height:1.65; } .path-grid article>b { margin-top:auto; font-size:10px; text-transform:uppercase; letter-spacing:.1em; } .path-grid article>button { width:fit-content; margin-top:14px; padding:0 0 5px; border:0; border-bottom:1px solid var(--ink); background:none; font-size:10px; font-weight:900; cursor:pointer; }
.path-grid .featured-path { background:var(--ink); color:white; } .featured-path>small { position:absolute; right:0; top:0; padding:7px 10px; background:var(--lime); color:var(--ink); font-size:6px; font-weight:900; letter-spacing:.12em; } .path-grid .featured-path>p { color:rgba(255,255,255,.53); } .path-grid .featured-path>button { color:var(--lime); border-color:var(--lime); }
.inquiry-layout { display:grid; grid-template-columns:.75fr 1.25fr; align-items:start; gap:70px; margin-top:130px; } .inquiry-intro { position:sticky; top:40px; padding-top:18px; } .inquiry-intro h2 { font-size:clamp(43px,4.4vw,63px); } .inquiry-intro>p:not(.eyebrow) { margin:24px 0 30px; color:#59665e; line-height:1.7; }
.inquiry-promise { display:flex; gap:12px; align-items:flex-start; padding-top:22px; border-top:1px solid var(--line); } .inquiry-promise>span { width:28px; height:28px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--lime); font-weight:900; } .inquiry-promise p { margin:0; display:flex; flex-direction:column; } .inquiry-promise b { font-size:12px; } .inquiry-promise small { margin-top:3px; color:#768079; font-size:10px; }
.builder { background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); overflow:hidden; } .builder-progress { height:5px; background:var(--paper-2); } .builder-progress span { display:block; height:100%; width:33.333%; background:var(--orange); transition:width .3s ease; } .builder-head { display:flex; justify-content:space-between; padding:24px 28px 0; } .step-label { color:#778179; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.reset-button,.back-button { padding:0; border:0; background:none; cursor:pointer; font-size:10px; font-weight:850; text-decoration:underline; text-underline-offset:4px; }
.builder-step { padding:27px 28px 30px; } .builder-step[hidden] { display:none; } .builder-step h3 { margin:0 0 22px; font-family:Georgia,serif; font-size:clamp(27px,3vw,37px); line-height:1.05; letter-spacing:-.045em; font-weight:500; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; } .choice-card { min-height:91px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:15px; border:1px solid transparent; background:var(--paper); color:var(--ink); cursor:pointer; transition:border .2s,transform .2s,background .2s,color .2s; } .choice-card:hover,.choice-card:focus-visible { transform:translateY(-2px); border-color:var(--orange); } .choice-card.selected { border-color:var(--ink); background:var(--ink); color:white; } .choice-card.selected span { color:var(--lime); } .choice-card span { font-size:17px; } .choice-card b { font-size:11px; } .choice-wide { grid-column:1/-1; min-height:68px; flex-direction:row; align-items:center; }
.step-nav { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:23px; }
.selection-fields { display:grid; grid-template-columns:1fr 1fr .7fr; gap:8px; margin:-5px 0 20px; padding:13px; border:1px solid var(--line); background:#fffdf8; } .selection-fields label { min-width:0; display:flex; flex-direction:column; gap:6px; color:#6b756e; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; } .selection-fields select { width:100%; min-height:42px; padding:0 30px 0 10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); font:700 14px/1.3 inherit; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; } .field { display:flex; flex-direction:column; gap:7px; color:#566159; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; } .field-wide { grid-column:1/-1; } .field>span small { color:#89928c; font-size:8px; font-weight:700; } .field input,.field textarea { width:100%; padding:0 13px; border:1px solid transparent; background:var(--paper); color:var(--ink); outline:none; text-transform:none; letter-spacing:normal; font-size:16px; resize:vertical; } .field input { height:49px; } .field textarea { padding-top:12px; } .field input:focus,.field textarea:focus { border-color:var(--orange); } .field input:invalid:not(:placeholder-shown),.field textarea:invalid:not(:placeholder-shown) { border-color:#c43d2f; } .field-help { margin-top:-3px; color:#7f8982; font-size:8px; font-weight:700; letter-spacing:normal; text-transform:none; }
.final-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:19px; } .privacy-note { margin:10px 0 0; color:#7f8982; text-align:right; font-size:8px; }
.sms-consent { min-width:0; margin:4px 0 0; padding:16px; border:1px solid var(--line); border-radius:3px; background:#fffaf1; }
.sms-consent legend { padding:0 6px; color:#566159; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.sms-consent-option { display:grid; grid-template-columns:18px 1fr; gap:9px; align-items:start; color:#566159; font-size:12px; line-height:1.55; }
.sms-consent-option + .sms-consent-option { margin-top:12px; }
.sms-consent-option input { width:17px; height:17px; margin:1px 0 0; accent-color:var(--ink); }
.sms-consent>p { margin:13px 0 0 27px; color:#737d76; font-size:11px; line-height:1.5; }
.sms-consent a { color:var(--ink); font-weight:850; text-decoration:underline; text-underline-offset:3px; }
footer .footer-logo { width:120px; }
footer { max-width:1260px; margin:0 auto; padding:34px 40px 30px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:25px; border-top:1px solid var(--line); } footer>p { margin:0; color:#68746c; text-align:center; font-size:10px; } .footer-links { display:flex; justify-content:flex-end; gap:20px; font-size:10px; font-weight:850; } footer>small { grid-column:1/-1; margin-top:10px; color:#89928c; font-size:8px; }
.mobile-cta { display:none; } .toast { position:fixed; z-index:50; left:50%; bottom:26px; transform:translate(-50%,120px); padding:10px 16px; border-radius:999px; background:var(--ink); color:white; font-size:10px; font-weight:850; opacity:0; transition:.25s ease; } .toast.visible { transform:translate(-50%,0); opacity:1; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease,transform .55s ease; } .reveal.visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }

@media (max-width:1000px) {
  .site-header { grid-template-columns:1fr auto; padding-inline:25px; } .site-header nav { display:none; }
  .hero { padding-inline:28px; grid-template-columns:1fr 430px; gap:22px; } .hero h1 { font-size:54px; } .hero-photo { width:248px; } .phone-mock { width:250px; }
  .capabilities { padding-inline:28px; } .design-capability,.automation-capability { gap:35px; } .service-list { grid-template-columns:1fr; } .workflow-block,.restaurant-block { gap:35px; } .screen-visual { padding-inline:30px; }
  .consultation { padding-inline:28px; } .inquiry-layout { gap:35px; }
}
@media (max-width:760px) {
  body { padding-bottom:76px; } .site-header { padding:13px 18px; } .brand-logo { width:145px; } .header-cta { display:none; }
  .hero { min-height:0; padding:116px 18px 65px; display:flex; flex-direction:column; align-items:stretch; gap:52px; } .eyebrow { margin-bottom:19px; font-size:8px; } .hero h1 { font-size:clamp(43px,12.2vw,58px); } .hero-lede { margin:22px 0 25px; font-size:15px; } .hero-actions { flex-direction:column; align-items:flex-start; gap:12px; } .button { width:100%; }
  .hero-pillars { grid-template-columns:1fr 1fr; width:100%; gap:11px; margin-top:34px; } .hero-pillars span:last-child { grid-column:1/-1; }
  .hero-demo { height:510px; } .hero-orbit { width:330px; height:330px; top:82px; right:-12px; } .hero-photo { left:0; top:38px; width:205px; height:330px; } .hero-photo figcaption { inset:auto 9px 9px; padding:8px 9px; }
  .phone-mock { right:-2px; bottom:18px; width:203px; height:381px; border-width:6px; border-radius:30px; } .message { margin-top:8px; font-size:6px; } .call-alert,.lead-alert { padding:7px; } .phone-input { display:none; } .hero-stamp { right:1%; top:0; width:80px; height:80px; } .hero-stamp b { font-size:14px; } .connection-line { left:15px; right:10px; bottom:2px; }
  .capabilities { padding:78px 18px 82px; } .section-heading { display:block; } .section-heading h2 { font-size:43px; } .section-heading>p { margin-top:25px; font-size:14px; }
  .capability-split { margin-top:48px; } .design-capability,.automation-capability { min-height:0; display:flex; flex-direction:column; gap:38px; padding:58px 0; } .capability-copy h3,.restaurant-copy h3,.local-businesses h3 { font-size:39px; }
  .design-gallery { height:430px; } .design-photo-main { left:3%; width:59%; height:58%; } .design-photo-top { right:2%; width:41%; } .design-photo-bottom { right:4%; width:51%; height:45%; } .outcome-grid { grid-template-columns:1fr; } .outcome-grid>div { min-height:123px; }
  .workflow-block { display:block; padding:80px 0; } .workflow-copy h3 { font-size:43px; } .workflow-demo { margin-top:38px; } .workflow-track { grid-template-columns:1fr 1fr; } .flow-step { min-height:84px; } .workflow-screen { min-height:310px; } .screen-visual { min-height:272px; grid-template-columns:90px 1fr; column-gap:19px; padding:28px 20px; } .screen-icon { width:82px; height:82px; font-size:30px; } .screen-visual strong { font-size:21px; }
  .restaurant-block { min-height:0; display:block; padding:78px 0; } .restaurant-copy .button { width:100%; } .local-photo-grid { grid-template-rows:220px 180px; margin-top:45px; }
  .local-businesses { display:block; padding:70px 0; } .restaurant-seo figure { height:390px; margin-bottom:35px; } .business-types { margin-top:30px; }
  .work-block { padding-top:80px; } .work-head { display:block; } .work-head h3 { font-size:43px; } .work-head>p { margin-top:20px; } .work-filters { overflow-x:auto; padding-bottom:5px; } .work-filters button { white-space:nowrap; } .portfolio-grid { grid-template-columns:1fr; } .project-social,.project-print { grid-column:auto; } .project-art { height:370px; } .social-overlay { width:72%; }
  .project-social .project-art { height:390px; display:block; padding:65px 22px 20px; } .social-title>strong { font-size:62px; } .social-phone { position:absolute; right:22px; bottom:20px; width:130px; height:220px; } .offer-badge { right:12px; top:12px; width:67px; height:67px; font-size:27px; } .project-print .project-art { height:360px; } .window-copy { left:4%; top:8%; width:68%; height:80%; padding:22px; } .window-copy strong { font-size:50px; } .awning { right:3%; top:17%; width:43%; }
  .consultation { padding:78px 18px 86px; } .ways-head { display:block; } .ways-head h2 { margin-top:24px; font-size:43px; } .path-grid { grid-template-columns:1fr; margin-top:40px; } .path-grid article { min-height:305px; border-right:0; border-bottom:1px solid var(--line); } .path-grid article:last-child { border-bottom:0; } .path-grid article>h3 { margin-top:45px; }
  .inquiry-layout { display:block; margin-top:85px; } .inquiry-intro { position:static; padding:0; } .inquiry-intro h2 { font-size:43px; } .inquiry-promise { margin-bottom:35px; } .builder-head { padding:20px 17px 0; } .builder-step { padding:23px 17px; } .choice-grid,.field-grid,.selection-fields { grid-template-columns:1fr; } .choice-wide,.field-wide { grid-column:auto; } .choice-card { min-height:70px; flex-direction:row; align-items:center; } .step-nav { align-items:stretch; } .final-actions { flex-direction:column-reverse; align-items:stretch; } .privacy-note { text-align:center; }
  footer { margin-inline:18px; padding:28px 0 15px; display:flex; flex-direction:column; align-items:flex-start; } footer>p { text-align:left; } .footer-links { justify-content:flex-start; }
  .mobile-cta { position:fixed; z-index:30; left:14px; right:14px; bottom:12px; height:55px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; border-radius:999px; background:var(--orange); color:white; box-shadow:0 16px 40px rgba(40,25,17,.35); font-weight:900; }
}
@media (max-width:370px) { .hero h1,.section-heading h2,.ways-head h2,.inquiry-intro h2 { font-size:39px; } .phone-mock,.hero-photo { width:190px; } .screen-visual { grid-template-columns:74px 1fr; } .screen-icon { width:68px; height:68px; } }

/* Final premium visual refinement */
::selection { background:var(--gold-soft); color:var(--ink); }
body { text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; background:linear-gradient(180deg,#f5f0e6 0%,var(--paper) 38%,#eee6d8 100%); }
#services,#automation,#workflow,#about,#work,#service-selector { scroll-margin-top:105px; }
.hero::after { content:""; position:absolute; left:50%; bottom:0; width:min(1210px,calc(100% - 80px)); height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:translateX(-50%); opacity:.42; }
.hero { position:relative; }
.hero-lede { max-width:560px; color:#515d55; }
.hero-pillars { gap:31px; }
.hero-pillars span { align-items:center; }
.hero-pillars b { font-family:Georgia,serif; font-size:13px; font-weight:500; }
.hero-photo,.phone-mock,.design-gallery,.workflow-screen,.project-art,.restaurant-seo figure,.local-photo,.builder { border-radius:5px; }
.hero-photo { border-color:rgba(17,24,20,.12); box-shadow:0 34px 80px rgba(12,18,14,.2); }
.hero-photo:hover img { transform:translate3d(0,var(--hero-parallax),0) scale(1.055); filter:saturate(1.03) contrast(1.02); }
.phone-mock { box-shadow:0 36px 86px rgba(9,14,11,.3); }
.phone-head i { background:var(--signal); }
.lead-alert { background:#e4efc9; }
.lead-alert>span { background:#73983f; }
.connection-line { gap:7px; color:#566158; }

.section-heading h2,.workflow-copy h3,.work-head h3,.ways-head h2,.inquiry-intro h2 { text-wrap:balance; }
.section-heading>p,.capability-copy>p,.workflow-copy>p:not(.eyebrow),.restaurant-copy>p,.restaurant-seo>div>p,.inquiry-intro>p:not(.eyebrow) { max-width:58ch; }
.eyebrow-light,.cap-number,.section-index { color:var(--gold-soft); }
.eyebrow-light>span { background:var(--gold); }
.capability-split,.design-capability,.automation-capability,.workflow-block,.restaurant-block,.local-businesses { border-color:var(--line-light); }
.design-capability,.automation-capability { padding-block:82px; }
.design-gallery { box-shadow:0 32px 75px rgba(7,12,9,.25); }
.design-gallery::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,251,242,.13); }
.design-photo { border-radius:3px; }
.design-photo img { transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease; }
.design-photo:hover img { transform:scale(1.045); filter:saturate(1.04) contrast(1.02); }
.outcome-grid { border-color:rgba(184,147,89,.25); background:rgba(184,147,89,.25); border-radius:5px; overflow:hidden; }
.outcome-grid>div { transition:background .25s ease,transform .25s ease; }
.outcome-grid>div:not(.consult-card):hover { background:#18231c; }
.outcome-grid>div>span { border-color:rgba(184,147,89,.45); color:var(--gold-soft); }
.outcome-grid .consult-card { background:var(--gold); }

.workflow-block { padding-block:132px; }
.workflow-track { gap:7px; }
.flow-step { position:relative; overflow:hidden; }
.flow-step.active::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:var(--ink); opacity:.45; }
.workflow-screen { border:1px solid rgba(184,147,89,.35); box-shadow:0 28px 65px rgba(6,11,8,.25); overflow:hidden; }
.screen-icon { box-shadow:0 16px 34px rgba(140,62,42,.2); }
.screen-visual.changed .screen-icon { transform:scale(.91) rotate(-5deg); }

.restaurant-services span,.business-types span { transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease; }
.restaurant-services span:hover,.business-types span:hover { transform:translateY(-2px); background:var(--gold); border-color:var(--gold); color:var(--ink); }
.local-photo-grid { gap:12px; }
.local-photo img,.restaurant-seo figure img { transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease; }
.local-photo:hover img,.restaurant-seo figure:hover img { transform:scale(1.045); filter:saturate(1.04) contrast(1.03); }
.local-photo figcaption { background:var(--gold); }
.restaurant-seo figure figcaption { color:var(--gold-soft); }

.work-block { padding-top:132px; }
.work-filters { flex-wrap:wrap; gap:8px; }
.work-filters button { border-radius:999px; padding:9px 14px; transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease; }
.work-filters button:hover { transform:translateY(-2px); border-color:var(--gold); color:var(--gold-soft); }
.work-filters button.active { background:var(--gold); border-color:var(--gold); }
.portfolio-grid { gap:43px 24px; }
.project { transition:transform .3s ease; }
.project:hover { transform:translateY(-5px); }
.project-art { box-shadow:0 24px 58px rgba(6,11,8,.2); }
.photo-project .project-art>img { transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease; }
.photo-project:hover .project-art>img { transform:scale(1.04); filter:saturate(1.03) contrast(1.02); }
.supplied-project:hover .project-art>img { transform:scale(1.018); }
.photo-note { border-radius:999px; background:rgba(255,251,242,.93); }
.social-overlay { border-left:2px solid var(--gold); background:rgba(17,24,20,.91); }
.social-overlay span,.social-overlay small,.project-meta p span { color:var(--gold-soft); }
.project-meta { padding-top:18px; }
.project-meta p b { font-size:14px; }

.consultation { padding-top:138px; padding-bottom:108px; }
.path-grid { border-color:rgba(17,24,20,.2); box-shadow:0 20px 55px rgba(17,24,20,.06); }
.path-grid article { transition:background .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease; }
.path-grid article:hover { z-index:2; transform:translateY(-6px); background:#fffaf0; box-shadow:0 22px 50px rgba(17,24,20,.11); }
.path-grid .featured-path { background:var(--ink); }
.path-grid .featured-path:hover { background:var(--ink-2); color:white; }
.featured-path>small { background:var(--gold); }
.path-grid .featured-path>button { color:var(--gold-soft); border-color:var(--gold); }
.path-grid article>button { transition:color .22s ease,border-color .22s ease; }
.path-grid article>button:hover { color:var(--orange); border-color:var(--orange); }
.inquiry-promise>span { background:var(--gold); }
.builder { border-color:rgba(17,24,20,.15); box-shadow:0 34px 90px rgba(17,24,20,.13); }
.builder-progress { height:4px; }
.choice-card { border-radius:3px; background:#f2eadc; transition:border-color .25s ease,transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease; }
.choice-card:hover,.choice-card:focus-visible { border-color:var(--gold); box-shadow:0 10px 25px rgba(17,24,20,.08); }
.choice-card.selected { border-color:var(--ink); background:var(--ink); }
.choice-card.selected span { color:var(--gold-soft); }
.selection-fields { border-radius:3px; background:#fffaf1; }
.selection-fields select,.field input,.field textarea { border-radius:3px; }
.field input:focus,.field textarea:focus,.selection-fields select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,147,89,.12); }
#submitInquiry:disabled { cursor:wait; opacity:.72; transform:none; }

footer { position:relative; padding-top:44px; padding-bottom:34px; grid-template-columns:.8fr 1fr 1.2fr; }
footer::before { content:""; position:absolute; left:0; top:-1px; width:160px; height:1px; background:var(--gold); }
footer .footer-logo { width:112px; }
footer>p { font-family:Georgia,serif; color:#59645d; font-size:12px; line-height:1.35; }
.footer-navigation { display:grid; justify-items:end; gap:11px; }
.footer-links { flex-wrap:wrap; row-gap:9px; }
.footer-links a { position:relative; padding-bottom:4px; }
.footer-links a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--gold); transition:right .25s ease; }
.footer-links a:hover::after { right:0; }
.footer-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px 16px; color:#69736d; font-size:9px; font-weight:800; }
.footer-actions a { transition:color .22s ease; }
.footer-actions a:hover { color:var(--orange); }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; margin-top:18px; padding-top:18px; border-top:1px solid rgba(17,24,20,.09); color:#818a84; }
.footer-bottom small { font-size:9px; letter-spacing:.02em; }

.reveal { opacity:0; transform:translateY(24px); filter:blur(2px); transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1),filter .72s ease; }
.reveal.visible { opacity:1; transform:translateY(0); filter:blur(0); }
.motion-enhanced .site-header { opacity:0; transform:translateY(-10px); }
.motion-enhanced.site-ready .site-header { opacity:1; transform:translateY(0); transition:opacity .55s ease,transform .55s ease,padding .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease; }
.motion-enhanced .hero-copy.visible>* { animation:premium-rise .72s cubic-bezier(.2,.7,.2,1) both; }
.motion-enhanced .hero-copy.visible>*:nth-child(2) { animation-delay:.07s; }
.motion-enhanced .hero-copy.visible>*:nth-child(3) { animation-delay:.14s; }
.motion-enhanced .hero-copy.visible>*:nth-child(4) { animation-delay:.21s; }
.motion-enhanced .hero-copy.visible>*:nth-child(5) { animation-delay:.28s; }
.motion-enhanced .hero-demo .hero-photo,.motion-enhanced .hero-demo .phone-mock,.motion-enhanced .hero-demo .hero-stamp { opacity:0; }
.motion-enhanced .hero-demo.visible .hero-photo { animation:premium-fade .8s .15s ease both; }
.motion-enhanced .hero-demo.visible .phone-mock { animation:premium-fade .8s .3s ease both; }
.motion-enhanced .hero-demo.visible .hero-stamp { animation:premium-fade .7s .45s ease both; }
.motion-enhanced .design-capability:not(.visible) .service-list li,.motion-enhanced .automation-capability:not(.visible) .outcome-grid>div,.motion-enhanced .restaurant-block:not(.visible) .local-photo,.motion-enhanced .ways-to-work:not(.visible) .path-grid article { opacity:0; }
.motion-enhanced .design-capability.visible .service-list li,.motion-enhanced .automation-capability.visible .outcome-grid>div,.motion-enhanced .restaurant-block.visible .local-photo,.motion-enhanced .ways-to-work.visible .path-grid article { animation:premium-rise .62s cubic-bezier(.2,.7,.2,1) both; }
.motion-enhanced .service-list li:nth-child(2),.motion-enhanced .outcome-grid>div:nth-child(2),.motion-enhanced .local-photo:nth-child(2),.motion-enhanced .path-grid article:nth-child(2) { animation-delay:.06s; }
.motion-enhanced .service-list li:nth-child(3),.motion-enhanced .outcome-grid>div:nth-child(3),.motion-enhanced .local-photo:nth-child(3),.motion-enhanced .path-grid article:nth-child(3) { animation-delay:.12s; }
.motion-enhanced .service-list li:nth-child(4),.motion-enhanced .outcome-grid>div:nth-child(4) { animation-delay:.18s; }
.motion-enhanced .service-list li:nth-child(5),.motion-enhanced .outcome-grid>div:nth-child(5) { animation-delay:.24s; }
.motion-enhanced .service-list li:nth-child(n+6),.motion-enhanced .outcome-grid>div:nth-child(6) { animation-delay:.3s; }
.motion-enhanced .portfolio-grid .project:nth-child(even) { transition-delay:.06s; }
.phone-head i { animation:status-breathe 3.8s ease-in-out infinite; }
@keyframes premium-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes premium-fade { from { opacity:0; } to { opacity:1; } }
@keyframes status-breathe { 0%,100% { opacity:.55; } 50% { opacity:1; } }

@media (max-width:1100px) and (min-width:1001px) {
  .site-header { padding-inline:28px; gap:20px; }
  .site-header nav { gap:15px; font-size:10px; }
  .brand-logo { width:150px; }
  .button-small { padding-inline:15px; }
}
@media (max-width:1000px) {
  .site-header { padding-block:16px; background:rgba(244,239,228,.84); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
  .site-header.is-scrolled { padding-block:8px; }
  .site-header.is-scrolled .brand-logo { width:146px; }
  .hero { padding-top:138px; }
}
@media (max-width:880px) and (min-width:761px) {
  .hero { min-height:0; padding-top:144px; padding-bottom:92px; grid-template-columns:1fr; gap:50px; }
  .hero-copy { max-width:680px; }
  .hero h1 { font-size:clamp(58px,8vw,68px); }
  .hero-demo { width:min(100%,520px); margin-inline:auto; }
}
@media (max-width:760px) {
  #services,#automation,#workflow,#about,#work,#service-selector { scroll-margin-top:82px; }
  .site-header { padding:13px 18px; }
  .site-header.is-scrolled { padding-block:7px; }
  .site-header.is-scrolled .brand-logo { width:130px; }
  .brand-logo { width:138px; }
  .hero { padding-top:112px; padding-bottom:76px; gap:58px; }
  .hero::after { width:calc(100% - 36px); }
  .hero h1 { line-height:.96; letter-spacing:-.052em; }
  .hero-lede { line-height:1.62; }
  .hero-pillars { gap:12px; }
  .hero-demo { width:100%; max-width:430px; margin-inline:auto; }
  .hero-photo { left:8px; }
  .phone-mock { right:6px; }
  .hero-photo img { height:104%; }
  .capabilities { padding-top:88px; padding-bottom:94px; }
  .design-capability,.automation-capability { padding-block:66px; }
  .workflow-block { padding-block:88px; }
  .restaurant-block { padding-block:86px; }
  .work-block { padding-top:94px; }
  .work-filters { flex-wrap:nowrap; scrollbar-width:none; }
  .work-filters::-webkit-scrollbar { display:none; }
  .portfolio-grid { gap:38px; }
  .consultation { padding-top:92px; padding-bottom:74px; }
  .path-grid article:hover,.project:hover { transform:none; }
  .builder { border-radius:5px; }
  .sms-consent { padding:14px; }
  .sms-consent>p { margin-left:0; }
  footer { align-items:center; text-align:center; }
  footer::before { left:50%; transform:translateX(-50%); }
  footer>p { text-align:center; }
  .footer-navigation { width:100%; justify-items:center; }
  .footer-links { justify-content:center; }
  .footer-actions { justify-content:center; }
  .footer-bottom { width:100%; flex-direction:column; align-items:center; gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
  :root { --hero-parallax:0px; }
  .reveal { opacity:1; transform:none; filter:none; transition:none; }
  .motion-enhanced .site-header,.motion-enhanced.site-ready .site-header,.motion-enhanced .hero-demo .hero-photo,.motion-enhanced .hero-demo .phone-mock,.motion-enhanced .hero-demo .hero-stamp,.motion-enhanced .design-capability:not(.visible) .service-list li,.motion-enhanced .automation-capability:not(.visible) .outcome-grid>div,.motion-enhanced .restaurant-block:not(.visible) .local-photo,.motion-enhanced .ways-to-work:not(.visible) .path-grid article { opacity:1; transform:none; filter:none; }
  .motion-enhanced .hero-copy.visible>*,.motion-enhanced .hero-demo.visible .hero-photo,.motion-enhanced .hero-demo.visible .phone-mock,.motion-enhanced .hero-demo.visible .hero-stamp,.motion-enhanced .design-capability.visible .service-list li,.motion-enhanced .automation-capability.visible .outcome-grid>div,.motion-enhanced .restaurant-block.visible .local-photo,.motion-enhanced .ways-to-work.visible .path-grid article,.phone-head i { animation:none; }
  .hero-photo img { transform:scale(1.025); }
}
