:root{--paper:#f4f1eb;--white:#fff;--ink:#0a0a0a;--warm:#d9d4cb;--muted:#625f59;--line:#bbb5aa;--ease:cubic-bezier(.16,1,.3,1);--max:1280px}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:88px;overflow-x:clip;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55;overflow-x:clip;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}.skip-link{position:fixed;left:1rem;top:-100px;z-index:999;padding:.75rem 1rem;background:#fff;color:#000;border:2px solid #000}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid #d78149;outline-offset:4px}.masthead{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:84px;padding:.45rem max(1.25rem,calc((100vw - var(--max))/2));border-bottom:1px solid transparent;background:rgba(244,241,235,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:border .3s,background .3s}.masthead.is-scrolled{border-color:var(--line);background:rgba(244,241,235,.96)}.brand{display:block;width:clamp(210px,20vw,300px)}.brand img{width:100%;aspect-ratio:2.5;object-fit:contain}.nav{justify-self:end;display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);font-size:.82rem;font-weight:700}.nav a{text-decoration:none}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-.3rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.nav a:hover:after{transform:scaleX(1);transform-origin:left}.nav-cta{padding:.8rem 1rem;background:#000;color:#fff;border:1px solid #000;transition:.3s var(--ease)}.nav-cta:hover{background:transparent;color:#000}.menu-toggle{display:none;background:transparent;border:0}.hero{position:relative;width:min(100% - 3rem,var(--max));min-height:calc(100svh - 84px);margin:auto;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,6rem);align-items:center;padding:clamp(3rem,7vw,7rem) 0 4rem}.hero:before{content:"";position:absolute;inset:5% 45% 12% -20vw;z-index:-1;background:radial-gradient(circle,#fff 0 40%,transparent 70%)}.eyebrow{margin-bottom:1rem;font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.hero h1{max-width:10.5ch;font-family:Georgia,serif;font-size:clamp(3.1rem,6.3vw,6.4rem);font-weight:500;line-height:.95;letter-spacing:-.055em}.lead{max-width:58ch;margin:1.5rem 0;color:#3d3b37;font-size:clamp(1rem,1.5vw,1.23rem)}.actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:.8rem 1.05rem;border:1px solid currentColor;text-decoration:none;font-size:.82rem;font-weight:800;cursor:pointer;transition:transform .35s var(--ease),background .3s,color .3s}.button:hover{transform:translateY(-3px)}.button-dark{background:#000;color:#fff}.button-dark:hover{background:#fff;color:#000}.button-link{border:0;padding-inline:.25rem}.button-light{background:#fff;color:#000}.solution-stage{--rx:0deg;--ry:0deg;position:relative;min-height:570px;perspective:1200px;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .6s var(--ease)}.window{position:absolute;display:grid;align-content:end;gap:.5rem;padding:1.2rem;border:1px solid #000;background:#fff;box-shadow:0 18px 44px #0002;transition:transform .55s var(--ease),box-shadow .55s}.window:before{content:"•••";position:absolute;inset:.6rem auto auto .75rem;letter-spacing:.1em}.window span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.window strong{font-family:Georgia,serif;font-size:clamp(1.3rem,2.2vw,2.15rem);line-height:1}.window small{color:var(--muted)}.window-one{inset:2% 22% 55% 0;background:#e8e5de;transform:rotate(-4deg)}.window-two{inset:20% 0 36% 23%;transform:rotate(3deg);z-index:2}.window-three{inset:45% 28% 10% 2%;background:#111;color:#fff;transform:rotate(2deg);z-index:3}.window-three small{color:#bbb}.window-four{inset:58% 0 0 48%;background:#cbc6bc;transform:rotate(-3deg);z-index:4}.solution-stage:hover .window-one{transform:translate(-8px,-8px) rotate(-5deg)}.solution-stage:hover .window-four{transform:translate(8px,8px) rotate(-2deg)}.hero-signoff{position:absolute;bottom:1rem;right:0;font-family:Georgia,serif;font-style:italic}.section{padding:clamp(4.5rem,8vw,8rem) max(1.5rem,calc((100vw - var(--max))/2))}.section-head{display:grid;grid-template-columns:.3fr 1.2fr .7fr;gap:2rem;align-items:start;margin-bottom:clamp(2.5rem,5vw,5rem)}.section-head .eyebrow{margin:0}.section-head h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4.4vw,4.6rem);font-weight:500;line-height:.98;letter-spacing:-.045em}.section-head>p:last-child{color:var(--muted);max-width:38ch}.solution-list{border-top:1px solid #000}.solution-list details{border-bottom:1px solid #000}.solution-list summary{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;align-items:center;padding:1.45rem 0;cursor:pointer;list-style:none}.solution-list summary::-webkit-details-marker{display:none}.solution-list summary span{font-size:.7rem}.solution-list summary strong{font-family:Georgia,serif;font-size:clamp(1.35rem,2.5vw,2.6rem);font-weight:500}.solution-list summary em{font-size:.75rem;font-style:normal;text-transform:uppercase;letter-spacing:.1em}.solution-body{max-width:760px;margin-left:64px;padding:0 0 2.2rem;display:grid;gap:1rem;color:#383632}.solution-body ul{columns:2;padding-left:1.2rem}.solution-body .terms{font-size:.82rem;color:var(--muted)}.solution-body a{font-weight:800;text-underline-offset:.25rem}.section-dark{background:#0c0c0c;color:#f6f3ed}.section-dark .eyebrow,.section-dark .section-head>p:last-child{color:#aaa}.work-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-auto-rows:370px;gap:1px;background:#555;border:1px solid #555}.work-card{position:relative;isolation:isolate;overflow:hidden;padding:1.25rem;color:#fff;text-decoration:none}.work-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0001,#000d)}.work-card img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s}.work-card:hover img{transform:scale(1.055);filter:saturate(1.12)}.work-card>span{display:inline-block;padding:.35rem .5rem;border:1px solid #fff8;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.work-card>div{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem}.work-card p{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.work-card h3{max-width:14ch;margin:.35rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,3.2rem);font-weight:500;line-height:1}.work-card strong{font-size:.75rem}.work-beauty,.work-home{grid-row:span 1}.work-bakery,.work-pro{grid-row:span 1}.progress{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;border-top:1px solid #000}.progress li{position:relative;padding:1.2rem .8rem 1.2rem 0;border-right:1px solid var(--line)}.progress li:last-child{border:0}.progress li:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:#000}.progress span{display:block;margin-bottom:2rem;font-size:.65rem}.progress strong{font-size:.9rem}.advantage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#000;border:1px solid #000}.advantage-grid article{min-height:260px;padding:1.5rem;background:var(--paper)}.advantage-grid span{font-size:.7rem}.advantage-grid h3{margin:4rem 0 .6rem;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.advantage-grid p{color:var(--muted)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,8vw,8rem)}.contact-intro h2{max-width:9ch;font-family:Georgia,serif;font-size:clamp(2.7rem,5vw,5.2rem);font-weight:500;line-height:.95}.contact-intro>p:last-child{max-width:42ch;margin-top:1.2rem;color:#bbb}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-content:start}.field{display:grid;gap:.4rem}.field-wide{grid-column:1/-1}.field label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.field input,.field select,.field textarea{width:100%;padding:.85rem;border:1px solid #777;background:#171717;color:#fff;border-radius:0}.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.78rem;color:#bbb}.form-status{min-height:1.2rem;color:#ccc;font-size:.78rem}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,8vw,8rem)}.faq .section-head{display:block;margin:0}.faq .section-head h2{max-width:8ch}.faq-list{border-top:1px solid #000}.faq-list details{border-bottom:1px solid #000}.faq-list summary{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0;cursor:pointer;font-weight:700;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list summary span{transition:transform .3s}.faq-list p{max-width:65ch;padding:0 3rem 1.4rem 0;color:var(--muted)}.footer{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:2rem;align-items:end;padding:2rem max(1.5rem,calc((100vw - var(--max))/2));border-top:1px solid #000;font-size:.75rem}.footer img{width:220px}.footer nav{display:grid;gap:.3rem}.footer a{text-underline-offset:.2rem}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-revealed{opacity:1;transform:none}.no-js [data-reveal]{opacity:1;transform:none}@media(max-width:960px){.masthead{grid-template-columns:1fr auto}.menu-toggle{display:flex;align-items:center;gap:.6rem;border:1px solid #000;padding:.6rem .75rem}.menu-toggle i,.menu-toggle i:before{display:block;width:16px;height:1px;background:#000;content:""}.menu-toggle i:before{transform:translateY(5px)}.nav{position:fixed;inset:84px 0 0;display:grid;place-content:center;gap:1.5rem;background:var(--paper);font-size:1.2rem;clip-path:inset(0 0 100%);transition:clip-path .5s var(--ease)}.nav.is-open{clip-path:inset(0)}.hero{grid-template-columns:1fr;min-height:auto}.solution-stage{min-height:520px}.section-head{grid-template-columns:.35fr 1fr}.section-head>p:last-child{grid-column:2}.contact{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.faq .section-head{margin-bottom:2rem}.footer{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.masthead{min-height:74px}.brand{width:190px}.nav{inset:74px 0 0}.hero{width:min(100% - 2rem,var(--max));padding-top:3rem}.hero h1{font-size:clamp(2.8rem,13vw,4.6rem)}.solution-stage{min-height:430px}.window{padding:.9rem}.window small{font-size:.7rem}.window-one{inset:0 18% 58% 0}.window-two{inset:22% 0 36% 15%}.window-three{inset:47% 25% 10% 0}.window-four{inset:64% 0 0 39%}.hero-signoff{position:static;margin-top:1rem;text-align:right}.section{padding-inline:1rem}.section-head{display:block}.section-head h2{margin-bottom:1rem}.solution-list summary{grid-template-columns:38px 1fr}.solution-list summary em{grid-column:2}.solution-body{margin-left:38px}.solution-body ul{columns:1}.work-grid{grid-template-columns:1fr;grid-auto-rows:330px}.progress{grid-template-columns:1fr}.progress li{display:grid;grid-template-columns:44px 1fr;border-right:0;border-bottom:1px solid var(--line)}.progress li:before{top:50%;transform:translateY(-50%)}.progress span{margin:0}.advantage-grid{grid-template-columns:1fr}.advantage-grid article{min-height:210px}.advantage-grid h3{margin-top:2rem}.contact-form{grid-template-columns:1fr}.field-wide{grid-column:auto}.footer{grid-template-columns:1fr}.footer img{width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.solution-stage,.window,.work-card img,[data-reveal]{transition-duration:.15s}}

/* Accessible AJAX form states */
[data-form-status]{min-height:1.5em;margin-top:.35rem;font-weight:700;line-height:1.45}
[data-form-status][data-state="sending"]{opacity:.72}
[data-form-status][data-state="success"]{opacity:1}
[data-form-status][data-state="error"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
form.is-sending button[type="submit"],form button[type="submit"]:disabled{cursor:wait;opacity:.62;transform:none}
