/* Customer review, v6: existing content, identity and palette; clearer hierarchy and routes. */
:root{--site-content-width:1200px;--site-gutter:36px}
html{scroll-padding-top:99px}
body main [id],body .rates-page section[id],#contact.project-contact{scroll-margin-top:0}
.site-header .container,.site-footer .container,
.home-page .container,.composition-article .container,.rates-page .container,
.preparation-article .wrap{width:min(var(--site-content-width),calc(100% - var(--site-gutter)*2));max-width:none;margin-inline:auto}
.preparation-article .wrap{padding-inline:0}
.site-header .desktop-nav{font-size:13px;gap:22px}
.site-header .mobile-nav .mobile-contact{margin-block:8px;padding:12px 14px;border-radius:7px;background:var(--ink);color:#fff;border:0}
.site-related{max-width:var(--site-content-width);font-size:14px;align-items:center}
.site-related a{min-height:44px;display:inline-flex;align-items:center;padding-block:10px}

/* Home: make the existing three outcomes real links; tighten the route to detail pages. */
.home-page .hero{gap:44px}
.home-page .hero-photo-link{height:500px}
.home-page .hero h1{font-size:clamp(42px,4.5vw,64px)}
.home-page .services{padding-bottom:44px}
.home-page .section-heading{margin-bottom:34px;gap:48px}
.home-page .service-top{margin-bottom:20px}
.home-page .service-result{display:block;margin-top:24px;transition:border-color .15s}
.home-page .service-result:hover{border-color:var(--ink)}
.home-page .service-result:hover b{transform:translate(2px,-2px)}
.home-page .articles-grid{gap:16px}
.home-page .preparation-cta-link{padding:24px;gap:18px}
.home-page .preparation-cta-text{font-size:21px;line-height:1.25;letter-spacing:-.02em}
.home-page .preparation-cta-arrow{width:42px;height:42px;font-size:23px}
.home-page .case-heading h2{font-size:clamp(36px,3.6vw,48px)}

/* Internal titles now share a readable scale. */
.preparation-article .hero h1,.composition-article h1,.rates-page h1{font-size:clamp(36px,3.5vw,48px);line-height:1.13;letter-spacing:-.025em;font-weight:600}
.preparation-article .hero h1 br{display:none}
.preparation-article .hero h1 br:after{content:' '}
.preparation-article .hero-copy{padding-top:30px;padding-bottom:30px}
.preparation-article .hero-grid{grid-template-columns:1.08fr .92fr;gap:28px;align-items:center}
.preparation-article .hero-visual{min-height:0;height:455px;border-radius:12px}
.preparation-article .hero{padding-block:20px 30px}
.preparation-article .title{line-height:1.17}
.preparation-article .production-grid{grid-template-columns:1.16fr .84fr}
.preparation-article .production-copy{grid-column:2;grid-row:1}
.preparation-article .prod-cards{grid-column:1;grid-row:1}

/* Tech package: actual anchors, restrained illustration sizes, less empty framing. */
.composition-article .hero{padding:42px 0}
.composition-article .hero-grid{grid-template-columns:1.15fr .85fr;gap:46px;margin-top:24px}
.composition-article .hero-grid>div{min-width:0}
.composition-article .hero h1{max-width:none}
.composition-article .hero .lead{margin-top:22px;max-width:none}
.composition-article .hero-note{margin-top:16px;max-width:none}
.composition-article .hero .visual-card{margin:0}
.composition-article .index{display:block;padding:14px 0}
.composition-article .index-row{gap:0}
.composition-article .index-item{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 14px;border-radius:0}
.composition-article .index-item:first-child{padding-left:0}
.composition-article .index-item:hover .index-title{text-decoration:underline;text-underline-offset:4px}
.composition-article .index-num{font-size:19px;flex:none}
.composition-article .index-title{font-size:12px;line-height:1.45;margin:0}
.composition-article .overview{padding:32px 0 44px}
.composition-article .overview-image{max-width:1000px;margin:auto}
.composition-article .story-row,.composition-article .story-row.reverse{min-height:0}
.composition-article .story-copy{padding:48px 42px 48px 0}
.composition-article .reverse .story-copy{padding:48px 0 48px 42px}
.composition-article .story-visual{padding:40px 0 40px 42px}
.composition-article .reverse .story-visual{padding:40px 42px 40px 0}
.composition-article .story-num{font-size:36px;margin-bottom:8px}
.composition-article .story h2{font-size:clamp(30px,2.7vw,38px);line-height:1.15}
.composition-article .story h3{font-size:21px;line-height:1.35;margin-bottom:18px}
.composition-article .img-crop{height:400px}
.composition-article .img-crop.final{height:440px}
.composition-article .drawing-feature,.composition-article .mid-section{padding:48px 0}
.composition-article .drawing-grid,.composition-article .mid-grid{gap:46px}
.composition-article .mid-block h2{font-size:32px;line-height:1.18;letter-spacing:-.025em}
.composition-article .closing{padding:48px 0}
.composition-article .closing h2{font-size:36px;line-height:1.15}

/* Prices are immediately usable on a phone; supporting explanations stay intact. */
.rates-intro-grid{grid-template-columns:1.32fr 1fr;gap:0 60px;align-items:start}
.rates-intro-copy{grid-column:1;grid-row:1}
.rates-intro-context{grid-column:1;grid-row:2}
.rates-intro-copy .rates-lead{margin-bottom:18px}
.rates-intro-context p:last-child{margin-bottom:0}
.rates-summary{grid-column:2;grid-row:1 / span 2;align-self:center}
.rates-proof-links{flex-wrap:wrap;font-size:12px;gap:4px 15px;margin-top:6px}
.rates-proof-links button,.rates-proof-links a{display:inline-flex;align-items:center;min-height:40px;font-size:12px;padding:7px 0}

@media(max-width:1100px){
 .preparation-article .hero-grid{grid-template-columns:1fr 1fr}
 .preparation-article .hero-visual{height:420px}
 .preparation-article .production-grid{grid-template-columns:1fr}
 .preparation-article .production-copy,.preparation-article .prod-cards{grid-column:auto;grid-row:auto}
 .preparation-article .start-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;height:auto}
 .preparation-article .sheet{margin:0;height:180px!important;min-width:0}
 .preparation-article .sheet img{object-fit:contain}
 .preparation-article .checkcard{grid-column:1 / -1;margin-top:0;padding:18px}
 .preparation-article .checkcard div{display:inline-block;margin:6px 20px 6px 0}
 .preparation-article .prod-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .preparation-article .docs-wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
 .preparation-article .doc{margin:0;min-width:0;height:180px!important}
 .preparation-article .doc img{object-fit:contain}
 .rates-intro-grid{gap:0 34px;grid-template-columns:1.2fr 1fr}
}
@media(max-width:1050px){html{scroll-padding-top:89px}.home-page .hero h1{font-size:clamp(36px,4.4vw,48px)}.home-page .hero-photo-link{height:460px}}
@media(max-width:900px){
 .composition-article .hero-grid{grid-template-columns:1fr;gap:26px}
 .composition-article .hero .visual-card{max-width:560px;width:100%;margin:auto}
 .composition-article .hero .visual-card img{max-height:310px;object-fit:contain}
 .composition-article .index-row{grid-template-columns:repeat(3,minmax(0,1fr))}
 .composition-article .index-item{border-bottom:1px solid var(--line)}
 .composition-article .index-item:nth-child(3n){border-right:0}
 .composition-article .index-item:nth-child(4){padding-left:0}
 .composition-article .index-item:nth-child(n+4){border-bottom:0}
 .composition-article .story-copy,.composition-article .reverse .story-copy{padding:36px 0 24px}
 .composition-article .story-visual,.composition-article .reverse .story-visual{padding:0 0 36px;border:0}
 .composition-article .img-crop,.composition-article .img-crop.final{height:auto;max-height:420px}
 .composition-article .img-crop img{max-height:420px;object-fit:contain}
 .composition-article .story-img{max-width:640px;margin:auto}
 .composition-article .drawing-grid,.composition-article .mid-grid{gap:30px}
 .rates-intro-grid{grid-template-columns:1fr;gap:22px}
 .rates-intro-copy,.rates-summary,.rates-intro-context{grid-column:1;grid-row:auto}
 .rates-intro-copy .rates-lead{margin-bottom:0}
}
@media(max-width:800px){
 :root{--site-gutter:20px}
 .home-page .hero{gap:28px}
 .home-page .hero h1{font-size:clamp(37px,6.8vw,54px)}
 .home-page .hero-photo-link{height:420px}
 .home-page .hero-bottom{margin-top:26px;padding-top:18px}
 .home-page .section-heading{gap:24px;margin-bottom:28px}
 .home-page .services{padding-bottom:32px}
 .home-page .preparation-cta-link{padding:20px;gap:12px}
 .home-page .preparation-cta-text{font-size:21px}
 .home-page .preparation-cta-link:before{margin-bottom:0}
 .preparation-article .hero-grid{grid-template-columns:1fr;gap:0}
 .preparation-article .hero{padding-top:0;padding-bottom:24px}
 .preparation-article .hero-copy{padding:26px 0}
 .preparation-article .hero-visual{height:260px}
 .preparation-article .process-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .preparation-article .step{white-space:normal;font-size:11px;line-height:1.4}
 .preparation-article .num{flex:none;width:27px;height:27px}
 .preparation-article .arr{display:none}
 .preparation-article .cols-2,.preparation-article .info-grid,.preparation-article .budget-grid,.preparation-article .production-grid{gap:28px}
 .preparation-article .budget-card{min-height:0}
 .preparation-article .budget-diagram{gap:10px}
 .preparation-article .star-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .preparation-article .star-card img{height:245px}
 .preparation-article .output-grid>div:first-child:empty{display:none}
}
@media(max-width:600px){
 .preparation-article .hero h1,.composition-article h1,.rates-page h1{font-size:34px;line-height:1.14}
 .composition-article .hero{padding:28px 0}
 .composition-article .hero-grid{margin-top:22px;gap:22px}
 .composition-article .hero .lead{font-size:17px}
 .composition-article .hero .visual-card img{max-height:240px}
 .composition-article .index-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .composition-article .index-item{padding:10px;min-height:60px;border-bottom:1px solid var(--line)}
 .composition-article .index-item:nth-child(n){border-right:1px solid var(--line)}
 .composition-article .index-item:nth-child(2n){border-right:0}
 .composition-article .index-item:nth-child(odd){padding-left:0}
 .composition-article .index-item:nth-child(4){padding-left:10px;border-bottom:1px solid var(--line)}
 .composition-article .index-item:nth-child(n+5){border-bottom:0}
 .composition-article .overview{padding:26px 0}
 .composition-article .story h2{font-size:30px}
 .composition-article .story h3{font-size:20px}
 .composition-article .img-crop,.composition-article .img-crop img,.composition-article .img-crop.final{max-height:300px}
 .composition-article .drawing-feature,.composition-article .mid-section,.composition-article .closing{padding:36px 0}
 .composition-article .mid-block{padding-right:0}
 .composition-article .mid-block h2,.composition-article .closing h2{font-size:30px}
 .composition-article .file-card{min-height:150px;padding:17px}
 .preparation-article .process-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .preparation-article .sheet{height:140px!important;padding:5px}
 .preparation-article .start-collage{gap:8px}
 .preparation-article .prod-cards{gap:8px}
 .preparation-article .prod-item{padding:5px 5px 10px}
 .preparation-article .prod-item b{font-size:12px;line-height:1.4}
 .preparation-article .docs-wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .preparation-article .doc{height:165px!important}
 .preparation-article .star-card img{height:215px}
 .preparation-article .star-card figcaption{padding:10px;font-size:12px}
 .rates-summary a small{font-size:11px}
 .rates-summary>a{font-size:14px;gap:8px}
 .rates-summary a strong{font-size:15px}
 .rates-proof-links{gap:2px 14px}
}
@media(max-width:370px){:root{--site-gutter:16px}.preparation-article .hero h1,.composition-article h1,.rates-page h1{font-size:31px}.home-page .hero h1{font-size:34px}.rates-summary>a{font-size:12px;gap:6px}.rates-summary a strong{font-size:14px}.preparation-article .prod-item b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-page .service-result{transition:none}}
@media print{.composition-article .index{display:none}.site-header .mobile-nav .mobile-contact{background:none;color:inherit}}
/* Keep long Russian captions intact on narrow screens. */
@media(max-width:600px){
 .preparation-article .prod-cards{grid-template-columns:1fr;gap:10px}
 .preparation-article .prod-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:center;padding:8px}
 .preparation-article .prod-item img{width:100px;height:75px;object-fit:cover}
 .preparation-article .prod-item b{font-size:13px;line-height:1.4;margin:0;overflow-wrap:anywhere}
 .composition-article .index-item{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:72px}
 .composition-article .index-title{overflow-wrap:anywhere}
}
