/* Diamoria: a moving sculpture, oversized type and image-led chapters. */
.hero-stage{background:#050607}
.hero-live{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:clip}
.sculpture-canvas{display:block;width:100%;height:100%;opacity:0}
.scene-ready .sculpture-canvas{opacity:1}
.hero-image{transition:opacity .8s ease}
.scene-ready .hero-image{opacity:.075}
.hero-shade{z-index:-1;background:linear-gradient(90deg,#05060785,transparent 68%),linear-gradient(0deg,#050607 1%,transparent 30%)}
.hero-content{padding-top:clamp(12rem,31svh,21rem);padding-bottom:2rem}
.hero-eyebrow{font-size:.68rem;letter-spacing:.11em;margin-bottom:1.8rem;text-shadow:0 1px 7px #000,0 0 14px #000}
.hero h1{font-size:clamp(2.35rem,13vw,6.5rem);line-height:.92;letter-spacing:-.075em;text-shadow:0 2px 25px #0005}
.hero-line:nth-child(2){margin-left:.07em}
.hero-outline,.hero-outline .hero-ink{color:var(--accent);-webkit-text-stroke:0}
.hero-description{margin-top:1.75rem;font-size:.9375rem;line-height:1.5;color:#d7ded5}
.film-invitation{font-size:1rem;gap:1rem}
.film-invitation .play-circle{width:60px;height:60px}
.film-invitation small{margin-top:.35rem;letter-spacing:.06em;text-transform:uppercase;font-size:.625rem}
.hero-bottom{font-size:.75rem;letter-spacing:.03em}
.hero-aside{display:none}
.impact-bridge h2{font-size:clamp(3rem,13.4vw,16rem);line-height:.94;letter-spacing:-.08em;padding-block:3rem}
.impact-outline{color:var(--ink);-webkit-text-stroke:0}
.impact-meta{border-bottom:0}
.impact-depth::after{content:'↗';position:absolute;right:-.08em;top:-.25em;font-size:clamp(20rem,56vw,65rem);font-weight:500;line-height:1;color:#090b0e0c;transform:rotate(-8deg);pointer-events:none}
.section-caption{letter-spacing:.015em}
.agency-statement{max-width:19ch;line-height:1;letter-spacing:-.065em}
.agency-statement .reading-word:last-child{color:rgb(216 255 54 / var(--word-opacity,1))}
.agency-grid{position:relative;isolation:isolate;gap:0;background:#050708;border:1px solid var(--line);overflow:clip}
.agency-art{border-radius:0;min-width:0;background:#050708}
.agency-art img{aspect-ratio:4/3;object-position:30% center}
.agency-art figcaption{inset:auto 1.25rem 1.25rem;max-width:calc(100% - 2.5rem);padding:.4rem .65rem;border-left:1px solid var(--accent);font-size:.625rem;line-height:1.5;color:var(--paper);background:#090b0ed9;letter-spacing:.05em}
.agency-copy{position:relative;z-index:1;padding:1.75rem 1.25rem 2rem}
.agency-copy .lead{color:var(--paper);font-size:clamp(2rem,6.7vw,3.75rem);line-height:1.03}
.agency-copy .lead>span:last-child{color:var(--accent)}
.agency-copy>p{color:var(--muted)}
.agency-copy .text-link{color:var(--paper);border-color:var(--accent)}
.agency-notes{gap:.6rem 1rem;border-color:var(--line);color:var(--muted);font-size:.625rem;text-transform:uppercase;letter-spacing:.065em}
.agency-notes span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.agency-notes span::before{content:'↗';color:var(--accent);margin-right:.5rem}
.service>summary{gap:1rem;min-height:96px;padding-block:1.5rem}
.service h3{font-size:clamp(1.45rem,5.7vw,2.25rem);letter-spacing:-.055em;line-height:1.1}
.service .item-number{font-size:1.15rem;min-width:1.8rem;letter-spacing:-.07em}
.service summary>.icon{width:1.5rem;height:1.5rem}
.contact h2{letter-spacing:-.07em}
.contact-actions .button{font-size:1rem;min-height:64px;gap:2rem}
.footer-brand{font-size:clamp(2rem,17.2vw,21rem)}
.footer-top{align-items:flex-end}
@media(min-width:600px){
  .hero-content{padding-top:clamp(12rem,23svh,21rem)}
  .hero h1{font-size:clamp(4rem,11.5vw,9rem)}
  .hero-line:nth-child(2){margin-left:8vw}
  .impact-bridge h2{padding-block:4rem}
  .agency-copy{padding:2.5rem}
  .service>summary{padding-inline:1.25rem;gap:1.25rem}
  .service .item-number{font-size:1.75rem;min-width:2.5rem}
}
@media(min-width:960px) and (min-height:640px){
  .hero-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding-top:calc(var(--header-height) + 1.5rem);padding-bottom:1.25rem}
  .hero-eyebrow,.hero h1{grid-column:1/-1}
  .hero-eyebrow{font-size:.6875rem;margin-bottom:1.5rem}
  .hero h1{font-size:clamp(4rem,min(11.9vw,13.8svh),12rem);line-height:.88}
  .hero-description{margin-top:1.5rem;max-width:24rem;font-size:.875rem}
  .film-invitation{align-self:end;margin-top:0;padding:.5rem 0 .5rem 1.5rem;border-left:1px solid var(--line)}
  .film-invitation .play-circle{width:64px;height:64px}
  .hero-bottom{padding-block:.9rem}
  .hero.is-pinned .hero-finale{font-size:clamp(5rem,14.2vw,19rem);bottom:19%;letter-spacing:-.085em}
  .impact-bridge h2{padding-block:clamp(4rem,10svh,8rem)}
  .worlds.is-pinned .section-heading h2{font-size:clamp(1.7rem,2.6vw,3rem)}
  .worlds.is-pinned .world-card{flex-basis:92%}
  .worlds.is-pinned .world-window{overflow:clip;overflow-clip-margin:8px}
  .worlds.is-pinned .world-visual{height:clamp(210px,calc(100svh - var(--header-height) - clamp(280px,23vw,330px)),640px)}
  .worlds.is-pinned .world-visual h3{font-size:clamp(3rem,6.8vw,8.5rem);left:2rem;bottom:1.75rem;letter-spacing:-.07em}
  .worlds.is-pinned .world-visual h3 em{color:var(--paper)}
  .worlds.is-pinned .world-navigation{margin-top:.6rem}
  .worlds.is-pinned .world-number{font-size:.6875rem;letter-spacing:.12em}
  .worlds.is-pinned .world-action{width:52px;height:52px}
  .expertise-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:7%}
  .expertise-intro h2{font-size:clamp(2.8rem,5.7vw,6rem);line-height:.98}
  .service>summary{min-height:116px}
  .service h3{font-size:clamp(1.65rem,2.9vw,3.6rem)}
  .service .item-number{font-size:2rem;min-width:2.75rem}
  .service-content{padding:1.75rem 1.25rem 2rem}
  .contact h2{font-size:clamp(4rem,8.8vw,10rem);line-height:.97;max-width:17ch}
  .contact-actions{margin-top:3rem}
}
@media(min-width:900px){
  .agency-statement{max-width:18ch;font-size:clamp(4rem,7.2vw,7.5rem);margin-block:2.5rem}
  .agency-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:35rem;align-items:center}
  .agency-art{position:absolute;inset:0}
  .agency-art img{height:100%;aspect-ratio:auto;object-position:25% center}
  .agency-art figcaption{inset:auto auto 1.75rem 1.75rem;max-width:43%;font-size:.6875rem}
  .agency-copy{grid-column:2;padding:clamp(2rem,4vw,4rem) clamp(1.5rem,3vw,3rem);background:linear-gradient(90deg,#050708a6,#050708ed 45%)}
  .agency-copy .lead{font-size:clamp(2.4rem,3.5vw,3.75rem)}
  .agency-copy>p:not(.lead){font-size:.9375rem}
}
@media(max-width:599px){
  .hero-live{inset:1.75rem 0 auto;height:40svh}
  .hero-shade{background:linear-gradient(0deg,#050607 2%,#050607a0 28%,transparent 76%)}
  .hero-eyebrow{max-width:29ch}
}
@media(max-width:359px){.hero-live{top:0}}
@media(min-width:600px) and (max-width:959px){
  .hero-live{bottom:12%}
  .hero-shade{background:linear-gradient(0deg,#050607 1%,#050607b0 27%,transparent 78%)}
}
@media(prefers-reduced-motion:reduce){.hero-image{transition:none}}
@media print{.hero-live{display:none}.hero-content{display:block;padding-top:1rem}.hero-stage{background:white}.hero h1{font-size:3rem}.hero-outline,.hero-outline .hero-ink{color:inherit}.agency-grid{display:block;background:white}.agency-art{position:relative}.agency-copy{background:white}.agency-copy>p,.agency-copy .lead,.agency-copy .lead>span,.agency-copy .text-link,.agency-notes{color:#111}.agency-statement .reading-word:last-child{color:inherit}}
