@charset "UTF-8";:root{--navy: #32456d;--navy-dark: #14222e;--navy-soft: #43578a;--green: #61ce70;--green-dark: #4bb35a;--white: #ffffff;--text: #14222e;--text-muted: #5b6b7b;--line: #e2e8f0;--bg: #ffffff;--bg-alt: #f5f7fa;--cream: #f0ede8;--sale: #d64545;--font-head: "Poppins", system-ui, sans-serif;--font-body: "Montserrat", system-ui, sans-serif;--radius: 10px;--radius-lg: 16px;--shadow: 0 2px 10px rgb(20 34 46 / 8%);--shadow-lg: 0 10px 30px rgb(20 34 46 / 14%);--container: 1200px;--header-h: 132px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:var(--font-head);line-height:1.2;margin:0 0 .6em;font-weight:700}h1{font-size:clamp(1.9rem,4vw,3rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:clamp(1.15rem,2vw,1.4rem)}p{margin:0 0 1em}a{color:var(--navy);text-decoration:none}a:hover{color:var(--green-dark)}img{max-width:100%;display:block}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:20px}.section{padding-block:clamp(48px,7vw,88px)}.section--alt{background:var(--bg-alt)}.section-title{text-align:center;color:var(--navy);margin-bottom:.4em}.section-lead{text-align:center;max-width:720px;margin-inline:auto;color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px;margin-top:36px}@media(max-width:520px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}}.notice{background:var(--bg-alt);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:var(--radius);padding:14px 18px;margin:24px 0 0;font-size:.92rem}.notice--error{border-left-color:var(--sale);color:var(--sale)}.notice--ok{border-left-color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-head);font-weight:600;font-size:.95rem;padding:12px 26px;border-radius:var(--radius);border:2px solid transparent;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;text-align:center}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--green);color:var(--navy-dark);border-color:var(--green)}.btn--primary:hover{background:var(--green-dark);border-color:var(--green-dark);color:var(--white)}.btn--navy{background:var(--navy);color:var(--white);border-color:var(--navy)}.btn--navy:hover{background:var(--navy-dark);border-color:var(--navy-dark);color:var(--white)}.btn--outline{background:transparent;color:var(--white);border-color:var(--white)}.btn--outline:hover{background:var(--white);color:var(--navy)}.btn--outline-navy{background:transparent;color:var(--navy);border-color:var(--navy)}.btn--outline-navy:hover{background:var(--navy);color:var(--white)}.btn--ghost{background:transparent;color:var(--navy);border-color:var(--line)}.btn--ghost:hover{border-color:var(--navy);color:var(--navy);background:var(--bg-alt)}.btn--sm{padding:8px 16px;font-size:.85rem}.btn--block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed}.field{margin-bottom:18px}.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--navy-dark)}.field .hint{font-size:.8rem;color:var(--text-muted);margin-top:4px}.field .error{font-size:.8rem;color:var(--sale);margin-top:4px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],select,textarea{width:100%;font-family:var(--font-body);font-size:.95rem;color:var(--text);background:var(--white);padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #32456d1f}input.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched,select.ng-invalid.ng-touched{border-color:var(--sale)}textarea{resize:vertical;min-height:110px;line-height:1.6}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
