*{box-sizing:border-box}:root{color-scheme:light;font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;--primary: #bc7353;--primary-hover: #9e6045;--accent: #d6a77a;--accent-bg: #fff1e6;--surface: #fffaf7;--surface-strong: #fff4ea;--secondary: #70462c;--info: #5d6b84;--error: #c74444;--success: #3f7a56;--focus: #f2c48f;--banner-yellow: #fdeec7;--border: rgba(112, 70, 44, .18);--shadow: 0 18px 40px rgba(112, 70, 44, .12);color:var(--secondary);background-color:var(--surface)}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff3ea,var(--surface))}.app-scale{transform:scale(1.15);transform-origin:top center;width:calc(100% / 1.15);margin:0 auto}a{color:inherit;text-decoration:none}button{font:inherit;border:none;cursor:pointer}input,textarea,select{font:inherit;color:inherit;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app-shell{max-width:1100px;margin:0 auto;padding:40px 24px 80px;display:grid;gap:24px}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.header-spacer{min-height:1px}.header-meta{display:inline-flex;justify-content:flex-end;gap:8px;align-items:center}.header-pill{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--border);font-weight:600;font-size:.85rem;color:var(--secondary)}.brand-lockup{text-align:center;display:grid;gap:.5px}.app-header h1{font-size:2.35rem;letter-spacing:-.02em;margin:0;font-family:Manrope,Inter,system-ui,sans-serif;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.brand-subtitle{margin:0;font-size:.95rem;color:#70462c8c;font-weight:500}.step-indicator{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--info);font-weight:500}.step-dots{display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:999px;background:#70462c33}.dot-active{background:var(--primary);box-shadow:0 0 0 3px #bc73532e}.card{background:var(--accent-bg);border-radius:20px;padding:28px;box-shadow:var(--shadow);border:1px solid rgba(112,70,44,.08);display:grid;gap:1rem}.landing-card{background:transparent;border:none;box-shadow:none;padding:12px 0 0;gap:20px}.landing-card .primary{width:fit-content;justify-self:center}.lead{font-size:1.2rem;margin:0}.language-toggle{display:inline-flex;gap:10px;background:#fff;padding:6px;border-radius:999px;border:1px solid var(--border);width:fit-content}.region-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.region-title{margin:0;font-size:1.3rem}.region-map{display:grid;gap:16px;margin:-54px calc(50% - 50vw) 0}.region-map.collapsed{gap:8px}.region-map.collapsed .map-shell{max-height:160px}.map-shell{position:relative;border-radius:0;padding:0;overflow:visible;width:100%;max-width:100%;min-height:360px;aspect-ratio:2.1 / 1}.map-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/world-map2.png) 50% 50% / cover no-repeat;transform:scale(1.2);transform-origin:center;opacity:.45;filter:saturate(.7) contrast(1.1);pointer-events:none}.map-selected{position:absolute;top:45px;left:50%;transform:translate(-50%) translateY(-6px);padding:6px 14px;background:var(--accent-bg);border-radius:999px;border:1px solid rgba(112,70,44,.6);color:var(--secondary);font-weight:600;font-size:.9rem;z-index:2;pointer-events:none;box-shadow:0 6px 16px #70462c26;opacity:0;transition:opacity .2s ease,transform .2s ease}.map-selected.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.region-selected-text{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:600;color:var(--secondary);cursor:help}.map-loading{position:absolute;top:79px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;height:12px;z-index:2}.map-loading-text{font-family:IBM Plex Mono,SFMono-Regular,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;letter-spacing:.06em;color:#c9795fd9;text-transform:uppercase}.map-loading-text:after{content:"-";animation:map-dash 1.2s steps(1,end) infinite}@keyframes map-dash{0%{content:"-"}33%{content:"- -"}66%{content:"- - -"}to{content:"-"}}.map-marker{position:absolute;left:calc(50% + (var(--x) - 50%) * 1.2 + var(--ox, 0px));top:calc(50% + (var(--y) - 50%) * 1.2 + var(--oy, 0px));transform:translate(-50%,-50%);width:var(--size, 20px);height:var(--size, 20px);border-radius:999px;border:1px solid rgba(112,70,44,.35);background:#ffffffb3;display:grid;place-items:center;box-shadow:0 12px 24px #70462c2e;transition:transform .2s ease,box-shadow .2s ease;z-index:var(--z, 1)}.map-marker span{display:none;border-radius:999px;border:1px solid rgba(112,70,44,.55);transition:opacity .2s ease}.map-marker .marker-label{display:inline-flex}.map-marker.active>span:not(.marker-label){background:#c9795f;border-color:#c9795f}.map-marker.active{border-color:#c9795f;box-shadow:0 8px 18px #c9795f59,0 0 0 6px #c9795f2e}.map-marker:hover,.map-marker:focus-visible{transform:translate(-50%,-50%) scale(1.08)}.marker-label{position:absolute;left:50%;top:20px;transform:translate(-50%,-100%) scale(.92);transform-origin:center bottom;opacity:0%;padding:1px 6px;background:var(--accent-bg);border-radius:999px;border:1px solid rgba(112,70,44,.7);color:var(--secondary);font-size:.72rem;font-weight:600;white-space:nowrap;text-align:center;transition:opacity .2s ease,transform .2s ease}.map-marker:hover .marker-label,.map-marker:focus-visible .marker-label,.map-marker.active .marker-label{opacity:1;transform:translate(-50%,-100%) scale(1)}.region-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.region-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:999px;border:1px solid rgba(112,70,44,.18);padding:8px 14px;background:#ffffff8c;color:var(--secondary);font-weight:600}.region-pill.active{border-color:var(--primary);background:#ffffffd9}.region-language{font-size:.85rem;font-weight:500;color:var(--info)}.secondary.subtle{border-style:dashed}.region-header{flex-direction:column;align-items:flex-start}.language-toggle button.active{background:var(--primary);color:#fff;box-shadow:0 8px 18px #bc735340}.primary,.secondary{padding:.8rem 1.3rem;border-radius:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:linear-gradient(135deg,#c97c5a,#b06446);color:#fff;transition:transform .15s,box-shadow .15s;box-shadow:0 10px 24px #bc73534d}.primary:hover,.primary:focus{transform:translateY(-1px);box-shadow:0 14px 26px #bc735357}.secondary{background:#fff;color:var(--secondary);border:1px solid var(--border)}.secondary:hover,.secondary:focus{background:var(--surface-strong)}.small-left{align-self:flex-start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.span-full{grid-column:1 / -1}.left-stack{grid-column:1;display:grid;gap:12px}.right-stack{grid-column:2}label{display:grid;gap:2px;font-weight:600;line-height:1.2}.optional-hint{font-weight:500;font-size:.85rem;color:#70462c80;line-height:1;vertical-align:baseline}.checkbox,.radio{display:flex;align-items:center;gap:12px;font-weight:500}.checkbox input,.radio input{width:18px;height:18px;accent-color:var(--primary)}.results-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px}.results-letter,.results-contacts{background:#fff;border-radius:18px;padding:20px;border:1px solid rgba(112,70,44,.08);display:grid;gap:12px}.return-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--info)}.letter-loading{padding:20px;background:var(--surface-strong);border-radius:12px;color:var(--info)}.letter{border-radius:14px;min-height:240px;background:#fffdfb;border:1px solid rgba(112,70,44,.14)}.results-contacts h3{margin:0}.batch-preview{background:var(--surface-strong);border-radius:12px;padding:12px 14px;border:1px dashed rgba(112,70,44,.2)}.batch-preview ul{margin:8px 0 0;padding-left:18px}.blurred{filter:blur(4px)}.progress-list{padding:14px 16px;border-radius:14px;background:var(--surface-strong);border:1px solid rgba(112,70,44,.12);color:var(--info)}.progress-list ol{margin:8px 0 0;padding-left:18px}.progress-pending{color:#70462c80}.progress-in_progress{color:var(--primary);font-weight:600}.progress-completed{color:var(--success);font-weight:600}.card-actions{display:flex;justify-content:space-between;gap:12px}.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:var(--banner-yellow);border-radius:16px;border:1px solid rgba(112,70,44,.15)}.receipt{padding:12px 16px;border-radius:12px;background:#fff;border:1px dashed rgba(112,70,44,.25)}.batch-list{display:grid;gap:16px}.batch-card{background:#fff;border-radius:16px;padding:16px;border:1px solid rgba(112,70,44,.1);display:grid;gap:12px}.batch-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-contacts{background:var(--surface-strong);border-radius:12px;padding:12px;margin:0;white-space:pre-wrap}.batch-actions{display:flex;flex-wrap:wrap;gap:10px}.monospace{font-family:SFMono-Regular,JetBrains Mono,Fira Code,monospace}.muted,.progress-list,.step-indicator{color:var(--info)}.error{color:var(--error);margin:0}.count{color:var(--success);font-weight:600}@media (max-width: 960px){.results-grid,.checkout-grid{grid-template-columns:1fr}}@media (max-width: 720px){.app-shell{padding:28px 18px 60px}.form-grid{grid-template-columns:1fr}.region-map{margin:0 calc(50% - 50vw)}.map-shell{min-height:240px;aspect-ratio:2 / 1}.region-header{flex-direction:column;align-items:flex-start}.region-list{grid-template-columns:1fr}.left-stack,.right-stack{grid-column:1 / -1}.card-actions{flex-direction:column-reverse;align-items:stretch}.banner,.batch-header{flex-direction:column;align-items:flex-start}}
