:root{--event-paper-image:url('assets/event-parchment-portrait-v1.png')}
@font-face{font-family:"Berkshire Swash";src:url('assets/fonts/berkshire-swash-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  --wine:#46110e;--wine-deep:#260b0a;--wine-mid:#611e16;
  --cream:#f5e6c4;--paper:#f0dfb8;--paper-light:#f9edcf;
  --gold:#dba65a;--gold-light:#f7d99b;--gold-dim:#a97a3e;
  --ink:#341c16;--muted:#775649;--navy:#172c40;--navy-light:#243b50;
  --font-display:"Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;
  --font-landing-title:"Berkshire Swash",Georgia,serif;
  --font-ui:Inter,"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;
  --hero-start:140px;--section-space:clamp(64px,7vw,100px);--reading-size:15px;
}
*{box-sizing:border-box}
/* The header scrolls with the hero; section anchors need no fixed-header offset. */
html{scroll-behavior:smooth;scroll-padding-top:0}
body{margin:0;background:var(--paper);font-family:var(--font-ui);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}
img{max-width:100%;height:auto;display:block}
a:focus-visible,button:focus-visible{outline:3px solid #e2a741;outline-offset:5px}
::selection{background:#b37939;color:#fff9e8}
.skip-link{position:absolute;z-index:99;top:-100px;left:20px;background:var(--paper-light);padding:10px 15px}
.skip-link:focus{top:10px}
.site-shell{overflow:hidden}
.page-container{width:min(100% - 96px,1260px);margin-inline:auto}
/* Quiet navigation; the original ornamental artwork remains in the app. */
.site-header{position:absolute;z-index:25;top:0;left:0;right:0;height:88px;color:var(--cream);border-bottom:1px solid #b58a4b66;background:#32100ef5}
.header-inner{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark{width:42px;height:42px;border:1px solid var(--gold-dim);border-radius:50%;background:var(--paper-light);display:flex;align-items:center;justify-content:center}
.brand-mark img{height:36px;width:28px;object-fit:contain}
.brand-text{display:flex;flex-direction:column;line-height:1.1;gap:4px}
.brand-text strong{font-family:var(--font-display);font-size:20px;letter-spacing:.035em;white-space:nowrap}
.desktop-nav{display:flex;gap:28px;margin-left:auto}
.desktop-nav a{font-size:14px;color:var(--cream);min-height:44px;display:inline-flex;align-items:center}
.desktop-nav a:hover{color:var(--gold-light)}
.header-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #b58a4b;border-radius:4px;font:600 17px/1.2 var(--font-display);white-space:nowrap;color:var(--cream);background:transparent}
.header-action:hover{background:var(--wine-mid);border-color:var(--gold)}
.mobile-toggle,.mobile-menu{display:none}
/* Hero */
.hero{min-height:790px;background:var(--wine);color:var(--cream);position:relative;isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/background-landscape-web.webp') center center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(38,8,6,.89) 0%,rgba(54,12,9,.76) 40%,rgba(50,12,9,.42) 75%,rgba(40,9,8,.57) 100%),linear-gradient(180deg,rgba(38,8,6,.18),transparent 60%,#280806a3)}
.corner{position:absolute;z-index:1;pointer-events:none;width:clamp(135px,18vw,265px);height:auto;top:0;opacity:.95}
.corner-left{left:0}.corner-right{right:0}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;min-height:790px;padding-top:var(--hero-start);padding-bottom:70px}
.hero-copy{max-width:680px;position:relative;z-index:4;padding-bottom:10px}
.eyebrow,.section-kicker{margin:0 0 26px;font-size:12px;font-weight:750;letter-spacing:.15em;line-height:1.4}
.eyebrow{color:#efc48b;letter-spacing:.16em}
.hero h1{font:500 clamp(55px,5.6vw,94px)/.99 var(--font-display);letter-spacing:-.044em;color:#ffeac5;margin:0;text-shadow:0 2px 18px #1a030468;max-width:800px}
.hero h1 em{font-weight:400;font-style:italic;color:#e6b76d}
.hero-description{max-width:445px;font-size:17px;line-height:1.8;color:#f0d7b6;margin:28px 0 27px}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.ornate-button{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:0 0 auto;isolation:isolate;width:260px;aspect-ratio:4.25;color:#fff1cf}
.ornate-button:hover{filter:brightness(1.08)}.ornate-button:active{filter:brightness(.95)}
/* Generated artwork has transparent padding; this crop preserves the visible cartouche ratio. */
.ornate-button:before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/button-gong-si-bolong-refined-web.webp') center/112% 168% no-repeat;pointer-events:none}
.ornate-label{padding:0 30px;font:600 22px/1.2 var(--font-display);text-align:center;text-transform:none;letter-spacing:0;text-shadow:0 1px 2px #240904}
.hero-visual{position:relative;width:100%;align-self:start;text-align:left}
/* Community notices on one guild board. Native timber material, readable real content. */
.text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--gold);color:var(--cream);font-size:15px}
.text-link:hover{color:var(--gold-light)}
.content-media{margin:0;width:100%;min-width:0;align-self:start}
.media-window{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e5cfa5;border:1px solid #b99a69}
.content-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden}
.content-media[data-media-state="ready"] img{visibility:visible}
.media-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8b683d;background:#e5cfa5}
.media-fallback svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.4;opacity:.7}
.content-media[data-media-state="ready"] .media-fallback{display:none}
.content-media figcaption{min-height:20px;font-size:12px;line-height:1.5;color:#725b43;margin-top:8px}
.content-meta{font-size:13px;line-height:1.5;color:#725b43;margin:0 0 8px}
.content-action{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;padding:8px 0;border:0;background:transparent;color:#702a24;font-size:14px;text-decoration:underline;text-decoration-color:#a4774b;text-underline-offset:6px;white-space:nowrap;justify-self:start}
.content-action:hover{color:#381b16;text-decoration-color:currentColor}
/* Back to section/list structure. Event art borrows the hierarchy of a printed wanted notice. */
.events{background:var(--paper);padding:64px 0;isolation:isolate}
.journal{background:var(--navy);color:var(--cream);padding:64px 0}
.content-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}
.content-heading h2{font:400 clamp(36px,3.5vw,48px)/1.16 var(--font-landing-title);letter-spacing:0;margin:0;max-width:720px}
.content-heading .section-kicker{font-size:14px;font-weight:400;letter-spacing:0;margin:0 0 8px}
.sample-note{max-width:284px;font-size:13px;line-height:1.7;color:var(--muted);margin:0}
/* All event information belongs to one supplied-paper notice. Nine slices keep
   the torn corners intact while the quiet centre adapts to real text length. */
.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.event-row{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:18px;min-width:0;padding:54px 48px 48px;color:#35251d}
.event-row:before{content:"";position:absolute;inset:0;z-index:-1;border:24px solid transparent;border-image:var(--event-paper-image) 42 fill / 24px / 0 stretch;pointer-events:none}
.event-copy{text-align:center}.event-copy .content-meta{color:#35251d;margin:0 0 12px;font-size:13px}
.event-copy h3{font:500 clamp(28px,2.8vw,36px)/1.14 var(--font-display);letter-spacing:-.02em;margin:0;color:#35251d;text-wrap:balance}
.event-media{margin:0}.event-media .media-window{aspect-ratio:3/2;border:1px solid #765634;background:#dfc698}
.event-media img{filter:sepia(.32) saturate(.7)}
.event-media figcaption{color:#35251d;font-size:12px;margin-top:6px}
.event-when{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-block:1px solid #80613f88}
.event-date{display:flex;align-items:baseline;gap:6px;margin:0;font-variant-numeric:tabular-nums;color:#35251d;line-height:1.2}
.event-date strong{font:600 28px/1 var(--font-display)}.event-date span{font-size:12px}
.event-location{font-size:13px;color:#563a25;text-align:right}
.event-description{font-size:15px;line-height:1.65;margin:0;color:#35251d}
.event-row>.content-action{margin-top:auto;align-self:center;color:#542c1d;font-size:15px}
.journal .section-kicker,.journal .sample-note,.journal .content-meta{color:#ddc69f}
/* Generated alpha PNG is the complete paper surface; HTML remains live text.
   No extra colour fill beneath the writing area. */
.journal-grid{display:grid;gap:20px}
.journal-entry{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 40px;padding:44px 56px;min-height:220px;min-width:0;color:var(--ink);background:transparent}
.journal-entry:before{content:"";position:absolute;inset:0;z-index:-1;border:22px solid transparent;border-image:url('assets/blog-parchment-landscape-v1.png') 32 48 fill / 22px / 0 stretch;pointer-events:none}
.journal-entry>.content-meta,.journal-entry>h3,.journal-entry>p:not(.content-meta){grid-column:1;margin:0}
.journal .journal-entry>.content-meta{color:#35251d}
.journal-entry h3{font:500 clamp(28px,2.6vw,36px)/1.22 var(--font-display);letter-spacing:-.02em;color:var(--ink);max-width:780px}
.journal-entry>p:not(.content-meta){font-size:15px;line-height:1.7;color:#35251d;max-width:700px}
.journal-entry>.content-action{grid-column:2;grid-row:1/4;align-self:center;color:#542c1d;text-decoration-color:#805436}
.journal-entry>.content-action:hover{color:var(--ink)}
@media(max-width:780px){.events,.journal{padding:48px 0}.content-heading{flex-direction:column;align-items:start;gap:16px;margin-bottom:24px}.content-heading h2{font-size:36px}.sample-note{max-width:440px}.journal-entry{column-gap:24px;padding:34px 40px}}
@media(max-width:500px){.journal-entry{grid-template-columns:1fr;gap:12px;padding:32px 30px}.journal-entry h3{font-size:28px}.journal-entry>.content-action{grid-column:1;grid-row:4}.content-heading h2{font-size:32px}}
.content-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100svh - 48px);margin:auto;overflow:auto;padding:28px 36px 36px;border:1px solid var(--gold-dim);border-radius:4px;background:var(--paper-light);color:var(--ink)}
.content-dialog::backdrop{background:#200b09c9}
.content-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.content-dialog-head .content-meta,.content-dialog-head form{margin:0}
.content-close{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:8px 4px;background:transparent;border:0;color:var(--ink);font-size:14px}
.content-close span{font-size:26px;line-height:1}
.content-dialog h2{font:500 clamp(31px,5vw,43px)/1.14 var(--font-display);letter-spacing:-.03em;margin:0 0 24px}
.reading-content{font-size:15px;line-height:1.85}
.reading-content p{margin:0 0 20px}
.reading-content h3{font:600 25px/1.3 var(--font-display);margin:30px 0 14px}
.reading-content ul{padding-left:22px;margin:0 0 22px}.reading-content li+li{margin-top:8px}
.reading-content .detail-notice{border-left:2px solid var(--gold-dim);padding:4px 0 4px 16px;color:#684735;font-size:14px}
.event-facts{margin:26px 0}.event-facts>div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid #ceb58c}.event-facts dt{color:var(--muted)}.event-facts dd{margin:0}
@media(max-width:500px){.content-dialog{padding:20px 24px 28px;max-height:calc(100svh - 32px)}.event-facts>div{grid-template-columns:1fr;gap:4px}}
.section-cream{background:var(--paper);position:relative}




.section-kicker{color:#75472c;margin-bottom:18px;font-size:12px;letter-spacing:.1em}



/* Swash is reserved for the large landing titles; controls and reading text keep their existing fonts. */
.hero h1,.content-heading h2{font-family:var(--font-landing-title);font-weight:400;letter-spacing:-.02em;line-height:1.12;font-synthesis:none}
.hero h1 em,.content-heading h2 em{font-style:normal;font-weight:400}
/* Desktop keeps the whole hero in view; mobile jumps directly to its stacked score pad. */
#demo{scroll-margin-top:0}
/* A factual, lower-priority close instead of another promotional hero. */
.about-section{background:var(--paper);padding:56px 0}
.about-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;align-items:start}
.about-content h2{font:500 30px/1.25 var(--font-display);letter-spacing:-.02em;margin:0}
.about-copy{max-width:670px;font-size:16px;line-height:1.8}
.about-copy p{margin:0}.about-copy p+p{margin-top:12px;color:var(--muted);font-size:14px}
.footer{background:#230e0b;border-top:1px solid #a47946;color:#d7b88d}
.footer-inner{padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px}
.footer-inner p{margin:0;color:#d0b08b}.footer-brand{font-family:var(--font-display);font-size:17px;color:#f2d6a1;white-space:nowrap;display:inline-flex;align-items:center;gap:10px;min-height:44px}.footer-brand img{width:32px;height:32px;object-fit:contain;background:var(--paper-light);padding:3px;border-radius:50%}
.back-top{border-bottom:1px solid #ab875a;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
/* Breakpoints */
/* Anchor the message to the scoring panel's top inset, independent of panel height. */
@media(min-width:781px){.hero-copy{align-self:start;padding-top:24px}#demo{scroll-margin-top:var(--hero-start)}}
@media(max-width:1160px){.page-container{width:calc(100% - 70px)}.hero h1{font-size:clamp(54px,6vw,76px)}.desktop-nav{gap:22px}}
@media(max-width:900px){.header-inner{gap:20px}.page-container{width:calc(100% - 56px)}.desktop-nav{gap:16px}.brand-text strong{font-size:18px}.hero-inner{gap:28px}.hero h1{font-size:clamp(47px,5.8vw,60px)}.hero-description{font-size:16px}.hero-actions{gap:14px}}
@media(max-width:780px){
 .site-header{height:76px}.header-inner{gap:16px}.brand-mark{width:38px;height:38px}.brand-mark img{height:32px;width:25px}.brand-text strong{font-size:18px}
 .desktop-nav,.header-action{display:none}
 .mobile-toggle{margin-left:auto;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #b58a4b;border-radius:4px;padding:10px;background:transparent;width:44px;height:44px}
 .mobile-toggle[aria-expanded="true"]{background:var(--wine-mid);border-color:var(--gold)}
 .mobile-toggle span{width:20px;height:1.5px;background:#f4d8a8;display:block}
 .mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#32100e;gap:0;padding:10px 28px 20px;border-bottom:1px solid #b58a4b;box-shadow:0 12px 19px #21070570}
 .mobile-menu a{min-height:44px;padding:11px 0;border-bottom:1px solid #976b3d57;font-size:15px}
 .mobile-menu a[href="#login"]{margin-top:12px;padding:11px 14px;border:1px solid #b58a4b;border-radius:4px;font:600 18px/1.2 var(--font-display)}
 .hero{min-height:0}.hero:before{background-image:url('assets/background-square-web.webp');background-position:center top}
 .hero:after{background:linear-gradient(180deg,#300908dc 0%,#3c0c0bd8 42%,#3e0d0bb9 100%)}
 .corner{width:145px;top:0}
 .hero-inner{min-height:unset;display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px;padding-top:132px;padding-bottom:64px}
 .hero-copy{max-width:630px}.eyebrow{margin-bottom:20px}
 .hero h1{font-size:clamp(52px,8.3vw,70px);max-width:620px}
 .hero-description{max-width:440px;font-size:16px;margin:24px auto}.hero-actions{justify-content:center}
 .hero-visual{align-self:center;width:100%;max-width:520px}
 
 
 .footer-inner{flex-wrap:wrap;justify-content:center;text-align:center}
}
@media(max-width:500px){
 .page-container{width:calc(100% - 40px)}
 .brand{gap:10px}.brand-text strong{font-size:16px}.mobile-menu:not([hidden]){padding-inline:20px}
 .corner{width:105px}.hero-inner{padding-top:124px;padding-bottom:56px;gap:28px}.hero h1{font-size:clamp(42px,11.8vw,57px);letter-spacing:-.04em}.eyebrow{letter-spacing:.1em;margin-bottom:17px}.hero-description{font-size:16px;line-height:1.75;margin:20px auto}
 .hero-actions{gap:14px;flex-wrap:wrap}.ornate-button{width:240px}
 
 
 
 
 .footer-inner{gap:12px;flex-direction:column}.footer-inner p{line-height:1.5}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* One responsive document, three connected views (Landing -> Login -> Home). */
[hidden]{display:none!important}
.route-screen{min-height:100svh}.route-screen button{touch-action:manipulation}
.route-brand{display:inline-flex;gap:11px;align-items:center;color:#f8dfaa;white-space:nowrap;font:700 18px var(--font-display);letter-spacing:.075em}
.route-brand-mark{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;border:2px solid #d7aa61;background:radial-gradient(circle,#f7e3bb,#cda66a)}
.route-brand-mark img{height:39px;width:31px;object-fit:contain}
.route-header{position:relative;z-index:2;padding:22px clamp(24px,5vw,82px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d5a66345}
.route-back{color:#f0d6a4;border-bottom:1px solid #b78b56;font-size:13px;padding-bottom:3px}
.login-screen{background:#43120e;position:relative;color:#f9e4c0;isolation:isolate}
.login-backdrop{position:absolute;inset:0;z-index:-2;background:#46110e url('assets/background-landscape-web.webp') center/cover no-repeat}
.login-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#260807e8 0%,#3a0c09d1 55%,#260707ad 100%);z-index:-1;pointer-events:none}
.login-layout{min-height:calc(100svh - 92px);width:min(1120px,calc(100% - 72px));margin:auto;display:grid;grid-template-columns:1fr minmax(340px,442px);gap:clamp(48px,8vw,148px);align-items:center;padding:65px 0 95px}
.login-eyebrow{color:#d5a970;letter-spacing:.2em;font-weight:700;font-size:11px}
.login-story h1{font:500 clamp(55px,5.7vw,91px)/1.02 var(--font-display);letter-spacing:-.045em;margin:24px 0}
.login-story h1 em,.dashboard-content h1 em{color:#e6b76d;font-weight:400}
.login-story>p:not(.login-eyebrow){max-width:500px;font-size:16px;line-height:1.9;color:#f3d7b6}
.login-story-rule{display:flex;gap:12px;align-items:center;margin-top:47px;font-size:10px;letter-spacing:.15em;color:#d5a971;white-space:nowrap}.login-story-rule i{width:4px;height:4px;background:#b88446;transform:rotate(45deg)}
.login-card{background:linear-gradient(140deg,#f8ebd1,#f0d9af);color:#47251d;padding:36px 37px 30px;border:1px solid #cc9856;box-shadow:0 22px 70px #1603028a;position:relative}
.login-card:before{content:"";position:absolute;inset:7px;border:1px solid #b7885438;pointer-events:none}
.login-card-top{display:flex;justify-content:space-between;color:#9b6535;font-size:10px;letter-spacing:.16em;font-weight:700}
.login-card h2{font:500 43px/1.15 var(--font-display);letter-spacing:-.04em;margin:29px 0 8px}
.login-subtitle{font-size:14px;color:#7d5b48;margin:0 0 26px}
#login-form{display:flex;flex-direction:column;gap:8px}
#login-form label{font-size:12px;font-weight:700;letter-spacing:.02em;margin-top:7px}
#login-form input{width:100%;background:#fffaf0;border:1px solid #cdb58e;color:#44251b;min-height:48px;padding:11px 13px;font:inherit;font-size:14px;border-radius:2px;outline-offset:2px}
#login-form input:focus{border-color:#a06b33;outline:2px solid #cda5714d}
#login-form input[aria-invalid="true"]{border-color:#b04a34}
.password-wrap{position:relative}.password-wrap input{padding-right:92px!important}.password-wrap button{position:absolute;right:7px;top:7px;bottom:7px;border:0;background:transparent;color:#865f43;padding:0 8px;font-size:12px}
.login-error{color:#a1301e;font-size:12px;margin:4px 0 0}
.login-submit{border:1px solid #8b542c;background:#174734;color:#ffe9ba;min-height:54px;font:bold 18px var(--font-display);margin-top:15px;box-shadow:inset 0 0 0 2px #d2a76e;transition:filter .15s}.login-submit:hover{filter:brightness(1.1)}
.guest-login{display:block;margin:14px auto 19px;border:0;background:none;border-bottom:1px solid #a77b50;color:#614434;padding:3px;font-size:12px}
.login-disclaimer{border-top:1px solid #bda27c;padding-top:13px;color:#705447}.login-disclaimer strong{display:block;font-size:12px}.login-disclaimer p{font-size:11px;line-height:1.65;margin:4px 0 0}
.dashboard-screen{background:#efe0bd;color:#39231b}
.dashboard-header{background:#32100c;border-bottom:2px solid #ba8a50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px clamp(20px,4vw,70px);min-height:74px}
.dashboard-header nav{display:flex;align-items:center;gap:18px}.dashboard-header nav button{background:transparent;border:1px solid #c9a06a;padding:8px 15px;color:#f8dfaa;font-size:12px}.dashboard-header nav button:hover{background:#714125}
.demo-chip{font-size:10px;letter-spacing:.12em;font-weight:750;color:#e4ba77}
.dashboard-layout{max-width:1230px;margin:auto;padding:56px 32px 88px;display:grid;grid-template-columns:minmax(290px,1fr) minmax(310px,440px);gap:clamp(28px,6vw,92px);align-items:start}
.dashboard-content{position:sticky;top:36px;padding-top:57px}
.dashboard-kicker{font-size:11px;letter-spacing:.2em;font-weight:800;color:#ab6c3b;margin-bottom:21px}
.dashboard-content h1{font:500 clamp(43px,4.2vw,65px)/1.07 var(--font-display);letter-spacing:-.045em;margin:0 0 20px}
.dashboard-content h1 em{color:#935432}
.dashboard-desc{font-size:15px;line-height:1.85;color:#72554a;max-width:520px}
.dashboard-quick{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 40px}.dashboard-quick button{border:1px solid #ac8456;background:#f9edcf;color:#583321;padding:12px 16px;font:700 16px var(--font-display)}.dashboard-quick button:first-child{background:#194c35;color:#f8e7c2;border-color:#194c35}
.dashboard-quick button:hover{filter:brightness(.94)}
.dashboard-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #c3a980;max-width:560px}.dashboard-summary>div{padding:19px 12px 20px}.dashboard-summary>div+div{border-left:1px solid #c3a980}.dashboard-summary small{display:block;color:#916b4b;font-size:9px;line-height:1.3;font-weight:700;letter-spacing:.08em}.dashboard-summary strong{display:block;font:500 35px var(--font-display);color:#54231e;margin-top:5px}
.dashboard-hint{font-size:12px;line-height:1.75;color:#836959;max-width:440px}
.dashboard-device{width:100%;max-width:440px;min-height:780px;box-shadow:0 25px 70px #3f180b4e;justify-self:center;overflow:hidden;border:5px solid #442018;border-radius:22px;background:#571713}
/* Actual Home is isolated in a shadow root, so its approved internal CSS remains untouched. */
.practice-overlay{position:fixed;inset:0;background:#120907bd;z-index:100;display:grid;place-items:center;padding:18px;overflow-y:auto}
.practice-panel{background:#f4e3c1;color:#40271d;border:1px solid #c49b63;width:min(100%,525px);max-height:min(90svh,800px);overflow:auto;box-shadow:0 25px 90px #0d0303a6;padding:28px;overscroll-behavior:contain}
.practice-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #bda077;padding-bottom:20px}.practice-head p{margin:0 0 6px;color:#9b6139;letter-spacing:.15em;font-size:10px;font-weight:700}.practice-head h2{font:500 38px/1.03 var(--font-display);margin:0}.practice-head button{background:transparent;border:0;color:#644736;font-size:12px;white-space:nowrap;padding:4px}.practice-head button span{font-size:19px;vertical-align:middle;margin-left:4px}
.practice-section>p{font-size:13px;line-height:1.7;color:#795847}.practice-overline{font-size:11px;letter-spacing:.075em;color:#895c35;margin:24px 0 8px;font-weight:700}.practice-overline span{color:#c8a677;margin:0 3px}
.practice-arrows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.practice-arrows>div{display:flex;align-items:center;flex-direction:column;border:1px solid #bc9e71;background:#fff6df;padding:12px;color:#92694c;font-size:10px;font-weight:700}.practice-arrows strong{font:500 42px var(--font-display);color:#502923;line-height:1.3}
.practice-total{display:flex;justify-content:space-between;align-items:center;border-block:1px solid #c1a37c;padding:12px 3px;margin:12px 0 17px}.practice-total span{font-size:11px;font-weight:750;letter-spacing:.12em;color:#8f694a}.practice-total strong{font:500 39px var(--font-display)}.practice-total small{font:15px var(--font-ui);color:#8f705c}
.practice-keys{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.practice-keys button{min-height:48px;background:#fcf2dc;border:1px solid #b99a6d;color:#4a2d22;font:700 21px var(--font-display)}.practice-keys button:hover:not(:disabled){background:#e6c994}.practice-keys button:disabled{opacity:.38}
.practice-actions{display:flex;gap:9px;margin:18px 0 0}.practice-actions button{min-height:45px;border:1px solid #9c7852;padding:9px 15px;flex:1;background:transparent;color:#633f2c;font-size:13px;font-weight:700}.practice-actions button:last-child{background:#184a35;color:#fff0c8;border-color:#184a35}.practice-actions button:disabled{opacity:.4;cursor:not-allowed}
.practice-feedback{font-size:12px!important;color:#745743!important;min-height:22px}.practice-footnote{border-top:1px solid #c6ab83;padding-top:13px;color:#947357;font-size:11px;margin:25px 0 0}
.plank-clock{text-align:center;font:500 clamp(70px,13vw,108px) var(--font-display);font-variant-numeric:tabular-nums;padding:24px 0 6px;color:#54271e}
.history-list{margin:22px 0;display:grid;gap:7px}.history-item{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fffae9;border:1px solid #d8c3a1;padding:12px 14px;font-size:12px}.history-item strong{font:600 19px var(--font-display)}.history-empty{padding:26px 15px;text-align:center;border:1px dashed #c4a47c;color:#886c56;font-size:13px}.history-clear{border:0;background:transparent;text-decoration:underline;color:#864c31;padding:5px 0;font-size:12px}
@media(max-width:920px){.login-layout{grid-template-columns:1fr;gap:27px;max-width:540px;padding:43px 0 70px}.login-story h1{font-size:57px}.login-story-rule{margin-top:22px}.login-card{max-width:500px}.dashboard-layout{grid-template-columns:1fr;padding:30px 24px 80px;gap:35px}.dashboard-content{position:static;padding:0;max-width:650px;margin:auto;text-align:center}.dashboard-quick{justify-content:center}.dashboard-summary{margin:auto}.dashboard-device{max-width:440px}}
@media(max-width:520px){.login-layout{width:calc(100% - 32px);padding:35px 0 55px}.login-story h1{font-size:clamp(41px,12vw,58px)}.login-story>p:not(.login-eyebrow){font-size:13px;line-height:1.7}.login-story-rule{font-size:8px;gap:7px}.login-card{padding:27px 23px}.login-card h2{font-size:36px}.route-header{padding:13px 16px}.route-brand{font-size:15px}.route-back{font-size:11px}.dashboard-header{padding:9px 12px}.dashboard-brand{font-size:13px}.dashboard-brand .route-brand-mark{width:35px;height:35px}.dashboard-brand img{height:30px;width:22px}.demo-chip{font-size:8px}.dashboard-header nav{gap:9px}.dashboard-header nav button{font-size:11px;padding:7px 8px}.dashboard-layout{padding:0 0 60px;gap:0}.dashboard-content{padding:25px 19px 22px}.dashboard-content h1{font-size:39px;margin-bottom:10px}.dashboard-desc{font-size:13px;line-height:1.7}.dashboard-kicker{margin-bottom:10px}.dashboard-quick{margin:20px 0 25px;gap:7px}.dashboard-quick button{font-size:14px;padding:11px 10px}.dashboard-summary strong{font-size:28px}.dashboard-summary small{font-size:8px}.dashboard-hint{font-size:10px}.dashboard-device{width:100%;max-width:none;min-height:720px;border:0;border-radius:0;box-shadow:none}.practice-overlay{padding:0;place-items:stretch}.practice-panel{max-height:100svh;min-height:100svh;border:0;width:100%;padding:24px 18px 70px}.practice-keys{gap:5px}.practice-keys button{min-height:48px}}
/* On mobile the actual Home is the first destination after login; supporting stats follow. */
@media(max-width:520px){
  .dashboard-layout{display:flex;flex-direction:column;align-items:stretch}
  .dashboard-device{order:0;flex:0 0 auto}
  .dashboard-content{order:1;padding:35px 19px 50px}
  .dashboard-desc{max-width:380px;margin-inline:auto}
}

/* A text-only newspaper reading page: original content, quiet print ornament and rules. */
.article-screen{background:#e8d7b7;color:#35251d;padding-bottom:48px}
.article-site-header{height:76px;background:#f4e6c9;border-bottom:1px solid #bda47c;color:#35251d}
.article-site-header .brand-text strong{letter-spacing:0}
.article-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:14px}
.article-nav a{min-height:44px;display:inline-flex;align-items:center}.article-nav a:hover{color:#702a24}
.article-nav .header-action{color:#35251d;border-color:#a4875c}.article-nav .header-action:hover{background:#e8d7b7}
.article-main{position:relative;isolation:isolate;width:min(100% - 64px,1080px);margin:32px auto 0;padding:28px 48px 40px;background:transparent;border:0;box-shadow:none}
.article-main:before{content:"";position:absolute;inset:0;z-index:-1;border:24px solid transparent;border-image:var(--event-paper-image) 42 fill / 24px / 0 stretch;pointer-events:none}
.article-breadcrumb{display:flex;align-items:center;gap:12px;font-size:13px;color:#715c40;margin-bottom:16px}
.article-breadcrumb a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.press-masthead{text-align:center;border-top:3px double #35251d;border-bottom:3px double #35251d;padding:20px 0 12px;margin-bottom:32px}
.press-section{font-size:12px;letter-spacing:.04em;margin:0 0 8px;color:#715c40}
.press-name{font:400 clamp(36px,5vw,58px)/1.15 var(--font-landing-title);margin:0;color:#2e251e}
.press-ornament{height:24px;width:160px;margin:12px auto 0;background:url('assets/press-flourish.svg') center/contain no-repeat}
.article-heading{margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid #b59b72}
.article-heading .content-meta{margin-bottom:12px;color:#715c40}
.article-heading h1{font:500 clamp(36px,4.7vw,52px)/1.12 var(--font-display);letter-spacing:-.025em;margin:0 0 20px;max-width:900px;color:#2e251e}
.article-heading h1:focus{outline:none}.article-description{font:400 19px/1.6 var(--font-display);margin:0;color:#5f4b34;max-width:860px}
.article-body{max-width:none;columns:2;column-gap:40px;column-rule:1px solid #c9b48e;font:400 18px/1.8 var(--font-display);color:#35251d}
.article-body p{margin:0 0 20px}.article-body h2{font:600 25px/1.25 var(--font-display);letter-spacing:0;margin:28px 0 12px;break-after:avoid;break-inside:avoid}
.article-body>p:first-child:first-letter{float:left;font:500 56px/.92 var(--font-display);margin:6px 8px 0 0;color:#35251d}
.article-more,.article-return{max-width:none;margin:0}
.article-more{border-top:3px double #35251d;margin-top:32px;padding-top:24px}.article-more p{font-size:13px;color:#715c40;margin:0 0 8px}
.article-more a{display:inline-flex;align-items:center;min-height:44px;font:500 26px/1.3 var(--font-display);text-decoration:underline;text-decoration-color:#a4875c;text-underline-offset:5px}
.article-return{margin-top:20px}.article-return a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:14px;color:#70422b}
@media(max-width:780px){.article-nav{gap:20px}.article-nav .header-action{display:none}.article-main{width:calc(100% - 40px);padding:20px 28px 28px;margin-top:24px}.press-masthead{padding-top:16px;margin-bottom:24px}.press-name{font-size:42px}.article-heading h1{font-size:40px}.article-body{columns:1;max-width:680px;margin:auto;font-size:18px}.article-description{font-size:18px}.about-content{grid-template-columns:1fr;gap:20px}.about-section{padding:40px 0}}
@media(max-width:500px){.article-screen{padding-bottom:24px}.article-site-header .header-inner{gap:16px}.article-main{width:calc(100% - 24px);margin-top:16px;padding:24px 32px 32px}.article-breadcrumb{margin-bottom:12px}.press-name{font-size:36px}.press-ornament{width:128px;height:20px}.article-heading h1{font-size:34px}.article-heading{padding-bottom:20px}.article-body{font-size:17px;line-height:1.85}.article-body h2{font-size:25px}.article-more a{font-size:24px}.article-nav{gap:16px}.article-site-header .brand-text strong{font-size:16px}}

@media(max-width:780px){.event-list{grid-template-columns:1fr;max-width:560px;margin-inline:auto;gap:24px}.event-row{padding:48px 44px 42px}.event-copy h3{font-size:32px}}
@media(max-width:400px){.event-row{padding:40px 30px 36px;gap:16px}.event-copy h3{font-size:28px}.event-when{gap:8px}.event-location{font-size:12px}}

/* Full Event sheet and a local-only registration demo; approved Blog reading
   styles stay unchanged. Reuse the portrait PNG, native media and header. */
.event-detail-screen{background:#e8d7b7;color:#35251d;padding-bottom:48px}
.event-detail-main{position:relative;isolation:isolate;width:min(100% - 64px,1120px);margin:32px auto 0;padding:36px 48px 40px}
.event-detail-main:before{content:"";position:absolute;inset:0;z-index:-1;border:28px solid transparent;border-image:var(--event-paper-image) 42 fill / 28px / 0 stretch;pointer-events:none}
.event-detail-heading{max-width:900px;margin-bottom:24px}
.event-detail-heading h1{font:500 clamp(36px,4.3vw,54px)/1.13 var(--font-display);letter-spacing:-.025em;margin:8px 0 16px;overflow-wrap:anywhere}
.event-detail-heading>p:last-child{font-size:17px;line-height:1.7;margin:0;max-width:760px;color:#5f4b34}
.event-demo-notice{font-size:13px;line-height:1.7;border-block:1px solid #b59b72;padding:12px 0;margin:0 0 28px;color:#604a32}
.event-detail-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:36px;align-items:start;margin-bottom:36px}
.event-detail-media .media-window{aspect-ratio:3/2;border:1px solid #ac9168;background:#dfc698}
.event-detail-media img{filter:sepia(.22) saturate(.8)}
.event-detail-summary .event-facts{margin:0 0 20px;font-size:14px}
.event-detail-summary .event-facts>div{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:12px 0;border-color:#b59b7288}
.event-primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid #5d211a;background:#652820;color:#fff0d2;border-radius:2px;font:600 16px/1.4 var(--font-ui);text-align:center;cursor:pointer}
.event-primary:hover{background:#4e1b16;color:#fff0d2}
.event-small{font-size:12px;line-height:1.7;color:#604a32;margin:10px 0 0}
.event-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:40px;align-items:start;border-top:1px solid #b59b72;padding-top:32px}
.event-detail-body{font-size:16px;line-height:1.8}
.event-detail-body h2{font:600 29px/1.25 var(--font-display);margin:0 0 18px}
.event-registration{padding:24px;border:1px solid #b59b72;background:transparent;scroll-margin-top:24px;min-width:0}
.event-registration h2{font:500 30px/1.2 var(--font-display);letter-spacing:-.02em;margin:0 0 12px}
.event-registration h3{font:600 24px/1.25 var(--font-display);margin:0 0 16px}
.event-registration-note{font-size:13px;line-height:1.7;color:#604a32;margin:0 0 24px}
.event-field{margin:0 0 20px}
.event-field label{display:block;font-size:14px;font-weight:600;line-height:1.5;margin:0 0 8px}
.event-field label span{font-weight:400;color:#604a32}
.event-field input{display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #a68b64;border-radius:2px;background:#fff6e4;color:#35251d;font:400 16px/1.5 var(--font-ui)}
.event-field input:focus-visible{outline:3px solid #9c582b;outline-offset:2px}
.event-field input[aria-invalid="true"]{border-color:#942b21}
.event-field-hint,.event-field-error{font-size:12px;line-height:1.6;margin:8px 0 0;color:#604a32}
.event-field-error{color:#942b21}
#event-registration-form>.event-primary{width:100%}
.event-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.event-review-data{margin:0}
.event-review-data>div{border-bottom:1px solid #b59b7288;padding:10px 0}
.event-review-data dt{font-size:12px;color:#604a32;margin-bottom:4px}
.event-review-data dd{font-size:14px;margin:0;overflow-wrap:anywhere}
#event-registration-result>p{font-size:15px;line-height:1.7;margin:0 0 12px}
@media(max-width:900px){.event-detail-main{width:calc(100% - 40px);padding:30px 36px}.event-detail-overview{gap:24px;grid-template-columns:minmax(0,1fr) minmax(230px,.85fr)}.event-detail-columns{gap:24px;grid-template-columns:minmax(0,1fr) minmax(280px,1fr)}}
@media(max-width:700px){.event-detail-main{width:calc(100% - 24px);margin-top:16px;padding:28px}.event-detail-main:before{border-width:18px;border-image-width:18px}.event-detail-overview,.event-detail-columns{grid-template-columns:minmax(0,1fr);gap:24px}.event-detail-heading h1{font-size:36px}.event-detail-heading>p:last-child{font-size:16px}.event-detail-overview{margin-bottom:28px}.event-detail-summary .event-facts>div{grid-template-columns:100px minmax(0,1fr)}.event-detail-columns{padding-top:28px}.event-registration{padding:20px}.event-detail-body h2{font-size:27px}.event-detail-main .article-return{margin-top:28px}}
.event-detail-screen .brand{min-height:44px}
.event-detail-main{background:transparent}
.event-detail-main .article-breadcrumb{color:#604a32}
.event-detail-heading h1:focus,.event-registration h2:focus,.event-registration h3:focus{outline:none}

/* Detail text sits directly on the original PNG; no colour or texture overlay. */
.article-screen .brand{min-height:44px}
.article-main .article-breadcrumb{color:#604a32}
@media(max-width:500px){.article-main:before,.event-detail-main:before{border-image-outset:6px}}
.article-main .press-section,.article-main .article-heading .content-meta,.article-main .article-more p{color:#604a32}
