/* Homepage: one reading grid, original SOMA fonts and palette, quiet surfaces. */
.home-page{background:var(--bone);color:var(--ink)}
.home-page main,.home-page .site-header,.home-page .site-footer{max-width:none}
.home-shell{width:min(calc(100% - var(--vh-gutter)*2),var(--vh-width));margin-inline:auto}

.home-page .wordmark{width:132px}
.home-page .label{font-size:.6875rem;letter-spacing:.09em;color:var(--muted)}
.home-page h2{font-size:clamp(2.125rem,3.5vw,3rem);line-height:1.12;letter-spacing:-.025em;text-wrap:pretty}
.home-page h3{font:500 1.125rem/1.4 var(--sans);letter-spacing:-.02em;text-wrap:pretty}
.home-page .button{border-radius:2px;gap:28px;padding-inline:22px}
.home-page .text-link{font-size:.875rem;gap:24px}
.home-copy{min-width:0}
.home-copy>p{color:var(--muted);max-width:64ch}
.home-copy>p+p{margin-top:20px}
.home-copy>h2{margin-bottom:24px;max-width:20ch}
.home-copy>.text-link{margin-top:24px}

/* The proposition and its next step stay together at every width. */
.home-hero-grid{display:grid;gap:36px;padding-block:40px 56px}
.home-hero-copy{align-self:center;min-width:0}
.home-hero-copy>.label{margin-bottom:22px}
.home-hero h1{font-size:clamp(3rem,13.5vw,3.625rem);line-height:1;letter-spacing:-.035em;max-width:17ch;text-wrap:pretty}
.home-hero h1>span{display:block}
.home-hero .home-hero-rest{font-size:.63em;line-height:1.12;letter-spacing:-.025em;max-width:20ch;margin-top:14px}
.home-hero .home-facts{font-size:.75rem;line-height:1.6;color:var(--muted);margin-top:20px;padding-top:16px;border-top:1px solid var(--line);max-width:49ch}
.home-hero-description{margin-top:24px;color:var(--muted);max-width:49ch;font-size:1rem;line-height:1.65}
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-top:24px}
.home-actions .button{flex:1 1 auto}
.home-actions .text-link{border:0;padding-block:12px}
.home-hero-media{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:16/10;background:var(--dark)}
.home-hero-media .hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;z-index:0}
.home-hero-media .hero-film{z-index:1}
.home-hero-media .motion-toggle{position:absolute;bottom:16px;right:16px;z-index:2;border-color:#f2ece180}

/* Offer and scope read as one connected conversation. */
.home-offer-grid{display:grid;gap:28px;padding-block:52px;border-top:1px solid var(--line)}
.home-heading>.label{margin-bottom:16px}
.home-offer-lead{font:400 1.375rem/1.4 var(--sans);letter-spacing:-.025em;max-width:28ch;margin-top:20px}

.home-practice{padding-bottom:56px}
.home-section-heading{display:grid;gap:24px;margin-bottom:32px}
.home-section-heading h2{max-width:21ch}
.home-section-heading p{color:var(--muted);max-width:51ch;margin-top:20px}
.home-section-heading>p{margin-top:0}
.home-section-heading>.text-link{justify-self:start;align-self:end}
.home-areas{display:grid}
.home-areas article{display:grid;grid-template-columns:28px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--line)}
.home-number{color:var(--ember);font:500 .6875rem/1.6 var(--sans);padding-top:4px;font-variant-numeric:tabular-nums}
.home-areas h3{margin-bottom:12px}
.home-areas p{color:var(--muted);font-size:.9375rem;line-height:1.65;max-width:49ch}

