:root{--accent:var(--purple)}
.project-gallery img,.project-cover img{aspect-ratio:auto}
.demo-reason{display:block;margin-top:10px}.demo-reason input{display:block;width:100%;min-height:40px;border:1px solid #cbb89f;border-radius:4px;background:#fff;padding:7px;font:12px Arial,sans-serif;margin-top:5px;color:#463626}.project-cover .image-button img{max-height:530px}.case-cover-link{min-height:44px}
.project-cover figure{margin:0}.section-heading>div{max-width:380px}.section-heading>div>p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}
.portfolio-page{--paper:#faf8fc}.portfolio-page .site-header nav{gap:25px}.portfolio-page .site-header nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.portfolio-shell{max-width:1240px;margin:auto;padding:35px 55px 85px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin:3px 0 47px}.breadcrumbs a{text-underline-offset:5px;min-height:30px;display:inline-flex;align-items:center}.breadcrumbs span{display:inline-flex;align-items:center}.project-hero{max-width:890px;margin-bottom:34px}.project-hero .eyebrow{margin-bottom:20px}.project-hero h1,.portfolio-heading h1{font-size:clamp(38px,5.2vw,69px);font-weight:400;letter-spacing:-.055em;line-height:1.06;margin:0 0 25px}.project-hero .project-lead{font-size:18px;line-height:1.75;max-width:780px;color:var(--muted)}.project-facts{display:grid;grid-template-columns:1fr 1.1fr 1.2fr;gap:30px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px}.project-facts dt{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.project-facts dd{font-size:14px;line-height:1.6;margin:0}.project-cover{margin:0 0 50px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.project-cover .image-button{display:block;width:100%;padding:0;border:0;background:none}.project-cover .image-button img{display:block;width:100%;height:auto;max-height:530px;object-fit:cover;object-position:top}.project-cover figcaption{padding:17px 23px;font-size:12px;color:var(--muted);line-height:1.7}.project-content{display:grid;grid-template-columns:185px minmax(0,1fr);gap:60px}.project-toc{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:6px}.project-toc a{padding:10px 0;font-size:12px;text-underline-offset:5px}.project-toc .eyebrow{font-size:9px;margin-bottom:8px}.project-article section{margin-bottom:48px;scroll-margin-top:35px}.project-article h2{font-size:32px;letter-spacing:-.035em;line-height:1.15;margin:0 0 19px}.project-article h3{font-size:18px;font-weight:500;margin:0 0 11px}.project-article p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 17px}.project-article ul{padding-left:20px;color:var(--muted);font-size:15px;line-height:1.85}.project-article li{padding-left:4px;margin-bottom:9px}.project-article a{text-underline-offset:5px}.project-steps{list-style:none!important;padding:0!important;counter-reset:project-step}.project-steps li{display:grid;grid-template-columns:37px 1fr;gap:15px;border-top:1px solid var(--line);padding:21px 0;margin:0;counter-increment:project-step}.project-steps li:before{content:'0' counter(project-step);font:italic 29px Georgia,serif;color:var(--accent)}.project-steps strong{display:block;color:var(--ink);font-size:16px;margin-bottom:5px;font-weight:500}.project-steps p{font-size:14px;margin:0}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.project-gallery figure{margin:0;min-width:0}.project-gallery .image-button{display:block;width:100%;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--paper);padding:0}.project-gallery img{display:block;width:100%;height:auto}.project-gallery figcaption{font-size:11px;line-height:1.6;color:var(--muted);padding:13px 2px}.project-gallery.wide{grid-template-columns:1fr 1fr}.project-gallery.wide img{height:300px;object-fit:contain;background:#f5f1f8}.project-result{padding:29px;background:#e2d6ec;border:1px solid #c5b1d5;border-radius:9px}.project-result h2{font-size:26px}.project-result p:last-child{margin-bottom:0}.project-proof{background:var(--paper);padding:25px;border:1px solid var(--line);border-radius:8px}.project-proof p{font-size:13px}.project-proof .button{font-size:12px}.project-proof-links{display:flex;gap:10px 22px;flex-wrap:wrap;align-items:center}.project-proof-links a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}.project-tech{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:35px}.project-tech summary{cursor:pointer;padding:22px 0;font-size:14px}.project-tech p{padding-bottom:15px;font-size:13px}.project-contact{padding:30px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.project-contact h2{font-size:29px}.project-contact .button{font-size:13px}.project-contact p{max-width:620px}.project-related{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;font-size:12px;margin-top:35px}.project-related a{min-height:44px;display:inline-flex;align-items:center}.portfolio-heading{max-width:800px;margin-bottom:43px}.portfolio-heading p:not(.eyebrow){font-size:17px;color:var(--muted);line-height:1.75}.portfolio-list{display:grid;gap:24px}.portfolio-entry{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.portfolio-entry-visual{display:flex;align-items:center;justify-content:center;background:#dfd3ea;padding:25px;min-width:0;min-height:300px}.portfolio-entry-visual img{display:block;width:100%;height:300px;object-fit:contain;object-position:center;border-radius:7px}.portfolio-entry-visual.content{background:#e3e9dd}.portfolio-entry-visual.content img{width:auto;height:315px;box-shadow:0 8px 28px #28362115}.portfolio-entry-visual.purchasing{background:#eee1d1}.portfolio-entry-copy{padding:35px}.portfolio-entry-copy h2{font-size:31px;line-height:1.15;margin:15px 0 18px}.portfolio-entry-copy p{font-size:14px;line-height:1.75;color:var(--muted)}.portfolio-entry-copy .project-role{font-size:12px;border-top:1px solid var(--line);padding-top:17px;margin-top:21px}.portfolio-entry-copy .button{font-size:12px;margin-top:9px}.portfolio-fit{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:50px;padding-top:34px;border-top:1px solid var(--line)}.portfolio-fit h2{font-size:28px}.portfolio-fit p{font-size:14px;color:var(--muted);line-height:1.85}.mini-ledger{width:100%;max-width:380px;border:1px solid #ccbaa6;background:#fffaf1;border-radius:7px;padding:22px}.mini-ledger>p{margin:0 0 16px;font-size:10px;letter-spacing:.08em}.mini-ledger div{display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid #ded0bb;font-size:12px;gap:20px}.mini-ledger span{font-size:11px;color:#6a5945}.mini-ledger small{display:block;margin-top:18px;font-size:10px;color:#7a6c5d}.services-section{padding-top:49px;padding-bottom:17px}.services-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}.services-intro h2{font-size:34px}.services-intro>p{max-width:375px;font-size:13px;line-height:1.8;color:var(--muted);margin:0}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{border:1px solid var(--line);border-radius:9px;padding:25px 24px;background:var(--paper);display:flex;flex-direction:column;align-items:start}.service-card .eyebrow{font-size:9px;margin-bottom:17px}.service-card h3{font-size:23px;line-height:1.18;font-weight:400;letter-spacing:-.035em;margin:0 0 17px}.service-card p{font-size:13px;color:var(--muted);line-height:1.75;margin:0 0 18px}.service-card .service-output{font-size:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}.service-card .service-output b{display:block;font-weight:500;color:var(--ink);margin-bottom:5px}.service-card .text-link{font-size:12px;min-height:44px}.case-page-links{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;margin-top:16px}.case-page-links .text-link{font-size:12px}.case-footer-links{display:flex;flex-wrap:wrap;gap:5px 22px;align-items:center}.portfolio-index-link{font-size:13px;display:inline-flex;min-height:44px;align-items:center;margin-top:10px;text-underline-offset:5px}.case-origin{padding:14px 17px;border:1px solid var(--line);border-radius:6px;background:#eee6f4;margin-bottom:20px;font-size:12px;line-height:1.7}.case-origin p{margin:0}.case-origin button{margin-top:5px;padding:5px 0;min-height:34px;font:inherit;background:transparent;border:0;cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.case-origin a{text-underline-offset:4px}.portfolio-page .image-dialog{max-width:1100px;width:calc(100vw - 50px)}.portfolio-page .image-dialog img{display:block;max-width:100%;max-height:80dvh;margin:auto;object-fit:contain}.demo-box{border:1px solid #cebfab;background:#fffcf7;border-radius:10px;overflow:hidden;margin:25px 0}.demo-head{padding:22px;border-bottom:1px solid #ddcfbd}.demo-head h3{font-size:20px;margin-bottom:9px}.demo-head p{font-size:12px!important;line-height:1.7!important;margin:0!important}.demo-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 20px}.demo-tabs{display:flex;gap:6px}.demo-tabs button,.demo-reset,.demo-action,.demo-undo{min-height:44px;border:1px solid #cbb89f;background:#fffaf2;border-radius:5px;padding:9px 11px;font:12px Arial,sans-serif;cursor:pointer;color:#51402e}.demo-tabs button[aria-selected=true]{background:#574435;color:white;border-color:#574435}.demo-reset{border:0;text-decoration:underline;text-underline-offset:4px;padding-inline:4px;background:transparent}.demo-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 20px 15px}.demo-metrics>div{border:1px solid #e2d4c1;border-radius:5px;padding:12px;background:#faf1e5}.demo-metrics span{font-size:10px;display:block;color:#6d5c48}.demo-metrics b{font-size:24px;font-weight:400;display:block;margin-bottom:5px}.demo-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1.2fr) 66px minmax(0,1fr) 85px;gap:12px;align-items:center;padding:17px 20px;border-top:1px solid #e5d9ca;font-size:12px}.demo-row strong{font-size:13px;font-weight:500;display:block}.demo-row small{font-size:10px;color:#776650;display:block;margin-top:5px}.demo-row label{font-size:10px;color:#776650}.demo-row select{max-width:100%;width:100%;font:12px Arial,sans-serif;border:1px solid #cbb89f;border-radius:4px;min-height:44px;background:#fff;padding:7px 5px;margin-top:5px;color:#463626}.demo-row .demo-attention{font-size:11px;line-height:1.6}.demo-attention.overdue{color:#923c21}.demo-attention.problem{color:#89374c}.demo-row .demo-date{font-size:11px}.demo-status{font-size:11px;line-height:1.7;padding:13px 20px;background:#f6eedf;border-top:1px solid #e5d9ca;min-height:54px}.demo-status p{font-size:11px!important;line-height:1.7!important;margin:0!important;color:#68543d!important}.demo-undo{margin-top:8px}.demo-empty{padding:25px 20px;font-size:13px;color:#74604a}.demo-guide{margin:0;padding:16px 20px;border-top:1px solid #e5d9ca;font-size:11px!important;line-height:1.7!important}.demo-js[hidden]{display:none!important}.demo-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.demo-flow li{font-size:12px;border:1px solid var(--line);border-radius:5px;padding:13px;background:var(--paper);margin:0}.demo-flow span{display:block;color:var(--accent);font:italic 22px Georgia,serif;margin-bottom:10px}.demo-box button:focus-visible,.demo-box select:focus-visible{outline:2px solid #6f478f;outline-offset:3px}
@media(max-width:1000px){.portfolio-shell{padding-inline:32px}.project-content{grid-template-columns:145px minmax(0,1fr);gap:30px}.project-gallery.wide img{height:240px}.portfolio-entry-copy{padding:26px}.portfolio-entry-copy h2{font-size:27px}.service-card{padding:23px 18px}.service-card h3{font-size:21px}.demo-row{grid-template-columns:1fr 1fr;gap:12px}.demo-row>div:first-child{grid-column:1 / -1}.demo-row .demo-action{grid-column:2;grid-row:3}.demo-row .demo-attention{grid-column:1;grid-row:3}.demo-metrics{gap:8px}.demo-flow{grid-template-columns:1fr 1fr}.case-footer{align-items:start}.case-footer-links{justify-content:end}}
@media(max-width:700px){.portfolio-shell{padding:24px 23px 55px}.breadcrumbs{font-size:11px;margin-bottom:28px;gap:7px}.project-hero h1,.portfolio-heading h1{font-size:42px;margin-bottom:22px}.project-hero .project-lead,.portfolio-heading p:not(.eyebrow){font-size:14px;line-height:1.8}.project-hero .eyebrow{font-size:9px}.project-facts{grid-template-columns:1fr;gap:19px;padding-block:22px;margin-bottom:26px}.project-facts>div{display:grid;grid-template-columns:80px 1fr;gap:15px}.project-facts dt{font-size:9px;margin:0;padding-top:4px}.project-facts dd{font-size:12px}.project-cover{margin-bottom:26px}.project-cover figcaption{font-size:10px;padding:14px 16px}.project-content{display:block}.project-toc{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:0 20px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:28px}.project-toc .eyebrow{display:none}.project-toc a{font-size:11px;min-height:44px;display:flex;align-items:center}.project-article h2{font-size:28px}.project-article p,.project-article ul{font-size:13px}.project-article section{margin-bottom:35px}.project-steps p{font-size:12px}.project-steps strong{font-size:14px}.project-steps li{gap:11px;grid-template-columns:28px 1fr}.project-steps li:before{font-size:23px}.project-gallery{gap:12px;grid-template-columns:1fr}.project-gallery figure{max-width:290px;width:100%;margin:auto}.project-gallery img{max-height:520px;object-fit:contain}.project-gallery.wide{grid-template-columns:1fr}.project-gallery.wide figure{max-width:100%}.project-gallery.wide img{height:auto;max-height:440px;object-fit:contain}.project-result,.project-proof,.project-contact{padding:22px 19px}.project-proof p{font-size:12px}.project-result h2,.project-contact h2{font-size:26px}.project-contact .button{font-size:12px}.portfolio-entry{grid-template-columns:1fr}.portfolio-entry-visual{min-height:220px;padding:20px}.portfolio-entry-visual img{height:auto;max-height:260px}.portfolio-entry-visual.content img{height:260px}.portfolio-entry-copy{padding:26px 23px}.portfolio-entry-copy h2{font-size:28px}.portfolio-entry-copy p{font-size:13px}.portfolio-entry-copy .project-role{font-size:11px}.portfolio-entry .eyebrow{font-size:9px}.portfolio-fit{grid-template-columns:1fr;gap:20px;margin-top:35px}.portfolio-fit h2{font-size:28px}.portfolio-fit p{font-size:13px}.services-section{padding-top:35px}.services-intro{display:block;margin-bottom:21px}.services-intro h2{font-size:30px;margin-bottom:17px}.services-intro>p{font-size:12px}.service-cards{grid-template-columns:1fr;gap:14px}.service-card{padding:23px}.service-card h3{font-size:25px}.service-card p{font-size:13px}.service-card .service-output{width:100%}.case-page-links{gap:4px 22px}.case-footer-links{justify-content:start;margin-top:11px}.case-footer-links a{min-height:44px;font-size:12px}.portfolio-index-link{font-size:12px}.demo-head{padding:19px 17px}.demo-controls{padding:12px 15px}.demo-metrics{margin-inline:15px;gap:7px}.demo-metrics>div{padding:9px}.demo-metrics b{font-size:22px}.demo-metrics span{font-size:9px}.demo-row{padding:17px 15px;gap:10px 14px}.demo-row select{font-size:13px}.demo-guide,.demo-status{padding-inline:15px}.demo-tabs button{font-size:11px;padding-inline:10px}.demo-reset{font-size:11px}.demo-flow li{font-size:11px}.project-related{gap:2px 19px}.project-related a{font-size:11px}.case-origin{font-size:11px}}
@media(max-width:365px){.portfolio-shell{padding-inline:18px}.project-hero h1,.portfolio-heading h1{font-size:36px}.project-facts>div{grid-template-columns:73px 1fr}.portfolio-entry-copy{padding-inline:20px}.services-intro h2{font-size:28px}.service-card{padding-inline:20px}.demo-tabs button{padding-inline:8px}}
@media print{.breadcrumbs,.project-toc,.project-contact,.project-related,.demo-controls,.demo-action,.demo-undo{display:none!important}.portfolio-shell{max-width:none;padding:0}.project-content{display:block}.project-facts,.project-result,.project-proof,.demo-row{break-inside:avoid}.portfolio-entry{break-inside:avoid}.project-cover img{max-height:320px!important;object-fit:contain!important}.project-gallery{grid-template-columns:repeat(3,1fr)}.project-hero h1{font-size:40px}.project-article h2{font-size:25px}}
