/* ARCHY — photographic composition and shared typography, October 2026. */
:root{--ink:#292e2c;--muted:#626964;--green:#626b00;--paper:#fff;--line:#e2e5df}
body{font-weight:400;line-height:1.7;background:#fff}
h1,h2,h3{text-wrap:balance;font-weight:300}p{text-wrap:pretty}
.masthead{padding:20px 5%;gap:24px;min-height:108px}
.logo-window{width:70px;height:73px}.signature .logo-window img{width:70px}
.signature{gap:19px}.signature-word{font-size:23px;letter-spacing:.14em}
.signature-word em{font-size:12px;letter-spacing:.14em}.signature-caption{font-size:12px;letter-spacing:.025em}
.primary-nav{font-size:16px;gap:30px}.languages{font-size:14px}.header-right{gap:38px}
.hero-heading{grid-template-columns:1.55fr 1fr;padding:34px 0 30px;gap:8%;align-items:center}
.hero-heading h1{font-size:clamp(2.5rem,4.3vw,4.25rem);line-height:1.12;letter-spacing:-.035em}
.hero-heading .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:14px}
.hero-heading h1 span:last-child{color:var(--ink)}
.hero-side{font-size:16px;line-height:1.7;max-width:390px;border-inline-start:0;padding-inline-start:0;color:var(--muted)}
.hero-photos{display:grid;grid-template-columns:1.8fr 1fr;gap:18px}
.hero-photos .hero-link{min-width:0;display:block}
.hero-photos .hero-figure{height:clamp(360px,49vw,580px);min-height:0;max-height:none;background:transparent;overflow:visible}
.hero-photos .hero-figure img{height:calc(100% - 65px);width:100%;object-fit:cover;object-position:50% 50%;animation:none;transition:filter .4s}
.hero-photos .hero-link:hover img{filter:brightness(.96)}
.hero-photos .hero-figure figcaption{position:static;padding:14px 0 0;background:none;color:var(--ink);font-size:13px;line-height:1.6;display:block}
.hero-photos .hero-figure figcaption strong{font-size:16px;font-weight:500;margin-bottom:2px;letter-spacing:0}
.hero-photos .hero-figure figcaption small{font-size:13px;color:var(--muted)}
.hero-index{font-size:12px;letter-spacing:.05em;padding:19px 0 17px;border-top:1px solid var(--line);margin-top:9px}
.category-nav{font-size:14px;line-height:1.7;gap:12px 23px;padding-block:23px}
.home-intro{padding-block:78px;grid-template-columns:1fr 1.2fr;align-items:start}
.home-intro h2{font-size:clamp(2rem,3vw,3rem);line-height:1.2;letter-spacing:-.025em}
.home-intro p,.agency-copy p,.project-narrative p{font-size:18px;line-height:1.85;max-width:65ch}
.section{padding-block:65px}.section-heading{margin-bottom:34px}.section-heading h2{font-size:32px;letter-spacing:-.025em}
.project-grid{gap:48px 30px}.card-frame{height:auto;aspect-ratio:4/3}
.project-card h3{font-size:22px;line-height:1.35;letter-spacing:-.015em;max-width:28ch}
.project-card .eyebrow{font-size:12px;letter-spacing:.065em;margin:18px 0 9px;line-height:1.6}
.card-year{font-size:12px;font-weight:500;padding:6px 10px;top:12px;inset-inline-start:12px}
.card-status{font-size:14px;line-height:1.6;margin-top:7px;color:var(--muted)}
.text-link{font-size:15px;font-weight:400;white-space:normal;line-height:1.6}
.art-diptych{padding-block:45px 85px;gap:8%;grid-template-columns:1.1fr .9fr}
.art-diptych h2{line-height:1.15;font-size:clamp(2rem,3.5vw,3.3rem);letter-spacing:-.025em}
.art-diptych p{font-size:18px;line-height:1.85;max-width:44ch}
.art-diptych figcaption{font-size:14px;line-height:1.6;padding:45px 24px 23px}
.page-heading{padding-top:48px}.page-heading h1{font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.2;letter-spacing:-.025em}
.page-heading>p{font-size:17px;line-height:1.8}.portfolio-note{font-size:14px;line-height:1.8}
.project-heading h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.2;letter-spacing:-.025em;max-width:24ch}
.project-heading .program{font-size:18px;line-height:1.7}.project-status{font-size:14px;color:var(--muted)}
.project-facts dt{font-size:14px}.project-facts dd{font-size:16px;line-height:1.7}
.search-label,.result-count{font-size:14px}.search-label input{font-size:16px}.filters button{font-size:14px}
.quiet-contact{background:#f5f6f2;padding-block:60px}.quiet-contact h2{font-size:32px;line-height:1.25}.contact-address{font-size:16px}
.site-footer,.footer-links button{font-size:14px}.cookie-panel p{font-size:15px}.cookie-panel{max-width:520px}
html[dir=rtl] .hero-heading h1{font-size:clamp(2rem,3.7vw,3.7rem);line-height:1.6;letter-spacing:0}
html[dir=rtl] .hero-figure figcaption{line-height:1.8}html[dir=rtl] .home-intro h2,html[dir=rtl] .art-diptych h2{line-height:1.65;letter-spacing:0}
@media(max-width:1000px){.signature-caption{display:none}.hero-heading{gap:6%;grid-template-columns:1.5fr 1fr}.header-right{gap:22px}.primary-nav{gap:22px}.hero-photos{grid-template-columns:1.5fr 1fr;gap:14px}.project-grid{gap:36px 24px}}
@media(max-width:650px){.masthead{padding:17px 6%;min-height:0;gap:19px}.signature-word{font-size:21px}.logo-window{width:55px;height:57px}.signature .logo-window img{width:55px}.signature{gap:14px}.header-right{gap:16px}.primary-nav{font-size:15px;gap:22px}.languages{font-size:14px}.hero-heading{grid-template-columns:1fr;padding:29px 0 26px;gap:18px}.hero-heading h1{font-size:clamp(2.15rem,8.6vw,3rem);line-height:1.13;letter-spacing:-.035em}.hero-side{font-size:16px;line-height:1.7}.hero-heading .eyebrow{font-size:12px;margin-bottom:13px}.hero-photos{grid-template-columns:1fr;gap:25px}.hero-photos .hero-figure{height:auto}.hero-photos .hero-figure img{height:auto;aspect-ratio:4/3;object-fit:cover}.hero-photos .hero-link:nth-child(2) .hero-figure img{aspect-ratio:16/10;object-position:50% 52%}.hero-photos .hero-figure figcaption{padding-top:12px;font-size:13px}.hero-index{font-size:12px;gap:18px;letter-spacing:0;line-height:1.6;margin-top:25px}.category-nav{font-size:14px;gap:13px 18px}.home-intro{padding-block:47px;gap:22px;grid-template-columns:1fr}.home-intro h2{font-size:32px}.home-intro p,.agency-copy p,.project-narrative p{font-size:17px;line-height:1.8}.section{padding-block:42px}.section-heading{gap:16px;margin-bottom:27px}.section-heading h2{font-size:29px}.project-grid{gap:34px}.project-card h3{font-size:21px;max-width:none}.card-frame{height:auto;aspect-ratio:4/3}.art-diptych{grid-template-columns:1fr;padding-block:22px 52px;gap:28px}.art-diptych figure{height:420px}.art-diptych h2{font-size:34px}.art-diptych p{font-size:17px}.quiet-contact h2{font-size:28px}.page-heading h1,.project-heading h1{font-size:32px}.site-footer{font-size:14px}.portfolio-note{font-size:14px}.cookie-panel{max-height:65vh}.cookie-panel p{font-size:14px}html[dir=rtl] .hero-heading h1{font-size:32px;line-height:1.65}}
@media(prefers-reduced-motion:reduce){.hero-photos img{transition:none}}

/* Clear project selection and contact hierarchy. */
.project-cta{display:inline-flex;align-items:center;gap:1.2rem;padding:.85rem 1.2rem;border:1px solid var(--ink,#222);font-size:15px;text-decoration:none;line-height:1.4}.project-cta:hover{background:#c4df35;color:#151515}.hero-action{margin:1.5rem 0 0}.quiet-contact .project-cta{margin:1rem 0 1.5rem}.selection-tools{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.6rem}.selection-tools button{background:white;border:1px solid #777;padding:.8rem 1.2rem;font:inherit;cursor:pointer}.selection-tools button[aria-pressed="true"]{background:#c4df35;border-color:#c4df35;color:#151515}.project-narrative h2{font-size:22px;margin:1.5rem 0 .8rem}.agency-expertise{max-width:760px;margin:3rem 0}.agency-expertise h2{font-size:28px}.agency-expertise p{line-height:1.8}.project-card[hidden]{display:none!important}:focus-visible{outline:2px solid #425000;outline-offset:5px}
/* Construction news */
.news-page h1,.news-article h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.15;margin:1rem 0}.news-intro{font-size:1.25rem;color:var(--muted)}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.news-empty{grid-column:1/-1;padding:3rem 0;border-top:1px solid var(--line);font-size:1rem}.news-card{color:inherit;text-decoration:none}.news-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.news-card h3{font-size:1.5rem;line-height:1.3}.news-card p{font-size:1rem}.news-article{max-width:1100px;margin:auto}.news-article figure{margin:2rem 0}.news-article figure img{width:100%;max-height:750px;object-fit:contain}.news-article figcaption{font-size:.875rem;color:var(--muted)}.news-body{max-width:70ch;font-size:1.125rem;line-height:1.85}.primary-nav{flex-wrap:wrap}@media(max-width:800px){.news-grid{grid-template-columns:1fr}.news-page,.news-article{padding-inline:5%}}
