@import"https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700,401,501,601,701&display=swap";@import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&display=swap";:root{--dgf-paper: #f1ece2;--dgf-paper-2: #e8e1d2;--dgf-ink: #141311;--dgf-ink-soft: #2a2723;--dgf-fog: rgba(20, 19, 17, .55);--dgf-rule: rgba(20, 19, 17, .12);--dgf-rule-strong: rgba(20, 19, 17, .6);--dgf-night: #0e0d0b;--dgf-night-2: #181613;--dgf-paper-on-night: #ece7dc;--dgf-blue: #0053cb;--dgf-blue-lift: #4d8eff;--dgf-blue-deep: #003a96;--dgf-red: #ee0023;--dgf-red-deep: #c30019;--dgf-teal-soft: #b3d8df;--dgf-teal: #2e8a9e;--dgf-teal-deep: #1c5b68;--dgf-display: "General Sans", ui-sans-serif, system-ui, sans-serif;--dgf-body: "General Sans", ui-sans-serif, system-ui, sans-serif;--dgf-mono: "Geist Mono", ui-monospace, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--dgf-ease-default: cubic-bezier(.2, .7, .3, 1);--dgf-dur-fast: .15s;--dgf-dur-default: .2s}*,*:before,*:after{box-sizing:border-box}::selection{background:var(--dgf-red);color:#fff}.dgf-em{font-style:normal;font-weight:inherit;color:var(--dgf-red)}html{background:var(--dgf-paper);color:var(--dgf-ink);font-family:var(--dgf-body);font-weight:500;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh}.scan-container{width:100%;max-width:640px;margin:0 auto;padding:0 24px}@media(max-width:420px){.scan-container{padding:0 20px}}.scan-wordmark{font-family:var(--dgf-display);font-weight:700;font-size:22px;letter-spacing:-.035em;color:var(--dgf-ink);text-decoration:none;padding:var(--s-5) 0;display:block}.scan-wordmark .dot{color:var(--dgf-red)}.progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--dgf-rule);z-index:100}.progress-bar-fill{height:100%;background:var(--dgf-red);transition:width .3s var(--dgf-ease-default)}.screen{padding:var(--s-7) 0 var(--s-8);display:flex;flex-direction:column}.screen:not(.result-screen){min-height:calc(100dvh - 70px)}.screen-enter{animation:screenIn .35s var(--dgf-ease-default) both}@keyframes screenIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.intro-screen{justify-content:center;text-align:left}.intro-eyebrow{font-family:var(--dgf-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dgf-fog);display:flex;align-items:center;gap:14px;margin-bottom:var(--s-6)}.intro-eyebrow .rule{flex:0 0 32px;height:1px;background:currentColor;opacity:.4}.intro-title{font-family:var(--dgf-display);font-weight:700;font-size:clamp(36px,7vw,56px);line-height:.95;letter-spacing:-.035em;margin:0 0 var(--s-5)}.intro-body{font-size:clamp(18px,2vw,22px);font-weight:500;line-height:1.4;color:var(--dgf-ink-soft);margin:0 0 var(--s-4);max-width:480px}.intro-reassurance{font-size:15px;color:var(--dgf-fog);margin:0 0 var(--s-7)}.intro-meta{font-family:var(--dgf-mono);font-size:13px;color:var(--dgf-fog);margin-bottom:var(--s-5)}.question-counter{font-family:var(--dgf-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dgf-fog);margin-bottom:var(--s-5)}.question-text{font-family:var(--dgf-display);font-weight:700;font-size:clamp(22px,4vw,32px);line-height:1.15;letter-spacing:-.02em;margin:0 0 var(--s-6)}.options-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.option-btn{display:block;width:100%;padding:var(--s-4) var(--s-5);background:transparent;border:1px solid var(--dgf-rule);border-radius:0;font-family:var(--dgf-body);font-weight:500;font-size:17px;line-height:1.4;color:var(--dgf-ink);text-align:left;cursor:pointer;transition:border-color var(--dgf-dur-fast),background var(--dgf-dur-fast)}.option-btn:hover{border-color:var(--dgf-ink)}.option-btn.selected{border-color:var(--dgf-red);background:#ee00230a}.option-btn:focus-visible{outline:2px solid var(--dgf-blue);outline-offset:3px}.question-nav{margin-top:auto;padding-top:var(--s-7);display:flex;justify-content:space-between;align-items:center;gap:var(--s-4)}.nav-back{background:none;border:none;font-family:var(--dgf-body);font-weight:600;font-size:17px;color:var(--dgf-fog);cursor:pointer;padding:var(--s-3) 0;transition:color var(--dgf-dur-fast)}.nav-back:hover{color:var(--dgf-ink)}.nav-back:focus-visible{outline:2px solid var(--dgf-blue);outline-offset:3px}.cta-primary{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;background:var(--dgf-red);color:#fff;border-radius:999px;border:none;cursor:pointer;font-family:var(--dgf-display);font-weight:600;font-size:17px;text-decoration:none;transition:filter var(--dgf-dur-fast),transform var(--dgf-dur-fast)}.cta-primary:hover{filter:brightness(1.08)}.cta-primary:disabled{opacity:.4;cursor:not-allowed;filter:none}.cta-primary:focus-visible{outline:2px solid var(--dgf-blue);outline-offset:3px}.cta-primary,.cta-ghost{align-self:flex-start}.cta-primary .arrow{transition:transform .2s;display:inline-block}.cta-primary:hover:not(:disabled) .arrow{transform:translate(3px)}.cta-ghost{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:999px;font-family:var(--dgf-display);font-weight:600;font-size:17px;cursor:pointer;text-decoration:none;transition:background var(--dgf-dur-fast),color var(--dgf-dur-fast)}.cta-ghost:hover{background:var(--dgf-ink);color:var(--dgf-paper);border-color:var(--dgf-ink)}.cta-ghost:focus-visible{outline:2px solid var(--dgf-blue);outline-offset:3px}.contact-title{font-family:var(--dgf-display);font-weight:700;font-size:clamp(28px,5vw,40px);line-height:1.05;letter-spacing:-.025em;margin:0 0 var(--s-3)}.contact-subtitle{color:var(--dgf-fog);font-size:17px;margin:0 0 var(--s-7)}.contact-form{display:flex;flex-direction:column;gap:var(--s-2)}.contact-field input{width:100%;padding:20px 0 14px;background:transparent;border:none;border-bottom:1px solid var(--dgf-rule);color:var(--dgf-ink);font-family:var(--dgf-display);font-weight:600;font-size:clamp(18px,2vw,22px);letter-spacing:-.01em;border-radius:0;transition:border-color .2s}.contact-field input:focus{border-bottom-color:var(--dgf-red);outline:none}.contact-field input:focus-visible{outline:none;border-bottom-color:var(--dgf-red)}.contact-field input::placeholder{color:var(--dgf-fog);font-weight:500}.contact-field input:focus::placeholder{color:transparent}.contact-field.has-error input{border-bottom-color:var(--dgf-red)}.field-error{font-size:14px;color:var(--dgf-red);margin-top:var(--s-1)}.contact-checkbox{display:flex;align-items:flex-start;gap:var(--s-3);margin-top:var(--s-6);cursor:pointer}.contact-checkbox input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin-top:2px;accent-color:var(--dgf-red);cursor:pointer}.contact-checkbox span{font-size:15px;line-height:1.4;color:var(--dgf-ink-soft)}.contact-checkbox a{color:var(--dgf-ink);text-decoration:underline;text-underline-offset:3px}.contact-submit{margin-top:var(--s-7);display:flex;align-items:center;gap:var(--s-5)}.submit-error{font-size:15px;color:var(--dgf-red)}.result-screen{padding-top:var(--s-7)}.result-level-badge{display:inline-block;font-family:var(--dgf-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dgf-red);margin-bottom:var(--s-4)}.result-level-name{font-family:var(--dgf-display);font-weight:700;font-size:clamp(40px,7vw,64px);line-height:.95;letter-spacing:-.035em;margin:0 0 var(--s-5)}.result-score{font-family:var(--dgf-mono);font-size:14px;color:var(--dgf-fog);margin-bottom:var(--s-6)}.result-intro{font-size:clamp(18px,2vw,22px);font-weight:600;line-height:1.35;color:var(--dgf-red);margin:0 0 var(--s-5)}.result-body{font-size:17px;line-height:1.6;color:var(--dgf-ink-soft);margin:0 0 var(--s-7)}.result-section-title{font-family:var(--dgf-display);font-weight:700;font-size:clamp(22px,3vw,28px);letter-spacing:-.02em;margin:0 0 var(--s-5)}.result-actions{display:flex;flex-direction:column;gap:var(--s-4);margin-bottom:var(--s-7)}.action-card{padding:var(--s-5);border:1px solid var(--dgf-rule);position:relative}.action-number{font-family:var(--dgf-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dgf-fog);margin-bottom:var(--s-2)}.action-text{font-size:17px;line-height:1.5;color:var(--dgf-ink)}.monday-questions{margin-bottom:var(--s-7)}.monday-card{padding:var(--s-5) 0;border-bottom:1px solid var(--dgf-rule)}.monday-card:first-child{border-top:1px solid var(--dgf-rule)}.monday-question{font-weight:700;font-size:17px;line-height:1.35;margin:0 0 var(--s-2)}.monday-answer{font-size:17px;line-height:1.5;color:var(--dgf-ink-soft);margin:0}.result-closing{font-size:clamp(18px,2vw,22px);font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--dgf-ink);margin:0 0 var(--s-6)}.result-cta-area{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-bottom:var(--s-6)}.cta-sent-confirmation{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:var(--dgf-red);color:#fff;border-radius:999px;font-family:var(--dgf-display);font-weight:600;font-size:17px}.cta-sent-check{font-size:18px;font-weight:700}.result-email-note{font-size:15px;color:var(--dgf-fog);margin-top:var(--s-6)}.scan-footer{padding:var(--s-5) 0;border-top:1px solid var(--dgf-rule);font-size:14px;color:var(--dgf-fog);text-align:center;margin-top:auto}.scan-footer a{color:var(--dgf-fog);text-decoration:underline;text-underline-offset:3px}.booking-screen{padding-top:var(--s-7)}.booking-title{font-family:var(--dgf-display);font-weight:700;font-size:clamp(32px,5vw,48px);line-height:.95;letter-spacing:-.035em;margin:var(--s-4) 0 var(--s-3)}.booking-subtitle{color:var(--dgf-fog);font-size:17px;margin:0 0 var(--s-7)}.booking-section-label{font-family:var(--dgf-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dgf-fog);margin-bottom:var(--s-3)}.booking-dates{display:flex;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-3);margin-bottom:var(--s-6);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--dgf-red) transparent}.booking-dates:not(:hover):not(:active){scrollbar-color:transparent transparent}.booking-dates::-webkit-scrollbar{height:4px}.booking-dates::-webkit-scrollbar-track{background:transparent}.booking-dates::-webkit-scrollbar-thumb{background:transparent;border-radius:2px;transition:background .3s}.booking-dates:hover::-webkit-scrollbar-thumb{background:var(--dgf-red)}.booking-date-btn{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-3) var(--s-4);background:transparent;border:1px solid var(--dgf-rule);font-family:var(--dgf-display);cursor:pointer;transition:border-color var(--dgf-dur-fast),background var(--dgf-dur-fast)}.booking-date-btn:hover{border-color:var(--dgf-ink)}.booking-date-btn.selected{border-color:var(--dgf-red);background:#ee00230a}.booking-date-weekday{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dgf-fog)}.booking-date-day{font-size:20px;font-weight:700;color:var(--dgf-ink);line-height:1.2}.booking-date-month{font-size:11px;color:var(--dgf-fog)}.booking-slots{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-6)}.booking-slot-btn{padding:var(--s-3) var(--s-5);background:transparent;border:1px solid var(--dgf-rule);font-family:var(--dgf-mono);font-size:15px;font-weight:500;color:var(--dgf-ink);cursor:pointer;transition:border-color var(--dgf-dur-fast),background var(--dgf-dur-fast)}.booking-slot-btn:hover{border-color:var(--dgf-ink)}.booking-slot-btn.selected{border-color:var(--dgf-red);background:var(--dgf-red);color:#fff}.booking-loading,.booking-empty{color:var(--dgf-fog);font-size:15px;margin-bottom:var(--s-6)}.booking-confirm-area{margin-top:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--dgf-rule)}.booking-confirm-summary{font-size:17px;font-weight:600;margin:0 0 var(--s-5)}.booking-error{font-size:15px;color:var(--dgf-red);margin:var(--s-3) 0}.booking-success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;background:var(--dgf-red);color:#fff;font-size:28px;font-weight:700;margin-bottom:var(--s-5)}.booking-success-title{font-family:var(--dgf-display);font-weight:700;font-size:clamp(28px,5vw,40px);line-height:1.05;letter-spacing:-.025em;margin:0 0 var(--s-4)}.booking-success-detail{font-size:18px;font-weight:600;margin:0 0 var(--s-6)}.booking-success-note{font-size:15px;color:var(--dgf-fog);margin:0}.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:999px;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.screen-enter{animation:none}}
