
:root{--ink:#1c2a2f;--mute:#5b6b70;--deep:#08303b;--teal:#0f5566;--sand:#f6f1e7;--amber:#d99a2b;--line:#e6dfd0;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-weight:600;line-height:1.2;color:var(--deep);margin:0 0 .5em}
a{color:var(--teal)}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;height:64px}
.brand{text-decoration:none;color:var(--deep);display:flex;flex-direction:column;line-height:1.15}.brand b{font:600 17px Georgia,serif}.brand span{font-size:12px;color:var(--mute);letter-spacing:.04em}
.nav{margin-left:auto;display:flex;gap:2px}.nav a{padding:8px 11px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:15px}.nav a:hover{background:var(--sand)}.nav a.on{background:var(--deep);color:#fff}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;padding:7px 11px;font-size:16px;cursor:pointer}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 12px;font-weight:600}
/* hero */
.hero{position:relative;color:#fff;background:#08303b;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-position:center 30%;background-size:cover;opacity:.32;filter:saturate(.7)}
.hero .wrap{position:relative;padding-top:96px;padding-bottom:84px;max-width:960px;margin:0 auto}
.hero h1{color:#fff;font-size:clamp(38px,6vw,68px);margin-bottom:18px}.hero .lead{font-size:clamp(18px,2.2vw,22px);color:#d9e8ec;max-width:720px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-block;padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:600;font-size:15px}.btn.p{background:var(--amber);color:#2a1d00}.btn.s{border:1px solid rgba(255,255,255,.5);color:#fff}
/* sections */
section{padding:72px 0}section.alt{background:var(--sand)}.sec-h{font-size:clamp(26px,3.4vw,38px);margin-bottom:10px}.sec-p{color:var(--mute);max-width:720px;margin:0 0 30px}
.who{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:6px}
.who div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 16px}.who b{display:block;font:600 19px Georgia,serif;color:var(--deep);margin-bottom:6px}.who span{font-size:15px;color:var(--mute);line-height:1.5}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mosaic figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#ddd}
.mosaic figure.big{grid-column:span 2;grid-row:span 2}.mosaic img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}.mosaic .big img{aspect-ratio:auto}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;background:linear-gradient(transparent,rgba(5,25,32,.85));color:#fff;font-size:14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.stats div{border-top:3px solid var(--amber);padding:12px 0}.stats b{display:block;font:600 40px Georgia,serif;color:var(--deep)}.stats span{color:var(--mute);font-size:15px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;transition:.2s}.card:hover{border-color:var(--teal);transform:translateY(-2px)}.card b{display:block;font:600 20px Georgia,serif;color:var(--deep);margin-bottom:4px}.card span{font-size:15px;color:var(--mute)}
.quote{font:italic 22px/1.5 Georgia,serif;color:var(--deep);border-left:4px solid var(--amber);padding-left:22px;max-width:760px;margin:0}
.quote small{display:block;font:15px system-ui;font-style:normal;color:var(--mute);margin-top:10px}
/* page head */
.pagehead{background:var(--deep);color:#fff;padding:54px 0 46px}.pagehead h1{color:#fff;font-size:clamp(30px,4.4vw,46px);margin-bottom:8px}.pagehead .lead{color:#c9dde2;margin:0;max-width:760px}
/* team page */
.team{display:grid;gap:34px}.team figure{margin:0}.team img{width:100%;border-radius:14px;box-shadow:0 10px 30px rgba(8,48,59,.15)}.team figcaption{font:600 22px Georgia,serif;color:var(--deep);margin-top:12px}
.team .row{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 24px}
/* generic */
.group{margin:44px 0 0}.group>h2{font-size:26px;border-bottom:2px solid var(--line);padding-bottom:8px}
.dl{list-style:none;padding:0;margin:14px 0 0}.dl li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline}.dl a{font-weight:500}.dl em{font-style:normal;color:var(--mute);font-size:14px;margin-left:auto;white-space:nowrap}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin-top:16px}
.rc .cv{display:block;aspect-ratio:3/4;background:var(--sand);border-radius:10px;overflow:hidden;border:1px solid var(--line)}.rc .cv img{width:100%;height:100%;object-fit:cover;object-position:top}
.rt{padding:8px 2px}.rt a{font-weight:600;text-decoration:none;color:var(--deep);display:block;line-height:1.3}.rt span{font-size:13px;color:var(--mute);margin-right:8px}.rt a.mini{display:inline-block;font-weight:400;font-size:12px;border:1px solid var(--line);border-radius:6px;padding:1px 8px;text-decoration:none}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:16px}.pgrid a{display:block;border-radius:8px;overflow:hidden;background:var(--sand);aspect-ratio:3/2}.pgrid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.pgrid a:hover img{transform:scale(1.06)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:14px}.vc{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff}.vc b{display:block;font:600 18px Georgia,serif;color:var(--deep);margin-bottom:10px}.vc a{display:inline-block;margin:0 6px 6px 0;padding:6px 14px;border-radius:8px;background:var(--deep);color:#fff;text-decoration:none;font-size:14px}.vc a:hover{background:var(--teal)}
.prose{max-width:720px;font-size:19px;line-height:1.8}.prose h2{font-size:34px}.sig{margin-top:30px;font:600 20px Georgia,serif;color:var(--deep)}.sig small{display:block;font:15px system-ui;color:var(--mute)}.fn{font-size:14px;color:var(--mute);border-top:1px solid var(--line);padding-top:14px;margin-top:34px}
/* reader */
.rd{background:#20272a;min-height:100vh;color:#fff}.rdbar{position:sticky;top:64px;z-index:20;background:#0b1d22;border-bottom:1px solid #2c3b40}.rdbar .wrap{display:flex;gap:14px;align-items:center;height:52px}.rdbar a{color:#cfe3e8;text-decoration:none;font-size:14px;border:1px solid #3a4c52;border-radius:8px;padding:5px 12px}.rdbar b{font:600 17px Georgia,serif;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rdbar span{font-size:14px;color:#9fb6bd;white-space:nowrap}
.pages{max-width:960px;margin:0 auto;padding:24px 14px 80px;display:grid;gap:16px}.pages img{width:100%;background:#fff;border-radius:4px;min-height:200px}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(4,16,20,.94);display:none;align-items:center;justify-content:center;flex-direction:column;z-index:60;padding:18px}.lb.on{display:flex}.lb img{max-height:86vh;max-width:96vw;border-radius:6px}.lb p{color:#cfe3e8;margin:10px 0 0;min-height:1.4em;text-align:center}.lb button{position:absolute;background:none;border:0;color:#fff;font-size:38px;cursor:pointer;padding:8px 16px}.lb .x{top:8px;right:10px}.lb .pv{left:6px;top:46%}.lb .nx{right:6px;top:46%}
.pgrid.tall{display:block;column-width:250px;column-gap:14px}.pgrid.tall a{aspect-ratio:auto;margin-bottom:14px;break-inside:avoid;background:#fff;border:1px solid var(--line)}.pgrid.tall img{height:auto;object-fit:contain}
footer{background:var(--deep);color:#a9c4cb;padding:26px 0;font-size:14px}footer .wrap{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}footer a{color:#dcecef}
@media(max-width:900px){.who{grid-template-columns:1fr 1fr}.mosaic{grid-template-columns:1fr 1fr}.team .row{grid-template-columns:1fr}.burger{display:block}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:10px 20px 16px;border-bottom:1px solid var(--line)}.nav.open{display:flex}section{padding:52px 0}.hero .wrap{padding-top:64px;padding-bottom:56px}.rdbar{top:64px}}
@media(max-width:520px){.who{grid-template-columns:1fr}}
