
/* Form-factor release v2: content reflows; viewport height never dictates legibility. */
html{ -webkit-text-size-adjust:100%; }
*,*::before,*::after{box-sizing:border-box}
:where(main,section,article,header,footer,nav,div,figure){min-inline-size:0}
:where(h1,h2,h3,p,li){overflow-wrap:break-word}
:where(h1,h2,h3){text-wrap:balance}
:where(img,video){max-inline-size:100%}
:where(input,select,textarea){font-size:1rem;max-inline-size:100%}
:where(button,.button,.btn){max-inline-size:100%;white-space:normal;min-block-size:44px}
:where(dialog,[role="dialog"]){max-inline-size:calc(100vw - 2rem);max-block-size:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain}
@media(max-width:600px){:where(input,select,textarea){font-size: max(16px,1rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* One reading column through portrait tablet; portrait follows the proposition and actions. */
@media(max-width:900px){
.brand-system .agency-hero{min-height:0;padding-top:28px}
.brand-system .agency-hero>.wrap{width:calc(100% - 40px);display:block}
.brand-system .agency-kicker{margin-bottom:22px}
.brand-system .agency-kicker p{font-size:.8125rem;line-height:1.5;max-width:none}
.brand-system .agency-title{font-size:clamp(2.5rem,8.5vw,4.5rem);line-height:1.06;margin-bottom:24px}
.brand-system .agency-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.brand-system .agency-intro{max-width:42rem;padding:0;display:flex;flex-direction:column}
.brand-system .agency-lead{font-size:1.125rem;line-height:1.55;margin-bottom:22px;max-width:45ch;order:0}
.brand-system .agency-actions{order:1;display:flex;flex-direction:row;align-items:center;gap:8px 20px;margin-bottom:22px}
.brand-system .agency-actions .button{font-size:1rem;line-height:1.35;min-height:50px;padding:13px 22px;width:auto;align-self:start;justify-content:center;text-align:left}
.brand-system .agency-work-link{font-size:1rem;line-height:1.4;min-height:48px;padding:10px 0;align-self:start;text-align:left;justify-content:start}
.brand-system .agency-cred{order:2;font-size:1rem;line-height:1.55;margin:0;max-width:48ch}
.brand-system .agency-cutout{max-width:340px;justify-self:center;width:100%;margin:0}
.brand-system .agency-cutout img{height:auto;width:100%;max-height:300px;object-fit:contain}
.brand-system .agency-footline{margin-top:24px;padding:16px 0;gap:12px;align-items:start;flex-wrap:wrap}
.brand-system .agency-footline>span{font-size:.875rem;line-height:1.5;max-width:30ch}
.brand-system .agency-footline a{font-size:.875rem;min-height:44px;padding:0;gap:12px}
.brand-system .page-hero.compact,.brand-system .page-hero:not(.compact) .hero-grid,.brand-system .case-hero{min-height:0}
.brand-system .page-hero.compact>.wrap{padding-block:40px;width:calc(100% - 40px)}
.brand-system .case-hero{padding-block:40px}
}
@media(max-width:480px){.home-agency .topbar .brand{font-size:1.25rem}.brand-system .agency-actions{flex-direction:column;align-items:start}.brand-system .agency-actions .button{align-self:stretch}.brand-system .agency-cutout{max-width:280px}}

/* 23 Oct spacing repair: allow the existing text column to shrink within its grid. */
.principles>div{grid-template-columns:45px minmax(0,1fr)}

.case-detail>h2,.case-detail>p{min-inline-size:0}
@media(min-width:901px){.brand-system .agency-actions{margin-block-end:20px}}

/* Homepage hero: strengthen the reading order without changing the copy. */
.home-agency .agency-intro{max-width:620px}
.home-agency .agency-lead{max-width:46ch;line-height:1.55;margin-bottom:clamp(22px,3vh,34px)}
.home-agency .agency-actions{gap:clamp(14px,2vw,24px);margin-block-end:clamp(18px,2.4vh,26px)}
.home-agency .agency-cred{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:16px;align-items:start;max-width:52ch;margin:0;border-top:1px solid #ffffff36;padding-top:16px;font-size:.95rem;line-height:1.5}
.home-agency .agency-cred strong{color:#e4b9a9;font:500 1.3rem/1.15 'Playfair Display',Georgia,serif;white-space:nowrap}
.home-agency .agency-cred span{max-width:42ch}
@media(max-width:900px){.home-agency .agency-lead{max-width:48ch;margin-bottom:22px}.home-agency .agency-actions{margin-block-end:22px}.home-agency .agency-cred{grid-template-columns:max-content minmax(0,1fr);gap:12px;padding-top:14px}}
@media(max-width:420px){.home-agency .agency-cred{font-size:.9rem;line-height:1.45;gap:10px}.home-agency .agency-cred strong{font-size:1.2rem}}
