@font-face{font-family:'RLW';src:url('../fonts/Raleway-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'RLW';src:url('../fonts/Raleway-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'RLW';src:url('../fonts/Raleway-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'OS';src:url('../fonts/OpenSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'OS';src:url('../fonts/OpenSans-Semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'EBG';src:url('../fonts/EBGaramond.ttf') format('truetype');font-weight:400 700;font-display:swap}
*{box-sizing:border-box}
img{max-width:100%;height:auto}
:root{--ink:#14282b;--muted:#5a7073;--teal:#07797f;--aqua:#c2d581;--band:#eaf3f1;--dark:#0c353b}
body{margin:0;font-family:'OS',system-ui,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;
     -webkit-font-smoothing:antialiased}
a{color:inherit}
h1{font-family:'RLW';font-weight:600;letter-spacing:-.012em;line-height:1.16;margin:0}
h1 span{display:block;text-wrap:balance}
.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;color:var(--teal)}
.sub{color:var(--muted);font-size:1rem;max-width:46ch;margin:20px 0 0}
.btn{display:inline-block;font-weight:600;font-size:.95rem;text-decoration:none;padding:13px 26px;
     border-radius:8px;background:var(--teal);color:#fff;margin-top:24px;align-self:flex-start}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px 40px 0}
nav .lg{display:block;line-height:0}
nav .lg img{height:46px;width:auto;display:block}
nav .links{display:flex;align-items:center;gap:20px;font-size:.83rem;color:var(--muted);font-weight:600}
nav .links a{text-decoration:none}
nav .links a:hover{color:var(--teal)}
nav .links .lt{background:var(--teal);color:#fff;padding:8px 15px;border-radius:7px}
nav .links .ext{font-size:.72em;opacity:.55;vertical-align:1px}
.burger{display:none;background:0;border:0;font-size:1.5rem;cursor:pointer;padding:6px 10px;color:var(--ink)}
.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;max-width:1200px;margin:0 auto}
.pw{position:relative;min-height:560px;background-image:url('../img/kat.jpg');background-size:cover;
    background-position:center 12%;clip-path:url(#waveMedium)}
.pw .tag{position:absolute;left:30px;bottom:26px;background:rgba(12,53,59,.9);color:#fff;border-radius:10px;
         padding:13px 19px;z-index:3}
.pw .tag b{font-family:'RLW';font-weight:600;font-size:1.02rem}
.pw .tag span{display:block;font-size:.78rem;color:var(--aqua);margin-top:4px}
.tx{display:flex;flex-direction:column;justify-content:center;padding:52px 40px 52px 34px}
.tx h1{font-size:clamp(1.24rem,1.9vw,1.68rem)}
.secband{background:var(--band);padding:52px 40px}
.slabs{display:flex;gap:15px;max-width:1120px;margin:0 auto}
.slab{flex:1;height:150px;position:relative;overflow:hidden;border-radius:12px;box-shadow:0 8px 20px rgba(12,53,59,.16)}
.slab .bg{position:absolute;inset:0;background-repeat:no-repeat}
.slab::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,44,50,.04),rgba(9,44,50,.84))}
.slab .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:12px 13px;color:#fff}
.slab .cap .ico{color:var(--aqua)}
.slab .cap b{display:block;font-family:'RLW';font-weight:600;font-size:.9rem;margin-top:4px}
.intro{max-width:1120px;margin:0 auto;padding:82px 40px 76px}
.intro .inner{max-width:64ch}
.intro p{margin:0 0 22px}
.intro p:last-child{margin-bottom:0}
.intro .lead{font-family:'RLW';font-weight:500;font-size:clamp(1.16rem,1.7vw,1.5rem);line-height:1.42;
  letter-spacing:-.008em;color:var(--ink)}
.intro .body{font-size:1.02rem;color:var(--muted);line-height:1.72}
.intro .rule{width:54px;height:3px;background:var(--teal);border-radius:2px;margin:0 0 30px}
.book{background:#f7f6f2;color:var(--ink)}
.book .inner{max-width:1120px;margin:0 auto;padding:82px 40px;display:grid;
  grid-template-columns:.42fr .58fr;gap:64px;align-items:center}
.book .cover{width:100%;max-width:330px;display:block;border-radius:3px;
  box-shadow:0 26px 58px rgba(12,53,59,.28),0 4px 14px rgba(12,53,59,.16);
  transition:transform .28s ease,box-shadow .28s ease}
.book a:hover .cover{transform:translateY(-4px);
  box-shadow:0 34px 68px rgba(12,53,59,.32),0 6px 18px rgba(12,53,59,.18)}
.book h2 a{color:inherit;text-decoration:none}
.book h2 a:hover{text-decoration:underline;text-decoration-thickness:2px;
  text-underline-offset:6px;text-decoration-color:var(--teal)}
.book .eyebrow{color:var(--teal)}
.book h2{font-family:'RLW';font-weight:600;font-size:clamp(2rem,3.2vw,2.8rem);
  line-height:1.08;margin:0 0 26px;color:var(--ink);letter-spacing:-.018em}
.book p{margin:0 0 20px;color:var(--muted);line-height:1.72;max-width:60ch}
.book p:last-child{margin-bottom:0}
.book .author{color:#6d8285}
.book .also{margin-top:26px;padding-top:20px;border-top:1px solid #e2e0d8}
.book .also a{display:inline-flex;align-items:baseline;gap:8px;font-weight:600;font-size:.95rem;
  color:var(--teal);text-decoration:none}
.book .also a:hover{text-decoration:underline}
.book .also .ext{font-size:.72em;opacity:.55}
.book .also .note{display:block;font-size:.86rem;color:#8a9a9b;margin-top:5px;font-weight:400}
.pier{background:#fff}
.pier .inner{max-width:1120px;margin:0 auto;padding:82px 40px;display:grid;
  grid-template-columns:.46fr .54fr;gap:56px;align-items:center}
.pier .eyebrow{color:#0f766e}
.pier h2{font-family:'RLW';font-weight:700;font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.05;
  margin:0 0 20px;color:#0d2b30;letter-spacing:-.02em}
.pier p{margin:0;color:#4a5c5e;line-height:1.68;max-width:44ch;font-size:1.04rem}
.pier .go{display:inline-block;margin-top:26px;font-weight:600;font-size:.95rem;color:#0f766e;text-decoration:none}
.pier .go:hover{text-decoration:underline}
.pier .shot{width:100%;height:267px;overflow:hidden;border-radius:12px;
  box-shadow:0 22px 54px rgba(13,43,48,.22),0 3px 10px rgba(13,43,48,.12)}
.pier .shot img{width:100%;height:100%;object-fit:cover;object-position:center 6%;display:block}
.pier .pill{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#0f766e;background:#e7f2f0;border-radius:20px;padding:6px 14px;margin-bottom:16px}
/* inner pages */
.page .inner{max-width:1120px;margin:0 auto;padding:70px 40px 76px}
.page h1{font-family:'RLW';font-weight:600;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12;
  margin:0 0 26px;letter-spacing:-.018em;max-width:30ch;text-wrap:balance}
.page h2{font-family:'RLW';font-weight:600;font-size:1.42rem;margin:52px 0 14px;letter-spacing:-.012em}
.page p{margin:0 0 18px;max-width:68ch;color:var(--muted);line-height:1.74}
.page .lead{font-size:1.12rem;color:var(--ink)}
.page .sub2{color:var(--teal);font-weight:600;font-size:.95rem;margin-bottom:14px}
.page .gap{margin-top:26px;font-style:italic;color:#8aa0a2}
.projs,.arts{display:flex;flex-direction:column;gap:2px;margin-top:20px}
.proj,.art{background:#f4f8f7;border-left:3px solid var(--teal);padding:15px 20px;border-radius:0 8px 8px 0}
.proj b,.art b{font-family:'RLW';font-weight:600;display:block;color:var(--ink)}
.proj span,.art span{font-size:.88rem;color:var(--muted)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:44px 0}
.pair.rev .txt{order:2}
.pair img{width:100%;border-radius:12px;display:block;box-shadow:0 10px 26px rgba(12,53,59,.16)}
.pair .txt h2{margin-top:0}
.pair .txt p:last-child{margin-bottom:0}
@media(max-width:820px){.pair{grid-template-columns:1fr;gap:24px;margin:32px 0}.pair.rev .txt{order:0}}
.bio{display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:start;margin-bottom:8px}
.bio img{width:100%;border-radius:12px;display:block;box-shadow:0 12px 30px rgba(12,53,59,.16)}
.bio .txt p:first-child{margin-top:0}
.morelink{display:inline-block;margin-top:20px;font-weight:600;color:var(--teal);text-decoration:none}
.morelink:hover{text-decoration:underline}
@media(max-width:760px){.figs{grid-template-columns:1fr}.bio{grid-template-columns:1fr;gap:20px}
 .bio img{max-width:260px}}
.page main img{width:100%;max-width:68ch;border-radius:12px;display:block;margin:26px 0 30px;
  box-shadow:0 10px 26px rgba(12,53,59,.14)}
/* inline links in body copy — teal, so they read as links (a{color:inherit} alone hides them) */
.page p a,.page li a,.book p a{color:var(--teal);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(7,121,127,.42)}
.page p a:hover,.page li a:hover,.book p a:hover{text-decoration-color:var(--teal)}
.legal .inner,.narrow .inner{max-width:860px}
.narrow p,.narrow li{max-width:none}
.legal h2,.legal h3{font-size:1.16rem;margin:34px 0 10px}
.legal p,.legal li{color:var(--muted);line-height:1.72;max-width:none}
.legal ul{padding-left:22px;margin:0 0 18px}
/* form */
.msg .ok{background:#e7f4f0;border:1px solid #b8ddd4;color:#0f5d52;padding:14px 18px;border-radius:9px;margin-bottom:22px}
.msg .bad{background:#fdeaea;border:1px solid #f0c2c2;color:#8f2b2b;padding:14px 18px;border-radius:9px;margin-bottom:22px}
.form{max-width:620px;margin-top:8px}
.form label{display:block;font-weight:600;font-size:.9rem;color:var(--ink);margin-bottom:18px}
.form input::placeholder,.form textarea::placeholder{color:#9ab3ae}
.form input,.form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;
  font-family:'OS',system-ui,Arial,sans-serif;font-size:1rem;line-height:1.5;
  border:1.5px solid #b9cfca;border-radius:9px;background:#f8fbfa;color:var(--ink)}
.form input:focus,.form textarea:focus{outline:3px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px}
.form .btn{margin-top:6px;border:0;cursor:pointer;font-family:'OS',system-ui,Arial,sans-serif}
.form textarea{resize:vertical}
@media(max-width:760px){.page .inner{padding:48px 24px 56px}.form .row2{grid-template-columns:1fr}}

/* closing contact band */
.cta{position:relative;background:#0a2b30}
.cta .bg{position:absolute;inset:0;background-image:url('../img/ctaband.jpg');
  background-size:cover;background-position:center 44%;background-repeat:no-repeat;opacity:.44}
.cta::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(8,38,43,.94) 0%,rgba(8,38,43,.80) 48%,rgba(8,38,43,.52) 100%)}
.cta .inner{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:96px 40px}
.cta .eyebrow{color:var(--aqua)}
.cta h2{font-family:'RLW';font-weight:600;font-size:clamp(1.7rem,2.9vw,2.5rem);line-height:1.14;
  margin:0 0 18px;color:#fff;max-width:20ch;letter-spacing:-.015em}
.cta p{color:#bcd9d5;margin:0;max-width:46ch;font-size:1.04rem}
.cta .btn{background:#fff;color:var(--teal);margin-top:30px}

/* footer */
footer{background:#07242a;color:#8fb3af;font-size:.9rem}
footer .inner{max-width:1120px;margin:0 auto;padding:54px 40px 44px}
footer img{height:38px;width:auto;display:block;margin-bottom:22px}
footer .fl{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:24px}
footer a{color:#bcd9d5;text-decoration:none}
footer a:hover{color:var(--aqua);text-decoration:underline}
footer .fine{font-size:.84rem;color:#6d8f8b;margin-top:12px}
footer .ext{font-size:.72em;opacity:.55}

@media(max-width:900px){.cta .inner{padding:62px 26px}footer .inner{padding:40px 26px 36px}}
.wip{max-width:1120px;margin:0 auto;padding:44px 40px 64px;text-align:center;color:#8aa0a2;font-size:.9rem}
.wip b{color:var(--ink);font-family:'RLW';font-weight:600;display:block;font-size:1.05rem;margin-bottom:6px}
.wip a{color:var(--teal)}
@media(max-width:900px){
 nav .lg img{height:38px}
 nav .links{display:none} nav .links.open{display:flex;flex-direction:column;position:absolute;top:66px;left:0;right:0;
   background:#fff;padding:20px 40px;gap:16px;box-shadow:0 10px 24px rgba(12,53,59,.12);z-index:20}
 .burger{display:block}
 .hero{grid-template-columns:1fr}
 .pw{min-height:440px;clip-path:none;background-position:center 14%}
 .tx{padding:40px 28px}
 .secband{padding:34px 22px}
 .intro{padding:52px 26px 46px}
 .book .inner{grid-template-columns:1fr;gap:34px;padding:52px 26px}
 .book .cover{max-width:210px}
 .pier .inner{grid-template-columns:1fr;gap:30px;padding:52px 26px}
 .pier .shot{height:180px}
 .slabs{flex-wrap:wrap}
 .slab{flex:1 1 40%;height:140px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
