:root{--primary: #1a2744;--primary-light: #243360;--primary-dark: #0f172a;--accent: #f59e0b;--accent-dark: #d97706;--accent-light: #fde68a;--white: #ffffff;--off-white: #f8fafc;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--font-display: "Montserrat", sans-serif;--font-body: "Inter", sans-serif;--container: 1200px;--container-sm: 800px;--radius-sm: 4px;--radius: 8px;--radius-lg: 14px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 4px rgba(15, 23, 42, .07);--shadow: 0 4px 16px rgba(15, 23, 42, .1);--shadow-md: 0 6px 24px rgba(15, 23, 42, .12);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .15);--shadow-xl: 0 24px 64px rgba(15, 23, 42, .18);--transition: .24s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--gray-700);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:var(--font-body);border:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.12;letter-spacing:-.025em;color:var(--primary)}.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem}.container--sm{max-width:var(--container-sm);margin:0 auto;padding:0 1.5rem}.section{padding:6rem 0}.section--dark{background:var(--primary);color:var(--white)}.section--dark h2,.section--dark h3{color:var(--white)}.section--light{background:var(--gray-50)}.section--tinted{background:var(--gray-100)}.label{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.875rem}.label--white{color:var(--accent-light)}.section-title{font-size:clamp(1.75rem,4vw,2.875rem);font-weight:800;margin-bottom:1.25rem;word-break:break-word;overflow-wrap:break-word}.section-title--white{color:var(--white)}.section-sub{font-size:1.05rem;color:var(--gray-500);max-width:580px;line-height:1.75}.section-sub--white{color:#ffffffb8}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:var(--radius);font-family:var(--font-body);font-weight:600;font-size:.925rem;letter-spacing:.01em;transition:var(--transition);border:2px solid transparent;white-space:nowrap;text-align:center}.btn--primary{background:var(--accent);color:var(--primary-dark)}.btn--primary:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 28px #f59e0b61}.btn--outline-dark{background:transparent;border-color:var(--primary);color:var(--primary)}.btn--outline-dark:hover{background:var(--primary);color:var(--white)}.btn--outline-white{background:transparent;border-color:#ffffff80;color:var(--white)}.btn--outline-white:hover{background:var(--white);color:var(--primary);border-color:var(--white)}.btn--ghost{background:transparent;color:var(--accent);padding-left:0;padding-right:0;gap:.375rem}.btn--ghost:hover{gap:.75rem}.btn--lg{padding:1.125rem 2.5rem;font-size:1rem}.btn--sm{padding:.625rem 1.25rem;font-size:.85rem}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;transition:var(--transition)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.grid{display:grid;gap:1.75rem}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.divider{width:48px;height:3px;background:var(--accent);border-radius:2px;margin:1.25rem 0 2rem}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .875rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600}.badge--accent{background:var(--accent);color:var(--primary)}.badge--dark{background:var(--primary-dark);color:var(--white)}.badge--outline{border:1.5px solid var(--gray-300);color:var(--gray-600);background:transparent}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--gray-700)}.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;color:var(--gray-800);background:var(--white);transition:var(--transition);outline:none;width:100%}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f59e0b26}.form-group input.ng-invalid.ng-touched,.form-group textarea.ng-invalid.ng-touched,.form-group select.ng-invalid.ng-touched{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:var(--gray-400)}.form-group textarea{resize:vertical;min-height:130px}.form-group .error-msg{font-size:.8rem;color:#ef4444;margin-top:.125rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sparkle{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.page-hero{background:var(--primary);padding:5rem 0 4rem;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 24px,rgba(255,255,255,.018) 24px,rgba(255,255,255,.018) 26px)}.page-hero__content{position:relative;z-index:1;min-width:0}.page-hero__title{font-size:clamp(1.75rem,5vw,3.5rem);font-family:var(--font-display);font-weight:800;color:var(--white);margin-bottom:1rem;word-break:normal;overflow-wrap:anywhere;hyphens:auto}.page-hero__sub{font-size:1.05rem;color:#ffffffb8;max-width:560px;word-break:break-word}@media (max-width: 768px){.page-hero{padding:4.5rem 0 3.5rem}.page-hero__title{font-size:clamp(1.75rem,6vw,2.5rem)}}@media (max-width: 640px){.page-hero{padding:4rem 0 3rem}.page-hero__title{font-size:clamp(1.5rem,7.5vw,2rem)}.page-hero__sub{font-size:.95rem}}main{padding-top:68px}@media (max-width: 1024px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid--2,.grid--3{grid-template-columns:1fr}.grid--4{grid-template-columns:repeat(2,1fr);gap:1rem}.section{padding:4rem 0}}
