.retraite-app{--ink:#1c2620;--ink-soft:#3a4a40;--paper:#f4f1ea;--paper-warm:#ebe5d4;--paper-cool:#e8ecdf;--accent:#4a6b4a;--accent-dark:#2f4a32;--accent-light:#7a9a7a;--green:#2f4a32;--orange:#c87f2a;--red:#a04030;--line:#c9c4b3;--muted:#6b7268;--serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif}.retraite-app *,.retraite-app :after,.retraite-app :before{box-sizing:border-box;margin:0;padding:0}.retraite-app{background:var(--paper);background-image:radial-gradient(circle at 20% 10%,rgba(201,169,97,.08) 0,transparent 50%),radial-gradient(circle at 80% 90%,rgba(45,106,63,.05) 0,transparent 50%);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;min-height:100vh;padding:calc(40px + env(safe-area-inset-top, 0px)) 24px calc(40px + env(safe-area-inset-bottom, 0px));-webkit-text-size-adjust:100%}.retraite-app .compare-card,.retraite-app .country-card,.retraite-app .filter-btn,.retraite-app .option,.retraite-app .tab,.retraite-app .zoom-btn,.retraite-app a,.retraite-app button{-webkit-tap-highlight-color:rgba(74,107,74,.15);-webkit-touch-callout:none;-webkit-appearance:none;appearance:none;touch-action:manipulation}.retraite-app button{user-select:none;-webkit-user-select:none}.retraite-app .container{margin:0 auto;max-width:980px}.retraite-app header{border-bottom:1px solid var(--line);margin-bottom:48px;padding-bottom:32px;position:relative;text-align:center}.retraite-app header:after{background:var(--paper);bottom:-10px;color:var(--accent);content:"✦";font-size:14px;left:50%;padding:0 16px;position:absolute;transform:translateX(-50%)}.retraite-app .eyebrow{color:var(--accent-dark);font-size:11px;font-weight:600;letter-spacing:.3em;margin-bottom:16px;text-transform:uppercase}.retraite-app h1{font-family:var(--serif);font-size:clamp(36px,5vw,56px);font-variation-settings:"opsz" 144,"SOFT" 50;font-weight:400;letter-spacing:-.03em;line-height:1.05;margin-bottom:16px}.retraite-app h1 em{color:var(--accent-dark);font-style:italic;font-weight:500}.retraite-app .subtitle{color:var(--muted);font-family:var(--serif);font-size:19px;font-style:italic;margin:0 auto;max-width:540px}.retraite-app .tabs{border-bottom:1px solid var(--line);display:flex;gap:0;margin-bottom:40px}.retraite-app .tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;flex:1;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.15em;margin-bottom:-1px;padding:18px 20px;text-transform:uppercase;transition:all .3s ease}.retraite-app .tab:hover{color:var(--ink)}.retraite-app .tab.active{border-bottom-color:var(--accent);color:var(--ink)}.retraite-app .panel{display:none}.retraite-app .panel.active{animation:dr-fade-in .5s ease;display:block}@keyframes dr-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.retraite-app .question{margin-bottom:36px}.retraite-app .question-label{align-items:baseline;display:flex;font-family:var(--serif);font-size:22px;font-weight:500;gap:12px;margin-bottom:4px}.retraite-app .question-hint{color:var(--muted);font-size:13px;font-style:italic;margin-bottom:16px}.retraite-app .options{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.retraite-app .option{background:var(--paper-warm);border:1px solid var(--line);border-radius:2px;color:var(--ink);cursor:pointer;font-family:var(--sans);font-size:14px;overflow:hidden;padding:14px 18px;position:relative;text-align:left;transition:all .2s ease}.retraite-app .option:hover{background:#e6dcc4;border-color:var(--ink)}.retraite-app .option.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}.retraite-app .option.selected:hover{background:#2d2d2d}.retraite-app .option-multi{padding-right:36px}.retraite-app .option-multi.selected:after{color:var(--accent);content:"✓";font-size:16px;font-weight:700;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.retraite-app .submit-btn{background:var(--ink);border:none;color:var(--paper);cursor:pointer;display:inline-block;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.2em;margin-top:16px;padding:18px 48px;position:relative;text-transform:uppercase;transition:all .3s ease}.retraite-app .submit-btn:hover{background:var(--accent-dark);box-shadow:0 6px 16px rgba(0,0,0,.15);transform:translateY(-2px)}.retraite-app .submit-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.retraite-app .country-search-wrap{margin-bottom:16px}.retraite-app .country-search{background:#fff;border:1px solid var(--line);border-radius:4px;color:var(--ink);font-family:inherit;font-size:15px;max-width:360px;padding:11px 16px;transition:border-color .2s ease;width:100%}.retraite-app .country-search::placeholder{color:var(--muted)}.retraite-app .country-search:focus{border-color:var(--accent);outline:none}.retraite-app .country-empty{color:var(--muted);font-size:14px;margin-top:8px}.retraite-app .country-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.retraite-app .country-card[hidden]{display:none}.retraite-app .country-card{background:var(--paper-warm);border:1px solid var(--line);border-radius:2px;color:inherit;cursor:pointer;display:block;padding:20px 16px;text-align:center;text-decoration:none;transition:all .3s ease}.retraite-app .country-card:hover{border-color:var(--ink);box-shadow:0 8px 20px rgba(0,0,0,.08);transform:translateY(-3px)}.retraite-app .country-flag{display:block;font-size:36px;margin-bottom:8px}.retraite-app .country-name{font-family:var(--serif);font-size:18px;font-weight:500}.retraite-app .results{border-top:1px solid var(--line);display:none;margin-top:48px;padding-top:40px}.retraite-app .results.visible{animation:dr-fade-in .6s ease;display:block}.retraite-app .results-title{font-family:var(--serif);font-size:32px;font-weight:500;margin-bottom:8px}.retraite-app .results-subtitle{color:var(--muted);font-style:italic;margin-bottom:32px}.retraite-app .result-card{align-items:center;background:#fff;border:1px solid var(--line);cursor:pointer;display:grid;gap:24px;grid-template-columns:auto 1fr auto;margin-bottom:16px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.retraite-app .result-cta-hint{align-items:center;color:var(--accent-dark);display:inline-flex;font-size:13px;font-weight:600;gap:4px;margin-top:12px;transition:gap .2s ease,color .2s ease}.retraite-app .result-card:hover .result-cta-hint{color:var(--accent);gap:8px}.retraite-app .result-card:before{background:var(--accent);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.retraite-app .result-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}.retraite-app .result-rank{color:var(--accent);font-family:var(--serif);font-size:48px;font-style:italic;line-height:1;min-width:50px}.retraite-app .result-info h3{font-family:var(--serif);font-size:28px;font-weight:500;margin-bottom:6px}.retraite-app .result-info p{color:var(--muted);font-size:14px;line-height:1.6}.retraite-app .result-score{border-left:1px solid var(--line);padding:12px 20px;text-align:center}.retraite-app .result-score .num{color:var(--accent-dark);font-family:var(--serif);font-size:36px;font-weight:500;line-height:1}.retraite-app .result-score .label{color:var(--muted);font-size:10px;letter-spacing:.15em;margin-top:4px;text-transform:uppercase}.retraite-app .score-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.retraite-app .score-dot.s3{background:var(--green)}.retraite-app .score-dot.s2{background:var(--orange)}.retraite-app .score-dot.s1{background:var(--red)}.retraite-app .reset-btn{background:none;border:1px solid var(--line);color:var(--muted);cursor:pointer;font-family:var(--sans);font-size:12px;letter-spacing:.15em;margin-left:12px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.retraite-app .reset-btn:hover{border-color:var(--ink);color:var(--ink)}.retraite-app footer{border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-style:italic;margin-top:64px;padding-top:32px;text-align:center}@media(max-width:980px){.retraite-app{padding:28px 20px}.retraite-app .container{max-width:100%}}@media(max-width:640px){.retraite-app{font-size:14px;padding:20px 14px}.retraite-app header{margin-bottom:28px;padding-bottom:20px}.retraite-app .eyebrow{font-size:9.5px;letter-spacing:.2em;margin-bottom:10px}.retraite-app h1{font-size:32px;line-height:1.05;margin-bottom:10px}.retraite-app .subtitle{font-size:15px;line-height:1.4}.retraite-app header:after{bottom:-8px;font-size:12px;padding:0 10px}.retraite-app .tabs{gap:0;margin-bottom:28px}.retraite-app .tab{flex:1;font-size:10.5px;letter-spacing:.08em;line-height:1.3;min-width:0;padding:14px 4px;text-align:center;word-spacing:normal}.retraite-app .question{margin-bottom:28px}.retraite-app .question-label{flex-wrap:wrap;font-size:19px;gap:8px}.retraite-app .question-hint{font-size:12.5px;margin-bottom:12px}.retraite-app .options{gap:8px;grid-template-columns:1fr}.retraite-app .option{align-items:center;display:flex;font-size:14px;min-height:44px;padding:13px 16px}.retraite-app .submit-btn{font-size:12px;margin-top:8px;padding:16px 24px;width:100%}.retraite-app .reset-btn{margin-left:0;margin-top:8px;padding:14px 24px;width:100%}.retraite-app .fiscal-calc{padding:18px}.retraite-app .calc-inputs{gap:12px;grid-template-columns:1fr}.retraite-app .calc-field input{font-size:16px;padding:14px}.retraite-app .optional{display:block;margin-left:0;margin-top:4px}.retraite-app .result-card{gap:12px;grid-template-columns:1fr;padding:20px}.retraite-app .result-rank{font-size:36px;min-width:auto}.retraite-app .result-info h3{font-size:24px}.retraite-app .result-score{align-items:baseline;border-left:none;border-top:1px solid var(--line);display:flex;gap:12px;grid-column:1;padding:12px 0 0;text-align:left}.retraite-app .result-score .num{font-size:28px}.retraite-app .savings-banner{flex-wrap:wrap;font-size:11px;gap:6px;padding:7px 10px}.retraite-app .savings-banner .amount{font-size:14px}.retraite-app .country-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.retraite-app .country-card{padding:16px 10px}.retraite-app .country-flag{font-size:28px}.retraite-app .country-name{font-size:15px}.retraite-app .map-controls{gap:6px;margin-bottom:12px}.retraite-app .map-controls .label{margin-bottom:4px;margin-right:0;width:100%}.retraite-app .filter-btn{flex:0 1 auto;font-size:11px;padding:7px 11px}.retraite-app .map-container{padding:12px}.retraite-app .zoom-controls{gap:3px;right:18px;top:18px}.retraite-app .zoom-btn{font-size:16px;height:32px;width:32px}.retraite-app .zoom-btn.reset{font-size:10px}.retraite-app .results{margin-top:32px;padding-top:24px}.retraite-app .results-title{font-size:26px}.retraite-app .results-subtitle{font-size:13.5px;margin-bottom:20px}.retraite-app footer{font-size:11.5px;margin-top:40px}}@media(max-width:380px){.retraite-app{padding:16px 12px}.retraite-app h1{font-size:28px}.retraite-app .tab{font-size:9.5px;padding:12px 2px}.retraite-app .question-label{font-size:17px}.retraite-app .country-grid{grid-template-columns:1fr}.retraite-app .country-card{padding:14px}}.retraite-app .fiscal-calc{background:linear-gradient(135deg,rgba(201,169,97,.08),rgba(201,169,97,.03));border:1px solid var(--accent);border-radius:4px;padding:24px}.retraite-app .fiscal-calc .question-label{color:var(--accent-dark)}.retraite-app .question-num{color:var(--accent-dark);font-weight:600}.retraite-app .optional,.retraite-app .question-num{font-family:var(--sans);font-size:11px;letter-spacing:.15em}.retraite-app .optional{color:var(--muted);font-style:italic;font-weight:400;margin-left:8px;text-transform:uppercase}.retraite-app .calc-field label{color:var(--muted);display:block;font-size:11px;font-weight:600;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.retraite-app .calc-field input,.retraite-app .calc-field select{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid var(--line);border-radius:2px;color:var(--ink);font-family:var(--serif);font-size:18px;padding:12px 14px;transition:border .2s ease;width:100%}.retraite-app .calc-field select{background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2212%22%20height%3D%228%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%201L6%206L11%201%22%20stroke%3D%22%234a6b4a%22%20stroke-width%3D%221.8%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.retraite-app .calc-field input:focus,.retraite-app .calc-field select:focus{border-color:var(--accent);outline:none}.retraite-app .calc-section-title{border-top:1px solid rgba(74,107,74,.2);color:var(--accent-dark);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.15em;margin:22px 0 12px;padding-top:14px;text-transform:uppercase}.retraite-app .calc-section-title:first-of-type{border-top:none;margin-top:4px;padding-top:0}.retraite-app .calc-inputs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:4px}.retraite-app .result-alert{align-items:center;background:#fef5e7;border:1px solid #c87f2a;border-radius:12px;color:#8a5618;display:inline-flex;font-size:11.5px;font-weight:600;gap:8px;margin-top:8px;padding:6px 12px}.retraite-app .result-alert-icon{font-size:14px;line-height:1}.retraite-app .compare-cta{align-items:center;background:linear-gradient(135deg,var(--paper-cool),var(--paper-warm));border:1px solid var(--accent-light);border-left:4px solid var(--accent);border-radius:4px;display:flex;gap:24px;justify-content:space-between;margin-top:32px;padding:24px 28px}.retraite-app .compare-cta-text{display:flex;flex:1;flex-direction:column;gap:4px}.retraite-app .compare-cta-text strong{color:var(--ink);font-family:var(--serif);font-size:19px;font-weight:500}.retraite-app .compare-cta-text span{color:var(--ink-soft);font-size:13.5px;font-style:italic}.retraite-app .save-bar{align-items:center;background:#fff;border:1px solid var(--line);border-radius:4px;display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;padding:16px 20px}.retraite-app .save-btn{background:transparent;border:1px solid var(--accent-dark);border-radius:2px;color:var(--accent-dark);cursor:pointer;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.1em;padding:10px 18px;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.retraite-app .save-btn:hover{background:var(--accent-dark);color:#fff}.retraite-app .save-btn.saved{background:var(--accent-light);border-color:var(--accent-light);color:var(--ink)}.retraite-app .save-bar-text{color:var(--muted);flex:1;font-size:12.5px;font-style:italic;min-width:200px}.retraite-app .share-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(28,38,32,.85);display:none;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.retraite-app .share-modal.visible{display:flex}.retraite-app .share-content{background:var(--paper);border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:520px;padding:32px;position:relative;width:100%}.retraite-app .share-close{background:transparent;border:none;border-radius:50%;color:var(--muted);cursor:pointer;font-size:22px;height:32px;position:absolute;right:16px;top:16px;width:32px}.retraite-app .share-close:hover{background:var(--paper-warm);color:var(--ink)}.retraite-app .share-content h3{color:var(--accent-dark);font-family:var(--serif);font-size:24px;font-weight:500;margin:0 0 10px}.retraite-app .share-content p{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:0 0 18px}.retraite-app .share-url-wrap{display:flex;gap:8px;margin-bottom:14px}.retraite-app .share-url-wrap input{background:#fff;border:1px solid var(--line);border-radius:2px;color:var(--ink);flex:1;font-family:var(--sans);font-size:12px;overflow:hidden;padding:12px 14px;text-overflow:ellipsis}.retraite-app .share-copy{background:var(--accent-dark);border:none;border-radius:2px;color:#fff;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.1em;padding:12px 18px;text-transform:uppercase;white-space:nowrap}.retraite-app .share-copy.copied{background:var(--accent-light);color:var(--ink)}.retraite-app .share-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.retraite-app .share-option{background:#fff;border:1px solid var(--line);border-radius:2px;color:var(--ink);cursor:pointer;flex:1;font-family:var(--sans);font-size:12px;min-width:140px;padding:12px;text-align:center;text-decoration:none;transition:all .2s ease}.retraite-app .share-option:hover{border-color:var(--accent);color:var(--accent-dark)}@media(max-width:640px){.retraite-app .save-bar{align-items:stretch;flex-direction:column}.retraite-app .save-btn{width:100%}.retraite-app .share-content{padding:24px 20px}.retraite-app .share-url-wrap{flex-direction:column}.retraite-app .share-copy{width:100%}}@media(max-width:480px){.retraite-app .lead-capture{margin-top:24px;padding:22px 16px}.retraite-app .lead-capture h3{font-size:20px}.retraite-app .lead-subtitle{font-size:13px}.retraite-app .lead-eyebrow{font-size:9.5px;letter-spacing:.15em}.retraite-app .lead-submit{font-size:11px;letter-spacing:.1em;padding:14px}.retraite-app .save-bar{padding:14px}.retraite-app .save-bar-text{font-size:11.5px;text-align:center}.retraite-app .save-btn{font-size:11px;padding:12px 14px}.retraite-app .compare-actions{flex-direction:column;gap:8px}.retraite-app .compare-actions button{width:100%}.retraite-app .share-content h3{font-size:20px}.retraite-app .share-options{flex-direction:column;gap:6px}.retraite-app .share-option{min-width:auto}.retraite-app .share-url-wrap input{font-size:11px}.retraite-app .cta-sticky-text{display:none}}@media(max-width:640px){.retraite-app.sticky-cta-active footer{padding-bottom:80px}}.retraite-app .lead-capture{background:linear-gradient(135deg,var(--ink) 0,#283832 100%);border-radius:4px;color:var(--paper);margin-top:32px;overflow:hidden;padding:40px;position:relative}.retraite-app .lead-capture:before{background:radial-gradient(ellipse,rgba(74,107,74,.25) 0,transparent 70%);content:"";height:200%;pointer-events:none;position:absolute;right:-10%;top:-50%;width:60%}.retraite-app .lead-capture-content{margin:0 auto;max-width:640px;position:relative;z-index:1}.retraite-app .lead-header{margin-bottom:28px;text-align:center}.retraite-app .lead-eyebrow{color:var(--accent-light);display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.2em;margin-bottom:14px;text-transform:uppercase}.retraite-app .lead-capture h3{color:#fff;font-family:var(--serif);font-size:clamp(22px,3vw,30px);font-weight:500;letter-spacing:-.01em;line-height:1.2;margin:0 0 12px}.retraite-app .lead-subtitle{color:rgba(244,241,234,.75);font-size:14px;line-height:1.5;margin:0}.retraite-app .lead-submit{background:var(--accent-light);border:none;border-radius:2px;color:var(--ink);cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.15em;margin-top:4px;padding:15px 28px;text-transform:uppercase;transition:all .2s ease}.retraite-app .lead-submit:hover{background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.3);transform:translateY(-1px)}.retraite-app .lead-submit:disabled{cursor:not-allowed;opacity:.5;transform:none}.retraite-app .lead-disclaimer{color:rgba(244,241,234,.5);font-size:11px;font-style:italic;margin:8px 0 0;text-align:center}@media(max-width:640px){.retraite-app .lead-capture{padding:24px 18px}.retraite-app .lead-submit{width:100%}}.retraite-app .cta-btn{animation:dr-cta-pulse 2.4s ease-in-out infinite;background:var(--accent);border:none;border-radius:2px;color:#fff;cursor:pointer;flex-shrink:0;font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.12em;padding:14px 28px;position:relative;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}@keyframes dr-cta-pulse{0%,to{box-shadow:0 0 0 0 rgba(74,107,74,.5)}50%{box-shadow:0 0 0 10px rgba(74,107,74,0)}}.retraite-app .cta-btn:hover{animation:none;background:var(--accent-dark);box-shadow:0 4px 12px rgba(74,107,74,.35);transform:translateY(-1px)}.retraite-app .cta-sticky{align-items:center;background:var(--paper);border-top:1px solid var(--accent);bottom:0;box-shadow:0 -4px 24px rgba(0,0,0,.12);display:flex;gap:16px;justify-content:center;left:0;padding:14px 20px calc(14px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;transform:translateY(100%);transition:transform .35s ease;z-index:100}.retraite-app .cta-sticky.visible{transform:translateY(0)}.retraite-app .cta-sticky-text{color:var(--ink-soft);font-family:var(--sans);font-size:13px;font-weight:500}.retraite-app .cta-sticky-text strong{color:var(--accent-dark);font-weight:700}.retraite-app .cta-sticky .cta-btn{animation:dr-cta-pulse 2.4s ease-in-out infinite;font-size:12px;padding:12px 22px}.retraite-app .cta-sticky-close{align-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--muted);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;line-height:1;transition:all .2s ease;width:32px}.retraite-app .cta-sticky-close:hover{background:var(--ink);border-color:var(--ink);color:#fff}@media(max-width:640px){.retraite-app .compare-cta{align-items:stretch;flex-direction:column;gap:16px;padding:20px;text-align:center}.retraite-app .compare-cta-text strong{font-size:16px}.retraite-app .compare-cta-text span{font-size:12.5px}.retraite-app .cta-btn{padding:14px;white-space:normal;width:100%}.retraite-app .cta-sticky{gap:10px;padding:10px 12px}.retraite-app .cta-sticky-text{display:none}.retraite-app .cta-sticky .cta-btn{flex:1;font-size:11.5px;letter-spacing:.06em;padding:12px 14px;white-space:normal}.retraite-app .cta-sticky-close{flex-shrink:0;height:36px;width:36px}}.retraite-app .compare-selector{margin-bottom:32px}.retraite-app .compare-counter{align-items:baseline;background:var(--paper-cool);border-left:3px solid var(--accent);border-radius:2px;display:flex;gap:12px;margin-bottom:16px;padding:16px 20px}.retraite-app .counter-num{color:var(--accent-dark);font-family:var(--serif);font-size:32px;font-weight:500;line-height:1;transition:transform .15s ease}@keyframes dr-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.retraite-app .counter-label{color:var(--muted);font-size:13px;font-style:italic}.retraite-app .compare-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:24px}.retraite-app .compare-card{background:var(--paper-warm);border:1px solid var(--line);border-radius:2px;cursor:pointer;font-family:var(--sans);padding:14px 10px;position:relative;text-align:center;transition:all .2s ease}.retraite-app .compare-card:hover{border-color:var(--ink);transform:translateY(-2px)}.retraite-app .compare-card.selected{background:var(--accent);border-color:var(--accent-dark);color:#fff}.retraite-app .compare-check{align-items:center;background:#fff;border-radius:50%;color:var(--accent-dark);display:none;font-size:12px;font-weight:700;height:18px;justify-content:center;line-height:1;position:absolute;right:8px;top:6px;width:18px}.retraite-app .compare-card.selected .compare-check{display:inline-flex}.retraite-app .compare-flag{display:block;font-size:28px;margin-bottom:6px}.retraite-app .compare-name{display:block;font-family:var(--serif);font-size:15px;font-weight:500}.retraite-app .compare-results{border-top:1px solid var(--line);display:none;margin-top:32px;overflow-x:auto;padding-top:32px}.retraite-app .compare-results.visible{animation:dr-fade-in .5s ease;display:block}.retraite-app .compare-results-inner{min-width:100%}.retraite-app .compare-header-row,.retraite-app .compare-row{border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px repeat(var(--n-cols,3),minmax(180px,1fr));min-height:60px}.retraite-app .compare-header-row{border-bottom:2px solid var(--accent);margin-bottom:8px;padding-bottom:16px}.retraite-app .compare-row-label{align-items:center;border-right:1px solid var(--line);color:var(--muted);display:flex;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.1em;padding:14px 12px 14px 0;text-transform:uppercase}.retraite-app .compare-col-header{border-right:1px solid var(--line);padding:16px 12px;text-align:center}.retraite-app .compare-col-header:last-child{border-right:none}.retraite-app .compare-col-flag{font-size:40px;line-height:1;margin-bottom:8px}.retraite-app .compare-col-name{font-family:var(--serif);font-size:18px;font-weight:500;margin-bottom:8px}.retraite-app .compare-col-score{color:var(--accent-dark);font-family:var(--serif);font-size:28px;font-weight:500;line-height:1}.retraite-app .compare-col-score span{color:var(--muted);font-size:13px}.retraite-app .compare-col-scorelabel{color:var(--muted);font-size:10px;letter-spacing:.1em;margin-top:4px;text-transform:uppercase}.retraite-app .compare-group-title{border-bottom:1px solid var(--accent);color:var(--accent-dark);font-family:var(--serif);font-size:20px;font-weight:500;margin-top:8px;padding:24px 0 12px}.retraite-app .compare-cell{border-right:1px solid var(--line);color:var(--ink-soft);font-size:13px;line-height:1.45;padding:14px 12px}.retraite-app .compare-cell:last-child{border-right:none}.retraite-app .compare-cell.num{color:var(--ink);font-family:var(--serif);font-size:16px;font-variant-numeric:tabular-nums;text-align:center}.retraite-app .compare-cell.num.positive{color:var(--accent-dark);font-weight:600}.retraite-app .compare-score-bar{align-items:center;display:flex;gap:6px;margin-bottom:6px}.retraite-app .compare-score-text{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.retraite-app .compare-score-bar.score-3 .compare-score-text{color:var(--green)}.retraite-app .compare-score-bar.score-2 .compare-score-text{color:var(--orange)}.retraite-app .compare-score-bar.score-1 .compare-score-text{color:var(--red)}.retraite-app .compare-detail{color:var(--muted);font-size:12.5px;line-height:1.5}.retraite-app .compare-tag{background:var(--paper-warm);border:1px solid var(--accent);border-radius:12px;color:var(--accent-dark);display:inline-block;font-size:11px;font-weight:600;margin-bottom:6px;padding:3px 10px}.retraite-app .strategy-row{background:var(--paper-cool);border-radius:4px}.retraite-app .strategy-cell{padding:18px 12px;text-align:center}.retraite-app .strategy-cell-icon{font-size:24px;line-height:1;margin-bottom:6px}.retraite-app .strategy-cell-title{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.retraite-app .strategy-cell.strategy-capital .strategy-cell-title{color:var(--accent-dark)}.retraite-app .strategy-cell.strategy-rente .strategy-cell-title{color:var(--orange)}.retraite-app .strategy-cell.strategy-equivalent .strategy-cell-title{color:var(--muted)}.retraite-app .compare-row.best-row{background:rgba(74,107,74,.06)}.retraite-app .compare-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px;text-align:center}.retraite-app .compare-email{background:#fff;border:1px solid var(--line);border-radius:4px;margin:24px auto 0;max-width:560px;padding:24px;text-align:center}.retraite-app .compare-email-head strong{color:var(--ink);display:block;font-family:var(--serif);font-size:20px;font-weight:500}.retraite-app .compare-email-head span{color:var(--muted);display:block;font-size:14px;margin-top:4px}.retraite-app .compare-email-form{align-items:stretch;display:flex;flex-direction:column;gap:12px;margin-top:18px}.retraite-app .compare-email-form input[type=email]{border:1px solid var(--line);border-radius:4px;color:var(--ink);font-family:var(--sans);font-size:15px;padding:12px 14px}.retraite-app .compare-email-form input[type=email]:focus{border-color:var(--accent);outline:none}.retraite-app .compare-email-news{align-items:flex-start;color:var(--muted);cursor:pointer;display:flex;font-size:13px;gap:8px;text-align:left}.retraite-app .compare-email-news input{flex-shrink:0;margin-top:2px}.retraite-app .compare-email-msg{font-size:14px;margin:0;min-height:1em}.retraite-app .compare-email-msg.is-success{color:var(--accent-dark);font-weight:600}.retraite-app .compare-email-msg.is-error{color:#a04030;font-weight:600}@media print{@page{margin:15mm;size:A4 landscape}}@media(max-width:768px){.retraite-app .compare-grid{grid-template-columns:repeat(3,1fr)}.retraite-app .compare-card{padding:12px 6px}.retraite-app .compare-flag{font-size:24px}.retraite-app .compare-name{font-size:13px}.retraite-app .compare-results{overflow-x:auto;padding-bottom:12px}.retraite-app .compare-results-inner{min-width:max-content}.retraite-app .compare-header-row,.retraite-app .compare-row{grid-template-columns:130px repeat(var(--n-cols,3),170px)}.retraite-app .compare-row-label{font-size:11px;padding:10px 8px 10px 0}.retraite-app .compare-cell{font-size:12px;padding:10px 8px}.retraite-app .compare-col-flag{font-size:30px}.retraite-app .compare-col-name{font-size:15px}.retraite-app .compare-col-score{font-size:22px}.retraite-app .compare-group-title{font-size:17px;padding:18px 0 10px}}@media(max-width:480px){.retraite-app .compare-grid{grid-template-columns:repeat(2,1fr)}}.retraite-app .strategy-badge{align-items:flex-start;background:var(--paper-cool);border-left:3px solid;border-radius:2px;display:flex;font-size:12.5px;gap:10px;line-height:1.4;margin-top:8px;padding:10px 14px}.retraite-app .strategy-badge.strategy-capital{border-left-color:#4a6b4a}.retraite-app .strategy-badge.strategy-rente{border-left-color:#c87f2a}.retraite-app .strategy-badge.strategy-equivalent{border-left-color:#6b7268}.retraite-app .strategy-icon{flex-shrink:0;font-size:18px;line-height:1.2}.retraite-app .strategy-content{flex:1}.retraite-app .strategy-title{color:var(--ink);font-size:10.5px;font-weight:600;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.retraite-app .strategy-msg{color:var(--ink-soft);font-size:12.5px}.retraite-app .strategy-section{background:var(--paper-cool);border-left:4px solid var(--accent);border-radius:4px;margin:24px 0 32px;padding:24px}.retraite-app .strategy-section.rente{border-left-color:#c87f2a}.retraite-app .strategy-section.equivalent{border-left-color:var(--muted)}.retraite-app .strategy-section-header{align-items:center;display:flex;gap:14px;margin-bottom:16px}.retraite-app .strategy-section-icon{font-size:28px;line-height:1}.retraite-app .strategy-section-title{color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.2}.retraite-app .strategy-section-subtitle{color:var(--muted);font-size:13px;font-style:italic;margin-top:2px}.retraite-app .strategy-section-content p{color:var(--ink-soft);font-size:14px;line-height:1.55;margin-bottom:8px}.retraite-app .strategy-hint{border-top:1px solid var(--line);color:var(--muted)!important;font-size:12.5px!important;font-style:italic;padding-top:8px}.retraite-app .strategy-horizon{background:#fff;border:1px solid var(--line);border-radius:2px;color:var(--ink-soft);font-size:12.5px;margin:0 0 12px;padding:10px 14px;text-align:center}.retraite-app .strategy-horizon strong{color:var(--accent-dark);font-weight:600}.retraite-app .strategy-compare{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:16px 0}.retraite-app .strategy-scenario{background:#fff;border:1px solid var(--line);border-radius:4px;padding:16px;position:relative;transition:all .3s ease}.retraite-app .strategy-scenario.winner{border-color:var(--accent);border-width:2px;box-shadow:0 4px 12px rgba(74,107,74,.12)}.retraite-app .scenario-header{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding-bottom:10px}.retraite-app .scenario-table{border-collapse:collapse;font-size:13px;width:100%}.retraite-app .scenario-table td{color:var(--ink-soft);padding:5px 0}.retraite-app .scenario-table td:last-child{color:var(--ink);font-family:var(--serif);font-variant-numeric:tabular-nums;text-align:right}.retraite-app .strategy-verdict{background:var(--accent);border-radius:2px;color:#fff;font-size:13.5px;font-weight:500;margin-top:12px;padding:12px 16px}.retraite-app .strategy-section.rente .strategy-verdict{background:#c87f2a}.retraite-app .strategy-section.equivalent .strategy-verdict{background:var(--ink-soft)}.retraite-app .strategy-disclaimer{color:var(--muted)!important;font-size:11.5px!important;font-style:italic;line-height:1.5;margin-top:12px}@media(max-width:640px){.retraite-app .strategy-compare{gap:12px;grid-template-columns:1fr}.retraite-app .strategy-section{padding:18px}.retraite-app .strategy-section-title{font-size:18px}.retraite-app .strategy-section-icon{font-size:24px}}.retraite-app .savings-banner{align-items:center;border-radius:2px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;gap:10px;margin-top:8px;padding:6px 12px}.retraite-app .savings-banner.positive{background:linear-gradient(135deg,#4a6b4a,#2f4a32)}.retraite-app .savings-banner.negative{background:linear-gradient(135deg,#a04030,#7a2818)}.retraite-app .savings-banner.neutral{background:linear-gradient(135deg,#6b6357,#4d473f)}.retraite-app .savings-banner .arrow{font-size:16px;font-weight:700;line-height:1}.retraite-app .savings-banner .label{font-size:10px;letter-spacing:.1em;opacity:.8;text-transform:uppercase}.retraite-app .savings-banner .amount{font-family:var(--serif);font-size:16px;font-weight:600}.retraite-app .savings-detail{color:var(--muted);font-size:11px;font-style:italic;margin-top:4px}.retraite-app .map-container{background:var(--paper-warm);border:1px solid var(--line);border-radius:4px;overflow:hidden;padding:20px;position:relative}.retraite-app .world-map{display:block;height:auto;width:100%}.retraite-app .world-map .countries path{fill:#e8e2d3;opacity:.85;stroke:#9aa589;stroke-linejoin:round;stroke-width:.4;transition:fill .2s ease}.retraite-app .world-map .countries path[data-name=Switzerland]{fill:var(--accent);opacity:1;stroke:var(--ink);stroke-width:.8}.retraite-app .country-marker{cursor:pointer;transition:all .2s ease}.retraite-app .country-marker circle{fill:var(--accent);filter:drop-shadow(0 2px 3px rgba(0,0,0,.15));stroke:#fff;stroke-width:2;transition:all .25s ease}.retraite-app .country-marker:hover circle{fill:var(--ink);r:10;stroke:var(--accent);stroke-width:3}.retraite-app .country-marker text{fill:var(--ink);font-family:var(--serif);font-size:11px;font-weight:600;opacity:0;pointer-events:none;text-anchor:middle;transition:opacity .2s ease}.retraite-app .country-marker:hover text{opacity:1}.retraite-app .map-tooltip{background:var(--ink);border-radius:2px;color:var(--paper);font-size:12px;font-weight:500;opacity:0;padding:8px 14px;pointer-events:none;position:absolute;transition:opacity .15s ease;white-space:nowrap;z-index:10}.retraite-app .map-tooltip.visible{opacity:1}.retraite-app .world-map .countries path.destination{fill:#b8c0a3;opacity:.95}.retraite-app .world-map .countries path.destination.highlighted{fill:#4a6b4a;opacity:1}.retraite-app .world-map .countries path.destination.dimmed{opacity:.3}.retraite-app .map-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.retraite-app .map-controls .label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.15em;margin-right:8px;text-transform:uppercase}.retraite-app .filter-btn{background:var(--paper-warm);border:1px solid var(--line);border-radius:2px;color:var(--ink);cursor:pointer;font-family:var(--sans);font-size:12px;padding:8px 14px;transition:all .2s ease}.retraite-app .filter-btn:hover{border-color:var(--ink)}.retraite-app .filter-btn.active{background:#4a6b4a;border-color:#4a6b4a;color:#fff}.retraite-app .zoom-controls{display:flex;flex-direction:column;gap:4px;position:absolute;right:30px;top:30px;z-index:5}.retraite-app .zoom-btn{align-items:center;background:#fff;border:1px solid var(--line);box-shadow:0 2px 4px rgba(0,0,0,.08);color:var(--ink);cursor:pointer;display:flex;font-size:18px;font-weight:700;height:36px;justify-content:center;transition:all .2s ease;width:36px}.retraite-app .zoom-btn:hover{background:var(--ink);color:#fff}.retraite-app .zoom-btn.reset{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.retraite-app .map-group{transform-origin:center center;transition:transform .3s ease}.retraite-app .world-map{cursor:grab}.retraite-app .world-map.dragging{cursor:grabbing}.retraite-app .world-map.dragging .map-group{transition:none}.retraite-app .dest-pages{border-top:1px solid var(--line);display:block;gap:normal;margin-top:56px;padding-bottom:0;padding-top:32px}.retraite-app .dest-pages-title{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:8px}.retraite-app .dest-pages-hint{color:var(--muted);font-size:13.5px;margin-bottom:18px}.retraite-app .dest-links{display:flex;flex-wrap:wrap;gap:8px}.retraite-app .dest-links a{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:13.5px;padding:7px 14px;text-decoration:none;transition:border-color .15s ease,color .15s ease}.retraite-app .dest-links a:hover{border-color:var(--accent);color:var(--accent-dark)}