/* GOOD® ACCOUNT page: GOOD® BLUE and white. */
.ac-page { background: #0000ff; color: #fff; margin: 0; min-height: 100vh; }
.ac-page ::selection { background: #fff; color: #0000ff; }
.ac-main { max-width: 1120px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 48px) 60px; }
.ac-tag { margin: 0 0 18px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.22em; }
.ac-title { margin: 0; font-weight: 800; letter-spacing: -0.05em; line-height: 0.95; font-size: clamp(2.8rem, 8vw, 6rem); overflow-wrap: anywhere; }
.ac-lede { line-height: 1.6; max-width: 34em; margin: 26px 0 0; opacity: 0.92; }
.ac-out { padding: clamp(80px, 15vh, 170px) 0; }
.ac-form { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 36px; max-width: 34em; }
.ac-form input { flex: 1 1 240px; padding: 14px 16px; border: 1px solid #fff; background: transparent; color: #fff; font: 600 1.05rem 'Inter', sans-serif; outline: none; }
.ac-form input::placeholder { color: rgba(255, 255, 255, 0.6); }
.ac-go { border: 1px solid #fff; background: #fff; color: #0000ff; padding: 12px 18px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; cursor: pointer; }
.ac-go:hover { background: transparent; color: #fff; }
.ac-msg { min-height: 1.2em; font-size: 0.7rem; letter-spacing: 0.18em; margin-top: 16px; }
.ac-link { border: 0; background: none; color: #fff; cursor: pointer; font-size: 0.68rem; letter-spacing: 0.18em; text-decoration: underline; text-underline-offset: 6px; padding: 6px 0; }
.ac-in { padding-top: clamp(60px, 11vh, 120px); }
.ac-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.ac-coins { margin: 22px 0 0; }
.ac-coins strong { font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 800; letter-spacing: -0.05em; }
.ac-coins span { font-size: 0.72rem; letter-spacing: 0.22em; }
.ac-actions { display: flex; gap: 24px; margin-top: 18px; }
.ac-home { margin: 0; text-align: center; }
/* YOUR COLOR STORY: one bar per colour in the wardrobe, wider the more it's worn */
.ac-story { flex: 1 1 280px; align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; max-width: 520px; margin: 0 auto; }
.ac-story[hidden] { display: none; }
.ac-story-t { margin: 0 0 14px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.22em; }
.ac-story-strip { display: flex; height: 180px; border: 1px solid rgba(255, 255, 255, 0.5); }
.ac-story-bar { flex: var(--n) 1 0; min-width: 4px; transition: flex-grow 0.4s; }
.ac-story-bar:hover { outline: 2px solid #fff; outline-offset: -2px; position: relative; }
.ac-story-read { min-height: 1.2em; margin: 10px 0 0; font-size: 0.6rem; letter-spacing: 0.16em; }
@media (max-width: 700px) { .ac-story { order: 3; flex-basis: 100%; max-width: none; } .ac-story-strip { height: 90px; } }
.ac-home-fig { width: 120px; height: 240px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, 0.5); padding: 14px; box-sizing: content-box; }
.ac-home-fig canvas { width: 96px; height: 192px; image-rendering: pixelated; }
.ac-home figcaption { font-size: 0.6rem; letter-spacing: 0.16em; padding-top: 10px; max-width: 150px; }
.ac-block { border-top: 1px solid #fff; margin-top: clamp(56px, 9vh, 96px); padding-top: 22px; }
.ac-bar { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 30px; }
.ac-bar h2, .ac-bar span { margin: 0; font-size: 0.72rem; letter-spacing: 0.22em; font-weight: 700; }
.ac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: clamp(14px, 2vw, 24px); }
.ac-card { position: relative; display: flex; flex-direction: column; background: #fff; color: #0000ff; text-decoration: none; padding: 18px 14px 14px; transition: transform 0.2s; }
.ac-card[hidden] { display: none; }
.ac-card:hover, .ac-card:focus-visible { transform: translateY(-4px); outline: none; }
.ac-fig { display: flex; justify-content: center; padding: 6px 0 14px; }
.ac-fig canvas { width: 80px; height: 160px; image-rendering: pixelated; }
.ac-piece { font-weight: 800; font-size: 0.92rem; letter-spacing: -0.02em; line-height: 1.2; }
.ac-cw { font-size: 0.6rem; letter-spacing: 0.08em; margin-top: 4px; opacity: 0.8; line-height: 1.4; }
.ac-x { position: absolute; top: 6px; right: 8px; border: 0; background: none; color: #0000ff; font-size: 1.1rem; cursor: pointer; opacity: 0; transition: opacity 0.15s; }
.ac-card:hover .ac-x, .ac-x:focus-visible { opacity: 1; }
@media (hover: none) { .ac-x { opacity: 0.7; } }
.ac-danger { margin-top: clamp(60px, 10vh, 100px); border-top: 1px solid rgba(255, 255, 255, 0.35); padding-top: 16px; }
.ac-danger .ac-link { opacity: 0.7; }
.ac-toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 960; background: #fff; color: #0000ff; padding: 12px 20px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; }
.ac-toast[hidden] { display: none; }
.ac-page .ac-coin { width: clamp(2.2rem, 4.6vw, 3.3rem); height: clamp(2.2rem, 4.6vw, 3.3rem); vertical-align: -0.35rem; margin-right: 0.6rem; }
.ac-note { font-size: 0.62rem; letter-spacing: 0.16em; line-height: 1.7; margin-top: 10px; opacity: 0.75; max-width: 40em; }
.pv-main { padding-top: clamp(60px, 12vh, 140px); }
.pv-sec { border-top: 1px solid rgba(255, 255, 255, 0.5); margin-top: clamp(40px, 7vh, 64px); padding-top: 20px; max-width: 44em; }
.pv-sec h2 { margin: 0 0 14px; font-size: clamp(1.2rem, 2.4vw, 1.6rem); font-weight: 800; letter-spacing: -0.03em; }
.pv-sec p, .pv-sec li { line-height: 1.65; opacity: 0.94; }
.pv-sec ul { padding-left: 1.1em; margin: 0; }
.pv-sec li { margin-bottom: 8px; }
.pv-sec a, .foot-link { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
