:root{--paper:#f6f2e9;--ink:#181613;--ink-soft:#57503f;--rule-faint:#e2dbc9;--rule-mid:#cfc7b2}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}
a{color:inherit;text-decoration:none}
a:hover{color:var(--ink-soft)}
img,video{max-width:100%;height:auto}
.sheet{max-width:1080px;margin:0 auto}
.masthead{padding:44px 64px 0;text-align:center}
.masthead-title{border-top:3px double var(--ink);border-bottom:1px solid var(--ink);padding:22px 0 18px}
.masthead-title .site-name{display:block;font-size:54px;font-weight:500;letter-spacing:.12em;line-height:1}
.dateline{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px double var(--ink);padding:8px 2px 9px;font-size:13px;font-style:italic;color:var(--ink-soft)}
.dateline nav{font-style:normal;letter-spacing:.08em;display:flex;gap:1.05em}
.theme-banner{border-bottom:1px solid var(--ink);padding:9px 2px;font-size:13px;font-style:italic;color:var(--ink-soft)}
.front{display:grid;grid-template-columns:1fr 300px;padding:52px 64px 56px}
.home-front{display:block;padding-top:36px}
.account-frame{position:relative;z-index:0;border:1px solid var(--ink);outline:1px solid var(--rule-mid);outline-offset:-9px;padding:clamp(27px,5vw,58px);background-image:url('/graphics/WTCsunnydaybkgrnd.png');background-repeat:repeat;background-position:center center;background-blend-mode:exclusion;background-attachment:scroll;background-size:auto;background-color:transparent}
.account-frame::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0.70;background-color:rgba(255,255,255,1.00)}
.account-frame:focus-within{outline-color:var(--ink)}
.account-document{position:relative;max-width:850px;margin:0 auto}
.account-banner{text-align:center;margin-bottom:24px}
.account-banner img{display:block;width:100%;height:auto;margin:0 auto}
.account-header{border-bottom:3px double var(--ink);padding-bottom:22px;margin-bottom:25px;text-align:center}
.account-standfirst h2{font-size:17px;font-weight:400;font-style:italic;line-height:1.45;max-width:670px;margin:19px auto 0;color:var(--ink-soft)}
.account-content{font-size:17px;line-height:1.58}
.account-content h1{font-size:clamp(38px,6vw,62px);font-weight:400;line-height:1;margin:0 0 7px;text-align:center}
.account-content h2{font-size:clamp(22px,3vw,30px);font-weight:300;line-height:1.1;margin:0 0 25px;text-align:center}
.account-content p{margin:0 0 15px}
.account-content a{position:relative;z-index:1;border-bottom:1px solid var(--ink)}
.account-content img{display:block;max-width:100%;height:auto;margin:28px auto 8px;border:1px solid var(--rule-mid)}
.home-rails{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:34px;border-top:3px double var(--ink);margin-top:40px;padding-top:28px}
.home-rail{min-width:0}
.home-notice .notice{margin:4px}
.section-links{display:flex;flex-direction:column}
.section-links a{display:flex;flex-direction:column;border-bottom:1px solid var(--rule-faint);padding:0 0 12px;margin-bottom:12px}
.section-links span{font-size:18px}
.section-links small{font-size:13px;font-style:italic;color:var(--ink-soft);margin-top:2px}
.lede{padding-right:52px;border-right:1px solid var(--rule-mid)}
.lede h2,.page h1,.page>h2{font-size:47px;font-weight:400;line-height:1.12;margin:0 0 10px;text-wrap:balance}
.post-dek{max-width:62ch;font-size:20px;line-height:1.45;color:var(--ink-soft);margin:0 0 12px}
.byline{font-size:14px;font-style:italic;color:var(--ink-soft);margin-bottom:30px}
.body-cols{columns:2;column-gap:36px;column-rule:1px solid var(--rule-faint);font-size:16.5px;line-height:1.62;text-align:justify;hyphens:auto}
.body-cols p,.copy p{margin:0 0 14px}
.dropcap{float:left;font-size:63px;line-height:.82;padding:6px 8px 0 0;font-weight:500}
.continue{margin-top:32px;font-size:16px}
.continue a,.copy a,.admin-link{border-bottom:1px solid var(--ink);padding-bottom:1px}
.rail{padding-left:40px;display:flex;flex-direction:column}
.notice{border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:3px;padding:24px 22px;margin:4px 4px 34px;text-align:center}
.notice .kicker,.rail-head,.label{font-size:12px;letter-spacing:.22em;color:var(--ink-soft);text-transform:uppercase}
.notice .kicker{margin-bottom:12px}
.notice .text{font-size:19px;line-height:1.4;font-style:italic}
.notice .sub{font-size:13px;color:var(--ink-soft);margin-top:12px}
.rail-head{border-bottom:1px solid var(--ink);padding-bottom:8px;margin-bottom:18px}
.log{display:flex;flex-direction:column;gap:15px}
.log-item{display:flex;gap:12px;align-items:baseline}
.log-item + .log-item{border-top:1px solid var(--rule-faint);padding-top:15px}
.log-date{font-size:13px;font-style:italic;color:var(--ink-soft);white-space:nowrap}
.log-title{font-size:16.5px;line-height:1.35}
.page{padding:52px 64px 56px}
.page-narrow{max-width:760px}
.copy{font-size:17px;line-height:1.62}
.copy h3{font-size:24px;font-weight:400;border-top:1px solid var(--rule-mid);padding-top:18px;margin:28px 0 10px}
.media-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}
.media-pair figure{margin:0}
.media-pair figcaption{font-size:13px;font-style:italic;color:var(--ink-soft);margin-top:6px}
.list-index{border-top:1px solid var(--ink);margin-top:24px}
.index-row{display:grid;grid-template-columns:76px 88px 1fr 120px;gap:18px;align-items:center;border-bottom:1px solid var(--rule-faint);padding:16px 0}
.index-thumb{width:76px;height:58px;object-fit:cover;border:1px solid var(--rule-mid)}
.index-thumb-placeholder{width:76px;height:1px;background:var(--rule-mid)}
.index-title{font-size:22px;line-height:1.2}
.index-dek{font-size:15px;color:var(--ink-soft);margin-top:5px}
.filters{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.filters a{border:1px solid var(--rule-mid);padding:5px 10px}
.pagination{display:flex;gap:18px;margin-top:24px}
.archive-years,.share-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px;font-size:14px;color:var(--ink-soft)}
.archive-years a,.share-links a{border-bottom:1px solid var(--rule-mid)}
.share-links button{min-height:auto;padding:2px 7px;font-size:14px}
.post-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:3px double var(--ink);border-bottom:1px solid var(--rule-mid);padding:18px 0;margin-top:38px;font-size:15px}
.post-neighbors span:last-child{text-align:right}
.post-neighbors a,.related-posts a{border-bottom:1px solid var(--rule-mid)}
.related-posts{margin-top:28px}
.related-posts h2{font-size:25px;margin-bottom:10px}
.related-posts ol{padding-left:20px;line-height:1.7}
.related-posts time{color:var(--ink-soft);font-size:13px}
.review-box,.edition-box{border:1px solid var(--ink);padding:18px;margin:24px 0}
.memorial-reflections{border-top:1px solid var(--rule-mid);margin-top:34px;padding-top:22px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px}
.print-card{border-top:1px solid var(--ink);padding-top:12px}
.print-card img,.hero-image{width:100%;border:1px solid var(--rule-mid)}
.admin-bar{display:flex;gap:18px;justify-content:center;font-size:14px;margin-top:14px}
form.admin-form{display:grid;gap:14px;max-width:760px}
.admin-form fieldset{border:1px solid var(--rule-mid);display:grid;gap:14px;margin:0;padding:14px}
.admin-form legend{font-size:12px;letter-spacing:.22em;color:var(--ink-soft);text-transform:uppercase}
.admin-form input,.admin-form textarea,.admin-form select,.admin-filters input,.admin-filters select{width:100%;min-height:44px;font:inherit;font-size:16px;background:#fffaf0;border:1px solid var(--rule-mid);border-radius:0;padding:10px}
.admin-form textarea{min-height:150px}
.admin-form label,.admin-filters label{display:grid;gap:6px}
.admin-form small{color:var(--ink-soft);line-height:1.4}
.admin-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font:inherit;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:0;padding:9px 15px;cursor:pointer}
.admin-filters{display:grid;grid-template-columns:minmax(180px,2fr) 1fr 1fr auto;gap:12px;align-items:end;border-top:1px solid var(--rule-mid);border-bottom:1px solid var(--rule-mid);padding:16px 0;margin:22px 0}
.review-toggle{display:flex!important;align-items:center;gap:10px;min-height:44px}
.review-toggle input{width:22px!important;min-height:22px!important}
.sticky-save{position:sticky;bottom:0;z-index:4;background:var(--paper);border-top:3px double var(--ink);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}
.autosave-status{font-size:13px;color:var(--ink-soft);margin-right:auto}
.form-errors,.form-success,.preview-banner,.affiliate-disclosure{border:1px solid var(--ink);padding:14px 16px;margin:18px 0}
.form-errors{background:#f3ddd5}
.form-success{background:#e3ead9}
.preview-banner{background:#eee3c8}
.affiliate-disclosure{font-size:15px;line-height:1.45;background:#eee8da}
.hp{position:absolute;left:-9999px}
.colophon{margin:0 64px;border-top:3px double var(--ink);padding:16px 2px 40px;display:flex;justify-content:space-between;font-size:13px;font-style:italic;color:var(--ink-soft)}
@media (max-width: 860px){
  .masthead{padding:28px 20px 0}
  .masthead-title .site-name{font-size:34px}
  .dateline{flex-direction:column;gap:6px;align-items:center;text-align:center}
  .dateline nav{gap:.7em;flex-wrap:wrap;justify-content:center}
  .front{grid-template-columns:1fr;padding:36px 20px}
  .home-front{display:block;padding-top:24px}
  .account-frame{padding:32px 27px}
  .home-rails{grid-template-columns:1fr;margin-top:34px;gap:32px}
  .home-notice{order:3}
  .lede{padding-right:0;border-right:none}
  .lede h2,.page h1,.page>h2{font-size:34px}
  .body-cols{columns:1}
  .rail{padding-left:0;margin-top:44px}
  .page{padding:36px 20px}
  .media-pair,.pros-cons,.gallery{grid-template-columns:1fr}
  .index-row{grid-template-columns:1fr;gap:5px}
  .index-thumb{width:100%;height:auto;max-height:220px}
  .index-thumb-placeholder{display:none}
  .post-neighbors{grid-template-columns:1fr}
  .post-neighbors span:last-child{text-align:left}
  .colophon{margin:0 20px;flex-direction:column;gap:6px}
  .admin-filters{grid-template-columns:1fr}
  .admin-bar{overflow-x:auto;justify-content:flex-start;padding:0 20px 4px}
}
@media (max-width: 560px){
  .account-frame{margin:0 -8px;padding:29px 22px;outline-offset:-7px}
}
