/* V11.1 — interactive Services selector and full-image, scroll-stacked gallery.
   Independent from previous components. Content visible by default. */
.ptw-service-experience{padding:clamp(58px,6.9vw,108px) 0 clamp(76px,8vw,124px);background:#ecece8;color:#111b26;position:relative;isolation:isolate}
.ptw-service-experience::before{content:"";position:absolute;inset:0 0 auto;height:34rem;pointer-events:none;background:radial-gradient(ellipse at 93% 4%,rgba(6,82,205,.075),transparent 58%);z-index:-1}
.ptw-experience-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(30px,4vw,56px)}
.ptw-experience-head h2{font-size:clamp(36px,5vw,76px);font-weight:570;line-height:1.06;letter-spacing:-.035em;margin:0;color:#111b25}
.ptw-experience-head p{font-size:clamp(14px,1.2vw,17px);max-width:350px;line-height:1.6;margin:0;color:#596472}
.ptw-service-tabs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scroll-padding:0 12px;padding:0 0 16px;border-bottom:1px solid #c6cfd5;-webkit-overflow-scrolling:touch}
.ptw-service-tabs::-webkit-scrollbar{height:3px}
.ptw-service-tabs::-webkit-scrollbar-thumb{background:#aab7c7}
.ptw-service-tab{flex:1 0 auto;min-height:51px;padding:12px clamp(13px,1.5vw,26px);font:650 clamp(13px,1.05vw,16px)/1.2 'DM Sans',Arial,sans-serif;white-space:nowrap;letter-spacing:.005em;color:#485566;background:transparent;border:1px solid transparent;cursor:pointer;scroll-snap-align:start;position:relative;transition:background-color .24s,color .24s,border-color .24s}
.ptw-service-tab::after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:3px;background:#0757e8;transform:scaleX(0);transform-origin:center;transition:transform .36s cubic-bezier(.22,1,.36,1)}
.ptw-service-tab:hover{color:#102233;background:rgba(255,255,255,.52)}
.ptw-service-tab[aria-selected="true"]{color:#0a2a5d;background:rgba(255,255,255,.68);border-color:#ced8e4}
.ptw-service-tab[aria-selected="true"]::after{transform:scaleX(1)}
.ptw-service-tab:focus-visible{outline:3px solid #0757e8;outline-offset:-3px}
.ptw-service-panels{margin-top:clamp(22px,2.5vw,34px)}
.ptw-service-panel{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);background:#101a26;color:white;min-height:clamp(400px,39vw,560px);overflow:hidden;isolation:isolate;border:1px solid #243442}
.ptw-service-panel[hidden]{display:none!important}
.ptw-panel-image{min-height:100%;position:relative;overflow:hidden;background:#172333}
.ptw-panel-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 72%,rgba(10,19,31,.19));}
.ptw-panel-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 45%;filter:saturate(.86);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.ptw-service-panel:hover .ptw-panel-image img{transform:scale(1.025)}
.ptw-panel-content{display:flex;align-items:center;position:relative;background:radial-gradient(ellipse at 100% 0%,rgba(7,87,232,.14),transparent 60%),#111a25;padding:clamp(28px,4.5vw,76px)}
.ptw-panel-inner{max-width:490px}
.ptw-panel-inner h3{margin:0 0 clamp(14px,2.1vw,30px);font:570 clamp(36px,4.6vw,72px)/1.08 'Archivo','Helvetica Neue',Arial,sans-serif;letter-spacing:-.035em;text-wrap:balance}
.ptw-panel-inner p{font-size:clamp(15px,1.25vw,19px);line-height:1.68;color:#c2ccd6;margin:0 0 23px}
.ptw-panel-note{display:block;color:#86afff;font-size:13px;font-weight:650;margin-bottom:clamp(20px,2.6vw,36px);letter-spacing:.015em}
.ptw-panel-book{display:inline-flex;min-width:174px;justify-content:center}
.ptw-service-after{display:flex;justify-content:space-between;gap:22px;align-items:center;padding-top:27px}
.ptw-service-after p{margin:0;color:#596472;font-size:14px;line-height:1.5}
.ptw-service-after a{color:#092b5c;font-size:14px;font-weight:750;border-bottom:1px solid #092b5c;white-space:nowrap;padding:5px 0}
.ptw-service-after a:hover{color:#0757e8;border-color:#0757e8}
/* Scroll Stack: cards naturally layer via sticky positioning. Never hide photographs. */
.ptw-work-feature{background:#ecece8;color:#111b26;padding:clamp(58px,7vw,105px) 0 clamp(65px,6vw,90px);position:relative;isolation:isolate}
.ptw-work-feature::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 94% 15%,rgba(7,87,232,.05),transparent 35%)}
.ptw-stack-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:clamp(42px,5.5vw,77px)}
.ptw-stack-heading h2{font-size:clamp(39px,5.6vw,85px);font-weight:570;line-height:1.05;letter-spacing:-.036em;color:#111b26;margin:0 0 12px}
.ptw-stack-heading p{font-size:clamp(15px,1.2vw,18px);color:#4c5967;line-height:1.6;max-width:570px;margin:0}
.ptw-stack-to-reviews{white-space:nowrap;font-size:14px;font-weight:700;border-bottom:1px solid #1e3955;padding-bottom:5px}
.ptw-stack-to-reviews:hover{color:#0757e8}
.ptw-scroll-stack{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:24px;overflow:clip; /* if unsupported, defaults visible */}
.ptw-stack-card{position:sticky;top:clamp(86px,11vh,124px);z-index:calc(2 + var(--stack-order));width:100%;height:clamp(420px,67vh,620px);display:grid;grid-template-columns:minmax(0,.29fr) minmax(0,.71fr);gap:0;border:1px solid rgba(255,255,255,.1);background:#111b27;box-shadow:0 17px 45px rgba(5,16,31,.12);color:white;overflow:hidden;transform:scale(var(--stack-scale,1));transform-origin:top center;will-change:transform}
.ptw-stack-card:nth-child(2n){background:#142230}
.ptw-stack-copy{padding:clamp(22px,3.3vw,52px);display:flex;flex-direction:column;justify-content:flex-end;gap:12px;background:radial-gradient(ellipse at 8% 9%,rgba(21,92,225,.14),transparent 70%)}
.ptw-stack-copy h3{margin:0;font:580 clamp(25px,2.65vw,44px)/1.08 'Archivo',Arial,sans-serif;letter-spacing:-.03em;color:white;text-wrap:balance}
.ptw-stack-copy p{font-size:clamp(13px,1.05vw,16px);line-height:1.6;margin:0;color:#bbc8d6}
.ptw-stack-images{min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#253343}
.ptw-stack-photo{border:0;min-width:0;min-height:0;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#101722;cursor:zoom-in;padding:clamp(12px,1.6vw,22px);position:relative}
.ptw-stack-photo::after{content:none!important}
.ptw-stack-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none!important;transform:none!important;opacity:1!important;transition:filter .28s ease;}
.ptw-stack-photo:hover img,.ptw-stack-photo:focus-visible img{filter:brightness(1.09)!important}
.ptw-stack-photo:focus-visible{outline:3px solid #72a7ff;outline-offset:-4px;z-index:2}
/* Protect against historical gallery media rules that should not alter stack images */
.ptw-v11-work .ptw-stack-photo{aspect-ratio:auto;clip-path:none;}
@media(max-width:920px){
 .ptw-experience-head,.ptw-stack-heading{align-items:flex-start;flex-direction:column;gap:12px}
 .ptw-panel-inner h3{font-size:clamp(34px,5vw,58px)}
 .ptw-stack-card{grid-template-columns:minmax(0,.32fr) minmax(0,.68fr)}
 .ptw-stack-copy{padding:25px}
}
@media(max-width:640px){
 .ptw-service-experience{padding:56px 0 72px}
 .ptw-experience-head{margin-bottom:23px}
 .ptw-experience-head h2{font-size:clamp(36px,9.3vw,51px)}
 .ptw-service-tabs{gap:6px;margin-right:-18px;padding-right:18px}
 .ptw-service-tab{min-height:48px;font-size:13px;padding:12px 15px}
 .ptw-service-panel{grid-template-columns:1fr;min-height:0}
 .ptw-panel-image{height:clamp(208px,57vw,310px)}
 .ptw-panel-image img{object-position:center 47%}
 .ptw-panel-content{padding:clamp(24px,6vw,38px)}
 .ptw-panel-inner h3{font-size:clamp(32px,9vw,44px);margin-bottom:11px}
 .ptw-panel-inner p{font-size:15px;line-height:1.55;margin-bottom:14px}
 .ptw-panel-note{margin-bottom:18px}
 .ptw-panel-book{min-width:150px}
 .ptw-service-after{flex-direction:column;align-items:flex-start}
 .ptw-work-feature{padding:55px 0 65px}
 .ptw-stack-heading{margin-bottom:26px}
 .ptw-stack-heading h2{font-size:clamp(37px,10vw,51px)}
 .ptw-scroll-stack{gap:17px}
 .ptw-stack-card{top:84px;height:clamp(335px,48svh,405px);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);}
 .ptw-stack-copy{padding:18px 19px 15px;gap:5px;display:block}
 .ptw-stack-copy h3{font-size:clamp(24px,6.2vw,31px);line-height:1.13;margin-bottom:5px}
 .ptw-stack-copy p{font-size:12px;line-height:1.45}
 .ptw-stack-images{height:100%;}
 .ptw-stack-photo{padding:9px}
 .ptw-stack-to-reviews{margin-top:4px}
}
@media(max-width:360px){
 .ptw-stack-card{height:350px}
 .ptw-stack-photo{padding:5px}
 .ptw-stack-copy{padding:13px 14px 11px}
 .ptw-stack-copy h3{font-size:23px}
 .ptw-stack-copy p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .ptw-service-tab,.ptw-service-tab::after,.ptw-panel-image img,.ptw-stack-photo img{transition:none!important}
 .ptw-stack-card{transform:none!important}
}

/* Older .work-card:first-child layout must never affect a stacked photo. */
.ptw-scroll-stack .ptw-stack-images>.ptw-stack-photo,
.ptw-scroll-stack .ptw-stack-images>.ptw-stack-photo:first-child{grid-row:auto!important;grid-column:auto!important;width:auto!important;height:auto!important;aspect-ratio:auto!important;}
.ptw-scroll-stack .ptw-stack-images>.ptw-stack-photo::after{content:none!important;display:none!important}
