.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.9rem 1.75rem;border-radius:var(--radius-pill);font-weight:600;font-size:var(--fs-sm);border:2px solid #fff0;cursor:pointer;min-height:48px;white-space:nowrap;touch-action:manipulation;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--cta{background:var(--color-cta);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn--cta:hover{background:var(--color-cta-hover);color:var(--color-white);box-shadow:var(--shadow-md)}.btn--primary{background:var(--color-primary);color:var(--color-white)}.btn--primary:hover{background:var(--color-primary-dark);color:var(--color-white)}.btn--outline{background:#fff0;border-color:rgb(255 255 255 / .55);color:var(--color-white)}.btn--outline:hover{background:rgb(255 255 255 / .12);color:var(--color-white);border-color:var(--color-white)}.btn--outline-dark{background:#fff0;border-color:var(--color-teal-800);color:var(--color-teal-800)}.btn--outline-dark:hover{background:var(--color-teal-800);color:var(--color-white)}.btn--ghost{background:#fff0;color:var(--color-primary);padding-inline:var(--space-3)}.btn--ghost:hover{color:var(--color-primary-dark);background:var(--color-teal-50)}.btn--sm{padding:.6rem 1.25rem;font-size:var(--fs-xs);min-height:40px}.btn--block{width:100%}.btn-icon{width:1.1em;height:1.1em;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-teal-50);color:var(--color-primary-dark);border:1px solid var(--color-teal-100);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:600}.badge svg{width:16px;height:16px;flex-shrink:0}.badge--gold{background:var(--color-gold-100);color:var(--color-gold-600);border-color:var(--color-gold-400)}.compliance-badges{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-5)}.cqc-badge,.ico-badge{display:inline-flex;align-items:center;background:var(--color-white);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.cqc-badge{padding:0}.ico-badge{padding:var(--space-2) var(--space-3)}.cqc-badge img{height:46px;width:auto;display:block}.ico-badge img{height:32px;width:auto;display:block}.hero__badges{position:absolute;right:var(--space-6);bottom:var(--space-6);z-index:3;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.hero__badges .cqc-badge img{height:60px}.hero__badges .ico-badge img{height:42px}@media (max-width:640px){.hero__badges{right:var(--space-4);bottom:var(--space-4);gap:var(--space-2)}.hero__badges .cqc-badge img{height:44px}.hero__badges .ico-badge img{height:32px}}.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.topbar{background:var(--color-primary-dark);color:var(--color-teal-100);font-size:var(--fs-xs)}.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-2);flex-wrap:wrap}.topbar__contacts{display:flex;gap:var(--space-6);flex-wrap:wrap}.topbar__item{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-teal-100)}.topbar__item:hover{color:var(--color-white)}.topbar__item svg{width:15px;height:15px}.topbar__social{display:flex;gap:var(--space-4);align-items:center}.topbar__social a,.topbar__social .social-icon{color:var(--color-teal-100);display:inline-flex}.topbar__social a:hover{color:var(--color-white)}.topbar__social svg{width:15px;height:15px}.topbar__social-label{color:var(--color-teal-100);font-size:var(--fs-xs);font-weight:500;letter-spacing:.02em;margin-right:var(--space-1)}@media (max-width:720px){.topbar__inner{justify-content:center;text-align:center}.topbar__social{display:none}}@media (max-width:560px){.topbar__item--email,.topbar__item--hours{display:none}}.site-header{position:sticky;top:0;z-index:100;background:rgb(251 250 246 / .92);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border-soft)}.nav{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-3);gap:var(--space-4)}.nav__brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.nav__brand img{height:60px;width:auto}.nav__links{display:flex;align-items:center;gap:var(--space-5);list-style:none;margin:0;padding:0}.nav__links a{color:var(--color-ink-700);font-weight:500;font-size:var(--fs-sm);position:relative;padding-block:var(--space-2);white-space:nowrap}.nav__links a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--color-cta);transition:right var(--duration-base) var(--ease-out);border-radius:2px}.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{right:0}.nav__links a[aria-current="page"]{color:var(--color-primary-dark);font-weight:600}.nav__actions{display:flex;align-items:center;gap:var(--space-4)}.nav__phone{display:flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--color-primary-dark);white-space:nowrap}.nav__phone svg{width:18px;height:18px;color:var(--color-cta)}.nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-2);color:var(--color-primary-dark)}.nav__toggle svg{width:28px;height:28px}@media (max-width:960px){.nav__links{position:fixed;inset:0 0 0 auto;height:100vh;width:min(320px, 85vw);background:var(--color-surface);flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:calc(var(--space-8) + 56px) var(--space-6) var(--space-6);gap:var(--space-5);transform:translateX(100%);transition:transform var(--duration-base) var(--ease-out);box-shadow:var(--shadow-lg)}.nav__links[data-open="true"]{transform:translateX(0)}.nav__links a{font-size:var(--fs-md);width:100%}.nav__phone-mobile{display:inline-flex;margin-top:var(--space-4)}.nav__toggle{display:inline-flex}.nav__actions .btn--cta.nav__cta-desktop{display:none}}@media (min-width:961px){.nav__phone-mobile{display:none}}.nav__overlay{position:fixed;inset:0;background:rgb(12 74 84 / .45);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out);z-index:90}.nav__overlay[data-open="true"]{opacity:1;pointer-events:auto}.nav__item{position:relative;display:flex;align-items:center}.nav__dropdown-toggle{background:none;border:none;cursor:pointer;padding:var(--space-1);margin-left:2px;color:inherit;display:inline-flex;align-items:center}.nav__dropdown-toggle svg{width:16px;height:16px;transition:transform var(--duration-base) var(--ease-out)}.nav__item.is-open>.nav__dropdown-toggle svg{transform:rotate(180deg)}.sub-menu{list-style:none;margin:0;padding:0}.sub-menu .nav__dropdown-toggle{display:none}@media (min-width:961px){.nav__item.has-dropdown::after{content:'';position:absolute;top:100%;left:0;right:0;height:var(--space-3)}.sub-menu{position:absolute;top:calc(100% + var(--space-3));left:0;min-width:260px;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),visibility var(--duration-base);z-index:110}.nav__item.has-dropdown:hover .sub-menu,.nav__item.has-dropdown:focus-within .sub-menu,.nav__item.is-open .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav__item.has-dropdown:hover>.nav__dropdown-toggle svg,.nav__item.has-dropdown:focus-within>.nav__dropdown-toggle svg{transform:rotate(180deg)}.sub-menu a{display:block;padding:var(--space-3) var(--space-4);white-space:nowrap}.sub-menu a::after{display:none}.sub-menu a:hover,.sub-menu a[aria-current="page"]{background:var(--color-surface-tint);border-radius:var(--radius-sm);color:var(--color-primary-dark)}}@media (max-width:960px){.nav__item{flex-direction:column;align-items:flex-start;width:100%;position:relative}.nav__item.has-dropdown>a{padding-right:var(--space-8)}.nav__item .nav__dropdown-toggle{position:absolute;right:0;top:var(--space-1);padding:var(--space-2)}.sub-menu{width:100%;max-height:0;overflow:hidden;transition:max-height var(--duration-base) var(--ease-out)}.nav__item.is-open .sub-menu{max-height:480px}.sub-menu a{display:block;padding:var(--space-2) 0 var(--space-2) var(--space-4);font-size:var(--fs-sm);width:100%}}.wave-divider{display:block;width:100%;height:auto;line-height:0}.wave-divider svg{width:100%;height:60px;display:block}.form-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5);min-width:0}.form-field label{font-weight:600;font-size:var(--fs-sm);color:var(--color-primary-dark)}.form-field .required{color:var(--color-cta-hover)}.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:var(--fs-base);padding:.85rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground);min-height:48px;min-width:0;width:100%;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.form-field textarea{min-height:120px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-teal-100)}.form-field .helper-text{font-size:var(--fs-xs);color:var(--color-muted)}.form-field .error-text{font-size:var(--fs-xs);color:#B3261E;display:none}.form-field[data-invalid="true"] input,.form-field[data-invalid="true"] select,.form-field[data-invalid="true"] textarea{border-color:#B3261E}.form-field[data-invalid="true"] .error-text{display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.form-status{padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin-bottom:var(--space-5);display:none}.form-status[data-visible="true"]{display:block}.form-status--success{background:#E7F5EC;color:#1E5E3A;border:1px solid #BFE3CC}.form-status--error{background:#FDECEA;color:#7A241D;border:1px solid #F5C6C0}.file-upload__dropzone{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-6) var(--space-4);border:1.5px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-tint);color:var(--color-muted);font:inherit;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.file-upload__dropzone:hover,.file-upload__dropzone:focus-visible{border-color:var(--color-accent);background:var(--color-teal-50)}.file-upload__dropzone[data-dragover="true"]{border-color:var(--color-accent);background:var(--color-teal-100)}.file-upload__icon{width:26px;height:26px;color:var(--color-accent)}.file-upload__text{font-size:var(--fs-sm);color:var(--color-ink-700)}.file-upload__text strong{color:var(--color-primary);font-weight:600}.file-upload__hint{font-size:var(--fs-xs);color:var(--color-muted)}.file-upload__list{list-style:none;padding:0;margin:var(--space-3) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.file-upload__list:empty{margin:0}.file-upload__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);font-size:var(--fs-xs)}.file-upload__item svg{width:18px;height:18px;color:var(--color-accent);flex-shrink:0}.file-upload__item-name{flex:1;color:var(--color-ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload__item-size{color:var(--color-muted);flex-shrink:0}.file-upload__remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:none;background:none;color:var(--color-muted);cursor:pointer;border-radius:50%}.file-upload__remove:hover{background:var(--color-teal-50);color:#B3261E}.file-upload__remove svg{width:14px;height:14px}.site-footer{background:var(--color-primary-dark);color:var(--color-teal-100);padding-block:var(--space-9) var(--space-6)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid rgb(255 255 255 / .12)}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}.footer-brand img{height:56px;width:auto;margin-bottom:var(--space-4)}.footer-brand p{color:var(--color-teal-200);font-size:var(--fs-sm)}.footer-heading{color:var(--color-white);font-family:var(--font-body);font-weight:600;font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-5)}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.footer-links a{color:var(--color-teal-200);font-size:var(--fs-sm)}.footer-links a:hover{color:var(--color-white)}.footer-contact{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fs-sm)}.footer-contact li{display:flex;gap:var(--space-3);align-items:flex-start;list-style:none}.footer-contact svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--color-teal-300)}.footer-contact a{color:var(--color-teal-200)}.footer-contact a:hover{color:var(--color-white)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);padding-top:var(--space-6);font-size:var(--fs-xs);color:var(--color-teal-300)}.footer-bottom-links{display:flex;gap:var(--space-5);list-style:none;padding:0;margin:0}.footer-bottom-links a{color:var(--color-teal-300)}.footer-bottom-links a:hover{color:var(--color-white)}.footer-social{display:flex;gap:var(--space-3)}.footer-social a,.footer-social .social-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgb(255 255 255 / .08);color:var(--color-white)}.footer-social a:hover{background:var(--color-teal-600)}.footer-social svg{width:17px;height:17px}.social-icon--soon{opacity:.42;cursor:default}.stat-tile{text-align:center}.stat-tile__value{font-family:var(--font-display);font-size:var(--fs-3xl);color:var(--color-primary-dark);font-weight:600;display:block}.stat-tile__label{font-size:var(--fs-sm);color:var(--color-muted)}.brochure-card{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6);background:var(--color-surface-tint)}.brochure-card__icon{flex-shrink:0;width:64px;height:64px;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-white);display:inline-flex;align-items:center;justify-content:center}.brochure-card__icon svg{width:30px;height:30px}.brochure-card__body{flex:1;min-width:220px}.brochure-card__body h3{margin-bottom:var(--space-2)}.brochure-card__body p{color:var(--color-muted);margin-bottom:0}.brochure-card__action{flex-shrink:0}@media (max-width:640px){.brochure-card{flex-direction:column;text-align:center}}.spinner{width:18px;height:18px;border:2.5px solid rgb(255 255 255 / .4);border-top-color:var(--color-white);border-radius:50%;animation:spin 0.7s linear infinite;display:none}[data-loading="true"] .spinner{display:inline-block}[data-loading="true"] .btn-label{opacity:.8}[data-loading="true"]{pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.table-scroll{overflow-x:auto;margin-block:var(--space-5)}.legal-table{width:100%;border-collapse:collapse;min-width:480px}.legal-table th,.legal-table td{padding:var(--space-3) var(--space-4);border:1px solid var(--color-teal-100);text-align:left;vertical-align:top}.legal-table th{background:var(--color-teal-50);color:var(--color-teal-800)}.doc-heading{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-8)}.doc-heading h2{margin:0}.doc-heading__icon{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--color-teal-50);color:var(--color-teal-700);display:flex;align-items:center;justify-content:center}.doc-heading__icon svg{width:22px;height:22px}.doc-subheading{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-6)}.doc-subheading h3{margin:0}.doc-subheading__icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--color-teal-50);color:var(--color-teal-700);display:flex;align-items:center;justify-content:center}.doc-subheading__icon svg{width:16px;height:16px}.sticky-call-bar{display:none}@media (max-width:640px){.sticky-call-bar{display:flex;position:fixed;inset:auto 0 0 0;z-index:70;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-right:calc(var(--space-4) + 76px);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom, 0px));background:var(--color-white);box-shadow:0 -4px 16px rgb(0 0 0 / .12);transition:transform var(--duration-base) var(--ease-out)}.sticky-call-bar.is-hidden{transform:translateY(100%)}.sticky-call-bar .btn{flex:1;min-height:44px;white-space:normal;text-align:center;line-height:1.15;padding-inline:var(--space-3)}}.cookie-banner{position:fixed;inset:auto 0 0 0;z-index:80;background:var(--color-primary-dark);color:var(--color-teal-100);padding:var(--space-5);transform:translateY(100%);transition:transform var(--duration-base) var(--ease-out);box-shadow:0 -4px 20px rgb(0 0 0 / .15)}.cookie-banner.is-visible{transform:translateY(0)}.cookie-banner__inner{max-width:1100px;margin-inline:auto;display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between}.cookie-banner__inner p{margin:0;font-size:var(--fs-sm);flex:1 1 280px}.cookie-banner__inner a{color:var(--color-white);text-decoration:underline}.cookie-banner__actions{display:flex;gap:var(--space-3);flex-shrink:0}@media (max-width:640px){.cookie-banner__inner{flex-direction:column;align-items:stretch}.cookie-banner__actions{justify-content:stretch}.cookie-banner__actions .btn{flex:1}}