/* Clearer rhythm for homepage copy and full-width people in the carousel. */
.page-home .hero-copy h2{font-size:clamp(3.2rem,5.8vw,6.2rem);line-height:1.1;letter-spacing:-.035em;word-spacing:.07em;margin-bottom:26px}
.page-home .hero-copy h2>span{margin-top:.1em}
.page-home .hero-copy .hero-slide-label{margin-bottom:26px;letter-spacing:.11em}
.page-home .hero-copy>p:not(.hero-slide-label){font-size:.94rem;line-height:1.9;max-width:40ch}
.page-home .hero-actions{margin-top:30px;column-gap:2rem;row-gap:14px}
.page-home .hero-carousel-track{height:clamp(510px,37vw,620px)}
.page-home .hero-image{height:auto;aspect-ratio:3/2;align-self:center}
.page-home .hero-image img{object-position:center;object-fit:cover}
.page-home .section-head h2,.page-home .section-heading h2,.page-home .about-copy h2{line-height:1.18;letter-spacing:-.035em;word-spacing:.04em}
.page-home .section-head>p:last-child:not(.eyebrow),.page-home .section-heading>p:not(.eyebrow){margin-top:1.6rem;line-height:1.9}
.page-home .about-copy>p,.page-home .copy-disclosure p{line-height:1.95}
.page-home .copy-disclosure p+p{margin-top:1.15rem}
.page-home .manifesto-lead{margin-top:1.5rem;margin-bottom:1.5rem}
.page-home .about-stat{padding-block:1.4rem}.page-home .about-stat strong{line-height:1.3;margin-bottom:.65rem}.page-home .about-stat span{line-height:1.85}
.page-home .commercial-copy h3{line-height:1.25;letter-spacing:-.025em;margin-bottom:1rem}.page-home .commercial-copy>p:not(.kicker){line-height:1.95;margin-top:1rem}.page-home .commercial-copy .service-tags{margin-block:1.4rem}.page-home .commercial-copy .commercial-cta{margin-top:1.4rem}
.page-home .feature-caption{padding-top:1.4rem;row-gap:.8rem}.page-home .feature-caption h3{line-height:1.3}.page-home .feature-caption>p:last-child{line-height:1.85}
/* Project artwork is an editorial cover, rather than an invented site screenshot. */
.cover-familytree{background:#183d33;color:#efeadc;isolation:isolate}.cover-familytree:before{content:'';position:absolute;inset:0;background:url('../assets/projects/myfamilytree-project.svg') center/cover no-repeat;opacity:.6;z-index:-1}.cover-familytree .feature-name{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3.1vw,3.4rem);letter-spacing:-.03em;max-width:9ch;line-height:1.08;text-shadow:0 2px 20px #183d33}.cover-familytree .cover-meta,.cover-familytree .cover-name{color:#efeadc}.cover-familytree .cover-monogram{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em;font-size:clamp(4rem,8vw,8rem)}
@media(max-width:1100px) and (min-width:761px){.page-home .hero-copy h2{font-size:5.5vw}.page-home .hero-copy>p:not(.hero-slide-label){font-size:.84rem}.page-home .hero-carousel-track{height:500px}.page-home .hero-actions{gap:1rem}}
@media(max-width:760px){.page-home .hero-carousel-track{height:calc(352px + 66.6667vw)}.page-home .hero-slide{grid-template-rows:360px minmax(0,1fr);gap:24px}.page-home .hero-image{height:100%;aspect-ratio:auto}.page-home .hero-copy h2{font-size:clamp(3rem,8.8vw,4.6rem);margin-bottom:20px}.page-home .hero-copy .hero-slide-label{margin-bottom:20px}.page-home .hero-copy>p:not(.hero-slide-label){font-size:.86rem;line-height:1.85}.page-home .hero-actions{margin-top:24px;gap:1.4rem}.page-home .section-head h2,.page-home .section-heading h2{line-height:1.2}.cover-familytree .feature-name{font-size:2.6rem}}
@media(max-width:560px){.page-home .hero-carousel-track{height:calc(330px + 66.6667vw)}.page-home .hero-slide{grid-template-rows:330px minmax(0,1fr)}.page-home .hero-copy h2{font-size:11.4vw;letter-spacing:-.035em;line-height:1.12;margin-bottom:20px}.page-home .hero-copy>p:not(.hero-slide-label){font-size:.78rem;line-height:1.9}.page-home .hero-copy .hero-slide-label{margin-bottom:19px}.page-home .hero-actions{margin-top:23px;gap:1.2rem}.page-home .commercial-copy>p:not(.kicker){line-height:1.85}.page-home .about-copy>p,.page-home .copy-disclosure p{line-height:1.9}}
.page-home main p{word-spacing:.035em}
.page-home .front-work>.shell>.featured-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.page-home .front-work>.shell>.featured-work-grid{grid-template-columns:1fr}}
@media(max-width:400px){.page-home .hero-carousel-track{height:calc(300px + 66.6667vw)}.page-home .hero-slide{grid-template-rows:300px minmax(0,1fr)}}
.page-home #about-us{background:#e8e4d8}
.page-home .about-us-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:4.5rem;align-items:end}
.page-home .about-us-photo{margin:0}
.page-home .about-us-photo img{width:100%;height:26rem;object-fit:cover;display:block}
.page-home .about-us-photo figcaption{margin-top:.85rem;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.page-home .about-us-copy h2{font-size:clamp(2.3rem,3.8vw,4rem);line-height:1.12;letter-spacing:-.04em;max-width:14ch;margin:0 0 1.35rem}
.page-home .about-us-copy>p{font-size:.95rem;line-height:1.9;color:var(--muted);max-width:38rem}
.page-home .about-us-copy>p+p{margin-top:1rem}
.page-home .about-us-copy .btn-row{margin-top:1.8rem}
.page-home .about-us-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;list-style:none;margin:3.4rem 0 0;padding:0}
.page-home .about-us-points li{border-top:1px solid var(--line);padding-top:1.15rem}
.page-home .about-us-points span{display:block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em;color:#a94300;margin-bottom:.7rem}
.page-home .about-us-points strong{display:block;font-size:1.05rem;font-weight:500;letter-spacing:-.03em;margin-bottom:.5rem}
.page-home .about-us-points p{font-size:.8rem;line-height:1.75;color:var(--muted)}
@media(max-width:900px){.page-home .about-us-grid{grid-template-columns:1fr;gap:2rem}.page-home .about-us-photo img{height:18rem}.page-home .about-us-points{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.page-home .about-us-points{grid-template-columns:1fr}.page-home .about-us-copy h2{font-size:2.2rem}}
.page-home .hero-image figcaption{opacity:.92;letter-spacing:.06em}
.page-home .hero-carousel-controls{border-top:1px solid #191a1512;margin-top:8px}
.page-home .manifesto{padding-top:4.5rem}
.page-home .dimension-gallery{margin-top:3.4rem;box-shadow:0 24px 60px #191a150c}
.page-home .dimension-stage{aspect-ratio:16/9;max-height:min(540px,58vw);border-radius:2px}
.page-home .dimension-panel{inset:0;position:absolute;width:100%;height:100%}
.page-home .dimension-panel img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.page-home #dimension-identity img{object-position:center 48%}
.page-home #dimension-digital img{object-position:center 45%}
.page-home #dimension-world img{object-position:center 42%}
.page-home #dimension-people img{object-position:center 35%}
.page-home .dimension-panel figcaption{padding:72px 32px 30px;background:linear-gradient(transparent 8%,#1118 62%,#111d)}
@media(max-width:900px){.page-home .dimension-stage{max-height:min(400px,70vw)}}
@media(max-width:560px){.page-home .dimension-stage{aspect-ratio:5/4;max-height:min(380px,88vw)}.page-home .dimension-panel figcaption{padding:70px 18px 20px}}
.page-home .front-work .featured-project{transition:translate .45s var(--motion-ease)}
.page-home .front-work .featured-project:hover{translate:0 -4px}
.page-home .front-work .feature-caption h3{transition:color .3s}
.page-home .front-work .featured-project:hover .feature-caption h3{color:#a64916}
.page-home .about-us-photo img{transition:transform 1.1s var(--motion-ease)}
.page-home .about-us-copy .btn-row .btn{min-height:48px}
.page-home .resource-card{transition:translate .4s var(--motion-ease)}
.page-home .resource-card:hover{translate:0 -3px}
@media(prefers-reduced-motion:reduce){.page-home .front-work .featured-project,.page-home .resource-card{transition:none;translate:none}}

/* News desk: readable titles, human covers, quieter grid. */
.page-news .editorial-title{font-size:clamp(2.2rem,4.2vw,3.8rem);line-height:1.12;letter-spacing:-.04em;max-width:16ch}
.page-news .news-grid{gap:2.4rem 1.6rem}
.page-news .news-card{gap:0}
.page-news .news-card-media{aspect-ratio:16/10;margin-bottom:1rem;border-radius:2px;background:#e4dfd2}
.page-news .news-card-meta{font-size:.52rem;letter-spacing:.06em;gap:.45rem;line-height:1.5;margin:0}
.page-news .news-card h2,.page-news .news-card h3{font-size:clamp(.95rem,1.05vw,1.12rem)!important;font-weight:600;line-height:1.35!important;letter-spacing:-.02em;margin:.55rem 0 .45rem!important;max-width:none!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.page-news .news-card p{font-size:.78rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.page-news .news-card-more{margin-top:1rem;opacity:.72;transition:opacity .25s,gap .3s;gap:.5rem}
.page-news .news-card:hover .news-card-more{opacity:1}
.page-news .news-note{font-size:.72rem;line-height:1.75;color:var(--muted);max-width:62ch;margin-top:2.2rem}
.page-news .news-carousel-bar{margin-top:2.4rem;gap:1.2rem}
.page-news .news-carousel-btn{min-height:42px;padding:0 14px;width:auto;border-radius:999px;font-size:.62rem;display:inline-flex;align-items:center;gap:.45rem}
.page-news .news-carousel-status{font-family:var(--font-mono);font-size:.52rem;color:var(--muted)}
@media(max-width:960px){.page-news .news-card h2,.page-news .news-card h3{font-size:1.05rem!important}}
@media(max-width:640px){.page-news .news-card h2,.page-news .news-card h3{font-size:1.08rem!important}.page-news .news-grid{gap:2rem}}

/* Cooler homepage carousel: directional fade, ken burns, copy rise. */
.page-home .hero-slide{opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(18px,0,0) scale(.992);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),visibility .8s}
.page-home .hero-carousel.is-going-prev .hero-slide{transform:translate3d(-18px,0,0) scale(.992)}
.page-home .hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;z-index:2}
.page-home .hero-slide.is-exit{opacity:0;visibility:hidden;z-index:1}
.page-home .hero-carousel.is-going-next .hero-slide.is-exit{transform:translate3d(-28px,0,0) scale(.985)}
.page-home .hero-carousel.is-going-prev .hero-slide.is-exit{transform:translate3d(28px,0,0) scale(.985)}
.page-home .hero-copy .hero-slide-label,.page-home .hero-copy h2,.page-home .hero-copy>p:not(.hero-slide-label),.page-home .hero-actions{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.page-home .hero-slide.is-active .hero-copy .hero-slide-label{opacity:1;transform:none;transition-delay:.08s}
.page-home .hero-slide.is-active .hero-copy h2{opacity:1;transform:none;transition-delay:.16s}
.page-home .hero-slide.is-active .hero-copy>p:not(.hero-slide-label){opacity:1;transform:none;transition-delay:.26s}
.page-home .hero-slide.is-active .hero-actions{opacity:1;transform:none;transition-delay:.34s}
.page-home .hero-image img{transform:scale(1.06);transition:transform 7.2s cubic-bezier(.15,.7,.2,1),filter .6s}
.page-home .hero-slide.is-active .hero-image img{transform:scale(1)}
.page-home .hero-image:after{inset:55% 0 0;background:linear-gradient(transparent,#1119)}
.page-home .hero-carousel-controls{position:relative;padding-top:28px}
.page-home .hero-carousel-controls:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:#191a1512}
.page-home .hero-carousel-controls:after{content:'';position:absolute;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,#f58220,#ff9a33);transform-origin:left;animation:hero-rail 7s linear}
.page-home .hero-carousel.is-paused .hero-carousel-controls:after,.page-home .hero-carousel:hover .hero-carousel-controls:after{animation-play-state:paused}
.page-home .hero-carousel.is-meter-restart .hero-carousel-controls:after{animation:none}
.page-home .hero-carousel.is-meter-restart.is-ready .hero-carousel-controls:after{animation:hero-rail 7s linear}
@keyframes hero-rail{from{width:0}to{width:100%}}
.page-home .hero-arrow{transition:background .25s,color .25s,transform .35s cubic-bezier(.22,1,.36,1)}
.page-home .hero-arrow:hover{transform:scale(1.05)}
.page-home .hero-selector button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #f5822044}
@media(prefers-reduced-motion:reduce){
  .page-home .hero-slide,.page-home .hero-copy .hero-slide-label,.page-home .hero-copy h2,.page-home .hero-copy>p:not(.hero-slide-label),.page-home .hero-actions{transition:none!important;transform:none!important;opacity:1!important}
  .page-home .hero-image img{transform:none!important;transition:none!important}
  .page-home .hero-carousel-controls:after{animation:none;width:100%}
}
