:root{--sra-landing-bg:#0f172a;--sra-landing-panel:#ffffff;--sra-landing-red:#c51414;--sra-landing-dark:#111827;--sra-landing-muted:#6b7280;--sra-landing-radius:28px}.sra-map-landing{font-family:"Poppins","Helvetica Neue",Arial,sans-serif;color:var(--sra-landing-panel);padding:24px;background:var(--sra-landing-bg);position:relative;overflow:visible;min-height:100vh}.sra-map-landing__map-wrapper{position:relative;border-radius:var(--sra-landing-radius);overflow:hidden;box-shadow:0 25px 60px rgb(15 23 42 / .5);margin-bottom:32px}.sra-map-landing__map{width:100%;height:var(--sra-landing-map-height,70vh)}.sra-map-landing__legend{position:absolute;inset:24px auto auto 24px;background:rgb(15 23 42 / .85);border-radius:18px;padding:16px 20px;backdrop-filter:blur(6px);min-width:220px}.sra-map-landing__legend-title{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--sra-landing-muted);margin-bottom:8px}.sra-map-landing__legend-items{list-style:none;margin:0;padding:0}.sra-map-landing__legend-items li{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.4}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.legend-dot--industry-large{background:#1565C0}.legend-dot--industry-sme{background:#60a5fa}.legend-dot--research{background:#F44336}.legend-dot--infrastructure{background:#4CAF50}.sra-map-landing__cta{text-align:center;margin-bottom:0;position:relative;z-index:1}.sra-map-landing__cta-text{font-size:clamp(28px, 4vw, 48px);font-weight:700;margin:0 0 12px}.sra-map-landing__cta-button{border:none;background:var(--sra-landing-red);color:#fff;padding:18px 64px;border-radius:999px;font-size:20px;font-weight:600;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease;box-shadow:0 20px 40px rgb(197 20 20 / .4)}.sra-map-landing__cta-button:active{transform:translateY(2px)}.sra-map-landing__backdrop{position:fixed;inset:0;background:rgb(15 23 42 / .7);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity 300ms ease,visibility 300ms ease;z-index:99}.sra-map-landing__backdrop.is-visible{opacity:1;visibility:visible}.sra-map-landing__panel{position:fixed;left:50%;bottom:0;transform:translateX(-50%) translateY(100%);width:min(960px, calc(100% - 48px));max-height:85vh;overflow-y:auto;background:var(--sra-landing-panel);border-radius:var(--sra-landing-radius) var(--sra-landing-radius) 0 0;padding:32px;color:var(--sra-landing-dark);transition:transform 350ms cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 -20px 60px rgb(15 23 42 / .4);pointer-events:auto}.sra-map-landing__panel.is-open{transform:translateX(-50%) translateY(0)}.sra-map-landing__panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.sra-map-landing__panel-title{margin:0;font-size:24px;font-weight:700;color:var(--sra-landing-dark)}.sra-map-landing__close-button{background:#fff0;border:none;width:40px;height:40px;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;color:var(--sra-landing-muted);transition:background 0.2s ease,color 0.2s ease}.sra-map-landing__close-button:hover{background:#f3f4f6;color:var(--sra-landing-dark)}.sra-map-landing__form{display:flex;flex-direction:column;gap:28px}.sra-form-notice{border-radius:16px;padding:14px 18px;font-size:14px;font-weight:600}.sra-form-notice.is-error{background:rgb(197 20 20 / .1);color:var(--sra-landing-red)}.sra-form-notice.is-success{background:rgb(22 163 74 / .12);color:#15803d}.sra-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.sra-field{display:flex;flex-direction:column;gap:8px;font-size:14px}.sra-field span{font-weight:600;color:var(--sra-landing-dark)}.sra-field input,.sra-field select,.sra-field textarea{border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;font-size:15px;font-family:inherit;transition:border-color 0.2s ease,box-shadow 0.2s ease}.sra-field input:focus,.sra-field select:focus,.sra-field textarea:focus{outline:none;border-color:var(--sra-landing-red);box-shadow:0 0 0 2px rgb(197 20 20 / .1)}.sra-field--full{grid-column:1 / -1}.sra-checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;max-height:240px;overflow-y:auto}.sra-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;padding:8px;border-radius:8px;transition:background 0.2s ease}.sra-checkbox-label:hover{background:#fff}.sra-checkbox-label input[type="checkbox"]{width:18px;height:18px;cursor:pointer;accent-color:var(--sra-landing-red)}.sra-field-hint{margin:0;padding:16px;font-size:14px;color:var(--sra-landing-muted);text-align:center;grid-column:1 / -1}.sra-field__row{display:flex;gap:10px}.sra-field__row input{flex:1}.sra-ghost-button{border:1px solid #d1d5db;background:#fff0;padding:0 18px;border-radius:999px;font-weight:600;cursor:pointer;color:var(--sra-landing-dark);transition:border-color 0.2s ease,color 0.2s ease}.sra-ghost-button:hover{border-color:var(--sra-landing-red);color:var(--sra-landing-red)}.sra-field--coords{display:flex;gap:20px;grid-column:1 / -1}.sra-field--coords label{flex:1}.sra-logo-picker{border:1px solid #e5e7eb;border-radius:20px;padding:16px 20px}.sra-logo-picker__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600}.sra-logo-picker__hint{font-size:13px;color:var(--sra-landing-muted);margin-bottom:12px}.sra-logo-picker__results{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.sra-logo-picker__results::-webkit-scrollbar{height:6px}.sra-logo-picker__results::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.sra-logo-picker__results::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sra-logo-picker__results::-webkit-scrollbar-thumb:hover{background:#9ca3af}.sra-logo-picker__results button{border:none;padding:0;background:#fff0;border-radius:16px;overflow:hidden;cursor:pointer;position:relative;flex-shrink:0;width:120px;scroll-snap-align:start}.sra-logo-picker__results img{width:100%;height:100px;object-fit:cover}.sra-logo-picker__results button.is-selected::after{content:"✓";position:absolute;top:8px;right:8px;background:rgb(15 23 42 / .8);color:#fff;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700}.sra-follow-up label{display:flex;flex-direction:column;gap:8px}.sra-map-landing__hp{position:absolute;left:-9999px;opacity:0}.sra-form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.sra-form-submit{background:var(--sra-landing-dark);color:#fff;border:none;padding:16px 36px;border-radius:18px;font-weight:600;font-size:16px;display:inline-flex;align-items:center;gap:12px;cursor:pointer;position:relative}.sra-form-submit .spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgb(255 255 255 / .3);border-top-color:#fff;animation:sra-spin 1s linear infinite;display:none}.sra-form-submit.is-loading .spinner{display:inline-block}.sra-form-submit.is-loading .label{opacity:.6}.sra-form-close{border:none;background:#fff0;color:var(--sra-landing-muted);font-weight:600;cursor:pointer}.sra-map-landing__success{text-align:center;padding:40px 10px}.sra-map-landing__success h3{font-size:28px;margin-bottom:16px}.sra-landing-infowindow{font-family:"Poppins",sans-serif;max-width:260px}.sra-landing-infowindow h3{margin:0 0 6px;font-size:16px}.sra-landing-infowindow p{font-size:13px;margin:0 0 10px;color:#334155}.sra-landing-infowindow__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.sra-landing-infowindow__type{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0}.sra-info-row{font-size:13px;display:flex;flex-direction:column;margin-bottom:6px}.sra-info-row strong{font-weight:600}.sra-landing-infowindow__badge{background:var(--sra-landing-red);color:#fff;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.04em}.sra-landing-infowindow__figure{margin:10px 0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e2e8f0}.sra-landing-infowindow__figure img{display:block;width:100%}.sra-map-landing__success-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgb(15 23 42 / .85);backdrop-filter:blur(8px);z-index:2000;opacity:0;visibility:hidden;transition:opacity 300ms ease,visibility 300ms ease}.sra-map-landing__success-modal.is-visible{opacity:1;visibility:visible}.sra-map-landing__success-modal-content{background:var(--sra-landing-panel);border-radius:var(--sra-landing-radius);padding:48px;max-width:500px;text-align:center;position:relative;transform:scale(.8) translateY(40px);opacity:0;transition:transform 400ms cubic-bezier(.34,1.56,.64,1),opacity 400ms ease}.sra-map-landing__success-modal.is-animated .sra-map-landing__success-modal-content{transform:scale(1) translateY(0);opacity:1}.sra-map-landing__success-icon{margin:0 auto 24px;animation:sra-success-bounce 0.6s cubic-bezier(.34,1.56,.64,1) 0.2s both}.sra-map-landing__success-modal h2{font-size:32px;font-weight:700;color:var(--sra-landing-dark);margin:0 0 16px}.sra-map-landing__success-modal p{font-size:16px;color:var(--sra-landing-muted);line-height:1.6;margin:0 0 32px}.sra-map-landing__success-button{background:var(--sra-landing-red);color:#fff;border:none;padding:16px 48px;border-radius:999px;font-size:18px;font-weight:600;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease;box-shadow:0 10px 30px rgb(197 20 20 / .3)}.sra-map-landing__success-button:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgb(197 20 20 / .4)}.sra-map-landing__confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}@keyframes sra-spin{to{transform:rotate(360deg)}}@keyframes sra-success-bounce{0%{transform:scale(0)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.sra-field--readonly{background:#f3f4f6;color:#6b7280;cursor:default;pointer-events:none}.sra-logo-upload{display:flex;flex-direction:column;gap:12px}.sra-logo-upload input[type="file"]{font-size:14px}@media (max-width:900px){.sra-map-landing{padding:18px}.sra-map-landing__legend{inset:auto 16px 16px auto}.sra-map-landing__cta-button{padding:14px 32px;font-size:16px;max-width:100%;box-sizing:border-box}.sra-map-landing__panel{width:calc(100% - 16px);max-height:90vh;padding:24px;border-radius:20px 20px 0 0}.sra-field__row{flex-direction:column}.sra-field--coords{flex-direction:column}}