/* Photography has its own space, with no text laid over faces. */
.home-philosophy-grid{display:grid;gap:32px;padding-block:48px}
.home-philosophy .home-copy{grid-row:1}
.home-philosophy .home-copy>p{color:#cfc6b8}
.home-philosophy figure{align-self:center}
.home-philosophy img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:saturate(.35)}
.home-about-grid{display:grid;grid-template-columns:112px 1fr;column-gap:24px;row-gap:24px;padding-block:56px}
.home-about-grid>.home-copy{display:contents}
.home-about-grid .home-copy>h2{grid-column:2;grid-row:1;align-self:center;margin:0}
.home-about-grid .home-copy>p,.home-about-grid .home-copy>.text-link{grid-column:1/-1;margin-top:0}
.home-about-grid .home-copy>.text-link{justify-self:start}
.home-about-grid .home-copy>.home-proof{margin-top:0}
.home-portrait{max-width:112px}
.home-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}
.home-portrait figcaption{font-size:.75rem;color:var(--muted);margin-top:12px}
.home-portrait figcaption span{display:block}
.home-copy>.home-proof{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.home-proof strong{font:500 1.25rem/1.2 var(--sans);color:var(--ink);margin-right:8px}

/* Keep the live feed's native swipe behavior; remove card ornament. */
.home-writing .home-shell{border-top:1px solid var(--line);padding-block:52px}
.home-writing .letters-track{padding:3px 0 14px;gap:24px;scroll-padding-inline:0}
.home-writing .letters-track>li{flex-basis:calc(100% - 24px)}
.home-writing .letter-card{position:relative;border:0;border-radius:0;background:transparent;overflow:visible}
.home-writing .letter-card:focus-visible{outline-offset:-2px}
.home-writing .letter-card:focus-visible::after{content:"";position:absolute;inset:0;z-index:2;border:2px solid var(--ember);pointer-events:none}
.home-writing .letter-card-image{aspect-ratio:16/10;filter:saturate(.65)}
.home-writing .letter-card-body{padding:20px 0 0}
.home-writing .letter-card-meta{font-size:.6875rem;letter-spacing:.06em;margin-bottom:12px}
.home-writing .letter-card h3{font:500 1.125rem/1.4 var(--sans);letter-spacing:-.025em;margin-bottom:12px}
.home-writing .letter-card-excerpt{font-size:.875rem;line-height:1.6;margin-bottom:20px}
.home-writing .letter-card-link{padding-top:14px}
.home-writing .letters-bottom{padding:12px 0 0;min-height:56px}
.home-writing .letters-controls button{border-radius:2px}
.home-writing .letters-position{font-size:.75rem}

.home-secondary .home-shell{border-top:1px solid var(--line);padding-block:40px 56px}
.home-secondary h2{font:500 .875rem/1.5 var(--sans);letter-spacing:0;color:var(--muted);margin-bottom:28px}
.home-secondary-grid{display:grid;gap:32px}
.home-secondary h3{margin-bottom:12px}
.home-secondary p{font-size:.875rem;color:var(--muted);max-width:47ch}
.home-secondary .text-link{margin-top:12px}

@media(min-width:761px){
 .home-page .wordmark{width:144px}
 .home-hero-grid{grid-template-columns:1.05fr 1fr;gap:48px;padding-block:56px 64px}
 .home-hero h1{font-size:clamp(3.5rem,6.2vw,5.5rem)}
 .home-actions .button{flex:0 0 auto}
 .home-hero-media{aspect-ratio:4/5;min-height:460px;max-height:570px;align-self:stretch}
 .home-offer-grid{grid-template-columns:.85fr 1.15fr;gap:64px;padding-block:64px}
 .home-heading h2{font-size:clamp(2.5rem,3.5vw,3.25rem)}
 .home-section-heading{grid-template-columns:1.05fr 1fr;align-items:end;gap:64px;margin-bottom:40px}
 .home-section-heading>p{max-width:43ch}
 .home-areas{grid-template-columns:1fr 1fr;column-gap:64px}
 .home-areas article{padding-block:28px;gap:20px}
 .home-practice{padding-bottom:72px}
 .home-philosophy-grid{grid-template-columns:.85fr 1.15fr;gap:64px;padding-block:72px;align-items:center}
 .home-philosophy .home-copy{grid-column:2;grid-row:1}
 .home-philosophy figure{grid-column:1;grid-row:1}
 .home-about-grid{grid-template-columns:.85fr 1.15fr;gap:64px;padding-block:80px;align-items:center}
 .home-portrait{width:100%;max-width:280px}
 .home-about-grid>.home-copy{display:block}
 .home-about-grid .home-copy>h2{margin-bottom:24px}
 .home-about-grid .home-copy>p+p{margin-top:20px}
 .home-about-grid .home-copy>.home-proof,.home-about-grid .home-copy>.text-link{margin-top:24px}
 .home-writing .home-shell{padding-block:64px}
 .home-writing .home-section-heading{grid-template-columns:1fr auto}
 .home-writing .home-section-heading>.text-link{margin-bottom:4px}
 .home-writing .letters-track>li{flex-basis:calc((100% - 24px)/2)}
 .home-secondary .home-shell{padding-block:40px 64px}
 .home-secondary-grid{grid-template-columns:1fr 1fr;gap:64px}
}
@media(min-width:1101px){
 .home-hero-grid{gap:64px}
 .home-writing .letters-track>li{flex-basis:calc((100% - 48px)/3)}
}
@media(max-width:360px){
 .home-shell{width:calc(100% - 40px)}
 .home-page .site-header{padding-inline:20px}
 .home-hero h1{font-size:2.8125rem}
 .home-hero-grid{padding-top:36px}
 .home-actions{gap:8px 20px}
 .home-actions .button{width:100%}
}
