:root{--ink:#161918;--paper:#f4f3ee;--card:#e9e8e2;--line:#d5d4ce;--lime:#d7ff45;--muted:#70736f;--white:#fff;--radius:6px;--font:"DM Sans","Noto Sans SC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;gap:10px;align-items:center;font-weight:700;letter-spacing:.08em}.brand-mark{width:30px;height:30px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:700;font-size:14px}.main-nav{display:flex;align-items:center;gap:34px;font-size:14px}.main-nav a:hover{opacity:.55}.nav-admin{border:1px solid var(--ink);background:transparent;padding:10px 16px}.nav-admin:hover{background:var(--ink);color:var(--paper)}.hero{padding:110px 4vw 80px;min-height:540px}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:600;margin:0 0 30px;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.65fr .65fr;gap:8vw;align-items:end}.hero h1{font-size:clamp(54px,8.2vw,126px);line-height:.95;letter-spacing:-.065em;margin:0;font-weight:500}.hero-copy{padding-bottom:10px}.hero-copy>p{font-size:clamp(16px,1.6vw,22px);line-height:1.65;margin:0 0 44px}.hero-meta{display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--ink);padding-top:14px}.hero-meta span:first-child{font-size:32px}.hero-meta span:last-child{font-size:13px;color:var(--muted)}.work-section{padding:0 4vw 130px}.work-toolbar{border-top:1px solid var(--ink);padding:22px 0 34px;display:flex;justify-content:space-between;gap:20px}.filters{display:flex;flex-wrap:wrap;gap:6px}.filter-btn{border:0;background:transparent;padding:7px 11px;color:var(--muted);font-size:13px}.filter-btn.active{background:var(--ink);color:var(--lime)}.search-wrap{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ink);min-width:180px}.search-wrap svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.5}.search-wrap input{border:0;background:transparent;outline:none;width:100%;padding:7px 0}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:54px 22px}.project-card{grid-column:span 6;cursor:pointer;outline:none}.project-card:nth-child(3n){grid-column:span 7}.project-card:nth-child(3n+1):not(:first-child){grid-column:span 5}.project-cover{aspect-ratio:1.48;overflow:hidden;background:#ddd;position:relative}.project-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.project-card:hover .project-cover img,.project-card:focus .project-cover img{transform:scale(1.025)}.project-index{position:absolute;top:14px;left:14px;background:var(--paper);font-size:11px;padding:6px 8px}.project-info{display:flex;justify-content:space-between;gap:24px;padding-top:16px;border-top:1px solid var(--ink);margin-top:10px}.project-info h3{font-size:21px;margin:0 0 7px;font-weight:500}.project-info p{margin:0;color:var(--muted);font-size:13px}.project-arrow{font-size:24px}.empty-state{text-align:center;padding:100px 20px;border-top:1px solid var(--line)}.empty-state button{border:0;background:transparent;text-decoration:underline}.about{background:var(--ink);color:var(--paper);padding:110px 4vw}.about .eyebrow{color:#999}.about-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:10vw}.about h2{font-size:clamp(36px,4.5vw,68px);letter-spacing:-.045em;line-height:1.12;margin:0;font-weight:500}.services{border-top:1px solid #464947}.services>div{display:grid;grid-template-columns:50px 1fr;border-bottom:1px solid #464947;padding:17px 0}.services span{color:#888;font-size:12px}.services p{margin:0}footer{padding:45px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid var(--line);font-size:13px}footer>div{display:flex;align-items:center;gap:10px}footer p{text-align:center;font-size:18px}footer>span{text-align:right;color:var(--muted)}dialog{border:0;padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(10,12,11,.7);backdrop-filter:blur(6px)}.project-dialog{width:min(1200px,94vw);max-height:92vh}.dialog-close{position:fixed;right:calc(3vw + 12px);top:calc(4vh + 12px);z-index:4;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.35);color:white;font-size:25px}.detail-hero{position:relative;height:min(68vh,720px);min-height:420px}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero-overlay{position:absolute;inset:auto 0 0;padding:70px 5vw 40px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.78))}.detail-hero h2{font-size:clamp(38px,6vw,78px);letter-spacing:-.05em;margin:8px 0;font-weight:500}.detail-hero p{margin:0}.detail-body{padding:60px 5vw 90px}.detail-summary{display:grid;grid-template-columns:1fr 2fr;gap:8vw;margin-bottom:60px}.detail-facts{font-size:13px}.detail-facts div{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.detail-description{font-size:clamp(19px,2vw,28px);line-height:1.65;margin:0}.detail-media{display:grid;gap:18px}.detail-media img,.detail-media video,.detail-media iframe{width:100%;display:block;background:#111}.detail-media iframe{aspect-ratio:16/9;border:0}.media-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:var(--muted);font-size:12px}.login-dialog{width:min(460px,92vw);background:var(--ink);color:white}.dialog-close.dark{position:absolute;right:16px;top:16px}.login-form{padding:58px 52px}.dark-mark{background:var(--lime);color:var(--ink);margin-bottom:45px}.login-form h2{font-size:40px;letter-spacing:-.04em;margin:0 0 10px}.muted{color:#999}.login-form label,.project-form label{display:grid;gap:8px;font-size:13px;margin-top:22px}.login-form input,.project-form input,.project-form textarea{width:100%;border:1px solid #555;background:transparent;color:inherit;padding:13px;outline:none}.login-form input:focus{border-color:var(--lime)}.form-error{color:#ff816f;min-height:20px;font-size:12px}.primary-btn,.secondary-btn{border:1px solid var(--ink);padding:13px 20px;font-weight:600}.primary-btn{background:var(--lime);color:var(--ink)}.secondary-btn{background:transparent}.login-form .primary-btn{width:100%;margin-top:8px}.login-form small{display:block;color:#777;text-align:center;margin-top:18px}.admin-shell{position:fixed;inset:0;z-index:10;background:#f2f2ef;display:grid;grid-template-columns:230px 1fr}.admin-shell[hidden]{display:none}.admin-sidebar{background:var(--ink);color:white;padding:30px 24px;display:flex;flex-direction:column}.admin-brand{margin-bottom:70px}.admin-menu button,.logout-btn{border:0;background:transparent;color:#aaa;text-align:left;padding:12px 0}.admin-menu button.active{color:var(--lime)}.logout-btn{margin-top:auto}.admin-main{overflow:auto}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;padding:46px 4vw 28px}.admin-header .eyebrow{margin-bottom:10px}.admin-header h2{font-size:40px;margin:0;letter-spacing:-.04em}.compact{padding:11px 17px}.admin-table-wrap{padding:0 4vw 50px}table{border-collapse:collapse;width:100%;background:white}th,td{text-align:left;padding:16px 14px;border-bottom:1px solid #e5e5e1;font-size:13px}th{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.08em}.table-project{display:flex;align-items:center;gap:12px;font-weight:600}.table-project img{width:58px;height:40px;object-fit:cover;background:#ddd}.table-actions{display:flex;justify-content:flex-end;gap:6px}.table-actions button{border:1px solid var(--line);background:white;padding:7px 10px}.table-actions .danger{color:#b83220}.editor-dialog{width:min(880px,96vw);max-height:94vh;padding:34px}.editor-heading{display:flex;justify-content:space-between}.editor-heading h2{font-size:34px;margin:0}.dialog-close.static{position:static;color:var(--ink);background:transparent;border-color:var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-grid .wide{grid-column:1/-1}.project-form input,.project-form textarea{border-color:var(--line);background:white}.project-form textarea{resize:vertical}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.upload-box{border:1px dashed #aaa;padding:24px!important;margin:0!important;display:grid;gap:5px!important;cursor:pointer;background:#fafafa}.upload-box input{border:0;padding:0;background:transparent}.upload-box span{color:var(--muted);font-size:11px}.media-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.preview-item{position:relative;width:100px;height:72px;background:#ddd}.preview-item img,.preview-item video{width:100%;height:100%;object-fit:cover}.preview-item button{position:absolute;top:3px;right:3px;width:22px;height:22px;border:0;background:rgba(0,0,0,.75);color:white}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.toast{position:fixed;z-index:30;right:24px;bottom:24px;background:var(--ink);color:white;padding:13px 18px;transform:translateY(80px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}@media(max-width:760px){.site-header{height:64px}.main-nav a{display:none}.hero{padding-top:80px;min-height:480px}.hero-grid,.about-grid{grid-template-columns:1fr}.hero h1{font-size:16vw}.hero-copy{margin-top:44px}.hero-copy>p{margin-bottom:25px}.work-toolbar{align-items:flex-start;flex-direction:column}.search-wrap{width:100%}.gallery{gap:38px}.project-card,.project-card:nth-child(3n),.project-card:nth-child(3n+1):not(:first-child){grid-column:span 12}.about-grid{gap:60px}footer{grid-template-columns:1fr;gap:20px}footer p,footer>span{text-align:left}.detail-summary{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:66px;padding:0 18px;flex-direction:row;align-items:center}.admin-brand{margin:0 auto 0 0}.admin-menu{display:none}.logout-btn{margin:0}.admin-header{padding-top:28px}.admin-table-wrap{overflow-x:auto}table{min-width:690px}.editor-dialog{padding:24px}.form-grid,.upload-grid{grid-template-columns:1fr}.login-form{padding:46px 30px}.detail-body{padding:40px 24px 60px}}
