/* Service pages: product-led composition and a concrete scope, not a wall of copy. */
/* Sticky cards must stay opaque while crossing, including during fast scroll. */
.ap-reveal-ready .ap-service-card[data-reveal]{opacity:1;transform:none;transition:none}
.ap-service-page .ap-page-hero{padding-bottom:55px}
.ap-service-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center}
.ap-service-page .ap-service-hero-copy h1{font-size:clamp(60px,6vw,86px);line-height:1.04;letter-spacing:-.055em;margin:0 0 26px}
.ap-service-hero-copy h1 em{font-style:normal;color:#937252}
[data-theme="dark"] .ap-service-hero-copy h1 em{color:#d8c0a2}
.ap-service-page .ap-service-hero-copy .ap-page-intro{font-size:18px;line-height:1.75;max-width:520px;margin:0 0 30px}
.ap-service-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.ap-service-actions .ap-button{font-size:13px;min-height:52px}
.ap-service-actions .ap-text-link{font-size:12px;gap:17px}
.ap-service-assurances{display:flex;gap:15px 22px;list-style:none;padding:0;margin:30px 0 0;flex-wrap:wrap;color:var(--ap-detail);font-size:10px}
.ap-service-assurances li{display:flex;gap:7px;align-items:center}
.ap-service-assurances li:before{content:"";display:block;width:4px;height:4px;border-radius:50%;background:#af987c}
.ap-service-stage{position:relative;min-width:0;height:510px;isolation:isolate;border-radius:32px;background:radial-gradient(ellipse at 50% 37%,#e3d9cc,#eeeae455 65%,transparent 90%);display:flex;justify-content:center;align-items:flex-start;overflow:hidden}
[data-theme="dark"] .ap-service-stage{background:radial-gradient(ellipse at 50% 37%,#69544066,#28272533 66%,transparent 90%)}
.ap-service-stage-orbit{position:absolute;inset:50px 25px 52px;border:1px solid #9d887629;border-radius:50%;z-index:-1;transform:rotate(-20deg) scaleX(.9)}
.ap-service-stage-label{position:absolute;left:0;right:0;top:28px;text-align:center;font-family:"Plex Mono",monospace;font-size:7px;letter-spacing:.16em;color:var(--ap-detail)}
.ap-service-sculpture{position:absolute;top:12px;width:330px;height:330px;max-width:90%;object-fit:contain;filter:drop-shadow(0 25px 22px #4c35172b);z-index:2}
.ap-service-stage-card{position:absolute;bottom:38px;width:86%;border:1px solid #fff8;border-radius:18px;padding:25px 27px;background:linear-gradient(135deg,#ffffffa8,#ffffff60);box-shadow:0 18px 50px #51453112,inset 0 1px 0 #fff;backdrop-filter:blur(14px);z-index:1}
[data-theme="dark"] .ap-service-stage-card{background:linear-gradient(135deg,#49433a8a,#2423219c);border-color:#e3d6c138;box-shadow:0 20px 50px #0003,inset 0 1px 0 #fff3}
.ap-service-stage-card>.ap-section-label{font-size:7px;margin:0 0 11px}
.ap-service-stage-card>p{font-size:22px;line-height:1.2;letter-spacing:-.025em;color:var(--ap-ink);max-width:300px;margin:0 0 19px}
.ap-service-stage-card>div{display:flex;gap:6px;flex-wrap:wrap}
.ap-service-stage-card>div>span{font-size:8px;padding:6px 9px;border:1px solid var(--ap-border);border-radius:30px;color:var(--ap-muted);background:var(--ap-surface)}
.ap-service-stage-note{position:absolute;bottom:9px;font-family:"Plex Mono",monospace;font-size:6px;letter-spacing:.14em;color:var(--ap-detail)}
.ap-service-section-nav{display:flex;gap:35px;align-items:center;border-block:1px solid var(--ap-line);overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.ap-service-section-nav a{display:inline-flex;align-items:center;min-height:60px;font-size:12px;color:var(--ap-muted)}
.ap-service-section-nav a:hover{color:var(--ap-ink)}
.ap-service-page :is(#scope,#handover,#working-together,#next-step){scroll-margin-top:35px}
.ap-service-scope{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px}
.ap-service-section-heading h2{font-size:clamp(34px,3.8vw,54px);max-width:450px;margin:0 0 28px}
.ap-service-overview{max-width:440px}
.ap-service-overview p{font-size:15px;line-height:1.9;margin:0 0 20px}
.ap-service-build-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ap-line)}
.ap-service-build-list li{display:grid;grid-template-columns:32px 1fr;gap:20px;align-items:start;border-bottom:1px solid var(--ap-line);padding:24px 0}
.ap-service-build-list li>span{font-family:"Plex Mono",monospace;font-size:9px;color:var(--ap-detail);padding-top:5px}
.ap-service-build-list h3{font-size:20px;line-height:1.35;font-weight:400;letter-spacing:-.015em;margin:0}
.ap-service-handover{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding:65px!important;border:1px solid #a1917d40;border-radius:28px;background:radial-gradient(ellipse at 0% 100%,#8c735432,transparent 65%),#171819;color:#eee;overflow:hidden}
.ap-service-handover .ap-section-label{color:#bfb6aa}
.ap-service-handover h2{color:#f1eee9;font-size:45px;line-height:1.1;margin:0 0 22px;max-width:450px}
.ap-service-handover p{color:#bfbcb8;max-width:410px;font-size:15px;line-height:1.8;margin:0}
.ap-service-handover img{width:230px;height:175px;object-fit:contain;display:block;margin:24px 0 -10px;filter:grayscale(1) drop-shadow(0 15px 20px #0003)}
.ap-service-handover ul{list-style:none;margin:0 0 26px;padding:0}
.ap-service-handover li{display:flex;gap:18px;border-bottom:1px solid #ffffff24;padding:18px 0;font-size:15px;line-height:1.6;color:#e5e1db}
.ap-service-handover li>span{color:#c5ac89;flex:none}
.ap-service-handover .ap-service-contract-note{font-size:11px;color:#b8b3ac;margin:0 0 24px}
.ap-service-handover .ap-text-link{color:#f0e2cf;font-size:12px;gap:18px}
.ap-service-rhythm{display:grid;grid-template-columns:1fr 1fr;gap:105px}
.ap-service-rhythm h2{margin:0 0 27px;font-size:46px}
.ap-service-rhythm .ap-text-link{font-size:12px}
.ap-service-rhythm article{padding:0 0 27px;border-bottom:1px solid var(--ap-line);margin-bottom:28px}
.ap-service-rhythm article:last-child{margin:0;padding-bottom:0;border:0}
.ap-service-rhythm article>span{font-family:"Plex Mono",monospace;font-size:8px;letter-spacing:.06em;color:var(--ap-detail)}
.ap-service-rhythm article h3{font-size:25px;font-weight:400;margin:18px 0 15px}
.ap-service-rhythm article p{font-size:15px;line-height:1.9;margin:0}
.ap-service-project{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center;padding-bottom:40px}
.ap-service-project-image{display:block;border-radius:20px;overflow:hidden;border:1px solid var(--ap-border);background:#131719}
.ap-service-project-image img{display:block;width:100%;aspect-ratio:16/11;object-fit:cover;object-position:center top;transition:transform .6s}
.ap-service-project-image:hover img{transform:scale(1.03)}
.ap-service-project h2{font-size:50px;margin:0 0 22px}
.ap-service-project p{font-size:15px;line-height:1.8;margin:0 0 24px}
.ap-service-project .ap-text-link{font-size:13px}
.ap-service-project small{font-size:9px;display:block;color:var(--ap-detail);margin-top:22px}
.ap-service-next{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start;padding:65px 0 85px;border-top:1px solid var(--ap-line)}
.ap-service-next h2{font-size:48px;margin:0 0 24px}
.ap-service-next>div>p:not(.ap-section-label){font-size:15px;line-height:1.8;max-width:420px;margin:0 0 29px}
.ap-service-next .ap-button{font-size:13px}
.ap-service-next nav>a{display:grid;grid-template-columns:25px minmax(0,1fr) 20px;gap:15px;align-items:center;min-height:62px;border-top:1px solid var(--ap-line);font-size:15px}
.ap-service-next nav>a:last-child{border-bottom:1px solid var(--ap-line)}
.ap-service-next nav>a>span:first-child{font-family:"Plex Mono",monospace;font-size:8px;color:var(--ap-detail)}
.ap-service-next nav>a>span:last-child{font-size:20px}
@media(max-width:1100px){.ap-service-hero-grid{gap:35px}.ap-service-page .ap-service-hero-copy h1{font-size:67px}.ap-service-stage{height:470px}.ap-service-sculpture{width:310px;height:310px}.ap-service-stage-card{padding:22px}.ap-service-stage-card>p{font-size:21px}.ap-service-scope{gap:60px}.ap-service-handover{padding:45px!important;gap:50px}.ap-service-rhythm,.ap-service-next{gap:55px}.ap-service-project{gap:40px}.ap-service-handover h2{font-size:38px}}
@media(max-width:850px){.ap-service-hero-grid{grid-template-columns:1fr;gap:35px}.ap-service-hero-copy{max-width:650px}.ap-service-stage{max-width:550px;width:100%;height:475px;justify-self:center}.ap-service-sculpture{width:330px;height:330px}.ap-service-page .ap-service-hero-copy h1{font-size:76px}.ap-service-scope{gap:40px}.ap-service-handover{gap:35px;padding:35px!important}.ap-service-handover h2{font-size:35px}.ap-service-rhythm h2{font-size:36px}.ap-service-next h2{font-size:39px}.ap-service-next{gap:45px}.ap-service-project{grid-template-columns:1.2fr 1fr;gap:30px}.ap-service-project h2{font-size:40px}}
@media(max-width:680px){
 .ap-service-page .ap-page-hero{padding-top:128px;padding-bottom:35px}.ap-service-page .ap-breadcrumb{margin-bottom:28px}
 .ap-service-page .ap-service-hero-copy h1{font-size:clamp(49px,12.8vw,76px);line-height:1.06;margin-bottom:24px}.ap-service-page .ap-service-hero-copy .ap-page-intro{font-size:16px;line-height:1.8;margin-bottom:26px}
 .ap-service-actions{gap:18px 23px}.ap-service-actions .ap-button{font-size:12px;min-height:49px}.ap-service-actions .ap-text-link{font-size:11px;min-height:44px}.ap-service-assurances{gap:12px 16px;font-size:9px;margin-top:22px}
 .ap-service-stage{height:410px;border-radius:24px}.ap-service-sculpture{width:260px;height:260px;top:8px}.ap-service-stage-label{font-size:6px;top:24px}.ap-service-stage-card{bottom:27px;width:92%;padding:22px}.ap-service-stage-card>p{font-size:22px;max-width:270px}.ap-service-stage-card>div>span{font-size:8px}.ap-service-stage-note{font-size:5px;bottom:2px}
 .ap-service-section-nav{gap:26px}.ap-service-section-nav a{font-size:11px;min-height:55px}
 .ap-service-scope{grid-template-columns:1fr;gap:31px}.ap-service-section-heading h2{font-size:37px;margin-bottom:24px}.ap-service-overview p{font-size:15px;line-height:1.85}.ap-service-build-list li{gap:13px;padding:21px 0;grid-template-columns:25px 1fr}.ap-service-build-list h3{font-size:19px;line-height:1.4}
 .ap-service-handover{grid-template-columns:1fr;padding:29px 25px!important;gap:24px;border-radius:22px}.ap-service-handover h2{font-size:35px}.ap-service-handover p{font-size:14px}.ap-service-handover img{width:180px;height:125px;margin:19px 0 -3px}.ap-service-handover li{font-size:14px;padding:17px 0}.ap-service-handover .ap-service-contract-note{font-size:10px;line-height:1.8}
 .ap-service-rhythm{grid-template-columns:1fr;gap:32px}.ap-service-rhythm h2{font-size:36px;margin-bottom:22px}.ap-service-rhythm article h3{font-size:25px}.ap-service-rhythm article p{font-size:14px}
 .ap-service-project{grid-template-columns:1fr;gap:27px;padding-bottom:15px}.ap-service-project-image{border-radius:16px}.ap-service-project-image img{aspect-ratio:16/10}.ap-service-project h2{font-size:41px}.ap-service-project p{font-size:14px}.ap-service-project small{font-size:9px;line-height:1.6}
 .ap-service-next{grid-template-columns:1fr;gap:43px;padding:45px 0 55px}.ap-service-next h2{font-size:39px}.ap-service-next>div>p:not(.ap-section-label){font-size:14px}.ap-service-next nav>a{font-size:14px;min-height:60px}
}
@media(max-width:360px){.ap-service-page .ap-service-hero-copy h1{font-size:46px}.ap-service-page .ap-service-hero-copy .ap-page-intro{font-size:15px}.ap-service-stage{height:380px}.ap-service-sculpture{width:260px;height:260px}.ap-service-stage-card{padding:20px}.ap-service-stage-card>p{font-size:20px}.ap-service-stage-card>div>span{font-size:7px;padding:6px 8px}.ap-service-assurances{font-size:8px;gap:12px}.ap-service-handover{padding:26px 22px!important}.ap-service-handover h2{font-size:32px}.ap-service-next h2{font-size:35px}}
/* Service depth stays in one calm editorial split, with contextual questions. */
.ap-detail-insight{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:100px;border-top:1px solid var(--ap-line)}
.ap-detail-insight .ap-reading h2{font-size:clamp(29px,3.2vw,45px);line-height:1.14;letter-spacing:-.045em;margin-top:18px;margin-bottom:32px}
.ap-detail-insight .ap-reading p:not(.ap-section-label){font-size:16px;line-height:1.85;color:var(--ap-muted)}
.ap-detail-insight>.ap-faq-list{align-self:start;padding-top:5px}
@media(max-width:900px){.ap-detail-insight{gap:45px;grid-template-columns:1fr}.ap-detail-insight .ap-reading p:not(.ap-section-label){font-size:15px}}

.ap-detail-insight .ap-reading>.ap-section-label{font:8px "Plex Mono",monospace;letter-spacing:.14em;color:var(--ap-detail)}
