/* Arknova — restrained typography, shorter mobile cards, quiet controls. */
:root{--photo-radius:18px;--photo-radius-large:22px;--display-font:'Manrope',Arial,sans-serif}
html[data-display-font=serif]{--display-font:Georgia,'Times New Roman',serif}
html[data-display-font=classic]{--display-font:'Trebuchet MS',Arial,sans-serif}
h1,h2,h3{font-family:var(--display-font)}
.intro-skip,.intro-rule,.intro-signature,.intro-brand-frame p,.intro-brand-frame:before,.intro-brand-frame:after{display:none!important}
.intro-brand-frame{padding:0;width:min(300px,65vw)}
.intro-brand-frame img{width:100%;height:auto;clip-path:none!important;animation:brand-soft 1.8s ease both!important}
@keyframes brand-soft{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.home-hero{min-height:620px;height:92svh;max-height:1000px;border-radius:0;display:flex;flex-direction:column;justify-content:center}
.hero-copy{padding:130px var(--gutter) 150px;max-width:100%;position:relative;z-index:2}
.hero-copy h1{font-size:clamp(3rem,5.7vw,6.3rem);line-height:1.12;letter-spacing:-.045em;font-weight:400;max-width:18ch;margin:24px 0}
.hero-description{font-size:clamp(.9rem,1.1vw,1.08rem);max-width:40ch;line-height:1.8;color:#fffdf3db}
.hero-copy .kicker{letter-spacing:.22em;font-size:.65rem;font-weight:500}
.hero-copy>.button,.hero-meta .kicker,.hero-scroll{display:none!important}
.hero-overlay{background:linear-gradient(90deg,#131b19a6,#131b1910 85%),linear-gradient(0deg,#131b19a1,transparent 55%,#131b193d)}
.hero-meta{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;margin:0;padding:18px 0 0;border-top:1px solid #ffffff40;display:flex;align-items:center;gap:24px;z-index:3}
.hero-meta>div:first-child{min-width:0;max-width:60%}
#hero-project{font-size:.85rem;text-align:left;letter-spacing:.02em;line-height:1.5}
.hero-tabs{display:flex;gap:7px;align-items:center}
.hero-tabs button{min-width:44px;min-height:44px;padding:10px;color:#ffffffa8;font-size:.72rem;border-radius:50%;border:1px solid transparent}
.hero-tabs button::after{display:none}
.hero-tabs button[aria-pressed=true]{border-color:#ffffff80;color:white;background:#ffffff0a}
.hero-slide{transition:opacity 1.2s ease;animation:none!important}
.hero-slide>img,.hero-slide>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-slide>video{opacity:0;transition:opacity .6s}
.hero-slide>video.is-playing{opacity:1}
.hero-copy.copy-entering{animation:quiet-copy .8s cubic-bezier(.2,.7,.3,1) both}
@keyframes quiet-copy{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.card-image{border-radius:18px;box-shadow:none;background:#eae7e0}
.card-index{display:none}
.card-open{border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;font-size:0;background:#fcfbf8e8;right:16px;bottom:16px}
.card-open span,.card-open b{font-size:22px;font-weight:400}
.card-title{padding:17px 2px 0}.card-title h3{letter-spacing:-.025em;line-height:1.35}
.filter-links{gap:8px;flex-wrap:wrap}
.filter-links a{border:1px solid #d8d5cc;border-radius:999px;padding:12px 20px;min-height:46px;transition:background .2s,color .2s}
.filter-links a[aria-current]{background:#292d29;color:#fff;border-color:#292d29}
.filter-links a[aria-current] small{color:#e1dfd5}
.project-search,.search-box,.search{border-radius:14px;overflow:hidden}
.hero-copy h1,.hero-description{white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:850px){
 .home-hero{height:88svh;min-height:560px;max-height:850px;justify-content:center}
 .hero-copy{padding:120px 7vw 130px}
 .hero-copy h1{font-size:clamp(2.65rem,8.8vw,4.7rem);max-width:17ch;letter-spacing:-.04em}
 .hero-meta{left:7vw;right:7vw;bottom:22px;display:flex}
 .hero-meta>div:first-child{display:block;max-width:52%}
 .hero-tabs{display:flex;gap:2px}.hero-tabs button{min-width:40px;padding:8px}
 .hero-description{max-width:32ch;font-size:.88rem}
 .editorial-grid .project-card:nth-child(2n){margin-top:0}
 .project-grid .card-image,.editorial-grid .card-image,.archive-grid .card-image{height:auto;aspect-ratio:4/3;max-height:420px}
 .project-grid .card-image>img,.editorial-grid .project-card:nth-child(n) .card-image>img,.archive-grid .card-image>img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}
 .filter-links{display:flex;gap:8px}.filter-links a{width:auto;flex:0 1 auto;font-size:.8rem;padding:10px 15px;gap:12px}
 .editorial-grid,.archive-grid{gap:32px}
}
@media(max-width:380px){.hero-copy h1{font-size:2.45rem}.hero-meta{gap:6px}.hero-tabs button{min-width:36px}.hero-description{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.hero-copy.copy-entering,.intro-brand-frame img{animation:none!important}}

/* Explicit image heights override HTML dimension hints at every breakpoint. */
:root{--image-edge:16px;--frame-line:#dedbd3}
main img{max-width:100%;display:block}
.card-image{height:auto;aspect-ratio:4/3;border-radius:var(--image-edge)}
.project-card .card-image>img,.editorial-grid .project-card:nth-child(n) .card-image>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.editorial-grid .project-card:nth-child(2n){margin-top:64px}
.team-grid{gap:clamp(24px,4vw,64px);max-width:1160px;margin-inline:auto}
.team-grid article{min-width:0}
.team-grid article>img{width:100%;height:clamp(320px,34vw,440px);aspect-ratio:auto;object-fit:cover;object-position:50% 0%;border-radius:var(--image-edge)}
.team-grid article>div{padding:20px 0;gap:10px;align-items:center}
.team-grid h2{font-size:clamp(1.3rem,2.1vw,1.9rem);letter-spacing:-.025em;font-weight:400}
.team-grid span{font-size:.76rem;letter-spacing:.04em}
.team-teaser img,.process-teaser>div:first-child>img,.service-card img{width:100%;height:clamp(300px,32vw,480px);aspect-ratio:auto;object-fit:cover;border-radius:var(--image-edge)}
.project-cover .cover-trigger{width:100%;display:block;overflow:hidden;border-radius:var(--image-edge);background:#eeece6}
.project-cover .cover-trigger img{width:100%;height:clamp(340px,42vw,640px);max-height:none;aspect-ratio:auto;object-fit:cover;border-radius:var(--image-edge)}
.gallery-trigger{width:100%;display:block;overflow:hidden;background:#eeece6;border-radius:var(--image-edge)}
.gallery-item img,.gallery-item.full img{width:100%;height:clamp(260px,30vw,460px);aspect-ratio:auto;object-fit:cover;border-radius:var(--image-edge)}
.gallery-item.full img{height:clamp(320px,42vw,600px)}
.sub-hero{height:clamp(400px,48vw,640px);min-height:0;max-height:none;border-radius:0 0 20px 20px}
.sub-hero>img{width:100%;height:100%;object-fit:cover}
.service-card,.team-teaser{align-items:center}
.gallery-item figcaption{font-size:.8rem;line-height:1.6;padding-top:12px;color:#6a6b61}
.page-title h1,.section-heading h2{letter-spacing:-.04em;line-height:1.13}
.page-title{padding-block:clamp(40px,6vw,85px)}
.team-note{border-top:1px solid var(--frame-line);padding-top:40px}
@media(max-width:850px){
 .editorial-grid .project-card:nth-child(2n){margin-top:0}
 .team-grid article>img{height:340px}
 .team-teaser img,.process-teaser>div:first-child>img,.service-card img{height:320px}
 .project-cover .cover-trigger img{height:400px}
 .gallery-item img,.gallery-item.full img{height:300px}
 .sub-hero{height:480px}
}
@media(max-width:560px){
 :root{--image-edge:14px}
 .team-grid{grid-template-columns:1fr;gap:30px;padding-bottom:48px}
 .team-grid article>img{height:clamp(240px,76vw,340px);object-position:50% 0%}
 .team-grid article>div{display:flex;flex-wrap:wrap;padding:16px 1px;gap:8px 14px}
 .team-grid h2{font-size:1.4rem}.team-grid span{font-size:.72rem}
 .team-teaser img,.process-teaser>div:first-child>img,.service-card img{height:clamp(210px,65vw,300px)}
 .project-cover .cover-trigger img{height:clamp(230px,72vw,340px);object-fit:cover}
 .gallery-item img,.gallery-item.full img{height:clamp(210px,66vw,310px);object-fit:cover}
 .gallery-grid{gap:24px}.gallery-section{padding-top:38px}
 .sub-hero{height:400px}.sub-hero>div:last-child{padding-inline:var(--gutter)}
 .sub-hero h1{font-size:clamp(2rem,8vw,3rem)}
 .page-title{padding-top:36px;padding-bottom:32px}
 .service-card{gap:24px;margin-bottom:34px;padding-bottom:34px}
 .team-teaser{gap:28px;margin-block:40px}
 .process-teaser-copy{padding-block:40px}
 .card-title h3{font-size:1.2rem}.card-title{padding-top:14px}
}
/* The full-size viewer never crops architectural details. */
.lightbox-stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
