/* Page families: a shared identity with layouts tailored to the content. */

.modern-pages .page-hero-grid{align-items:start}



.modern-pages .page-hero-grid>p:not(.eyebrow){color:#c0cede;font-size:15px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:11px;margin-bottom:26px}.breadcrumb a:hover{color:var(--blue)}.breadcrumb span[aria-hidden]{color:#a2b0c3}
.modern-pages .page-hero,.modern-pages .detail-hero,.modern-pages .about-hero,.modern-pages .article-hero{background:white;padding:26px 0 0}
.modern-pages .page-hero-grid{position:relative;isolation:isolate;background:var(--navy);border-radius:24px;color:white;max-width:1124px;width:calc(100% - 56px);padding:40px;gap:15px 55px;overflow:hidden}
.modern-pages .page-hero-grid::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 0,#2d599155,transparent 65%)}
.modern-pages .page-hero-grid .eyebrow{color:#9bbfff}.modern-pages .page-hero-grid p:last-child{color:#c0cede;font-size:15px}.modern-pages .page-hero h1{font-size:45px;line-height:1.15}
.page-hero-extra{grid-column:1/-1;padding-top:23px;margin-top:12px;border-top:1px solid #ffffff20;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px;color:#bfcee2}.page-hero-extra img{filter:invert(1);opacity:.85;object-fit:contain}.page-hero-extra>span{margin-right:auto}.page-hero-extra a{padding:6px 11px;border:1px solid #ffffff30;border-radius:7px;color:white}
.modern-pages .closing-grid{background:linear-gradient(120deg,#12243e,#244b80);background-color:#244b80}
/* Service directory and detail pages */
.service-directory{padding:46px 0}.service-directory>.frame{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-directory .directory-row{position:relative;display:grid;grid-template-columns:48px 1fr;gap:16px;padding:28px;background:#f4f7fc;border:1px solid #e0e7f2;border-radius:18px;transition:transform .2s,border-color .2s;align-items:start}.service-directory .directory-row:first-child{grid-column:1/-1;grid-template-columns:60px 1fr 160px;background:#edf4ff}.service-directory .directory-row:hover{transform:translateY(-3px);border-color:#9cbbe9}.directory-logo{width:45px;height:45px;object-fit:contain;padding:8px;border-radius:11px;background:white}.service-directory .directory-row h2{font-size:26px;margin:0 0 13px}.service-directory .directory-row p{font-size:14px;max-width:670px}.service-directory .row-action{grid-column:2;font-size:12px;display:inline-flex;align-items:center;gap:14px}.service-directory .row-action::after{content:"↗"}.service-directory .directory-row:first-child .row-action{grid-column:3;align-self:center}.directory-number{position:absolute;top:20px;right:23px;font-size:10px;color:#788da9}.decision{padding:10px 0 55px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.decision p:not(.eyebrow){font-size:15px;color:var(--muted)}
.service-page .detail-grid{grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:10px;padding-bottom:35px}.service-page .detail-grid h1{font-size:48px;margin-bottom:22px;max-width:520px}.service-page .detail-lead{font-size:15px;line-height:1.8;max-width:520px}.service-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.service-hero-tags span{font-size:10px;border-radius:6px;padding:5px 9px;background:#edf3fd;color:#47668d}.service-art{position:relative;padding:38px 22px 22px;background:var(--navy);border:1px solid #243f62;border-radius:22px;isolation:isolate}.service-art::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 10%,#438df74a,transparent 65%);border-radius:inherit}.service-art-top{display:flex;justify-content:space-between;align-items:center;color:#b8cbea;font-size:10px;margin-bottom:26px}.service-art-logo{filter:invert(1);width:36px;height:36px;object-fit:contain}.service-art-screen{border-radius:12px;overflow:hidden;border:1px solid #ffffff25;background:#d7e1f1;box-shadow:0 20px 40px #0002}.browser-dots{display:flex;gap:4px;padding:10px;background:#e7edf7}.browser-dots i{width:5px;height:5px;background:#a4b6cf;border-radius:50%}.service-art-screen>img{width:100%;aspect-ratio:16/10;object-fit:cover}.service-art-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:10px;color:#a4bddf}.service-art-bottom a{color:#d7e7ff}.service-delivery{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f9fd}.delivery-inner{display:flex;gap:24px;justify-content:space-between;padding-block:18px;color:#466080;font-size:11px}.delivery-inner strong{color:var(--ink);font-weight:600}
.service-page .detail-body{padding-block:55px}.service-page .detail-body-grid{grid-template-columns:220px 1fr;gap:45px}.service-page .detail-nav{padding:19px;background:#f2f6fc;border:1px solid #e2e9f4;border-radius:14px}.service-page .detail-nav span{padding-top:0}.service-page .detail-nav a:last-child{padding-bottom:0}.service-page .detail-nav a.service-side-cta{margin-top:20px;padding:16px;border-radius:10px;background:var(--navy);color:white;font-size:12px!important;border:0!important}.service-side-cta small{display:block;color:#a9c4e9;font-size:10px;margin-top:5px}.service-page .detail-content>section{padding-bottom:35px;margin-bottom:35px}.service-page .check-list{gap:10px;margin-top:24px}.service-page .check-list li{padding:16px 18px 16px 39px;position:relative;border:1px solid #e2e9f4;border-radius:10px;background:#f7f9fd}.service-page .check-list li::before{content:"↗";position:absolute;left:16px;color:var(--blue)}.service-page .scope-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.service-page .scope-list li{font-size:14px;align-items:center;padding-block:19px}.service-page .tech-line{background:#eef4fe;border:1px solid #e0eafb;border-radius:12px;padding:20px;margin-top:25px}.modern-pages .mini-work>a{padding:15px;background:white;border:1px solid #e0e7f1;border-radius:18px;transition:transform .2s}.modern-pages .mini-work>a:hover{transform:translateY(-3px)}.modern-pages .mini-work strong,.modern-pages .mini-work span{margin-inline:7px}.modern-pages .mini-work span{display:block;margin-top:5px}
/* About: portrait, experience timeline and real tool marks. */
.about-page .about-hero-grid{width:calc(100% - 56px);max-width:1124px;background:var(--navy);padding:42px;border-radius:24px;grid-template-columns:1.15fr .85fr;gap:40px;color:white}.about-page .about-hero .eyebrow{color:#9cc4ff}.about-page .about-hero h1{font-size:43px;margin-bottom:23px}.about-intro{color:#bbcee6;font-size:14px;max-width:490px}.about-portrait{position:relative;margin:0;justify-self:end;max-width:310px;width:100%;padding:16px;border:1px solid #6488ba55;border-radius:50%}.about-page .about-hero .about-portrait>img{border-radius:50%;width:100%}.about-portrait figcaption{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:10px;background:white;color:var(--ink);padding:10px 17px;font-size:12px;box-shadow:0 6px 25px #0002}.about-highlights{display:flex;gap:30px;margin-top:30px}.about-highlights strong{display:block;color:white;font-family:"Cal Sans",sans-serif;font-size:25px;font-weight:400}.about-highlights span{font-size:10px;color:#9fb8d9}.about-page .story-grid{grid-template-columns:220px 1fr;gap:55px}.about-page .story-grid aside{height:max-content;background:#f3f7fe;padding:20px;border:1px solid #e0e8f5;border-radius:14px}.about-page .story-grid aside p{font-size:12px}.profile-links{display:grid;gap:8px;padding-top:18px;font-size:12px;color:var(--blue)}.about-page .timeline{position:relative;padding-left:25px;border-left:1px solid #b5cdee;margin-left:10px}.about-page .timeline li{position:relative;grid-template-columns:155px 1fr;gap:30px;border:0;padding:0 0 30px}.about-page .timeline li::before{content:"";position:absolute;left:-31px;top:5px;width:11px;height:11px;background:#438df7;border:3px solid #eff5ff;border-radius:50%;box-shadow:0 0 0 1px #b5cdee}.about-page .timeline li:last-child{padding-bottom:0}.about-page .timeline h3{font-size:23px}.about-page .stack{background:var(--navy);color:white;margin-bottom:60px}.about-page .stack .eyebrow{color:#9bc0fb}.about-page .stack-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}.about-page .stack-groups p{padding:20px;background:#1b304e;border:1px solid #324d72;border-radius:13px;color:#b4c7e0;font-size:12px}.about-page .stack-groups strong{color:white}.stack-group-logo{filter:invert(1);width:28px;height:28px;object-fit:contain;margin-bottom:15px}
/* Portfolio and case-study storytelling */
.work-page .case-list>.frame{display:grid;grid-template-columns:1fr 1fr;gap:25px}.work-page .case-list-row{display:block;padding:16px;background:#f4f7fc;border:1px solid #e3e9f3;border-radius:20px}.work-page .case-list-row:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr;gap:35px;padding:24px;background:#eef4fe}.work-page .case-list-row>div{padding:22px 8px 10px}.work-page .case-list-row:first-child>div{padding:10px 5px}.work-page .case-list-row:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:35px}.work-page .case-list-row h2{font-size:28px}.work-page .case-list-row img{transition:transform .4s}.work-page .case-list-row>a:hover img{transform:scale(1.025)}.work-page .showcase-project{padding:14px;background:white;border:1px solid #e0e8f4;border-radius:20px}.work-page .showcase-project figcaption{padding:15px 6px 6px}.work-page .showcase-project span{font-size:10px}
.case-page .case-hero{padding-top:26px;background:linear-gradient(#f3f7ff,white)}.case-title-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;align-items:end;padding-bottom:10px}.case-title-grid .breadcrumb,.case-title-grid .eyebrow{grid-column:1/-1;margin-bottom:0}.case-page .case-hero h1{font-size:52px;margin:12px 0 0}.case-page .case-title-grid>p:last-child{font-size:15px;margin:0;color:var(--muted)}.case-page .case-image{margin-top:26px}.case-page .case-image>img{border:1px solid #dce5f4;box-shadow:0 20px 50px #18375912}.case-page .case-facts{background:white;padding:25px 0 0;margin-top:0}.case-page .facts-grid>div{padding:20px;background:#f0f5fd;border:1px solid #e0e8f6;border-radius:12px}.case-page .facts-grid strong,.case-page .facts-grid a{font-size:12px;font-weight:500}.case-page .facts-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.case-page .facts-grid a{color:var(--blue)}.case-page .narrative-grid{gap:50px}.case-page .narrative-grid h2{font-size:32px;line-height:1.2}.requirement-copy{color:var(--muted);font-size:16px;line-height:1.8}.case-page .narrative-grid ol{background:#f5f8fd;border:1px solid #e1e8f3;border-radius:16px;padding:6px 23px}.case-page .narrative-grid li:first-child{border:0}.case-page .narrative-grid li{padding:20px 0}.case-page .narrative-grid li p{font-size:14px}.case-page .evidence-note{background:white}.case-page .evidence-note>.frame{font-size:11px}.case-related{padding-bottom:55px}.case-related-inner{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.case-related-inner>p{font-size:14px;margin:0;color:var(--muted)}.case-related-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--blue)}
/* Illustrated journal and focused article reading */
.blog-page .article-list>.frame{display:grid;grid-template-columns:1fr 1fr;gap:26px}.blog-card{display:flex!important;flex-direction:column;align-items:stretch!important;gap:0!important;padding:0!important;border:1px solid #dfe7f4!important;border-radius:19px;overflow:hidden;background:white;transition:transform .25s,box-shadow .25s}.blog-card:hover{transform:translateY(-3px);box-shadow:0 13px 35px #1a3d6c0b}.blog-cover{display:block;overflow:hidden;background:#e5edfb}.blog-cover>img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s}.blog-cover:hover>img{transform:scale(1.025)}.blog-card-copy{padding:26px;flex:1;display:flex;flex-direction:column;align-items:start}.blog-category{font-size:10px;color:var(--blue);text-transform:uppercase;letter-spacing:.1em;margin-bottom:15px}.blog-card h2,.blog-card h3{font-size:27px;margin-bottom:14px}.blog-card p{font-size:14px;color:var(--muted);line-height:1.75}.blog-card .line-link{font-size:12px;margin-top:auto}.blog-page .blog-card:first-child{grid-column:1/-1;display:grid!important;grid-template-columns:1.1fr .9fr;align-items:center!important;background:#f3f7fe}.blog-page .blog-card:first-child .blog-cover>img{aspect-ratio:3/2}.blog-page .blog-card:first-child .blog-card-copy{padding:35px}.blog-page .blog-card:first-child h2{font-size:33px}.blog-author{display:flex;gap:10px;align-items:center;padding-top:20px;margin-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);width:100%}.blog-author img{width:30px;height:30px;object-fit:cover;border-radius:50%}
.article-page .article-head{max-width:1124px;width:calc(100% - 56px);border-radius:22px;padding:35px 40px;background:#f2f6fd}.article-page .article-head h1{max-width:840px;font-size:46px}.article-page .article-head>p:last-child{max-width:800px;font-size:16px}.article-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:20px}.article-meta img{width:29px;height:29px;border-radius:50%}.article-banner{margin:25px auto 0;max-width:1124px;width:calc(100% - 56px);border-radius:18px;overflow:hidden;background:#edf3fd}.article-banner img{width:100%;aspect-ratio:2.35/1;object-fit:cover}.article-page .article-layout{grid-template-columns:220px minmax(0,1fr);gap:50px;padding-top:45px}.article-page .article-layout aside{height:max-content;position:sticky;top:110px;background:#f3f7fd;border:1px solid #e2e9f4;border-radius:12px;padding:21px}.article-toc{display:grid;gap:13px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.article-toc>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.article-toc a{font-size:11px;line-height:1.5;color:#4b6588}.article-toc a:hover{color:var(--blue)}.article-page .article-prose{max-width:745px;min-width:0;width:100%}.article-page .article-prose h2{font-size:30px}.article-page .article-prose section{margin-bottom:38px}.article-page .article-prose p{font-size:16px;line-height:1.9}.article-page .article-takeaway{background:var(--navy);color:white;border-left:4px solid #438df7;padding:25px 28px}.article-page .article-takeaway p{color:#bfd0e7;font-size:14px}.article-next{margin-top:25px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--blue)}
.home-journal{padding-block:60px}.home-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home-blog-grid .blog-card-copy{padding:22px}.home-blog-grid h3{font-size:22px}.home-blog-grid p{font-size:12px}.home-blog-grid .blog-cover>img{aspect-ratio:1.65/1}
/* Client feedback: all supplied reviews, readable without JavaScript. */
.testimonial-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}
.testimonial-heading h2{max-width:none;margin-bottom:0}
.testimonial-heading>div:last-child{max-width:330px}
.testimonial-heading>div:last-child p{font-size:14px;color:#516680;line-height:1.75}
.fiverr-hire{display:inline-flex;align-items:center;gap:10px;background:white;padding:13px 16px;border:1px solid #c8dfd4;border-radius:10px;box-shadow:0 3px 12px #204a7c05;font-size:12px;color:#274838;font-weight:600}
.fiverr-hire:hover{border-color:#158752;background:#f7fdf9}
.fiverr-hire img{width:68px;height:23px;object-fit:contain}
.reviews-carousel{min-width:0}
.reviews-track{position:relative}
.reviews-track{display:flex;gap:20px;overflow-x:auto;align-items:stretch;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b4c9e5 transparent;padding:5px 1px 18px;overscroll-behavior-x:contain;scroll-padding-inline:1px}
.review-slide{flex:0 0 calc((100% - 20px)/2);min-width:0;margin:0;padding:28px;border:1px solid #d1dff2;border-radius:20px;background:white;color:var(--ink);display:flex;flex-direction:column;scroll-snap-align:start}
.review-slide-featured{background:var(--navy);border-color:#304966;color:#fff}
.review-slide-top{display:flex;justify-content:space-between;align-items:center;gap:15px}
.review-slide-top img{object-fit:contain;width:68px;height:23px}
.review-slide-top>span{font-size:10px;color:#526987;font-variant-numeric:tabular-nums}
.review-slide-featured .review-slide-top>span{color:#b4c9e4}
.review-slide-mark{font-family:Georgia,serif;font-size:60px;line-height:.6;color:#a4c5f3;margin-top:36px}
.review-slide blockquote{margin:16px 0 26px;font-size:18px;line-height:1.65;letter-spacing:-.015em}
.review-slide blockquote p{margin:0}
.review-full{margin-top:18px}
.review-full summary{font-size:12px;cursor:pointer;list-style:none;color:#305d9c;display:inline-flex;align-items:center;gap:10px;padding:9px 0;min-height:44px;font-weight:600}
.review-full summary::after{content:"";width:11px;height:11px;background:linear-gradient(currentColor,currentColor) center/11px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 11px no-repeat}
.review-full[open] summary::after{background:linear-gradient(currentColor,currentColor) center/11px 2px no-repeat}
.review-full summary::-webkit-details-marker{display:none}
.review-slide-featured .review-full summary{color:#c0d9ff}
.review-full>p{font-size:14px;line-height:1.85;color:#516680;padding-top:9px;letter-spacing:0}
.review-slide-featured .review-full>p{color:#bfcfe5}
.review-slide figcaption{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid #dbe5f3;margin-top:auto}
.review-slide-featured figcaption{border-color:#304966}
.review-client-icon{display:grid;place-items:center;background:#edf4ff;width:37px;height:37px;border-radius:10px;color:#355f96;flex:none}
.review-slide-featured .review-client-icon{background:#243d60;color:#c5dbf7}
.review-slide figcaption strong{display:block;font-size:12px;font-weight:600}
.review-slide figcaption div>span{display:block;font-size:11px;color:#526987;margin-top:3px}
.review-slide-featured figcaption div>span{color:#b4c9e4}
.reviews-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:10px}
.reviews-bottom>p{font-size:11px;color:#516680;margin:0;max-width:440px}
.reviews-controls{display:flex;align-items:center;gap:12px;flex:none}
.review-arrow{display:grid;place-items:center;width:46px;height:46px;background:white;border:1px solid #b9cde7;border-radius:50%;color:#203c61;font-size:23px;cursor:pointer;transition:background .2s,border-color .2s}
.review-arrow:hover:enabled{background:#edf4ff;border-color:#386aaf}
.review-arrow:disabled{opacity:.45;cursor:default}
.review-position{font-size:11px;color:#516680;min-width:116px;text-align:center;font-variant-numeric:tabular-nums}
.review-footnote{font-size:11px;color:#516680;line-height:1.7;margin:19px 0 0;max-width:900px}
.review-footnote a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.testimonial-heading{display:block}.testimonial-heading>div:last-child{max-width:none;margin-top:19px}.testimonial-heading h2{font-size:31px}.review-slide{flex-basis:100%;padding:25px 22px;border-radius:17px}.review-slide blockquote{font-size:18px}.reviews-bottom{align-items:start;flex-direction:column;gap:14px}.reviews-controls{align-self:end}.review-footnote{font-size:10px}.fiverr-hire{padding:12px 15px}}
/* Contact and utility pages */
.contact-page-modern .contact-page{padding:26px 0 55px;background:linear-gradient(white,#f1f6fe)}.contact-page-modern .contact-page-grid{gap:0;border:1px solid #dce6f4;border-radius:22px;overflow:hidden;padding:0;max-width:1124px;width:calc(100% - 56px);align-items:start;background:white}.contact-intro{padding:37px;background:var(--navy);color:white;align-self:stretch}.contact-page-modern h1{font-size:42px}.contact-intro .eyebrow{color:#9cc0f6}.contact-intro .lead{color:#b6cae3;font-size:14px}.contact-intro .breadcrumb{color:#a8bfdf}.contact-page-modern .contact-methods a{border-color:#ffffff25;font-size:13px;grid-template-columns:1fr}.contact-page-modern .contact-methods span{color:#9db7db}.contact-page-modern .location-note{color:#a2bbdc}.contact-person{display:flex;gap:13px;align-items:center;padding:16px;background:#213857;border:1px solid #355378;border-radius:12px;margin-top:28px;font-size:12px}.contact-person img{width:47px;height:47px;object-fit:cover;border-radius:50%}.contact-person small{display:block;color:#aec4e2;font-size:10px;margin-top:4px}.contact-page-modern .project-form{border:0;background:white;border-radius:0;padding:37px}.form-title{font-family:"Cal Sans",sans-serif;font-size:24px;margin-bottom:7px}.form-intro{font-size:12px;color:var(--muted);margin-bottom:23px}.contact-page-modern .project-form input,.contact-page-modern .project-form select,.contact-page-modern .project-form textarea{background:#f7f9fd;border-color:#dbe4f1}.contact-page-modern .project-form textarea{min-height:150px}.contact-page-modern .project-form .button{width:100%}.modern-pages .not-found{padding:45px 0 60px}.error-panel{padding:50px;background:var(--navy);border-radius:22px;color:white;position:relative;overflow:hidden}.error-panel .eyebrow{color:#a4c6fa;font-family:"Cal Sans",sans-serif;font-size:65px;letter-spacing:0;margin-bottom:30px}.error-panel h1{font-size:42px}.error-panel p:not(.eyebrow){color:#bdd0e9;max-width:520px}.error-panel .button{margin-top:12px}
@media(max-width:1000px){.service-page .detail-grid{gap:26px}.service-page .detail-grid h1{font-size:42px}.service-page .detail-body-grid{grid-template-columns:180px 1fr;gap:30px}.service-directory .directory-row:first-child{grid-template-columns:48px 1fr}.service-directory .directory-row:first-child .row-action{grid-column:2}.about-page .about-hero h1{font-size:37px}.about-page .stack-grid{grid-template-columns:1fr;gap:25px}.case-page .facts-grid{grid-template-columns:1fr 1fr}.home-blog-grid{grid-template-columns:1fr 1fr}.home-blog-grid .blog-card:last-child{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr}.contact-intro,.contact-page-modern .project-form{padding:28px}}
@media(max-width:700px){.breadcrumb{font-size:10px;margin-bottom:20px}.modern-pages .page-hero,.modern-pages .detail-hero,.modern-pages .about-hero,.modern-pages .article-hero{padding-top:16px}.modern-pages .page-hero-grid{width:calc(100% - 28px);padding:28px 23px;gap:20px;border-radius:18px}.modern-pages .page-hero h1{font-size:35px}.modern-pages .page-hero-grid p:last-child{font-size:14px}.page-hero-extra{padding-top:18px;margin-top:0;gap:11px;font-size:10px}.page-hero-extra>span{flex-basis:100%}.page-hero-extra img{width:23px;height:23px}.page-hero-extra a{font-size:10px}.service-directory{padding:30px 0}.service-directory>.frame{grid-template-columns:1fr;gap:13px}.service-directory .directory-row,.service-directory .directory-row:first-child{grid-column:auto;grid-template-columns:37px 1fr;padding:24px 19px;gap:15px}.directory-logo{width:37px;height:37px;padding:7px}.directory-number{right:16px;top:14px;font-size:9px}.service-directory .directory-row h2{font-size:24px;padding-right:7px}.service-directory .directory-row p{font-size:13px}.service-directory .row-action{font-size:11px}.two-col{grid-template-columns:1fr;gap:18px}.decision{padding:15px 0 40px}.service-page .detail-grid{grid-template-columns:1fr;padding-bottom:30px;gap:28px}.service-page .detail-grid h1{font-size:37px;max-width:460px}.service-page .detail-lead{font-size:14px}.service-art{padding:23px 17px 17px;border-radius:18px}.service-art-top{margin-bottom:18px}.service-art-logo{width:29px;height:29px}.service-art-screen>img{aspect-ratio:16/9}.service-art-bottom{font-size:9px}.delivery-inner{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px;padding-block:18px}.delivery-inner>strong{grid-column:1/-1}.service-page .detail-body{padding-block:35px}.service-page .detail-body-grid{grid-template-columns:1fr;gap:30px}.service-page .detail-nav{padding:17px;position:static}.service-side-cta{grid-column:1/-1;margin-top:12px}.service-page .scope-list{grid-template-columns:1fr}.service-page .detail-content h2{font-size:28px}.service-page .scope-list li{font-size:14px}.service-page .check-list li{font-size:13px}.modern-pages .mini-work>a{padding:12px}.about-page .about-hero-grid{width:calc(100% - 28px);padding:28px 23px;grid-template-columns:1fr;gap:28px;border-radius:18px}.about-page .about-hero h1{font-size:35px}.about-intro{font-size:13px}.about-portrait{max-width:235px;justify-self:center;margin-bottom:15px}.about-highlights{gap:25px;margin-top:23px}.about-page .story-grid{grid-template-columns:1fr;gap:26px}.about-page .story-grid aside{display:block}.about-page .timeline li{grid-template-columns:1fr;gap:10px}.about-page .timeline h3{font-size:22px}.about-page .stack-groups{grid-template-columns:1fr}.about-page .stack{margin-bottom:40px}.work-page .case-list>.frame{grid-template-columns:1fr;gap:20px}.work-page .case-list-row,.work-page .case-list-row:first-child,.work-page .case-list-row:last-child{display:block;grid-column:auto;padding:14px;border-radius:17px}.work-page .case-list-row>div,.work-page .case-list-row:first-child>div{padding:20px 6px 8px}.work-page .case-list-row h2{font-size:26px}.work-page .case-list-row p{font-size:14px}.work-page .showcase-project{padding:12px}.work-page .showcase-project h3{font-size:20px}.case-title-grid{grid-template-columns:1fr;gap:15px}.case-page .case-hero h1{font-size:39px;margin:0}.case-page .case-title-grid>p:last-child{font-size:14px}.case-page .case-image{margin-top:20px}.case-page .facts-grid{gap:12px}.case-page .facts-grid>div{padding:16px}.case-page .facts-grid>div:nth-child(3){grid-column:1/-1;grid-row:2}.case-page .facts-grid strong,.case-page .facts-grid a{font-size:11px}.case-page .narrative-grid{gap:25px}.case-page .narrative-grid h2{font-size:29px}.requirement-copy{font-size:14px}.case-related-inner{display:block}.case-related-links{margin-top:16px}.blog-page .article-list>.frame{grid-template-columns:1fr;gap:21px}.blog-page .blog-card:first-child{grid-column:auto;display:flex!important}.blog-page .blog-card:first-child .blog-card-copy,.blog-card-copy{padding:23px}.blog-page .blog-card:first-child h2,.blog-card h2{font-size:26px}.blog-card p{font-size:13px}.article-page .article-head{width:calc(100% - 28px);padding:27px 23px;border-radius:18px}.article-page .article-head h1{font-size:35px}.article-page .article-head>p:last-child{font-size:14px}.article-meta{font-size:10px;flex-wrap:wrap}.article-banner{width:calc(100% - 28px);margin-top:16px;border-radius:14px}.article-banner img{aspect-ratio:3/2}.article-page .article-layout{grid-template-columns:1fr;gap:25px;padding-top:30px}.article-page .article-layout aside{position:static;padding:18px}.article-page .article-prose h2{font-size:27px}.article-page .article-prose p{font-size:15px;line-height:1.85}.article-toc{grid-template-columns:1fr 1fr;gap:12px}.article-toc>span{grid-column:1/-1}.article-toc a{font-size:10px}.home-journal{padding-block:45px}.home-blog-grid{grid-template-columns:1fr;gap:20px}.home-blog-grid .blog-card:last-child{grid-column:auto;display:flex!important}.home-blog-grid h3{font-size:25px}.testimonial-heading{display:block}.testimonial-heading>div:last-child{max-width:none;margin-top:18px}.testimonial-heading h2{font-size:31px}.contact-page-modern .contact-page-grid{width:calc(100% - 28px);grid-template-columns:1fr;border-radius:18px}.contact-intro,.contact-page-modern .project-form{padding:27px 23px}.contact-page-modern h1{font-size:35px}.contact-page-modern .project-form label{margin-bottom:17px}.error-panel{padding:32px 25px}.error-panel h1{font-size:35px}}
@media(max-width:700px){.contact-page-modern .project-form input,.contact-page-modern .project-form select,.contact-page-modern .project-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.blog-card,.case-list-row img{transition:none}}
/* Editorial refinements: service journey, profile and practical reading. */
.process-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:28px 0 0;padding:0}
.process-flow li{position:relative;min-width:0}
.process-flow li:not(:last-child)::after{content:"";position:absolute;top:20px;left:49px;right:-11px;height:1px;background:#c4d6ef}
.process-number{display:grid;place-items:center;width:40px;height:40px;border:1px solid #c4d6ef;border-radius:50%;background:#eff5ff;color:#305c98;font-size:12px;font-weight:600}
.process-flow h3{font-size:19px!important;line-height:1.25;margin:20px 0 12px}
.process-flow p{font-size:13px!important;line-height:1.8}
.decision-panel{background:#f1f6ff;border:1px solid #dce7f7;border-radius:20px;padding:31px 35px}
.decision-panel h2{font-size:30px;margin-bottom:0}
.about-page .prose .lead{font-size:19px;line-height:1.75}
.about-statement{font-size:36px;line-height:1.2;margin-bottom:22px}
.about-page .prose h3{font-size:25px;margin-top:30px}
.about-working-note{border-top:1px solid #d7e2f2;margin-top:27px;padding-top:24px;display:grid;grid-template-columns:45px 1fr;gap:14px;align-items:start}
.about-working-note>span{font-family:"Cal Sans",sans-serif;font-size:23px;color:#346aba;line-height:1.4}
.about-working-note p{font-size:14px;line-height:1.8}
.about-working-note strong{display:block;color:var(--ink);font-weight:600;margin-bottom:6px}
.about-working-note a{grid-column:2;font-size:12px;color:var(--blue)}
.reading-table-wrap{overflow-x:auto;border:1px solid #d7e2f3;border-radius:14px;margin:23px 0}
.reading-table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.65;text-align:left;min-width:440px}
.reading-table caption{text-align:left;background:#edf4ff;padding:18px 20px;font-weight:600;color:#25486f;font-size:13px}
.reading-table th,.reading-table td{padding:16px 20px;border-top:1px solid #e0e8f4;vertical-align:top}
.reading-table thead th{color:#315278;background:#f6f9fe;font-weight:600;font-size:12px}
.reading-table tbody th{font-weight:600;color:#29466b;min-width:125px}
.reading-table td{color:#516680}
.article-prose .source-note{font-size:12px!important;line-height:1.8!important;color:#516680}
.article-prose a:not(.button){text-decoration:underline;text-underline-offset:3px}
.article-prose h3{font-size:20px;line-height:1.4;letter-spacing:.005em;margin:28px 0 10px;color:#18395f}
.article-prose ul,.article-prose ol{display:grid;gap:10px;margin:18px 0 28px;padding-left:22px;color:#435b78}
.article-prose li{padding-left:5px;font-size:15px;line-height:1.75}
.article-prose li::marker{color:#2f75df;font-weight:600}
.article-prose .source-list{list-style:none;padding:0;gap:0;border-top:1px solid #dfe7f2}
.article-prose .source-list li{padding:13px 0;border-bottom:1px solid #dfe7f2}
.article-prose .source-list a{display:inline-flex;align-items:center;gap:8px;font-size:14px}
.article-prose .source-list a::after{content:"↗";text-decoration:none}
.article-prose .reading-checklist{list-style:none;margin:23px 0;padding:0;counter-reset:check}
.reading-checklist li{position:relative;padding:18px 0 18px 42px;border-top:1px solid #dce5f2;font-size:14px;color:#516680;line-height:1.8;counter-increment:check}
.reading-checklist li::before{content:counter(check,decimal-leading-zero);position:absolute;left:0;top:20px;font-size:11px;color:#35639e;font-weight:600}
.reading-checklist strong{display:block;color:#284467;font-weight:600;margin-bottom:3px}
.article-prose .article-answer{padding:22px 25px;border-left:3px solid #377ce4;background:#f0f6ff;border-radius:0 12px 12px 0;margin-bottom:30px}
.article-prose .article-answer p{font-size:15px;line-height:1.8;margin:0}
.article-answer strong{color:#23466f}
@media(max-width:1000px){.process-flow{grid-template-columns:1fr 1fr;gap:25px}.process-flow li:nth-child(2)::after{display:none}}
@media(max-width:700px){.decision-panel{width:calc(100% - 40px);padding:26px 22px}.decision-panel h2{font-size:27px}.about-statement{font-size:31px}.about-page .prose .lead{font-size:17px}.process-flow{gap:24px 18px}.process-flow h3{font-size:19px!important}.process-flow p{font-size:12px!important}.reading-table th,.reading-table td{padding:14px}.article-prose .article-answer{padding:20px}.about-working-note{grid-template-columns:35px 1fr;gap:12px}}


.about-portrait>img{animation:portrait-arrive .85s cubic-bezier(.22,1,.36,1) both}
@keyframes portrait-arrive{from{translate:0 14px;rotate:-2deg}to{translate:0 0;rotate:0deg}}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* On-page inquiry states and a native, keyboard-accessible confirmation dialog. */
.project-form[aria-busy=true]{cursor:progress}
.project-form :disabled{cursor:wait;opacity:.7}
.project-form .button:disabled{transform:none}
.form-status{font-size:13px;line-height:1.7;margin:16px 0 0;color:#405c7e}
.form-status:empty{display:none}
.form-status[data-state=error]{padding:14px 16px;border:1px solid #efc4c0;border-radius:10px;background:#fff4f2;color:#8e3028}
.form-status[data-state=success]{color:#23664e}
.inquiry-dialog{padding:0;border:1px solid #d6e3f4;border-radius:24px;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;background:white;color:var(--ink);box-shadow:0 30px 100px #0614284d}
.inquiry-dialog::backdrop{background:#09182bbf}
.inquiry-dialog[open]{animation:section-arrive .25s ease-out both}
.inquiry-dialog-content{padding:38px}
.inquiry-success-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#eaf2ff;color:#246be0;font-size:28px;margin-bottom:28px}
.inquiry-dialog .eyebrow{font-size:10px;margin-bottom:14px}
.inquiry-dialog h2{font-size:36px;margin-bottom:18px}
.inquiry-dialog p:not(.eyebrow){font-size:14px;line-height:1.8;color:#526781}
.inquiry-dialog .inquiry-dialog-note{font-size:12px!important;margin:0 0 25px}
.inquiry-dialog a{text-decoration:underline;text-underline-offset:3px;color:#246be0}
.inquiry-dialog .button{width:100%}
@media(max-width:430px){.inquiry-dialog-content{padding:28px 24px}.inquiry-dialog h2{font-size:30px}.inquiry-success-mark{margin-bottom:22px}}

/* Remote service markets: one useful page instead of duplicated city doorways. */
.market-page .market-hero .page-hero-grid{grid-template-columns:1.1fr .9fr}
.market-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}
.market-intro h2{font-size:38px;max-width:480px}
.market-lead{border-left:1px solid var(--line);padding-left:36px}
.market-lead p{font-size:16px;line-height:1.85;color:var(--muted)}
.market-regions{padding:8px 0 64px}
.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.market-card{position:relative;display:flex;flex-direction:column;min-height:315px;padding:30px;border:1px solid #dce6f4;border-radius:20px;background:#f5f8fd;overflow:hidden}
.market-card::after{content:"";position:absolute;right:-45px;bottom:-75px;width:190px;height:190px;border:1px solid #c7d9ef;border-radius:50%}
.market-card-featured{grid-column:1/-1;min-height:270px;display:grid;grid-template-columns:80px 1fr 190px;gap:26px;align-items:center;background:var(--navy);color:white;border-color:#294664}
.market-card-featured::after{width:280px;height:280px;border-color:#ffffff1f;right:-70px;bottom:-120px}
.market-code{display:grid;place-items:center;width:54px;height:54px;border:1px solid #c9daef;border-radius:15px;background:white;color:#315d95;font-family:"Cal Sans",sans-serif;font-size:17px;letter-spacing:.05em;z-index:1}
.market-card-featured .market-code{width:65px;height:65px;background:#1b3455;border-color:#42648d;color:#bcd6fb}
.market-card .eyebrow{margin-bottom:11px}
.market-card h2{font-size:29px;margin-bottom:16px}
.market-card p:not(.eyebrow){font-size:14px;line-height:1.8;color:#506782;max-width:680px}
.market-card-featured .eyebrow{color:#8fbdff}
.market-card-featured h2{color:white}
.market-card-featured p:not(.eyebrow){color:#bdcde2}
.market-card-featured .line-link{z-index:1;color:white;justify-self:start}
.market-process{background:white}
.market-fit .two-col{align-items:start}
.market-fit .check-list{margin:0}
.market-fit .check-list li{padding:17px 0}
.market-fit .check-list a{color:#315f9b;text-decoration:underline;text-underline-offset:3px}
.market-faq .answers-layout>div:first-child>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);max-width:380px}
@media(max-width:900px){.market-card-featured{grid-template-columns:70px 1fr}.market-card-featured .line-link{grid-column:2}.market-intro-grid{gap:45px}}
@media(max-width:700px){.market-page .market-hero .page-hero-grid,.market-intro-grid,.market-grid{grid-template-columns:1fr}.market-intro h2{font-size:31px}.market-lead{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.market-lead p{font-size:14px}.market-regions{padding-bottom:42px}.market-card,.market-card-featured{grid-column:auto;display:block;min-height:0;padding:24px 21px;border-radius:17px}.market-card .market-code{margin-bottom:27px}.market-card h2{font-size:26px}.market-card p:not(.eyebrow){font-size:13px}.market-card-featured .line-link{display:inline-flex;margin-top:8px}.market-fit .two-col{grid-template-columns:1fr}}
.service-reading{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;line-height:1.75;color:var(--muted)}
.service-reading strong{color:var(--ink)}
.service-reading a,.about-reading a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.about-reading{padding:clamp(56px,8vw,104px) 0;background:var(--paper)}
.about-reading .frame{max-width:820px}
.about-reading h2{max-width:720px;margin:12px 0 20px;font-size:clamp(34px,5vw,68px);line-height:.98}
.about-reading p:last-child{max-width:720px;color:var(--muted);font-size:18px;line-height:1.75}
