*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f7f5;color:#252725;font-family:Arial,Helvetica,sans-serif}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid #deded9;background:#f7f7f5;position:sticky;top:0;z-index:5}.brand{font-size:23px;letter-spacing:-2px;color:#222;text-decoration:none;font-weight:700}.brand span{color:#8a9288}nav{display:flex;gap:22px}nav a{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#5d625d;text-decoration:none}main{max-width:1440px;margin:auto;padding:0 6vw}.hero{padding:110px 0 95px;border-bottom:1px solid #dcded9}.eyebrow{font-size:10px;letter-spacing:2px;color:#788078;text-transform:uppercase}.hero h1{font-size:clamp(48px,8vw,100px);letter-spacing:-6px;font-weight:400;margin:25px 0}.intro{font-size:20px;line-height:1.55;max-width:760px;color:#565c56}.meta{display:flex;gap:35px;margin-top:42px;font-size:11px;color:#777}.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:85px 0 32px}.heading h2,.folder-head h2{font-size:38px;font-weight:400;letter-spacing:-1.7px;margin:10px 0}.heading>p{max-width:420px;color:#727772;font-size:13px;line-height:1.7}.folders{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.folder{border:1px solid #deded9;background:#fbfbf9;text-align:left;padding:0;cursor:pointer;min-height:210px;display:flex;flex-direction:column}.folder-art{height:132px;background:#e9eae6;display:flex;align-items:center;justify-content:center;color:#7a8179}.folder-art svg{width:56px;height:56px;stroke:currentColor;fill:none;stroke-width:1.2}.folder-info{padding:17px}.folder-info strong{display:block;font-size:14px;font-weight:500}.folder-info span{display:block;color:#858a84;font-size:11px;margin-top:7px}.folder-view{padding:65px 0 20px;border-top:1px solid #ddd;margin-top:75px}.folder-head{display:flex;gap:30px;align-items:flex-start;margin-bottom:28px}.folder-head button{border:0;background:#e8e9e5;padding:11px 15px;cursor:pointer;font-size:11px}.folder-head p{color:#7b817b;font-size:12px}.file-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.file{border:1px solid #deded9;background:#fbfbf9;cursor:pointer;text-align:left;padding:0;min-width:0}.file-thumb{height:230px;background:#eeefeb;display:flex;align-items:center;justify-content:center;overflow:hidden}.file-thumb img{width:100%;height:100%;object-fit:contain}.file-icon{font-size:34px;color:#777}.file-name{padding:13px 14px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.contact{padding:90px 0 120px;border-top:1px solid #ddd;margin-top:90px}.contact h2{font-size:48px;font-weight:400;letter-spacing:-2px}footer{padding:25px 6vw;border-top:1px solid #ddd;font-size:10px;color:#818781}.viewer{display:none;position:fixed;inset:0;background:rgba(20,23,20,.94);z-index:20;padding:54px 4vw 4vh}.viewer.open{display:flex;flex-direction:column}.close{position:absolute;right:24px;top:7px;color:white;background:none;border:0;font-size:40px;cursor:pointer}.viewer-title{color:white;font-size:13px;padding-bottom:12px}.viewer-body{flex:1;min-height:0;background:#f5f5f2;display:flex;align-items:center;justify-content:center}.viewer-body img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.viewer-body iframe{width:100%;height:100%;border:0;background:white}.viewer-body .excel-note{padding:30px;color:#333;text-align:center}.viewer-body .excel-note a{color:#333}@media(max-width:850px){header{height:auto;padding:18px 5vw;align-items:flex-start;gap:18px;flex-direction:column}nav{flex-wrap:wrap;gap:12px}.folders,.file-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:75px 0}.heading{display:block;margin-top:60px}.hero h1{letter-spacing:-3px}.meta{flex-direction:column;gap:10px}}@media(max-width:540px){.folders,.file-grid{grid-template-columns:1fr}.folder-head{display:block}.folder-head button{margin-bottom:22px}.heading h2{font-size:31px}}.earlier-label{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#7d837d;padding:20px 0 2px;border-top:1px solid #ddd;margin-top:12px}.contact-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:26px;font-size:13px;color:#555}.viewer-body iframe{background:#f7f7f5}.contact-links a{color:#343a34;text-decoration:none;border-bottom:1px solid #aeb4ac;padding-bottom:4px}.contact-links a:hover{color:#788078}
.file-thumb img{object-fit:contain;padding:8px}.image-stage{position:relative;width:100%;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;background:#f5f5f2}.image-stage img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;transition:transform .12s ease}.zoom-controls{position:absolute;top:12px;left:12px;z-index:5;display:flex;gap:5px}.zoom-controls button{background:white;border:1px solid #bbb;padding:7px 12px;cursor:pointer;font-size:16px}.viewer-body iframe{width:100%;height:100%;border:0;background:white}

/* V8: calmer, larger project folders and document previews */
.folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.folder{min-height:270px}
.folder-art{height:185px;padding:12px}
.folder-art img{max-width:94%!important;max-height:160px!important;object-fit:contain}
.folder-info{padding:20px 22px}
.folder-info strong{font-size:16px}
.folder-info span{font-size:12px}
.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.file-thumb{height:300px;padding:12px}
.file-thumb img{padding:0;object-fit:contain}
.file-name{font-size:13px;padding:15px 17px}
@media(max-width:700px){.folders,.file-grid{grid-template-columns:1fr}.folder-art{height:165px}.file-thumb{height:240px}}

/* V9 folder covers: larger, clearer project imagery */
.folder{min-height:300px}
.folder-art{height:225px;padding:8px;background:#eeefeb}
.folder-art img{display:block;width:100%;height:100%;max-width:100%!important;max-height:100%!important;object-fit:contain}
.folder-info{padding:20px 22px}
.folder-info strong{font-size:17px}
.folder-info span{font-size:12px}
@media(max-width:700px){.folder{min-height:260px}.folder-art{height:190px}}

/* V10: image viewer uses tightly-framed display copies; zoom is not clipped */
.image-stage{overflow:auto;align-items:center;justify-content:center}
.image-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in}
.file-thumb{padding:4px}
.file-thumb img{padding:0;object-fit:contain}
