/* B2B service pages share the pricing site's typography, scale and navigation. */
.service-page{overflow-x:clip}
.service-page main>section{padding-block:0;border:0}
.service-page .skip-link{position:absolute;top:-5rem;left:var(--margin);z-index:100;background:var(--ink);color:var(--paper);padding:1rem}
.service-page .skip-link:focus{top:1rem}
.service-page h1,.service-page h2,.service-page h3{font-weight:400}
.service-page .section-label,.service-page .hero-eyebrow{font-size:.75rem;line-height:1.35;font-weight:400;letter-spacing:-.02em}
.service-page .orange-dot{color:var(--red)}
.service-page :is(section,article)[id]{scroll-margin-top:2rem}
.service-page .svc-hero{padding-block:6.5rem 4.5rem}
.hero-eyebrow{display:flex;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.hero-eyebrow span:last-child{color:var(--muted)}
.service-page .svc-hero h1{font-size:6.125rem;line-height:1.01;letter-spacing:-.025em;max-width:70rem}
.svc-hero-bottom{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);margin-top:3.5rem}
.svc-hero-bottom>div{grid-column:1/6}
.svc-hero-bottom p{font-size:1.125rem;line-height:1.5;color:var(--muted);max-width:29rem}
.svc-hero-bottom .button{margin-top:2rem}
.service-index{grid-column:9/13;display:grid;align-content:start;border-top:1px solid var(--line)}
.service-index a{display:grid;grid-template-columns:1.5rem 1fr 1rem;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:.9rem 0;font-size:.875rem;line-height:1.3}
.service-index a>span:first-child{color:var(--muted);font-size:.6875rem}
.service-index a:hover{color:var(--red)}
.hero-canvas .art{height:38rem;border-radius:1rem}
.canvas-caption{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--muted);padding-top:1rem}
.service-page .svc-position{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-block:8rem 7rem}
.svc-position>.section-label{grid-column:1/5;padding-top:.4rem}
.svc-position>div:not(.signal-row){grid-column:5/12}
.service-page h2{font-size:3.75rem;line-height:1.05;letter-spacing:-.02em}
.svc-position>div>p{font-size:1rem;line-height:1.55;color:var(--muted);max-width:36rem;margin-top:2rem}
.signal-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}
.signal-row p{border-top:1px solid var(--line);padding-top:1.5rem;font-size:1.25rem;line-height:1.4}
.signal-row span{display:block;font-size:.6875rem;color:var(--muted);margin-bottom:1.5rem}
.service-page .svc-offering{padding-bottom:8rem}
.offering-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);margin-bottom:4rem}
.offering-heading>.section-label{grid-column:1/5;padding-top:.5rem}
.offering-heading h2{grid-column:5/13}
.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5rem 1.5rem}
.service-card{grid-column:span 3;min-width:0}
.service-card:nth-child(n+3){grid-column:span 2}
.service-card>.art{height:27rem;border-radius:.75rem}
.service-card:nth-child(n+3)>.art{height:22rem}
.service-card-copy{padding-top:1.75rem}
.service-kicker{display:flex;gap:1rem;align-items:center;font-size:.75rem;line-height:1.4}
.service-kicker>span{color:var(--muted);font-size:.6875rem}
.service-card h3{font-size:2.75rem;line-height:1.07;margin-top:1.25rem}
.service-card:nth-child(n+3) h3{font-size:2.25rem}
.service-card-copy>p:not(.service-kicker){font-size:.9375rem;line-height:1.55;color:var(--muted);max-width:35rem;margin-top:1.5rem}
.service-card details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:1.75rem;font-size:.875rem;line-height:1.5}
.service-card summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;list-style:none}
.service-card summary::-webkit-details-marker{display:none}
.service-card details[open] summary>span{transform:rotate(45deg)}
.service-card details ul{padding:0 0 1rem 1rem;margin:0;color:var(--muted)}
.service-card details li+li{margin-top:.5rem}
.service-card .text-link{font-size:.9375rem;margin-top:1.5rem}
.art{position:relative;isolation:isolate;overflow:hidden;background:#eae9e4;color:#101110}
.art-label{position:absolute;left:2rem;top:1.5rem;font:400 .625rem/1.4 var(--body);letter-spacing:.04em;color:#77756f;z-index:3}
.art-footnote{position:absolute;bottom:1rem;left:2rem;font:400 .625rem/1.3 var(--body);color:#8b8982}
.design-art{background:radial-gradient(ellipse at 68% 20%,#f9f8f4 0,transparent 65%),#e4e3dd;perspective:100rem}
.browser-mock{position:absolute;left:10%;top:13%;width:73%;height:75%;background:#faf9f5;box-shadow:0 1.5rem 4rem #28271e26;border-radius:.5rem;overflow:hidden;transform:rotate(-3deg);border:1px solid #d4d3cd}
.browser-bar{display:flex;align-items:center;gap:.3rem;border-bottom:1px solid #deddd6;padding:.75rem 1rem;font-size:.5rem;color:#a19e95}
.browser-bar i{width:.25rem;height:.25rem;background:#bab7ae;border-radius:50%}
.browser-bar>span{margin-inline:auto}
.mock-nav{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem}
.mock-nav>span:first-child{font:400 1.5rem/1 var(--serif)}
.mock-nav>span:last-child{font-size:.5rem}
.mock-content{padding:1.5rem 1.75rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}
.mini-eyebrow{font-size:.4rem;letter-spacing:.04em}
.art .mock-content .mock-title{font:400 3.25rem/1.02 var(--serif);margin:.8rem 0 0;letter-spacing:-.025em}
.mock-cta{margin-top:1.5rem;background:#151515;color:#f7f7f5;border-radius:62.4375rem;padding:.65rem .9rem;display:inline-block;font-size:.5rem}
.sculpture{height:13rem;position:relative;transform:rotate(-14deg)}
.sculpture>span{position:absolute;display:block;left:8%;width:90%;height:52%;border-radius:50%;background:radial-gradient(ellipse at 30% 25%,#ff9c75,#ef491c 44%,#9c200b 85%);box-shadow:inset -.5rem -.5rem 1rem #710f0d40,0 1rem 1rem #71221015}
.sculpture>span:nth-child(1){top:0;transform:rotate(-20deg)}
.sculpture>span:nth-child(2){top:25%;transform:rotate(10deg)}
.sculpture>span:nth-child(3){top:50%;transform:rotate(-8deg)}
.mock-bottom{position:absolute;left:1.75rem;right:1.75rem;bottom:1rem;display:flex;justify-content:space-between;font-size:.4rem;border-top:1px solid #deddd6;padding-top:.65rem}
.phone-mock{position:absolute;right:6.5%;top:34%;width:17%;height:57%;border:0.25rem solid #171714;border-radius:1.5rem;background:#efeee9;box-shadow:0 1rem 3rem #14141026;padding:1.4rem .75rem;transform:rotate(7deg)}
.phone-mock>span{font:400 .9rem/1 var(--serif)}
.phone-mock strong{display:block;font:400 1.4rem/1.04 var(--serif);margin-top:1.7rem}
.phone-mock>div{height:35%;margin-top:1rem;border-radius:50%;background:radial-gradient(ellipse at 35% 30%,#ffae83,#ed491e 45%,#951b0a)}
.phone-mock small{font-size:.4rem;display:block;margin-top:.75rem}
.hero-canvas .browser-mock{left:13%;width:66%;top:13%}
.hero-canvas .phone-mock{width:14%;right:11%;top:29%;height:63%;padding:2rem 1rem}
.hero-canvas .phone-mock strong{font-size:2.25rem;margin-top:2.25rem}
.hero-canvas .mock-content .mock-title{font-size:5rem}
.hero-canvas .mock-nav{padding:1.5rem 2.5rem}
.hero-canvas .mock-nav>span:first-child{font-size:2rem}
.hero-canvas .mock-nav>span:last-child{font-size:.75rem}
.hero-canvas .mock-content{padding:2rem 2.5rem;gap:2.5rem}
.hero-canvas .mini-eyebrow{font-size:.625rem}
.hero-canvas .mock-cta{font-size:.75rem;padding:.9rem 1.5rem}
.hero-canvas .sculpture{height:19rem}
.hero-canvas .mock-bottom{left:2.5rem;right:2.5rem;font-size:.625rem}
.dev-art{background:#151515;color:#f7f7f5}
.dev-art .art-label,.dev-art .art-footnote{color:#8f8f87}
.dev-orbit{position:absolute;inset:3rem 1.5rem 2rem;display:flex;align-items:center;justify-content:center}
.orbit-ring{position:absolute;width:24rem;height:15rem;border:1px solid #ffffff18;border-radius:50%;transform:rotate(-28deg)}
.orbit-ring.second{width:20rem;height:20rem;transform:rotate(30deg)}
.dev-core{display:flex;flex-direction:column;align-items:center;justify-content:center;width:14rem;height:14rem;border:1px solid #ffffff25;background:radial-gradient(circle at 25% 20%,#383833,#1c1c1a 65%);border-radius:50%;box-shadow:0 1rem 3rem #0004}
.dev-core>span{font-size:.5rem;color:#9e9e94}
.dev-core strong{font:400 3rem/1.02 var(--serif);margin-top:.6rem;text-align:center}
.dev-core small{font-size:.4rem;color:#a7a79f;margin-top:.75rem}
.dev-node{position:absolute;padding:.7rem 1rem;background:#252522;border:1px solid #ffffff20;border-radius:.5rem;font:400 .65rem/1.2 monospace;box-shadow:0 .5rem 1rem #0003}
.node-a{top:7%;left:4%;transform:rotate(-8deg)}
.node-b{top:41%;right:0;transform:rotate(5deg)}
.node-c{bottom:9%;left:9%;transform:rotate(-4deg)}
.dev-status{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:.5rem;white-space:nowrap;color:#a7a79f}
.dev-status>span{display:inline-block;width:.3rem;height:.3rem;background:#a7a79f;border-radius:50%;margin-right:.4rem}
.copy-art{background:#ece8e1}
.copy-paper{position:absolute;left:10%;top:17%;width:82%;height:85%;background:#fbfaf7;box-shadow:0 .5rem 2rem #5047371a;padding:1.5rem;transform:rotate(-3deg)}
.copy-before{font-size:.65rem;line-height:1.5;color:#aaa49a;text-decoration:line-through;text-decoration-color:#ed491e}
.copy-edit{display:block;font-size:.5rem;color:#d7512b;margin-top:.8rem;transform:rotate(-2deg)}
.copy-paper>strong{display:block;font:400 2.7rem/1.04 var(--serif);margin-top:1.25rem}
.copy-paper>p{font-size:.6rem;line-height:1.5;color:#8a857b;margin-top:1rem}
.copy-cursor{position:absolute;width:0.125rem;height:2rem;background:#e94c26;left:1.5rem;bottom:2rem}
.system-art{background:#e8e9e5}
.system-grid{position:absolute;inset:3.5rem 1.75rem 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;transform:rotate(-4deg)}
.system-grid>div{background:#fafbf7;border:1px solid #d7d8d2;border-radius:.5rem;padding:.9rem;min-width:0;overflow:hidden}
.type-tile>strong{font:400 4rem/1 var(--serif);display:block}
.type-tile>span,.swatch-tile>span,.component-tile>span{font-size:.45rem;color:#7b7d73}
.swatch-tile{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}
.swatch-tile>i{width:1.5rem;height:3rem;border-radius:62.4375rem;background:#161712;transform:rotate(20deg)}
.swatch-tile>i:nth-child(2){background:#edece3}
.swatch-tile>i:nth-child(3){background:#ee4e21}
.swatch-tile>span{width:100%}
.component-tile>div{font-size:.45rem;background:#161712;color:#f7f7f5;border-radius:62.4375rem;padding:.6rem .7rem;margin-top:.65rem;white-space:nowrap}
.component-tile>div:last-child{background:none;border:1px solid #d7d8d2;color:#161712}
.grid-tile{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;position:relative}
.grid-tile>span{background:#e8e9e1;height:80%;border-radius:.15rem}
.grid-tile>small{position:absolute;font-size:.45rem;bottom:.9rem;left:.9rem;color:#7b7d73}
.studio-art{background:#20211e}
.studio-art .art-label{color:#999b90}
.studio-panel{position:absolute;left:12%;right:8%;top:18%;height:76%;padding:1.3rem;background:#f4f4ed;border-radius:.6rem;transform:rotate(3deg);box-shadow:0 1rem 2rem #0003}
.studio-panel>div:first-child{display:flex;justify-content:space-between;font-size:.5rem;color:#7e8076}
.studio-panel strong{font:400 2.6rem/1.05 var(--serif);display:block;margin-top:1.4rem}
.studio-field{font-size:.45rem;color:#7e8076;margin-top:1.2rem}
.studio-field>span{display:block;border:1px solid #d7d9cc;border-radius:.2rem;padding:.6rem .5rem;margin-top:.4rem;font-size:.55rem;color:#23251e}
.studio-flow{display:flex;align-items:center;gap:.5rem;margin-top:1.2rem;font-size:.4rem}
.studio-flow>span{padding:.4rem .5rem;border:1px solid #d7d9cc;border-radius:62.4375rem}
.studio-flow>span:last-child{background:#25271f;color:#f7f7f5;border-color:#25271f}
.studio-flow>i{font-style:normal;color:#929787}
.service-page .svc-partnership{background:#131313;color:#f7f7f5;border-radius:1rem;margin:0 var(--margin);padding-block:5rem 4rem}
.svc-partnership>.wrap{margin-inline:2rem}
.partnership-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.partnership-grid>.section-label{grid-column:1/5;color:#a3a3a3}
.partnership-grid>h2{grid-column:5/13}
.partnership-copy{grid-column:5/12;margin-top:1.5rem}
.partnership-copy p{font-size:1rem;line-height:1.55;color:#a3a3a3;max-width:36rem}
.partnership-copy p+p{margin-top:1.5rem}
.partnership-note{grid-column:1/-1;display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #ffffff20;margin-top:3rem;padding-top:1.5rem;color:#a3a3a3;font-size:.75rem}
.service-page .svc-process{padding-block:8rem}
.svc-process>ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc-process li{padding-top:1.5rem}
.svc-process li>span{font-size:.6875rem;color:var(--muted)}
.svc-process h3{font-size:2rem;line-height:1.1;margin-top:2rem}
.svc-process li p{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:1rem}
.svc-process li small{font-size:.75rem;line-height:1.5;display:block;margin-top:1.5rem}
.service-page .svc-investment{padding-block:4rem 7rem;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.svc-investment>div:first-child{grid-column:1/7}
.svc-investment>div:last-child{grid-column:8/13;padding-top:2rem}
.svc-investment h2{font-size:3rem;margin-top:2rem}
.svc-investment p{font-size:1rem;line-height:1.5;color:var(--muted)}
.svc-investment p+p{margin-top:1.5rem}
.svc-investment .button{margin-top:2rem}
.service-page .svc-faq{padding-block:3rem 7rem}
.svc-faq details{border-top:1px solid var(--line);padding:1.5rem 0}
.svc-faq details:last-child{border-bottom:1px solid var(--line)}
.svc-faq summary{font-size:1rem;line-height:1.4;display:flex;justify-content:space-between;gap:2rem;cursor:pointer;list-style:none}
.svc-faq summary::-webkit-details-marker{display:none}
.svc-faq summary>span{font-size:1.2rem}
.svc-faq details[open] summary>span{transform:rotate(45deg)}
.svc-faq details>p{max-width:45rem;margin-top:1.5rem;color:var(--muted);font-size:1rem;line-height:1.5}
.service-page .svc-contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);border-top:1px solid var(--line);padding-block:4rem 7rem}
.svc-contact>.section-label{grid-column:1/5}
.contact-intro{grid-column:1/7;margin-top:2rem}
.contact-intro p{max-width:27rem;margin-top:2rem;font-size:1rem;line-height:1.5;color:var(--muted)}
.contact-email{display:inline-flex;font-size:1.1rem;margin-top:2rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}
#services-contact{grid-column:8/13;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1rem;margin-top:2rem;align-content:start}
#services-contact label{font-size:.75rem;display:flex;flex-direction:column;gap:.75rem;min-width:0}
#services-contact input,#services-contact textarea,#services-contact select{width:100%;min-width:0;border:1px solid var(--line);border-radius:.5rem;background:transparent;padding:.75rem;font-size:.875rem;outline-offset:0.1875rem}
#services-contact input,#services-contact select{height:3rem}
#services-contact textarea{resize:vertical}
.form-wide{grid-column:1/-1}
.form-bottom>p{font-size:.6875rem;line-height:1.5;color:var(--muted);margin-top:1rem;max-width:24rem}
.svc-footer{border-top:1px solid var(--line);padding-top:2rem;overflow:hidden}
.svc-footer>div:not(.footer-wordmark){display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}
.svc-footer>div:nth-child(2){margin-top:1.5rem}
.svc-footer>div:first-child>a{font:400 2rem/1 var(--serif);color:var(--ink)}
.svc-footer .footer-wordmark{font:400 17.3vw/.9 var(--serif);letter-spacing:-.055em;margin-top:4rem;padding-bottom:.5rem;color:var(--ink);white-space:nowrap}
/* First long-form destination. */
.service-page .detail-hero{padding-block:4rem}
.detail-hero>nav{display:flex;gap:.75rem;color:var(--muted);font-size:.75rem;margin-bottom:4rem}
.detail-hero>.section-label{display:block;margin-bottom:2rem}
.service-page .detail-hero h1{font-size:6rem;line-height:1;letter-spacing:-.025em}
.detail-hero-bottom{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-top:3rem}
.detail-hero-bottom>p{max-width:31rem;color:var(--muted);font-size:1.125rem;line-height:1.5}
.detail-art .art{height:38rem;border-radius:1rem}
.detail-art .mock-content .mock-title{font-size:4.5rem}
.detail-art .phone-mock strong{font-size:2rem}
.detail-art .sculpture{height:18rem}
.service-page .detail-story,.service-page .detail-deliverables,.service-page .detail-scope{padding-block:7rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.detail-story>.section-label{grid-column:1/5}
.detail-story>div{grid-column:5/12}
.detail-story p,.detail-scope p,.detail-scope li{font-size:1rem;line-height:1.6;color:var(--muted);margin-top:1.5rem;max-width:38rem}
.detail-story h2{margin-bottom:2rem}
.detail-deliverables>.offering-heading{grid-column:1/-1;width:100%}
.deliverable-list{grid-column:1/-1}
.deliverable-list>article{display:grid;grid-template-columns:1fr 4fr 6fr;gap:2rem;border-top:1px solid var(--line);padding-block:2rem}
.deliverable-list>article>span{font-size:.75rem;color:var(--muted)}
.deliverable-list h3{font-size:2rem;line-height:1.1}
.deliverable-list p{font-size:1rem;line-height:1.5;color:var(--muted);max-width:35rem}
.service-page .detail-focus{background:#131313;color:#f7f7f5;border-radius:1rem;margin-inline:var(--margin);padding-block:5rem}
.detail-focus>.wrap{margin-inline:2rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.detail-focus .section-label{grid-column:1/5;color:#a3a3a3}
.detail-focus h2{grid-column:5/13}
.detail-focus p{grid-column:5/12;color:#a3a3a3;font-size:1rem;line-height:1.5;margin-top:1.5rem;max-width:36rem}
.detail-scope>div:first-child{grid-column:1/7}
.detail-scope>div:last-child{grid-column:8/13}
.detail-scope h2{margin-top:2rem;font-size:3rem}
.detail-scope ul{padding-left:1rem}
.detail-scope .button{margin-top:2rem}
.service-page .related-services{border-top:1px solid var(--line);padding-block:3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.related-services>a{font:400 2rem/1.1 var(--serif)}
@media(hover:hover){.service-card .art{transition:box-shadow .4s}.service-card:hover .art{box-shadow:0 1rem 2rem #00000008}.browser-mock,.phone-mock{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.service-card:hover .browser-mock{transform:rotate(-1deg) translateY(-.25rem)}.service-card:hover .phone-mock{transform:rotate(4deg) translateY(-.5rem)}}
@media(max-width:999px){
 .service-page .svc-hero{padding-top:4rem}
 .service-page .svc-hero h1,.service-page .detail-hero h1{font-size:4.5rem}
 .svc-hero-bottom>div{grid-column:1/7}.service-index{grid-column:8/13}
 .hero-canvas .art,.detail-art .art{height:31rem}
 .hero-canvas .mock-content .mock-title{font-size:3.5rem}.hero-canvas .sculpture{height:15rem}
 .hero-canvas .phone-mock strong{font-size:1.7rem}
 .service-page h2{font-size:3rem}
 .offering-heading h2{grid-column:5/13}
 .service-card:nth-child(n){grid-column:span 3}
 .service-card:last-child{grid-column:2/6}
 .service-card>.art,.service-card:nth-child(n+3)>.art{height:22rem}
 .service-card h3{font-size:2.25rem}
 .service-card .art .mock-content .mock-title{font-size:2.25rem}
 .service-card .sculpture{height:10rem}
 .service-card .mock-nav{padding-inline:1rem}.service-card .mock-content{padding:1rem}
 .service-card .phone-mock{width:21%;right:3%;height:60%;padding:1rem .5rem}
 .service-card .phone-mock strong{font-size:1.2rem}
 .service-card .art-label{font-size:.5rem;left:1rem}
 .svc-process>ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem}
 .svc-investment>div:first-child,.contact-intro,.detail-scope>div:first-child{grid-column:1/7}
 .svc-investment>div:last-child,#services-contact,.detail-scope>div:last-child{grid-column:8/13}
 .contact-intro h2,.svc-investment h2{font-size:2.75rem}
 #services-contact{grid-template-columns:1fr}
 .detail-hero-bottom{align-items:flex-start}
 .detail-art .mock-content .mock-title{font-size:3rem}
 .deliverable-list>article{grid-template-columns:1fr 4fr 6fr}
 .service-page .related-services{flex-wrap:wrap}
}
@media(max-width:699px){
 .service-page .svc-hero{padding-block:3rem 3rem}
 .hero-eyebrow{font-size:.625rem;margin-bottom:2rem}.hero-eyebrow span:last-child{max-width:10rem;text-align:right}
 .service-page .svc-hero h1,.service-page .detail-hero h1{font-size:3.25rem;line-height:1.03}
 .svc-hero h1>br{display:none}
 .svc-hero-bottom{display:block;margin-top:2rem}
 .svc-hero-bottom p{font-size:1rem}
 .service-index{margin-top:3rem}
 .hero-canvas .art,.detail-art .art{height:24rem}
 .art-label{left:1rem;top:1rem;font-size:.45rem}
 .hero-canvas .browser-mock,.detail-art .browser-mock{left:6%;width:80%;height:69%;top:15%}
 .hero-canvas .mock-nav,.detail-art .mock-nav{padding:.75rem 1rem}
 .hero-canvas .mock-nav>span:first-child{font-size:1rem}.hero-canvas .mock-nav>span:last-child{font-size:.4rem}
 .hero-canvas .mock-content,.detail-art .mock-content{padding:.75rem 1rem;gap:.75rem}
 .hero-canvas .mini-eyebrow{font-size:.3rem}
 .hero-canvas .mock-content .mock-title,.detail-art .mock-content .mock-title{font-size:2.25rem}
 .hero-canvas .sculpture,.detail-art .sculpture{height:9rem}
 .hero-canvas .mock-cta{font-size:.4rem;padding:.5rem .65rem;margin-top:1rem}
 .hero-canvas .mock-bottom{left:1rem;right:1rem;font-size:.35rem}
 .hero-canvas .phone-mock,.detail-art .phone-mock{width:22%;right:5%;height:51%;top:39%;border-radius:.8rem;padding:1.1rem .5rem}
 .hero-canvas .phone-mock strong,.detail-art .phone-mock strong{font-size:1rem;margin-top:1rem}
 .phone-mock>span{font-size:.65rem}.phone-mock small{font-size:.3rem}
 .canvas-caption{font-size:.5625rem}
 .service-page h2{font-size:2.5rem}
 .service-page .svc-position{display:block;padding-block:5rem}
 .svc-position>div:not(.signal-row){margin-top:2rem}
 .signal-row{grid-template-columns:1fr;gap:1.5rem;margin-top:3rem}
 .signal-row p{font-size:1.125rem}
 .signal-row span{margin-bottom:.75rem}
 .signal-row br{display:none}
 .offering-heading{display:block;margin-bottom:3rem}
 .offering-heading h2{margin-top:2rem}
 .service-grid{display:block}
 .service-card+.service-card{margin-top:4rem}
 .service-card>.art,.service-card:nth-child(n+3)>.art{height:25rem}
 .service-card:nth-child(n) h3{font-size:2.5rem}
 .service-card .art .mock-content .mock-title{font-size:2.25rem}
 .service-card .copy-paper>strong{font-size:3.5rem}
 .service-card .copy-paper{padding:2rem}
 .service-card .copy-before{font-size:.8rem}
 .service-card .copy-edit{font-size:.65rem}
 .service-card .copy-paper>p{font-size:.75rem}
 .service-page .svc-offering{padding-bottom:5rem}
 .service-page .svc-partnership,.service-page .detail-focus{margin-inline:var(--margin);padding-block:3rem}
 .svc-partnership>.wrap,.detail-focus>.wrap{margin-inline:1.5rem;display:block}
 .partnership-grid>h2,.detail-focus h2{margin-top:2rem}
 .partnership-copy{margin-top:2rem}
 .partnership-copy p{font-size:.875rem}
 .partnership-note{flex-direction:column;gap:1rem}
 .service-page .svc-process{padding-block:5rem}
 .svc-process>ol{grid-template-columns:1fr}
 .svc-process h3{margin-top:1rem}
 .service-page .svc-investment,.service-page .svc-contact,.service-page .detail-story,.service-page .detail-deliverables,.service-page .detail-scope{display:block;padding-block:3rem 5rem}
 .svc-investment>div:last-child{padding-top:2rem}
 .service-page .svc-faq{padding-block:1rem 5rem}
 .svc-faq summary{font-size:.9375rem}
 .contact-intro{margin-top:2rem}
 #services-contact{margin-top:3rem}
 .svc-footer>div:not(.footer-wordmark){gap:1rem;font-size:.6875rem}
 .svc-footer>div:first-child>span{max-width:10rem}
 .svc-footer .footer-wordmark{font-size:17vw;margin-top:3rem}
 .service-page .detail-hero{padding-block:2rem 3rem}
 .detail-hero>nav{margin-bottom:3rem}
 .detail-hero-bottom{display:block;margin-top:2rem}
 .detail-hero-bottom>p{font-size:1rem}
 .detail-hero-bottom>.button{margin-top:2rem}
 .detail-story>div{margin-top:2rem}
 .deliverable-list>article{grid-template-columns:1.5rem 1fr;gap:1rem;padding-block:1.5rem}
 .deliverable-list p{grid-column:2; font-size:.9375rem}
 .deliverable-list h3{font-size:1.75rem}
 .detail-focus p{margin-top:1.5rem;font-size:.9375rem}
 .detail-scope>div:last-child{margin-top:2rem}
 .related-services>.section-label{width:100%}
 .related-services>a{font-size:1.5rem}
}
@media(prefers-reduced-motion:reduce){.service-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Keep the illustrative browser typography clear of the footer on every artboard. */
.hero-canvas .mock-content .mock-title{font-size:4.5rem}
.service-card .art .mock-content .mock-title{font-size:2.5rem}
.service-card .phone-mock strong{font-size:1.15rem}
@media(max-width:999px){.hero-canvas .mock-content .mock-title{font-size:3.25rem}.service-card .art .mock-content .mock-title{font-size:2rem}}
@media(max-width:699px){.hero-canvas .mock-content .mock-title{font-size:2rem}.service-card .art .mock-content .mock-title{font-size:2.25rem}}
.service-card .sculpture{height:9rem}
.hero-canvas .sculpture{height:16rem}
@media(max-width:699px){.hero-canvas .sculpture{height:9rem}}
@media(max-width:699px){.svc-hero h1>br{display:initial}.service-page .svc-hero h1{font-size:2.875rem}}

/* Generated editorial imagery. */
.generated-art{margin:0;position:relative;background:#eeece6}
.generated-art img{display:block;width:100%;height:100%;object-fit:cover}
.generated-art figcaption{position:absolute;left:1rem;bottom:1rem;font-size:.625rem;line-height:1.3;color:#fff;background:#131313b8;padding:.35rem .55rem;border-radius:.25rem}
.hero-canvas .generated-art,.detail-art .generated-art,.service-card>.generated-art,.service-card:nth-child(n+3)>.generated-art{height:auto;aspect-ratio:3/2}
@media(max-width:699px){.hero-canvas .generated-art,.detail-art .generated-art,.service-card>.generated-art,.service-card:nth-child(n+3)>.generated-art{aspect-ratio:3/2;height:auto}}
/* Editorial process: readable static baseline, enhanced to a scroll stack. */
.process-stack{grid-column:1/-1;position:relative;isolation:isolate}
.process-slot{position:relative}
.process-panel{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);background:var(--paper);padding:2rem 0 4.5rem;min-height:23rem}
.process-progress{position:absolute;left:0;top:0;width:100%;height:1px;background:var(--line);overflow:hidden}
.process-progress>span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(var(--process-progress,0));transform-origin:left}
.process-label{grid-column:1/5;font:400 .75rem/1.3 var(--body);padding-top:.35rem}
.service-page .process-panel h3{grid-column:5/10;font-size:3rem;line-height:1.03;letter-spacing:-.035em;max-width:26rem;padding-right:2rem}
.process-panel .process-copy{grid-column:10/13}
.process-copy p{font-size:.875rem;line-height:1.45;color:var(--muted)}
.process-copy ul{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;gap:.4rem;font-size:.875rem;line-height:1.4}
.process-stack.is-stacking{padding-bottom:var(--stack-tail,0px)}
.process-stack.is-stacking .process-slot{position:relative;z-index:var(--stack-index);height:var(--stack-height);will-change:transform}
.process-stack.is-stacking .process-panel{height:var(--stack-height);min-height:0;will-change:clip-path}
@media(max-width:999px){.process-panel{min-height:22rem}.process-label{grid-column:1/3}.service-page .process-panel h3{grid-column:3/9;font-size:2.75rem}.process-panel .process-copy{grid-column:9/13}}
@media(max-width:699px){.process-panel{grid-template-columns:repeat(4,minmax(0,1fr));padding:1.5rem 0 3.5rem;min-height:0;row-gap:1.5rem}.process-label{grid-column:1/-1}.service-page .process-panel h3{grid-column:1/-1;font-size:2.5rem;padding:0}.process-panel .process-copy{grid-column:1/-1;max-width:26rem}.process-copy ul{margin-top:1.5rem}.process-progress>span{transform:none;opacity:.25}}
/* Boons process: a single title band, spacious explanation and delivery column. */
.process-panel{padding:0 2rem 3rem;border-radius:1rem 1rem 0 0;background:var(--paper);border:1px solid var(--line);border-bottom:0;min-height:24rem}
.process-heading{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:center;min-height:6rem;border-bottom:1px solid var(--line);margin-bottom:2.5rem}
.process-heading .process-label{grid-column:1/4;display:flex;align-items:center;gap:.75rem;font-size:.75rem;padding:0;text-transform:none}
.process-index{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:.625rem}
.service-page .process-panel h3{grid-column:4/13;font-size:2.6rem;line-height:1.1;max-width:none;padding:0}
.process-panel .process-copy{grid-column:4/8;align-self:start}
.process-copy p{font-size:1rem;line-height:1.55;max-width:27rem}
.process-panel .process-delivery{grid-column:9/13;align-self:start}
.delivery-label{display:block;color:var(--muted);font-size:.625rem;letter-spacing:.055em;margin-bottom:1rem}
.process-delivery ul{list-style:none;padding:0;margin:0;display:grid;gap:.8rem;font-size:.875rem;line-height:1.4}
.process-delivery li{display:flex;gap:.85rem;align-items:baseline}
.process-delivery li>span{font-size:.75rem;color:var(--muted)}
.process-progress{left:2rem;width:calc(100% - 4rem);background:transparent;z-index:2;top:0}
.process-progress>span{background:var(--ink)}
@media(max-width:999px){.process-panel{padding-inline:1.5rem;min-height:23rem}.process-heading{min-height:6rem}.process-heading .process-label{grid-column:1/4}.service-page .process-panel h3{grid-column:4/13;font-size:2.25rem}.process-panel .process-copy{grid-column:4/9}.process-panel .process-delivery{grid-column:10/13}.process-progress{left:1.5rem;width:calc(100% - 3rem)}}
@media(max-width:699px){.process-panel{padding:0 1.25rem 2.5rem;row-gap:0;min-height:0;border-radius:.75rem}.process-heading{display:block;padding-block:1.25rem;margin-bottom:1.5rem;min-height:0}.process-heading .process-label{margin-bottom:1.25rem}.service-page .process-panel h3{font-size:2.15rem;line-height:1.1}.process-panel .process-copy,.process-panel .process-delivery{grid-column:1/-1}.process-panel .process-delivery{margin-top:2rem}.process-copy p{font-size:.9375rem}.process-slot+.process-slot{margin-top:.75rem}.process-progress{display:none}}
/* Native shader overlay retains the real image as an accessible fallback. */
.generated-art>img{filter:none}
.generated-art figcaption{z-index:3}
.square-lens-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
@media(min-width:700px){.process-panel{grid-template-rows:6rem 1fr;row-gap:2rem}.process-heading{height:6rem;margin-bottom:0;min-height:0}}

/* Opaque slot backing keeps the previous border out of the next rounded corner. */
.process-stack.is-stacking .process-slot{background:var(--paper)}

@media(min-width:1000px){.process-stack .process-panel{grid-template-rows:var(--process-band,6rem) 1fr}.process-stack .process-heading{height:var(--process-band,6rem)}}

/* Intrinsic inline words keep responsive wrapping, emphasis and real HTML intact. */
.motion-word{display:inline-block;overflow:clip;vertical-align:bottom;padding:.2em .2em .34em;margin:-.2em -.2em -.34em}
.motion-word-inner{display:inline-block}
@media(prefers-reduced-motion:no-preference){
 .text-motion:not(.text-in) .motion-word-inner{transform:translateY(160%)}
 .text-motion.text-in .motion-word-inner{transform:translateY(0);transition:transform 1.05s cubic-bezier(.625,.05,.01,.99);transition-delay:var(--text-delay,0s)}
 p.text-motion.text-in .motion-word-inner{transition-duration:.85s}
}
/* Pricing's shared 12-column grid: --margin and --gutter from tokens-fluid.css. */
@media(min-width:700px){
 .service-page .detail-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
 .detail-hero>.section-label{grid-column:1/-1}
 .service-page .detail-hero h1{grid-column:1/11}
 .detail-hero-bottom{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
 .detail-hero-bottom>p{grid-column:1/6;max-width:none}
 .detail-hero-bottom>.button{grid-column:9/13;justify-self:end;align-self:end}
 .detail-story p,.detail-focus p{max-width:none}
 .process-stack{margin-inline:calc(-1 * var(--gutter))}
 .process-panel{padding-inline:calc(var(--gutter) - 1px)}
 .process-progress{left:var(--gutter);width:calc(100% - 2 * var(--gutter))}
 .service-page .related-services{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
 .related-services>.section-label{grid-column:1/5}
 .related-services>a{grid-column:span 2}
 #services-contact{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter)}
 .svc-footer>div:not(.footer-wordmark){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
 .svc-footer>div:first-child>a{grid-column:1/5}
 .svc-footer>div:first-child>span{grid-column:5/13}
 .svc-footer>div:nth-child(2)>span{grid-column:1/5}
 .svc-footer>div:nth-child(2)>a{grid-column:span 2}
}
/* Dark background extends beyond the grid; its content shares the same column lines. */
.service-page .detail-focus{margin-inline:var(--hero-gutter)}
.detail-focus>.wrap{margin-inline:calc(var(--margin) - var(--hero-gutter))}
@media(min-width:700px) and (max-width:999px){#services-contact{grid-template-columns:1fr}}


.particle-image-ready>img{filter:grayscale(1)}
.particle-image-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}

.particle-scroll-base{z-index:1}
.particle-image-canvas{z-index:2;opacity:var(--image-clarity,1)}

.text-motion.text-settled .motion-word{overflow:visible}

/* Browser-owned pinning: hosts share an end boundary offset by each title band.
   Their first surfaces are still exactly one card height apart. */
.process-surface{position:relative}
.process-stack.is-stacking{height:var(--stack-total);padding-bottom:0;overflow-anchor:none}
.process-stack.is-stacking .process-slot{position:absolute;inset-inline:0;top:var(--flow-top);bottom:var(--flow-bottom);height:auto;background:transparent;will-change:auto}
.process-stack.is-stacking .process-surface{position:sticky;top:var(--stack-top);height:var(--stack-height);background:var(--paper)}
.process-stack.is-stacking .process-panel{will-change:auto}
@media(min-width:700px){
 .service-page .process-panel h3{grid-column:5/13}
 .process-panel .process-copy{grid-column:5/9}
 .process-panel .process-delivery{grid-column:10/13}
}

/* Webdesign editorial sequence, measured on the shared twelve-column grid. */
.service-page .webdesign-detail .detail-hero{padding-block:9.375rem 6.25rem}
.webdesign-detail .detail-hero>.section-label{margin-bottom:2.5rem}
.webdesign-detail .detail-hero-bottom{margin-top:2.5rem}
.webdesign-detail .detail-art{padding-bottom:9.375rem}
.service-page .webdesign-detail .detail-story{padding-block:9.375rem}
.service-page .webdesign-detail .detail-build-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-block:9.375rem}
.detail-build-intro>div{grid-column:1/5}
.detail-build-intro p{color:var(--muted)}
.detail-build-intro p+p{margin-top:1.5rem}
.service-page .webdesign-detail .detail-deliverables{padding-top:0}
@media(min-width:700px){
 .webdesign-detail .detail-hero-bottom>p{grid-column:1/5}
 .webdesign-detail .detail-story>div{grid-column:5/9}
 .webdesign-detail .detail-story h2{margin-bottom:2.5rem}
 .webdesign-detail .detail-story p{margin-top:0}
 .webdesign-detail .detail-story p+p{margin-top:1.5rem}
}
@media(min-width:700px) and (max-width:999px){
 .webdesign-detail .detail-hero-bottom>p{grid-column:1/7}
 .webdesign-detail .detail-story>div{grid-column:5/12}
 .detail-build-intro>div{grid-column:1/8}
 .service-page .webdesign-detail .detail-hero{padding-top:6.25rem}
}
@media(max-width:699px){
 .service-page .webdesign-detail .detail-hero{padding-block:5rem 4rem}
 .webdesign-detail .detail-hero>.section-label{margin-bottom:2rem}
 .webdesign-detail .detail-hero-bottom{margin-top:2rem}
 .webdesign-detail .detail-art{padding-bottom:3.75rem}
 .service-page .webdesign-detail .detail-story{padding-block:3.75rem}
 .service-page .webdesign-detail .detail-build-intro{display:block;padding-block:3.75rem 5rem}
 .webdesign-detail .detail-story h2{margin-bottom:2rem}
 .webdesign-detail .detail-story p+p{margin-top:1.5rem}
}
@media(min-width:1000px){
 /* The editorial title may extend beyond the narrower body-copy column. */
 .webdesign-detail .detail-story h2{white-space:nowrap}
}

/* Webdesign: evidence → craft → work → reassurance → conversation. */
.service-section-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}
.service-section-head>.section-label{grid-column:1/5;padding-top:0.5rem}
.service-section-head>div{grid-column:5/13}
.service-section-head p{max-width:32rem;margin-top:2rem;color:var(--muted)}
.service-page .service-results{padding-block:2.5rem 0}
.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gutter);margin-top:5rem}
.result-item{border-top:1px solid var(--line);padding-top:1.5rem;min-width:0}
.result-meta{display:flex;justify-content:space-between;gap:1rem;font-size:var(--fs-tiny);line-height:1.4}
.result-meta>span:last-child{color:var(--muted)}
.result-number{display:block;font:400 clamp(5.25rem,8.5vw,9.625rem)/1.1 var(--serif);letter-spacing:var(--sf-ls);margin:2.5rem 0 1.5rem;white-space:nowrap}
.result-number>span{font-size:.48em}
.service-page .result-item h3{font:400 var(--fs-body)/var(--lh-body) var(--body);letter-spacing:var(--ls-body)}
.result-item p{max-width:23rem;margin-top:1rem;color:var(--muted)}
.result-detail{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem;font-size:var(--fs-tiny);line-height:1.4;color:var(--muted)}
.service-page .results-note{font-size:var(--fs-tiny);line-height:1.5;color:var(--muted);max-width:47rem;margin:2rem 0 0 auto}
.service-page .webdesign-detail .detail-deliverables{padding-bottom:9.375rem}
.service-page .service-craft{margin-inline:var(--hero-gutter);background:var(--night);color:var(--paper);border-radius:var(--radius,1rem)}
.craft-inner{margin-inline:calc(var(--margin) - var(--hero-gutter));padding-block:6.25rem}
.service-craft :is(p,.craft-small,.section-label){color:var(--muted-on-dark)}
.craft-showcase{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);margin-top:5rem;align-items:center}
.craft-photo{grid-column:1/8;min-width:0}
.craft-photo .generated-art{height:clamp(30rem,42vw,47.5rem);border-radius:var(--radius,1rem);overflow:hidden}
.craft-notes{grid-column:9/13}
.craft-notes article+article{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--white-20,#ffffff33)}
.craft-small{display:block;font-size:var(--fs-tiny);line-height:1.4;margin-bottom:1.5rem}
.service-page .craft-notes h3,.service-page .craft-benefits h3{font-size:var(--sf-md);line-height:var(--sf-md-lh)}
.craft-notes p{margin-top:1.5rem}
.editorial-link{display:inline-block;border-bottom:1px solid currentColor;font-size:var(--fs-text);line-height:1.4;padding-block:0.375rem;text-decoration:none;transition:color .28s}
.editorial-link:hover,.inline-service-link:hover{color:var(--red)}
.craft-notes .editorial-link{margin-top:1.5rem;color:var(--paper)}
.craft-notes .editorial-link:hover{color:var(--red)}
.inline-service-link{text-decoration:underline;text-underline-offset:0.25rem;transition:color .28s}
.craft-partnership{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);border-top:1px solid var(--white-20,#ffffff33);margin-top:6.25rem;padding-top:3rem}
.craft-partnership>.section-label{grid-column:1/5;line-height:1.5}
.craft-benefits{grid-column:5/13}
.craft-benefits>article{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--gutter);padding-bottom:2.5rem}
.craft-benefits>article+article{border-top:1px solid var(--white-20,#ffffff33);padding-top:2.5rem}
.craft-benefits>article>span{color:var(--muted-on-dark);font-size:var(--fs-tiny);padding-top:0.5rem}
.craft-benefits p{max-width:32rem;margin-top:1.25rem}
.craft-action{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-top:1px solid var(--white-20,#ffffff33);padding-top:2.5rem}
.craft-action p{max-width:16rem;margin:0}
.service-page .button.light{background:var(--white);color:var(--ink);border-color:var(--white);transition:background .28s,color .28s,border-color .28s;flex-shrink:0}
.service-page .button.light:hover{background:var(--red);border-color:var(--red);color:var(--white)}
.service-page .service-work{padding-block:9.375rem 0}
.case-preview-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);margin-top:5rem;align-items:start}
.case-preview:first-child{grid-column:1/8}
.case-preview:last-child{grid-column:9/13;margin-top:7.5rem}
.case-preview-art{position:relative;overflow:hidden;border-radius:var(--radius,1rem)}
.case-preview-art .generated-art{aspect-ratio:4/3;overflow:hidden}
.case-preview:last-child .generated-art{aspect-ratio:3/4}
.case-preview .generated-art figcaption{bottom:1rem;left:1rem}
.case-status{position:absolute;top:1rem;left:1rem;z-index:3;border-radius:62.4375rem;background:var(--paper);color:var(--ink);padding:0.5rem 0.75rem;font-size:var(--fs-tiny);line-height:1.3}
.case-preview-caption{display:flex;justify-content:space-between;gap:1rem;padding-top:1.25rem;font-size:var(--fs-text);line-height:1.4}
.case-preview-caption>span:last-child{color:var(--muted);font-size:var(--fs-tiny)}
.service-page .service-outro{padding-block:9.375rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.service-outro>.section-label{grid-column:1/5;padding-top:0.5rem}
.service-outro>div{grid-column:5/13}
.service-outro p{max-width:32rem;color:var(--muted);margin-top:2.5rem}
.service-outro .editorial-link{margin-top:1.5rem}
.service-page .service-questions{padding-block:1.5rem 6.25rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);border-top:1px solid var(--line)}
.service-questions>.section-label{grid-column:1/5;padding-top:0.625rem}
.service-question-content{grid-column:5/13;min-width:0}
.service-faq-list{margin-top:4rem}
.service-faq-list details{border-top:1px solid var(--line);overflow-anchor:none}
.service-faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5625rem 0;font-size:var(--fs-text);line-height:1.4;letter-spacing:var(--ls-text)}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary>span{display:grid;place-items:center;flex-shrink:0;width:1.625rem;height:1.625rem;font-size:var(--fs-link);transition:transform .28s,color .28s}
.service-faq-list details[open] summary{padding-bottom:0}
.service-faq-list details[open] summary>span{color:var(--red);transform:rotate(45deg)}
.service-faq-list p{max-width:40rem;color:var(--muted);padding-bottom:1.5625rem;margin-top:1.5625rem}
.service-page .service-final-cta{box-sizing:border-box;margin:3.125rem var(--hero-gutter) 6.25rem;padding:6.25rem calc(var(--margin) - var(--hero-gutter));border-radius:var(--radius,1rem);background:var(--night);color:var(--white)}
.final-cta-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.final-cta-grid>.section-label{grid-column:1/5;padding-top:0.5rem}
.final-cta-grid>h2{grid-column:5/13;max-width:10em}
.final-cta-grid>p{grid-column:5/9;margin-top:1rem;max-width:22.5rem;color:var(--white)}
.final-cta-action{grid-column:5/13;margin-top:1.5rem}
.service-inquiry{width:min(56.25rem,calc(100vw - 2rem));max-height:90svh;border:1px solid var(--line);border-radius:1rem;background:var(--paper);color:var(--ink);padding:2rem;overscroll-behavior:contain}
.service-inquiry::backdrop{background:#10111099;backdrop-filter:blur(0.5rem)}
.inquiry-close{display:flex;align-items:center;gap:1rem;background:none;border:0;margin-left:auto;cursor:pointer;padding:0.5rem 0;font:400 var(--fs-text)/1.4 var(--body);color:var(--ink)}
.inquiry-close span{font-size:1.5rem}
.service-inquiry .svc-contact{display:block;border:0;padding-block:1.5rem 0;margin:0}
.service-inquiry .svc-contact>.section-label{display:none}
.service-page .service-inquiry h2{font-size:var(--sf-md);line-height:var(--sf-md-lh)}
.service-inquiry .contact-intro{margin:0}
.service-inquiry .contact-intro p{margin-top:1.5rem;max-width:35rem}
.service-inquiry .contact-email{font:400 var(--fs-text)/1.4 var(--body);letter-spacing:var(--ls-text);margin-top:1rem}
.service-inquiry #services-contact{margin-top:2rem}
.service-inquiry:focus{outline:none}
@media(min-width:700px) and (max-width:999px){
 .craft-showcase{align-items:start}.craft-photo{grid-column:1/7}.craft-notes{grid-column:8/13}
 .craft-action{align-items:start;flex-direction:column}
 .case-preview:last-child{grid-column:8/13}
 .case-preview-caption{flex-direction:column;gap:0.5rem}
 .result-meta,.result-detail{flex-direction:column;gap:0.5rem}
 .result-number{font-size:5.25rem}
 .service-page .service-results{padding-top:0}
}
@media(max-width:699px){
 .service-section-head{display:block}.service-section-head>.section-label{display:block;margin-bottom:2rem;padding:0}
 .service-section-head p{margin-top:1.5rem}
 .service-page .service-results{padding-top:1.25rem}
 .results-grid{display:block;margin-top:3rem}.result-item+.result-item{margin-top:2.5rem}.result-number{margin-block:1.5rem 1rem;font-size:6.25rem}
 .result-item p{max-width:30rem}.result-detail{margin-top:1.5rem}.service-page .results-note{margin-top:2rem}
 .service-page .webdesign-detail .detail-deliverables{padding-bottom:5rem}
 .craft-inner{padding-block:4rem}.craft-showcase{display:block;margin-top:2.5rem}.craft-photo .generated-art{height:auto;aspect-ratio:4/5}
 .craft-notes{margin-top:2.5rem}.craft-notes article+article{margin-top:2.5rem;padding-top:2rem}
 .craft-partnership{display:block;margin-top:4rem;padding-top:2rem}.craft-partnership>.section-label{display:block;margin-bottom:2.5rem}
 .craft-benefits>article{grid-template-columns:1.5rem minmax(0,1fr);gap:1rem;padding-bottom:2rem}.craft-benefits>article+article{padding-top:2rem}
 .craft-action{display:block;padding-top:2rem}.craft-action p{max-width:none}.craft-action .button{margin-top:1.5rem}
 .service-page .service-work{padding-top:5rem}.case-preview-grid{display:block;margin-top:2.5rem}.case-preview:last-child{margin-top:3rem}
 .case-preview:last-child .generated-art{aspect-ratio:4/3}.case-preview-caption{flex-direction:column;gap:0.5rem}
 .service-page .service-outro{display:block;padding-block:5rem}.service-outro>.section-label{display:block;margin-bottom:2rem;padding:0}.service-outro p{margin-top:2rem}
 .service-page .service-questions{display:block;padding-block:1.5rem 3.75rem}.service-questions>.section-label{display:block;margin-bottom:2rem;padding:0}.service-faq-list{margin-top:2rem}
 .service-faq-list summary{padding:1.25rem 0}.service-faq-list p{padding-bottom:1.25rem;margin-top:1.25rem}
 .service-page .service-final-cta{margin-block:1.25rem 3.5rem;padding-block:3.5rem}.final-cta-grid{display:block}.final-cta-grid>.section-label{display:block;padding:0;margin-bottom:2rem}.final-cta-grid>h2{max-width:none}.final-cta-grid>p{margin-top:2rem}.final-cta-action{margin-top:2rem}
 .service-inquiry{padding:1.25rem}.service-inquiry .form-bottom{align-items:start;gap:1rem}
}

/* Editorial interlude: a quiet text column, anchored low beside a tall image. */
.service-page .service-craft{margin-inline:0;background:var(--paper);color:var(--ink);border-radius:0}
.craft-split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);min-height:clamp(45rem,85svh,62.5rem)}
.craft-split-copy{grid-column:1/6;align-self:end;padding-top:4rem;padding-bottom:0}
.craft-split-copy>.section-label{display:block;color:var(--muted);margin-bottom:2rem}
.service-page .craft-split-copy h2{font-size:var(--sf-h2);line-height:var(--sf-h2-lh);max-width:10em}
.craft-split-copy>p{margin-top:2rem;max-width:32rem;color:var(--muted)}
.craft-split-copy>.button{margin-top:2rem}
.craft-split-photo{grid-column:7/13;position:relative;min-width:0;overflow:hidden;border-radius:var(--radius,1rem)}
.craft-split-photo>.generated-art{position:absolute;inset:0;height:100%;width:100%}
.craft-split-photo img{object-position:52% center}
.craft-partnership-shell{margin:9.375rem var(--hero-gutter) 0;border-radius:var(--radius,1rem);background:var(--night);color:var(--paper)}
.craft-partnership-shell .craft-inner{padding-block:5rem}
.craft-partnership-shell .craft-partnership{margin-top:0;padding-top:0;border-top:0}
.craft-partnership-shell :is(p,.section-label){color:var(--muted-on-dark)}
@media(min-width:700px) and (max-width:999px){
 .craft-split{min-height:40.625rem}.craft-split-copy{grid-column:1/7;padding-right:var(--gutter)}
 .service-page .craft-split-copy h2{font-size:var(--sf-h2)}
 .craft-partnership-shell{margin-top:6.25rem}
}
@media(max-width:699px){
 .craft-split{display:flex;flex-direction:column;min-height:0;gap:2.5rem}
 .craft-split-copy{align-self:stretch;padding-top:0;order:1}
 .craft-split-copy>.section-label{margin-bottom:1.5rem}
 .craft-split-copy>p,.craft-split-copy>.button{margin-top:1.5rem}
 .craft-split-photo{position:relative;order:2;width:100%;aspect-ratio:4/5}
 .craft-partnership-shell{margin-top:5rem}
 .craft-partnership-shell .craft-inner{padding-block:3.5rem}
 .craft-partnership-shell .craft-partnership>.section-label{margin-bottom:2rem}
}

/* Transforming the rule preserves its 1px layout and the process clipping geometry. */
.divider-reveal{position:relative;border-top-color:transparent!important}
.divider-reveal::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--divider-color,var(--line));transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.22,1,.36,1);pointer-events:none}
.divider-reveal.divider-drawn::before{transform:scaleX(1)}
.divider-reveal.divider-bottom{border-top-color:initial!important;border-bottom-color:transparent!important}
.divider-reveal.divider-bottom::before{top:auto;bottom:0}
@media(prefers-reduced-motion:reduce){.divider-reveal::before{transition:none;transform:none}}

/* Lenis follows the original boons.design setup. Native touch and reduced motion remain available. */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}
