:root { --ink:#18333a; --ink-soft:#35565d; --sea:#4c8588; --sand:#d6b782; --paper:#fffdf9; --line:#e7e1d8; --shadow:0 14px 40px rgba(24,51,58,.11); }

body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background:#f3f5f3; color:var(--ink);
}

.site-header { position:sticky; top:0; z-index:20; background:rgba(255,253,249,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.nav-wrap { width:min(1180px,calc(100% - 40px)); min-height:76px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; letter-spacing:.08em; }
.brand-mark { display:grid; width:37px; height:37px; place-items:center; color:#fff; background:var(--sea); border-radius:50%; font-size:1.35rem; }
.brand strong,.brand small { display:block; line-height:1.05; }.brand strong { font-family:Georgia,serif; font-size:1.1rem; }.brand small { margin-top:4px; color:var(--sea); font-size:.62rem; font-weight:700; }

#nav-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 6px 22px; justify-content:flex-end;
    flex-wrap: wrap;
}

#nav-links li a {
    color:var(--ink-soft);
    text-decoration: none;
    font-weight: 500;
    font-size:.86rem;
    cursor: pointer;
    border-bottom:2px solid transparent;
}

#nav-links li a:hover, #nav-links li a.active {
    color:var(--sea); border-color:var(--sand);
}
.menu-toggle { display:none; padding:10px 0 10px 10px; border:0; background:transparent; cursor:pointer; }.menu-toggle span { display:block; width:24px; height:2px; margin:5px 0; background:var(--ink); }

main {
    width:min(1120px,calc(100% - 40px));
    margin:30px auto 48px;
    line-height: 1.6;
}

h1,h2,h3 { color:var(--ink); font-family:Georgia,'Times New Roman',serif; line-height:1.2; } h1 { margin:0; font-size:clamp(2rem,5vw,3.45rem); font-weight:500; } h2 { margin:0 0 16px; font-size:clamp(1.55rem,3vw,2.2rem); font-weight:500; } h3 { margin:28px 0 8px; font-size:1.25rem; }
.page-intro { max-width:750px; margin:0 auto 27px; text-align:center; }.eyebrow { margin:0 0 8px; color:var(--sea); font-size:.76rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }.page-intro h1::after { content:''; display:block; width:46px; height:2px; margin:18px auto 0; background:var(--sand); }.content-card { padding:clamp(24px,5vw,52px); background:var(--paper); box-shadow:var(--shadow); }.content-card p:first-child { margin-top:0; font-size:1.06rem; }.content-card p:last-child { margin-bottom:0; }.content-card a { color:var(--sea); font-weight:700; }

ul {
    padding-left: 20px;
}

li {
    margin-bottom: 5px;
}

.photo-strip { margin:30px 0; }.strip-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0 0 12px; }.strip-heading h2 { margin:0; font-size:1.4rem; }.strip-heading a { color:var(--sea); font-size:.9rem; font-weight:700; text-decoration:none; }.strip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.strip-grid button,.gallery-card { position:relative; display:block; min-width:0; height:250px; padding:0; overflow:hidden; border:0; background:var(--ink); cursor:pointer; }.strip-grid img,.gallery-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease,opacity .35s ease; }.strip-grid button:hover img,.gallery-card:hover img { transform:scale(1.05); opacity:.88; }.full-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:clamp(16px,3vw,30px); background:var(--paper); box-shadow:var(--shadow); }.gallery-card { height:205px; }.site-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px max(20px,calc((100vw - 1120px)/2)); color:#eff5f3; background:var(--ink); }.site-footer span { display:block; opacity:.7; font-size:.88rem; }.site-footer a { color:#fff; font-weight:700; text-decoration:none; }

/* Lightbox */
.lightbox { width:min(1100px,calc(100% - 30px)); max-width:none; max-height:calc(100vh - 30px); padding:0 0 38px; overflow:visible; border:0; background:transparent; color:#fff; }.lightbox::backdrop { background:rgba(5,20,23,.92); }#lightbox-img { display:block; max-width:100%; max-height:calc(100vh - 105px); margin:auto; border:2px solid rgba(255,255,255,.55); object-fit:contain; }.lightbox button { color:#fff; cursor:pointer; }.lightbox-close { position:fixed; top:14px; right:22px; border:0; background:transparent; font-size:2.7rem; line-height:1; }.lightbox-nav { position:fixed; top:50%; transform:translateY(-50%); width:48px; height:64px; border:0; background:rgba(255,255,255,.16); font-size:3rem; }.lightbox-prev { left:16px; }.lightbox-next { right:16px; }#lightbox-caption { position:absolute; right:0; bottom:0; left:0; margin:8px 0 0; text-align:center; font-size:.9rem; }
@media (max-width:720px) { .nav-wrap { position:relative; min-height:65px; width:min(100% - 28px,1120px); }.menu-toggle { display:block; }.nav-wrap nav { position:absolute; top:65px; right:-14px; left:-14px; display:none; padding:8px 14px 15px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 12px 20px rgba(24,51,58,.08); }.nav-wrap.menu-open nav { display:block; }#nav-links { display:block; }#nav-links a { padding:10px 0; }main { width:min(100% - 28px,1120px); margin-top:25px; }.content-card { padding:24px 20px; }.strip-grid { grid-template-columns:repeat(2,1fr); }.strip-grid button { height:200px; }.full-gallery { grid-template-columns:repeat(2,1fr); gap:8px; }.gallery-card { height:180px; }.site-footer { display:block; padding:25px 14px; text-align:center; }.site-footer a { display:inline-block; margin-top:12px; }.lightbox-nav { width:39px; height:55px; font-size:2.35rem; }.lightbox-prev { left:5px; }.lightbox-next { right:5px; }}@media (max-width:390px) { .strip-grid button { height:160px; }.gallery-card { height:155px; } }
