:root{--primary-color: #0b304c;--secondary-color: #15577d;--accent-color: #e8f1f5;--highlight-color: #4aa6c7;--text-color: #0f2c46;--muted-text-color: #5a6b7b;--page-bg: linear-gradient(180deg, #f7fafb 0%, #edf3f6 65%, #f8fafb 100%);--card-shadow: 0 18px 45px rgba(11, 48, 76, .1);--card-shadow-hover: 0 24px 55px rgba(11, 48, 76, .16);--card-border: rgba(11, 48, 76, .09);--button-color: #0f2c46;--card-hover-transform: translateY(-2px);--font-family-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-heading: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-font-size: 2.6rem;--paragraph-font-size: 1rem;--border-radius: 28px;--surface-radius: 1.5rem;--button-radius: 999px;--item-padding: 1.5rem;--container-max-width: 78rem;--color-action: #0c4869;--color-action-hover: #126088;--color-on-action: #ffffff;--color-action-text: #20566e;--color-surface-subtle: #edf3f5;--color-surface-hover: #dfecef;--color-border-control: #d4e0e5;--color-border-control-hover: #9dbbc7;--color-danger-text: #9a3e3e;--color-danger-surface: #fbefef;--color-danger-surface-hover: #f7dfdf;--color-danger-border: #e4bcbc;--color-danger-border-hover: #ca8585;--color-focus: #176f91;--color-focus-ring: rgba(23, 111, 145, .18);--color-text: #17354a;--color-text-muted: #718590;--color-label: #536d79;--color-placeholder: #82939b;--color-surface: #ffffff;--color-surface-input: #fbfcfc;--color-border-input: #cfdce1;--color-border-card: #e0e8eb;--space-1: .3rem;--space-2: .5rem;--space-3: .65rem;--space-4: 1rem;--radius-control: 8px;--radius-control-small: 7px;--radius-card: 14px;--control-height: 42px;--control-height-small: 34px;--motion-fast: .15s ease;--shadow-action: 0 6px 15px rgba(9, 47, 74, .15);--shadow-card: 0 8px 25px rgba(22, 48, 71, .055);line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%}*{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth}a{font-weight:500;color:var(--primary-color);text-decoration:inherit}a:hover{color:var(--secondary-color)}a,button,img{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid rgba(74,166,199,.72);outline-offset:3px}::selection{color:#fff;background:var(--secondary-color)}body{font-family:var(--font-family-body);background-image:radial-gradient(circle at 8% 8%,rgba(21,87,125,.11),transparent 34rem),radial-gradient(circle at 94% 18%,rgba(74,166,199,.11),transparent 28rem),var(--page-bg);background-attachment:fixed;color:var(--text-color);margin:0;display:block;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea){width:100%;max-width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-control);background-color:var(--color-surface-input);color:var(--color-text);font:inherit;line-height:1.45;transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea):hover:not(:disabled):not([readonly]){border-color:var(--color-border-control-hover)}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea):focus{border-color:var(--color-focus);outline:0;box-shadow:0 0 0 3px var(--color-focus-ring);background-color:var(--color-surface)}:where(input,textarea)::placeholder{color:var(--color-placeholder)}:where(input,select,textarea):disabled{cursor:not-allowed;opacity:.55}:where(input,textarea)[readonly]{background-color:var(--color-surface-subtle);color:var(--color-text-muted)}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger-border-hover)}:where(select){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.4rem;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 1rem) 50%,calc(100% - .7rem) 50%;background-size:.32rem .32rem;background-repeat:no-repeat;text-align:left;text-align-last:left}:where(textarea){min-height:90px;resize:vertical}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 5%}.route-loading{min-height:55vh;display:grid;place-items:center;padding:2rem;color:#31566c;font-weight:700}.site-footer{width:min(var(--container-max-width),calc(100% - 2rem));margin:2rem auto 1rem;overflow:hidden;border-radius:2rem;background:linear-gradient(120deg,#082b45,var(--primary-color) 58%,#124c70);color:#fff;box-shadow:0 24px 55px #0b304c38}.footer-container{display:grid;grid-template-columns:minmax(16rem,1.7fr) repeat(3,minmax(8rem,.7fr));gap:clamp(2rem,4vw,4rem);padding:clamp(2rem,5vw,4rem)}.footer-brand{max-width:28rem;text-align:left}.footer-kicker{margin-bottom:.5rem;color:#9ed9eb;font-size:.78rem;font-weight:800;letter-spacing:.12em}.footer-brand h2{margin:0;color:#fff;font-size:2rem}.footer-brand p:not(.footer-kicker){margin-top:.8rem;color:#ffffffb8;line-height:1.65}.footer-contact{display:inline-block;margin-top:1rem;color:#fff;font-weight:700}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;text-align:left}.footer-column h3{margin:0 0 .45rem;color:#fff;font-size:1rem}.footer-column a,.footer-bottom a{color:#ffffffb8;text-decoration:none;transition:color .2s ease}.footer-column a:hover,.footer-bottom a:hover,.footer-contact:hover{color:#b9e7f3}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:1.15rem clamp(2rem,5vw,4rem);border-top:1px solid rgba(255,255,255,.1);background:#00000017;color:#ffffff9e;font-size:.85rem}.footer-bottom div{display:flex;gap:1.5rem}@media screen and (max-width: 900px){.footer-container{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width: 600px){.site-footer{width:calc(100% - 1rem);margin-top:3rem;border-radius:1.5rem}.footer-container{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}}
