/* Service pages: the studio's typography, with room to read. */
.desktop-nav a[aria-current="page"] { color: var(--paper); }
.plan-detail-link { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; padding-top:25px; font-size:12px; line-height:1.6; }
.plan-detail-link span { font-size:18px; }
.plan .feature-list { margin-bottom:25px; }
.plan-featured .plan-detail-link { color:var(--accent); }
.popular-addons > a { display:grid; grid-template-columns:minmax(0,1fr) auto 12px; gap:15px; align-items:center; min-height:64px; border-bottom:1px solid var(--light-line); font-size:12px; line-height:1.7; }
.popular-addons > a > span:nth-child(2) { font-size:11px; color:#6b6d72; white-space:nowrap; }
.popular-addons > a:hover { color:var(--blue); }
.all-addons-link { margin-top:23px; }
.care-detail-link { display:block; font-size:12px; line-height:1.7; margin-top:20px; color:var(--accent); }
.service-nav { background:var(--ink); color:var(--paper); display:flex; align-items:center; justify-content:space-between; gap:35px; padding:0 var(--gutter); min-height:62px; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.service-nav > span { font-size:9px; letter-spacing:1.5px; color:#a8a9ad; }
.service-nav > div { display:flex; gap:29px; overflow-x:auto; min-width:0; }
.service-nav a { position:relative; font-size:11px; line-height:1.6; color:#afb0b6; padding:20px 0; white-space:nowrap; }
.service-nav a[aria-current="page"] { color:var(--accent); }
.service-nav a[aria-current="page"]:after { content:""; height:2px; background:var(--accent); position:absolute; bottom:0; left:0; right:0; }
.service-page { background:var(--paper); color:var(--ink); }
.service-page section[id], .catalogue-item { scroll-margin-top:90px; }
.service-hero { padding:42px var(--gutter) 0; border-bottom:1px solid var(--light-line); }
.service-hero-top { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.service-hero-top .eyebrow { color:#707279; }
.service-hero-top > a { color:#707279; font-size:9px; letter-spacing:1px; }
.service-hero-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(220px,0.8fr); gap:9%; padding:67px 0 70px; align-items:center; }
.service-hero h1 { font-size:clamp(47px,5.6vw,88px); font-weight:500; letter-spacing:-3.8px; line-height:1.04; }
.service-hero h1 em { font-size:1.11em; }
.service-lede { margin-top:30px; max-width:540px; font-size:15px; line-height:1.95; color:#696d72; }
.service-quote { border-left:1px solid var(--light-line); padding-left:32px; }
.service-quote > .eyebrow { font-size:10px; color:#686c72; }
.service-price { margin-top:20px; font-size:clamp(53px,5.5vw,80px); line-height:1.12; letter-spacing:-3px; font-weight:500; white-space:nowrap; }
.service-price > span { font-size:0.32em; vertical-align:top; display:inline-block; margin:10px 7px 0 0; letter-spacing:-1px; }
.service-price > small { display:block; font-size:12px; letter-spacing:0; font-weight:400; margin-bottom:8px; }
.service-price-note { font-size:11px; line-height:1.8; color:#6b6d72; margin-top:10px; }
.service-quote .button { margin-top:26px; display:flex; justify-content:space-between; width:100%; font-size:12px; min-height:49px; padding:0 20px; gap:15px; }
.service-quote-note { font-size:10px; line-height:1.8; margin-top:12px; color:#707279; }
.service-value-badge { display:inline-block; font-size:9px; letter-spacing:1px; color:#45529b; border:1px solid #b7bed9; padding:5px 8px; margin-top:18px; }
.service-aside-title { font-size:29px; letter-spacing:-0.8px; line-height:1.3; margin-top:20px; }
.service-aside-title small { font-size:13px; letter-spacing:0; }
.service-stats { border-top:1px solid var(--light-line); display:grid; grid-template-columns:repeat(3,1fr); padding:25px 0; }
.service-stats > div { display:flex; gap:20px; align-items:baseline; }
.service-stats strong { font-weight:400; font-size:32px; letter-spacing:-1px; }
.service-stats span { font-size:11px; color:#6b6d72; }
.service-business .service-hero { background:#eeeef5; }
.service-hero-dark { background:var(--ink); color:var(--paper); border-color:var(--line); }
.service-hero-dark .service-lede,.service-hero-dark .eyebrow,.service-hero-dark .service-hero-top > a,.service-hero-dark .service-price-note,.service-hero-dark .service-quote-note,.service-hero-dark .service-stats span { color:#b0b1b6; }
.service-hero-dark .service-stats,.service-hero-dark .service-quote { border-color:var(--line); }
.service-hero-dark .service-price { color:var(--accent); }
.service-body { display:grid; grid-template-columns:200px minmax(0,790px); justify-content:space-between; gap:7%; padding:0 var(--gutter); max-width:1536px; margin:0 auto; }
.detail-toc { position:sticky; align-self:start; top:95px; padding:64px 0 34px; max-height:calc(100vh - 95px); overflow:auto; }
.detail-toc > .eyebrow { display:block; color:#797d84; font-size:9px; margin-bottom:23px; }
.detail-toc > a { display:block; font-size:11px; line-height:1.8; padding:6px 0; color:#62666c; }
.detail-toc > a:hover { color:var(--blue); }
.detail-toc > p { margin-top:26px; font-size:11px; line-height:1.9; color:#72767d; }
.detail-toc > .toc-all-addons { border-top:1px solid var(--light-line); margin-top:22px; padding-top:20px; color:var(--ink); }
.detail-content { min-width:0; }
.detail-section { padding:64px 0; border-bottom:1px solid var(--light-line); }
.detail-section:last-child { border-bottom:0; }
.detail-section > .eyebrow { font-size:9px; color:#777a82; display:block; margin-bottom:20px; }
.detail-section h2 { font-size:clamp(28px,3vw,43px); line-height:1.2; letter-spacing:-1.5px; font-weight:500; }
.detail-section h2 em { font-size:1.1em; }
.detail-section-heading { display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px; align-items:baseline; }
.detail-number { font-size:10px; color:#7c8188; }
.detail-intro { font-size:14px; line-height:1.95; color:#64696f; margin-top:24px; max-width:660px; }
.scope-rows { margin-top:32px; }
.scope-rows article { display:grid; grid-template-columns:minmax(0,0.6fr) minmax(0,1.4fr); gap:28px; border-top:1px solid var(--light-line); padding:24px 0; }
.scope-rows article:last-child { padding-bottom:0; }
.scope-rows h3 { font-size:13px; font-weight:500; line-height:1.9; }
.scope-rows p { font-size:13px; color:#686c72; line-height:1.95; }
.fit-list { margin-top:27px; display:grid; gap:13px; }
.fit-list li, .included-features li { position:relative; padding-left:22px; font-size:13px; line-height:1.8; }
.fit-list li:before, .included-features li:before { content:"↗"; position:absolute; left:0; color:#6876a6; }
.included-features { display:grid; grid-template-columns:1fr 1fr; gap:19px 28px; margin-top:32px; }
.detail-section > .text-link { margin-top:27px; font-size:12px; }
.bundle-section { background:#eeeef5; margin:0 -28px; padding:45px 28px; border-bottom:0; }
.bundle-ledger { margin-top:31px; }
.bundle-ledger > div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; border-bottom:1px solid #d6d7e0; padding:14px 0; font-size:13px; line-height:1.8; }
.bundle-ledger > div > :last-child { white-space:nowrap; }
.bundle-ledger strong { font-weight:500; }
.bundle-ledger .ledger-total { margin-top:12px; }
.bundle-ledger .ledger-business { font-size:21px; padding:19px 0; color:#344182; }
.bundle-saving { font-size:13px; margin-top:22px; }
.detail-note { color:#777b83; font-size:11px; line-height:1.9; margin-top:19px; }
.combination-list { margin-top:29px; }
.combination-list button { display:grid; grid-template-columns:minmax(0,1fr) auto 15px; width:100%; text-align:left; align-items:center; gap:15px; padding:21px 0; border-bottom:1px solid var(--light-line); font-size:13px; line-height:1.9; }
.combination-list button:hover { color:var(--blue); }
.combination-list strong { font-weight:500; white-space:nowrap; }
.service-project { display:block; margin-top:30px; }
.service-project img { width:100%; border:1px solid var(--light-line); }
.service-project > span { display:flex; justify-content:space-between; margin-top:15px; font-size:13px; }
.service-faq .faq-list { margin-top:24px; }
.service-faq .faq-list summary { font-size:13px; }
.service-faq .faq-list > details > p { font-size:13px; }
.service-closer { background:var(--ink); color:var(--paper); padding:65px var(--gutter); display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,0.8fr); gap:20px 10%; align-items:center; }
.service-closer > .eyebrow { grid-column:1 / -1; font-size:9px; color:#a8a9ad; margin-bottom:16px; }
.service-closer h2 { font-size:clamp(35px,4.2vw,63px); }
.service-closer > div > p { font-size:13px; line-height:1.9; color:#b6b7bd; }
.service-closer .button { margin-top:26px; font-size:12px; }
.service-closer > div > a { display:block; font-size:12px; margin-top:19px; overflow-wrap:anywhere; }
.related-services { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px 40px; padding:30px var(--gutter); border-bottom:1px solid var(--light-line); }
.related-services a { display:flex; align-items:center; gap:26px; font-size:12px; line-height:1.9; }
.service-overview { padding:70px var(--gutter); }
.overview-heading { display:grid; grid-template-columns:1.4fr 0.8fr; gap:25px 10%; align-items:end; margin-bottom:45px; }
.overview-heading > .eyebrow { grid-column:1 / -1; font-size:9px; color:#73777d; }
.overview-heading > h2 { font-size:48px; }
.overview-heading > p { font-size:13px; color:#696d73; line-height:1.9; }
.overview-extras { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--light-line); margin-top:50px; }
.overview-extras > a { padding:39px 35px 0 0; }
.overview-extras > a + a { padding-left:35px; border-left:1px solid var(--light-line); }
.overview-extras .eyebrow { color:#777b82; font-size:9px; }
.overview-extras h3 { font-size:30px; font-weight:500; letter-spacing:-1px; line-height:1.3; margin-top:23px; }
.overview-extras p { color:#6b6d72; font-size:13px; line-height:1.9; margin-top:22px; max-width:360px; }
.overview-extras .text-link { margin-top:25px; font-size:12px; }
.catalogue-group { padding-top:60px; }
.catalogue-group > .eyebrow { color:#697080; font-size:10px; }
.catalogue-item { padding:35px 0 40px; border-bottom:1px solid var(--light-line); }
.catalogue-title { display:flex; gap:25px; justify-content:space-between; align-items:baseline; }
.catalogue-title h2 { font-size:25px; letter-spacing:-0.7px; line-height:1.4; }
.catalogue-title > strong { font-size:17px; font-weight:500; white-space:nowrap; }
.catalogue-availability { display:block; color:#777d88; font-size:9px; letter-spacing:0.7px; line-height:1.8; margin-top:12px; }
.catalogue-item > p { font-size:14px; color:#626871; line-height:1.95; margin-top:23px; }
.catalogue-item dl { margin:23px 0 25px; padding:21px 23px; background:#eaeae5; }
.catalogue-item dl > div { display:grid; grid-template-columns:85px minmax(0,1fr); gap:20px; }
.catalogue-item dl > div + div { margin-top:14px; }
.catalogue-item dt { font-size:11px; line-height:1.9; }
.catalogue-item dd { margin:0; font-size:11px; color:#636970; line-height:1.9; }
.catalogue-item .text-link { font-size:12px; }
@media (min-width:1700px) { .service-hero-grid { max-width:1450px; margin:auto; } }
@media (max-width:1000px) {
  .service-body { grid-template-columns:160px minmax(0,1fr); gap:6%; }
  .service-hero-grid { gap:5%; grid-template-columns:minmax(0,1.5fr) minmax(200px,0.8fr); }
  .service-hero h1 { font-size:58px; letter-spacing:-2.8px; }
  .service-quote { padding-left:23px; }
  .service-lede { font-size:13px; }
  .service-nav > div { gap:24px; }
  .detail-section h2 { font-size:32px; }
  .scope-rows article { grid-template-columns:1fr; gap:9px; }
  .included-features { grid-template-columns:1fr; }
  .bundle-section { margin:0 -19px; padding-left:19px; padding-right:19px; }
}
@media (max-width:700px) {
  .service-nav { min-height:55px; padding:0 23px; }
  .service-nav > span { display:none; }
  .service-nav > div { width:100%; gap:0; justify-content:space-between; }
  .service-nav a { padding:18px 4px; font-size:10px; }
  .service-hero { padding:28px var(--gutter) 0; }
  .service-hero-top > a { display:none; }
  .service-hero-top .eyebrow { font-size:9px; }
  .service-hero-grid { grid-template-columns:1fr; gap:35px; padding:39px 0; }
  .service-hero h1 { font-size:clamp(40px,9vw,61px); line-height:1.1; letter-spacing:-2px; }
  .service-lede { font-size:13px; line-height:1.95; margin-top:25px; max-width:470px; }
  .service-quote { border-left:0; border-top:1px solid var(--light-line); padding:25px 0 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:18px; align-items:center; }
  .service-quote > .eyebrow { grid-column:1 / -1; }
  .service-price { grid-column:1; font-size:clamp(48px,14.5vw,58px); margin-top:12px; }
  .service-price-note { grid-column:1; font-size:10px; }
  .service-quote .button { grid-column:2; grid-row:2 / 4; margin:0; min-height:47px; font-size:11px; padding:0 12px; gap:8px; white-space:normal; }
  .service-quote-note { grid-column:1 / -1; }
  .service-value-badge { grid-column:1 / -1; justify-self:start; margin-top:12px; }
  .service-aside-title { font-size:23px; grid-column:1; margin-top:15px; }
  .service-stats { gap:15px; padding:21px 0; }
  .service-stats > div { display:block; }
  .service-stats strong { display:block; font-size:29px; }
  .service-stats span { display:block; margin-top:7px; font-size:9px; line-height:1.6; }
  .service-body { display:block; }
  .detail-toc { position:static; padding:28px 0; max-height:none; display:flex; flex-wrap:wrap; gap:8px 18px; border-bottom:1px solid var(--light-line); }
  .detail-toc > .eyebrow { width:100%; margin-bottom:5px; }
  .detail-toc > a { font-size:10px; padding:3px 0; }
  .detail-toc > .toc-all-addons { border:0; margin:0; padding:3px 0; }
  .detail-toc > p { font-size:11px; margin-top:10px; }
  .detail-section { padding:43px 0; }
  .detail-section h2 { font-size:29px; letter-spacing:-0.9px; line-height:1.3; }
  .detail-section-heading { grid-template-columns:23px minmax(0,1fr); gap:7px; }
  .detail-section > .eyebrow { font-size:8px; margin-bottom:18px; }
  .detail-intro { font-size:13px; margin-top:20px; }
  .scope-rows { margin-top:25px; }
  .scope-rows article { padding:22px 0; }
  .scope-rows h3,.scope-rows p { font-size:12px; }
  .fit-list li,.included-features li { font-size:12px; }
  .included-features { gap:16px; }
  .bundle-section { margin:0 -12px; padding:32px 12px; }
  .bundle-ledger > div { font-size:11px; gap:16px; }
  .bundle-ledger .ledger-business { font-size:19px; }
  .bundle-saving { font-size:12px; }
  .detail-note { font-size:10px; }
  .combination-list button { gap:10px; grid-template-columns:minmax(0,1fr) auto 10px; font-size:11px; }
  .service-project > span { font-size:12px; }
  .service-faq .faq-list summary,.service-faq .faq-list > details > p { font-size:12px; }
  .service-closer { display:block; padding:46px var(--gutter); }
  .service-closer > .eyebrow { display:block; margin-bottom:25px; }
  .service-closer h2 { font-size:38px; letter-spacing:-1.5px; }
  .service-closer > div { margin-top:25px; }
  .service-closer > div > p { font-size:12px; max-width:420px; }
  .related-services { gap:18px 24px; padding:25px var(--gutter); }
  .related-services a { font-size:11px; gap:13px; }
  .service-overview { padding:45px var(--gutter); }
  .overview-heading { display:block; margin-bottom:33px; }
  .overview-heading > .eyebrow { display:block; margin-bottom:21px; }
  .overview-heading > h2 { font-size:37px; }
  .overview-heading > p { font-size:12px; margin-top:22px; }
  .overview-extras { grid-template-columns:1fr; margin-top:30px; }
  .overview-extras > a { padding:30px 0; }
  .overview-extras > a + a { border-left:0; border-top:1px solid var(--light-line); padding:30px 0 0; }
  .overview-extras h3 { font-size:28px; }
  .overview-extras p { font-size:12px; }
  .catalogue-group { padding-top:38px; }
  .catalogue-item { padding:30px 0; }
  .catalogue-title { display:block; }
  .catalogue-title h2 { font-size:24px; }
  .catalogue-title > strong { display:block; font-size:16px; margin-top:12px; }
  .catalogue-item > p { font-size:12px; }
  .catalogue-item dl { padding:18px; }
  .catalogue-item dl > div { grid-template-columns:1fr; gap:3px; }
  .catalogue-availability { font-size:8px; }
  .popular-addons > a { font-size:12px; gap:10px; }
  .popular-addons > a > span:nth-child(2) { font-size:10px; }
  .plan-detail-link { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .service-page { scroll-behavior:auto; } }

/* The home page introduces the work; service pages carry the detail. */
.home-page .hero-copy > p { max-width:490px; font-size:17px; line-height:1.8; }
.home-page .hero-footer { font-size:13px; }
.home-page .work { padding-bottom:90px; }
.home-page .section-heading > p { font-size:16px; }
.work-collection { display:grid; gap:76px; }
.work-card { min-width:0; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:center; column-gap:7%; }
.work-card:nth-child(even) { grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); }
.work-card:nth-child(even) .work-shot { grid-column:2; grid-row:1; }
.work-card:nth-child(even) .work-card-info { grid-column:1; grid-row:1; }
.work-shot { min-width:0; padding:28px; background:#e4e6dd; border:1px solid #d6d9ce; }
.work-card-info { min-width:0; }
.work-shot .project-image-link { border-radius:2px; }
.work-shot .project-browser-bar { font-size:12px; padding:11px 12px; letter-spacing:0; gap:12px; }
.work-shot img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.work-card-noir .work-shot { background:#30342f; border-color:#30342f; }
.work-card-noir .project-image-link { border-color:#484c46; box-shadow:0 16px 27px #0003; }
.work-card-noir .project-browser-bar { background:#262924; color:#c9cdc3; }
.work-card-noir .browser-dots { color:#888f81; }
.work-card-meta { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; color:#626661; }
.work-card-meta > span:last-child { color:#6b6e76; }
.work-card-info h3 { margin-top:18px; font-size:clamp(28px,3vw,42px); letter-spacing:-1.2px; font-weight:500; line-height:1.2; }
.work-card-info > .text-link { display:inline-block; margin-top:25px; font-size:14px; color:#303332; }
.work-card-description { max-width:370px; margin-top:18px; font-size:16px; line-height:1.85; color:#65676b; }
@media (max-width:900px) {
  .work-collection { gap:56px; }
  .work-card { column-gap:5%; }
  .work-shot { padding:18px; }
  .work-shot .browser-dots { display:none; }
}
@media (max-width:760px) {
  .work-collection { gap:48px; }
  .work-card,.work-card:nth-child(even) { grid-template-columns:minmax(0,1fr); gap:24px; }
  .work-card:nth-child(even) .work-shot,.work-card:nth-child(even) .work-card-info { grid-column:1; grid-row:auto; }
  .work-card-info h3 { margin-top:12px; font-size:30px; }
  .work-card-description { margin-top:12px; }
  .work-card-info > .text-link { margin-top:18px; }
}
.home-benefits { padding:75px var(--gutter) 85px; border-top:1px solid var(--light-line); }
.home-benefits .section-heading { align-items:end; }
.home-benefits .section-heading h2 { font-size:clamp(36px,3.5vw,54px); }
.home-benefits .section-heading > .text-link { flex-shrink:0; margin-bottom:6px; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; }
.benefit-grid article { border-top:1px solid var(--light-line); padding-top:24px; }
.benefit-number { color:#70747d; font-size:12px; letter-spacing:1px; }
.benefit-grid h3 { font-size:24px; font-weight:500; letter-spacing:-0.6px; margin-top:25px; }
.benefit-grid p { font-size:16px; line-height:1.85; color:#676b72; margin-top:17px; max-width:370px; }
.home-pricing .plan-desc { min-height:60px; font-size:14px; }
.home-pricing .plan .feature-list { font-size:14px; gap:14px; margin-top:30px; margin-bottom:30px; }
.home-pricing .plan .plan-detail-link { font-size:14px; border-top:1px solid var(--light-line); padding-top:22px; width:100%; }
.home-pricing .plan-featured .plan-detail-link { border-top-color:#4a4c56; }
.home-pricing .price-note { font-size:12px; }
.pricing-followup { display:flex; justify-content:space-between; gap:35px; align-items:baseline; margin-top:25px; }
.pricing-followup .pricing-footnote { max-width:650px; margin:0; font-size:12px; line-height:1.8; }
.pricing-followup .text-link { flex-shrink:0; }
.home-page .process-steps p { font-size:16px; line-height:1.8; }
.home-page .process-steps h3 { font-size:23px; }
.home-page .process-steps { margin-top:52px; }
.home-extras { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:11%; padding:85px var(--gutter); border-bottom:1px solid var(--light-line); }
.extras-intro h2 { font-size:clamp(36px,3.4vw,52px); margin-top:24px; max-width:430px; }
.extras-intro p { font-size:16px; line-height:1.85; color:#676b72; max-width:400px; margin:24px 0; }
.home-addon-list { border-top:1px solid var(--light-line); }
.home-addon-list > a { display:flex; justify-content:space-between; gap:20px; align-items:baseline; padding:20px 0; border-bottom:1px solid var(--light-line); font-size:16px; line-height:1.6; }
.home-addon-list > a:hover { color:var(--blue); }
.home-addon-list > a > span:last-child { white-space:nowrap; color:#676b72; font-size:14px; }
.care-teaser { padding-top:32px; }
.care-teaser h3 { font-size:22px; font-weight:500; letter-spacing:-0.5px; }
.care-teaser p { font-size:16px; line-height:1.85; color:#676b72; margin:15px 0 20px; max-width:410px; }
.home-page .faq-list summary { font-size:16px; line-height:1.65; }
.home-page .faq-list details > p { font-size:16px; line-height:1.85; }
.home-page .faq-number { font-size:12px; }
.home-page .contact-bottom > p { font-size:16px; }
.home-page .eyebrow { font-size:12px; }
.home-page .art-caption { font-size:12px; }
.overview-comparison { padding-top:65px; }
.overview-comparison h2 { font-size:38px; margin-bottom:27px; }
.overview-comparison .comparison { margin-top:0; }
.overview-comparison .detail-note > a { margin-left:10px; }
.overview-questions { padding:0 var(--gutter) 70px; max-width:1100px; margin:auto; }
.service-overview + .approach { border-top:1px solid var(--light-line); }
@media (max-width:1000px) {
  .home-page .hero-copy > p { max-width:430px; }
  .benefit-grid { gap:26px; }
  .benefit-grid h3 { font-size:21px; }
  .home-extras { gap:7%; }
  .home-pricing .plan { padding-left:20px; padding-right:20px; }
  .home-pricing .plan-desc { min-height:78px; }
}
@media (max-width:800px) {
  .home-page .hero-copy > p { max-width:380px; }
  .home-benefits .section-heading { display:block; }
  .home-benefits .section-heading > .text-link { margin-top:25px; }
  .benefit-grid { grid-template-columns:1fr; gap:30px; }
  .benefit-grid article { display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:18px; }
  .benefit-number { grid-row:1/3; padding-top:4px; }
  .benefit-grid h3 { margin-top:0; font-size:24px; }
  .benefit-grid p { max-width:600px; margin-top:12px; }
  .pricing-followup { display:block; }
  .pricing-followup > .text-link { margin-top:20px; }
  .home-extras { grid-template-columns:1fr; gap:40px; }
  .extras-intro h2,.extras-intro p { max-width:600px; }
}
@media (max-width:600px) {
  .home-page .hero-copy > p,html[lang="zh-CN"] .home-page .hero-copy > p { max-width:100%; font-size:16px; }
  .home-page .hero-topline .eyebrow { font-size:10px; letter-spacing:0.8px; }
  .home-page .hero-actions .button,.home-page .hero-actions .text-link { font-size:14px; }
  .home-page .hero-art { margin-top:20px; aspect-ratio:2; }
  .home-page .art-caption { font-size:10px; }
  .home-page .hero-footer { font-size:12px; }
  .home-page .work { padding-top:58px; padding-bottom:60px; }
  .home-page .project-image-caption,.home-page .project-image-caption > span { font-size:12px; }
  .home-benefits { padding:58px var(--gutter); }
  .home-benefits .section-heading h2 { font-size:35px; letter-spacing:-1.3px; }
  .home-pricing .plan { padding:28px 24px; }
  .home-pricing .plan-desc { min-height:0; max-width:320px; }
  .home-pricing .plan-number { font-size:12px; }
  .home-pricing .plan-badge { font-size:11px; }
  .home-page .process { padding:58px var(--gutter); }
  .home-page .process-steps { margin-top:38px; }
  .home-page .process-steps p { max-width:100%; }
  .home-extras { padding:58px var(--gutter); }
  .extras-intro h2 { font-size:38px; letter-spacing:-1.5px; }
  .home-addon-list > a { gap:16px; }
  .home-page .faq { padding-top:58px; padding-bottom:58px; }
  .home-page .faq-list details > p { padding-left:0; }
  .home-page .faq-list summary { gap:12px; }
  .overview-comparison { padding-top:42px; }
  .overview-comparison h2 { font-size:30px; }
  .overview-questions { padding-bottom:45px; }
}
