:root{--dd-blue: #377AFF;--dd-darkblue: #0E2A5E;--dd-sage: #8DAB7F;--dd-bg: #FAFAF8;--dd-white: #FFFFFF;--dd-text: #1A1A1A;--dd-muted: #666666;--dd-border: #E0E0DC;--dd-coin: #D9A441;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--shadow-sm: 0 3px 12px rgba(14, 42, 94, .06);--shadow-md: 0 12px 30px rgba(14, 42, 94, .1);--shadow-lg: 0 24px 60px rgba(14, 42, 94, .16);--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.22, 1, .36, 1);--font-heading: "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--dd-bg);color:var(--dd-text);font-family:var(--font-body);line-height:1.65}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app{width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 4rem;flex:1}.app-home{max-width:none;padding:0;display:grid}.app-header{position:relative;z-index:10;min-height:5rem;padding:0 1.25rem;background:#ffffffe6;border-bottom:1px solid rgba(221,227,234,.82);box-shadow:0 8px 30px #0e2a5e0b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:linear-gradient(90deg,transparent 4%,var(--dd-blue) 32%,#5aadff 58%,var(--dd-sage) 82%,transparent 96%);opacity:.42}.app-header-inner{width:100%;max-width:1100px;min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 auto}.app-identity{display:flex;align-items:center;gap:.7rem;color:var(--dd-darkblue);line-height:1.2}.app-identity-copy{display:flex;align-items:center;gap:.75rem}.app-identity-copy .dodiversity-wordmark{font-size:1rem}.app-product-name{display:flex;align-items:center;gap:.75rem;color:var(--dd-darkblue);font-family:var(--font-body);font-size:.84rem;font-weight:650;letter-spacing:-.015em}.app-product-name:before{content:"";width:1px;height:1.3rem;background:var(--dd-border)}.app-logo{position:relative;display:grid;place-items:center;width:2.65rem;height:2.65rem;color:var(--dd-darkblue);font-weight:700}.app-logo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.app-logo-fallback{line-height:1}.dodiversity-wordmark{display:inline-block;font-family:var(--font-body);font-weight:700;letter-spacing:-.025em;line-height:1}.wordmark-do{color:var(--dd-text)}.wordmark-diversity{color:var(--dd-blue)}.header-action{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 0;color:var(--dd-darkblue);background:transparent;border:0;border-radius:0;font-size:.85rem;font-weight:600;transition:color var(--transition-fast)}.header-action:hover{color:var(--dd-blue)}.header-action-icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--transition-normal)}.header-action:hover .header-action-icon{transform:rotate(-35deg)}.app-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1.25rem max(1rem,calc((100vw - 1100px)/2 + 1.25rem));color:var(--dd-muted);background:#f7f8fa;font-size:.78rem}.footer-client{display:flex;align-items:center;gap:.65rem}.footer-client img{width:auto;height:1.45rem;object-fit:contain}.footer-links{display:flex;align-items:center;justify-content:center;gap:1rem}.footer-links a{color:var(--dd-darkblue);font-weight:500;text-underline-offset:.18em;text-decoration-color:#0e2a5e59}.footer-links a:hover{color:var(--dd-blue)}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:1.25rem;background:#0e2a5e73;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.confirm-dialog{position:relative;width:min(100%,30rem);padding:2rem;background:var(--dd-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.dialog-close{position:absolute;top:.85rem;right:.85rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;color:var(--dd-muted);background:transparent;border:0;border-radius:50%;font-size:1.6rem;font-weight:300;line-height:1}.dialog-close:hover{color:var(--dd-darkblue);background:#0e2a5e0f}.confirm-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem}h1{font-family:var(--font-heading);font-size:clamp(2.5rem,7vw,4rem);font-weight:700;letter-spacing:-.045em;color:var(--dd-darkblue);margin:.5rem 0;line-height:1.05}h2{font-family:var(--font-body);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.025em;color:var(--dd-darkblue);margin:0 0 .4rem;line-height:1.2}.lead{font-size:1.15rem;max-width:34rem}.muted{color:var(--dd-muted);margin-top:0}button{cursor:pointer;font-family:var(--font-body)}.btn-primary{background:var(--dd-blue);color:#fff;font-weight:600;font-size:1rem;padding:.75rem 1.5rem;border-radius:var(--radius-sm);border:none;transition:background .15s ease}.btn-primary:hover{background:var(--dd-darkblue)}.btn-primary:disabled{background:var(--dd-border);color:var(--dd-muted);cursor:not-allowed}.btn-secondary{background:var(--dd-white);color:var(--dd-darkblue);font-weight:600;font-size:1rem;padding:.75rem 1.5rem;border-radius:var(--radius-sm);border:1px solid var(--dd-border)}.btn-secondary:hover{border-color:var(--dd-blue);color:var(--dd-blue)}.btn-large{padding:1rem 2.25rem;font-size:1.1rem;margin-top:1.5rem}.btn-ghost{background:none;border:1px solid var(--dd-border);color:var(--dd-muted);padding:.75rem 1.25rem;border-radius:6px;margin-top:1.5rem;font-size:.95rem}.btn-ghost:hover{border-color:var(--dd-blue);color:var(--dd-blue)}.btn-link{background:none;border:none;color:var(--dd-muted);text-decoration:underline;font-size:.95rem;margin-top:2rem;display:inline-block}.btn-link:hover{color:var(--dd-blue)}.button-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.button-col{display:flex;flex-direction:column;gap:1rem;max-width:22rem;margin:0 auto}.button-col .btn-large{margin-top:0}.button-col .btn-primary.btn-large{margin-top:1.5rem}button:focus-visible{outline:3px solid var(--dd-blue);outline-offset:2px}.home-screen{width:100%;min-height:100%;display:grid;place-items:center;isolation:isolate;overflow:hidden;padding:4rem 1.5rem;background:radial-gradient(circle at 12% 15%,rgba(55,122,255,.13),transparent 27rem),radial-gradient(circle at 88% 18%,rgba(141,171,127,.15),transparent 25rem),linear-gradient(145deg,#f7f9ff 0%,var(--dd-white) 52%,#f4f8f2 100%)}.hero-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:-1}.hero-card-fan{position:absolute;inset:50% auto auto 50%;width:min(70rem,100vw);height:min(30rem,72vh);transform:translate(-50%,-50%)}.hero-flip-card{position:absolute;width:clamp(7rem,10vw,9rem);height:clamp(10rem,14vw,12.5rem);perspective:900px;opacity:.32}.hero-flip-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(0)}.hero-flip-inner>span{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(14,42,94,.12);border-radius:16px;box-shadow:0 18px 45px #0e2a5e1a;backface-visibility:hidden;-webkit-backface-visibility:hidden}.hero-flip-inner>span:first-child{background:linear-gradient(#377aff1a,#377aff1a) 1.2rem 1.3rem / 2.5rem .35rem no-repeat,linear-gradient(#0e2a5e17,#0e2a5e17) 1.2rem 3rem / calc(100% - 2.4rem) .2rem no-repeat,#ffffffc7}.hero-flip-inner>span:last-child{background:linear-gradient(145deg,#377affe6,#0e2a5eeb);transform:rotateY(180deg)}.hero-fan-card-1{top:7%;left:3%;transform:rotate(-16deg)}.hero-fan-card-2{bottom:5%;left:17%;transform:rotate(-8deg);opacity:.24}.hero-fan-card-3{top:1%;left:calc(50% - 4rem);transform:rotate(2deg);opacity:.1}.hero-fan-card-4{right:17%;bottom:5%;transform:rotate(8deg);opacity:.24}.hero-fan-card-5{top:7%;right:3%;transform:rotate(16deg)}.hero-fan-card-4 .hero-flip-inner{animation:hero-card-flip 11s ease-in-out infinite}@keyframes hero-card-flip{0%,34%,to{transform:rotateY(0)}44%,84%{transform:rotateY(180deg)}}.hero-content{position:relative;z-index:1;max-width:42rem;padding:clamp(1.5rem,4vw,3rem)}.home-screen .lead{color:#46515f}.app{padding-top:2rem}.app-home{padding-top:0}p{margin:0 0 1rem}.skip-link{position:fixed;top:-8rem;left:1rem;padding:.8rem;background:var(--dd-white);z-index:100}.skip-link:focus{top:1rem}main:focus{outline:none}a:focus-visible,input:focus-visible{outline:3px solid var(--dd-blue);outline-offset:3px}button{min-height:44px}.btn-primary,.btn-secondary{min-height:48px;display:inline-flex;justify-content:center;align-items:center;gap:.75rem}.btn-text{color:var(--dd-darkblue);background:transparent;border:0;min-height:44px;padding:.5rem .25rem;font-size:.85rem;text-underline-offset:.2em}.btn-text:hover{text-decoration:underline}.eyebrow{color:var(--dd-blue);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.screen-center{text-align:center}.screen-center .lead{margin:1.25rem auto 0}.hero-content .brand-mark{font-size:1.15rem}.hero-content h1{margin-top:1.25rem}.hero-note{color:var(--dd-muted);font-size:.8rem;margin-top:1.75rem}.timeline{list-style:none;padding:0;margin:0 0 2.5rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.timeline li{position:relative;border-bottom:2px solid var(--dd-border);color:var(--dd-muted)}.timeline button{display:flex;align-items:flex-start;gap:.65rem;width:100%;height:100%;min-height:68px;text-align:left;background:transparent;border:0;color:inherit;padding:.85rem .5rem .85rem 0;border-radius:4px}.timeline button:hover{background:#edf3ff;color:var(--dd-darkblue)}.timeline .timeline-current{border-color:var(--dd-blue);color:var(--dd-darkblue)}.timeline .timeline-past{border-color:var(--dd-darkblue)}.timeline-dot{flex:0 0 .65rem;height:.65rem;margin-top:.3rem;border-radius:50%;border:1px solid var(--dd-border);background:var(--dd-bg)}.timeline-current .timeline-dot{color:var(--dd-white);background:var(--dd-blue);border-color:var(--dd-blue)}.timeline-past .timeline-dot{color:var(--dd-white);background:var(--dd-darkblue);border-color:var(--dd-darkblue)}.timeline-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.timeline-period{font-size:.75rem;font-weight:600}.timeline-name{font-size:.68rem;line-height:1.4}.period-screen{max-width:680px;margin:3.5rem auto}.period-screen h1{font-size:clamp(2rem,4.5vw,3rem);margin:.75rem 0}.period-years{font-size:1.15rem;color:var(--dd-blue);font-weight:600;margin-bottom:1.5rem}.period-screen .lead{max-width:none;color:#46515f}.how-it-works{margin-top:2rem;padding:1.5rem;background:var(--dd-white);border:1px solid var(--dd-border);border-radius:var(--radius-md)}.how-it-works h2{font-size:1rem;margin-bottom:.6rem}.how-it-works p{font-size:.95rem}.how-it-works p:last-child{margin-bottom:0}.period-actions{margin-top:2rem;justify-content:space-between}.period-count{margin-top:1rem;text-align:right;font-size:.8rem}.card-topline{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.card-topline p{margin-bottom:0}.card-topline .muted{font-size:.8rem}.card-screen{max-width:760px;margin:0 auto}.conversation-layout{display:grid;grid-template-columns:1fr;gap:1.75rem}.story-card{background:var(--dd-white);border:1px solid var(--dd-border);border-radius:var(--radius-md);padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--shadow-sm)}.card-kicker{color:var(--dd-blue);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.9rem}.story-card h1{font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 .75rem}.card-location{color:var(--dd-muted);font-size:.8rem;margin-bottom:1.5rem}.card-text{font-size:1.08rem;line-height:1.7;margin-bottom:0}.conversation-questions{--question-gap: .75rem}.recognition{margin:0;padding:0;border:0;min-width:0}.recognition legend{font-size:1.05rem;line-height:1.5;color:var(--dd-darkblue);font-weight:700;padding:0;margin-bottom:.5rem}.recognition-title{display:inline-grid;grid-template-columns:1.7rem minmax(0,1fr);gap:var(--question-gap);align-items:center}.question-helper{color:var(--dd-muted);font-size:.85rem;line-height:1.6;margin-top:.5rem}.recognition-options{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0 calc(1.7rem + var(--question-gap))}.recognition-option{position:relative;display:flex;align-items:center;gap:.45rem;border:1px solid var(--dd-border);background:var(--dd-white);color:var(--dd-darkblue);border-radius:var(--radius-sm);min-height:48px;padding:.6rem .75rem;cursor:pointer;font-size:.82rem}.recognition-option:hover{border-color:var(--dd-blue)}.recognition-option:has(input:focus-visible){outline:3px solid var(--dd-darkblue);outline-offset:3px}.recognition-option input{margin:0;accent-color:var(--dd-blue)}.recognition-selected{border-color:var(--dd-blue);background:#edf3ff;color:var(--dd-darkblue);box-shadow:0 0 0 1px var(--dd-blue)}.recognition-skip{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.6rem .85rem;color:#52515b;background:#eeeef0;border:1px solid #d5d5da;border-radius:var(--radius-sm);font-size:.82rem}.recognition-skip:hover{background:#e0e0e6;border-color:#92929e}.conversation-prompt{display:grid;grid-template-columns:1.7rem minmax(0,1fr);gap:var(--question-gap);margin-top:1.8rem}.conversation-questions>.conversation-prompt:first-child{margin-top:0}.prompt-number{display:grid;place-items:center;background:#edf3ff;color:var(--dd-darkblue);border:1px solid #cbd9f5;font-size:.72rem;font-weight:700;height:1.7rem;width:1.7rem;border-radius:50%}.conversation-prompt h2{font-size:1.05rem;line-height:1.5;letter-spacing:-.015em;min-height:1.7rem;margin:0 0 .55rem}.conversation-prompt p{margin-bottom:.65rem}.conversation-prompt p:last-child{margin-bottom:0}.spoken-questions{margin:.75rem 0;padding-left:1.2rem}.spoken-questions li+li{margin-top:.5rem}.card-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.5rem;border-top:1px solid var(--dd-border);padding-top:1.5rem}.next-actions{display:flex;align-items:center;gap:1.2rem}.session-meta{display:flex;align-items:center;justify-content:space-between;color:var(--dd-muted);font-size:.75rem;margin-top:.75rem;gap:1rem}.session-meta .btn-text{color:var(--dd-muted);font-size:.75rem}.summary-screen{max-width:680px;margin:3rem auto}.summary-screen h1{font-size:clamp(2rem,5vw,3rem)}.summary-screen .lead{margin-top:1rem}.closing-question{padding:1.5rem;background:var(--dd-white);border:1px solid var(--dd-border);border-radius:var(--radius-md);margin:2rem 0}.closing-question h2{font-size:1.1rem}.closing-question p{margin-top:.7rem;margin-bottom:0}.summary-note{font-size:.85rem;margin-top:1.5rem}.privacy-note{font-size:.72rem}.reset-dialog{border:1px solid var(--dd-border);border-radius:var(--radius-lg);padding:2rem;background:var(--dd-white);color:var(--dd-text);width:min(94vw,580px);box-shadow:var(--shadow-lg)}.reset-dialog::backdrop{background:#0e2a5e66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reset-dialog h2{margin-bottom:.8rem}@media (max-width: 760px){.conversation-layout{grid-template-columns:1fr;gap:1.6rem}.story-card{position:static}.timeline-name{display:none}.timeline button{flex-direction:column;gap:.5rem}.timeline-period{font-size:.68rem}.period-screen{margin:2rem auto}.hero-flip-card{opacity:.15}.hero-fan-card-2,.hero-fan-card-3,.hero-fan-card-4{display:none}.app-identity-copy .dodiversity-wordmark{font-size:.88rem}.app-product-name{font-size:.8rem}.app-identity-copy{gap:.5rem}.app-product-name:before{display:none}.app-identity{gap:.5rem}}@media (max-width: 520px){.app{padding:1rem 1rem 2.5rem}.app-home{padding:0}.app-header{padding:0 1rem}.app-logo{width:2rem;height:2rem}.app-identity-copy{flex-direction:column;align-items:flex-start;gap:.3rem}.header-action{font-size:.75rem}.home-screen{min-height:65vh;padding:2.5rem 1rem}.hero-content{padding:1.5rem .5rem}.hero-content h1{font-size:2.5rem}.timeline{margin-bottom:1.8rem}.card-navigation{align-items:stretch;flex-direction:column-reverse}.next-actions{display:grid;gap:.5rem}.next-actions .btn-primary{grid-row:1}.period-actions,.summary-screen .button-row{align-items:stretch;flex-direction:column-reverse}.period-count{text-align:center}.confirm-actions{flex-direction:column}.conversation-questions{--question-gap: .5rem}.reset-dialog{padding:1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
