:root{--navy:#102b3b;--gold:#b78a43;--cream:#f8f5ed;--ink:#263741;--muted:#62727a;--line:#ded8ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--cream)}a{color:inherit}button,input{font:inherit}.shell{max-width:1160px;width:90%;margin:auto}.topline{background:#0d2839;color:#eddbc0;text-align:center;padding:10px;font:10px system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase}.mast{background:white;border-bottom:1px solid #e2ded5}.head{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:83px}.brand{font-size:26px;text-decoration:none;color:#142f40;white-space:nowrap}.brand b{color:var(--gold);font-weight:400}.brand small{font:9px system-ui;letter-spacing:.19em;display:block;margin-top:3px;text-transform:uppercase}.nav{display:flex;gap:19px;align-items:center;flex-wrap:wrap}.nav a{font:13px system-ui,sans-serif;text-decoration:none;color:#324b59}.nav a[aria-current=page]{color:#a87a36;border-bottom:2px solid #b78a43;padding-bottom:5px}.nav a:hover{color:var(--gold)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 12px;cursor:pointer}.hero{background:var(--navy);color:white;padding:85px 0}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;align-items:center}.eyebrow{font:11px system-ui;letter-spacing:.17em;text-transform:uppercase;color:#bd944d;font-weight:650}.hero h1{font-size:clamp(42px,6vw,80px);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:23px 0}.hero h1 em,.prose h2 em{color:#d6b779;font-style:italic}.hero p{font:16px/1.85 system-ui;max-width:540px;color:#d3dde0}.btn{display:inline-block;background:#c7a261;color:#152d3a;padding:14px 22px;text-decoration:none;font:600 13px system-ui;margin-top:20px}.btn.dark{background:var(--navy);color:white}.hero-mark{padding:36px;border:1px solid #7a775f;text-align:center}.hero-mark .monogram{font-size:clamp(100px,17vw,190px);font-style:italic;color:#efdab4;line-height:1}.hero-mark div:nth-child(2){font-size:28px;color:#d8b16b}.hero-mark p{font:10px system-ui;letter-spacing:.18em;text-transform:uppercase}.section{padding:75px 0}.section.white{background:white}.section.beige{background:#eee8db}.prose h1,.prose h2{font-weight:400;line-height:1.15;letter-spacing:-.04em}.prose h1{font-size:clamp(42px,5vw,65px);margin:15px 0 20px}.prose h2{font-size:clamp(32px,4vw,47px);margin:15px 0 24px}.prose p{font:15px/1.9 system-ui;color:#56646b}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.sectionlabel{font:12px system-ui;color:#b2894d;letter-spacing:.12em;text-transform:uppercase}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.feature{border:1px solid var(--line);background:#fff;padding:23px;text-decoration:none}.feature strong{font-size:24px;font-weight:400}.feature p{font:13px/1.8 system-ui;color:var(--muted)}.pagehead{background:#102b3b;color:white;padding:67px 0 58px}.pagehead h1{font-size:clamp(42px,5vw,64px);font-weight:400;letter-spacing:-.04em;margin:17px 0}.pagehead p{font:15px/1.8 system-ui;color:#cbd7dc;max-width:720px}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0 25px}.chip{background:white;border:1px solid var(--line);padding:10px 15px;font:12px system-ui;cursor:pointer;color:#43515a}.chip.active{background:var(--navy);color:#fff}.searchbox{width:min(100%,330px);padding:12px 15px;border:1px solid #c9c5bb;background:white;font:13px system-ui;margin:12px 0 22px}.bookgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.bookcard{border:1px solid var(--line);background:#fff;padding:13px;display:flex;flex-direction:column}.bookcover{aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;background:#e9e4d8;overflow:hidden}.bookcover img{display:block;width:100%;height:100%;object-fit:contain;background:#f3f0e8}.bookcover.placeholder{background:linear-gradient(150deg,#284455,#122b3c);color:#e1c487;text-align:center;padding:20px;flex-direction:column}.placeholder strong{font-size:23px;font-weight:400;line-height:1.2;overflow-wrap:anywhere}.placeholder small{font:10px system-ui;letter-spacing:.12em;margin-bottom:30px}.bookcard h3{font-size:20px;font-weight:400;line-height:1.3;margin:18px 2px 8px}.bookcard .category{color:#967447;font:10px system-ui;text-transform:uppercase;letter-spacing:.09em}.bookcard p{font:12px/1.7 system-ui;color:#66747b;margin:10px 2px 16px;flex:1}.bookcard a{font:12px system-ui;color:#8b6937;margin:0 2px 10px}.disclaimer{font:13px/1.7 system-ui;color:#65737a;margin:25px 0}.hline{border-top:1px solid var(--line);margin:55px 0 35px}.picture{background:linear-gradient(170deg,#e5d3ad 10%,#7898a6 65%,#143b4e 66%);min-height:340px}.footer{background:#0b2535;color:#c5d0d3;padding:32px 0;font:12px/1.8 system-ui}.footer .footrow{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{color:#d2b579;text-decoration:none}.contactinfo{padding:25px;background:white;border:1px solid var(--line)}@media(max-width:930px){.bookgrid{grid-template-columns:repeat(3,1fr)}.nav{gap:10px}.nav a{font-size:11px}.hero-grid{gap:5%}}@media(max-width:680px){.menu-toggle{display:block}.head{position:relative;flex-wrap:wrap;padding:17px 0}.nav{display:none;width:100%;padding:12px 0;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{padding:55px 0}.hero-grid,.split{grid-template-columns:1fr}.hero-mark{display:none}.section{padding:55px 0}.feature-grid{grid-template-columns:1fr}.bookgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bookcard{padding:8px}.bookcard h3{font-size:17px}.bookcard p{font-size:11px}}
/* Approved Chemainus Books identity */
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}
.brand img{display:block;width:142px;height:auto;max-width:100%}
.hero-mark{background:#fbf8f0;padding:24px;display:flex;align-items:center;justify-content:center}
.hero-logo{display:block;width:100%;height:auto;max-width:440px}
@media(max-width:930px){.brand img{width:117px}.nav{gap:8px}}
@media(max-width:680px){.brand img{width:114px}}

/* Chemainus town editorial layout */
.town-highlight{background:#123247;color:#f4eee0;border-top:5px solid #c6a05b;padding:32px;align-self:center;min-height:325px}
.town-highlight strong{display:block;font-size:clamp(64px,9vw,105px);font-weight:400;line-height:1.1;color:#f1d193;margin:19px 0 4px}
.town-highlight p{font:14px/1.85 system-ui,sans-serif;color:#d8e1e5}
.town-highlight hr{border:0;border-top:1px solid #617481;margin:26px 0}
.town-highlight a{font:12px system-ui,sans-serif;color:#f4cf82}
.town-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin-top:34px}
.town-card{background:#fbf8f1;border:1px solid #e2dacf;padding:26px;min-height:250px;display:flex;flex-direction:column}
.town-card .town-number{font:12px system-ui,sans-serif;color:#ae8544}
.town-card h3{font-size:27px;font-weight:400;margin:18px 0 5px}
.town-card p{font:13px/1.85 system-ui,sans-serif;flex:1}
.town-card a{font:12px system-ui,sans-serif;color:#956d31}
.town-scene{min-height:355px;position:relative;overflow:hidden;background:linear-gradient(170deg,#c2cbd0,#e5cf9b 52%,#4e7587 53%,#16394f);isolation:isolate}
.town-sun{position:absolute;width:155px;height:155px;border-radius:50%;background:#e8b76a;left:39%;top:42px;z-index:-1}
.town-island{position:absolute;left:0;right:0;top:165px;height:90px;background:#3d6274;clip-path:polygon(0% 90%,17% 72%,30% 35%,46% 60%,63% 12%,80% 50%,100% 30%,100% 100%,0% 100%)}
.town-water{position:absolute;inset:245px 0 0;background:repeating-linear-gradient(177deg,#204658 0 12px,#3b6679 12px 15px)}
.town-scene-caption{position:absolute;bottom:18px;left:22px;font:10px system-ui,sans-serif;letter-spacing:.15em;color:#fff9e8}
.town-ending{background:#eee8db}
.town-sources{padding:20px 0;background:#e7e0d2}
.town-sources p{font:12px/1.8 system-ui,sans-serif;color:#596b72}
.town-sources a{color:#805d2e}
@media(max-width:800px){.town-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.town-grid{grid-template-columns:1fr}.town-highlight{min-height:0}.town-scene{min-height:260px}.town-island{top:140px}.town-water{inset:205px 0 0}}
