.hero{overflow:hidden}
.hero-content{width:100%;padding:40px 5% 90px}
.hero h1{font-size:clamp(60px,8.6vw,132px);line-height:.98;letter-spacing:-.05em;font-weight:900;text-shadow:0 3px 22px #0004}
.title-line{display:block}
.hero h1 .title-line{color:var(--text)}
.hero-eyebrow{margin-bottom:28px;font-size:13px}
.hero-actions{margin-top:38px}
.hero-background{transition:opacity .65s ease;transform:scale(1.015)}
.hero-alternate{opacity:0;background-image:none;pointer-events:none}
.hero::before{z-index:-1;background:linear-gradient(180deg,#140b201c 25%,#100c1955 75%,#111014b0)}
.hero-photos{display:flex;gap:22px;align-items:center}
.hero-photos button{position:relative;background:transparent;color:#e1dce5;font-size:12px;font-weight:600;padding:12px 0;min-height:44px}
.hero-photos button::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.hero-photos button[aria-pressed=true]{color:var(--gold)}
.hero-photos button[aria-pressed=true]::after,.hero-photos button:hover::after{transform:scaleX(1)}
.hero-photos button:disabled{cursor:wait}
.hero-photos button:disabled:not([aria-pressed=true]){opacity:.6}
.section-heading{margin-bottom:32px}
.about-layout h2{line-height:1.04}
.about-layout p:not(.subtitle){max-width:430px;font-size:16px;line-height:1.85}
.team-facts{margin-top:24px;font-size:12px;letter-spacing:.2px}
.portrait-label{background:linear-gradient(transparent,#100d17d9);padding:48px 18px 24px}
.portrait-label strong{font-size:15px;letter-spacing:-.4px}
.portrait-label i{top:auto;bottom:22px;right:18px;font-size:24px}
.portrait-card{height:390px}
.portrait-card:nth-child(even){margin-top:28px}
.portrait-card img{transition:transform .55s cubic-bezier(.2,.65,.3,1)}
.project-info h3{font-size:24px;line-height:1.15;margin-top:12px}
.project-card:not(:first-child){grid-template-columns:50% 1fr;align-items:center}
.project-card:first-child .project-image{aspect-ratio:1.45}
.project-image>i{border-radius:50%;width:40px;height:40px;display:grid;place-items:center;right:12px;bottom:12px;padding:0;transition:transform .25s,background .25s}
.project-card:hover .project-image>i{transform:rotate(45deg);background:var(--gold);color:#21152a}
.project-image img{transition:transform .5s ease}
.gallery-card{aspect-ratio:1.2}
.gallery-card img{transition:transform .6s cubic-bezier(.2,.65,.3,1)}
.gallery-controls{margin-top:24px}
.competition-layout{animation:panel-enter .35s ease both}
.button:active,.circle-button:active{transform:scale(.97)}
.button-white:hover,.button-gold:hover{background:#ffdb76;border-color:#ffdb76}
.text-link{background-image:linear-gradient(var(--gold),var(--gold));background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .25s,color .25s}
.text-link:hover{background-size:100% 1px}
@media(prefers-reduced-motion:no-preference){
  .hero-content .title-line{animation:title-enter .8s cubic-bezier(.16,1,.3,1) both}
  .hero-content .title-line:nth-child(2){animation-delay:.12s}
  .hero-actions{animation:panel-enter .6s .25s both}
}
@keyframes title-enter{from{opacity:0;transform:translateY(30px);clip-path:inset(100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes panel-enter{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.portrait-card{height:320px}.portrait-label{padding:42px 12px 20px}.portrait-label strong{font-size:12px}.portrait-label i{right:10px;bottom:16px}.project-info h3{font-size:20px}}
@media(max-width:760px){
  .hero{min-height:620px;height:calc(94svh - 63px)}
  .hero-content{padding:30px 18px 80px}
  .hero h1{font-size:clamp(43px,10.8vw,78px);letter-spacing:-.05em;line-height:1.04}
  .hero-eyebrow{font-size:12px;margin-bottom:23px}
  .hero-actions{margin-top:30px;gap:12px}
  .hero-actions .button{min-width:0;padding:14px 18px;font-size:12px}
  .hero-bottom{left:23px;right:23px;bottom:25px;align-items:flex-end}
  .hero-bottom>span:first-child{max-width:90px;line-height:2}
  .hero-bottom b{padding:0 3px}
  .hero-photos{gap:16px}
  .hero-photos button{font-size:11px}
  .portrait-card{height:275px}
  .portrait-card:nth-child(even){margin-top:20px}
  .portrait-label{padding:40px 12px 19px}
  .portrait-label strong{font-size:12px}
  .about-layout p:not(.subtitle){font-size:15px}
  .project-card:not(:first-child){grid-template-columns:42% 1fr}
  .project-info h3{font-size:20px}
  .gallery-card{flex-basis:84%;aspect-ratio:1.12}
  .gallery-controls{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.hero-background{transition:none}.competition-layout{animation:none}}
