/* Authoritative type and grouping layer. Palette/fonts are unchanged. */
body.composition-system{
 --type-display:clamp(76px,12.6vw,184px);--weight-display:900;--line-display:.82;--tracking-display:-.075em;
 --type-section:clamp(40px,6.3vw,94px);--weight-section:800;--line-section:.94;--tracking-section:-.055em;
 --type-subtitle:clamp(22px,2.4vw,34px);--weight-subtitle:500;--line-subtitle:1.15;--tracking-subtitle:-.035em;
 --type-body:16px;--line-body:1.6;--type-annotation:13px;--line-annotation:1.5;--type-micro:10px;--line-micro:1.5;
 --space-group:24px;--space-section:112px;
}
body.art-direction.composition-system :is(#work,#trust,#services,#process,#about,#ai,#contact) .block-content>h2,
body.art-direction.composition-system #about .columns>.editorial-about-heading,
body.art-direction.composition-system #ai .columns>div:first-child>h2,
body.art-direction.composition-system #contact .portfolio-footer h2{
 font-size:var(--type-section)!important;font-weight:var(--weight-section)!important;line-height:var(--line-section)!important;letter-spacing:var(--tracking-section)!important;text-wrap:balance;
}
body.art-direction.composition-system .pd-note{font-size:var(--type-annotation)!important;line-height:var(--line-annotation)!important}
body.art-direction.composition-system .pd-note small,body.art-direction.composition-system .hero-register{font-size:var(--type-micro)!important;line-height:var(--line-micro)!important;letter-spacing:.07em;font-weight:500}
body.composition-system :is(#trust,#services,#about,#ai) p{font-size:var(--type-body);line-height:var(--line-body)}
body.art-direction.composition-system #approved-hero .name.back-name,body.art-direction.composition-system #contact .footer-signature{font-size:var(--type-display)!important;line-height:var(--line-display)!important;letter-spacing:var(--tracking-display)!important;font-weight:var(--weight-display)!important}
/* Word-contained second layer. Nothing follows the pointer. */
body.art-direction.composition-system #approved-hero .name.back-name>.name-word{position:relative!important}
body.art-direction.composition-system #approved-hero .name.back-name .word-project-layer{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;pointer-events:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent!important;background-size:cover;background-position:center;background-clip:text;-webkit-background-clip:text;font:inherit!important;letter-spacing:inherit!important;line-height:inherit!important;opacity:0;transition:opacity 400ms ease!important;mask:none!important;clip-path:none!important}
@media(hover:hover) and (pointer:fine) and (min-width:751px){body.art-direction.composition-system #approved-hero .name-word:hover .word-project-layer{opacity:.34}}
body.composition-system .case-context-cursor{display:none!important}
body.art-direction.composition-system #approved-hero .showcase{padding-top:28px!important;gap:20px 24px;align-items:start}
body.art-direction.composition-system #approved-hero .promise{grid-column:1/span 7!important;grid-row:1/span 2!important}
body.art-direction.composition-system #approved-hero .hero-summary{grid-column:9/span 4!important;grid-row:1!important;align-self:start;margin-top:44px!important}
body.art-direction.composition-system #approved-hero .hero-summary p{font-size:var(--type-body)!important;line-height:var(--line-body)!important;margin:0 0 14px!important}
body.art-direction.composition-system #approved-hero .hero-summary>a{margin:0;min-height:36px}
body.art-direction.composition-system #approved-hero .hero-personal-note{grid-column:9/span 4;grid-row:2;margin:0!important;padding:14px 0 0!important;display:block;border-top:1px solid var(--ad-plum);max-width:260px}
body.art-direction.composition-system #approved-hero .hero-personal-note:before{display:none}
body.art-direction.composition-system #approved-hero .hero-personal-note small{margin-bottom:8px}
body.art-direction.composition-system #approved-hero .hero-personal-note>span{font-size:var(--type-annotation)!important;line-height:var(--line-annotation)!important;letter-spacing:0}
/* Two invariant axes. Only the explanation takes the secondary column. */
body.composition-system #trust .agreement-lines{margin-left:0}
body.composition-system #trust .agreement-line summary{grid-template-columns:64px minmax(0,1fr)!important;gap:24px;padding:23px 0!important;min-height:84px}
body.composition-system #trust .agreement-line:nth-child(n) .agreement-title{padding-left:0!important;transform:none!important}
body.composition-system #trust .agreement-title{font-size:var(--type-subtitle);font-weight:var(--weight-subtitle);line-height:var(--line-subtitle);letter-spacing:var(--tracking-subtitle)}
body.composition-system #trust .agreement-explanation{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 24px;padding:0 0 28px}
body.composition-system #trust .agreement-line p{grid-column:6/span 7;width:100%;max-width:620px;padding:0;margin:0!important;font-size:var(--type-body)!important;line-height:var(--line-body)!important}
body.composition-system #trust .agreement-hint{grid-column:6/span 7;font-size:var(--type-micro);line-height:var(--line-micro);letter-spacing:.06em;opacity:1;transform:none!important}
body.composition-system #trust .agreement-line{interpolate-size:allow-keywords}
body.composition-system #trust .agreement-line::details-content{height:0;overflow:clip;transition:height 240ms ease,content-visibility 240ms allow-discrete!important}
body.composition-system #trust .agreement-line[open]::details-content{height:auto}
/* Compact pricing spread; copy, prices and actions share explicit axes. */
body.composition-system #services .block-content>h2{max-width:1150px!important;margin-bottom:56px!important}
body.composition-system #services .price-editions{gap:48px 24px}
body.composition-system #services .price-edition:nth-child(1){grid-column:1/span 6}
body.composition-system #services .price-edition:nth-child(2){grid-column:8/span 5;margin-top:56px}
body.composition-system #services .price-edition:nth-child(3){grid-column:1/-1;gap:0 24px}
body.composition-system #services .price-edition .price-amount{margin:20px 0}
body.composition-system #services .price-amount strong{font-size:clamp(100px,11vw,158px)}
body.composition-system #services .price-edition:nth-child(2) .price-amount strong{font-size:clamp(100px,10vw,148px)}
body.composition-system #services .price-edition:nth-child(3) .price-amount{justify-self:start;margin-left:64px}
body.composition-system #services .price-edition>p{max-width:420px;margin-bottom:8px}
body.composition-system #services .price-conclusion{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px solid var(--ad-plum);padding-top:24px;margin-top:36px;align-items:start}
body.composition-system #services .price-conclusion .note{grid-column:1/span 6;margin:0!important;max-width:none;font-size:var(--type-annotation)!important;line-height:var(--line-annotation)!important}
body.composition-system #services .price-conclusion .actions{grid-column:8/span 5;justify-content:flex-start!important;margin:0!important;padding:0}
/* About: no artificial portrait, factual content on the same grid. */
body.art-direction.composition-system #about .columns{grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-template-rows:auto auto!important;gap:40px 24px!important}
body.art-direction.composition-system #about .columns>.editorial-about-heading{grid-column:1/span 10!important;grid-row:1!important;max-width:1120px!important;margin:0!important}
body.art-direction.composition-system #about .columns>.about-left-content{grid-column:1/-1!important;grid-row:2!important}
body.composition-system #about .about-copy{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
body.composition-system #about .about-copy>p{grid-column:1/span 5;grid-row:1;margin:0!important;font-size:var(--type-body)!important;line-height:var(--line-body)!important}
body.composition-system #about .about-copy>a.brand-button{grid-column:1/span 5;grid-row:2;justify-self:start;align-self:start;margin:0!important}
body.composition-system #about .about-copy>.education-fan{grid-column:7/span 6;grid-row:1/span 3;margin:0!important;padding-top:20px}
body.composition-system #about .about-copy>details{grid-column:1/span 5;grid-row:3;align-self:start;margin:12px 0 0!important}
body.composition-system #about .education-fan .education-list{grid-template-columns:repeat(5,minmax(0,1fr))!important}
/* AI: one thought, one variant selector, one stable result. */
body.art-direction.composition-system #ai .columns>div:first-child{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:40px 24px}
body.art-direction.composition-system #ai .columns>div:first-child>h2{grid-column:1/span 10!important;margin:0!important}
body.art-direction.composition-system #ai .ai-author-copy{grid-column:1/-1!important;display:block!important}
body.art-direction.composition-system #ai .ai-author-copy .ai-author-lead{font-size:var(--type-subtitle)!important;font-weight:var(--weight-subtitle)!important;line-height:var(--line-subtitle)!important;letter-spacing:var(--tracking-subtitle)!important;border:0!important;padding:0!important;margin:0 0 36px!important;max-width:850px}
body.composition-system #ai .ai-simple-study{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px solid var(--ad-blue);padding-top:24px}
body.composition-system #ai .ai-simple-study small{display:block;font-size:var(--type-micro);line-height:var(--line-micro);letter-spacing:.06em;margin-bottom:18px;color:var(--ad-blue)!important}
body.composition-system #ai .ai-simple-study .human-input{grid-column:1/span 3}
body.composition-system #ai .ai-simple-study .human-input p{font-size:var(--type-subtitle)!important;line-height:var(--line-subtitle)!important;letter-spacing:var(--tracking-subtitle)!important}
body.composition-system #ai .ai-simple-study .ai-exploration{grid-column:5/span 3}
body.composition-system #ai .ai-mode-list{display:flex;gap:18px;margin:0 0 22px}
body.composition-system #ai .ai-study-choice{padding:0 0 7px;background:none!important;border:0;border-bottom:1px solid transparent;border-radius:0;font:500 12px/1.4 Inter,Arial,sans-serif;color:var(--ad-paper)!important;min-height:30px;cursor:pointer}
body.composition-system #ai .ai-study-choice[aria-pressed=true]{color:var(--ad-lime)!important;border-bottom-color:var(--ad-lime)}
body.composition-system #ai .ai-study-type{font-size:var(--type-subtitle);line-height:var(--line-subtitle);letter-spacing:var(--tracking-subtitle);font-weight:300}
body.composition-system #ai .ai-simple-study .author-decision{grid-column:9/span 4;margin:0;border:0;padding:0}
body.composition-system #ai .ai-simple-study .author-decision p{font-size:clamp(34px,3.8vw,56px)!important;line-height:.96!important;letter-spacing:-.045em;color:var(--ad-lime)!important;font-weight:600}
body.composition-system #ai .author-decision>span{font-size:var(--type-annotation);line-height:var(--line-annotation);margin-top:22px}
@media(max-width:1000px) and (min-width:751px){body.composition-system #about .about-copy>p,body.composition-system #about .about-copy>a.brand-button,body.composition-system #about .about-copy>details{grid-column:1/span 6}body.composition-system #about .about-copy>.education-fan{grid-column:8/span 5}body.composition-system #about .education-fan .education-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:750px){
 body.composition-system{--type-display:13.1vw;--type-section:clamp(36px,9.8vw,52px);--type-subtitle:clamp(22px,6.2vw,28px);--type-body:14px;--type-annotation:12px;--type-micro:9px;--space-section:72px}
 body.art-direction.composition-system #approved-hero .promise{grid-column:1/-1!important;grid-row:1!important}
 body.art-direction.composition-system #approved-hero .hero-summary{grid-column:1/-1!important;grid-row:2!important;margin:0!important;max-width:320px}
 body.art-direction.composition-system #approved-hero .hero-personal-note{grid-column:2/span 3;grid-row:3;max-width:220px}
 body.art-direction.composition-system #approved-hero .hero-summary p{font-size:var(--type-body)!important}
 body.composition-system #trust .agreement-line summary{grid-template-columns:24px minmax(0,1fr)!important;gap:12px;min-height:76px}
 body.composition-system #trust .agreement-explanation{display:block;padding:0 0 24px 36px}
 body.composition-system #trust .agreement-line p{width:auto;margin:0 0 16px!important}
 body.composition-system #trust .agreement-hint{display:block;font-size:var(--type-micro)}
 body.composition-system #services .price-editions{gap:40px 12px}
 body.composition-system #services .price-edition:nth-child(n){grid-column:1/-1;margin-top:0}
 body.composition-system #services .price-edition:nth-child(2){grid-column:2/span 3}
 body.composition-system #services .price-edition:nth-child(3) .price-amount{margin:20px 0}
 body.composition-system #services .price-conclusion{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 12px;margin-top:28px}
 body.composition-system #services .price-conclusion .note,body.composition-system #services .price-conclusion .actions{grid-column:1/-1}
 body.art-direction.composition-system #about .columns{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:32px 12px!important}
 body.art-direction.composition-system #about .columns>.editorial-about-heading{grid-column:1/-1!important}
 body.composition-system #about .about-copy{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 12px}
 body.composition-system #about .about-copy>p,body.composition-system #about .about-copy>a.brand-button,body.composition-system #about .about-copy>.education-fan,body.composition-system #about .about-copy>details{grid-column:1/-1;grid-row:auto}
 body.composition-system #about .about-copy>.education-fan{margin-top:12px!important}
 body.composition-system #about .education-fan .education-list{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 body.composition-system #ai .ai-simple-study{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 12px}
 body.composition-system #ai .ai-simple-study .human-input{grid-column:1/-1}
 body.composition-system #ai .ai-simple-study .ai-exploration{grid-column:1/span 2;grid-row:2}
 body.composition-system #ai .ai-simple-study .author-decision{grid-column:3/span 2;grid-row:2}
 body.composition-system #ai .ai-mode-list{gap:12px}
 body.composition-system #ai .ai-simple-study .author-decision p{font-size:34px!important}
 body.art-direction.composition-system #ai .columns>div:first-child>h2{grid-column:1/-1!important}
}
@media(hover:none),(pointer:coarse),(max-width:750px){body.art-direction.composition-system #approved-hero .word-project-layer{display:none!important}}
@media(prefers-reduced-motion:reduce){body.art-direction.composition-system #approved-hero .word-project-layer{display:none!important}body.composition-system #trust .agreement-line::details-content{transition:none!important}}
body.composition-system #about .about-copy{grid-template-rows:min-content min-content min-content;align-items:start}
/* Explicit role mapping: legacy per-section declarations must not redefine body/subtitle. */
body.art-direction.composition-system #work .title-tail{font-size:var(--type-subtitle)!important;font-weight:var(--weight-subtitle)!important;line-height:var(--line-subtitle)!important;letter-spacing:var(--tracking-subtitle)!important}
body.art-direction.composition-system :is(#work .work-tools>p,#trust .block-content>p,#services .price-edition>p,#process .step details p,#about .about-copy>p,#about .about-copy>details p,#contact .footer-invitation p){font-size:var(--type-body)!important;line-height:var(--line-body)!important}
body.art-direction.composition-system #trust .block-content>h2{max-width:1120px!important}
body.composition-system #trust .agreement-index,body.composition-system #services .price-index{font-size:var(--type-micro);line-height:var(--line-micro)}
body.composition-system :is(#work,#trust,#services,#about,#ai){--ad-space-top:var(--space-section);--ad-space-bottom:var(--space-section)}
@media(hover:none),(pointer:coarse),(max-width:750px){body.art-direction.composition-system #approved-hero .name.back-name .word-project-layer{display:none!important}}
@media(prefers-reduced-motion:reduce){body.art-direction.composition-system #approved-hero .name.back-name .word-project-layer{display:none!important}}
body.composition-system #about{--credentials-gap:0px}
/* Introduction, CTA and approach are one stack; certificates are the adjacent fact group. */
body.composition-system #about .about-copy{grid-template-rows:auto}
body.composition-system #about .about-intro-group{grid-column:1/span 5;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
body.composition-system #about .about-intro-group>p{display:block!important;margin:0!important;font-size:var(--type-body)!important;line-height:var(--line-body)!important}
body.composition-system #about .about-intro-group>a.brand-button{margin:0!important;align-self:flex-start}
body.composition-system #about .about-intro-group>details{width:100%;border-top:1px solid var(--ad-blue);padding-top:20px;margin:12px 0 0!important}
body.composition-system #about .about-intro-group>details>summary{font-size:var(--type-annotation)!important;font-weight:600;line-height:var(--line-annotation)!important;color:var(--ad-paper)}
body.composition-system #about .about-intro-group>details p{font-size:var(--type-body)!important;line-height:var(--line-body)!important}
body.composition-system #about .about-copy>.education-fan{grid-row:1}
@media(max-width:1000px) and (min-width:751px){body.composition-system #about .about-intro-group{grid-column:1/span 6}}
@media(max-width:750px){body.composition-system #about .about-intro-group{grid-column:1/-1;grid-row:1}body.composition-system #about .about-copy>.education-fan{grid-row:2}}
body.composition-system #about .about-intro-group{justify-content:flex-start;align-self:start}
