/* Approved full-length originals, cropped only for the service portraits.
   Coordinates follow the visible alpha with an 8px source margin; artwork is unchanged. */
html body#nw-web :is(.nw-anime-feature,.nw-popular-girl) {display:block;overflow:hidden;}
html body#nw-web :is(.nw-anime-feature,.nw-popular-girl) > img {display:block;width:100%;height:auto;max-width:none;}
/* Feature and pricing portraits share the same responsive source scale.
   Their individual alpha crops and anatomical alignment remain unchanged. */
html body#nw-web .content {--nw-service-source-width:clamp(19.55rem,29.9vw,26.45rem);}
/* Keep the full-length source out of the crop's intrinsic height in WebKit. */
html body#nw-web #plans .plans .plan .nw-popular-girl > img {position:absolute;top:0;left:0;}
html body#nw-web #features .features { padding-top:0!important;row-gap:56px!important; }
html body#nw-web #features .feature { padding-bottom:0!important; }
/* Equal type and copy space within each grid row, without shrinking text. */
html body#nw-web #features .feature .feature-copy {display:flex;flex-direction:column;flex:1;}
html body#nw-web #features .feature .feature-copy > p {flex:1;min-block-size:6lh;}
@media(min-width:641px) and (max-width:700px){
 html body#nw-web #features .feature .feature-copy > p {min-block-size:7lh;}
}
html body#nw-web #features .feature .nw-anime-feature {
 --nw-source-width:var(--nw-service-source-width);
 --nw-source-left:220;
 --nw-crop-width:576;
 width:calc(var(--nw-source-width) * var(--nw-crop-width) / 1024)!important;
 height:calc(var(--nw-source-width) * 799 / 1024)!important;
 margin-top:0!important;margin-bottom:16px!important;
}
html body#nw-web #features .feature:nth-child(2) .nw-anime-feature { --nw-source-left:230;--nw-crop-width:632; }
html body#nw-web #features .feature:nth-child(3) .nw-anime-feature { --nw-source-left:182;--nw-crop-width:609; }
html body#nw-web #features .feature:nth-child(4) .nw-anime-feature { --nw-source-left:202;--nw-crop-width:581; }
html body#nw-web #features .feature .nw-anime-feature > img {
 width:var(--nw-source-width);
 transform:translateX(calc(-100% * var(--nw-source-left) / 1024));
}
/* The reserved space follows the real portrait height at every viewport width. */
/* Restore the original responsive image scale; crop only the empty canvas. */
html body#nw-web #plans .plans { --nw-pricing-source-width:var(--nw-service-source-width);padding-top:calc(var(--nw-pricing-source-width) * 796 / 1024 + 24px)!important; }
html body#nw-web #plans .plans .plan .nw-popular-girl {
 width:calc(var(--nw-pricing-source-width) * 666 / 1024)!important;
 height:calc(var(--nw-pricing-source-width) * 796 / 1024)!important;
 top:auto!important;bottom:100%!important;left:50%!important;
 transform:translateX(-50%)!important;aspect-ratio:auto;
}
html body#nw-web #plans .plans .plan .nw-popular-girl > img {
 width:var(--nw-pricing-source-width);
 transform:translate(-16.11328125%,-0.1953125%);
}
@media(max-width:700px){
 html body#nw-web .content {--nw-service-source-width:min(21.85rem,calc(92vw - .5rem));}
 html body#nw-web #plans .plans {padding-top:0!important; }
 html body#nw-web #plans .plans .plan.popular { margin-top:calc(var(--nw-pricing-source-width) * 796 / 1024)!important; }
}

/* More room between portraits inside the existing section. Compensating card
   padding preserves the copy width and its line breaks. Tight tablet widths
   retain their previous gap because the suitcase crop is near the right edge. */
@media(min-width:701px) and (max-width:1100px){
 html body#nw-web #features .features {--nw-feature-gap:2rem;column-gap:var(--nw-feature-gap)!important;}
 html body#nw-web #features .feature {padding-inline:1rem!important;}
}
@media(min-width:1101px){
 html body#nw-web #features .features {--nw-feature-gap:clamp(2rem,calc(5vw - 1.5rem),3rem);column-gap:var(--nw-feature-gap)!important;}
 html body#nw-web #features .feature {padding-inline:calc(1.625rem - var(--nw-feature-gap) * .375)!important;}
}
