:root{--black:#0a0a0a;--ink:#171716;--white:#f5f5f3;--gray-100:#e7e7e3;--gray-300:#c7c7c1;--gray-500:#8b8b85;--gray-700:#3a3a37;--line:rgba(245,245,243,.17);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--space:clamp(1.25rem,4vw,4rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;background:var(--white);color:var(--black);padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header,.admin-header{min-height:5rem;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--space);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{font-weight:700;font-size:1.2rem;letter-spacing:.04em}.brand span{color:var(--gray-500)}.main-nav,.admin-header nav{display:flex;align-items:center;gap:1.5rem}.main-nav a,.admin-header a,.link-button{color:var(--gray-300);transition:color .18s}.main-nav a:hover,.main-nav a:focus-visible,.admin-header a:hover{color:var(--white)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--white);padding:.55rem .8rem}.section-shell{width:min(1200px,100%);margin:auto;padding:clamp(4rem,10vw,9rem) var(--space);border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--gray-500);font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}h1{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.045em}h2{font-size:clamp(2.4rem,6vw,5.5rem);letter-spacing:-.04em}h3{font-size:clamp(1.6rem,3vw,2.4rem)}em{font-weight:400;color:var(--gray-300)}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,6vw,7rem);align-items:center;min-height:calc(100vh - 5rem)}.hero h1{max-width:11ch}.hero__lead{max-width:42rem;font-size:clamp(1rem,2vw,1.3rem);color:var(--gray-300)}.hero__portrait{aspect-ratio:4/5;border:1px solid var(--line);background:radial-gradient(circle at 50% 35%,var(--gray-700),var(--ink) 48%,#050505);display:grid;place-items:end center;overflow:hidden}.hero__portrait span{font-family:var(--serif);font-size:clamp(2rem,5vw,4rem);line-height:.85;text-align:center;color:var(--gray-500);padding-bottom:2rem}.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.2rem;border:1px solid var(--white);background:var(--white);color:var(--black);cursor:pointer;transition:transform .18s,background .18s,color .18s}.button:hover,.button:focus-visible{transform:translateY(-1px)}.button--ghost{background:transparent;color:var(--white);border-color:var(--line)}.button--danger{background:transparent;color:#ffb8b8;border-color:#753e3e}.button--disabled{opacity:.55;cursor:not-allowed}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:3rem}.section-heading h2{max-width:12ch}.section-index{font-family:var(--serif);font-size:2rem;color:var(--gray-500)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.project-card{border:1px solid var(--line);background:var(--ink)}.project-card__visual{aspect-ratio:4/3;display:grid;place-items:center;background:var(--white);overflow:hidden}.project-card__visual img{width:45%;height:45%;object-fit:contain;transition:transform .35s}.project-card:hover .project-card__visual img{transform:scale(1.04)}.project-card__body{padding:clamp(1.25rem,3vw,2rem)}.project-card__body p{color:var(--gray-300)}.badge{display:inline-block;border:1px solid var(--line);padding:.3rem .55rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-300);margin-bottom:1rem}.text-link{display:inline-flex;gap:.4rem;border-bottom:1px solid var(--gray-500)}.section-action{margin-top:2rem}.empty-state{border:1px solid var(--line);padding:3rem;color:var(--gray-300)}.contact-links{display:grid;border-top:1px solid var(--line)}.contact-links a{display:flex;justify-content:space-between;padding:1.3rem 0;border-bottom:1px solid var(--line);font-size:clamp(1.2rem,3vw,2rem)}.muted{color:var(--gray-500)}.page-hero{padding-bottom:4rem}.page-hero h1{max-width:11ch}.pagination{display:flex;gap:.5rem;margin-top:2rem}.pagination a{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px solid var(--line)}.pagination [aria-current=page]{background:var(--white);color:var(--black)}.project-detail__header{display:grid;grid-template-columns:1fr minmax(15rem,28rem);gap:4rem;align-items:center}.project-detail__header img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--white);padding:20%}.project-detail__content{display:grid;grid-template-columns:2fr 1fr;gap:clamp(3rem,10vw,9rem);margin-top:6rem}.project-detail__content aside{border-left:1px solid var(--line);padding-left:2rem}.project-detail__content ul{list-style:none;padding:0;margin-bottom:2rem}.prose{color:var(--gray-300);font-size:1.1rem}.auth-shell{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.auth-form,.project-form{display:grid;gap:1.25rem}.auth-form label,.project-form label{display:grid;gap:.5rem;color:var(--gray-300)}input,textarea,select{width:100%;background:var(--ink);color:var(--white);border:1px solid var(--line);padding:.9rem}textarea{resize:vertical}.alert{padding:1rem;border:1px solid var(--line);margin-bottom:1rem}.alert--error{border-color:#753e3e;color:#ffb8b8}.alert--success{border-color:#3b684a;color:#b8ffd0}small{color:#ffb8b8}.site-footer{padding:0 var(--space) 2rem}.footer-monument{min-height:clamp(15rem,40vw,35rem);display:grid;place-items:end center;background:linear-gradient(to top,#080808 5%,transparent),repeating-linear-gradient(90deg,#111 0 10%,#1a1a19 10% 12%,#0a0a0a 12% 21%);border-inline:1px solid var(--line);overflow:hidden}.footer-monument span{font-family:var(--serif);font-size:clamp(6rem,24vw,22rem);line-height:.65;color:#20201f;text-transform:uppercase;letter-spacing:-.08em}.footer-row{display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;color:var(--gray-500);font-size:.8rem}

