/* Refinements extend the established Purity type, colour and portrait treatment. */
.skip-link{position:fixed;left:16px;top:12px;z-index:50;padding:10px 16px;background:#fff;color:#111;transform:translateY(-160%)}
.skip-link:focus{transform:none}
nav{gap:24px}.builder-nav{border-bottom:2px solid var(--red);padding:9px 0}
.finish-studies{background:#e8e5df}.finish-studies .section-intro{margin-bottom:46px}
.finish-intro{max-width:390px}.finish-intro p{max-width:none}.finish-intro .study-note{font-size:11px;line-height:1.65;margin-top:15px;color:#64615d}
.finish-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.finish-card{margin:0;min-width:0}.finish-card:nth-child(2){margin-top:60px}
.finish-open{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#d8d4cc;isolation:isolate}
.finish-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.finish-open:hover img{transform:scale(1.035)}
.zoom-mark{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff90;background:#111a;color:#fff;font-size:23px;line-height:1;transition:background .2s}
.finish-open:hover .zoom-mark{background:var(--red)}
.finish-card figcaption{padding:23px 0 0;border-top:3px solid var(--red)}
.finish-card .detail-index{display:block;font-size:10px;letter-spacing:2px;color:#6d514e;margin-bottom:12px}
.finish-card h3{font-size:32px}.finish-card p{font-size:13px;line-height:1.75;color:#55524f;max-width:330px;margin-bottom:0}
.finish-footer{margin-top:44px;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:23px;border-top:1px solid #bcb7af;font-size:12px}
.finish-footer p{margin:0;color:#55524f;max-width:690px}.text-link{font-size:12px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:5px;white-space:nowrap}
.builders{background:#181819;color:white;position:relative;overflow:hidden}
.builders:before{content:'';position:absolute;top:0;left:6vw;right:6vw;height:3px;background:var(--red)}
.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.builder-intro .eyebrow{margin-bottom:23px}.builder-intro h2{font-size:clamp(49px,5.2vw,76px)}
.builder-intro>p{max-width:440px;color:#c2bfb9;font-size:14px;margin:25px 0}.builder-intro .actions{gap:13px}.builder-intro .btn{gap:16px;font-size:11px;padding:14px 20px}
.builder-intro .contact-hint{font-size:12px;color:#b5b1ac;max-width:375px;line-height:1.7;margin-top:20px}
.builder-scopes{display:grid;gap:0}.builder-scope{padding:22px 0;border-top:1px solid #ffffff2b;display:grid;grid-template-columns:35px 1fr;gap:14px}
.builder-scope:first-child{padding-top:0;border-top:0}.builder-scope>span{color:#ee585d;font-size:11px;padding-top:4px}.builder-scope h3{font-size:32px}.builder-scope p{margin:9px 0 0;color:#bdbab5;font-size:13px;max-width:420px}
.builder-facts{display:flex;gap:20px 36px;flex-wrap:wrap;border-top:1px solid #ffffff2b;margin-top:37px;padding-top:27px}.builder-facts span{font-size:12px;color:#d1cdc7}.builder-facts span:before{content:'✓';color:#ee585d;margin-right:10px}
.builder-materials{background:#242425;border-left:2px solid var(--red);padding:18px 22px;margin-top:15px;color:#d1cdc7;font-size:13px}.builder-materials strong{display:block;color:#fff;margin-bottom:5px}
.image-viewer{border:0;padding:0;background:#161616;color:white;width:min(1000px,calc(100vw - 40px));max-height:94svh;overflow:auto;box-shadow:0 20px 100px #0007}
.image-viewer::backdrop{background:#080808e8;backdrop-filter:blur(5px)}
.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;gap:20px;border-bottom:1px solid #fff2}.viewer-top h2{font-size:28px;letter-spacing:0}
.viewer-close{font:600 12px Manrope,Arial,sans-serif;color:#fff;background:transparent;border:1px solid #fff6;min-width:88px;min-height:44px;padding:8px 12px;cursor:pointer}.viewer-close:hover{background:#333}
.viewer-image{display:block;width:100%;height:min(68svh,850px);object-fit:contain;background:#111}.viewer-caption{padding:16px 22px 20px;font-size:12px;line-height:1.65;color:#c2bfb9}.viewer-caption p{margin:0 0 7px}.viewer-caption small{font-size:10px;color:#aaa}
.image-open{overflow:hidden}.finish-open:focus-visible,.viewer-close:focus-visible{outline:3px solid #ee5357;outline-offset:5px}
.viewer-actions{display:flex;gap:10px}.viewer-stage{height:min(68svh,850px);overflow:auto;overscroll-behavior:contain;background:#111}.viewer-stage .viewer-image{height:100%;width:100%;object-fit:contain}.viewer-stage.is-zoomed .viewer-image{width:auto;height:auto;max-width:none;object-fit:initial}.viewer-stage:focus-visible{outline:2px solid #ee5357;outline-offset:-2px}
@media(prefers-reduced-motion:no-preference){
 .is-revealed{animation:purity-arrive .65s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--reveal-delay,0ms)}
 .is-revealed .eyebrow:before,.eyebrow.is-revealed:before{animation:purity-line .8s cubic-bezier(.2,.7,.2,1) both;transform-origin:left}
 @keyframes purity-arrive{from{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
 @keyframes purity-line{from{transform:scaleX(.15)}to{transform:scaleX(1)}}
}
@media(max-width:1000px){nav{gap:17px}.finish-gallery{gap:20px}.builder-grid{gap:5vw}.builder-intro .btn{padding:13px 16px}}
@media(max-width:800px){
 nav{gap:12px}nav a.builder-nav{display:inline-flex;font-size:11px;white-space:nowrap}
 .finish-gallery{gap:16px}.finish-card:nth-child(2){margin-top:35px}.finish-card h3{font-size:26px}.finish-card p{font-size:12px}
 .builder-grid{grid-template-columns:1fr;gap:40px}.builder-intro>p{max-width:600px}.builder-facts{margin-top:26px}.finish-footer{align-items:flex-start}
}
@media(max-width:600px){
 .finish-gallery{grid-template-columns:1fr;gap:35px}.finish-card:nth-child(2){margin-top:0}
 .finish-open{aspect-ratio:5/4}.finish-open img{object-position:center 58%}.finish-card:nth-child(2) img{object-position:center 35%}
 .finish-card figcaption{padding-top:18px}.finish-card p{font-size:13px;max-width:none}.finish-card h3{font-size:31px}
 .finish-studies .section-intro{margin-bottom:28px}.finish-footer{flex-direction:column;gap:18px;margin-top:30px}
 .image-viewer{width:calc(100vw - 20px);max-height:94svh}.viewer-top{padding:12px 16px}.viewer-top h2{font-size:24px}.viewer-image{height:63svh}.viewer-caption{padding:14px 16px}
 .viewer-top{align-items:flex-start;flex-direction:column;gap:12px}.viewer-actions{width:100%;justify-content:flex-end}.viewer-stage{height:55svh}
}
@media(max-width:430px){nav .navcall{display:none}nav .builder-nav{font-size:12px;padding:10px 0}.builder-facts{gap:13px 25px}.builder-facts span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.is-revealed,.eyebrow:before{animation:none!important;transform:none!important}.finish-open img,.zoom-mark,.btn{transition:none!important}.finish-open:hover img{transform:none}}

.hero-services{margin-top:20px;max-width:640px;font-size:11px;line-height:1.8;letter-spacing:.7px;color:#eee}.hero-services span{display:block}.hero-sectors{font-weight:700;margin-top:5px}.hero-copy{padding-bottom:65px}@media(max-width:800px){.hero-copy{padding-bottom:75px}.hero-services{max-width:390px;font-size:11px;letter-spacing:.3px}}
