:root{--blue:#003a5d;--ink:#172d3b;--muted:#40515e;--control-border:#657d8b;--paper:#fcfcf9;--tint:#eef3f4;--line:#d9e2e5;--light-blue:#b9d8e8;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.1;letter-spacing:-.005em}h4,h5,h6{letter-spacing:.005em}h1{font-size:clamp(3.1rem,5.65vw,5.65rem)}h2{font-size:clamp(2.3rem,3.7vw,3.65rem)}h3{font-size:1.4rem;line-height:1.25;letter-spacing:.005em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}img,svg{max-width:100%;display:block}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #397da4;outline-offset:5px}::selection{background:#d4e8f3}button:disabled{cursor:wait;opacity:.6}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:112px}.section-topless{padding-bottom:110px}.micro,.eyebrow,.footer-label{font-size:.69rem;font-weight:650;letter-spacing:.15em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);margin-bottom:24px}.eyebrow>span{width:5px;height:5px;flex:none;border-radius:50%;background:currentColor}.lede{font-size:1.17rem;line-height:1.75;color:var(--muted)}.skip-link{position:fixed;z-index:1000;top:10px;left:16px;padding:10px 20px;background:white;transform:translateY(-160%);box-shadow:0 3px 20px #0002}.skip-link:focus{transform:none}.header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.nav-wrap{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:var(--blue);flex:none}.brand>img{width:40px;height:40px}.brand>span{font-weight:650;font-size:1.65rem;line-height:1;letter-spacing:-.035em;white-space:nowrap}.desktop-nav{display:flex;gap:32px;align-items:center}.desktop-nav a{font-size:.83rem;padding-block:12px;color:var(--muted)}.desktop-nav a:hover,.desktop-nav [aria-current]{color:var(--blue)}.desktop-nav a:last-child{color:var(--blue);border:1px solid var(--line);padding:10px 17px;display:flex;gap:22px;align-items:center;border-radius:4px}.desktop-nav svg{width:18px;height:18px}.mobile-menu{display:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;min-height:52px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:white;font-size:.87rem;font-weight:550;padding:13px 21px;cursor:pointer;line-height:1.35}.button svg,.text-link svg{height:20px;width:20px;flex:none;transition:transform .18s}.button:hover{background:#002c47}.button:hover svg,.text-link:hover svg{transform:translateX(3px)}.button-quiet{background:transparent;color:var(--blue)}.text-link{display:inline-flex;gap:22px;align-items:center;font-size:.87rem;font-weight:550;color:var(--blue);padding:8px 0;line-height:1.4}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;padding-block:98px 92px}.hero h1{line-height:1.035;margin-bottom:30px;max-width:680px;font-weight:580}.hero h1 em{font-style:normal;color:var(--blue)}.hero .lede{max-width:505px;font-size:1.08rem}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:33px}.location{display:flex;gap:9px;align-items:center;font-size:.73rem;color:var(--muted);margin-top:24px}.location>span{height:6px;width:6px;border:1px solid var(--blue);border-radius:50%;flex:none}.hero-visual{padding-top:12px}.system-map{border:1px solid #d5e0e6;border-radius:9px;padding:27px 27px 23px;background-color:#eef3f5;background-image:radial-gradient(#c3d2da 0.65px,transparent 0.65px);background-size:14px 14px;box-shadow:0 22px 44px #14344708;min-height:450px}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);margin-bottom:32px}.map-heading .micro{font-size:.6rem}.map-top{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:white;border-radius:6px;padding:16px;width:75%;margin:auto;box-shadow:0 4px 12px #1234}.app-icon{height:38px;width:38px;display:grid;place-content:center;border-radius:7px;font-size:23px;font-weight:600}.shopify-icon{color:#4e6529;background:#eff4e8}.map-top small{display:block;font-size:.52rem;letter-spacing:.12em;color:var(--muted)}.map-top strong{font-size:.9rem;font-weight:600}.map-connector{height:70px;display:flex;flex-direction:column;align-items:center}.map-connector>span{width:1px;flex:1;background:#9bb5c4}.map-connector p{font-size:.58rem;background:#eef3f5;border:1px solid #d5e0e6;border-radius:10px;padding:1px 12px;color:var(--muted)}.map-hub{display:flex;align-items:center;gap:14px;background:var(--blue);color:white;padding:18px 20px;border-radius:7px;box-shadow:0 9px 20px #003a5d25}.map-hub img{background:#fff;border-radius:50%;padding:3px}.map-hub strong{font-size:.9rem;display:block}.map-hub small{display:block;font-size:.62rem;color:#bdd5e2;letter-spacing:.015em}.map-branches{height:39px;display:grid;grid-template-columns:repeat(3,1fr);position:relative;padding-top:19px}.map-branches:before{position:absolute;content:"";height:20px;width:1px;top:0;left:50%;background:#9bb5c4}.map-branches:after{position:absolute;content:"";height:1px;top:19px;left:16.66%;right:16.66%;background:#9bb5c4}.map-branches i{height:20px;width:1px;background:#9bb5c4;justify-self:center}.map-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.map-bottom>div{display:flex;flex-direction:column;align-items:center;padding:14px 3px 12px;background:#ffffffde;border:1px solid var(--line);border-radius:5px}.map-bottom .service-icon{width:21px;height:21px;color:#4e7992;margin-bottom:10px}.map-bottom strong{font-size:.69rem;font-weight:550}.map-bottom small{font-size:.51rem;color:var(--muted);margin-top:2px}.map-caption{text-align:center;font-size:.62rem;margin-top:24px;color:var(--muted)}.platform-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:26px}.platform-strip .container{display:flex;justify-content:space-between;align-items:center;gap:32px}.platform-strip .micro{font-size:.6rem;color:var(--muted);max-width:150px;line-height:1.65}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;align-items:end;margin-bottom:50px}.section-heading>p{color:var(--muted);max-width:380px;margin-bottom:4px}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.art-link{display:block}.work-art{min-height:320px;position:relative;border-radius:6px;padding:28px 35px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}.art-label{position:absolute;top:22px;left:24px;font-size:.55rem;letter-spacing:.15em;font-weight:550}.art-note{position:absolute;bottom:17px;right:23px;font-size:.55rem;opacity:.68}.flow-art{background:#dfe9e6;color:#254c46}.flow-row{display:flex;align-items:center;gap:24px;margin-top:26px}.flow-row>span{padding:10px 25px;background:#f7faf7;border:1px solid #c4d6cf;font-size:.78rem;border-radius:3px;box-shadow:0 5px 15px #33574008}.flow-row i{font-style:normal;color:#638a7d}.flow-centre{display:flex;align-items:center;gap:13px;background:#fafcf9;border:1px solid #c4d6cf;box-shadow:0 6px 15px #33574009;border-radius:4px;padding:15px 26px;margin-block:20px}.flow-centre strong{font-size:.85rem;font-weight:550}.flow-centre img{width:29px;height:29px}.flow-tags{display:flex;gap:8px}.flow-tags span{border:1px solid #b7ccc2;padding:4px 13px;border-radius:14px;font-size:.58rem}.release-art{background:#e4eaf1;color:#324c64}.release-window{background:#fbfcfd;border:1px solid #c6d5e1;border-radius:5px;width:min(340px,100%);margin-top:28px;transform:rotate(-2deg);box-shadow:0 10px 23px #314d6220}.window-chrome{display:flex;gap:4px;align-items:center;border-bottom:1px solid #d7e1e9;padding:9px 12px}.window-chrome i{width:4px;height:4px;background:#c2d0dc;border-radius:50%}.window-chrome span{font-size:.5rem;margin-left:12px;color:#72818f}.release-line{display:flex;align-items:center;gap:13px;padding:10px 17px}.release-line:last-child{padding-bottom:16px}.step-dot{border:1px solid #b6cad8;width:23px;height:23px;border-radius:50%;display:grid;place-content:center;font-size:.58rem;color:#608198}.release-line strong{font-size:.68rem;font-weight:550;display:block}.release-line small{font-size:.5rem;color:var(--muted);display:block}.release-line>span:last-child{margin-left:auto;color:#789bb2;font-size:.75rem}.work-card-copy{padding:27px 2px 0}.work-card .eyebrow{font-size:.56rem;margin-bottom:12px;color:#637780}.work-card :is(h2,h3){font-size:1.65rem;max-width:470px;line-height:1.22}.work-card :is(h2,h3) a:hover{text-decoration:underline;text-underline-offset:4px}.work-card p:not(.eyebrow){margin-top:15px;color:var(--muted);font-size:.93rem;max-width:480px}.work-card .text-link{margin-top:15px}.services-section{background:var(--tint);border-block:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #bacdd5;border-bottom:1px solid #bacdd5}.service-card{padding:26px 26px 30px 0;position:relative;display:flex;flex-direction:column}.service-card+.service-card{border-left:1px solid #cad8de;padding-left:26px}.service-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.service-number>span{font-size:.68rem;color:#5a7686}.service-icon{width:28px;height:28px;color:var(--blue)}.service-card :is(h2,h3){font-size:1.27rem;margin-bottom:15px}.service-card :is(h2,h3) a:hover{text-decoration:underline;text-underline-offset:4px}.service-card>p{font-size:.88rem;color:var(--muted);margin-bottom:24px}.service-card .text-link{margin-top:auto;font-size:.76rem;gap:18px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.approach>div>p:not(.eyebrow){margin-block:24px;max-width:440px;color:var(--muted)}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:flex;gap:28px;padding-block:26px;border-top:1px solid var(--line)}.process-list li:first-child{padding-top:15px;border-top:0}.process-list>li>span{font-size:.7rem;color:var(--blue);padding-top:3px}.process-list h3{font-size:1.25rem;margin-bottom:10px}.process-list p{font-size:.9rem;color:var(--muted)}.products-section{background:#f5f5f0;border-top:1px solid #e2e3db}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}.product-art{height:175px;display:flex;align-items:center;justify-content:center;gap:20px;background:#e7eff4}.product-art>span{font-size:49px;line-height:1;background:var(--blue);height:76px;width:76px;border-radius:14px;display:grid;place-content:center;color:white;box-shadow:0 8px 13px #1232}.product-lines{display:flex;flex-direction:column;gap:12px}.product-lines i{height:7px;width:100px;background:#bbd0dc;border-radius:2px}.product-lines i:nth-child(2){width:70px}.product-lines i:nth-child(3){width:83px}.product-copy{padding:25px;display:flex;flex-direction:column;align-items:start;flex:1}.product-copy .eyebrow{font-size:.55rem;margin-bottom:14px;color:var(--muted)}.product-copy :is(h2,h3){font-size:1.4rem}.status{display:inline-flex;font-size:.61rem;color:#4f6775;border:1px solid #c9d6dc;border-radius:10px;line-height:1.3;padding:3px 8px;margin-top:10px}.product-copy>p:not(.eyebrow){font-size:.87rem;color:var(--muted);margin-top:18px;margin-bottom:20px}.product-copy .text-link{margin-top:auto;font-size:.76rem;gap:14px}.contact-band{background:var(--blue);color:white;padding-block:77px}.contact-band .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band .eyebrow{color:#b3cfdf}.contact-band h2{font-size:clamp(2.2rem,3.6vw,3.3rem)}.contact-band p:not(.eyebrow){color:#c1d5df;margin-top:20px;max-width:580px}.contact-band .button{background:#fcfcf8;color:var(--blue);border-color:#fcfcf8;flex:none}.contact-band .button:hover{background:#dceaf1}.footer{padding-top:64px}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:34px}.footer-top>p{font-size:.85rem;color:var(--muted);line-height:1.6}.footer-columns{display:grid;grid-template-columns:2fr 1.3fr 1fr;gap:40px;padding-block:35px 48px}.footer-label{color:#617988;margin-bottom:16px;font-size:.6rem}.footer-columns a{display:block;font-size:.8rem;padding-block:3px}.footer-columns a:hover{text-decoration:underline}.footer-columns p:not(.footer-label){font-size:.77rem;color:var(--muted);margin-top:9px}.footer-bottom{border-top:1px solid var(--line);padding-block:21px;display:flex;justify-content:space-between;gap:20px;font-size:.6rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:20px}.page-hero{padding-block:72px 70px}.page-hero h1{max-width:1020px;line-height:1.06}.page-hero .lede{margin-top:28px;max-width:760px}.breadcrumbs{display:flex;gap:12px;font-size:.71rem;color:var(--muted);margin-bottom:40px}.breadcrumbs a:hover{text-decoration:underline}.detail-intro{display:grid;grid-template-columns:.9fr 1.6fr;gap:95px;padding-bottom:96px}.scope-note{border-top:1px solid var(--line);padding-top:25px}.scope-note>.micro{color:var(--blue)}.scope-note>p{font-size:1.1rem;line-height:1.6;margin-top:17px;margin-bottom:25px;max-width:350px}.detail-body h2{font-size:2.15rem;margin-bottom:28px}.detail-item{display:flex;gap:22px;padding-block:23px;border-top:1px solid var(--line)}.detail-item>span{font-size:.7rem;color:var(--blue);padding-top:3px}.detail-item h3{font-size:1.23rem;margin-bottom:9px}.detail-item p{color:var(--muted);font-size:.94rem}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.step-label{display:block;font-size:.75rem;color:#537c93;border-bottom:1px solid #c3d4dc;padding-bottom:24px;margin-bottom:25px}.steps-grid h3{font-size:1.28rem;margin-bottom:14px}.steps-grid p{font-size:.94rem;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:95px}.faq{padding-block:23px;border-bottom:1px solid var(--line)}.faq:first-child{padding-top:0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;font-size:.94rem;font-weight:550;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary>span{color:#54788c;font-size:20px;font-weight:400}.faq[open] summary>span{transform:rotate(45deg)}.faq p{padding-top:18px;font-size:.91rem;color:var(--muted)}.related-work{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:27px;margin-bottom:65px;gap:25px}.feature-art .work-art{height:430px}.feature-art .flow-row{gap:70px}.feature-art .flow-row>span{padding:14px 70px;font-size:1rem}.feature-art .flow-centre{padding:25px 70px}.feature-art .flow-centre strong{font-size:1.05rem}.feature-art .flow-tags span{font-size:.74rem;padding:6px 20px}.feature-art .release-window{width:430px}.feature-art .release-line{padding:17px 25px}.feature-art .release-line strong{font-size:.9rem}.feature-art .release-line small{font-size:.65rem}.story{display:grid;grid-template-columns:.65fr 1.4fr;gap:100px}.story aside{font-size:.85rem;color:var(--muted)}.story aside p{margin-bottom:20px}.story aside .micro{color:var(--blue)}.tags{list-style:none;padding:0;margin:0 0 28px;display:flex;gap:8px;flex-wrap:wrap}.tags li{font-size:.7rem;border:1px solid var(--line);padding:4px 10px;border-radius:15px}.story-body h2{font-size:2rem;margin-bottom:20px}.story-body p{font-size:1rem;color:var(--muted);line-height:1.9}.story-body section{margin-top:40px}.story-body .evidence-note{font-size:.76rem;border-top:1px solid var(--line);padding-top:23px;margin-top:35px}.product-disclosure{font-size:.82rem;color:var(--muted);max-width:800px;margin-top:27px}.about-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:95px;align-items:center;padding-bottom:110px}.about-portrait{background:#e8eff0;min-height:430px;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:42px;position:relative}.large-mark{background:#fcfcf8;padding:36px;border:1px solid #cfdde2;border-radius:50%;box-shadow:0 15px 45px #1641560c}.large-mark img{width:120px;height:120px}.about-portrait>span{font-size:.6rem;letter-spacing:.16em;color:#547384}.about-copy h2{font-size:2.75rem;margin-bottom:28px}.about-copy p{color:var(--muted);margin-top:18px;line-height:1.85}.about-copy .button{margin-top:30px}.contact-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:85px;padding-bottom:110px;align-items:start}.contact-layout aside h2{font-size:2.3rem;margin-bottom:25px}.contact-layout aside>p{color:var(--muted);font-size:.96rem;max-width:340px}.contact-email{display:flex;align-items:center;gap:12px;font-size:.91rem;color:var(--blue);margin-top:30px;word-break:break-word}.contact-email svg{width:18px;height:18px;flex:none}.contact-note{margin-top:45px;padding-top:24px;border-top:1px solid var(--line);max-width:340px}.contact-note strong{font-size:.9rem;font-weight:550}.contact-note p{font-size:.85rem;color:var(--muted);margin-top:10px}.form-card{background:white;border:1px solid var(--line);padding:35px;border-radius:6px;box-shadow:0 10px 30px #1231}form label{display:block;font-size:.76rem;font-weight:550;color:var(--ink);margin-bottom:19px}input,select,textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #cdd9df;border-radius:3px;background:#fcfdfd;color:var(--ink);font-size:.87rem;line-height:1.5}textarea{resize:vertical;min-height:130px}input::placeholder,textarea::placeholder{color:#788994;font-size:.82rem}select{min-height:47px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.optional{font-weight:400;color:var(--muted);margin-left:8px}.form-helper{font-size:.72rem;color:var(--muted);margin-top:9px;line-height:1.65}form .button{margin-top:22px;width:100%}.form-privacy{font-size:.71rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.form-error{color:#9b352e;font-size:.8rem;margin-top:10px}.draft-ready{background:#ecf3f4;border:1px solid #b6cfd8;padding:22px;margin-top:22px;border-radius:4px}.draft-ready h3{font-size:1.2rem}.draft-ready p{font-size:.84rem;margin-block:12px}.draft-ready .button{font-size:.8rem;gap:20px}.policy{max-width:800px;padding-bottom:90px}.policy h2{font-size:1.5rem;margin-top:32px;margin-bottom:18px}.policy h3{font-size:1.18rem}.policy p,.policy li{font-size:.95rem;color:var(--muted);margin-bottom:14px}.policy a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.policy ul{padding-left:23px}.not-found{padding-block:95px 130px}.not-found h1{margin-bottom:28px}.not-found p{color:var(--muted);margin-bottom:25px}
@media(min-width:1450px){.hero{gap:95px;padding-block:115px}.hero h1{font-size:5.7rem}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero{gap:5%;padding-block:75px}.hero h1{font-size:4.55rem}.hero .lede{font-size:1rem}.hero-actions{gap:20px;flex-wrap:wrap}.system-map{padding:22px 17px;min-height:405px}.map-top{width:83%;padding:12px}.map-hub{padding:16px 13px;gap:9px}.map-hub strong{font-size:.78rem}.map-bottom strong{font-size:.59rem}.map-bottom small{font-size:.45rem}.desktop-nav{gap:22px}.section-heading{gap:50px}.section{padding-block:85px}.approach{gap:60px}.service-card{padding-right:20px}.service-card+.service-card{padding-left:20px}.service-card :is(h2,h3){font-size:1.15rem}.work-art{padding-inline:20px}.flow-row{gap:13px}.flow-row>span{padding:9px 20px}.product-copy{padding:20px}.product-copy .text-link{font-size:.7rem;gap:10px}.product-art{height:150px}.product-lines i{width:75px}.product-lines i:nth-child(2){width:55px}.product-lines i:nth-child(3){width:65px}.contact-layout,.about-layout,.detail-intro,.story{gap:55px}.faq-section{gap:55px}.footer-columns{grid-template-columns:1.6fr 1.2fr .7fr}.footer-top .brand>span{font-size:1.6rem}}
@media(max-width:800px){.container{width:calc(100% - 44px)}.nav-wrap{min-height:76px}.brand>img{width:34px;height:34px}.brand>span{font-size:1.375rem}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:44px;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary svg{width:24px;height:24px;flex:none}.mobile-menu[open] summary{color:var(--blue)}.mobile-menu nav{position:absolute;left:0;right:0;top:75px;display:flex;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:15px 22px 23px;box-shadow:0 20px 20px #1231}.mobile-menu nav a{display:flex;justify-content:space-between;padding:13px 0;font-size:.96rem;border-bottom:1px solid #e5e9e9}.mobile-menu nav a:last-child{border:0}.mobile-menu nav svg{width:20px;height:20px}.hero{grid-template-columns:1fr 1fr;gap:30px;padding-block:64px}.hero h1{font-size:3.55rem}.hero .eyebrow{font-size:.52rem;letter-spacing:.11em}.hero .lede{font-size:.91rem}.hero-actions{gap:15px;margin-top:25px}.hero-actions .button{font-size:.78rem;gap:20px;min-height:48px}.hero-actions .text-link{font-size:.77rem}.location{font-size:.65rem}.system-map{padding:19px 14px;min-height:360px;transform:none}.map-heading{margin-bottom:24px}.map-heading .micro{font-size:.47rem;letter-spacing:.1em}.map-top{width:91%;padding:10px}.map-connector{height:50px}.map-connector p{font-size:.48rem}.map-hub{gap:8px;padding:12px 9px}.map-hub img{width:29px;height:29px}.map-hub strong{font-size:.67rem}.map-hub small{font-size:.5rem}.map-bottom{gap:5px}.map-bottom>div{padding:11px 2px}.map-bottom strong{font-size:.52rem}.map-bottom small{display:none}.map-caption{font-size:.52rem}.map-bottom .service-icon{width:19px}.platform-strip{padding-block:23px}.platform-strip .container{flex-direction:column;align-items:flex-start;gap:16px}.platform-strip .micro{max-width:none;font-size:.55rem}.section-heading{grid-template-columns:1.2fr 1fr;gap:32px;margin-bottom:35px}.section-heading>p{font-size:.9rem}h2{font-size:2.5rem}.eyebrow{font-size:.6rem;margin-bottom:20px}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:23px 23px 28px 0}.service-card+.service-card{padding-left:23px}.service-card:nth-child(2n+1){border-left:0;padding-left:0}.service-card:nth-child(n+3){border-top:1px solid #c3d4dc}.service-number{margin-bottom:24px}.service-card :is(h2,h3){font-size:1.3rem}.work-grid{gap:24px}.work-art{min-height:275px;padding-inline:13px}.flow-row>span{padding:9px 13px;font-size:.67rem}.flow-row{gap:12px}.flow-centre{padding:13px 18px;gap:10px}.flow-centre strong{font-size:.73rem}.flow-tags{gap:5px}.flow-tags span{padding:4px 10px;font-size:.51rem}.art-label{font-size:.48rem;left:17px;top:18px}.art-note{right:17px;font-size:.5rem}.release-window{max-width:250px}.release-line{padding:10px 12px;gap:10px}.work-card :is(h2,h3){font-size:1.4rem}.work-card p:not(.eyebrow){font-size:.86rem}.approach{gap:40px}.process-list li{gap:18px}.process-list h3{font-size:1.1rem}.process-list p{font-size:.84rem}.approach>div>p:not(.eyebrow){font-size:.91rem}.product-grid{grid-template-columns:1fr;gap:20px}.product-card{display:grid;grid-template-columns:.7fr 1fr}.product-art{height:100%;min-height:225px}.product-copy .text-link{font-size:.78rem}.product-copy{padding:25px}.product-copy>p:not(.eyebrow){margin-top:12px;margin-bottom:16px}.product-copy :is(h2,h3){font-size:1.4rem}.contact-band .container{align-items:flex-start}.contact-band p:not(.eyebrow){font-size:.9rem}.contact-band .button{gap:16px}.footer-columns{gap:28px;grid-template-columns:1.5fr 1.1fr .7fr}.footer-columns a{font-size:.73rem}.footer-bottom{font-size:.56rem}.page-hero{padding-block:55px}.page-hero h1{font-size:3.4rem}.page-hero .lede{font-size:1.08rem}.detail-intro{grid-template-columns:.8fr 1.2fr;gap:40px;padding-bottom:75px}.scope-note>p{font-size:.95rem}.scope-note .button{font-size:.76rem;gap:13px}.detail-body h2{font-size:1.8rem}.detail-item h3{font-size:1.13rem}.detail-item p{font-size:.85rem}.steps-grid{gap:30px}.steps-grid h3{font-size:1.13rem}.steps-grid p{font-size:.86rem}.faq-section{gap:40px}.faq summary{font-size:.85rem}.faq p{font-size:.83rem}.related-work .text-link{font-size:.8rem}.about-layout{gap:35px;grid-template-columns:.8fr 1fr}.about-portrait{min-height:375px}.large-mark{padding:25px}.large-mark img{width:100px;height:100px}.about-portrait>span{font-size:.48rem;letter-spacing:.1em}.about-copy h2{font-size:2.2rem}.about-copy p{font-size:.88rem}.contact-layout{grid-template-columns:.75fr 1fr;gap:35px}.contact-layout aside h2{font-size:2.05rem}.contact-layout aside>p{font-size:.86rem}.contact-email{font-size:.76rem;gap:7px}.form-card{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.story{grid-template-columns:.7fr 1.4fr;gap:40px}.story-body h2{font-size:1.7rem}.story-body p{font-size:.94rem}.feature-art .flow-row{gap:30px}.feature-art .flow-row>span{padding:12px 38px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.nav-wrap{min-height:73px}.brand>span{font-size:1.25rem}.brand>img{width:32px;height:32px}.mobile-menu nav{top:72px}.hero{grid-template-columns:1fr;padding-block:49px 45px;gap:41px}.hero h1{font-size:clamp(3.7rem,13.3vw,5.4rem);line-height:1.03;margin-bottom:25px}.hero .eyebrow{font-size:.56rem;letter-spacing:.13em;margin-bottom:23px}.hero .lede{font-size:1rem;line-height:1.75;max-width:470px}.hero-actions{margin-top:27px;gap:23px}.hero-actions .button{font-size:.79rem;min-height:49px}.hero-actions .text-link{font-size:.78rem;gap:13px}.location{font-size:.65rem;line-height:1.6;margin-top:21px}.hero-visual{padding:0}.system-map{max-width:460px;min-height:400px;margin:auto;padding:24px 23px}.map-heading .micro{font-size:.55rem}.map-top{width:79%;padding:12px}.map-top small{font-size:.53rem}.map-top strong{font-size:.9rem}.map-connector{height:60px}.map-connector p{font-size:.52rem}.map-hub{padding:16px;gap:13px}.map-hub strong{font-size:.82rem}.map-hub small{font-size:.57rem}.map-hub img{width:34px;height:34px}.map-bottom{gap:7px}.map-bottom strong{font-size:.62rem}.map-bottom small{display:block;font-size:.47rem}.map-caption{font-size:.57rem;margin-top:22px}.section{padding-block:62px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:31px}.section-heading>p{max-width:420px}.section h2{font-size:2.25rem;line-height:1.12}.eyebrow{font-size:.56rem;letter-spacing:.13em;margin-bottom:18px}.work-grid{grid-template-columns:1fr;gap:39px}.work-art{min-height:300px}.flow-row>span{font-size:.77rem;padding:10px 25px}.flow-centre{padding:16px 25px;margin-block:20px}.flow-centre strong{font-size:.8rem}.flow-tags span{font-size:.56rem;padding:4px 13px}.release-window{max-width:285px}.release-line{padding:11px 16px}.release-line strong{font-size:.73rem}.release-line small{font-size:.56rem}.work-card-copy{padding-top:20px}.work-card :is(h2,h3){font-size:1.5rem}.work-card p:not(.eyebrow){font-size:.9rem}.service-card{padding:23px 18px 23px 0}.service-card+.service-card{padding-left:18px}.service-card:nth-child(2n+1){padding-left:0}.service-card :is(h2,h3){font-size:1.12rem}.service-card>p{font-size:.81rem;line-height:1.65}.service-card .text-link{font-size:.7rem;gap:10px}.service-number{margin-bottom:26px}.service-icon{height:24px;width:24px}.approach{grid-template-columns:1fr;gap:30px}.approach>div>p:not(.eyebrow){font-size:.95rem;margin-block:20px}.process-list li:first-child{border-top:1px solid var(--line);padding-top:22px}.process-list li{padding-block:22px}.process-list h3{font-size:1.18rem}.process-list p{font-size:.88rem}.product-card{grid-template-columns:1fr}.product-art{height:157px;min-height:0}.product-copy{padding:23px}.product-copy .eyebrow{font-size:.55rem}.product-copy>p:not(.eyebrow){font-size:.88rem}.product-copy .text-link{font-size:.79rem}.contact-band{padding-block:51px}.contact-band .container{flex-direction:column;gap:28px}.contact-band h2{font-size:2.35rem}.contact-band p:not(.eyebrow){font-size:.9rem;margin-top:18px}.contact-band .button{min-height:49px}.footer{padding-top:42px}.footer-top{align-items:flex-start;gap:23px;flex-direction:column;padding-bottom:28px}.footer-top>p{font-size:.8rem}.footer-columns{grid-template-columns:1fr 1fr;gap:31px;padding-block:30px}.footer-columns>div:first-child{grid-column:1/-1}.footer-columns a{font-size:.79rem}.footer-label{font-size:.6rem;margin-bottom:11px}.footer-bottom{flex-direction:column;gap:13px;font-size:.58rem;padding-bottom:24px}.page-hero{padding-block:45px 40px}.page-hero h1{font-size:clamp(2.85rem,10.2vw,3.7rem);line-height:1.08}.page-hero .lede{margin-top:23px;font-size:1rem;line-height:1.8}.breadcrumbs{margin-bottom:31px;font-size:.65rem}.section-topless{padding-bottom:62px}.detail-intro{grid-template-columns:1fr;gap:43px;padding-bottom:55px}.scope-note{padding-top:20px}.scope-note>p{max-width:none;font-size:1rem}.scope-note .button{font-size:.82rem}.detail-body h2{font-size:1.95rem;margin-bottom:23px}.detail-item{padding-block:22px;gap:18px}.detail-item h3{font-size:1.2rem}.detail-item p{font-size:.92rem}.steps-grid{grid-template-columns:1fr;gap:28px}.step-label{padding-bottom:14px;margin-bottom:19px}.steps-grid h3{font-size:1.3rem}.steps-grid p{font-size:.93rem}.faq-section{grid-template-columns:1fr;gap:33px}.faq summary{font-size:.92rem}.faq p{font-size:.88rem}.related-work{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:42px;padding-block:22px}.related-work .text-link{font-size:.85rem}.feature-art .work-art{height:300px}.feature-art .flow-row{gap:16px}.feature-art .flow-row>span{font-size:.7rem;padding:10px 20px}.feature-art .flow-centre{padding:16px 20px}.feature-art .flow-centre strong{font-size:.8rem}.feature-art .flow-tags span{font-size:.6rem;padding:4px 12px}.feature-art .release-window{max-width:285px}.feature-art .release-line{padding:12px 17px}.feature-art .release-line strong{font-size:.72rem}.feature-art .release-line small{font-size:.53rem}.story{grid-template-columns:1fr;gap:43px}.story aside{border-bottom:1px solid var(--line);padding-bottom:24px}.story aside p{margin-bottom:16px}.story-body h2{font-size:1.8rem}.story-body p{font-size:.96rem}.story-body section{margin-top:32px}.about-layout{grid-template-columns:1fr;gap:35px;padding-bottom:62px}.about-portrait{min-height:290px;gap:31px}.large-mark{padding:26px}.large-mark img{width:97px;height:97px}.about-portrait>span{font-size:.52rem}.about-copy h2{font-size:2.25rem;margin-bottom:22px}.about-copy p{font-size:.95rem}.contact-layout{grid-template-columns:1fr;gap:38px;padding-bottom:60px}.contact-layout aside h2{font-size:2.2rem}.contact-layout aside>p{font-size:.93rem;max-width:none}.contact-email{font-size:.85rem}.contact-note{margin-top:24px;padding-top:21px;max-width:none}.contact-note p{font-size:.85rem}.form-card{padding:24px 20px}.form-helper{font-size:.7rem}.policy{padding-bottom:55px}.policy h2{font-size:1.5rem}.policy p,.policy li{font-size:.9rem}.not-found{padding-block:65px}.not-found h1{font-size:3.2rem}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.brand>span{font-size:1.05rem}.brand{gap:8px}.nav-wrap{gap:12px}.brand>img{width:27px;height:27px}.hero h1{font-size:3.5rem}.hero-actions{gap:16px}.hero-actions .text-link{font-size:.7rem}.hero-actions .button{padding:12px 15px;font-size:.73rem;gap:15px}.system-map{padding:21px 14px}.map-bottom small{font-size:.41rem}.map-bottom strong{font-size:.57rem}.service-card :is(h2,h3){font-size:1.03rem}.service-card .text-link{font-size:.66rem;gap:7px}.flow-row>span{padding-inline:20px}.contact-email{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.copy-fallback{margin-top:20px;font-size:.82rem}.copy-fallback summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.copy-fallback label{display:block;margin-top:16px}.copy-fallback textarea{font-size:.8rem;background:white}.copy-fallback button{border:0;background:none;cursor:pointer}#copy-status{font-size:.75rem;margin:0}.draft-ready label{font-size:.76rem}
@media(max-width:800px){input,select,textarea,.copy-fallback textarea{font-size:16px}}

.product-grid-single{grid-template-columns:1fr}.product-grid-single .product-card{display:grid;grid-template-columns:.8fr 1.2fr}.product-grid-single .product-art{height:100%;min-height:285px}.product-grid-single .product-copy{padding:38px}.product-grid-single .product-copy :is(h2,h3){font-size:1.9rem}.product-grid-single .product-copy>p:not(.eyebrow){font-size:1rem;max-width:520px}.product-grid-single .product-copy .text-link{font-size:.87rem}
@media(max-width:600px){.product-grid-single .product-card{grid-template-columns:1fr}.product-grid-single .product-art{height:170px;min-height:0}.product-grid-single .product-copy{padding:24px}.product-grid-single .product-copy :is(h2,h3){font-size:1.6rem}.product-grid-single .product-copy>p:not(.eyebrow){font-size:.92rem}}

/* Keep the diagram identities centred within their cards. */
.map-top,.map-hub{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:0}.map-identity{grid-column:2;display:flex;align-items:center;gap:10px}

/* Platform experience near the hero; current brand relationships near contact. */
.platform-logos{display:grid;grid-template-columns:1fr 1.6fr .7fr .9fr 1.2fr 1fr;align-items:center;gap:30px;flex:1;min-width:0;list-style:none;margin:0;padding:0}
.platform-logos li{min-width:0;min-height:52px;display:flex;align-items:center;justify-content:center;padding:8px 0}
.platform-logos img{width:var(--platform-width);height:auto;max-width:100%;display:block}
.platform-shopify{--platform-width:126px}.platform-datapel{--platform-width:116px}.platform-nuorder{--platform-width:220px}.platform-cin7{--platform-width:86px}.platform-shipstation{--platform-width:155px}.platform-netsuite{--platform-width:112px}.platform-netsuite img{filter:brightness(0)}
.current-brands{padding-block:76px;text-align:center;background:#e3edf1;border-top:1px solid var(--line)}
.current-brands+.services-section{background:var(--paper)}
.current-brands h2{font-size:2.35rem;line-height:1.2}
.current-brands .container>p{color:var(--ink);font-size:.95rem;margin:20px auto 32px;max-width:580px}
.brand-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:48px;max-width:760px;list-style:none;margin:0 auto;padding:0}
.brand-logos li{min-width:0;min-height:64px;display:flex;align-items:center;justify-content:center;padding:8px 0}

.brand-elk{--brand-width:88px}.brand-2xu{--brand-width:112px}.brand-rumored{--brand-width:152px}
.brand-2xu img{mix-blend-mode:multiply}
.shopify-icon{background:transparent}.shopify-icon img{width:29px;height:auto}
@media(max-width:1100px){.platform-strip .container{flex-direction:column;align-items:center;gap:16px}.platform-strip .micro{max-width:none;text-align:center}.platform-logos{width:100%;gap:24px}}
@media(max-width:600px){.platform-strip .container{gap:18px}.platform-logos{grid-template-columns:1fr 1fr;gap:12px 26px}.platform-nuorder{--platform-width:160px}.platform-logos li{min-height:48px}.platform-shipstation{--platform-width:138px}.platform-shopify{--platform-width:112px}.platform-datapel{--platform-width:106px}.platform-cin7{--platform-width:80px}.current-brands{padding-block:52px}.current-brands h2{font-size:1.9rem}.current-brands .container>p{font-size:.9rem;margin-block:18px 26px}.current-brands .container>p br{display:none}.brand-logos{grid-template-columns:1fr 1fr;gap:12px 26px;max-width:340px}.brand-rumored{grid-column:1/-1;--brand-width:145px}.brand-logos li{min-height:52px}.brand-elk{--brand-width:82px}.brand-2xu{--brand-width:105px}}

/* Accessibility: retain the blue palette with stronger text and control contrast. */
.work-card .eyebrow,.service-number>span,.footer-label,.step-label,.about-portrait>span,.status,.window-chrome span,.step-dot,.release-line>span:last-child{color:var(--muted)}
.art-note{opacity:1}
input,select,textarea,.desktop-nav a:last-child{border-color:var(--control-border)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.form-error{color:#892e29}
.button-quiet:hover{color:white}
/* A white inner ring and navy outer ring remain visible on either surface. */
:is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 3px #fff}
:target,:focus{scroll-margin-block:7rem 2rem}
:is(.brand,.text-link,.desktop-nav a,.footer-columns a,.footer-bottom a,.breadcrumbs a,.contact-email,summary,button){min-height:44px;min-width:44px}
:is(.brand,.text-link,.desktop-nav a,.footer-columns a,.footer-bottom a,.breadcrumbs a,.contact-email,summary){align-content:center}
.footer-columns a{width:fit-content}
.footer-bottom a,.breadcrumbs a{display:inline-flex;align-items:center}
.faq summary{align-items:center}
/* Inline prose links remain inline and are recognisable without colour alone. */
:is(.lede,.about-copy,.story-body,.detail-item,.faq,.policy,.form-helper,.form-privacy,.contact-layout aside,.draft-ready) p a:not(.button):not(.text-link){text-decoration:underline;text-underline-offset:.18em}
.site-toast{position:fixed;z-index:30;right:24px;bottom:24px;display:grid;grid-template-columns:36px minmax(0,1fr) 28px;gap:12px;align-items:start;width:min(390px,calc(100vw - 32px));padding:16px;background:#003a5d;color:#fff;border:1px solid #7fb4cc;border-radius:9px;box-shadow:0 18px 44px #003a5d40;opacity:0;transform:translateY(20px) scale(.97);transition:opacity .24s ease,transform .24s cubic-bezier(.2,.85,.3,1)}.site-toast-visible{opacity:1;transform:translateY(0) scale(1)}.site-toast-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#d9f1e8;color:#0a5a46;font-size:1.2rem;font-weight:700;line-height:1}.site-toast-error{border-color:#d79186}.site-toast-error .site-toast-icon{background:#ffe5e1;color:#862b25}.site-toast strong,.site-toast div>span{display:block}.site-toast strong{font-size:.9rem;line-height:1.3}.site-toast div>span{margin-top:3px;font-size:.78rem;line-height:1.5;color:#d9e8ef}.site-toast-dismiss{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#d9e8ef;font-size:1.45rem;line-height:1;cursor:pointer}.site-toast-dismiss:hover{background:#ffffff20;color:#fff}@media(prefers-reduced-motion:reduce){.site-toast{transition:none}}@media(max-width:600px){.site-toast{right:16px;bottom:16px;width:calc(100vw - 32px)}}
body{overflow-wrap:anywhere}
:is(.hero,.section-heading,.work-grid,.service-grid,.approach,.product-grid,.detail-intro,.steps-grid,.faq-section,.story,.about-layout,.contact-layout,.form-row,.footer-columns)>*{min-width:0}
.hero-actions,.footer-bottom>div,.breadcrumbs,.flow-tags{flex-wrap:wrap}
input,select,textarea{max-width:100%}
textarea{min-height:8rem}
.work-art,.feature-art .work-art{height:auto}
.flow-row,.flow-centre{max-width:100%}
.flow-row>span{min-width:0}
.map-identity{min-width:0}
.map-hub img,.map-identity img{flex-shrink:0}
@media(max-width:800px),(max-height:600px){
  .header{position:relative}
  html{scroll-padding-top:1rem}
  :target,:focus{scroll-margin-block:1rem}
}
@media(max-width:800px){
  .mobile-menu nav{top:100%;max-height:calc(100dvh - 5rem);overflow-y:auto}
}
@media(max-width:360px){
  .service-grid{grid-template-columns:1fr}
  .service-card+.service-card{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .hero h1{font-size:3.2rem}
  .feature-art .flow-row>span{padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){
  .button:hover svg,.text-link:hover svg{transform:none}
}
@media(forced-colors:active){
  :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid Highlight;box-shadow:none}
  .button,input,select,textarea,.desktop-nav a:last-child{border:1px solid ButtonText}
  .button{background:ButtonFace;color:ButtonText}
  a:not(.button){color:LinkText}
  .button:disabled{color:GrayText;opacity:1}
  .brand-2xu img{mix-blend-mode:normal}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.form-title{font-size:1.5rem;line-height:1.3;margin-bottom:12px}
.required-note{color:var(--muted);font-size:.85rem;margin-bottom:24px}
.enquiry-success{min-height:430px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:32px 4px;color:var(--ink)}
.enquiry-success-mark{display:grid;place-items:center;width:92px;height:92px;margin-bottom:28px;border-radius:50%;background:#d9f1e8;color:#0a5a46;box-shadow:0 10px 24px #0a5a4620}
.enquiry-success-mark svg{width:55px;height:55px}
.enquiry-success .micro{color:var(--blue);margin-bottom:18px}
.enquiry-success h2{font-size:clamp(2rem,3.1vw,3rem);margin-bottom:18px}
.enquiry-success p:last-child{max-width:440px;color:var(--muted);font-size:1rem;line-height:1.7}
@media(max-width:600px){.enquiry-success{min-height:370px;padding:22px 0}.enquiry-success-mark{width:78px;height:78px;margin-bottom:24px}.enquiry-success-mark svg{width:46px;height:46px}}
.field-error{color:#892e29;font-size:.85rem;line-height:1.5;margin-block:8px 16px}
:is(input,select,textarea)[aria-invalid="true"]{border:2px solid #892e29}
@media(forced-colors:active){:is(input,select,textarea)[aria-invalid="true"]{border:2px dashed CanvasText}}

/* Wrap the wordmark only when enlarged or spaced text exhausts its container. */
.brand{max-width:100%;flex-shrink:1;min-width:0}
.brand>img{flex-shrink:0}
.brand>span{white-space:normal;min-width:0;overflow-wrap:normal}
/* Keep small diagram labels on a solid surface above the dot pattern. */
.map-heading .micro,.map-caption{background:#eef3f5}
.map-bottom>div{background:#fff}

/* Keep explicit field labels close to their controls, with space between fields. */
#contact-form label{margin-bottom:8px}
#contact-form>label{margin-top:20px}
.form-context{margin:0 0 18px;padding:10px 12px;border-left:3px solid var(--sky);background:var(--pale);color:var(--ink);font-size:.9rem}

/* Illustration captions participate in layout when text grows. */
.art-label{position:static;align-self:flex-start;margin-bottom:20px}
.art-note{position:static;align-self:flex-end;margin-top:20px}
.work-art{padding-block:22px 17px;overflow:visible}
.release-window,.feature-art .release-window{max-width:100%;flex-shrink:0}
.map-heading{flex-wrap:wrap}
.map-heading .micro{min-width:0;flex:1 1 12rem}

@media(max-width:600px){
  .release-window,.feature-art .release-window{transform:none;max-width:100%}
}

/* Reserve indicator space so enlarged FAQ text cannot push it off-screen. */
.faq summary{position:relative;display:block;padding-inline-end:3rem}
.faq summary>span{position:absolute;inset-inline-end:.5rem;top:50%;width:1.5rem;height:1.5rem;display:grid;place-items:center;line-height:1;transform:translateY(-50%)}
.faq[open] summary>span{transform:translateY(-50%) rotate(45deg)}

/* Named case studies share a quiet illustration and readable story layout. */
.case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.case-grid .work-card{min-width:0}
.case-grid .work-card :is(h2,h3){font-size:1.65rem;line-height:1.2}
.case-grid .work-card-copy>p:not(.eyebrow){font-size:.92rem}
.case-grid .work-card-copy .eyebrow{font-size:.6rem;line-height:1.7;letter-spacing:.1em}
.case-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;min-height:310px;padding:30px 20px;border:1px solid var(--line);border-radius:6px;background:#eef3f4;color:var(--ink);text-align:center;overflow-wrap:anywhere}
.case-art-elk{background:#edf0e8}.case-art-rumored{background:#f2eee8}.case-art-2xu{background:#e9eff5}
.case-art>.micro{font-size:.6rem;line-height:1.6;color:var(--muted)}
.case-logo{object-fit:contain;max-width:70%;height:50px;width:180px}
.case-logo-elk{width:105px}.case-logo-rumored{width:185px}.case-logo-2xu{width:130px;mix-blend-mode:multiply}
.case-route{display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%;font-size:.8rem;line-height:1.5;font-weight:550}
.case-route>span:not(.case-route-arrow){min-width:0}
.case-route-arrow{flex:none;color:var(--muted)}.case-route-arrow svg{width:22px;height:22px}
.case-art-caption{font-size:.7rem;color:var(--muted);line-height:1.7;margin:0!important}
.case-feature .case-art{min-height:330px;gap:25px}
.case-feature .case-logo{height:64px;width:230px}.case-feature .case-logo-elk{width:130px}.case-feature .case-logo-2xu{width:170px}
.case-feature .case-route{font-size:1rem;gap:25px}.case-feature .case-art-caption{font-size:.8rem}
.case-story{grid-template-columns:.65fr 1.4fr}
.case-story .case-client-name{font-size:1.35rem;font-weight:600;color:var(--blue);margin-top:-10px}
.case-scope{list-style:none;padding:0;margin:0 0 28px;color:var(--muted);font-size:.9rem;line-height:1.8}
.case-scope li+li{margin-top:6px}
.case-detail-list{padding-left:1.2em;margin-top:20px;color:var(--muted);line-height:1.8;font-size:.97rem}
.case-detail-list li+li{margin-top:12px}
.case-measurement{border-top:1px solid var(--line);padding-top:28px}
.case-related-links{display:flex;gap:32px;flex-wrap:wrap}
.breadcrumbs{align-items:center}
.case-related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
.case-related-links .text-link{justify-content:space-between}
@media(max-width:600px){.case-related-links{grid-template-columns:1fr}}
@media(max-width:1100px){.case-grid{gap:22px}.case-art{padding:25px 16px}.case-grid .work-card :is(h2,h3){font-size:1.45rem}.case-route{font-size:.74rem;gap:8px}}
@media(max-width:800px){.case-grid{grid-template-columns:1fr}.case-grid .work-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.case-grid .work-card-copy{padding:0}.case-story{gap:40px}.case-art{min-height:290px}}
@media(max-width:600px){.case-grid{gap:42px}.case-grid .work-card{display:block}.case-grid .work-card-copy{padding-top:22px}.case-grid .work-card :is(h2,h3){font-size:1.65rem}.case-story{grid-template-columns:1fr}.case-story aside{padding-bottom:24px;border-bottom:1px solid var(--line)}.case-feature .case-art{min-height:290px;padding:28px 18px}.case-feature .case-route{font-size:.9rem;gap:12px}.case-related-links{gap:22px}.case-art-caption{font-size:.75rem}.case-route{font-size:.88rem}}
@media(forced-colors:active){.case-logo-2xu{mix-blend-mode:normal}}

/* Optically align the wordmark and size the system cards around their content. */
.brand>span{position:relative;top:-1px}
.nav-wrap{padding-block:8px;flex-wrap:wrap}
.process-list>li>span{flex:0 0 2ch;white-space:nowrap;font-variant-numeric:tabular-nums}
.process-list>li>div{min-width:0;flex:1}
.desktop-nav .contact-nav,.mobile-menu .contact-nav{display:flex;align-items:center;gap:10px}
.system-map .map-top,.system-map .map-hub{width:fit-content;max-width:100%;min-height:0;margin-inline:auto;padding:16px 20px;border:1px solid var(--line);border-radius:7px;grid-template-columns:minmax(0,1fr)}
.system-map .map-hub{border-color:var(--blue)}
.system-map .map-identity{grid-column:1;justify-self:center;max-width:100%}
.system-map .map-identity>div{min-width:0}
.system-map .map-branches,.system-map .map-bottom{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.system-map .map-branches:after{left:calc(16.666667% - 2.666667px);right:calc(16.666667% - 2.666667px)}
.system-map .map-bottom>div{width:fit-content;max-width:100%;min-width:0;min-height:0;justify-self:center;align-self:start;padding:14px 10px;border-radius:7px;justify-content:center;text-align:center}

/* Company product pages and brand artwork. */
.case-logo-rumored{position:relative;top:4px}
.mcp-intro>p{max-width:720px;color:var(--muted);font-size:1.05rem}
.mcp-connectors{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mcp-connector-card{padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:6px;min-width:0}
.mcp-connector-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.mcp-connector-heading img{width:240px;height:auto;max-width:100%}
.mcp-connector-card h3{font-size:1.7rem}.mcp-connector-card p:not(.micro){color:var(--muted);margin-top:18px}
.mcp-connector-card .text-link{margin-top:16px}.mcp-connector-request h3{margin-top:28px}
.mcp-use-cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.mcp-use-cases h3{margin-bottom:18px}.mcp-use-cases p{color:var(--muted)}
.mcp-pricing{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.mcp-pricing .lede{margin-top:26px}.mcp-price-card{border:1px solid var(--line);border-radius:6px;padding:34px;background:#fff;min-width:0}
.mcp-price{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;margin-block:16px;color:var(--blue)}.mcp-price strong{font-size:3.5rem;line-height:1.2}
.mcp-price-card>p:not(.mcp-price){color:var(--muted)}.mcp-founding{padding-block:24px;border-block:1px solid var(--line);margin-top:24px}.mcp-founding p{margin-top:10px;color:var(--muted)}
.mcp-price-card ul{padding-left:1.2em;color:var(--muted);margin-block:24px}.mcp-price-card li+li{margin-top:8px}
.product-company-mark{display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%;padding:22px;color:var(--blue)}
.product-company-mark img{width:40px;height:40px;flex:none}.product-company-mark>span{font-size:1.4rem!important;line-height:1.2;font-weight:650;letter-spacing:-.035em;transform:translateY(-1px)}
.mcp-brand>span{white-space:normal;max-width:330px;line-height:1.2}
@media(max-width:1000px){.mcp-brand>span{font-size:1.4rem;max-width:245px}.mcp-pricing{gap:35px}.mcp-use-cases{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mcp-connectors,.mcp-pricing{grid-template-columns:1fr;gap:28px}.mcp-connector-card,.mcp-price-card{padding:24px}.mcp-use-cases{grid-template-columns:1fr;gap:28px}.mcp-brand>span{font-size:1.12rem;max-width:220px}.product-company-mark>span{font-size:1.25rem!important}.mcp-connector-card h3{font-size:1.5rem}}
.hero h1{font-size:clamp(3.1rem,5vw,5rem)}
@media(max-width:600px){.hero h1{font-size:clamp(2.65rem,10.8vw,4rem)}}

/* Original product branding and two product layout. */
.product-grid.product-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-grid-two .product-card{display:flex;flex-direction:column}
.product-grid-two .product-art{height:190px;min-height:190px;padding:24px}
.product-grid-two .product-original-logo{width:min(100%,420px);height:auto;object-fit:contain}
.product-grid-two .brick-product .product-art{background:#f3f7f1}
.product-grid-two .product-company-mark{padding:0}
@media(max-width:700px){.product-grid.product-grid-two{grid-template-columns:1fr}.product-grid-two .product-art{height:170px;min-height:170px}}

.product-grid-single .product-original-logo{width:min(100%,340px);height:auto;object-fit:contain}
.product-grid-single .brick-product .product-art{background:#f3f7f1;padding:30px}

/* Keep the NuORDER product introduction and its actions together. */
.nuorder-hero{padding-block:36px 80px}
.nuorder-hero .breadcrumbs{margin-bottom:36px;flex-wrap:wrap}
.nuorder-hero h1{font-size:clamp(3rem,6.1vw,5.5rem);line-height:1.1;letter-spacing:0;max-width:960px}
.nuorder-hero h1 em{display:block;color:var(--blue);font-style:normal}
.nuorder-hero .lede{max-width:700px;margin-top:26px}
.nuorder-hero .hero-actions{margin-top:28px;gap:24px}
.nuorder-access-note{margin-top:22px;font-size:.85rem;color:var(--muted)}
.mcp-use-cases>*,.mcp-pricing>*{min-width:0}
.mcp-use-cases .step-label{margin-bottom:20px}
.mcp-price-card .button{max-width:100%;gap:18px}
@media(max-width:800px){.mcp-pricing{grid-template-columns:1fr;gap:32px}.mcp-pricing>div:first-child{max-width:660px}}
@media(max-width:600px){.nuorder-hero{padding-block:24px 56px}.nuorder-hero .breadcrumbs{margin-bottom:26px}.nuorder-hero h1{font-size:clamp(2.6rem,10.8vw,4rem)}.nuorder-hero .lede{font-size:1rem}.nuorder-hero .hero-actions{gap:12px 22px}.nuorder-access-note{font-size:.8rem}.mcp-price-card{padding:24px}}

/* Case studies: lead with the benefit and show the workflow without client data. */
.case-grid .case-card-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center;padding-bottom:36px;border-bottom:1px solid var(--line)}
.case-card-featured .case-art{min-height:330px}
.case-card-featured .work-card-copy{padding:0}
.case-grid .case-card-featured h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.case-highlights ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:24px 0;margin:0 0 40px;border-block:1px solid var(--line)}
.case-highlights li{color:var(--blue);font-size:.97rem;line-height:1.5;font-weight:550;min-width:0}
.case-stats ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:24px 0;margin:0;border-block:1px solid var(--line)}
.case-stats li{display:grid;gap:6px;min-width:0}
.case-stats strong{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.4rem);font-variant-numeric:tabular-nums;line-height:1.05;color:var(--blue)}
.case-stats span{font-size:.9rem;line-height:1.5;color:var(--muted)}
.case-stats-basis{max-width:850px;margin:14px 0 40px;font-size:.85rem;line-height:1.6;color:var(--muted)}
.case-developer{margin:-10px 0 22px;font-size:1rem;font-weight:600;color:var(--blue)}
.case-diagram{margin:0;padding:36px;background:var(--tint);border:1px solid var(--line);border-radius:8px}
.case-diagram figcaption{max-width:750px;margin-bottom:30px}
.case-diagram h2{font-size:clamp(1.5rem,2.5vw,2rem);margin-block:12px;line-height:1.2}
.case-diagram figcaption>p{font-size:.9rem;color:var(--muted);margin:0}
.diagram-row+.diagram-row{margin-top:28px}
.diagram-label{font-size:.82rem;color:var(--muted);font-weight:600;margin-bottom:12px}
.diagram-steps{display:grid;gap:32px;list-style:none;margin:0;padding:0}
.diagram-steps-2{grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}.diagram-steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.diagram-steps>li{min-width:0;position:relative;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.diagram-number{display:block;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums;margin-bottom:12px}
.diagram-steps strong{display:block;font-size:1rem;line-height:1.4;color:var(--blue)}
.diagram-steps li>p{font-size:.85rem;color:var(--muted);line-height:1.6;margin-top:8px}
.diagram-arrow{position:absolute;top:50%;right:-29px;transform:translateY(-50%);color:var(--blue)}.diagram-arrow svg{width:24px;height:24px}
.case-story .story-body{min-width:0}.case-story .story-body>section{margin-top:36px}
@media(max-width:800px){.case-grid .case-card-featured{grid-template-columns:1fr;gap:24px}.diagram-steps-4{grid-template-columns:1fr}.diagram-steps-4 .diagram-arrow{top:auto;bottom:-29px;left:50%;right:auto;transform:translateX(-50%) rotate(90deg)}}
@media(max-width:600px){.case-diagram{padding:24px 18px}.case-highlights ul,.case-stats ul{grid-template-columns:1fr;gap:14px}.case-highlights ul,.case-stats-basis{margin-bottom:28px}.diagram-steps{grid-template-columns:1fr}.diagram-arrow{top:auto;bottom:-29px;left:50%;right:auto;transform:translateX(-50%) rotate(90deg)}.case-grid .case-card-featured .work-card-copy{padding:0}.case-grid .case-card-featured h2{font-size:1.8rem}}

/* Shared alignment: numbers never shrink into separate digits. */
.detail-item>span,.service-index,.service-number>span,.step-label{white-space:nowrap;font-variant-numeric:tabular-nums}
.detail-item>span{flex:0 0 2ch}.detail-item>div{min-width:0;flex:1}
.policy{max-width:1240px}.policy>*{max-width:800px}
@media(max-width:600px){.platform-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 26px}.platform-logos>li{width:calc(50% - 13px);flex:none}.platform-logos>li:last-child:nth-child(odd){width:100%}.platform-nuorder{grid-column:auto}}
@media(max-width:420px){.platform-logos{gap:10px}.platform-logos>li{width:100%;min-height:58px}.platform-logos .platform-nuorder{--platform-width:225px}}
/* A human introduction, using the original public portrait. */
.about-person{margin:0;padding:28px;gap:20px;min-height:0}
.about-person>img{width:100%;max-width:400px;height:auto;border-radius:50%;aspect-ratio:1;object-fit:cover}
.about-person figcaption{text-align:center;font-size:1.1rem;color:var(--blue);font-weight:600}
.about-person figcaption span{display:block;color:var(--muted);font-size:.85rem;font-weight:400;margin-top:5px}
/* Services overview: practical scope and a path into each service. */
.service-jump-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:38px}
.service-jump-links a{padding:12px 18px;border:1px solid var(--control-border);border-radius:4px;color:var(--blue);font-size:.9rem}
.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:52px;border-top:1px solid var(--line)}
.service-overview>*{min-width:0}.service-index{display:block;color:var(--muted);font-size:.8rem;margin-bottom:18px}
.service-overview h2{font-size:clamp(2rem,3.4vw,3rem)}.service-overview .lede{font-size:1.05rem;margin-top:22px}
.service-overview .text-link{margin-top:20px}.service-overview h3{font-size:1.3rem;margin-bottom:24px}
.service-overview ul{list-style:none;margin:0;padding:0}.service-overview li+li{margin-top:24px}
.service-overview li strong{display:block;color:var(--ink);font-size:1rem}.service-overview li p{margin-top:6px;font-size:.95rem;color:var(--muted)}
.service-proof{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}.service-proof a{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}
.service-engagements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.service-engagements h3{margin-bottom:18px}.service-engagements p{color:var(--muted)}
@media(max-width:800px){.service-overview{gap:36px}.service-engagements{gap:24px}}
@media(max-width:600px){.service-overview{grid-template-columns:1fr;gap:28px;padding-block:36px}.service-engagements{grid-template-columns:1fr;gap:32px}.service-jump-links{gap:10px}.service-jump-links a{flex:1 1 45%;text-align:center;padding:12px}}
/* Real brand photographs introduce the client; diagrams explain our work. */
.case-cover{position:relative;border-radius:7px;overflow:hidden;background:var(--tint);aspect-ratio:4/3;min-width:0}
.case-brand-photo{width:100%;height:100%;object-fit:cover;object-position:center 24%}
.case-cover-rumored .case-brand-photo{object-position:65% center}
.case-cover-logo{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;justify-content:center;background:var(--paper);border-radius:4px;width:152px;height:72px;padding:18px}
.case-cover-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.case-cover-elk .case-cover-logo img{width:78px}.case-cover-2xu .case-cover-logo img{width:105px}
.case-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.case-hero>*{min-width:0}.case-hero h1{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.12}
.case-hero .lede{font-size:1.1rem}.case-hero-photo{margin:0}
.case-hero .case-cover{aspect-ratio:4/5;max-height:540px}
.case-hero-photo figcaption{font-size:.75rem;color:var(--muted);margin-top:10px}.case-hero-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.case-platform-logos{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;list-style:none;margin:28px 0 0;padding:0}
.case-platform-logos li{display:flex;align-items:center;min-height:44px;max-width:100%}
.case-platform-logos img{display:block;width:auto;height:auto;max-height:28px;max-width:var(--platform-width,120px);object-fit:contain;object-position:left center}.case-platform-logos .platform-nuorder img{max-width:190px}
@media(max-width:1000px){.case-hero{gap:36px}.case-hero h1{font-size:2.9rem}}
@media(max-width:700px){.case-hero{grid-template-columns:1fr;gap:28px}.case-hero h1{font-size:clamp(2.2rem,8.4vw,3.2rem)}.case-hero .case-cover{aspect-ratio:4/3}.case-platform-logos{gap:12px 20px}.case-hero .lede{font-size:1rem}}

/* Store interiors and community scenes keep their own useful focal points. */
.case-photo-store .case-brand-photo{object-position:center 55%}
.case-photo-event .case-brand-photo{object-position:center 65%}
.case-photo-wide .case-brand-photo{object-position:60% center}
.case-hero .case-photo-wide{aspect-ratio:16/10}

/* The capability panel connects each discipline with a useful business outcome. */
.capability-map{max-width:510px;margin-inline:auto;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);box-shadow:0 14px 40px #003a5d0a}
.capability-hub{display:flex;align-items:center;gap:14px;padding:22px 24px;background:var(--blue);color:white}
.capability-hub img{flex:none;width:42px;height:42px;background:white;border-radius:50%;padding:3px}
.capability-hub strong{display:block;font-size:1.12rem;line-height:1.35;letter-spacing:-.015em}
.capability-hub span{display:block;color:#c4dbe8;font-size:.78rem;line-height:1.5;margin-top:3px}
.capability-list{list-style:none;margin:0;padding:0 24px}
.capability-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding-block:19px}
.capability-list li+li{border-top:1px solid var(--line)}
.capability-symbol{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d5e0e6;border-radius:8px;background:#eef3f5;margin-top:3px}
.capability-symbol .service-icon{width:22px;height:22px;color:var(--blue)}
.capability-category{display:block;color:var(--blue);font-size:.65rem;font-weight:650;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}
.capability-list strong{display:block;font-size:.98rem;line-height:1.35;letter-spacing:-.015em;font-weight:600}
.capability-list p{font-size:.76rem;color:var(--muted);line-height:1.55;margin-top:5px}
.capability-continuity{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-top:1px solid var(--line);background:#eef3f5;color:var(--blue);font-size:.75rem;font-weight:550;line-height:1.5;text-align:center}
.capability-continuity>span{width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}
@media(max-width:1000px) and (min-width:601px){.capability-hub{padding:18px}.capability-list{padding-inline:18px}.capability-list li{gap:10px;grid-template-columns:30px minmax(0,1fr)}.capability-symbol{width:30px;height:30px}.capability-list strong{font-size:.88rem}}
@media(max-width:420px){.capability-hub{padding:18px 16px;gap:11px}.capability-hub strong{font-size:1rem}.capability-hub span{font-size:.73rem}.capability-list{padding-inline:16px}.capability-list li{gap:11px;padding-block:17px;grid-template-columns:30px minmax(0,1fr)}.capability-symbol{width:30px;height:30px}.capability-symbol .service-icon{width:19px;height:19px}.capability-list strong{font-size:.91rem}.capability-list p{font-size:.75rem}.capability-category{font-size:.62rem}.capability-continuity{font-size:.72rem}}

.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#form-progress{font-size:.85rem;color:var(--muted);margin-top:10px}

/* The client logo stays on the photo; project software sits below it. */
.case-cover-brands{position:absolute;bottom:12px;left:12px;width:fit-content;max-width:calc(100% - 24px);display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:4px}
.case-cover-brands .case-cover-logo{position:static;flex:0 0 70px;width:70px;height:32px;padding:0;background:transparent;border-radius:0}
.case-cover-brands .case-cover-logo img{max-height:28px;max-width:70px}
.case-cover-elk .case-cover-brands .case-cover-logo img{width:54px}
.case-media{min-width:0}
.case-media>.case-platform-logos{min-width:0;margin:14px 0 0;padding:0;gap:8px 18px}
.case-media>.case-platform-logos li{min-height:24px;max-width:100%}



@media(max-width:360px){.case-cover-brands{left:8px;max-width:calc(100% - 16px);bottom:8px;padding:10px;gap:10px}.case-cover-brands .case-cover-logo{flex-basis:58px;width:58px}.case-cover-brands .case-cover-logo img{max-width:58px}.case-media>.case-platform-logos{gap:8px 14px}}

/* Platform artwork shares one optical scale on the homepage and case studies.
   Widths compensate for symbols, stacked lettering and official endorsements. */
.platform-shopify{--optical-width:98px}
.platform-cin7{--optical-width:100px}
.platform-datapel{--optical-width:100px}
.platform-elevar{--optical-width:116px}
.platform-netsuite{--optical-width:88px}
.platform-retail-express{--optical-width:62px}
.platform-nuorder{--optical-width:263px}
.platform-google-analytics{--optical-width:128px}
.platform-klaviyo{--optical-width:88px}
.platform-myob{--optical-width:66px}
.platform-shipstation{--optical-width:163px}
.platform-xero{--optical-width:79px}
.platform-starshipit{--optical-width:150px}
.platform-stripe{--optical-width:65px}
.platform-consentmo{--optical-width:157px}
.platform-apparel21{--optical-width:124px}
.platform-strip .platform-logos img,.case-media>.case-platform-logos li img{
 display:block;width:var(--optical-width,110px);height:auto;max-width:100%;max-height:none;object-fit:contain
}
.platform-strip .container{flex-direction:column;align-items:center;gap:24px}
.platform-strip .micro{max-width:none;text-align:center}
.platform-strip .platform-logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px 24px;width:100%;flex:none}
.platform-strip .platform-logos>li,.platform-strip .platform-logos>li:last-child{grid-column:span 2;width:auto;min-width:0;height:64px;min-height:0;padding:8px 0;display:flex;align-items:center;justify-content:center}
.platform-strip .platform-logos>li:nth-last-child(2){grid-column:3 / span 2}
.platform-strip .platform-logos>li:last-child{grid-column:5 / span 2}
@media(max-width:1050px){
 .platform-strip .platform-logos{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;gap:8px 24px}
 .platform-strip .platform-logos>li,.platform-strip .platform-logos>li:nth-last-child(2),.platform-strip .platform-logos>li:last-child{grid-column:auto}
 .platform-strip .platform-logos>.platform-nuorder,.platform-strip .platform-logos>li:last-child{grid-column:1 / -1}
}

/* Current relationships and earlier project experience remain distinct. */
.current-brands .brand-logos{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;gap:28px}
.current-brands .brand-logos li{grid-column:auto;min-height:90px}

.brand-slapstickco{--brand-width:86px}.brand-melbourne-surfboard-shop{--brand-width:180px}
.previous-brands{padding-block:64px;background:var(--paper);border-top:1px solid var(--line);text-align:center}
.previous-brands h2{font-size:2.1rem;line-height:1.25}
.previous-brands .container>p{color:var(--muted);font-size:.95rem;margin:18px auto 30px;max-width:560px}
.previous-brand-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1050px;margin:0 auto;padding:0;gap:0 32px}
.previous-brand-list li{min-width:0;display:flex;align-items:center;justify-content:center;min-height:78px;padding:18px 10px;border-bottom:1px solid var(--line);font-size:1.08rem;font-weight:550;color:var(--ink);line-height:1.45}
.previous-brand-list li:nth-last-child(-n+3){border-bottom:0}
@media(max-width:700px){.current-brands .brand-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;max-width:480px}.current-brands .brand-logos li:last-child{grid-column:1 / -1}.previous-brands{padding-block:48px}.previous-brands h2{font-size:1.8rem}.previous-brand-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.previous-brand-list li{font-size:.95rem}.previous-brand-list li:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.previous-brand-list li:last-child{grid-column:1 / -1;border-bottom:0}}

.previous-brand-list a{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.previous-brand-list a:hover{text-decoration-color:currentColor}

:root{--case-reading-width:70ch}
.case-cover-type{padding:32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background:#e8eff0;color:var(--blue);gap:24px;min-height:300px}
.case-type-client{font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;letter-spacing:-.035em;max-width:16ch;font-weight:600}
.case-type-systems{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.75rem;line-height:1.5}
.case-type-systems>span:not(.case-type-plus){border:1px solid #9db2bd;border-radius:4px;padding:7px 10px;background:#fcfcf9}
.case-type-plus{color:#40515e}.case-type-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#40515e}
.case-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 26px}
.case-library-grid .case-cover{height:265px;min-height:265px}
.case-library-grid .work-card :is(h2,h3){font-size:1.48rem}
.case-library-grid .work-card{min-width:0;display:flex;flex-direction:column}
.case-library-grid .work-card[hidden]{display:none}
.case-library-grid .work-card-copy{display:flex;flex-direction:column;flex:1}
.case-library-grid .text-link{margin-top:auto;padding-top:22px}
.case-library-grid .work-card .case-reading,.case-reading{font-size:.75rem;color:var(--muted);margin-top:18px}
.latest-work-section{background:#f5f5f0;border-block:1px solid #e2e3db}
.technical-notes-home{border-top:1px solid var(--line)}
.technical-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.technical-note-grid>li{min-width:0}
.technical-note-grid article{height:100%;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 10px #003a5d04;transition:border-color .15s,box-shadow .15s}
.note-card-copy{min-width:0;width:100%;padding:0 24px 24px}
.technical-note-meta{display:flex;gap:14px;color:var(--blue);font-size:.66rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.technical-note-meta span{color:var(--muted)}
.technical-note-grid h2,.technical-note-grid h3{font-size:1.55rem;line-height:1.25;letter-spacing:.005em;margin-top:19px;max-width:510px}
.note-card-copy>p:not(.technical-note-meta){color:var(--muted);font-size:.91rem;margin-top:16px;max-width:520px}
.technical-note-grid :is(h2,h3) a:hover{text-decoration:underline;text-underline-offset:5px}
.technical-note-footer{width:100%;margin-top:auto;padding-top:28px}
.technical-note-action{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding-top:16px}
.technical-note-action>span{font-size:.75rem;color:var(--muted);white-space:nowrap}
.technical-note-action .text-link{min-width:0}
.technical-notes-home .technical-note-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.technical-notes-link{text-align:right;margin-top:27px}
.technical-notes-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}
.technical-notes-intro h2{font-size:2.4rem}
.technical-notes-intro p{color:var(--muted);max-width:520px}
.note-hero,.note-layout{max-width:800px}
.note-hero{padding-block:55px 36px}
.note-hero h1{font-size:clamp(2.3rem,4.1vw,3.7rem);line-height:1.12;text-wrap:balance}
.note-hero .lede{max-width:790px}
.note-byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px;font-size:.85rem;color:var(--muted)}
.note-byline a{text-decoration:underline;text-underline-offset:4px}
.note-layout{padding-bottom:50px}
.note-body{min-width:0;font-size:1.05rem;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}
.note-body>p,.note-body>ul,.note-body>ol{margin:0 0 23px}
.note-body>p:first-child{font-size:1.16rem;color:var(--ink)}
.note-body h2{font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.2;color:var(--ink);margin:46px 0 23px;scroll-margin-top:120px}
.note-body h3{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.3;color:var(--ink);margin:36px 0 18px;scroll-margin-top:120px}
.note-body h4{font-size:1.12rem;line-height:1.4;color:var(--ink);margin:30px 0 16px;scroll-margin-top:120px}
.note-body li+li{margin-top:12px}
.note-body :is(ul,ol){padding-left:26px}
.note-body a{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}
.note-body :not(pre)>code{padding:.12em .35em;border:1px solid var(--line);border-radius:3px;background:var(--tint);color:var(--ink);font:.88em/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
.note-body hr{border:0;border-top:1px solid var(--line);margin:52px 0}
.note-body .note-citation{font-size:.83rem;line-height:1.6}
.note-block-sources{margin-top:-13px!important}
.note-code{margin:30px 0}
.note-code figcaption{font-size:.83rem;line-height:1.6;margin-bottom:10px;color:var(--muted)}
.note-code pre{margin:0;padding:22px;background:var(--tint);border:1px solid var(--line);border-radius:6px;overflow-x:auto;color:var(--ink);font: .85rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}
.note-code code{font:inherit}
.note-table{margin:30px 0;overflow-x:auto;padding:3px}
.note-table table{border-collapse:collapse;width:100%;font-size:.91rem;line-height:1.65;text-align:left}
.note-table caption{text-align:left;font-weight:600;color:var(--ink);padding-bottom:15px}
.note-table :is(th,td){border-bottom:1px solid var(--line);padding:14px 16px;vertical-align:top;min-width:130px}
.note-table thead{background:var(--tint);color:var(--ink)}
.note-table th{font-weight:600;color:var(--ink)}
.kit-document-hero{padding-bottom:28px}
.kit-document-hero .lede{max-width:720px}
.kit-document-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.kit-document-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:5px;color:var(--blue);font-size:.86rem;font-weight:600}
.kit-document-nav a[aria-current=page]{background:var(--blue);border-color:var(--blue);color:#fff}
.kit-document-layout{padding-top:10px}
.kit-document-body>p:first-child{font-size:1.05rem;color:var(--muted)}
.kit-document-landscape{page:landscape}
.worksheet-save-status{font-size:.82rem;color:var(--muted);margin-top:14px}
.worksheet-details{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px;margin:24px 0 34px}
.worksheet-details label{font-size:.8rem;font-weight:600;color:var(--ink)}
.worksheet-details input,.worksheet-table :is(input[type=text],textarea){display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #718897;border-radius:4px;background:#fff;color:var(--ink);font:inherit;padding:9px 10px}
.worksheet-details input{min-height:44px}
.worksheet-table textarea{resize:vertical;min-height:84px}
.worksheet-table td{min-width:176px}
.worksheet-table-1 td{min-width:160px}
.worksheet-choices{border:0;padding:0;margin:0;min-width:185px}
.worksheet-choices label{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:7px;font-size:.8rem;line-height:1.35;margin:0 0 8px}
.worksheet-choice-person{display:block;margin-bottom:8px}
.worksheet-choice-person label{margin-bottom:0}
.worksheet-choices input[type=checkbox],.worksheet-choices input[type=radio]{width:17px;height:17px;margin:1px 0 0;accent-color:var(--blue)}
.worksheet-choices .worksheet-inline-input{grid-column:2;margin:3px 0 0;min-height:34px;padding:5px 7px}
.kit-document-interactive .note-table{background:#fff;border:1px solid var(--line);border-radius:6px;padding:0}
.kit-document-interactive .note-table table{min-width:100%}
@media(max-width:760px){.worksheet-details{grid-template-columns:1fr}.worksheet-table td{min-width:176px}}
.kit-guidance{margin:24px 0 28px;padding:22px 24px;border-left:3px solid var(--blue);background:var(--tint);color:var(--ink)}
.kit-guidance p{margin:0}
.kit-request-section{background:var(--tint);border-block:1px solid var(--line)}
.kit-request-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.kit-request-copy{padding-block:12px}
.kit-request-copy h2{font-size:clamp(2rem,3.3vw,3.1rem);line-height:1.12;max-width:540px}
.kit-request-copy>p:not(.eyebrow){margin-top:22px;max-width:470px;color:var(--muted)}
.kit-inclusions{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:24px}
.kit-inclusions li{display:flex;align-items:flex-start;gap:16px;max-width:470px}
.kit-resource-number{flex:none;color:var(--blue);font-size:.75rem;letter-spacing:.06em;padding-top:3px}
.kit-inclusions h3{font-size:1rem}
.kit-inclusions p{font-size:.9rem;color:var(--muted);margin-top:7px;line-height:1.6}
.kit-request-copy>.kit-request-note{font-size:.8rem;margin-top:30px}
.kit-request-card{padding:32px;border-radius:8px;box-shadow:0 8px 28px #12300008;min-width:0}
.kit-request-card :is(.form-title,#kit-access-heading){font-size:1.65rem;line-height:1.2;margin:0}
.kit-form-intro{margin:12px 0 24px;color:var(--muted);font-size:.94rem;line-height:1.6}
.kit-field{margin-bottom:18px;min-width:0}
.kit-request-card .kit-field label{font-size:.85rem;line-height:1.5;margin:0 0 7px}
.kit-request-card :is(input,select){font-size:1rem;min-height:48px;margin:0;padding:10px 12px}
.kit-extra{border-block:1px solid var(--line);margin-top:6px}
.kit-extra summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:48px;padding-block:9px;color:var(--blue);font-size:.83rem;font-weight:550;list-style:none;cursor:pointer}
.kit-extra summary::-webkit-details-marker{display:none}
.kit-extra .optional{margin:0;font-size:.75rem}
.kit-extra-icon{margin-left:auto;font-size:1.2rem;line-height:1}
.kit-extra[open] .kit-extra-icon{transform:rotate(45deg)}
.kit-extra-fields{padding-top:12px}
.kit-request-card .button{gap:10px;margin-top:22px;min-height:50px;font-size:.93rem}
.kit-request-card .form-privacy{border:0;margin:16px 0 0;padding:0;font-size:.78rem;line-height:1.7}
.kit-request-card [hidden]{display:none}
.kit-access{scroll-margin-block:130px 32px}
.kit-success-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tint);color:var(--blue);margin-bottom:22px}
.kit-success-icon svg{width:25px;height:25px}
.kit-access>p{margin-top:12px;color:var(--muted);font-size:.94rem}
.kit-access nav{display:grid;gap:12px;margin-top:26px}
.kit-resource-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 18px;border:1px solid var(--line);border-radius:6px;background:var(--tint);color:var(--blue)}
.kit-resource-link>span{min-width:0}
.kit-resource-link strong{display:block;font-size:1rem;line-height:1.35}
.kit-resource-link span>span{display:block;margin-top:7px;color:var(--muted);font-size:.84rem;line-height:1.5}
.kit-resource-link>svg{width:20px;height:20px;flex:none}
.kit-resource-link:hover{border-color:var(--blue)}
.kit-resource-link:hover strong{text-decoration:underline;text-underline-offset:4px}
.kit-access>.kit-access-note{font-size:.78rem;margin-top:22px;line-height:1.6}
.practice-return .text-link{gap:10px}
.note-related{border-top:1px solid var(--line);padding-block:45px 60px}
.note-related h2{font-size:2rem;margin-bottom:30px}
.note-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.note-related>div>div{min-width:0}
.note-related .micro{color:var(--muted);margin-bottom:8px}
.note-related .text-link{align-items:flex-start;font-size:1rem}
@media(max-width:760px){.note-layout{padding-bottom:35px}.note-body{font-size:1rem}.note-body :is(h2,h3,h4){scroll-margin-top:24px}.note-related>div{grid-template-columns:1fr;gap:24px}.note-code pre{padding:16px}.kit-document-nav{display:grid;grid-template-columns:1fr}.kit-request-layout{grid-template-columns:1fr;gap:28px}.kit-request-copy{padding:0}.kit-request-card{padding:24px 20px}.kit-resource-link{padding:18px 14px;gap:10px}}
@page landscape{size:A4 landscape;margin:12mm}
@media print{
  body:has(.kit-document) :is(.header,.footer,.skip-link,.breadcrumbs,.kit-document-nav,.kit-print,.practice-return,.contact-band){display:none!important}
  body:has(.kit-document){background:#fff;color:#222}
  body:has(.kit-document-landscape){page:landscape}
  .kit-document-landscape{page:auto;zoom:.8;width:100%}
  .kit-document-landscape :is(.kit-document-hero,.kit-document-layout){width:100%;max-width:none;padding:0}
  .kit-document-landscape .kit-document-hero{margin-bottom:4mm}
  .kit-document-landscape .kit-document-hero h1{font-size:22pt}
  .kit-document-landscape .kit-document-hero .eyebrow{margin-bottom:2mm}
  .kit-document-landscape .kit-document-hero .lede{font-size:9pt;line-height:1.35;margin-top:2mm;max-width:none}
  .kit-document-landscape .kit-document-body{font-size:9pt;line-height:1.25;color:#222}
  .kit-document-landscape .kit-document-body>p{margin-bottom:2.5mm}
  .kit-document-landscape .kit-document-body h2{font-size:13pt;margin:3mm 0 1.5mm}
  .kit-document-landscape .kit-guidance{margin:2mm 0 3mm;padding:2mm 3mm}
  .kit-document-landscape .note-table{margin:1.5mm 0 2.5mm;padding:0;overflow:visible}
  .kit-document-landscape .note-table table{font-size:8.5pt;line-height:1.15}
  .kit-document-landscape .note-table caption{padding-bottom:1mm}
  .kit-document-landscape .note-table :is(th,td){border-color:#8b959b;padding:1.2mm 1.5mm;min-width:0}
  .kit-document-landscape :is(input[type=text],input[type=date],textarea){border:0;border-bottom:1px solid #8b959b;border-radius:0;background:transparent;padding:1mm;min-height:8mm;resize:none;color:#222}
  .kit-document-landscape .worksheet-details{margin:1.5mm 0 3mm;gap:4mm}
  .kit-document-landscape .worksheet-details input{margin-top:1mm}
  .kit-document-landscape .worksheet-save-status{display:none}
  .kit-document-landscape .worksheet-choices label{font-size:7.5pt;line-height:1.15;margin-bottom:1mm;gap:1.2mm;grid-template-columns:4mm 1fr}
  .kit-document-landscape .worksheet-choices input[type=checkbox],.kit-document-landscape .worksheet-choices input[type=radio]{width:3.5mm;height:3.5mm;margin:0}
  .kit-document-landscape .note-table tr{break-inside:avoid;page-break-inside:avoid}
  .kit-document-landscape .note-table:nth-of-type(1) td:empty{min-height:9mm;height:9mm}
  .kit-document-landscape .note-table:nth-of-type(2) td:empty,.kit-document-landscape .note-table:nth-of-type(3) td:empty{min-height:16mm;height:16mm}
  .kit-document-landscape .note-table:nth-of-type(2) table{table-layout:fixed;line-height:1.05}
  .kit-document-landscape .note-table:nth-of-type(2) :is(th,td){padding:.7mm 1mm}
  .kit-document-landscape .note-table:nth-of-type(2) :is(th,td):nth-child(1){width:18%}
  .kit-document-landscape .note-table:nth-of-type(2) :is(th,td):nth-child(2){width:12%}
  .kit-document-landscape .note-table:nth-of-type(2) :is(th,td):nth-child(3){width:12%}
  .kit-document-landscape .note-table:nth-of-type(2) :is(th,td):nth-child(4){width:25%}
  .kit-document-landscape .note-table:nth-of-type(2) :is(th,td):nth-child(5){width:20%}
  .kit-document-landscape .note-table:nth-of-type(2) :is(th,td):nth-child(6){width:13%}
  .kit-document-landscape .kit-document-hero{display:grid;grid-template-columns:1fr 2fr;column-gap:6mm;align-items:end}
  .kit-document-landscape .kit-document-hero .eyebrow{grid-column:1/-1}
  .kit-document-landscape .kit-document-hero .lede{margin:0}
  .kit-document-landscape .kit-document-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:5mm;align-items:start}
  .kit-document-landscape .kit-document-body>:nth-child(1){grid-column:2;grid-row:1/3;margin:0}
  .kit-document-landscape .kit-document-body>:nth-child(2){grid-column:1;grid-row:1;margin:0}
  .kit-document-landscape .kit-document-body>:nth-child(3){grid-column:1;grid-row:2;margin:1.5mm 0 0}
  .kit-document-landscape .kit-document-body>:nth-child(n+13){grid-column:1/-1}
  .kit-document-landscape .kit-document-body>:nth-child(4),.kit-document-landscape .kit-document-body>:nth-child(5),.kit-document-landscape .kit-document-body>:nth-child(6){grid-column:1}
  .kit-document-landscape .kit-document-body>:nth-child(7),.kit-document-landscape .kit-document-body>:nth-child(8),.kit-document-landscape .kit-document-body>:nth-child(9){grid-column:2}
  .kit-document-landscape .kit-document-body>:nth-child(10),.kit-document-landscape .kit-document-body>:nth-child(11),.kit-document-landscape .kit-document-body>:nth-child(12){grid-column:1}
  .kit-document-landscape .kit-document-body>:nth-child(4),.kit-document-landscape .kit-document-body>:nth-child(7){grid-row:3}
  .kit-document-landscape .kit-document-body>:nth-child(5),.kit-document-landscape .kit-document-body>:nth-child(8){grid-row:4}
  .kit-document-landscape .kit-document-body>:nth-child(6){grid-row:5}
  .kit-document-landscape .kit-document-body>:nth-child(9){grid-row:5/9}
  .kit-document-landscape .kit-document-body>:nth-child(10){grid-row:6}
  .kit-document-landscape .kit-document-body>:nth-child(11){grid-row:7}
  .kit-document-landscape .kit-document-body>:nth-child(12){grid-row:8}
  .kit-document-landscape .note-table:nth-of-type(3) thead{display:none}
  .kit-document-landscape .note-table:nth-of-type(3) tbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm}
  .kit-document-landscape .note-table:nth-of-type(3) tr{display:grid;grid-template-rows:auto 16mm}
  .kit-document-landscape .note-table:nth-of-type(3) :is(th,td){display:block;width:auto}
}
@media(max-width:900px){.technical-notes-home .technical-note-grid{grid-template-columns:1fr}.technical-notes-home .technical-note-grid>li:last-child{grid-column:auto}.technical-notes-intro{grid-template-columns:1fr;gap:18px}}
@media(max-width:640px){.technical-note-grid{grid-template-columns:1fr}.technical-note-grid h2,.technical-note-grid h3{font-size:1.35rem}.technical-notes-link{text-align:left}.technical-notes-intro h2{font-size:2rem}}
.latest-work-link{margin-top:28px;text-align:right}
.case-start-here{padding-top:10px;padding-bottom:46px}
.case-start-here-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:34px}
.case-start-here-heading h2{font-size:clamp(2rem,3.6vw,3.35rem);line-height:1.08}
.case-start-here-heading>p{max-width:390px;color:var(--muted);margin-bottom:4px}
.case-controls{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;align-items:end;gap:18px;padding:24px;background:var(--tint);border:1px solid var(--line);border-radius:6px}
.case-controls[hidden]{display:none}.case-controls label{display:block;font-size:.8rem;font-weight:600;margin-bottom:7px}
.case-controls input,.case-controls select{width:100%;min-width:0;background:var(--paper);border:1px solid #8195a1;border-radius:4px;padding:12px;color:var(--ink);font-size:1rem;min-height:48px}
.case-reset{background:none;border:0;border-bottom:1px solid currentColor;color:var(--blue);cursor:pointer;min-height:48px;padding:10px 0;font-size:.85rem}
.case-count{font-size:.85rem;color:var(--muted);margin-block:25px}.case-empty{padding:36px 0}
.case-contents{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:28px;padding-top:24px;gap:8px}
.case-contents a{font-size:.85rem;text-decoration:underline;text-underline-offset:3px;line-height:1.5;padding-block:5px}
.case-contents .micro{margin-bottom:10px}.case-story .story-body{max-width:var(--case-reading-width)}
.case-story .story-body section{scroll-margin-top:120px}.case-story .story-body p+p{margin-top:20px}
.case-quote{margin:44px 0 0;padding:28px 32px;border-left:3px solid var(--blue);background:var(--tint);border-radius:0 6px 6px 0}.case-quote blockquote{margin:0}.case-quote blockquote p{font-size:1.15rem;line-height:1.7;color:var(--ink)}.case-quote figcaption{margin-top:16px;font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 10px}.case-quote-name{font-weight:600;color:var(--ink)}.case-quote .text-link{margin-top:18px;font-size:.8rem}.home-quote{max-width:720px;margin:30px auto 34px;text-align:left}@media(max-width:600px){.case-quote{padding:22px 20px;margin-top:34px}.case-quote blockquote p{font-size:1.02rem}}
.case-story .story-body h2{font-size:clamp(1.6rem,2.5vw,2.15rem);line-height:1.2;margin-bottom:22px}
.case-story .story-body p{font-size:1.06rem;line-height:1.85}
@media(min-width:1050px){.case-story>aside{position:sticky;top:120px;align-self:start;max-height:calc(100vh - 145px);overflow:auto;padding:6px 12px 16px 6px}}
@media(max-width:1050px){.case-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-controls{grid-template-columns:1fr 1fr}.case-search{grid-column:1/-1}.case-reset{justify-self:start}.case-contents{display:none}}
@media(max-width:640px){.latest-work-link{text-align:left}.case-start-here{padding-top:0;padding-bottom:38px}.case-start-here-heading{grid-template-columns:1fr;gap:17px;margin-bottom:26px}.case-start-here-heading h2{font-size:2.1rem}.case-library-grid{grid-template-columns:1fr;gap:40px}.case-controls{grid-template-columns:1fr;padding:18px}.case-search{grid-column:auto}.case-cover-type{padding:26px}.case-library-grid .case-cover{height:240px;min-height:240px}.case-story .story-body p{font-size:1rem;line-height:1.8}.case-reading{line-height:1.7}}

/* Case study cards share one surface, a platform strip and an aligned footer. */
.case-library-grid{gap:28px 24px;align-items:stretch}
.case-library-grid .work-card{display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px #003a5d05;transition:border-color .18s ease,box-shadow .18s ease}
.case-library-grid .work-card[hidden]{display:none}
.case-library-grid .work-card>.art-link{min-width:0}
.case-library-grid .case-cover{width:100%;aspect-ratio:auto;border-radius:9px 9px 0 0}
.case-library-grid .case-cover-brands{left:16px;bottom:16px;padding:12px 14px;border-radius:5px;box-shadow:0 2px 10px #172e3b10}
.case-library-grid .case-cover-type{padding:24px;gap:14px}
.case-library-grid .case-type-client{font-size:1.8rem;letter-spacing:-.02em}
.case-library-grid .case-type-systems{gap:8px;font-size:.68rem}
.case-library-grid .case-media>.case-platform-logos{margin:0;padding:14px 22px;min-height:86px;gap:10px 18px;background:#f3f6f7;border-bottom:1px solid var(--line)}
.case-library-grid .work-card-copy{padding:24px 22px 0;min-width:0;display:flex;flex-direction:column;flex:1}
.case-library-grid .work-card-copy .eyebrow{font-size:.58rem;line-height:1.6;letter-spacing:.085em;margin:0 0 12px;color:var(--blue)}
.case-library-grid .work-card :is(h2,h3){font-size:1.36rem;line-height:1.28;letter-spacing:-.005em;max-width:none}
.case-library-grid .work-card-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.7;margin:14px 0 22px;max-width:none}
.case-library-grid .case-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding:17px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.case-library-grid .case-card-footer .case-reading{margin:0;font-size:.68rem;line-height:1.65;color:var(--muted)}
.case-card-footer .case-reading>span{display:block}
.case-card-footer .case-reading-meta{white-space:nowrap}
.case-card-action{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto}
.case-card-action .case-reading-time{font-size:.68rem;color:var(--muted);line-height:1.4}
.case-library-grid .case-card-footer .text-link{margin:0;padding:0;min-height:36px;gap:9px;font-size:.76rem;line-height:1.5;white-space:nowrap}
.case-card-footer .text-link svg{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--tint);flex:none}
.case-library-grid .work-card:focus-within{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
@media(hover:hover){.case-library-grid .work-card:hover{border-color:#85a6b8;box-shadow:0 6px 20px #003a5d0c}.case-card-footer .text-link:hover svg{background:#dce9ef;transform:none}}
@media(max-width:640px){.case-library-grid{gap:24px}.case-library-grid .work-card-copy{padding:22px 20px 0}.case-library-grid .case-media>.case-platform-logos{padding:13px 20px;min-height:56px;gap:10px 16px}.case-library-grid .work-card :is(h2,h3){font-size:1.4rem}.case-library-grid .case-cover-type{padding:22px}.case-library-grid .case-type-client{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.case-library-grid .work-card{transition:none}}
@media(forced-colors:active){.case-library-grid .work-card{border-color:CanvasText;box-shadow:none}.case-library-grid .work-card:focus-within{outline:1px solid Highlight}}

/* Shared surface for work, note and comparison cards. Their media and identity areas remain specific to the content. */
.content-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px #003a5d05;transition:border-color .18s ease,box-shadow .18s ease}
.content-card:focus-within{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
@media(hover:hover){.content-card:hover{border-color:#85a6b8;box-shadow:0 6px 20px #003a5d0c}}
@media(prefers-reduced-motion:reduce){.content-card{transition:none}}
@media(forced-colors:active){.content-card{border-color:CanvasText;box-shadow:none}.content-card:focus-within{outline:1px solid Highlight}}

/* One brand mark treatment for client grids and every case study badge. */
.case-cover-brands{min-height:76px;max-width:calc(100% - 32px)}
.case-brand-mark-elk{--mark-width:88px;--mark-ratio:1710/564}
.case-brand-mark-2xu{--mark-width:120px;--mark-ratio:395/88}
.case-brand-mark-rumored{--mark-width:180px;--mark-ratio:891/137;--crop-top:-14.599%}
.case-brand-mark-telegram-co{--mark-width:210px;--mark-ratio:528/42;--crop-top:-152.381%;--crop-width:177.462%}
.case-brand-mark-milligram{--mark-width:150px;--mark-ratio:386/49}
.case-brand-mark-bicycle-superstore{--mark-width:170px;--mark-ratio:476/96}
.case-brand-mark-slapstickco{--mark-width:82px;--mark-ratio:500/373}
.case-brand-mark-melbourne-surfboard-shop,.case-brand-mark-mss-repairs{--mark-width:175px;--mark-ratio:674.04/173.52}
.case-brand-mark-the-surfboard-studio{--mark-width:64px;--mark-ratio:244/222;--crop-left:-41.803%;--crop-top:-5.405%;--crop-width:183.607%}
.case-brand-mark-bricks-megastore-ag-lego-certified-stores{--mark-width:132px;--mark-ratio:1500/640;--crop-top:-68.4%}
.case-brand-mark{
 position:relative;display:block;flex:0 1 auto;overflow:hidden;
 width:var(--mark-width,110px);max-width:100%;height:auto;aspect-ratio:var(--mark-ratio,2)
}
.case-brand-mark img{display:block;position:static;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.case-brand-mark:is(.case-brand-mark-rumored,.case-brand-mark-telegram-co,.case-brand-mark-the-surfboard-studio,.case-brand-mark-bricks-megastore-ag-lego-certified-stores) img{
 position:absolute;left:var(--crop-left,0);top:var(--crop-top,0);width:var(--crop-width,100%);height:auto
}
.case-brand-mark:is(.case-brand-mark-2xu,.case-brand-mark-telegram-co,.case-brand-mark-the-surfboard-studio){mix-blend-mode:multiply}
.case-brand-family{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;max-width:100%}
.case-brand-family .case-brand-mark{flex:none}

/* Client identity and the systems directly involved in each technical note. */
.note-identity{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 24px;width:100%;min-height:64px;margin-bottom:24px}
.note-identity .note-client{flex:none;max-width:100%}
.note-identity .case-brand-mark-elk{--mark-width:76px}
.note-identity .case-brand-mark-2xu{--mark-width:106px}
.note-identity .case-brand-mark-rumored{--mark-width:145px}
.note-identity .case-brand-mark-telegram-co{--mark-width:170px}
.note-identity .case-brand-mark-bicycle-superstore{--mark-width:158px}
.note-identity .case-brand-mark-melbourne-surfboard-shop{--mark-width:160px}
.note-identity .case-brand-mark-the-surfboard-studio{--mark-width:60px}
.note-identity .case-brand-mark-benchmade-modern{--mark-width:178px;--mark-ratio:380/58}
.note-identity .case-brand-mark-seafolly{--mark-width:154px;--mark-ratio:166/34}
.note-identity .case-brand-mark-asahi-beverages{--mark-width:163px;--mark-ratio:163/32}
.note-identity .case-brand-mark-zak-surfboards{--mark-width:92px;--mark-ratio:310/208}
.note-identity .case-brand-mark-solibee{--mark-width:135px;--mark-ratio:250/63;mix-blend-mode:multiply}
.note-systems{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:16px;list-style:none;margin:0;padding:0;max-width:100%}
.note-systems li{display:flex;align-items:center;gap:7px;min-height:34px;font-size:.75rem;color:var(--muted)}
.note-system-mark{display:flex;align-items:center;justify-content:center;width:var(--note-system-width,84px);height:34px}
.note-system-mark img{display:block;width:100%;height:100%;object-fit:contain}
.note-system-nuorder{--note-system-width:110px}
.note-system-cin7,.note-system-myob{--note-system-width:58px}
.note-system-tagalys{--note-system-width:70px}
.note-system-cloudflare,.note-system-starshipit{--note-system-width:104px}
.note-system-easygift,.note-system-texto{--note-system-width:27px}
.note-system-easygift img,.note-system-texto img{border-radius:3px}
.note-system-retail-express{--note-system-width:60px}
.note-system-bigcommerce{--note-system-width:108px}
.note-system-bigcommerce .note-system-mark{position:relative;height:27px;overflow:hidden}
.note-system-bigcommerce img{position:absolute;left:-13.5%;top:-96%;width:125%;height:auto;max-width:none}
.note-system-neto{--note-system-width:72px}
.note-hero .note-identity{margin-block:0 30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.technical-note-grid .note-identity{min-height:98px;margin:0;padding:22px 24px 18px}
.technical-note-grid .technical-note-footer{background:var(--tint);border-top:1px solid var(--line);border-radius:0 0 9px 9px;padding:18px 24px 20px}
.technical-note-grid .technical-note-action{padding-top:12px;flex-wrap:wrap;row-gap:6px}
.technical-note-grid .technical-note-action .text-link{gap:12px;min-height:44px}
.technical-note-grid .technical-note-action svg{width:30px;height:30px;padding:6px;background:#fff;border-radius:50%;flex:none}
.technical-note-grid article:focus-within{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
@media(hover:hover){.technical-note-grid article:hover{border-color:#85a6b8;box-shadow:0 6px 20px #003a5d0c}}
@media(max-width:640px){.technical-note-grid .note-identity{padding:20px 20px 16px}.note-card-copy{padding:0 20px 22px}.technical-note-grid .technical-note-footer{padding:16px 20px 18px}}
@media(prefers-reduced-motion:reduce){.technical-note-grid article{transition:none}}
@media(forced-colors:active){.technical-note-grid article{border-color:CanvasText;box-shadow:none}.technical-note-grid article:focus-within{outline:1px solid Highlight}}
@media(max-width:380px){.note-identity{column-gap:18px}.note-systems{gap:12px}}

/* The notes collection has its own editorial opening and topic archive. */
.notes-masthead{background:var(--blue);color:var(--paper);padding-block:70px}
.notes-masthead-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.notes-masthead-copy{min-width:0}
.notes-masthead-copy>.micro{color:#dce8ef}
.notes-masthead h1{font-size:clamp(3.4rem,7.7vw,7.2rem);line-height:.98;max-width:9ch;margin-block:24px 30px;letter-spacing:-.03em}
.notes-intro{font-size:1.2rem;line-height:1.75;max-width:400px;color:#dce8ef}
.notes-author{display:inline-flex;align-items:center;gap:12px;margin-top:34px;font-size:.84rem;min-height:44px}
.notes-author img{border-radius:50%;object-fit:cover;flex:none}
.notes-author span{text-decoration:underline;text-underline-offset:4px}
.notes-masthead-copy a:focus-visible{outline-color:#fff}
.note-feature{min-width:0;background:var(--paper);color:var(--ink);padding:34px 36px;box-shadow:8px 8px 0 #ffffff1a}
.note-feature-label{color:var(--blue);margin-bottom:22px}
.note-feature .note-identity{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.note-feature h2{font-size:clamp(1.7rem,2.65vw,2.6rem);line-height:1.18;letter-spacing:-.01em}
.note-feature h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.note-feature-summary{color:var(--muted);font-size:.94rem;line-height:1.75;margin-top:20px}
.notes-topics{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 32px;padding-block:30px}
.notes-topics>p{color:var(--muted)}
.notes-topics ul{display:flex;flex-wrap:wrap;gap:12px 30px;list-style:none;margin:0;padding:0}
.notes-topics a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:.92rem;font-weight:600}
.notes-topics a>span{font-size:.75rem;color:var(--muted);font-weight:400}
.notes-topics a:hover{text-decoration:underline;text-underline-offset:5px}
.notes-topic-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding-block:60px;border-top:1px solid var(--line)}
.notes-section-intro h2{font-size:2rem;line-height:1.2;overflow-wrap:anywhere}
.notes-section-intro h2[id]{scroll-margin-top:0}
.notes-section-intro p{font-size:.9rem;color:var(--muted);margin-top:18px;line-height:1.75;max-width:400px}
.notes-library .technical-note-grid h3{font-size:1.4rem;margin-top:15px}
.notes-outro{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-block:32px 60px;border-top:1px solid var(--line)}
.notes-outro>p{color:var(--muted);font-size:.94rem}
@media(max-width:1100px){.notes-masthead-layout{gap:40px}.note-feature{padding:28px}.notes-topic-section{grid-template-columns:1fr;gap:32px}.notes-section-intro{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.notes-section-intro p{margin-top:0}}
@media(max-width:760px){.notes-masthead{padding-block:46px}.notes-masthead-layout{grid-template-columns:1fr;gap:36px}.notes-masthead h1{font-size:clamp(3.4rem,13vw,5rem);max-width:12ch}.notes-intro{font-size:1.05rem}.notes-author{margin-top:25px}.note-feature{padding:26px}.note-feature h2{font-size:1.9rem}.notes-topics{padding-block:24px}.notes-topics ul{column-gap:24px}.notes-topic-section{padding-block:38px}.notes-section-intro{grid-template-columns:1fr;gap:12px}.notes-section-intro h2{font-size:1.85rem}.notes-outro{padding-bottom:42px}}
@media(max-width:380px){.note-feature{padding:24px 20px}.note-feature h2{font-size:1.65rem}.notes-topics ul{column-gap:20px}}

.case-system-label{display:inline-flex;border:1px solid #c3d1d7;border-radius:4px;padding:5px 8px;font-size:.67rem;line-height:1.4;color:var(--ink);background:#fff}
.case-media>.case-platform-logos{align-content:center}
.case-media>.case-platform-logos li{min-height:42px}
.case-product-cover{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:38px;isolation:isolate;overflow:hidden}
.case-product-bricks{background:#edf5ff}
.case-product-bricks>img{position:relative;z-index:1;width:min(88%,370px);height:auto;object-fit:contain;filter:drop-shadow(0 2px 0 #fff)}
.case-brick-pattern{position:absolute;inset:0;z-index:-1;opacity:.72}
.case-brick-pattern i{position:absolute;width:92px;height:64px;border-radius:9px;background:#ffcf55;transform:rotate(-12deg);box-shadow:inset 0 -7px #c6961730}
.case-brick-pattern i:before{content:'';position:absolute;inset:10px;background:radial-gradient(circle,#ffffff70 0 8px,transparent 9px) 0 0/36px 28px}
.case-brick-pattern i:nth-child(1){top:-12px;left:24px}
.case-brick-pattern i:nth-child(2){right:-12px;top:34px;background:#86cec6;transform:rotate(12deg)}
.case-brick-pattern i:nth-child(3){left:-15px;bottom:16px;background:#82b4f1;transform:rotate(8deg)}
.case-brick-pattern i:nth-child(4){right:32px;bottom:-20px;background:#efa3a5;transform:rotate(-6deg)}
.case-product-plain{align-items:flex-start;background:#f8f7f3;border-top:7px solid #e63946;padding:38px}
.case-plain-wordmark{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:750;letter-spacing:-.06em;color:#171717}
.case-plain-wordmark>span{color:#e63946}
.case-editorial-lines{width:100%;display:grid;gap:12px}
.case-editorial-lines i{height:6px;width:92%;background:#d5d3cd;border-radius:1px}
.case-editorial-lines i:nth-child(2){width:76%}.case-editorial-lines i:nth-child(3){width:86%}
.case-product-mcp{background:radial-gradient(ellipse at 82% 15%,#d2e7ef 0,transparent 65%),#e9f0f3}
.case-mcp-identity{display:flex;align-items:center;justify-content:center;gap:14px;width:100%}
.case-mcp-identity>img{width:48px;height:48px;flex:none}
.case-mcp-identity strong{font-size:1.25rem;line-height:1.3;font-weight:650;letter-spacing:-.04em;color:var(--blue)}
.case-mcp-identity strong span{display:block;font-size:1rem;letter-spacing:0;font-weight:500;margin-top:2px}
.case-mcp-connection{display:flex;align-items:center;gap:0;width:65%;opacity:.7}
.case-mcp-connection>span{width:9px;height:9px;border:1px solid #679ab1;border-radius:50%;background:#fff}
.case-mcp-connection>i{height:1px;flex:1;background:#679ab1}
.case-product-mcp>.case-mcp-vendor{width:min(90%,235px);height:auto;max-height:32px;object-fit:contain}
.previous-brand-list a{display:flex;align-items:center;justify-content:center;min-height:84px;width:100%;text-decoration:none;border-radius:4px}



.previous-brand-list a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:640px){.case-product-cover{padding:30px}.case-cover-brands{gap:12px}.case-mcp-identity strong{font-size:1.14rem}}
@media(prefers-reduced-motion:reduce){.case-product-cover *{animation:none}}

.previous-brand-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.previous-brand-list li{border-bottom:0}


@media(max-width:700px){.previous-brand-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.previous-brand-list li:nth-last-child(-n+3){border-bottom:0}.previous-brand-list li:last-child{grid-column:auto}}

/* Text based product identities can grow when visitors enlarge the text. */
.case-library-grid :is(.case-product-plain,.case-product-mcp),.case-hero :is(.case-product-plain,.case-product-mcp){height:auto;min-height:265px;max-height:none;aspect-ratio:auto}
.case-plain-wordmark{max-width:100%;overflow-wrap:anywhere}
.case-mcp-identity{min-width:0;flex-wrap:wrap}
.case-mcp-identity strong{min-width:0;max-width:100%;overflow-wrap:anywhere}
.case-product-plain .case-editorial-lines{flex-shrink:0}

/* NuORDER product detail: conversations and practical connection guidance. */
.nuorder-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.nuorder-hero-grid>*{min-width:0}
.nuorder-hero-grid h1{font-size:clamp(2.8rem,4.6vw,4.3rem);line-height:1.1}
.nuorder-preview{border:1px solid #c4d7df;border-radius:12px;background:#eaf1f4;padding:30px;box-shadow:0 20px 50px #003a5d0b}
.nuorder-preview-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.nuorder-preview-top img{width:220px;height:auto;max-width:100%}
.nuorder-preview-top .status{margin:0;background:var(--paper);font-size:.7rem}
.nuorder-preview>.micro{color:var(--muted);margin-bottom:18px}
.nuorder-preview-question{padding:20px;background:var(--blue);color:white;border-radius:8px 8px 2px 8px;margin-left:24px}
.nuorder-preview-answer{padding:22px;background:#fff;border:1px solid #d1dfe5;border-radius:8px 8px 8px 2px;margin:16px 20px 0 0}
.nuorder-preview-answer>p+p:not(.nuorder-speaker){margin-top:12px}
.nuorder-speaker{font-size:.71rem;font-weight:650;letter-spacing:.04em;margin-bottom:8px}
.nuorder-preview-caption{font-size:.76rem;color:var(--muted);margin-top:22px}
.nuorder-jump{border-top:1px solid var(--line);padding-block:18px}
.nuorder-jump>.container{display:flex;gap:12px 30px;flex-wrap:wrap}
.nuorder-jump a{font-size:.84rem;color:var(--blue);padding-block:10px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#91abb9}
.nuorder-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.nuorder-benefits h3{font-size:1.25rem;margin-bottom:16px}
.nuorder-benefits p,.nuorder-section-note,.nuorder-example-heading>p,.nuorder-example-scope,.nuorder-scope-grid p,.nuorder-platforms p:not(.micro),.nuorder-onboarding li p,.nuorder-trust-grid p,.nuorder-price-context p{color:var(--muted)}
.nuorder-section-note{margin-top:34px;padding-top:25px;border-top:1px solid #bfced5;max-width:950px;font-size:.91rem}
.nuorder-example-notice{padding:24px 28px;background:#eef3f4;border-left:3px solid var(--blue);margin-bottom:32px;font-size:.92rem}
.nuorder-example-notice p{margin-top:7px;color:var(--muted);max-width:950px}
.nuorder-conversations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.nuorder-conversation{border:1px solid var(--line);border-radius:8px;min-width:0;background:white}
.nuorder-example-heading{padding:28px 28px 24px;border-bottom:1px solid var(--line)}
.nuorder-example-heading .micro{color:var(--blue);display:block;line-height:1.65}
.nuorder-example-heading h3{font-size:1.65rem;margin-block:18px}
.nuorder-example-heading>p{font-size:.93rem}
.nuorder-messages{padding:26px;display:flex;flex-direction:column;gap:18px;background:#f8faf9}
.nuorder-message{padding:18px;border:1px solid var(--line);border-radius:7px 7px 7px 2px;margin-right:22px;background:white;font-size:.92rem}
.nuorder-message-user{background:#e5eef3;border-color:#c7d9e3;margin-right:0;margin-left:22px;border-radius:7px 7px 2px 7px;color:var(--blue)}
.nuorder-message-user .nuorder-speaker{color:var(--blue)}
.nuorder-example-scope{font-size:.82rem;padding:24px 28px;border-top:1px solid var(--line)}
.nuorder-example-scope p+p{margin-top:16px}
.nuorder-example-scope strong{color:var(--blue)}
.nuorder-prompt-tip{display:grid;grid-template-columns:.8fr 1.3fr;gap:20px 40px;border-block:1px solid var(--line);padding-block:32px;margin-top:40px}
.nuorder-prompt-tip h3{grid-row:span 2;font-size:1.6rem}
.nuorder-prompt-tip p{color:var(--muted)}
.nuorder-prompt-tip p:last-child{font-size:.9rem}
.nuorder-operations{margin:0;border-top:1px solid #becfd7}
.nuorder-operations>div{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:40px;padding-block:25px;border-bottom:1px solid #becfd7}
.nuorder-operations dt{color:var(--blue);font-size:.96rem}
.nuorder-operations code{overflow-wrap:anywhere}
.nuorder-operations dd{margin:0;min-width:0}
.nuorder-operations dd p{color:var(--muted);margin-top:8px;font-size:.94rem;max-width:740px}
.nuorder-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;margin-top:52px}
.nuorder-scope-grid h3{margin-bottom:20px}
.nuorder-scope-grid p+p,.nuorder-platforms p+p,.nuorder-trust-grid p,.nuorder-price-context p{margin-top:16px}
.nuorder-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nuorder-platforms article{padding:28px;border:1px solid var(--line);border-radius:8px;background:white;min-width:0}
.nuorder-platforms .micro{color:var(--blue)}
.nuorder-platforms h3{margin-block:24px 18px;font-size:1.6rem}
.nuorder-platforms .text-link{margin-top:20px;text-decoration:underline;text-underline-offset:5px}
.nuorder-onboarding{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;margin-top:88px;padding-top:70px;border-top:1px solid var(--line)}
.nuorder-onboarding ol{list-style:none;counter-reset:connect;margin:0;padding:0}
.nuorder-onboarding li{counter-increment:connect;position:relative;padding:0 0 30px 50px}
.nuorder-onboarding li+li{padding-top:30px;border-top:1px solid var(--line)}
.nuorder-onboarding li:before{content:counter(connect,decimal-leading-zero);position:absolute;left:0;top:2px;color:var(--blue);font-size:.8rem}
.nuorder-onboarding li+li:before{top:32px}
.nuorder-onboarding li h3{font-size:1.3rem;margin-bottom:14px}
.nuorder-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 60px}
.nuorder-price-context{padding-top:32px;margin-top:32px;border-top:1px solid var(--line)}
.nuorder-price-context h3{font-size:1.4rem}
@media(max-width:1000px){.nuorder-hero-grid{grid-template-columns:1fr;gap:42px}.nuorder-hero-grid h1{max-width:820px;font-size:clamp(3rem,6.1vw,5rem)}.nuorder-preview{max-width:700px}.nuorder-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 40px}.nuorder-platforms{grid-template-columns:1fr}.nuorder-platforms article{padding:30px}.nuorder-platforms h3{margin-top:14px}.nuorder-platforms p{max-width:760px}.nuorder-onboarding{grid-template-columns:1fr;gap:40px}}
@media(max-width:760px){.nuorder-conversations{grid-template-columns:1fr}.nuorder-scope-grid,.nuorder-trust-grid{grid-template-columns:1fr;gap:32px}.nuorder-prompt-tip{grid-template-columns:1fr;gap:20px}.nuorder-prompt-tip h3{grid-row:auto}.nuorder-operations>div{grid-template-columns:1fr;gap:14px}.nuorder-onboarding{margin-top:60px;padding-top:48px}}
@media(max-width:600px){.nuorder-hero-grid h1{font-size:clamp(2.5rem,9.7vw,3.7rem)}.nuorder-preview{padding:20px}.nuorder-preview-question,.nuorder-preview-answer{margin-inline:0;padding:18px}.nuorder-preview-top{margin-bottom:26px}.nuorder-jump>.container{gap:6px 22px}.nuorder-benefits{grid-template-columns:1fr;gap:28px}.nuorder-example-heading,.nuorder-example-scope{padding:22px}.nuorder-messages{padding:16px;gap:16px}.nuorder-message{padding:16px;margin-right:12px}.nuorder-message-user{margin-right:0;margin-left:12px}.nuorder-example-notice{padding:20px}.nuorder-platforms article{padding:24px}.nuorder-onboarding li{padding-left:36px}.nuorder-section-note{font-size:.9rem}}

/* Centre the two final current clients while keeping all artwork on shared sizes. */
.current-brands .brand-logos{grid-template-columns:repeat(6,minmax(0,1fr))}
.current-brands .brand-logos li{grid-column:span 2}
.current-brands .brand-logos li:nth-last-child(2){grid-column:2 / span 2}
.current-brands .brand-logos li:last-child{grid-column:4 / span 2}
@media(max-width:700px){
 .current-brands .brand-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
 .current-brands .brand-logos li,.current-brands .brand-logos li:nth-last-child(2){grid-column:auto}
 .current-brands .brand-logos li:last-child{grid-column:1 / -1}
}

@media(max-width:700px){
 .previous-brand-list li:first-child,.previous-brand-list li:last-child{grid-column:1 / -1}
}
@media(max-width:420px){
 .current-brands .brand-logos{grid-template-columns:1fr;gap:12px}
 .current-brands .brand-logos li,.current-brands .brand-logos li:nth-last-child(2),.current-brands .brand-logos li:last-child{grid-column:auto;min-height:72px}
}

/* Keep the current-client strip compact and give all three marks one desktop row. */
.current-brands{padding-block:56px 60px}
.current-brands h2{font-size:clamp(2rem,3.5vw,2.8rem)}
.current-brands .container>p{margin:14px auto 24px}
.current-brands .brand-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:760px}
.current-brands .brand-logos li,
.current-brands .brand-logos li:nth-last-child(2),
.current-brands .brand-logos li:last-child{grid-column:auto;min-height:64px;padding:4px 0}
@media(max-width:700px){
 .current-brands{padding-block:44px 48px}
 .current-brands h2{font-size:clamp(1.85rem,7vw,2.25rem)}
 .current-brands .container>p{margin:14px auto 20px}
 .current-brands .brand-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;max-width:360px}
 .current-brands .brand-logos li:last-child{grid-column:1 / -1}
 .current-brands .brand-logos li{min-height:56px}
}
@media(max-width:420px){
 .current-brands .brand-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
 .current-brands .brand-logos li:last-child{grid-column:1 / -1}
}

/* Keep the platform experience strip useful on small screens without a tall stack of empty rows. */
@media(max-width:600px){
 .platform-strip{padding-block:26px}
 .platform-strip .container{gap:18px}
 .platform-strip .micro{font-size:.52rem}
 .platform-strip .platform-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 24px;width:100%;max-width:420px}
 .platform-strip .platform-logos>li,.platform-strip .platform-logos>li:last-child{width:calc(50% - 12px);min-height:44px;height:44px;padding:4px 0}
 .platform-strip .platform-logos>li:last-child:nth-child(odd){width:100%}
 .platform-strip .platform-logos img{max-height:31px}
 .platform-strip .platform-logos .platform-nuorder{--optical-width:190px}
}
@media(max-width:420px){
 .platform-strip .platform-logos{gap:14px 18px}
 .platform-strip .platform-logos>li,.platform-strip .platform-logos>li:last-child{width:calc(50% - 9px);min-height:42px;height:42px}
 .platform-strip .platform-logos>li:last-child:nth-child(odd){width:100%}
 .platform-strip .platform-logos img{max-height:28px}
 .platform-strip .platform-logos .platform-nuorder{--optical-width:175px}
}

/* Card platform marks: one shared size on every card, sized by height so wordmarks share a visual centre line.
   --optical-scale equalises the letter block of each mark; --optical-shift nudges it onto the line.
   Rows wrap when four marks don't fit; the strip is tall enough for two rows so cards stay aligned. */
.case-library-grid .case-media>.case-platform-logos{
 --logo-h:18px;flex-wrap:wrap;align-items:center;align-content:center;gap:16px 20px;overflow:hidden;padding:12px 18px;min-height:92px
}
.case-library-grid .case-media>.case-platform-logos li{width:auto;min-width:0;min-height:26px;flex:0 0 auto}
.case-library-grid .case-media>.case-platform-logos li img{
 width:auto;max-width:none;max-height:none;height:calc(var(--logo-h) * var(--optical-scale,1));
 transform:translateY(calc(var(--logo-h) * var(--optical-shift,0)))
}
/* logo-optics:start (generated by build/scripts/logo-optics.mjs, edit TUNING there, not here) */
.platform-apparel21{--optical-scale:1.131;--optical-shift:0.141}
.platform-cin7{--optical-scale:1.208;--optical-shift:0.068}
.platform-consentmo{--optical-scale:0.916;--optical-shift:0.074}
.platform-datapel{--optical-scale:1.393;--optical-shift:0.2}
.platform-elevar{--optical-scale:1.451;--optical-shift:0.396}
.platform-google-analytics{--optical-scale:1.438;--optical-shift:-0.03}
.platform-klaviyo{--optical-scale:1.216;--optical-shift:0.139}
.platform-myob{--optical-scale:1.228;--optical-shift:0.015}
.platform-netsuite{--optical-scale:1.443;--optical-shift:-0.319}
.platform-nuorder{--optical-scale:0.713;--optical-shift:0.051}
.platform-retail-express{--optical-scale:1.778;--optical-shift:0.482}
.platform-shipstation{--optical-scale:0.958;--optical-shift:0.032}
.platform-shopify{--optical-scale:1.248;--optical-shift:-0.003}
.platform-starshipit{--optical-scale:0.96;--optical-shift:0.082}
.platform-stripe{--optical-scale:1.266;--optical-shift:-0.011}
.platform-xero{--optical-scale:1.015;--optical-shift:0.008}
/* logo-optics:end */
@media(max-width:640px){
 .case-library-grid .case-media>.case-platform-logos{gap:14px 18px;padding:12px 16px;min-height:88px}
}

/* Keep the expanded platform list in regular rows as more case study tools are added. */
.platform-strip .platform-logos>li:nth-last-child(2),.platform-strip .platform-logos>li:last-child{grid-column:span 2}
@media(max-width:1050px){
 .platform-strip .platform-logos>li:nth-last-child(2),.platform-strip .platform-logos>li:last-child{grid-column:auto}
 .platform-strip .platform-logos>.platform-nuorder{grid-column:1 / -1}
 .platform-strip .platform-logos>li:last-child:nth-child(even){grid-column:1 / -1}
}

/* Detailed case-study heroes use the same horizontal visual proportion as the library cards. */
.case-hero .case-cover:not(.case-product-cover){aspect-ratio:3/2;max-height:none}
.case-hero .case-cover-type{min-height:0}
.case-hero .case-photo-wide{aspect-ratio:16/10}
@media(max-width:700px){.case-hero .case-cover:not(.case-product-cover){aspect-ratio:4/3}}
/* Focused cases keep client identities and implementation details private. */
.case-cover.case-cover-illustration{aspect-ratio:8/5;background:var(--tint)}
.case-cover-illustration>img{display:block;width:100%;height:100%;object-fit:contain}
.case-focused-intro{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:34px;margin-bottom:32px;border-block:1px solid var(--line)}
.case-focused-intro h2{font-size:1.65rem;line-height:1.3}
.case-focused-intro p{max-width:650px;margin-top:12px;color:var(--muted);font-size:.95rem}
.case-focused-intro .text-link{flex-shrink:0}
.case-brief-hero{max-width:1020px;padding-bottom:28px}
.case-brief-hero h1{max-width:940px;font-size:clamp(2.5rem,4.7vw,4.5rem)}
.case-brief-hero .lede{max-width:800px}
.case-brief-hero .case-reading{margin-top:24px}
.case-brief-body{max-width:1020px;padding-bottom:64px}
.case-brief-copy{max-width:800px}
.case-brief-copy p{margin-top:20px;font-size:1.05rem;line-height:1.85}
.case-brief-illustration{margin:38px 0 28px}
.case-brief-illustration img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.case-brief-illustration figcaption{margin-top:12px;color:var(--muted);font-size:.8rem;line-height:1.6}
.case-brief-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}
.case-brief-contact h2{max-width:840px;font-size:clamp(1.65rem,2.8vw,2.65rem);line-height:1.25}
@media(max-width:800px){.case-focused-intro{align-items:flex-start;flex-direction:column;gap:18px}.case-focused-intro .text-link{flex-shrink:1}}
@media(max-width:600px){.case-brief-hero h1{font-size:clamp(2.25rem,9vw,3.2rem)}.case-brief-copy p{font-size:1rem}.case-brief-body{padding-bottom:42px}.case-brief-links{flex-direction:column;align-items:flex-start}.case-brief-contact h2{font-size:1.75rem}}
.home-products{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.7fr);align-items:center;gap:68px;padding-block:48px;border-top:1px solid var(--line)}
.home-products h2{margin-top:14px;font-size:1.85rem;line-height:1.25}
.home-products p:not(.eyebrow){max-width:550px;margin-top:16px;color:var(--muted);line-height:1.75}
.home-products nav{margin-top:24px}
.home-product-preview{display:flex;min-height:205px;align-items:center;justify-content:center;padding:30px;border:1px solid var(--line);border-radius:7px;background:#f3f7f1}
.home-product-preview:hover{border-color:var(--control-border)}
.home-product-preview img{width:75%;height:auto}
.notes-library{padding-block:56px 72px}
.notes-library>.notes-section-intro{display:block;margin-bottom:32px}
.notes-library>.notes-section-intro .micro{margin-top:0;margin-bottom:12px}
:is(.note-contact,.case-contact) h2{max-width:840px;font-size:clamp(1.65rem,2.8vw,2.65rem);line-height:1.25}
@media(max-width:760px){.home-products{grid-template-columns:1fr;align-items:flex-start;gap:30px;padding-block:36px}.home-product-preview{width:100%;min-height:190px}.notes-library{padding-block:38px 48px}.notes-library>.notes-section-intro{margin-bottom:26px}:is(.note-contact,.case-contact) h2{font-size:1.75rem}}

/* Homepage brand row: all eight brands, four across, each linked to its evidence. */
.current-brands .brand-logos-all{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 44px;max-width:1040px}
.current-brands .brand-logos-all li,.current-brands .brand-logos-all li:nth-last-child(2),.current-brands .brand-logos-all li:last-child{grid-column:auto;min-height:76px;padding:6px 0}
.current-brands .brand-logos-all a{display:flex;align-items:center;justify-content:center;max-width:100%;border-radius:4px}
.current-brands .brand-logos-all a:hover{opacity:.78}
.current-brands .brand-logos-all .case-brand-mark-rumored{--mark-width:168px}
.current-brands .brand-logos-all .case-brand-mark-telegram-co{--mark-width:196px}
.current-brands .brand-logos-all .case-brand-mark-bicycle-superstore{--mark-width:160px}
.current-brands .brand-logos-all .case-brand-mark-seafolly{--mark-width:172px;--mark-ratio:300/61}
.current-brands .brand-logos-all .case-brand-mark-asahi-beverages{--mark-width:186px;--mark-ratio:163/32}
@media(max-width:900px){.current-brands .brand-logos-all{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 30px;max-width:680px}.current-brands .brand-logos-all li,.current-brands .brand-logos-all li:last-child{grid-column:auto;min-height:68px}}
@media(max-width:600px){.current-brands .brand-logos-all{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;max-width:380px}.current-brands .brand-logos-all li,.current-brands .brand-logos-all li:last-child{grid-column:auto;min-height:60px}.current-brands .brand-logos-all .case-brand-mark-telegram-co{--mark-width:160px}.current-brands .brand-logos-all .case-brand-mark-rumored{--mark-width:140px}.current-brands .brand-logos-all .case-brand-mark-bicycle-superstore{--mark-width:140px}.current-brands .brand-logos-all .case-brand-mark-seafolly{--mark-width:150px}.current-brands .brand-logos-all .case-brand-mark-asahi-beverages{--mark-width:160px}}
.current-brands .brand-logos-all .case-brand-family{gap:16px}.current-brands .brand-logos-all .case-brand-mark-milligram{--mark-width:150px}
@media(max-width:600px){.current-brands .brand-logos-all .case-brand-mark-milligram{--mark-width:124px}}

/* Launch: five client brands, centred as three plus two (two plus two plus one on mobile). */
.compare-ranking>.compare-note{max-width:none;margin:0 0 16px}
.current-brands .brand-logos-all{grid-template-columns:repeat(6,minmax(0,1fr));max-width:860px}
.current-brands .brand-logos-all li{grid-column:span 2}
.current-brands .brand-logos-all li:nth-last-child(2){grid-column:2 / span 2}
.current-brands .brand-logos-all li:last-child{grid-column:4 / span 2}
@media(max-width:600px){
 .current-brands .brand-logos-all{grid-template-columns:repeat(2,minmax(0,1fr));max-width:380px}
 .current-brands .brand-logos-all li,.current-brands .brand-logos-all li:nth-last-child(2){grid-column:auto}
 .current-brands .brand-logos-all li:last-child{grid-column:1 / -1}
}

/* Reviewed image crops work in local, preview and production builds. */
.case-photo-picture{display:contents}
.case-brand-photo[data-focus="50-48"]{object-position:50% 48%}
.case-brand-photo[data-focus="50-50"]{object-position:50% 50%}
.case-brand-photo[data-focus="50-35"]{object-position:50% 35%}
.case-brand-photo[data-focus="45-50"]{object-position:45% 50%}
.case-brand-photo[data-focus="62-50"]{object-position:62% 50%}
.case-brand-photo[data-focus="50-55"]{object-position:50% 55%}
.case-brand-photo[data-focus="50-37"]{object-position:50% 37%}

/* Six services share three columns on desktop and two on tablets. */
@media(min-width:801px){.service-card:nth-child(3n+1){border-left:0;padding-left:0}.service-card:nth-child(n+4){border-top:1px solid #c3d4dc}}
.approach-links{display:flex;flex-wrap:wrap;gap:8px 28px}

/* Let headings use the available measure at each viewport. */
h1,h2,h3{text-wrap:balance}
.hero h1{max-width:14ch}
.section h2{max-width:22ch}
.hero-visual{width:100%;max-width:520px;justify-self:end}

/* Keep paired section headings aligned to the top of their introduction. */
.section-heading{align-items:start}
.section-heading>p{margin-top:34px}
@media(max-width:600px){.section-heading>p{margin-top:0}}

@media(min-width:760px) and (max-width:800px){.case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-grid .work-card{display:block}.case-grid .work-card :is(h2,h3){font-size:1.35rem}.case-grid .work-card-copy{padding-top:20px}}
@media(min-width:600px) and (max-width:759px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-grid .work-card{display:block}.case-grid .work-card-copy{padding-top:20px}}

/* A regular platform grid keeps the platform experience list purposeful at every width. */
.platform-strip{padding-block:56px}
.platform-strip .container{gap:36px}
.platform-strip .platform-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 48px;max-width:1060px;margin-inline:auto}
.platform-strip .platform-logos>li,.platform-strip .platform-logos>li:nth-last-child(2),.platform-strip .platform-logos>li:last-child{width:auto;height:56px;min-height:56px;grid-column:auto;padding:0}
.platform-strip .platform-logos img{width:auto;height:34px;max-width:180px;object-fit:contain}
.platform-strip .platform-logos .platform-starshipit img{max-width:150px}
@media(min-width:700px) and (max-width:1050px){.platform-strip .platform-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;max-width:820px}.platform-strip .platform-logos>.platform-nuorder{grid-column:auto}}
@media(max-width:699px){.platform-strip{padding-block:44px}.platform-strip .container{gap:28px}.platform-strip .platform-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;max-width:480px}.platform-strip .platform-logos>li,.platform-strip .platform-logos>li:last-child{width:auto;height:52px;min-height:52px}.platform-strip .platform-logos>.platform-nuorder{grid-column:auto}.platform-strip .platform-logos>li:last-child:nth-child(odd){width:auto;grid-column:1 / -1}}
@media(max-width:699px){.platform-strip .platform-shopify,.platform-strip .platform-nuorder,.platform-strip .platform-xero{--platform-width:unset;--optical-width:unset}.platform-strip .platform-logos img{width:auto;height:28px;max-height:28px;max-width:100%;object-fit:contain}}

/* Home page uses each idea once at small widths. */
.home-product-preview{flex-direction:column;gap:18px;text-align:center}
.home-product-preview p{margin:0;color:var(--muted);font-size:.82rem}
@media(min-width:1024px){.current-brands .brand-logos-all{grid-template-columns:repeat(6,minmax(0,1fr));max-width:860px}.current-brands .brand-logos-all li{grid-column:span 2;min-height:72px}.current-brands .brand-logos-all li:nth-last-child(2){grid-column:2 / span 2}.current-brands .brand-logos-all li:last-child{grid-column:4 / span 2}.current-brands .case-brand-mark-rumored{filter:contrast(1.3)}}
@media(min-width:600px) and (max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.hero>.hero-visual{display:none}}
@media(max-width:480px){.service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card{padding-left:0;border-left:0}.service-card+.service-card{border-top:1px solid var(--line)}}

/* Case studies keep their project context readable at every width. */
@media(max-width:1000px){.case-story{grid-template-columns:1fr}.case-story aside{border-bottom:1px solid var(--line);padding-bottom:24px}}
@media(max-width:1000px){.case-story aside .case-contents+.text-link{margin-top:22px}.case-story aside .case-contents+.text-link+.text-link{display:flex;margin-top:14px}}
@media(min-width:421px) and (max-width:600px){.diagram-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.diagram-steps li{padding:14px}.diagram-steps li p{display:none}.diagram-steps .diagram-arrow{display:none}.diagram-steps strong::after{content:' ›';color:var(--blue)}.diagram-label{font-size:.8rem}.case-hero-photo{display:flex;flex-wrap:wrap;gap:10px 18px}.case-stats ul{gap:16px}}


/* Services and About: buyer context, project evidence and a direct working relationship. */
.practice-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding-block:74px 88px}
.practice-hero>*{min-width:0}
.practice-hero h1{font-size:clamp(3rem,4.9vw,4.8rem);line-height:1.1}
.practice-hero h1 em{font-style:normal;color:var(--blue)}
.practice-hero .lede{margin-top:28px;max-width:700px}
.practice-hero-text{color:var(--muted);margin-top:20px;max-width:650px}
.practice-selector{background:var(--tint);border:1px solid #c8d9e0;border-radius:9px;padding:28px}
.practice-selector>.micro{color:var(--blue);margin-bottom:22px}
.practice-selector>a{display:flex;align-items:center;gap:18px;padding-block:22px;border-top:1px solid #bfced5}
.practice-selector>a:hover strong{text-decoration:underline;text-underline-offset:5px}
.practice-selector-number{font-size:.74rem;color:var(--muted);flex:none;align-self:start;padding-top:3px}
.practice-selector>a>span:nth-child(2){flex:1;min-width:0}
.practice-selector strong{display:block;font-size:1.02rem;line-height:1.5;color:var(--blue)}
.practice-selector>a>span:nth-child(2)>span{display:block;color:var(--muted);font-size:.82rem;margin-top:6px}
.practice-selector>a>span:last-child{flex:none;color:var(--blue)}
.practice-selector>p:last-child{font-size:.82rem;color:var(--muted);border-top:1px solid #bfced5;padding-top:22px}
.practice-intro-band{border-block:1px solid var(--line);padding-block:30px}
.practice-intro-band>.container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.practice-intro-band p{font-size:.93rem;color:var(--muted)}
.practice-intro-band strong{display:block;color:var(--blue);margin-bottom:8px;font-size:1rem}
.practice-service-list{padding-top:30px}
.practice-service-row{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding-block:64px;border-bottom:1px solid var(--line)}
.practice-service-row:last-child{padding-bottom:0;border-bottom:0}
.practice-service-row>*{min-width:0}
.practice-service-summary h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.15}
.practice-service-summary>.lede{margin-top:24px;font-size:1.04rem}
.practice-service-summary>.text-link{margin-top:22px}
.practice-references{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.practice-references>.micro{color:var(--muted);margin-bottom:10px}
.practice-references .text-link{display:flex;justify-content:space-between;max-width:480px;font-size:.86rem}
.practice-references>p:not(.micro){font-size:.85rem;color:var(--muted);margin-top:10px}
.practice-service-inclusions{padding:30px;background:var(--tint);border:1px solid var(--line);border-radius:7px;align-self:start}
.practice-service-inclusions>h3{font-size:1.25rem;margin-bottom:26px}
.practice-service-inclusions>div+div{margin-top:24px;padding-top:24px;border-top:1px solid #c8d6dc}
.practice-service-inclusions h4{font-size:1rem;color:var(--blue);margin:0 0 9px;font-weight:600}
.practice-service-inclusions p{color:var(--muted);font-size:.94rem}
.practice-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.practice-cards-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.practice-cards>article{min-width:0}
.practice-number{display:block;color:var(--blue);font-size:.75rem;border-top:1px solid #becfd7;padding-top:20px;margin-bottom:24px}
.practice-cards h3{font-size:1.3rem;margin-bottom:18px}
.practice-cards p{color:var(--muted);font-size:.94rem}
.practice-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.practice-proof-grid.practice-proof-triple{grid-template-columns:repeat(3,minmax(0,1fr))}
.practice-proof-grid:has(>.practice-proof:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.practice-proof{min-width:0;background:white;border:1px solid var(--line);border-radius:8px}
.practice-proof .case-cover{border-radius:7px 7px 0 0;aspect-ratio:16/9;min-height:0}
.practice-proof .case-platform-logos{padding-inline:22px;min-height:76px;height:auto;flex-wrap:wrap;gap:12px 20px}
.practice-proof .case-media{margin:0}
.practice-proof-copy{padding:28px}
.practice-proof-copy>.eyebrow{font-size:.61rem;margin-bottom:18px;line-height:1.7}
.practice-proof-copy h3{font-size:1.65rem;line-height:1.25;margin-bottom:18px}
.practice-proof-copy>p:not(.eyebrow){color:var(--muted);font-size:.94rem}
.practice-proof-copy>.text-link{margin-top:20px}
.practice-proof-single{grid-template-columns:1fr;max-width:1200px;margin-inline:auto}
.practice-proof-single .practice-proof{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.practice-proof-single .case-cover{border-radius:7px 0 0 0}
.practice-prose p{color:var(--muted);font-size:1.04rem;line-height:1.85}
.practice-prose p+p{margin-top:22px}
.practice-detail-intro{display:grid;grid-template-columns:1.3fr .8fr;gap:80px;align-items:start}
.practice-detail-lead{display:grid;grid-template-columns:1fr minmax(280px,.45fr);padding-bottom:38px}
.practice-detail-lead .practice-start{grid-column:2}
.practice-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:64px;align-items:start}
.practice-detail-hero .breadcrumbs{grid-column:1/-1}
.practice-detail-hero .practice-start{margin-top:0}
.practice-start{background:var(--tint);border:1px solid var(--line);border-radius:7px;padding:30px;min-width:0}
.practice-start>.micro{color:var(--blue)}
.practice-start h2{font-size:1.75rem;margin-top:22px}
.practice-start>p:not(.micro){color:var(--muted);margin-top:18px;font-size:.94rem}
.practice-start>.button{margin-top:24px;max-width:100%;gap:20px}
.practice-deliverables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 60px}
.practice-deliverables>article{display:flex;align-items:start;gap:22px;border-top:1px solid var(--line);padding-top:26px;min-width:0}
.practice-deliverables .practice-number{border:0;padding:3px 0 0;margin:0;flex:none}
.practice-deliverables h3{font-size:1.45rem;margin-bottom:18px}
.practice-deliverables p{color:var(--muted);font-size:.97rem}
.practice-deliverables>article>div{min-width:0}
.practice-product-link{margin-top:30px}
.practice-faq-border{border-top:1px solid var(--line)}
.practice-return{display:flex;justify-content:space-between;gap:20px;padding-block:28px;border-bottom:1px solid var(--line)}
.practice-hero.practice-about-hero{grid-template-columns:minmax(0,1fr)}
.practice-about-hero>div{max-width:900px}
.practice-hero.practice-about-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);align-items:start}
.practice-about-facts{margin-top:6px}
.practice-about-facts>p:not(.micro){padding-block:14px;border-top:1px solid var(--line);font-size:.9rem;line-height:1.55}
.practice-owned-products>article:only-child{grid-column:1/-1;max-width:640px}
.practice-about-person h2{margin-bottom:28px}
.practice-portrait{margin:0;padding:32px;background:#e8eff0;border:1px solid #d2e0e6;border-radius:10px;min-width:0}
.practice-portrait>img{width:100%;height:auto;max-width:420px;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:auto}
.practice-portrait figcaption{text-align:center;margin-top:24px}
.practice-portrait figcaption strong{display:block;font-size:1.1rem;color:var(--blue)}
.practice-portrait figcaption span{display:block;font-size:.87rem;color:var(--muted);margin-top:5px}
.practice-editorial{display:grid;grid-template-columns:.9fr 1.3fr;gap:90px;align-items:start}
.practice-owned-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.practice-owned-products>article{border:1px solid var(--line);border-radius:8px;padding:32px;background:white;min-width:0}
.practice-product-identity{min-height:100px;display:flex;align-items:center;gap:16px;color:var(--blue);margin-bottom:28px}
.practice-product-identity>img:not(.practice-brick-buddies){flex:none;width:48px;height:48px}
.practice-product-identity>span{font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;font-weight:600}
.practice-product-identity strong{display:block;font-size:1rem;margin-top:5px}
.practice-product-identity:has(.practice-brick-buddies){background:#f3f7f1;padding:20px 24px;border-radius:4px}
.practice-brick-buddies{width:300px;height:auto;max-width:100%}
.practice-owned-products h3{font-size:1.6rem;margin-bottom:18px}
.practice-owned-products p{color:var(--muted)}
.practice-owned-products .text-link{margin-top:22px}
@media(max-width:1050px){.practice-hero{gap:40px;grid-template-columns:1.1fr 1fr}.practice-hero h1{font-size:clamp(2.7rem,5.2vw,4rem)}.practice-service-row,.practice-detail-intro{gap:40px}.practice-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.practice-cards-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.practice-proof-grid:has(>.practice-proof:nth-child(3)),.practice-proof-grid.practice-proof-triple{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-editorial{gap:50px}.practice-portrait{padding:24px}}
@media(max-width:800px){.practice-hero{grid-template-columns:1fr;gap:40px;padding-block:54px 62px}.practice-hero.practice-about-hero{grid-template-columns:minmax(0,1fr)}.practice-hero h1{font-size:clamp(3rem,7vw,4.8rem)}.practice-selector{max-width:700px}.practice-service-row{grid-template-columns:1fr;gap:30px;padding-block:44px}.practice-service-inclusions{padding:28px}.practice-service-summary>.lede{max-width:720px}.practice-cards-three{grid-template-columns:1fr;gap:30px}.practice-cards-three p{max-width:740px}.practice-detail-intro{grid-template-columns:1fr;gap:32px}.practice-start{max-width:700px}.practice-proof-single .practice-proof{grid-template-columns:1fr}.practice-proof-single .case-cover{border-radius:7px 7px 0 0}.practice-deliverables{gap:32px}.practice-editorial{grid-template-columns:1fr;gap:30px}.practice-portrait{max-width:500px;width:100%}.practice-owned-products{gap:22px}.practice-product-identity{flex-wrap:wrap}.practice-product-identity>span{font-size:1.3rem}}
@media(max-width:600px){.practice-hero{padding-block:44px 54px;gap:34px}.practice-hero h1{font-size:clamp(2.75rem,10vw,3.8rem)}.practice-hero .lede{font-size:1rem}.practice-hero-text{font-size:.94rem}.practice-selector{padding:22px}.practice-selector>a{gap:13px}.practice-intro-band>.container{grid-template-columns:1fr;gap:24px}.practice-service-list{padding-top:15px}.practice-service-summary h2{font-size:2.15rem}.practice-service-inclusions{padding:24px}.practice-cards,.practice-proof-grid,.practice-proof-grid:has(>.practice-proof:nth-child(3)),.practice-proof-grid.practice-proof-triple,.practice-deliverables,.practice-owned-products{grid-template-columns:1fr}.practice-cards{gap:30px}.practice-number{margin-bottom:18px}.practice-proof-copy{padding:24px}.practice-proof-copy h3{font-size:1.5rem}.practice-proof .case-platform-logos{padding-inline:16px;gap:12px 16px}.practice-prose p{font-size:1rem}.practice-start{padding:24px}.practice-start h2{font-size:1.65rem}.practice-deliverables>article{gap:16px}.practice-deliverables h3{font-size:1.3rem}.practice-owned-products>article{padding:24px}.practice-product-identity{min-height:80px}.practice-return{flex-wrap:wrap}.practice-about-hero h1{font-size:clamp(2.75rem,10vw,3.8rem)}}

/* Shared comparison cards and tables. Horizontal scroll stays inside each table. */
.compare{padding-bottom:110px}
.comparison-logo{--mark-height:calc(18px * var(--optical-scale,1));display:flex;align-items:center;gap:8px;min-width:0;min-height:26px}
.comparison-logo-mark{display:block;position:relative;flex:none;height:var(--mark-height);transform:translateY(calc(18px * var(--optical-shift,0)))}
.comparison-logo img{display:block;width:auto;height:100%;object-fit:contain}
/* Crop source whitespace without shrinking the visible wordmark. Shared
   platforms inherit the same optical scale used by case study cards. */
.comparison-logo-pepperi{--comparison-logo-ratio:664/97}
.comparison-logo-smile{--comparison-logo-ratio:98/17}
.comparison-logo-patchworks{--comparison-logo-ratio:162/34}
.comparison-logo-bigcommerce{--comparison-logo-ratio:480/109}
.comparison-logo:is(.comparison-logo-pepperi,.comparison-logo-smile,.comparison-logo-patchworks,.comparison-logo-bigcommerce) .comparison-logo-mark{width:calc(var(--mark-height) * var(--comparison-logo-ratio));overflow:hidden}
.comparison-logo:is(.comparison-logo-pepperi,.comparison-logo-smile,.comparison-logo-patchworks,.comparison-logo-bigcommerce) img{position:absolute;height:auto;max-width:none}
.comparison-logo-pepperi img{width:100.301%;left:-.301%;top:-15.464%}
.comparison-logo-smile img{width:102.041%;left:-1.020%;top:-17.647%}
.comparison-logo-patchworks img{width:100%;left:0;top:-8.824%}
.comparison-logo-bigcommerce img{width:127.5%;left:-14.375%;top:-111.927%}
.comparison-logo-salesforce{--mark-height:26px}
.comparison-logo-tagalys{--mark-height:22px}
.comparison-logo-custom{gap:8px;font-size:.75rem;line-height:1.25;font-weight:600;color:var(--blue)}
.comparison-logo-custom .comparison-logo-mark{width:22px;height:22px;max-width:none}
.comparison-logo-custom .comparison-logo-mark img{width:22px;height:22px}
.comparison-notice{border-left:3px solid var(--blue);background:var(--tint);padding:22px 24px;margin-top:26px}
.comparison-notice h2{font-size:1.2rem;line-height:1.3}
.comparison-notice p{margin-top:12px;font-size:.94rem}
.comparison-page-hero{padding-block:40px 48px}
.comparison-page-hero .breadcrumbs{margin-bottom:28px}
.comparison-opening{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:clamp(32px,5vw,64px);align-items:start}
.comparison-opening-copy{min-width:0}
.comparison-page-hero h1{font-size:clamp(2.4rem,3.7vw,3.75rem);text-wrap:balance}
.comparison-page-hero .lede{margin-top:20px;font-size:1.05rem;line-height:1.65}
.comparison-opening .practice-start{padding:26px}
.comparison-opening .practice-start h2{font-size:1.5rem;line-height:1.25;margin-top:14px}
.comparison-opening .practice-start>p:not(.micro){margin-top:14px;line-height:1.65}
.comparison-opening .practice-start>.button{margin-top:20px}
.comparison-page-hero .comparison-notice{margin-top:28px}
.compare-head{display:grid;grid-template-columns:1.1fr 1fr;gap:48px 90px;align-items:end;margin-bottom:34px}
.compare-head h2{font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.12;max-width:560px}
.compare-note{font-size:.92rem;line-height:1.65;color:var(--muted);max-width:390px;margin:0 0 4px}
.compare-hint{display:none;font-size:.78rem;color:var(--muted);margin:0 0 10px}
.compare-wrap{position:relative;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 34px #1234460c}
.compare-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.compare-table th,.compare-table td{vertical-align:top;text-align:left;padding:20px 18px;border-bottom:1px solid var(--line);border-right:1px solid #e6edf0}
.compare-table tr>*:last-child{border-right:0}
.compare-table thead th{position:sticky;top:95px;z-index:3;background:var(--blue);color:#fff;font-weight:650;font-size:.97rem;line-height:1.3;padding:20px 18px;border-bottom:0;border-right:1px solid #1b5077}
.compare-table thead th:first-child{z-index:4;border-top-left-radius:10px;color:#b3cfdf;font-size:.69rem;font-weight:650;letter-spacing:.15em;text-transform:uppercase;padding-top:26px}
.compare-table thead th:last-child{border-top-right-radius:10px;border-right:0}
.compare-platform-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.compare-logo-plate{display:flex;align-items:center;container-type:inline-size;box-sizing:border-box;width:100%;max-width:174px;height:44px;padding:8px 10px;background:#fff;border-radius:4px}
.compare-logo-plate .comparison-logo{--mark-height:calc(min(22px,16cqw) * var(--optical-scale,1));min-height:0}
.compare-logo-plate .comparison-logo-nuorder{--mark-height:min(16px,8cqw)}
.compare-logo-plate .comparison-logo:is(.comparison-logo-pepperi,.comparison-logo-smile,.comparison-logo-patchworks,.comparison-logo-bigcommerce){--mark-height:min(22px,calc(100cqw / var(--comparison-logo-ratio)))}
.compare-logo-plate .comparison-logo-salesforce{--mark-height:min(26px,18cqw)}
.compare-logo-plate .comparison-logo-tagalys{--mark-height:min(22px,15cqw)}
.compare-table th[scope=row]{position:sticky;left:0;z-index:2;background:#fff;font-weight:650;color:var(--ink);font-size:.95rem;line-height:1.35;box-shadow:1px 0 0 var(--line)}
.compare-table thead th:first-child{left:0}
.compare-table col.compare-need{width:18%}
.compare-table col.compare-platform{width:16.4%}
.compare-count-4 col.compare-platform{width:20.5%}
.compare-count-3 col.compare-platform{width:27.333%}
.compare-cell{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.compare-score{display:inline-flex;align-items:center;flex:none;white-space:nowrap}
.compare-rating{color:var(--blue);font-size:1.05rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.compare-points{margin:0;padding-left:1.05em;color:var(--muted);font-size:.8rem;line-height:1.45}
.compare-points li+li{margin-top:4px}
.compare-table tr.compare-overall th,.compare-table tr.compare-overall td{background:var(--blue);color:#fff;border-bottom:0;border-right:1px solid #1b5077;padding-block:22px}
.compare-table tr.compare-overall td:last-child{border-right:0;border-bottom-right-radius:10px}
.compare-table tr.compare-overall th[scope=row]{background:var(--blue);color:#fff;box-shadow:1px 0 0 #1b5077;border-bottom-left-radius:10px}
.compare-table tr.compare-overall th[scope=row] small{color:#b3cfdf}
.compare-cell-overall{gap:8px}
.compare-overall-score{font-size:.82rem;line-height:1.2;font-variant-numeric:tabular-nums;color:#d4e5ee}

.compare-ranking{margin:0 0 48px}
.compare-ranking-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px}
.compare-ranking-heading p{font-size:.8rem;color:var(--muted);text-align:right}
.compare-ranking h2{font-size:clamp(1.6rem,2.3vw,2rem);line-height:1.15}
.compare-ranking ol{margin:0;padding:0;list-style:none;min-width:0}
.compare-ranking ol>li{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:28px;align-items:center;padding:16px 0;border-top:1px solid var(--line);font-size:.95rem;line-height:1.5;color:var(--muted)}
.compare-ranking li:last-child{border-bottom:1px solid var(--line)}
.compare-ranking-copy{display:grid;grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:28px;align-items:center;min-width:0;overflow-wrap:normal}
.compare-ranking-copy b{color:var(--ink);font-weight:650}
.compare-ranking-copy p{margin:0;font-size:.9rem;line-height:1.5}
.compare-ranking .compare-score{justify-self:end}
.compare-sources{margin-top:32px;padding:22px 24px;border:1px solid var(--line);border-radius:10px;background:var(--tint);font-size:.84rem;color:var(--muted);line-height:1.65}
.compare-sources .micro{margin:0 0 10px;color:var(--blue)}
.compare-sources p:not(.micro){margin:0;max-width:1100px}
.compare-sources p:not(.micro)+p:not(.micro){margin-top:5px}
.compare-sources ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 36px;margin:18px 0 0;padding-left:1.25em;list-style:disc}
.compare-sources li{min-width:0;padding-left:2px}
.compare-sources a{text-decoration:underline;text-underline-offset:.18em;color:var(--ink)}
.compare-sources a:hover{color:var(--blue)}
.compare-jump{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.compare-jump a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.9rem;font-weight:600;text-decoration:underline;text-underline-offset:.25em}
.compare-wrap:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.compare-wrap{scroll-margin-top:110px}
.compare-ranking{scroll-margin-top:110px}
.compare-table th,.compare-points{overflow-wrap:anywhere}

@media(max-width:1000px){
  .compare-head{grid-template-columns:1fr;gap:22px;margin-bottom:26px}
  .compare-hint{display:block}
  .compare-wrap{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;box-shadow:none}
  .compare-table{width:1120px;min-width:1120px;table-layout:fixed}
  .compare-count-4 .compare-table{width:930px;min-width:930px}
  .compare-count-3 .compare-table{width:740px;min-width:740px}
  .compare-table col.compare-need{width:170px}
  .compare-wrap .compare-table col.compare-platform{width:190px}
  .compare-table thead th{position:sticky;top:auto}
  .compare-table th[scope=row]{min-width:170px}
}
@media(max-width:900px){.comparison-opening{grid-template-columns:1fr;gap:26px}.comparison-opening .practice-start{max-width:none}.comparison-page-hero h1{max-width:700px}.comparison-page-hero .lede{max-width:700px}}
@media(max-width:800px){
  .compare-ranking ol>li{grid-template-columns:minmax(0,1fr) max-content;gap:8px 18px}
  .compare-ranking-copy{display:contents}
  .compare-ranking-copy b{grid-column:1;grid-row:1;align-self:center}
  .compare-ranking-copy p{grid-column:1 / -1;grid-row:2}
  .compare-ranking .compare-score{grid-column:2;grid-row:1}
}
@media(max-width:600px){
  .comparison-page-hero{padding-block:28px 36px}
  .comparison-page-hero .breadcrumbs{margin-bottom:24px}
  .comparison-opening .practice-start{padding:22px}
  .comparison-page-hero .lede{font-size:1rem}
  .compare-ranking-heading{gap:16px;margin-bottom:16px}
  .compare-ranking-heading p{max-width:120px;line-height:1.4}
  .compare{padding-bottom:70px}
  .compare-wrap{container-type:inline-size;--compare-platform-count:5;scroll-snap-type:x proximity;scroll-padding-left:min(140px,38%)}
  .compare-count-4{--compare-platform-count:4}
  .compare-count-3{--compare-platform-count:3}
  .compare-table th,.compare-table td{padding:18px 14px}
  .compare-table thead th{padding:16px 14px;font-size:.9rem}
  .compare-table thead th:not(:first-child){scroll-snap-align:start}
  .compare-table th[scope=row]{min-width:0;font-size:.88rem}
  .compare-table,.compare-count-4 .compare-table,.compare-count-3 .compare-table{--compare-need-width:min(140px,38cqw);--compare-platform-width:calc(100cqw - var(--compare-need-width));width:calc(var(--compare-need-width) + var(--compare-platform-width) * var(--compare-platform-count));min-width:0}
  .compare-table col.compare-need{width:var(--compare-need-width)}
  .compare-wrap .compare-table col.compare-platform{width:var(--compare-platform-width)}
  .compare-cell{gap:8px}
  .compare-ranking{margin-bottom:36px}
  .compare-sources{padding:20px}
  .compare-sources ul{grid-template-columns:1fr;gap:7px;margin-top:16px}
}

/* Keep the service selector close to the height of the introduction. */
.practice-hero{align-items:start}
.practice-selector{padding:22px}
.practice-selector>a{padding-block:16px}
@media(max-width:600px){.practice-service-inclusions{padding:20px}.practice-service-inclusions>*+*{margin-top:12px}.practice-service-inclusions>*{border:0!important}}
@media(max-width:800px){.practice-detail-lead{display:block;padding-bottom:32px}.practice-detail-lead .practice-start{max-width:700px}.practice-detail-intro{display:block}}
@media(max-width:999px){.practice-detail-hero{display:block}.practice-detail-hero .practice-start{margin-top:30px;max-width:700px}}

/* Tables reveal that more platform columns are available on small screens. */
@media(max-width:700px){.compare-wrap{position:relative;scroll-padding-left:132px}.compare-wrap[data-scroll-start="true"]::after{content:"";position:absolute;z-index:2;top:0;right:0;bottom:0;width:40px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--paper))}.compare-table,.compare-count-4 .compare-table,.compare-count-3 .compare-table{--compare-need-width:132px;--compare-platform-width:min(176px,calc(100cqw - 132px - 40px))}.compare-wrap .compare-table col.compare-platform{min-width:0;width:var(--compare-platform-width)}.compare-table th[scope=row]{min-width:132px}.content-card-logos{min-height:72px}}
@media(forced-colors:active){.compare-table thead th,.compare-table tr.compare-overall td{border:1px solid ButtonText}}

/* One library layout and card component for case studies and comparisons. */
.page-hero.collection-hero{padding-block:56px 40px}
.collection-hero h1{font-size:clamp(2.85rem,4.5vw,4.25rem);line-height:1.08}
.collection-hero .lede{max-width:760px;margin-top:22px;font-size:1.05rem;line-height:1.7}
.collection-list{padding-bottom:80px}
.content-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:stretch}
.content-card-grid>.content-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}
.content-card-grid>.content-card[hidden]{display:none}
.content-card-media .case-cover{aspect-ratio:8/5;height:auto;min-height:0;max-height:none;border-radius:0}
.content-card-media .case-cover-brands{left:16px;bottom:16px;padding:12px 14px;border-radius:5px}
.content-card-copy{display:flex;flex-direction:column;flex:1;min-width:0;padding:24px 22px 22px}
.content-card-grid .content-card-copy>.eyebrow{font-size:.58rem;line-height:1.6;letter-spacing:.085em;margin:0 0 12px;color:var(--blue)}
.content-card-grid .content-card-title{font-size:1.36rem;line-height:1.28;letter-spacing:-.005em;margin:0;max-width:none}
.content-card-grid .content-card-title a:hover{text-decoration:underline;text-underline-offset:4px}
/* Extend the native title link across the card, including artwork and logos. */
.content-card-grid .content-card-title a::after{content:"";position:absolute;inset:0;z-index:3}
.content-card-grid .content-card-title a:focus-visible::after{outline:3px solid var(--blue);outline-offset:-3px}
.content-card-grid .content-card-copy>.content-card-summary{font-size:.88rem;line-height:1.7;margin:14px 0 20px;max-width:none;color:var(--muted)}
.content-card-grid .content-card-copy>.content-card-meta{display:flex;gap:12px;flex-wrap:wrap;margin:auto 0 0;font-size:.68rem;line-height:1.65;color:var(--muted)}
.content-card-footer{margin-top:auto}
.content-card-logos{padding:12px 22px;background:var(--tint);border-block:1px solid var(--line)}
.content-card-logos :is(.case-platform-logos,.comparison-logos){display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:16px 20px;list-style:none;padding:0;margin:0;min-height:80px;width:100%}
.content-card-logos li{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start;min-height:26px;max-width:100%}
.content-card-logos .case-platform-logos img{width:auto;max-width:100%;max-height:none;height:calc(18px * var(--optical-scale,1));transform:translateY(calc(18px * var(--optical-shift,0)))}
.content-card-action{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 22px}
.content-card-action .text-link{position:relative;z-index:4;margin:0;padding:0;min-height:36px;gap:9px;font-size:.76rem;line-height:1.5}
.content-card-action .text-link svg{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--tint);flex:none}
.content-card-reading{font-size:.68rem;line-height:1.4;color:var(--muted)}
@media(hover:hover){.content-card-action .text-link:hover svg{background:#dce9ef;transform:none}}

/* Cards with one clear destination use that existing link across the surface. */
:is(.case-library-grid .work-card,.service-card,.product-card,.practice-owned-products>article,.technical-note-grid article,.note-feature,.mcp-connector-card){position:relative;isolation:isolate}
:is(.case-library-grid .work-card,.service-card,.technical-note-grid article,.note-feature) :is(h2,h3) a::after,
:is(.product-card,.practice-owned-products>article,.mcp-connector-card) .text-link::after{content:"";position:absolute;inset:0;z-index:3}
:is(.case-library-grid .work-card,.service-card,.technical-note-grid article,.note-feature) .text-link{position:relative;z-index:4}
:is(.case-library-grid .work-card,.service-card,.technical-note-grid article,.note-feature) :is(h2,h3) a:focus-visible::after,
:is(.product-card,.practice-owned-products>article,.mcp-connector-card) .text-link:focus-visible::after{outline:3px solid var(--blue);outline-offset:-3px}
@media(max-width:1050px){.content-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .page-hero.collection-hero{padding-block:40px 32px}
 .collection-hero .lede{font-size:1rem}
 .collection-list{padding-bottom:56px}
 .content-card-grid{grid-template-columns:1fr;gap:24px}
 .content-card-copy{padding:22px 20px}
 .content-card-grid .content-card-title{font-size:1.4rem}
 .content-card-logos{padding:12px 20px}
 .content-card-logos :is(.case-platform-logos,.comparison-logos){gap:14px 18px}
 .content-card-action{padding:14px 20px}
}
