/* Customize the palette, width, and typography here. */
:root{--ink:#171411;--muted:#51483f;--paper:#fff5e6;--soft:#f2e4d0;--line:#d8c8b3;--accent:#a8431d;--width:1200px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-size:2rem;font-weight:800;letter-spacing:-1.8px;display:inline-flex;align-items:center;gap:10px}.brand-mark{color:var(--accent);font-size:2.6rem;font-weight:400;line-height:1}nav{display:flex;align-items:center;gap:36px;font-size:.875rem}nav a:hover,footer a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink);padding:10px 0}.nav-contact span{display:none}.menu-toggle{display:none}.hero{padding-top:70px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:600}h1{font-size:clamp(3.2rem,7.9vw,7rem);letter-spacing:-.065em;line-height:1.02;font-weight:500;margin:30px 0}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.06em}.hero h1 .serif{color:var(--accent)}p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:32px 0 48px}.hero-bottom p{max-width:410px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;background:var(--ink);color:var(--paper);padding:17px 25px;border-radius:100px;font-size:.875rem;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:var(--accent);transform:translateY(-2px)}.hero-art{height:320px;background:var(--accent);position:relative;overflow:hidden;border-radius:4px;color:var(--paper)}.art-label,.art-bottom,.art-index{position:absolute;font-size:.75rem;letter-spacing:.14em;z-index:1}.art-label{top:25px;left:28px}.art-bottom{bottom:25px;left:28px}.art-index{bottom:25px;right:28px}.orbit{position:absolute;top:50%;left:50%;width:560px;height:560px;border:1px solid #ffffffa0;border-radius:50%;transform:translate(-50%,-50%)}.orbit.two{width:410px;height:410px;left:39%}.orbit.three{width:410px;height:410px;left:61%}.caption{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);padding-top:16px}.section{padding-block:110px}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:25px 60px}.section-heading>.eyebrow{grid-column:1/-1}h2{font-size:clamp(2.1rem,4vw,3.4rem);font-weight:500;letter-spacing:-.05em;line-height:1.1;margin:0}.section-heading h2{min-width:420px}.section-heading p{max-width:410px;justify-self:end;align-self:end}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px}.services article{border-top:1px solid var(--line);padding-top:25px}.number{font-size:.875rem;color:var(--accent)}h3{font-size:1.35rem;letter-spacing:-.03em;font-weight:500;margin:30px 0 14px}.services p{max-width:330px}.tag{display:inline-block;font-size:.75rem;padding:8px 12px;background:var(--soft);border-radius:20px;margin-top:24px}.approach{background:var(--soft);padding-block:90px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach h2{margin:27px 0}.approach p{max-width:400px}.steps article{display:flex;gap:30px;border-top:1px solid var(--line);padding:25px 0}.steps article>span{font-size:.75rem;color:var(--muted);padding-top:5px}.steps h3{margin:0 0 10px}.contact{padding-block:100px}.contact h2{font-size:clamp(3rem,6.8vw,6rem);margin:30px 0}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact .serif{color:var(--accent)}footer{border-top:1px solid var(--line);padding-block:32px;display:flex;gap:28px;align-items:center}footer p{flex:1;font-size:.875rem}footer>span,footer>a:last-child{font-size:.75rem;color:var(--muted)}.skip{position:fixed;top:-80px;left:16px;z-index:10;background:var(--ink);color:var(--paper);padding:16px}.skip:focus{top:16px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(min-width:1500px){.hero-art{height:360px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.section-heading{grid-template-columns:1fr}.section-heading h2{min-width:0}.section-heading p{justify-self:start}.approach-grid{gap:45px}.services{gap:24px}.hero-art{height:280px}.section{padding-block:80px}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}.header{height:84px;position:relative}.logo{font-size:1.75rem}.menu-toggle{display:block;border:1px solid var(--line);border-radius:30px;background:var(--paper);padding:10px 16px;font-size:.875rem}nav{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:16px 22px;background:var(--paper);box-shadow:0 12px 24px #191a1e14;border:1px solid var(--line);z-index:5}nav.open{display:flex}nav a{padding:14px 0}.hero{padding-top:45px}h1{font-size:clamp(2.5rem,10.4vw,3.9rem);margin:28px 0;letter-spacing:-.06em}.eyebrow{font-size:.7rem}.hero-bottom{align-items:flex-start;flex-direction:column;margin:26px 0 34px;gap:24px}.hero-art{height:250px}.orbit{width:380px;height:380px}.orbit.two,.orbit.three{width:280px;height:280px}.orbit.two{left:28%}.orbit.three{left:72%}.art-label,.art-bottom,.art-index{font-size:.65rem}.art-label{left:20px}.art-bottom{left:20px}.caption{gap:20px;font-size:.7rem}.caption span:last-child{text-align:right}.services{grid-template-columns:1fr;margin-top:38px;gap:30px}.services p{max-width:none}.services h3{margin-top:20px}.section,.contact{padding-block:65px}.approach{padding-block:60px}.approach-grid{grid-template-columns:1fr;gap:38px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:24px}footer{flex-wrap:wrap;gap:20px}footer p{flex-basis:60%}footer>span{flex:1}.contact h2{font-size:clamp(2.5rem,10.5vw,4rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.robot-logo{width:48px;height:56px;object-fit:contain}.logo{letter-spacing:-1.5px;gap:10px}

/* Compact one-page layout. */
.hero{padding-bottom:48px;border-bottom:1px solid var(--line)}.section{padding-block:72px}.section-heading{grid-template-columns:1fr 1fr}.section-heading h2{min-width:0}.services{margin-top:40px}.contact{border-top:1px solid var(--line);padding-block:64px}.contact h2{font-size:clamp(2.8rem,5.5vw,4.8rem)}@media(max-width:900px){.section-heading{grid-template-columns:1fr}}@media(max-width:600px){.hero{padding-bottom:24px}.section,.contact{padding-block:48px}}

/* Custom shop51 wordmark. */
.logo{gap:12px}.wordmark{display:inline-flex;align-items:center;gap:5px;line-height:1}.wordmark-name{font-family:Arial,Helvetica,sans-serif;font-size:2.1rem;font-weight:900;letter-spacing:-.075em}.wordmark-number{font-size:1.25rem;font-weight:800;letter-spacing:-.06em;color:var(--paper);background:var(--accent);padding:7px 7px 8px;border-radius:5px;transform:rotate(-6deg)}@media(max-width:600px){.wordmark-name{font-size:1.9rem}.wordmark-number{font-size:1.1rem;padding:6px 6px 7px}}
