:root{color-scheme:light;--cream:#faf7f2;--paper:#fff;--olive:#6f7e6e;--ink:#2d2a26;--sand:#e8ded0;--brown:#b68658;--muted:#625c54;font-family:Montserrat,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,a[download]{font:inherit;font-size:.9rem;cursor:pointer}button{border:1px solid var(--sand);background:transparent;color:var(--ink);padding:.75rem 1rem;border-radius:999px;min-height:44px}button:hover{background:var(--sand)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--brown);outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:1rem;top:-80px;background:white;padding:1rem;z-index:4}.skip:focus{top:1rem}.masthead{max-width:1440px;margin:auto;padding:1.25rem 3rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sand)}.masthead img{width:210px;height:84px;object-fit:contain}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;color:var(--olive)}main{max-width:1440px;padding:0 3rem;margin:auto}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:2.25rem 0 1.75rem}h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5vw,4.25rem);letter-spacing:-.035em;line-height:1.12;margin:.4rem 0}.intro-note{max-width:220px;line-height:1.7;color:var(--muted);font-size:1rem;margin:0 0 .35rem}#message{padding:1.5rem 0;color:var(--muted);line-height:1.6}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0 1.5rem}.filters,.actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.filters button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:white}.actions{color:var(--muted);font-size:.875rem}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.photo{margin:0;min-width:0}.photo button{display:block;border:0;border-radius:6px;padding:0;width:100%;overflow:hidden;background:var(--sand);aspect-ratio:4/3}.photo img{display:block;width:100%;height:100%;object-fit:contain;background:var(--paper);transition:transform .2s}.photo button:hover img{transform:scale(1.015)}.photo figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .1rem;font-size:.8rem;color:var(--muted)}#more{display:block;margin:2rem auto}footer{max-width:1440px;margin:3rem auto 0;padding:1.5rem 3rem 2rem;border-top:1px solid var(--sand);font-size:.85rem;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:1rem}dialog{width:min(1120px,96vw);max-height:96dvh;padding:1rem;border:0;border-radius:12px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:rgb(29 27 24 / .88)}#large-photo{display:block;width:100%;height:calc(90dvh - 150px);object-fit:contain;margin:.5rem 0}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.viewer-bar a{color:white;background:var(--olive);padding:.8rem 1rem;border-radius:999px;text-decoration:none}.viewer-bar span{font-size:.875rem}body[data-template=CORPORATE] .intro{border-bottom:3px solid var(--olive)}body[data-template=CORPORATE] h1{font-family:inherit;font-size:clamp(2rem,4vw,3.25rem)}
@media(max-width:900px){.masthead,main,footer{padding-left:1.5rem;padding-right:1.5rem}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.intro-note{display:none}.toolbar{align-items:flex-start;flex-direction:column}.actions{width:100%;justify-content:space-between}}
@media(max-width:540px){.masthead{padding-top:.5rem;padding-bottom:.5rem}.masthead img{width:165px;height:72px}.masthead>.eyebrow{font-size:.65rem;max-width:100px;line-height:1.7;text-align:right}.intro{padding-top:1.5rem}main{padding-left:1rem;padding-right:1rem}.filters{gap:.35rem}.filters button{font-size:.85rem;padding:.65rem .8rem}.photo-grid{gap:.65rem}.photo figcaption{font-size:.75rem;gap:.2rem}.viewer-bar button,.viewer-bar a{padding:.65rem;font-size:.8rem}footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
