:root{--bg:#090a0b;--fg:#f1eee9;--muted:#a3a6a7;--red:#df3035;--line:#303235}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.services-nav{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #262829;background:rgba(9,10,11,.94)}.services-brand{display:flex;align-items:center}.services-brand img{width:180px;max-height:55px;object-fit:contain}.services-nav nav{display:flex;gap:35px;align-items:center;font-size:12px}.services-nav nav a{opacity:.7;transition:opacity .2s}.services-nav nav a:hover,.services-nav nav a[aria-current]{opacity:1}.nav-back{border:1px solid #6b6b6b;padding:12px 17px;border-radius:30px}.services-main{overflow:hidden}.services-intro{padding:100px 6vw 90px;display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:end;min-height:490px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:#a7a9a9;margin:0 0 26px}.eyebrow:before{content:'';display:inline-block;background:var(--red);width:22px;height:2px;vertical-align:middle;margin-right:14px}.services-intro h1{font-size:clamp(68px,8.4vw,148px);letter-spacing:-.085em;line-height:.85;margin:0;font-weight:700}.services-intro h1 em{font-style:normal;color:var(--red)}.services-intro>p{font-size:clamp(16px,1.3vw,20px);color:#a8aaab;line-height:1.75;max-width:540px;margin:0 0 9px}.service-editorial{display:grid;grid-template-columns:46% 54%;min-height:610px;border-top:1px solid var(--line);isolation:isolate}.service-editorial:last-of-type{border-bottom:1px solid var(--line)}.service-text{padding:clamp(65px,8vw,145px) 6vw 75px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative}.service-num{color:var(--red);font-size:11px;letter-spacing:.17em;margin-bottom:32px}.service-text h2{font-size:clamp(46px,5.1vw,92px);line-height:.95;letter-spacing:-.075em;margin:0 0 31px;font-weight:700;max-width:620px}.service-text>p{font-size:clamp(15px,1.2vw,18px);line-height:1.78;color:#b3b5b6;max-width:500px;margin:0}.service-line{width:64px;height:2px;background:var(--red);margin-top:39px}.service-visual{min-height:610px;overflow:hidden;position:relative;background:#151719}.service-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:grayscale(.88) contrast(1.12) brightness(.8);transition:filter .6s ease,transform 1s ease}.service-editorial:hover .service-visual img{filter:grayscale(.5) contrast(1.08) brightness(.92);transform:scale(1.035)}.service-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,11,.22),transparent 35%),linear-gradient(0deg,rgba(9,10,11,.3),transparent 55%);pointer-events:none}.service-visual span{position:absolute;bottom:27px;right:32px;z-index:2;font-size:10px;letter-spacing:.18em;color:#eee}.service-editorial.reverse .service-visual{grid-column:1;grid-row:1}.service-editorial.reverse .service-text{grid-column:2;grid-row:1}.services-footer{padding:110px 6vw 125px;display:flex;align-items:end;justify-content:space-between;gap:50px}.services-footer h2{font-size:clamp(48px,6.5vw,110px);line-height:.93;letter-spacing:-.075em;margin:0}.services-footer p{max-width:450px;color:#aeb0b0;line-height:1.75}.services-footer a{display:inline-block;border-bottom:1px solid var(--red);padding-bottom:10px;font-size:13px;margin-top:20px}.foot{padding:35px 6vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#7f8385}@media(max-width:900px){.services-intro{grid-template-columns:1fr;min-height:0;gap:40px;padding-top:85px}.service-editorial,.service-editorial.reverse{display:flex;flex-direction:column}.service-text{padding:70px 6vw}.service-visual{min-height:0;height:65vw;max-height:570px;order:2}.service-visual img{position:absolute}.services-footer{align-items:flex-start;flex-direction:column}.services-nav nav{gap:16px}}@media(max-width:560px){.services-nav{height:72px}.services-brand img{width:140px}.services-nav nav a:not(.nav-back){display:none}.services-intro{padding:76px 6vw 60px}.services-intro h1{font-size:clamp(59px,14vw,90px)}.service-text h2{font-size:clamp(46px,11vw,68px)}.service-visual{height:78vw}.services-footer{padding:85px 6vw}.foot{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-visual img{transition:none}.service-editorial:hover .service-visual img{transform:none}}
/* Editorial service links */
.service-detail-link{display:inline-block;margin-top:25px;padding-bottom:8px;border-bottom:1px solid var(--red);color:#e8e9e9;font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1.5;transition:color .2s,border-color .2s}
.service-detail-link:hover{color:#fff;border-color:#fff}
.service-text .service-line{margin-top:24px}

/* Scroll-driven image parallax — photos stay clipped inside their editorial frames. */
.service-visual img{inset:-52px 0;width:100%;height:calc(100% + 104px);transform:translate3d(0,var(--service-parallax,0px),0) scale(1.015);will-change:transform}
.service-editorial:hover .service-visual img{transform:translate3d(0,var(--service-parallax,0px),0) scale(1.04)}
.service-text>p{max-width:545px;line-height:1.7}
@media(max-width:900px){.service-visual img{inset:-34px 0;height:calc(100% + 68px)}}
@media(prefers-reduced-motion:reduce){.service-visual img,.service-editorial:hover .service-visual img{transform:none;will-change:auto}}

/* Text-only parallax: photos remain completely static. */
.service-visual img,.service-editorial:hover .service-visual img{inset:0;width:100%;height:100%;transform:none!important;will-change:auto}
.service-text>h2,.service-text>p,.service-text>.service-num,.service-text>.service-line{transform:translate3d(0,var(--service-text-parallax,0px),0);will-change:transform}
@media(prefers-reduced-motion:reduce){.service-text>h2,.service-text>p,.service-text>.service-num,.service-text>.service-line{transform:none;will-change:auto}}

/* Strong, clearly visible editorial typography parallax. */
.service-text{overflow:visible}
.service-text>h2,.service-text>p,.service-text>.service-num,.service-text>.service-line{transition:none!important}
@media(max-width:900px){.service-text{padding-top:105px;padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.service-text>h2,.service-text>p,.service-text>.service-num,.service-text>.service-line{transform:none!important}}

/* True line-by-line text parallax, independently staggered lines. */
.service-text>h2,.service-text>p{transform:none!important;will-change:auto!important}
.service-text .pf-parallax-line{display:block;transform:translate3d(0,calc(var(--service-text-parallax,0px) * (1 + var(--line-index) * .26)),0);will-change:transform}
.service-text .pf-measure-word{display:inline}
@media(prefers-reduced-motion:reduce){.service-text .pf-parallax-line{transform:none!important;will-change:auto!important}}

/* Restore paragraph-level parallax: one movement per text block. */
.service-text>h2,.service-text>p{transform:translate3d(0,var(--service-text-parallax,0px),0)!important;will-change:transform!important}
@media(prefers-reduced-motion:reduce){.service-text>h2,.service-text>p{transform:none!important;will-change:auto!important}}

/* Keep long Greek service headings within their text column. */
.service-text{min-width:0}
.service-text h2{font-size:clamp(36px,4.3vw,82px);max-width:100%;overflow-wrap:anywhere}
@media(max-width:900px){
 .service-text{padding-top:70px;padding-bottom:70px}
 .service-text h2{font-size:clamp(34px,9.5vw,62px)}
 .service-text>h2,.service-text>p,.service-text>.service-num,.service-text>.service-line{transform:none!important;will-change:auto!important}
}

/* Give Greek accents room and make the opening useful without another CTA. */
.services-intro{align-items:center;gap:6vw}
.services-intro h1{line-height:1.02;letter-spacing:-.065em}
.services-intro-aside>p{font-size:clamp(16px,1.3vw,20px);color:#a8aaab;line-height:1.75;max-width:540px;margin:0 0 32px}
.services-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.services-directory a{display:grid;grid-template-columns:20px 1fr 16px;align-items:center;gap:8px;min-height:62px;padding:14px 0;border-top:1px solid #303235;font-size:12px;line-height:1.5;color:#d1d2d2}
.directory-number{font-size:9px;color:#737779;font-variant-numeric:tabular-nums}
.directory-arrow{color:#b8292f;font-size:16px}
.services-directory a:hover{color:#fff;border-color:#737779}
.service-editorial{scroll-margin-top:100px}
@media(max-width:900px){.services-intro{gap:36px}.services-intro-aside>p{max-width:60ch}}
@media(max-width:560px){.services-directory{grid-template-columns:1fr;gap:0}.services-directory a{min-height:48px}.services-intro h1{line-height:1.04}}

/* Closing statement: a quiet, wide subtitle beneath the headline. */
.services-footer{display:block}
.services-footer>div+div{margin-top:28px}
.services-footer>div+div>p{max-width:1000px;margin:0;color:#919597;font-size:clamp(13px,1.05vw,16px);line-height:1.8;letter-spacing:.015em}
@media(max-width:560px){.services-footer>div+div{margin-top:24px}.services-footer>div+div>p{max-width:42ch;line-height:1.75}}

/* A lighter closing panel and a tighter contact footer on the services page. */
.services-footer{background:#e7e3dc;color:#17191a;padding:76px 6vw 80px;border-top:1px solid #c8c4bd}
.services-footer .eyebrow{color:#626663}
.services-footer h2{font-size:clamp(46px,5.7vw,94px);line-height:1.02}
.services-footer>div+div>p{color:#5b605e}
body:has(.services-main) .pf-global-footer{padding-top:64px}
body:has(.services-main) .pf-footer-top{padding-bottom:34px}
body:has(.services-main) .pf-footer-grid{padding:32px 0 38px}
@media(max-width:560px){
 .services-footer{padding:56px 6vw 60px}
 body:has(.services-main) .pf-global-footer{padding-top:48px}
 body:has(.services-main) .pf-footer-grid{gap:22px;padding-bottom:28px}
}

/* Align the service directory with the full height of the opening title. */
@media(min-width:901px){
 .services-intro{align-items:stretch}
 .services-intro-aside{display:flex;flex-direction:column;padding-top:38px;min-width:0}
 .services-intro-aside>p{margin-bottom:24px}
 .services-directory{flex:1;grid-auto-rows:1fr}
 .services-directory a{min-height:56px;font-size:clamp(13px,1.08vw,16px);padding:14px 0}
 .directory-number{font-size:10px}
 .directory-arrow{font-size:18px}
}

/* Audit contrast fixes */
.directory-number{color:#9b9ea0}.service-num{color:#f05b60}
