@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');:root{--bg:#faf9f6;--white:#fff;--ink:#24252b;--muted:#6e7078;--accent:#11598b;--line:#e7e3df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.8 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.header{position:sticky;top:0;z-index:20;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.top{display:flex;align-items:center;gap:30px;min-height:82px}.brand{font-size:17px;font-weight:800;line-height:1.3;white-space:nowrap}.brand span{display:block;color:var(--accent);font:italic 25px Georgia,serif}.top nav{display:flex;gap:26px;margin-left:auto}.top nav a{font-weight:700;font-size:13px;padding:26px 0;border-bottom:2px solid transparent}.top nav a.active,.top nav a:hover{color:var(--accent);border-color:var(--accent)}.toggle{display:none}.home-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:55px;min-height:570px}.home-copy{padding:60px 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.5px;font-weight:800;color:var(--accent);margin:0 0 20px}h1{font-size:clamp(38px,5vw,65px);line-height:1.12;letter-spacing:-2px;margin:0 0 24px}h1 em{display:block;color:var(--accent);font:italic 1.15em Georgia,serif;letter-spacing:-1px}.lead{font-size:18px;color:#55565e;max-width:540px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn,.outline{display:inline-block;padding:11px 24px;font-weight:800;border-radius:4px;font-size:13px}.btn{background:var(--accent);color:white}.btn:hover{color:white;background:#0d456d}.outline{border:1px solid #a5bdce}.home-photo{background:transparent;align-self:stretch;display:flex;align-items:end;justify-content:center;overflow:hidden}.home-photo img{height:530px;max-width:100%;object-fit:contain;object-position:bottom}.intro{padding:55px 0 100px;border-top:1px solid var(--line)}.intro h2{font-size:30px}.intro p{max-width:720px;color:var(--muted)}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px}.quick-links a{background:white;padding:25px;font-size:17px;font-weight:800;border:1px solid var(--line);display:flex;justify-content:space-between}.quick-links span{color:var(--accent)}.content-page{min-height:65vh;padding:75px 0 110px}.content-page>h1{font-size:clamp(36px,4vw,54px);margin-bottom:38px}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.about-image{background:transparent;display:flex;align-items:end;justify-content:center;min-height:420px}.about-image img{width:100%;max-height:540px;object-fit:contain}.prose p{font-size:16px;line-height:2;margin:0 0 20px}.show-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.show-grid article,.contact-grid article{padding:32px;background:white;border:1px solid var(--line)}.show-grid h2{font-size:21px;line-height:1.35}.show-grid p,.muted{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.gallery a{display:block;aspect-ratio:1.2;overflow:hidden;background:transparent}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.gallery a:hover img{transform:scale(1.06)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-grid h2{font-size:16px;color:var(--muted)}.contact-grid a{display:block;font-size:clamp(17px,2vw,25px);font-weight:800;margin:10px 0}footer{border-top:1px solid var(--line);background:white;padding:24px 0;font-size:12px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between}dialog{border:0;padding:15px;max-width:96vw;max-height:95vh;box-shadow:0 20px 90px #0006}dialog::backdrop{background:#000b}dialog img{display:block;max-width:90vw;max-height:85vh;object-fit:contain}#closeLightbox{position:absolute;right:10px;top:10px;background:var(--accent);color:white;border:0;border-radius:50%;width:35px;height:35px;font-size:24px;cursor:pointer}@media(max-width:800px){.top{min-height:70px}.toggle{display:block;margin-left:auto;background:none;border:0;font-size:27px}.top nav{display:none;position:absolute;top:69px;left:0;right:0;background:white;padding:15px 25px;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.top nav.open{display:flex}.top nav a{padding:9px 0}.home-grid,.about-grid{grid-template-columns:1fr;gap:20px}.home-grid{min-height:0}.home-copy{padding:50px 0 10px}.home-photo img{height:390px}.content-page{padding:55px 0}.show-grid,.quick-links,.contact-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.footer-inner{flex-direction:column;gap:6px}}
/* Photos without decorative backing */
.home-photo,.about-image,.gallery a{background:transparent}
.prose{max-width:760px}.prose p{line-height:1.85;margin-bottom:1.3em}.prose .bio-lead{font-size:19px;font-weight:600;line-height:1.7}.prose h2{font-size:22px;line-height:1.35;margin:30px 0 12px;color:var(--ink)}

