/* The Pattern Attic · editorial UX upgrade (preserves existing flipbook components) */
:root {--attic-canvas:#f3ece1;--attic-paper:#fffdf8;--attic-ink:#32271e;--attic-muted:#66584b;--attic-rust:#b34b18;--attic-border:#e4d6c3;--attic-sage:#68735f}
html{scroll-padding-top:90px}body{background:var(--attic-canvas)}
:focus-visible{outline:3px solid #205b51!important;outline-offset:3px}
a,button{touch-action:manipulation}
.skip-to-content{position:fixed;left:10px;top:-90px;z-index:9999;padding:13px 20px;background:#fff;color:#25231f;border:2px solid #205b51;border-radius:10px}.skip-to-content:focus{top:10px}
/* Small utilitarian navigation; oversized illustrated logo remains the primary brand feature. */
.site-topbar{position:sticky;top:0;z-index:70;background:#fffdf9f2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #e6d9c7;color:var(--attic-ink);box-shadow:0 2px 12px #281c1010}
.site-topbar-inner{max-width:1240px;margin:auto;min-height:64px;padding:8px 19px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-wordmark{color:#342b23;text-decoration:none;line-height:1.08;font-family:Georgia,serif;font-size:19px;font-weight:700;letter-spacing:-.025em;white-space:nowrap}
.site-wordmark .small-mark{color:#a44e19;font-size:21px;margin-right:4px}
.site-primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.site-primary-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;color:#5c4a3a;font-size:13px;font-weight:750;text-decoration:none;border-radius:10px;white-space:nowrap}
.site-primary-nav a:hover,.site-primary-nav a[aria-current=page]{background:#f4e8d9;color:#7d3815}
.site-primary-nav .site-primary-cta{background:#ad4f20;color:white;padding:10px 17px}.site-primary-nav .site-primary-cta:hover{background:#843912;color:#fff}
.site-topbar .compact-link{display:none}
/* Homepage: one glance to understand the site, then fast access to pattern and counts */
.container{max-width:1230px}.attic-brand-feature{padding:18px 16px 0!important;background:#fffaf4!important;box-shadow:0 10px 30px #3a281110!important}
.attic-brand-logo{width:min(100%,1160px)!important;max-height:420px!important}.attic-brand-caption{color:#786047!important}
.attic-site-links a{min-height:40px;display:inline-flex;align-items:center}
.pattern-hero{align-items:center!important;background:#fffdf8!important;border-color:var(--attic-border)!important;box-shadow:0 10px 38px #3a28110c!important}
.pattern-hero-copy h2{font-size:clamp(33px,4vw,50px)!important;line-height:1.1!important;max-width:14ch}
.pattern-hero-copy p{max-width:57ch}.pattern-hero-media{background:#fffcf5}
.hero-callout{background:#fff5e7!important}.hero-btn{border-radius:12px!important;transition:background .18s ease,transform .18s ease}.hero-btn.primary{background:#b35220!important;border-color:#b35220!important}.hero-btn:hover{transform:translateY(-1px)}
.pattern-hero .hero-badges{gap:6px}.pattern-hero .hero-badge{background:#faf3e8}
.reader-area{scroll-margin-top:76px}.reader-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0 12px}
.reader-topline .reader-helper{font-size:13px;color:#675846;max-width:55ch;line-height:1.5}
.reader-tabs{display:flex;gap:6px;background:#ede0ce;border:1px solid #ddccb6;padding:5px;border-radius:14px}
.reader-tabs button{border:0;background:transparent;padding:11px 17px;font:750 13px system-ui,-apple-system,'Segoe UI',sans-serif;color:#5f4c3d;border-radius:10px;min-height:44px;cursor:pointer}
.reader-tabs button.active{background:#fffdf8;box-shadow:0 2px 8px #56402a18;color:#823510}
.reader-area .intro{margin-top:4px}
.reader-area .panel{box-shadow:0 14px 40px #32231b16}.row-chart{background:#fffbf5!important}
.reader-progress-card{margin:13px 0 18px;padding:15px 19px;border:1px solid #e1cfb6;background:#fff8ef;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.reader-progress-card strong{font-family:Georgia,serif;font-weight:600;font-size:18px}.reader-progress-card p{font-size:13px;color:#685846;margin:3px 0 0;line-height:1.5}
.reader-progress-card a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:800;background:#fff;color:#8b4219;border:1px solid #e2ccb1;text-decoration:none}
.reader-progress-card a:hover{background:#ffe9d0}
.row-tracker{background:#fffaf1;border-top:1px solid #ebdfcd;margin-top:20px;padding:16px;border-radius:12px;display:flex;align-items:center;flex-wrap:wrap;gap:13px}
.row-tracker button{border:0;border-radius:10px;padding:12px 15px;background:#a84c1c;color:#fff;min-height:44px;font:700 13px system-ui;cursor:pointer}
.row-tracker button.done{background:#526e55}
.row-tracker span{font-size:13px;color:#6a5b4b}
.track-meter{width:100%;height:7px;background:#e8ded0;border-radius:20px;overflow:hidden}.track-meter>span{display:block;height:100%;width:0;background:#667960;transition:width .2s}
.attic-sectiontop{margin-top:38px}.attic-card,.attic-post{box-shadow:0 4px 20px #35271409}
.attic-card p,.attic-post p{line-height:1.65}.attic-post{transition:transform .2s ease,box-shadow .2s ease}
.attic-footer{border-top:1px solid #dbcbb5;margin-top:40px!important}
/* Shared editorial pages and journal articles */
.inner-header{position:static!important}.inner-nav{max-width:1200px!important}.inner-nav nav{gap:4px!important}.inner-nav nav a{padding:9px 11px;border-radius:9px;min-height:42px;display:inline-flex;align-items:center}.inner-nav nav a:hover{background:#464039}
.subpage{max-width:1050px;border-radius:22px!important}.subpage h1{letter-spacing:-.04em}.subpage p{max-width:74ch}.subpage .lede{max-width:63ch}
.post-grid a:hover{border-color:#ca9b74;box-shadow:0 9px 22px #281a110d;transform:translateY(-2px)}.post-grid a{transition:transform .2s ease,box-shadow .2s ease}
.journal-entry-thumb{font:800 12px system-ui;letter-spacing:.06em;color:#8d4b27;margin-bottom:7px}
.inner-brand{white-space:nowrap}.inner-brand-mark{font-size:20px}
.account-panel{max-width:660px;border:1px solid #e5d6c2;background:#fffaf4;border-radius:18px;padding:22px;margin:22px 0}
.account-panel form{display:grid;gap:10px}.account-panel label{font-size:13px;font-weight:800}.account-panel input{width:100%;font:inherit;max-width:420px;padding:13px;border:1px solid #d6c7b4;border-radius:10px;min-height:46px}
.account-panel button{border:0;border-radius:10px;padding:12px 16px;background:#b15321;color:white;font:800 14px system-ui;min-height:45px;cursor:pointer}
.account-panel button.secondary{background:#fff;color:#80451f;border:1px solid #c8b8a6}
.account-panel button:disabled{opacity:.55;cursor:wait}.account-panel p{line-height:1.65}
.account-panel .state-note{background:#f3eadc;padding:14px;border-radius:10px;font-size:14px}
.account-panel .user-email{font-weight:800;color:#413123}
.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin:13px 0}
.account-result{font-size:14px;color:#4e5642;min-height:20px;margin-top:10px}
.account-result.error{color:#9b2418}
.home-help-steps{padding-left:23px;max-width:72ch}.home-help-steps li{margin-bottom:14px;line-height:1.7}
/* Website-wide stronger default contrast + friendly focus */
@media(max-width:930px){.site-topbar-inner{gap:6px}.site-primary-nav{gap:0}.site-primary-nav a{padding:9px 10px;font-size:12px}}
@media(max-width:690px){
 .site-topbar-inner{padding:7px 10px;min-height:58px;gap:7px}.site-wordmark{font-size:16px}
 .site-primary-nav a:not(.site-primary-cta):not(.compact-link){display:none}
 .site-topbar .compact-link{display:inline-flex}.site-primary-nav .site-primary-cta{padding:9px 10px;min-height:42px}
 .attic-brand-feature{margin-top:2px!important;padding:8px 6px 0!important}
 .attic-brand-logo{width:100%!important;max-height:245px!important;min-height:80px!important;object-fit:contain}
 .attic-brand-caption{font-size:12px!important}.attic-site-links{gap:0 10px!important}
 .pattern-hero{padding:14px!important}.pattern-hero-media{padding:11px!important}.pattern-hero-copy h2{font-size:33px!important}.pattern-hero-copy p{font-size:14px!important}
 .reader-topline{margin:17px 5px 9px;gap:8px}.reader-topline .reader-helper{display:none}
 .reader-tabs{width:100%}.reader-tabs button{flex:1;padding:9px 7px;min-width:0}
 .reader-progress-card{margin:10px 6px 15px;padding:13px}.reader-progress-card strong{font-size:16px}
 .reader-area .intro h2{font-size:24px}.reader-area .intro{margin-top:8px}.row-tracker{padding:11px}
 .inner-nav{flex-direction:row!important;flex-wrap:wrap;align-items:center!important;gap:6px!important;padding:10px!important}.inner-nav nav{flex:1;justify-content:flex-end;gap:0!important}
 .inner-nav nav a{font-size:12px;padding:8px!important;min-height:40px}.inner-nav nav a[href*="contact"],.inner-nav nav a[href*="#rows"]{display:none}
 .inner-brand{font-size:17px}.subpage-intro{padding-top:30px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Finishing details: consistent warm navigation, real mobile menu, accessible H1 */
.pattern-hero-copy h1{font-family:Georgia,serif;font-size:clamp(33px,4vw,50px);line-height:1.1;max-width:14ch;letter-spacing:-.035em;margin:6px 0 12px;font-weight:600;color:#32271e}
.site-mobile-menu{display:none;position:relative}
.site-mobile-menu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;background:#f6ebde;border:1px solid #dfcfbd;border-radius:10px;font-size:13px;font-weight:800;color:#5c432f;cursor:pointer}
.site-mobile-menu summary::-webkit-details-marker{display:none}
.site-mobile-menu nav{position:absolute;right:0;top:calc(100% + 9px);z-index:100;width:230px;display:grid;padding:9px;gap:3px;background:#fffcf7;border:1px solid #e1d0be;border-radius:14px;box-shadow:0 18px 36px #3c251923}
.site-mobile-menu nav a{color:#4c392b;padding:12px 13px;min-height:44px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none}
.site-mobile-menu nav a:hover{background:#f7e7d6}
.inner-header,body>header:not(.site-topbar){background:#fffdf9!important;box-shadow:0 2px 14px #24180e12!important;border-bottom:1px solid #e5d8c7;color:#33291f!important;position:sticky!important;top:0;z-index:70}
.inner-brand,.inner-nav nav a,.head-inner a{color:#49372b!important}
.inner-nav nav a:hover,.head-inner nav a:hover{background:#f3e6d7!important;color:#8d411c!important}
.head-inner{max-width:1200px}.head-inner nav a{padding:9px;border-radius:9px;min-height:42px;display:inline-flex;align-items:center}
.head-inner nav{gap:5px!important;align-items:center}
@media(max-width:690px){
 .site-topbar-inner{gap:8px}.site-mobile-menu{display:block}
 .site-primary-nav .compact-link{display:none!important}
 .site-primary-nav .site-primary-cta{font-size:12px;padding:10px}
 .pattern-hero-copy h1{font-size:33px}
 .head-inner{flex-direction:column;align-items:flex-start}.head-inner nav{display:flex;flex-wrap:wrap;gap:0!important}.head-inner nav a{font-size:12px;padding:8px}
}
