/* Containers may shrink inside grids; words only break as a last resort. */
main section, .rl-block, .article-body {container-type:inline-size}
:where(h1,h2,h3,h4,p,li,rl-text,rl-format){word-break:normal;hyphens:none;overflow-wrap:break-word}
h1,h2,h3,h4{white-space:normal;text-wrap:balance}
rl-text,rl-format{display:inline;white-space:normal}
rl-text .rl-accent,rl-format .rl-accent{font-family:var(--font-display)!important;font-style:italic!important;font-weight:400;letter-spacing:-.035em}
:where(.area-grid,.service-grid,.article-grid,.approach-grid,.steps,.section-heading,.bio,.contact-section,.manifesto,.rl-image-text)>*{min-width:0}
.serif{font-family:var(--font-display);font-style:italic;font-weight:400;letter-spacing:-.04em}
.section{padding-block:clamp(3rem,7vw,6.25rem)}
.rl-image-text{gap:clamp(1.25rem,4vw,3rem)}
.hero-bottom,.hero-actions,.button,.text-link{min-width:0;max-width:100%}
.button{white-space:normal;flex-wrap:wrap;gap:1em}
.hero-actions{flex-shrink:1}
img{max-width:100%;height:auto}
.article-card h3,.article-head h1{overflow-wrap:break-word}
.article-body{overflow-wrap:break-word}
.article-body a,.contact-email{overflow-wrap:anywhere}
/* At narrow viewports the editorial line break becomes a natural wrap opportunity. */
@media(max-width:620px){h1 br,h2 br{display:none}h1 br:after,h2 br:after{content:" "}.steps{grid-template-columns:1fr}.footer-top{flex-wrap:wrap}.section-heading{display:block}}

.rl-break-space{display:none}@media(max-width:620px){.rl-break-space{display:inline}}

/* Editorial hierarchy: shared responsive layout, no device-specific content. */
.hero-editorial{display:block;margin-top:.12em}
.hero-bottom>p{max-width:52ch}
.founder-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);align-items:start;border-top:1px solid var(--line)}
.founder-copy{min-width:0;max-width:65ch}
.founder-copy .eyebrow{margin-bottom:clamp(1rem,2vw,2rem)}
.founder-copy h2{margin-bottom:clamp(1.25rem,2vw,2rem)}
.founder-copy .lead{color:var(--ink)}
.founder-portrait{min-width:0}
.portrait-image,.portrait-placeholder{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--soft)}
.portrait-placeholder{border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1rem,3vw,3rem);padding:clamp(1rem,3vw,3rem);color:var(--muted);text-align:center;font-size:.8rem}
.portrait-initials{font:italic 400 clamp(4rem,9vw,9rem)/1 var(--font-display);color:var(--accent)}
[data-rl-image]{cursor:pointer}
@media(max-width:700px){.founder-section{grid-template-columns:1fr}.founder-portrait{width:100%;max-width:28rem}.hero-editorial{margin-top:.25em}}

/* Phase 4: only the requested Hero reduction and light spacing adjustment. */
.hero h1[data-rl-role="display-xl"]{font-size:clamp(1.9rem,6.3cqi,5.4rem)!important;margin-block:48px 34px}
.section{padding-block:clamp(3rem,6.5vw,5.75rem)}
.service-includes{font-weight:600;color:var(--ink);margin-bottom:0}
.contact-form button:disabled{opacity:.55;cursor:not-allowed}

[data-rl-role="display-xl"]{font-family:var(--font-body)!important;font-weight:600!important;font-size:clamp(1.9rem, 7cqi, 6rem)!important;line-height:1.06!important;letter-spacing:-.045em!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="display"]{font-family:var(--font-body)!important;font-weight:500!important;font-size:clamp(1.8rem, 5.8cqi, 4.5rem)!important;line-height:1.08!important;letter-spacing:-.04em!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="display-serif"]{font-family:var(--font-display)!important;font-weight:400!important;font-size:clamp(1.9rem, 6cqi, 5rem)!important;line-height:1.08!important;letter-spacing:-.04em!important;font-style:italic!important;text-transform:none!important;}

[data-rl-role="h1"]{font-family:var(--font-body)!important;font-weight:500!important;font-size:clamp(1.9rem, 6cqi, 5.5rem)!important;line-height:1.08!important;letter-spacing:-.045em!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="h2"]{font-family:var(--font-body)!important;font-weight:500!important;font-size:clamp(1.65rem, 4.6cqi, 4.2rem)!important;line-height:1.14!important;letter-spacing:-.035em!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="h3"]{font-family:var(--font-body)!important;font-weight:500!important;font-size:clamp(1.35rem, 3cqi, 2.3rem)!important;line-height:1.2!important;letter-spacing:-.025em!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="lead"]{font-family:var(--font-body)!important;font-weight:400!important;font-size:clamp(1.1875rem, 1.7cqi, 1.5rem)!important;line-height:1.55!important;letter-spacing:normal!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="body"]{font-family:var(--font-body)!important;font-weight:400!important;font-size:clamp(1rem, 1.25cqi, 1.1875rem)!important;line-height:1.6!important;letter-spacing:normal!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="small"]{font-family:var(--font-body)!important;font-weight:400!important;font-size:clamp(.8rem, 1cqi, .9rem)!important;line-height:1.5!important;letter-spacing:normal!important;font-style:normal!important;text-transform:none!important;}

[data-rl-role="label"]{font-family:var(--font-body)!important;font-weight:600!important;font-size:clamp(.7rem, 1cqi, .8125rem)!important;line-height:1.45!important;letter-spacing:.1em!important;font-style:normal!important;text-transform:uppercase!important;}

[data-rl-role="quote"]{font-family:var(--font-display)!important;font-weight:400!important;font-size:clamp(1.5rem, 3.5cqi, 3rem)!important;line-height:1.25!important;letter-spacing:-.02em!important;font-style:italic!important;text-transform:none!important;}
