:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#273530;background:#e8e7e1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #27353020;background:#fafbf6e8;border-radius:9px;padding:10px 14px;min-height:44px;transition:background .16s}button:hover{background:#fff}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6c8962;outline-offset:3px}button.selected{background:#314c3e;color:#fff;border-color:#314c3e}[hidden]{display:none!important}#app{height:100dvh;overflow:hidden;position:relative}#app:fullscreen{width:100vw;height:100dvh}#viewport{width:100%;height:100%;display:block;touch-action:none;outline:none}header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 24px;pointer-events:none;background:transparent}header>*{pointer-events:auto}.brand-logo{position:relative;display:block;width:250px;aspect-ratio:800/180;overflow:hidden;flex:0 0 auto;line-height:0;mix-blend-mode:normal}.brand-logo-image{position:absolute;display:block;width:108%;height:auto;max-width:none;left:-4%;top:-363.333333%;object-fit:contain;filter:url(#brand-remove-white)}.top-actions{display:flex;gap:8px;align-items:center}#info{border-radius:50%;width:44px;padding:8px}#view-label{position:absolute;left:26px;top:96px;font-size:10px;color:#506257;text-transform:uppercase;letter-spacing:.14em;pointer-events:none}
footer{position:absolute;bottom:0;left:0;right:0;padding:12px 20px max(8px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#ebece5ef 32%);pointer-events:none}footer>*{pointer-events:auto}.time-dock{display:flex;align-items:center;gap:13px;max-width:650px;margin:0 0 7px;padding:4px 9px;background:#f5f5eff0;border:1px solid #fff9;border-radius:13px;backdrop-filter:blur(12px)}.time-dock button{border:0;background:transparent;white-space:nowrap;padding:7px 10px;font-size:13px}.time-dock input{flex:1;min-width:40px;margin:0;height:32px;cursor:pointer;accent-color:#405d47}.time-dock output{font-variant-numeric:tabular-nums;font-size:13px;min-width:39px;color:#314c3e}.camera-dock{display:flex;gap:7px;align-items:stretch;width:100%;pointer-events:auto}.view-scroll{display:flex;gap:5px;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none;border:1px solid #ffffffa6;border-radius:13px;padding:4px;background:#f3f4eef0;backdrop-filter:blur(12px)}.view-scroll::-webkit-scrollbar{display:none}nav{display:flex;gap:4px;flex-shrink:0}nav button,.view-scroll>button{white-space:nowrap;font-size:12px;flex-shrink:0;padding:9px 13px}nav button{background:transparent;border-color:transparent}.view-scroll>button{background:#fafbf680}#reset{font-size:22px;padding:2px 12px}#full{display:flex;gap:8px;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;font-size:12px;background:#f3f4eef0;backdrop-filter:blur(12px)}.collapse-icon,#full.is-full .expand-icon{display:none}#full.is-full .collapse-icon{display:block}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#loading{position:absolute;inset:0;background:#edeee7;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#3b5042}#loading.hidden{display:none}.loading-logo{width:min(340px,78vw);margin-bottom:42px}.loading-kicker{font-size:10px;letter-spacing:.18em;margin:0 0 12px;color:#6f7c67}#loading h1{font-weight:450;font-size:clamp(21px,4vw,28px);letter-spacing:-.6px;line-height:1.25;margin:0 0 32px}.load-meter{width:min(340px,78vw);display:flex;align-items:center;gap:14px}#load-progress{display:block;appearance:none;flex:1;min-width:0;height:5px;border:0;border-radius:5px;overflow:hidden;background:#d7ddcf;color:#577252}#load-progress::-webkit-progress-bar{background:#d7ddcf;border-radius:5px}#load-progress::-webkit-progress-value{background:#577252;border-radius:5px;transition:width .18s}#load-progress::-moz-progress-bar{background:#577252;border-radius:5px}#load-percent{font-size:12px;min-width:40px;font-variant-numeric:tabular-nums;text-align:right}#load-text{font-size:12px;min-height:18px;margin:17px 0 0;color:#667660}.loading-photo{font-size:11px;color:#64725f;margin-top:42px;text-underline-offset:4px}#load-retry{margin-top:16px}
#orientation{position:absolute;right:24px;top:98px;color:#36503e;background:#f7f8f0dc;border:1px solid #fff9;border-radius:12px;pointer-events:none}#notice{position:absolute;left:50%;transform:translateX(-50%);bottom:145px;border-radius:14px;padding:11px 18px;background:#2f4c3e;color:#fff;font-size:12px;width:max-content;max-width:90vw;text-align:center;z-index:25}
dialog{border:1px solid #fff;border-radius:17px;padding:0;color:inherit;max-width:1100px;width:calc(100% - 44px);max-height:92dvh;background:#f7f8f2;box-shadow:0 20px 80px #15261d44}dialog::backdrop{background:#14271ac4;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #27353016}.dialog-head strong{font-weight:550}.dialog-head p{margin:4px 0 0;font-size:12px;color:#6b776b}.dialog-head button{font-size:23px;padding:0 10px;border:0;background:transparent}.photo-tabs{display:flex;gap:7px;padding:12px 20px;align-items:center;overflow-x:auto;scrollbar-width:thin}.photo-tabs button,.photo-tabs a{font-size:12px;flex-shrink:0;white-space:nowrap}.photo-tabs a{margin-left:auto;color:#426249}.photo-scroll{max-height:72dvh;overflow:auto;text-align:center;background:#e6e7df}.photo-scroll img{max-width:100%;display:block;margin:auto;cursor:zoom-in}.photo-scroll img.zoom{max-width:none;width:1536px;cursor:zoom-out}#information{max-width:620px}.info-body{padding:22px 30px 30px;line-height:1.65;font-size:13px}.info-body h1{font-weight:500;font-family:Georgia,serif;font-size:30px;line-height:1.15;margin:8px 0 15px}.info-body h2{font-weight:600;font-size:15px;margin-top:22px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#6d7f70}dl{padding:5px 0;border-block:1px solid #2735301d}dl>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;font-size:12px}dd{margin:0;text-align:right}dt{color:#68766a}.info-body a{color:#365c42}body:has(dialog[open]) footer{pointer-events:none}
@media(max-width:700px){header{padding:12px 14px}.brand-logo{width:190px}.loading-logo{width:min(300px,78vw)}.top-actions{gap:5px}.top-actions button{font-size:11px;padding:8px 10px}#info{width:40px}#view-label{left:16px;top:74px}footer{padding:10px 8px max(6px,env(safe-area-inset-bottom))}.time-dock{width:100%;gap:7px;padding:2px 6px;margin-bottom:5px}.time-dock button{font-size:12px;padding:5px 7px}.time-dock output{font-size:12px}.camera-dock{gap:5px}.view-scroll{flex:1;gap:2px;padding:3px}nav{gap:2px}nav button,.view-scroll>button{font-size:11px;padding:8px 10px}#full{gap:5px;padding:8px;font-size:11px}#orientation{right:10px;top:82px}#orientation svg{width:110px;height:72px}dialog{width:calc(100% - 18px);max-height:94dvh}.dialog-head{padding:13px 16px}.dialog-head p{font-size:10px}.photo-tabs{padding:10px;gap:5px}.photo-tabs button{font-size:11px;padding:8px}.info-body{padding:18px 22px}.info-body h1{font-size:27px}dl>div{font-size:11px}}
@media(max-width:380px){header .brand-logo{width:156px}.top-actions button{padding:8px}#full{flex-direction:column;gap:1px;font-size:9px;min-width:70px}}
@media(max-height:540px){header{padding:6px 14px}.brand-logo{width:180px}#view-label{top:55px}footer{padding:5px 9px}.time-dock{max-width:560px;margin-bottom:4px;padding:0 5px}.time-dock button{min-height:34px}.view-scroll{padding:2px}nav button,.view-scroll>button{min-height:37px;padding:6px 10px}.loading-logo{margin-bottom:18px}#loading h1{margin-bottom:20px}.loading-photo{margin-top:20px}#notice{bottom:112px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Display the original supplied wordmark with its white matte removed by an
   SVG presentation filter; no replacement drawing or raster asset. */
.brand-filter-definitions{position:absolute;pointer-events:none}
header .brand-logo{background:transparent;overflow:hidden}
header .brand-logo-image{filter:url(#brand-remove-white) drop-shadow(0 1px 1px #ffffff95)}
.night-logo header .brand-logo-image{filter:url(#brand-remove-white) brightness(0) invert(.94) drop-shadow(0 1px 2px #0008)}
.night-logo #view-label{color:#e0e8dd}

.photo-caption{font-size:12px;line-height:1.5;color:#637364;margin:0;padding:12px 20px;border-top:1px solid #27353016}.project-intro{font-size:15px;line-height:1.65}.technical-detail{border-block-start:1px solid #27353024;margin:20px 0;padding:14px 0}.technical-detail summary{cursor:pointer;font-weight:600;line-height:1.5;padding-right:10px}.technical-detail[open] summary{margin-bottom:14px}.small-note{font-size:11px;line-height:1.6;color:#657468}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid #27353020}th{font-weight:600;color:#4b6454}td:not(:first-child),th:not(:first-child){text-align:right;white-space:nowrap}.equipment-list{padding-left:18px}.equipment-list li{margin-bottom:13px}.project-credit{font-size:11px;line-height:1.8;border-top:1px solid #27353024;padding-top:18px;margin-top:24px;color:#657468}
