/* V11 — three-page editorial architecture. Progressive-enhancement motion; never hide core content. */
.ptw-v11{--v11-mid:#151c25;--v11-white:#f4f4f0;--v11-electric:#0757e8;font-family:'DM Sans',Arial,sans-serif}
.ptw-v11 :is(h1,h2,h3){font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-synthesis:none}
.ptw-v11 .site-header{background:rgba(8,12,18,.87);backdrop-filter:blur(17px)}
.ptw-v11 .main-nav{gap:clamp(18px,2.4vw,39px)}
.ptw-v11 .main-nav a{white-space:nowrap}
.ptw-v11 :is(a,button,input,textarea):focus-visible{outline:3px solid #438eff;outline-offset:4px}
.ptw-v11 :is(.v11-menu-item,.v11-path-card,.v11-intro-visual,.v11-work-hero-image){min-width:0}
/* Home: clearer customer journey below existing quote-first hero. */
.ptw-v11-home .v11-proof{padding:37px 0;background:#f0efeb;color:#141b21;border-bottom:1px solid #d7dbdd}
.v11-proof-inner{display:flex;align-items:center;gap:clamp(22px,3.4vw,64px);justify-content:space-between}
.v11-proof-score{display:flex;align-items:center;gap:16px;white-space:nowrap}
.v11-proof-stars{color:#0757e8;letter-spacing:2px;font-size:18px}
.v11-proof-score strong{font-size:clamp(26px,2.3vw,37px);letter-spacing:-.025em;font-weight:650}
.v11-proof-score>span:last-child{font-size:13px;color:#596574}
.v11-proof p{max-width:500px;line-height:1.5;font-size:14px;margin:0;color:#404b55}
.v11-text-link{font-size:13px;font-weight:700;letter-spacing:.025em;padding-bottom:6px;border-bottom:1px solid #25313f;white-space:nowrap}
.v11-text-link:hover{color:#0757e8;border-color:#0757e8}
.v11-home-paths{background:#e9eae8;color:#0f1721;padding:clamp(70px,8vw,128px) 0}
.v11-home-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}
.v11-home-heading h2{font-size:clamp(43px,4.7vw,76px);font-weight:580;line-height:1.06;letter-spacing:-.034em;margin:0}
.v11-home-heading p{max-width:360px;font-size:16px;line-height:1.65;color:#52606b;margin:0}
.v11-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.v11-path-card{display:block;position:relative;isolation:isolate;min-height:clamp(345px,33vw,550px);background:#121a23;overflow:hidden;color:white}
.v11-path-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .7s;filter:saturate(.83)}
.v11-path-card:nth-child(2) img{object-position:50% 35%}
.v11-path-card:hover img,.v11-path-card:focus-visible img{transform:scale(1.047);filter:saturate(.96)}
.v11-path-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,11,18,.88),transparent 75%);z-index:1}
.v11-path-copy{position:absolute;bottom:clamp(20px,2.5vw,44px);left:clamp(20px,3vw,49px);right:25px;z-index:2;display:flex;flex-direction:column;gap:8px}
.v11-path-copy strong{font-size:clamp(28px,3.1vw,51px);letter-spacing:-.028em;font-weight:580;line-height:1.15}
.v11-path-copy>span{font-size:14px;color:#d4d9de}
.v11-home-close{padding:clamp(65px,6.5vw,110px) 0;background:#0850ce;color:white}
.v11-home-close-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}
.v11-home-close h2{font-size:clamp(35px,4.6vw,70px);font-weight:560;letter-spacing:-.03em;margin:0 0 12px}
.v11-home-close p{margin:0;color:#ecf4ff;font-size:16px}
.v11-home-actions{display:flex;gap:10px;flex-wrap:wrap}
/* Dedicated page introduction; actual content is never visibility-gated by JS. */
.v11-page-intro{padding:clamp(128px,13vw,190px) 0 clamp(65px,8vw,125px);background:#101820;color:white;position:relative;overflow:hidden}
.v11-page-intro:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 25%,rgba(4,80,210,.16),transparent 48%);pointer-events:none}
.v11-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.75fr);gap:clamp(50px,8vw,155px);align-items:center;position:relative}
.v11-intro-copy h1,.v11-work-title-block h1{font-size:clamp(53px,6.3vw,105px);font-weight:560;letter-spacing:-.044em;line-height:1.055;margin:0 0 26px;text-wrap:balance}
.v11-intro-copy p,.v11-work-title-block p{font-size:clamp(17px,1.45vw,21px);max-width:620px;color:#c0cbd5;line-height:1.65;margin:0 0 30px}
.v11-intro-visual,.v11-work-hero-image{height:clamp(380px,41vw,610px);overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.13);background:#252c33}
.v11-intro-visual img,.v11-work-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.v11-intro-visual:after,.v11-work-hero-image:after{content:'';inset:0;position:absolute;background:linear-gradient(0deg,rgba(4,12,19,.10),transparent 65%);pointer-events:none}
.v11-enter-left{animation:v11-enter-left 780ms cubic-bezier(.18,.72,.2,1) both}
.v11-enter-right{animation:v11-enter-right 930ms cubic-bezier(.18,.72,.2,1) both}
.v11-intro-copy p.v11-enter-left,.v11-work-title-block p.v11-enter-left{animation-delay:100ms}
.v11-intro-copy a.v11-enter-left,.v11-intro-shortcuts.v11-enter-left{animation-delay:210ms}
@keyframes v11-enter-left{from{opacity:.24;transform:translate3d(-25px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes v11-enter-right{from{opacity:.4;transform:translate3d(26px,0,0) scale(1.02)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
/* Dedicated Services: efficient menu, a single strong booking decision. */
.v11-service-menu{background:#f0efeb;color:#15202b;padding:clamp(65px,7.8vw,120px) 0}
.v11-menu-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-bottom:30px;border-bottom:1px solid #c8cfd3}
.v11-menu-heading h2{font-size:clamp(37px,4.4vw,70px);font-weight:560;letter-spacing:-.035em;line-height:1.06;margin:0}
.v11-menu-heading p{font-size:15px;color:#58616c;max-width:330px;margin:0}
.v11-menu-list{list-style:none;margin:0;padding:0}
.v11-menu-item{display:grid;grid-template-columns:clamp(95px,11vw,170px) minmax(0,1fr);gap:clamp(20px,3vw,54px);align-items:center;padding:clamp(17px,2.0vw,31px) clamp(2px,1.6vw,20px);border-bottom:1px solid #d3d8db;transition:background .3s,padding-left .3s}
.v11-menu-item:hover{background:rgba(255,255,255,.48);padding-left:clamp(10px,2vw,30px)}
.v11-menu-thumb{width:100%;aspect-ratio:1.38;overflow:hidden;background:#b3b6b9}
.v11-menu-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1);filter:saturate(.9)}
.v11-menu-item:hover img{transform:scale(1.06)}
.v11-menu-details{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,66px);align-items:center}
.v11-menu-details h2{font-size:clamp(22px,2.9vw,43px);line-height:1.15;letter-spacing:-.021em;font-weight:560;margin:0;overflow-wrap:break-word}
.v11-menu-details p{max-width:550px;color:#586470;font-size:clamp(14px,1.08vw,17px);line-height:1.6;margin:0}
.v11-menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:clamp(35px,5vw,72px);padding:clamp(27px,4vw,48px);background:#101922;color:#fff}
.v11-menu-bottom strong{font-size:clamp(22px,2.1vw,33px);font-weight:560;letter-spacing:-.012em}
.v11-menu-bottom p{margin:9px 0 0;color:#b9c6d1;font-size:14px}
.v11-menu-bottom .btn{white-space:nowrap}
.v11-service-question{background:#0a55e0;color:#fff;padding:clamp(70px,7vw,110px) 0}
.v11-service-question-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}
.v11-service-question h2{font-size:clamp(35px,4.2vw,70px);font-weight:540;letter-spacing:-.027em;margin:0 0 10px}
.v11-service-question p{font-size:16px;max-width:620px;color:#e6efff;margin:0}
/* Work & Reviews — hero, lightbox gallery, reputation naturally grouped. */
.v11-work-intro{padding-bottom:76px}
.v11-work-intro-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(35px,7vw,115px);align-items:center;position:relative}
.v11-work-title-block h1{font-size:clamp(53px,6.2vw,98px);max-width:950px}
.v11-work-title-block p{max-width:560px}
.v11-intro-shortcuts{display:flex;flex-wrap:wrap;gap:26px}
.v11-intro-shortcuts a{font-size:14px;font-weight:650;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.65)}
.v11-intro-shortcuts a:hover{color:#7fb0ff;border-color:#7fb0ff}
.ptw-v11-work .work{padding-top:clamp(64px,7vw,105px);padding-bottom:clamp(70px,8vw,120px)}
.ptw-v11-work .work-head h2{font-size:clamp(39px,5vw,79px)}
.ptw-v11-work .reputation{background:#e7e8e5}
.v11-work-close{background:#111a23;padding:clamp(60px,7vw,110px) 0;color:#fff}
.v11-work-close-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.v11-work-close h2{font-weight:560;font-size:clamp(35px,4.2vw,67px);letter-spacing:-.023em;margin:0 0 8px}
.v11-work-close p{color:#bac5d0;max-width:540px;margin:0;font-size:16px}
.v11-work-actions{display:flex;gap:10px;flex-wrap:wrap}
.ptw-v11-work #work,.ptw-v11-work #reviews{scroll-margin-top:86px}
@media(max-width:1250px){.v11-proof-inner{flex-wrap:wrap;gap:14px 22px}.v11-proof p{flex:1 1 340px}.v11-text-link{margin-left:auto}}
@media(max-width:900px){
 .v11-page-intro{padding-top:120px}
 .v11-intro-grid,.v11-work-intro-inner{grid-template-columns:1fr 1fr;gap:25px}
 .v11-intro-copy h1,.v11-work-title-block h1{font-size:clamp(42px,6.5vw,66px)}
 .v11-intro-visual,.v11-work-hero-image{height:clamp(320px,43vw,460px)}
 .v11-menu-details{grid-template-columns:1fr;gap:9px}
 .v11-menu-details h2{font-size:clamp(23px,3.2vw,38px)}
 .v11-menu-item{grid-template-columns:130px 1fr}
 .v11-home-close-inner,.v11-service-question-inner,.v11-work-close-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
 .ptw-v11-home .v11-proof{padding:23px 0}
 .v11-proof-inner{display:grid;gap:12px}
 .v11-proof-score{flex-wrap:wrap;gap:9px 13px}
 .v11-proof p{font-size:13px}
 .v11-text-link{justify-self:start;margin-left:0}
 .v11-home-heading{display:block}
 .v11-home-heading h2{font-size:clamp(37px,10vw,55px);margin-bottom:12px}
 .v11-home-heading p{font-size:15px}
 .v11-path-grid{grid-template-columns:1fr}
 .v11-path-card{min-height:340px}
 .v11-home-actions,.v11-work-actions{width:100%}
 .v11-home-actions>.btn,.v11-work-actions>.btn{flex:1 1 42%;padding-inline:13px}
 .v11-page-intro{padding:106px 0 54px}
 .v11-intro-grid,.v11-work-intro-inner{grid-template-columns:1fr;gap:28px}
 .v11-intro-copy h1,.v11-work-title-block h1{font-size:clamp(40px,10.5vw,60px);letter-spacing:-.032em;margin-bottom:15px}
 .v11-intro-copy p,.v11-work-title-block p{font-size:16px;margin-bottom:23px}
 .v11-intro-visual,.v11-work-hero-image{height:300px}
 .v11-menu-heading{display:block}
 .v11-menu-heading h2{font-size:clamp(33px,8.7vw,49px);margin-bottom:8px}
 .v11-menu-item{grid-template-columns:clamp(88px,26vw,120px) minmax(0,1fr);gap:15px;padding:19px 0}
 .v11-menu-item:hover{padding-left:0}
 .v11-menu-details{gap:5px}
 .v11-menu-details h2{font-size:clamp(20px,5.3vw,27px)}
 .v11-menu-details p{font-size:13px;line-height:1.5}
 .v11-menu-bottom{display:block;padding:25px 23px}
 .v11-menu-bottom .btn{margin-top:20px}
 .v11-service-question-inner{gap:26px}
 .v11-work-intro{padding-bottom:53px}
 .ptw-v11-work .work{padding-top:50px}
 .v11-work-intro-inner{gap:24px}
 .v11-work-title-block h1{font-size:clamp(40px,10vw,57px)}
 .v11-work-hero-image{height:315px}
}
@media(max-width:359px){.v11-menu-item{grid-template-columns:81px 1fr;gap:10px}.v11-menu-details h2{font-size:19px}.v11-menu-details p{font-size:12px}.v11-proof-score>span:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){.v11-enter-left,.v11-enter-right{animation:none!important}.v11-path-card img,.v11-menu-thumb img,.v11-menu-item{transition:none!important}}

/* Small optional tint explainer keeps service menu concise. */
.v11-tint-note{margin-top:24px;padding:0 0 20px;border-bottom:1px solid #c8cfd3;color:#1d2934}
.v11-tint-note summary{cursor:pointer;font-size:15px;font-weight:650;padding:13px 0;list-style:none}
.v11-tint-note summary::-webkit-details-marker{display:none}
.v11-tint-note summary::after{content:'+';float:right;font-size:22px;font-weight:400;line-height:20px}
.v11-tint-note[open] summary::after{content:'−'}
.v11-tint-note p{max-width:890px;font-size:14px;color:#53606c;line-height:1.7;margin:6px 0 0}
