:root{--brown:#2B1C12;--gold:#C9A14F;--red:#9A2A1C;--cream:#FBF6EA;--ink:#3A2A1A;--tan:#8A6A3A;--line:#E3D7BE;--paper:#F3EBD6}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#fff;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit}
.serif{font-family:'Libre Baskerville',Georgia,serif}
.mono{font-family:'Courier Prime','Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.wrap{width:min(1120px,100% - 80px);margin:0 auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:0;top:0;z-index:100;background:#fff;color:var(--brown);padding:12px 16px;font-weight:600}
header.site{position:relative;background:#fff;border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px}
a.logo{padding:12px 0;display:inline-block}
.logo{font-family:'Libre Baskerville',serif;font-weight:700;letter-spacing:.14em;font-size:13px;color:var(--brown);text-decoration:none;text-transform:uppercase}
nav.main a{text-decoration:none;font-size:14px;margin-left:26px;color:var(--ink)}
nav.main a.on,nav.main a[aria-current="page"]{border-bottom:2px solid var(--gold);padding-bottom:3px}
.eyebrow{font-family:'Courier Prime',monospace;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--red);margin-bottom:14px}
h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;color:var(--brown);line-height:1.15}
h1{font-size:44px;font-weight:700}
.home-h1{font-size:30px}
.home-h1 em{font-style:italic}
p.lead.hero-lead{margin-top:18px;font-size:15px;max-width:none}
@media (min-width:761px){.grid2.hero-split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
@media (min-width:1200px){.grid2.hero-split{grid-template-columns:600px minmax(0,1fr);column-gap:28px}}
h2{font-size:30px;font-weight:700}
h3{font-size:17px;font-weight:700}
p.lead{font-size:18px;color:var(--ink);max-width:560px}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:14px 28px;border-radius:3px}
.btn.dark{background:var(--brown)}
.btn.ghost{background:transparent;color:var(--brown);border:1.5px solid var(--brown)}
.link{font-weight:600;text-decoration:none;box-shadow:inset 0 -2px 0 var(--gold);color:var(--brown);font-size:15px}
section{padding:72px 0}
section.cream{background:var(--cream)}
section.brown{background:var(--brown);color:#F3E9D2}
section.brown h2{color:#fff}
.dots{height:2px;border-top:4px dotted var(--red);width:min(1120px,100% - 80px);margin:0 auto;opacity:.75}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}
.grid2>*,.grid3>*,.grid4>*,.grid5>*{min-width:0}
.grid2 img,.grid3 img,.grid4 img,.grid5 img{max-width:100%;height:auto}
.cover{background:var(--brown);aspect-ratio:3/4;box-shadow:6px 6px 0 var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#F3E9D2;text-align:center}
.cover .mono{color:var(--gold);font-size:10px}
.cover .city{font-family:'Libre Baskerville',serif;font-size:24px;margin:10px 0 16px;color:#fff}
.cover .ph{color:var(--gold);font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.14em}
.cover.sm .city{font-size:18px}
.book h3{margin:22px 0 6px}
.book p{font-size:14px;color:var(--ink)}
.book .meta{font-family:'Courier Prime',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tan);margin:8px 0 16px}
.montage{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.montage figure{position:relative;aspect-ratio:1/1;overflow:hidden;margin:0}
.montage img{width:100%;height:100%;object-fit:cover;display:block}
.montage figcaption{position:absolute;left:10px;bottom:10px;background:var(--brown);color:#F3E9D2;font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px}
.ph-box{background:var(--paper);border:1px dashed var(--tan);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brown);font-family:'Libre Baskerville',serif;font-size:14px;text-align:center;padding:20px}
.ph-box small{display:block;font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6B5128;margin-top:8px}
.stamp{display:inline-block;border:1.5px solid var(--red);color:var(--red);font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.14em;padding:3px 9px;transform:rotate(-2deg);margin-right:14px;white-space:nowrap}
.steps li{list-style:none;display:flex;gap:6px;align-items:flex-start;margin-bottom:26px}
.steps li div p{font-size:14px;margin-top:4px}
.feat{border-top:2px solid var(--gold);padding-top:14px}
.feat p{font-size:14px;margin-top:6px}
.quote{border-top:2px solid var(--gold);padding-top:18px}
.quote .q{font-family:'Libre Baskerville',serif;color:var(--gold);font-size:28px;line-height:.6}
.quote p{font-family:'Libre Baskerville',serif;font-size:15px;margin:14px 0 12px;color:var(--ink)}
.quote .who{font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tan)}
label{display:block;font-weight:600;font-size:13px;margin-bottom:8px}
input,textarea,select{width:100%;border:1.5px solid var(--tan);background:#fff;padding:12px 14px;font:inherit;font-size:14px;border-radius:3px;color:var(--ink)}
details.feat{margin-bottom:12px}
details.feat summary{cursor:pointer;font-weight:700}
.help{font-size:12px;color:var(--tan);margin-top:8px}
footer.site{background:#fff;border-top:1px solid var(--line);padding:56px 0 36px}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
footer.site a{font-size:13px;text-decoration:none;display:block;margin-bottom:10px}
footer.site p{font-size:13px}
footer.site .fine{border-top:1px solid var(--line);margin-top:36px;padding-top:18px;font-size:11px;color:var(--tan)}
.pagehead{padding:64px 0 48px}
.pagehead h1{margin-bottom:14px}
.crumb{font-family:'Courier Prime',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tan);margin-bottom:28px}
table.dl{width:100%;border-collapse:collapse;font-size:14px}
table.dl th,table.dl td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line)}
table.dl th{font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tan);font-weight:400}
.pill{display:inline-block;font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gold);color:var(--brown);padding:3px 8px;border-radius:2px}
.case{border:1.5px solid var(--brown);padding:28px;position:relative;background:#fff}
.case:before{content:'';position:absolute;inset:6px;border:1px solid var(--gold);pointer-events:none}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery figure{margin:0}
.gallery img,.gallery .ph-box{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.gallery figcaption{font-family:'Courier Prime',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tan);margin-top:8px}
.note{background:var(--paper);border-left:4px solid var(--gold);padding:16px 20px;font-size:14px}
.mobile-nav{display:none;margin-left:auto;background:transparent;color:var(--brown);font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
section.brown :focus-visible{outline-color:var(--gold)}
nav.main a,footer.site a,.link,.citylinks a{display:inline-block;padding:11px 0;min-height:44px;line-height:22px}
footer.site a{display:block;margin-bottom:0;padding:11px 0;min-height:44px}
footer.site a.inline{display:inline;padding:0;min-height:0;text-decoration:underline}
.citylinks a{padding:11px 4px}
.inline{display:inline;padding:0;min-height:0;line-height:inherit;text-decoration:underline}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.anno{background:#FFF4D6;border:1px dashed var(--red);color:var(--red);font-family:'Courier Prime',monospace;font-size:11px;letter-spacing:.06em;padding:8px 12px;margin-top:16px;display:inline-block}
.anno:before{content:'NOTE FOR BUILD: '}
.hero-book{grid-template-columns:380px 1fr;gap:64px}
.mobile-nav,.btn{min-height:44px}
.btn{cursor:pointer;border:0;font-family:inherit;line-height:1.3}
.btn.gold{background:var(--gold);color:var(--brown)}
.sha-ph{outline:1px dashed var(--red);padding:0 4px}
.cover-img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;mix-blend-mode:multiply}
.signup-row{display:flex;gap:10px}
.signup-row input{flex:1;min-width:0}
.signup-row .btn{white-space:nowrap}
section.brown .help{color:#C9B98F}
.hp{position:absolute;left:-9999px}
.pagehead .crumb a{display:inline;padding:0;min-height:0}
@media (max-width:1023px){
  html.js .mobile-nav{display:inline-block;font-size:13px;font-weight:600;border:1.5px solid var(--brown);padding:6px 12px;border-radius:3px}
  html.js nav.main{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;background:#fff;border-bottom:1px solid var(--line);padding:8px 16px}
  html.js nav.main[data-open="true"]{display:block}
  html.js nav.main a{display:block;margin-left:0}
  nav.main{display:flex;flex-wrap:wrap}
}
@media (max-width:760px){
  .hero-book{grid-template-columns:1fr}
  .hero-book .cover{max-width:240px}
  .wrap,.dots{width:min(100% - 32px,1120px)}
  header.site .wrap{min-height:58px}
  .logo{font-size:11px;letter-spacing:.1em}
  h1{font-size:30px}h2{font-size:24px}
  .home-h1{font-size:28px}
  section{padding:44px 0}
  .pagehead{padding:36px 0 28px}
  .grid2,.grid3,.grid4,.grid5,footer.site .cols,.gallery{grid-template-columns:1fr 1fr;gap:20px}
  .grid2,.grid3,footer.site .cols{grid-template-columns:1fr}
  .montage{grid-template-columns:1fr 1fr;gap:3px}
  .steps li{margin-bottom:18px}
  table.dl th:nth-child(3),table.dl td:nth-child(3){display:none}
  .signup-row{flex-direction:column}
  .signup-row .btn{white-space:normal}
}
.spread{aspect-ratio:4/3;display:flex}.spread:has(>:not(.ph-box)){aspect-ratio:1/1}.grid2.mid{align-items:center}.pagehead .grid2>.wide:not(.ph-box){display:block}.pagehead .grid2>.wide{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.pagehead .grid2>.about-photo:not(.ph-box){display:block}.pagehead .grid2>.about-photo{width:auto;max-width:100%;max-height:440px;height:auto;margin-left:auto}.pagehead .grid2>.ph-box.about-photo{width:100%;min-height:240px}@media (max-width:760px){.pagehead .grid2>.about-photo{max-width:320px;margin:0 auto}}.spread>*{flex:1;width:100%;min-width:0;height:100%;object-fit:cover}
.grid4 .strip-img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.signup-case .btn{display:block;width:100%;text-align:center;margin-top:18px}
.hero-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.entry-img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}
a.pill{text-decoration:none}
/* Tap targets: every link and button is at least 44 by 44 */
nav.main a,.link,.citylinks a,footer.site a{min-width:44px}
a.logo{min-height:44px;display:inline-flex;align-items:center}
footer.site a.inline,.inline{display:inline-block;padding:11px 0;min-height:44px;line-height:22px}
.pagehead .crumb a,.crumb a{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;min-height:44px;min-width:44px}
a.pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.feat h3 a{display:inline-flex;align-items:center;min-height:44px}
.steps li>div{min-width:0;overflow-wrap:anywhere}
.feat p a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.spread>img{mix-blend-mode:multiply}
