/* Services: the same material, with an editorial rather than a product layout. */
.services-page{--dark:var(--brand-burgundy);--accent:var(--brand-burgundy)}
.services-page .page-width{width:min(1176px,calc(100% - 64px))}
.services-page .site-header{max-width:1176px}
.services-page .eyebrow,.services-page .service-kicker,.services-page .process-time,.services-page .process-number,.services-page .process-track-label{font:400 12px/18px var(--mono);letter-spacing:.035em;text-transform:uppercase}
.services-page .site-header .nav-link[aria-current="page"]{color:var(--accent);background:rgb(var(--brand-burgundy-rgb) / 0.0235);border-radius:3px}
.services-page .button-dark{background:var(--accent);border-color:var(--accent);color:#f5f3f0}
.services-page .button-dark:hover{background:#3b1820;border-color:#3b1820;transform:none}
.services-page .nav-link,.services-page .header-cta{font-size:12px}
.services-page .announcement{font-size:11px}
.services-page .system-menu a{text-transform:uppercase;font-size:12px;line-height:18px}
.services-page .system-menu .eyebrow{font-size:12px}
.services-page .system-menu a>span{font-size:12px}
.services-hero{padding:196px 0 96px;display:grid;grid-template-columns:1.1fr 1fr;gap:88px;align-items:center}
.services-hero .eyebrow{display:block;margin-bottom:25px;color:#77736c}
.services-hero h1{font:400 clamp(42px,4.8vw,64px)/1.08 var(--serif);letter-spacing:-.045em;max-width:620px}
.services-intro{font:400 18px/28px var(--sans);color:var(--body);margin-top:28px;max-width:525px}
.services-hero .hero-actions{margin-top:32px;gap:8px;flex-wrap:wrap}
.services-hero .hero-actions .text-link{font:12px/18px var(--mono);text-transform:uppercase;padding:13px 15px;border:1px solid var(--accent);border-radius:3px;background:none;gap:13px;min-height:46px}
.services-hero .hero-actions .text-link:hover{color:var(--accent)}
.services-hero .button{font-size:12px;min-height:46px}
.service-manifest{position:relative;isolation:isolate;min-width:0;padding:33px 34px 13px;border:1px solid #ffffffb5;border-radius:18px;background:linear-gradient(130deg,#ffffffa6,#ffffff57);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 12px 40px #29221a05}
.service-manifest:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23808080' filter='url(%23n)' d='M0 0h140v140H0z'/%3E%3C/svg%3E")}
.service-manifest-heading{display:flex;justify-content:space-between;gap:20px;padding-bottom:23px;border-bottom:1px solid var(--line);align-items:center}
.service-manifest-heading .service-kicker{color:#77736c}
.service-manifest-heading>svg{width:22px;height:22px;stroke:#98948c;fill:none;stroke-width:1.25}
.manifest-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:17px;padding:26px 0 28px;position:relative}
.manifest-row+.manifest-row{border-top:1px solid #d8d5d085}
.manifest-index{font:12px/18px var(--mono);color:#98948c;padding-top:3px}
.manifest-row h2{font:400 25px/30px var(--serif);letter-spacing:-.035em}
.manifest-row p{font:14px/22px var(--sans);color:#77736c;margin-top:7px}
.manifest-row:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#98948c;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--manifest-i)*140ms)}
.service-manifest.is-seen .manifest-row:after{transform:scaleX(1)}
.manifest-row:last-child:after{display:none}
.service-section{position:relative;border-top:0;padding:82px 0 86px}.service-section:before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;transform:translateX(-50%);background:var(--line)}
.service-section-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:end;margin-bottom:45px}
.service-section-heading h2{font:400 39px/45px var(--serif);letter-spacing:-.038em;max-width:590px}
.service-section-heading>p{font:16px/25px var(--sans);color:var(--body);max-width:440px}
.service-groups{display:grid;gap:22px}
.service-group{display:grid;grid-template-columns:214px minmax(0,1fr);gap:34px;padding:26px 0}
.service-group+.service-group{border-top:1px solid var(--line)}
.service-group-label{padding-top:21px}
.service-group-label .service-kicker{color:#77736c;display:flex;align-items:center;gap:15px}
.service-group-label .service-kicker>span{color:#98948c}
.service-group-label h3{font:400 25px/31px var(--serif);letter-spacing:-.035em;margin:18px 0 0;max-width:190px}
.service-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);column-gap:18px;row-gap:0;min-width:0}
.service-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-items:start;min-width:0;padding:28px 27px 24px;border:1px solid #ffffffb5;border-radius:13px;background:rgba(255,255,255,.53);box-shadow:0 6px 30px #29221a03;transition:background .3s,box-shadow .3s}
.service-card:hover{background:rgba(255,255,255,.78);box-shadow:0 10px 30px #29221a05}
.service-card-icon{width:26px;height:26px;stroke:#77736c;fill:none;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;margin-bottom:25px}
.service-card h4{font:400 21px/27px var(--serif);letter-spacing:-.025em;margin:0 0 12px}
.service-card>p{font:15px/23px var(--sans);color:var(--body);min-height:0}
.service-deliverables{list-style:none;margin:23px 0 0;padding:19px 0 0;border-top:1px solid #d8d5d08c;display:grid;gap:11px}
.service-deliverables li{display:flex;align-items:flex-start;gap:10px;font:14px/21px var(--sans);color:#4f4a43}
.service-deliverables li:before{content:"";width:4px;height:4px;border:1px solid #98948c;flex:0 0 4px;margin-top:7px}
.service-scope-note{margin:35px 0 0 248px;font:14px/22px var(--sans);color:#77736c;max-width:740px}
.services-process{padding-top:89px;padding-bottom:92px}
.services-process .service-section-heading{align-items:start;margin-bottom:40px}
.services-process .service-section-heading h2{max-width:570px}
.services-process .service-section-heading>div:last-child>p{font:16px/25px var(--sans);color:var(--body)}
.process-timing-note{display:block;font:14px/22px var(--sans);color:#77736c;margin-top:13px}
.process-list{list-style:none;padding:0;margin:0;position:relative}
.process-step{display:grid;grid-template-columns:155px minmax(0,1fr);gap:34px;position:relative}
.process-marker{position:relative;padding:31px 0 42px;display:flex;gap:16px;align-items:flex-start}
.process-marker:after{content:"";position:absolute;left:16px;top:65px;bottom:0;width:1px;background:var(--line)}
.process-step:last-child .process-marker:after{display:none}
.process-number{width:33px;height:33px;flex:0 0 33px;border:1px solid #c9c4bc;background:var(--paper);color:#77736c;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .25s,background .25s,border-color .25s}
.process-time{color:#77736c;padding-top:7px;white-space:nowrap}
.process-step.is-current .process-number{background:var(--brand-burgundy);border-color:var(--brand-burgundy);color:#f5f3f0}
.process-content{padding:31px 0 36px;border-top:1px solid var(--line)}
.process-content>h3{font:400 28px/35px var(--serif);letter-spacing:-.035em;margin:0 0 25px}
.process-tracks{display:grid;grid-template-columns:.86fr 1.2fr;gap:42px}
.process-track-label{display:block;color:#77736c;margin-bottom:9px}
.process-tracks p{font:15px/24px var(--sans);color:var(--body);max-width:460px}
.process-tracks>div:last-child{padding-left:26px;border-left:1px solid var(--line)}
.services-control{position:relative;border-top:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:58px;padding:51px 0 80px}
.services-control:before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;transform:translateX(-50%);background:var(--line)}
.services-control>div{min-width:0}
.services-control h2{font:400 24px/30px var(--serif);letter-spacing:-.03em;margin-bottom:12px}
.services-control p{font:15px/24px var(--sans);color:var(--body)}
.services-page .closing{margin-top:0;padding-top:72px}
.services-page .closing-inner{grid-template-columns:1.1fr 1fr;gap:80px;align-items:start;padding-bottom:72px}
.services-page .closing h2{font:400 48px/54px var(--serif);letter-spacing:-.04em;margin-top:0;max-width:500px}
.services-page .closing-copy{padding-top:0}
.services-page .closing-copy>p{font:16px/25px var(--sans);max-width:440px;margin-bottom:17px}
.services-page .closing .button{font-size:12px;min-height:46px;background:#f5f3f0;color:var(--brand-burgundy);border-color:#f5f3f0}
.services-page .closing .button:hover{background:#fff;border-color:#fff}
.services-page .site-footer .footer-label,.services-page .site-footer .footer-bottom nav a:last-child{font-size:12px}
.services-page .site-footer .footer-links a{font:12px/20px var(--mono);text-transform:uppercase}
@media(max-width:1100px){
 .services-hero{gap:48px;padding-top:182px}
 .services-hero h1{font-size:52px}
 .services-intro{font-size:17px;line-height:27px}
 .service-manifest{padding-inline:25px}
 .manifest-row h2{font-size:23px;line-height:29px}
 .service-section-heading{gap:48px}
 .service-group{grid-template-columns:170px minmax(0,1fr);gap:25px}
 .service-group-label h3{font-size:24px;line-height:30px}
 .service-card{padding:24px 21px}
 .service-scope-note{margin-left:195px}
 .process-tracks{gap:28px}
 .services-control{gap:36px}
}
@media(max-width:800px){
 .services-page .page-width{width:calc(100% - 40px)}
 .services-page .nav-link,.services-page .header-cta{font-size:11px}
 .services-page .system-menu{grid-template-columns:1fr;gap:27px}
 .services-page .system-menu>div:last-child{grid-column:auto}
 .services-page .announcement{font-size:10px;line-height:14px;white-space:normal}
 .services-page .announcement a{display:none}
 .services-hero{grid-template-columns:1fr;gap:44px;padding:153px 0 65px}
 .services-hero h1{font-size:clamp(42px,7.2vw,58px);max-width:650px}
 .services-intro{max-width:590px;margin-top:23px}
 .services-hero .eyebrow{margin-bottom:21px}
 .service-manifest{padding:26px 28px 8px;max-width:600px;width:100%}
 .manifest-row{padding-block:23px;gap:16px}
 .manifest-row h2{font-size:25px;line-height:31px}
 .service-section{padding:61px 0}
 .service-section-heading{grid-template-columns:1fr;gap:21px;margin-bottom:31px}
 .service-section-heading h2{font-size:36px;line-height:42px;max-width:590px}
 .service-section-heading>p{max-width:570px}
 .service-group{grid-template-columns:1fr;gap:23px;padding:24px 0 4px}
 .service-group+.service-group{margin-top:12px}
 .service-group-label{padding:0;display:flex;align-items:baseline;gap:25px;flex-wrap:wrap}
 .service-group-label h3{font-size:25px;line-height:31px;margin:0;max-width:none}
 .service-card>p{min-height:0}
 .service-card{padding:26px 24px}
 .service-scope-note{margin:30px 0 0}
 .process-step{grid-template-columns:124px minmax(0,1fr);gap:20px}
 .process-marker{gap:10px;padding-top:25px}
 .process-marker:after{top:59px}
 .process-time{font-size:12px;letter-spacing:0}
 .process-content{padding-top:25px;padding-bottom:31px}
 .process-content>h3{font-size:26px;line-height:33px;margin-bottom:20px}
 .process-tracks{grid-template-columns:1fr;gap:19px}
 .process-tracks>div:last-child{padding-left:0;border-left:0}
 .process-track-label{margin-bottom:6px}
 .services-control{grid-template-columns:1fr;gap:28px;padding:42px 0 62px}
 .services-control p{max-width:580px}
 .services-page .closing{padding-top:56px}
 .services-page .closing-inner{display:block;padding-bottom:56px}
 .services-page .closing h2{font-size:40px;line-height:46px}
 .services-page .closing-copy{padding-top:26px}
 .services-page .closing-copy>p{max-width:540px}
}
@media(max-width:520px){
 .services-page .page-width{width:calc(100% - 36px)}
 .services-page .site-header{padding-left:15px;padding-right:9px}
 .services-page .site-header nav{margin-right:7px}
 .services-page .nav-link{font-size:10px;gap:7px;padding-inline:4px}
 .services-page .header-cta{font-size:10px}
 .services-page .site-header .button.reflective-cta{width:148px;min-width:148px;flex-basis:148px}
 .services-page .brand{flex-basis:30px;width:30px}
 .services-hero{padding-top:144px;padding-bottom:53px;gap:34px}
 .services-hero h1{font-size:42px;line-height:1.09;letter-spacing:-.045em}
 .services-intro{font-size:16px;line-height:25px}
 .services-hero .hero-actions{gap:8px;margin-top:27px}
 .services-hero .hero-actions .text-link{font-size:11px;gap:7px}
 .service-manifest{padding:23px 22px 5px;border-radius:13px}
 .service-manifest-heading{padding-bottom:19px}
 .manifest-row{grid-template-columns:22px minmax(0,1fr);gap:13px;padding:22px 0}
 .manifest-row h2{font-size:23px;line-height:29px}
 .manifest-row p{font-size:14px;line-height:21px}
 .service-section-heading h2{font-size:33px;line-height:39px}
 .service-section-heading>p,.services-process .service-section-heading>div:last-child>p{font-size:16px;line-height:25px}
 .service-cards{grid-template-columns:1fr;grid-template-rows:none;gap:14px}
 .service-card{display:block;grid-row:auto;padding:25px}
 .service-card-icon{margin-bottom:19px}
 .service-card h4{font-size:23px;line-height:29px}
 .service-card>p{font-size:16px;line-height:25px}
 .service-deliverables{margin-top:21px;padding-top:18px;gap:11px}
 .service-deliverables li{font-size:15px;line-height:22px}
 .process-step{grid-template-columns:33px minmax(0,1fr);gap:18px}
 .process-marker{padding-top:25px}
 .process-marker .process-time{display:none}
 .process-content:before{content:attr(data-time);display:block;font:12px/18px var(--mono);text-transform:uppercase;color:#77736c;margin-bottom:11px}
 .process-content>h3{font-size:25px;line-height:31px}
 .process-tracks p{font-size:15px;line-height:24px}
 .services-control h2{font-size:24px;line-height:30px}
 .services-page .closing h2{font-size:37px;line-height:43px}
}
@media(prefers-reduced-motion:reduce){
 .manifest-row:after{transition:none;transform:scaleX(1)}
 .process-number,.service-card{transition:none}
}

/* Three connected deliverables, with no commercial thresholds in the specimen. */
.service-manifest .manifest-row{padding-block:20px}
.service-manifest .manifest-specimen-title{font:400 12px/18px var(--mono);text-transform:uppercase;letter-spacing:.025em;color:#77736c;margin:0 0 12px}
.manifest-code{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/20px var(--mono);color:#171715;letter-spacing:0;text-transform:uppercase}
.manifest-code code{font:inherit}
.manifest-code code>span{color:#8b1730}
.manifest-route{display:flex;align-items:center;gap:17px;font:15px/23px var(--sans);color:#4f4a43}
.manifest-route>svg{width:22px;height:16px;stroke:#98948c;stroke-width:1;fill:none;flex:none}
.manifest-route>strong{font-weight:600;color:#171715}
.service-manifest .manifest-route-note{font:14px/21px var(--sans);color:#77736c;margin-top:8px}
.manifest-record{display:grid;gap:6px;margin:0}
.manifest-record>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:baseline}
.manifest-record dt{font:12px/20px var(--mono);letter-spacing:0;color:#98948c}
.manifest-record dd{font:14px/20px var(--sans);margin:0;color:#4f4a43}
@media(max-width:520px){
 .service-manifest .manifest-row{padding-block:18px}
 .service-manifest .manifest-specimen-title{margin-bottom:11px}
 .manifest-record>div{grid-template-columns:72px minmax(0,1fr);gap:12px}
}

/* Each scope divider has equal breathing room on both sides. */
.services-page #scope .service-groups{gap:0}
.services-page #scope .service-group{padding-block:26px}
.services-page #scope .service-group+.service-group{margin-top:0}
@media(max-width:800px){
 .services-page #scope .service-group{padding-block:24px}
}

/* A single introduction leads into two comparable engagements. */
.services-page #scope .service-scope-intro{max-width:790px;margin:0 0 32px}
.services-page #scope .service-scope-intro h2{font:400 36px/42px var(--serif);letter-spacing:-.038em;color:var(--ink);margin:0}
.services-page #scope .service-scope-intro p{font:16px/25px var(--sans);color:var(--body);max-width:680px;margin:16px 0 0}
.services-page #scope .service-engagements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto 1fr;column-gap:18px;row-gap:0;margin:0 0 32px}
.services-page #scope .service-engagement{display:grid;grid-row:span 3;grid-template-rows:subgrid;align-content:start;min-width:0;padding:28px;border:1px solid rgba(255,255,255,.8);border-radius:13px;background:rgba(255,255,255,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.services-page #scope .service-engagement-label{display:block;font:400 12px/18px var(--mono);letter-spacing:.035em;text-transform:uppercase;color:var(--accent);margin:0 0 17px}
.services-page #scope .service-engagement h3{font:400 27px/33px var(--serif);letter-spacing:-.028em;margin:0 0 13px;color:var(--ink)}
.services-page #scope .service-engagement p{font:16px/25px var(--sans);color:var(--body);margin:0;max-width:490px}
.services-page #scope .service-engagements+.service-groups{border-top:1px solid var(--line)}
@media(max-width:1000px){
 .services-page #scope .service-engagement{padding:24px}
 .services-page #scope .service-engagement h3{font-size:25px;line-height:31px}
}
@media(max-width:760px){
 .services-page #scope .service-scope-intro{margin-bottom:26px}
 .services-page #scope .service-engagements{grid-template-columns:1fr;grid-template-rows:none;gap:14px;margin-bottom:26px}
 .services-page #scope .service-engagement{display:block;grid-row:auto}
 .services-page #scope .service-engagement-label{margin-bottom:14px}
 .services-page #scope .service-engagement h3{margin-bottom:12px}
 .services-page #scope .service-engagement p{max-width:620px}
}
@media(max-width:520px){
 .services-page #scope .service-scope-intro h2{font-size:33px;line-height:39px}
 .services-page #scope .service-engagement{padding:23px}
}

/* On phones the code is an atmosphere behind the introduction, not a second screen. */
@media(max-width:640px) {
 .services-page .services-hero {position:relative;isolation:isolate;display:block;overflow:hidden;padding:190px 0 52px;}
 .services-page .services-hero>div:first-child {position:relative;z-index:2;}
 .services-page .services-hero>.services-code-rain {position:absolute;z-index:0;inset:134px -18px 6px;width:auto;max-width:none;height:auto;margin:0;opacity:.38;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 79%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 79%,transparent);}
 .services-page .services-hero h1,.services-page .services-hero .services-intro {text-shadow:0 1px 10px #f5f3f0,0 0 5px #f5f3f0;}
 .services-page .services-hero .eyebrow {margin-bottom:21px;}
 .services-page .services-hero .hero-actions {margin-top:28px;gap:0;}
 .services-page .services-hero .hero-actions .text-link {background:#f5f3f0c9;}
}
