/* Editorial scale: page title > lead > item title > body > metadata.
   Deliberately excludes pinned home geometry, scene timelines and footer motion. */
.subpage{--reading-size:15px;--reading-leading:2.05;--section-space:clamp(72px,7vw,104px);--sub-gap:clamp(32px,5vw,64px)}
.subpage .subpage-heading{padding-bottom:48px}
.subpage .subpage-heading h1,.subpage .news-heading h1{font-size:clamp(36px,4.4vw,60px);font-weight:500;line-height:1.4;letter-spacing:.015em;text-wrap:balance}
.subpage .about-section,.subpage .business-section,.subpage .company-profile,.subpage .contact-directory,.page-kasane .ks-section,.page-kasane .ks-working{grid-template-columns:minmax(0,1fr) minmax(0,2fr);padding-block:var(--section-space)}
.subpage .about-section>*,.subpage .business-section>*,.page-kasane .ks-section>*,.page-kasane .ks-working>*{min-width:0}
.subpage .about-lead,.subpage .business-lead{font-size:clamp(28px,2.8vw,40px);line-height:1.65;font-weight:500;letter-spacing:.015em;margin-bottom:28px;text-wrap:balance}
.page-business .two-pillars{padding:24px 0 var(--section-space);border-bottom:0}
.page-business .two-pillars h2{font-size:clamp(28px,2.8vw,40px);line-height:1.65;font-weight:500;margin:20px 0 28px;text-wrap:balance}
.page-business .pillar-pair{margin-top:32px}.page-business .pillar{padding:32px}.page-business .pillar h3{font-size:22px;line-height:1.6;font-weight:500}
.subpage .about-prose,.subpage .business-prose,.page-kasane .ks-prose,.page-kasane .ks-service-list,.page-kasane .ks-steps{max-width:620px}
.subpage .about-prose p,.subpage .business-prose,.page-business .two-pillars>p,.page-kasane .ks-prose p,.page-kasane .ks-service-list p,.page-kasane .ks-steps p,.page-kasane .ks-working-intro,.page-kasane .ks-contact p{font-size:var(--reading-size);font-weight:400;line-height:var(--reading-leading);letter-spacing:.025em;text-wrap:pretty}
.subpage .about-prose p,.page-kasane .ks-prose p{margin-bottom:24px}.subpage .about-prose p:last-child,.page-kasane .ks-prose p:last-child{margin-bottom:0}
.page-kasane .ks-section h2,.page-kasane .ks-working h2,.page-kasane .ks-contact h2{font-size:clamp(24px,2.1vw,30px);line-height:1.65;letter-spacing:.015em;text-wrap:balance;margin-top:20px;margin-bottom:0}
.page-kasane .ks-service-list h3,.page-kasane .ks-steps h3{font-size:20px;font-weight:500;line-height:1.65;margin:12px 0}
.page-kasane .ks-steps{margin-top:32px}.page-kasane .ks-working-intro{align-self:start}
.page-kasane .ks-contact{padding-top:var(--section-space);padding-bottom:48px;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start}
.page-kasane .ks-contact-body{align-self:start;max-width:620px}
.subpage .about-business,.subpage .business-action,.subpage .company-contact,.page-kasane .ks-contact .ks-button{font-size:18px;line-height:1.6;max-width:480px;margin-top:32px;min-height:96px;gap:20px;flex-wrap:wrap}
.subpage .business-external{white-space:nowrap;margin-left:auto}
.page-contact .contact-form-intro{font-size:14px;line-height:2;margin-bottom:32px}.page-contact .contact-field label{font-size:14px}
.page-contact .contact-label .contact-notari{padding:22px 24px}.page-contact .contact-label .contact-notari h3{font-size:16px}
.subpage .news-heading{gap:32px}
@media(max-width:800px){
 .subpage{--reading-size:14px;--reading-leading:2;--section-space:56px;--sub-gap:28px}
 .subpage .subpage-heading{padding:120px var(--page-gutter) 40px}.subpage .subpage-breadcrumb{margin-bottom:32px}
 .subpage .subpage-heading-row{gap:20px}.subpage .subpage-heading h1,.subpage .news-heading h1{font-size:clamp(30px,8.2vw,38px)}
 .subpage .about-section,.subpage .business-section,.subpage .company-profile,.subpage .contact-directory,.page-kasane .ks-section,.page-kasane .ks-working,.page-kasane .ks-contact{grid-template-columns:minmax(0,1fr);gap:28px}
 .subpage .about-lead,.subpage .business-lead,.page-business .two-pillars h2{font-size:clamp(24px,6.3vw,30px);margin-bottom:24px;line-height:1.65}
 .page-business .two-pillars{padding-top:8px}.page-business .pillar{padding:24px}.page-business .pillar h3{font-size:20px}
 .page-kasane .ks-hero{padding-bottom:40px}.page-kasane .ks-hero h1{font-size:clamp(26px,7.4vw,34px);line-height:1.55}
 .page-kasane .ks-section h2,.page-kasane .ks-working h2,.page-kasane .ks-contact h2{font-size:24px;line-height:1.65;margin:12px 0 0}
 .page-kasane .ks-working>h2{margin:0}.page-kasane .ks-steps{margin-top:0}.page-kasane .ks-contact{padding-bottom:32px}
 .page-kasane .ks-service-list h3,.page-kasane .ks-steps h3{font-size:19px}
 .subpage .about-business,.subpage .business-action,.subpage .company-contact,.page-kasane .ks-contact .ks-button{font-size:16px;line-height:1.7;min-height:88px;padding:20px;gap:12px 16px;margin-top:28px}
 .subpage .about-business-note,.subpage .business-external,.page-kasane .ks-card-note{font-size:11px}
 .page-contact .contact-intro{font-size:22px}.page-contact .contact-label .contact-notari{margin-top:20px;padding:20px}
 .subpage .news-main{padding-top:120px}
}
@media(max-width:360px){.subpage{--page-gutter:20px}.page-kasane .ks-local-nav{column-gap:18px}.page-kasane .ks-local-nav a{font-size:11px}.preview-dock{gap:10px;font-size:11px;padding:10px 12px}}

/* Label-free cards retain the shared dimensions and center their single row.
   Reset the former arrow-span typography now that the CTA has one child. */
.subpage .business-action,.page-kasane .ks-contact .ks-button{align-items:center;align-content:center}
.subpage .business-action>span:first-child,.page-kasane .ks-contact .ks-button>span:first-child{min-width:0;margin:0;font:inherit;letter-spacing:inherit}
.page-kasane .ks-contact .ks-button>span:only-child{transform:none;transition:none}

/* Home CTA keeps its outline; match the neighbouring mobile card rhythm. */
@media(max-width:800px){.company-home-links .company-contact:last-child{padding:13px 17px}}

/* Final review: avoid a one-character final line in mobile chapter headings. */
@media(max-width:800px){.page-home .brand-description h3{text-wrap:balance}.page-home .brand-heading-phrase{display:inline-block;white-space:nowrap}}