/* Gallery lightbox controls */
#lightbox{position:fixed;background:#fff;border-radius:8px;padding:20px 62px 36px;max-width:98vw;max-height:96vh;overflow:visible}
#lightbox img{max-width:min(80vw,1400px);max-height:80vh}
.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#11598b;color:white;width:40px;height:52px;border-radius:5px;font-size:36px;line-height:1;cursor:pointer}
.photo-prev{left:10px}.photo-next{right:10px}.photo-arrow:hover{background:#0b426a}
.photo-counter{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);font-size:13px;color:#555}
@media(max-width:600px){#lightbox{padding:14px 40px 34px}#lightbox img{max-width:calc(100vw - 96px);max-height:75vh}.photo-arrow{width:30px;height:44px;font-size:28px}.photo-prev{left:5px}.photo-next{right:5px}}

/* Polished photo viewer */
#lightbox{position:fixed;inset:0;margin:auto;width:100vw;height:100dvh;max-width:none;max-height:none;padding:68px 76px 60px;border:0;border-radius:0;background:rgba(12,20,30,.97);box-shadow:none;overflow:hidden;align-items:center;justify-content:center}
#lightbox[open]{display:flex}
#lightbox::backdrop{background:rgba(5,12,20,.86)}
#lightbox img{display:block;width:auto;height:auto;max-width:calc(100vw - 180px);max-height:calc(100dvh - 140px);object-fit:contain;border-radius:3px;box-shadow:0 16px 50px #0005}
#lightbox button{display:grid;place-items:center;position:absolute;z-index:2;width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
#lightbox button:hover{background:#11598b;border-color:#77b9e4}
#lightbox button:focus-visible{outline:3px solid #85c8fa;outline-offset:3px}
#lightbox button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#closeLightbox{top:18px;right:24px;font-size:initial}
#lightbox .photo-arrow{top:50%;transform:translateY(-50%);font-size:initial}
#lightbox .photo-prev{left:18px}
#lightbox .photo-next{right:18px}
#lightbox .photo-counter{bottom:20px;left:50%;transform:translateX(-50%);color:#e6edf3;background:#ffffff1b;border:1px solid #ffffff20;border-radius:30px;padding:7px 17px;font-size:13px;letter-spacing:.05em}
@media(max-width:650px){#lightbox{padding:70px 10px 75px}#lightbox img{max-width:calc(100vw - 20px);max-height:calc(100dvh - 155px)}#lightbox button{width:42px;height:42px}#closeLightbox{top:15px;right:15px}#lightbox .photo-arrow{top:auto;bottom:15px;transform:none}#lightbox .photo-prev{left:20px}#lightbox .photo-next{right:20px}#lightbox .photo-counter{bottom:19px}}
@media(prefers-reduced-motion:reduce){#lightbox button{transition:none}}

/* Navigation between sections, optimized for touch */
.section-navigation{padding:0 0 76px;margin-top:0}
.section-navigation h2{font-size:22px;line-height:1.3;margin:0 0 20px;font-weight:800}
.section-navigation-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.section-navigation-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;font-weight:700;transition:border-color .2s,box-shadow .2s,color .2s}
.section-navigation-links a:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 15px #11598b12}
.section-navigation-links a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.section-navigation-links svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:850px){.section-navigation-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.section-navigation{padding-bottom:46px}.section-navigation h2{font-size:20px}.section-navigation-links{grid-template-columns:1fr;gap:9px}.section-navigation-links a{min-height:58px;padding:13px 17px;font-size:15px}.content-page{padding-bottom:50px}.intro{padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){.section-navigation-links a{transition:none}}

/* Dark theme, retains the established blue identity */
:root{color-scheme:dark;--bg:#14191f;--white:#1c252e;--ink:#f2f5f8;--muted:#a8b5c2;--accent:#62b2e9;--line:#34404b}
body{background:var(--bg);color:var(--ink)}
.header{background:rgba(20,25,31,.94)}
.top nav{background:transparent}
.lead{color:#bdc8d2}
.btn{background:#11598b;color:#fff}.btn:hover{background:#1876b4}
.outline{border-color:#52758e;color:#e6f1f9}
.quick-links a,.show-grid article,.contact-grid article,.section-navigation-links a{background:#1d2731;border-color:var(--line)}
.quick-links a:hover,.section-navigation-links a:hover{border-color:#62b2e9;box-shadow:0 4px 20px #0003}
footer{background:#10151b}
.home-photo,.about-image,.gallery a{background:transparent}
#lightbox{background:rgba(8,12,18,.98)}
#lightbox button:hover{background:#11598b}
@media(max-width:800px){.top nav{background:#1d2731}.toggle{color:var(--ink)}}
