@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500&display=swap');
:root { --ink:#242622; --muted:#73766f; --paper:#fff; --line:#e8e8e3; --accent:#3d5b68; --max:1600px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; line-height:1.5; font-size:16px;}
a { color:inherit; text-decoration:none; }
.site-header { max-width:var(--max); margin:auto; padding:10px clamp(10px,4vw,20px); display:flex; align-items:center; justify-content:space-between; gap:15px; }
.brand { font-size:clamp(1rem,2vw,2.5rem); font-weight:400; letter-spacing:.17em; white-space:nowrap; }
.brand span { display:block; margin-top:1px; font-size:1rem; letter-spacing:.38em; color:var(--muted); }
.main-nav { display:flex; align-items:center; gap:clamp(20px,3.5vw,52px); font-size:.90rem; }
.main-nav a { padding:8px 0; border-bottom:1px solid transparent; }
.main-nav a:hover { border-color:var(--ink); }
.menu-toggle { display:none; border:1px solid var(--line); background:white; padding:8px 12px; font:inherit; }
.hero { min-height:clamp(20px,3vw,30px); display:flex; align-items:center; background:linear-gradient(90deg,rgba(9,23,31,.48),rgba(9,23,31,.20)),url("") center 54%/cover no-repeat, #d7e0e2; color:white; }

/*.hero h1 { margin:0; font:500 clamp(.75rem,3.4vw,1rem)/1.2 "Playfair Display",Georgia,serif; }*/

.hero-copy { width:100%; max-width:var(--max); margin:auto;padding:0px ; text-shadow:0 1px 12px rgba(0,0,0,.25); }
/*  padding:22px clamp(10px,2vw,30px) */
.hero-copy p { font-size:clamp(.9rem,1.2vw,1.0rem); letter-spacing:.22em; margin:30px 50px 30px; }
.hero-copy p span { padding:1.5em; opacity:.8; }

.gallery-section { max-width:var(--max); margin:auto; padding:26px clamp(20px,4vw,64px) 86px; }
.gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.category-filters { display:flex; flex-wrap:wrap; gap:clamp(17px,3vw,44px); }
.filter-button { border:0; border-bottom:1px solid transparent; padding:8px 0 9px; background:transparent; color:var(--muted); font:inherit; font-size:.90rem; cursor:pointer; }
.filter-button:hover,.filter-button.active { color:var(--ink); border-color:var(--ink); }
.gallery-count { color:var(--muted); font-size:.90rem; white-space:nowrap; }
/* Uniform grid: every thumbnail uses the same 4:3 frame; object-fit crops without distortion. */
.gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,2vw,30px) clamp(14px,2vw,30px); }
.photo-card { min-width:0; border:0; padding:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.photo-card img { display:block; width:100%; aspect-ratio:4/4; object-fit:cover; background:#efefeb; transition:opacity .2s ease; }
.photo-card:hover img { opacity:.86; }
.photo-title { display:block; margin-top:9px; font-size:.84rem; font-weight:400; }
.photo-category { display:block; margin-top:3px; color:var(--muted); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.empty-message { color:var(--muted); padding:28px 0; }

/*.about-section { border-top:1px solid var(--line); max-width:var(--max); margin:auto; padding:20px clamp(10px,4vw,20px) 46px;background-color: #f5f5f5;}*/

.about-section { border-top:1px solid var(--line); max-width:var(--max); margin:auto; padding:20px clamp(20px,4vw,30px) 20px; background-color: #f5f5f5; }
.eyebrow { margin:0 0 12px; color:var(--muted); font-size:1rem; letter-spacing:.2em; }

.links-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 1px;
    width: 100%;
    box-sizing: border-box;
    background-color: #f5f5f5; }

	
.links-container a { color: #0066cc; background: none; padding: 5px; text-decoration: none; font-size: .90rem; }	
	
.links-container a:hover { color: #cc3300; }

/* Keyboard focus */
.links-container a:focus-visible {
    outline: 3px solid orange;
    outline-offset: 3px; }
	
/* for iphones  */
@media (max-width: 600px) {
    .links-container { flex-direction: column; align-items: stretch; gap: 10px; }
    .links-container a { text-align: center; } }	
	

.site-footer { border-top:1px solid var(--line); padding:22px clamp(20px,4vw,64px); display:flex; justify-content:space-between; gap:18px; color:var(--muted); font-size:.73rem; }
.site-footer a:hover { color:var(--ink); }
.lightbox { position:fixed; border:0; padding:48px 64px 35px; width:100vw; height:100vh; max-width:none; max-height:none; margin:0; background:rgba(15,17,17,.97); color:white; overflow:hidden; }
.lightbox::backdrop { background:rgba(0,0,0,.9); }
.lightbox figure { height:100%; margin:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; }
.lightbox figure img { max-width:100%; max-height:calc(100vh - 125px); width:auto; height:auto; object-fit:contain; }
.lightbox figcaption { color:#e4e4e0; font-size:.86rem; text-align:center; }
.lightbox-close,.lightbox-nav { position:absolute; z-index:2; border:0; background:transparent; color:white; cursor:pointer; line-height:1; }
.lightbox-close { top:18px; right:24px; font-size:2.4rem; }
.lightbox-nav { top:50%; transform:translateY(-50%); padding:10px; font-size:3.2rem; }
.lightbox-nav.prev { left:16px; } .lightbox-nav.next { right:16px; }
.lightbox-counter { position:absolute; bottom:15px; left:0; right:0; text-align:center; color:#aaa; font-size:.75rem; }
@media(max-width:1100px) { .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .hero { min-height:220px; } }
@media(max-width:600px) {
  .site-header { padding-top:17px; padding-bottom:17px; position:relative; }
  .brand { font-size:.95rem; letter-spacing:.12em; } .brand span { font-size:.55rem; letter-spacing:.28em; }
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; z-index:5; top:100%; left:0; right:0; padding:15px 22px 20px; background:white; border-top:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:10px; }
  .main-nav.open { display:flex; }
  
  .hero { min-height:190px; }
  .gallery-toolbar { align-items:flex-start; flex-direction:column; gap:8px; }
  .category-filters { gap:18px; }
  .gallery-grid { gap:20px 12px; }
  .photo-title { font-size:.78rem; }
  .photo-category { font-size:.58rem; }
  .lightbox { padding:50px 30px 38px; }
  .lightbox figure img { max-width:100%; max-height:calc(100vh - 135px); }
  .lightbox-nav.prev { left:0; } .lightbox-nav.next { right:0; }
  .site-footer { flex-direction:column; gap:4px; }
}
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition-duration:.01ms!important} }
