.top-bar{position: fixed;top: 0;left: 0;right: 0;z-index: var(--z-top-bar);height: var(--top-bar-height);background: var(--navy-dark);color: var(--on-dark-primary);font-size: 13px;display: flex;align-items: center}.top-bar{padding: 0 var(--container-padding-x)}.top-bar{justify-content: center;gap: 28px;flex-wrap: wrap}.top-bar__item{display: inline-flex;align-items: center;gap: 6px;margin: 0;white-space: nowrap}.top-bar__label{color: var(--on-dark-secondary)}.top-bar a{color: var(--on-dark-primary)}.top-bar a:hover{color: var(--gold)}@media (max-width: 768px){.top-bar{flex-wrap: nowrap}.top-bar__item--secondary{display: none}}.site-header{position: fixed;top: var(--top-bar-height);left: 0;right: 0;z-index: var(--z-header);height: var(--header-height);background: var(--white);box-shadow: var(--shadow-header);transition: box-shadow var(--dur-slow)}.site-header.is-scrolled{box-shadow: var(--shadow-header-scrolled)}.site-header__inner{max-width: var(--max-width);margin: 0 auto;padding: 0 var(--container-padding-x);height: 100%;display: flex;align-items: center;justify-content: space-between}.logo{display: inline-flex;align-items: center;gap: 12px}.logo__img{height: 45px;width: auto;object-fit: contain;display: block;flex-shrink: 0}.logo__text{display: inline-flex;flex-direction: column;line-height: 1.1}.logo__main{font-family: var(--font-heading);font-weight: var(--fw-extrabold);font-size: 22px;letter-spacing: 2px;color: var(--navy)}.logo__sub{font-family: var(--font-heading);font-weight: var(--fw-semibold);font-size: 11px;letter-spacing: 3px;text-transform: uppercase;color: var(--blue)}.main-nav ul{display: flex;align-items: center;gap: 4px}.main-nav a{display: block;padding: 8px 14px;font-family: var(--font-heading);font-size: 13.5px;font-weight: var(--fw-semibold);color: var(--navy);border-radius: var(--radius-nav-link);transition: background var(--dur-base),color var(--dur-base)}.main-nav a:hover{background: var(--cream);color: var(--blue)}.main-nav a[aria-current="page"]{color: var(--blue)}.main-nav .nav-cta{background: var(--blue);color: var(--white);padding: 8px 18px;border-radius: var(--radius-nav-cta)}.main-nav .nav-cta:hover{background: var(--blue-hover);color: var(--white)}.main-nav .nav-cta[aria-current="page"]{color: var(--white)}.nav-toggle{display: none;flex-direction: column;gap: 5px;min-width: var(--a11y-tap-min);min-height: var(--a11y-tap-min);align-items: center;justify-content: center;background: none;border: none;cursor: pointer}.nav-toggle__bar{display: block;width: 26px;height: 2.5px;background: var(--navy);border-radius: 2px;transition: transform var(--dur-slow),opacity var(--dur-slow)}.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform: translateY(7.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity: 0}.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform: translateY(-7.5px) rotate(-45deg)}.hero{position: relative;overflow: hidden;background: var(--gradient-hero);display: flex;align-items: center;min-height: min(calc(100vh - var(--top-bar-height) - var(--header-height)),780px);padding: 60px 0}.hero > .container{width: 100%}.hero::before{content: '';position: absolute;top: -200px;right: -200px;width: 600px;height: 600px;border-radius: var(--radius-circle);background: var(--gradient-hero-glow);pointer-events: none}.hero__grid{position: relative;z-index: 1;display: grid;grid-template-columns: 1fr 1.15fr;gap: var(--gap-hero);align-items: center}.hero__text{max-width: 540px}.hero__text h1{font-size: 50px;font-weight: var(--fw-extrabold);letter-spacing: 1px;line-height: 1.2;color: var(--navy);margin-bottom: 14px}.u{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='6' fill='none'%3E%3Cpath d='M0 3.5 C8 2.8, 18 4.2, 30 3.3 C42 2.4, 55 4.1, 70 3.0 C85 1.9, 100 3.8, 120 3.2 C140 2.6, 158 4.0, 175 3.1 C192 2.2, 210 3.9, 230 3.4 C250 2.9, 270 4.1, 290 2.8 C310 1.5, 330 3.7, 350 3.2 C370 2.7, 385 3.9, 400 3.0' stroke='%23C9A94B' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E");--u-w: 400px;--u-h: 6px;background-position: left bottom;background-repeat: repeat-x;background-size: var(--u-w) var(--u-h);padding-bottom: 6px;-webkit-box-decoration-break: clone;box-decoration-break: clone;animation: draw-underline var(--dur-underline) var(--ease-smooth) 0.4s both}@keyframes draw-underline{0%{background-size: 0 var(--u-h)}100%{background-size: var(--u-w) var(--u-h)}}@keyframes rise-in{from{transform: translateY(12px)}to{transform: none}}.hero__text h1,.hero__tagline,.hero__text > p,.hero__buttons,.hero__frame{animation: rise-in var(--dur-entrance) var(--ease-smooth) both}.hero__text h1{animation-delay: 60ms}.hero__tagline{animation-delay: 150ms}.hero__services{animation-delay: 210ms}.hero__text > p{animation-delay: 210ms}.hero__buttons{animation-delay: 270ms}.hero__frame{animation-delay: 400ms}@keyframes fade-dots{from{opacity: 0}to{opacity: 0.7}}.hero__dots{animation: fade-dots var(--dur-entrance) var(--ease-smooth) 340ms both}.hero__tagline{font-family: var(--font-heading);font-size: 23px;font-weight: var(--fw-bold);line-height: 1.35;color: var(--blue);margin-bottom: 22px}.hero__text p:not(.hero__tagline){font-size: 16px;line-height: 1.75;color: var(--text-hero);margin-bottom: 36px}.hero__text p strong{color: var(--navy)}.hero__services{font-size: 15px;color: var(--gray);margin-bottom: 30px}.hero__buttons{display: flex;gap: var(--gap-buttons);flex-wrap: wrap}.hero__visual{position: relative;padding: 24px}.hero__dots{position: absolute;top: 0;left: 0;width: 120px;height: 120px;z-index: 1;opacity: 0.7;background-image: var(--gradient-gold-dots);background-size: 15px 15px}.hero__frame{position: absolute;bottom: 0;right: 0;width: calc(100% - 30px);height: calc(100% - 30px);border: 3px solid var(--gold);border-radius: var(--radius-hero-image);z-index: 0}.media-frame{position: relative;z-index: 2;border-radius: var(--radius-hero-image);overflow: hidden;box-shadow: var(--shadow-hero-image);background: var(--gray-bg);aspect-ratio: 4 / 3;display: flex;align-items: center;justify-content: center}.media-frame img{width: 100%;height: 100%;object-fit: cover;border-radius: var(--radius-hero-image)}.media-frame__note{font-family: var(--font-heading);font-size: 13px;font-weight: var(--fw-semibold);color: var(--gray);text-align: center;padding: 16px;letter-spacing: 0.5px}.hero__photo{position: relative;z-index: 2;display: block;border-radius: var(--radius-hero-image);overflow: hidden;box-shadow: var(--shadow-hero-image);background: var(--gray-bg)}.hero__photo img{display: block;width: 100%;height: auto;border-radius: var(--radius-hero-image)}.hero-simple{background: var(--gradient-hero-simple);padding: calc(var(--header-height) + var(--top-bar-height) + 60px) 0 60px;text-align: center;color: var(--white)}.hero-simple .section-label{color: var(--on-dark-secondary)}.hero-simple h1{font-family: var(--font-heading);font-size: 42px;font-weight: var(--fw-bold);color: var(--white);margin: 0}.hero-simple__lede{color: var(--on-dark-body);max-width: var(--content-max-width);margin: 16px auto 0;font-size: 17px}.hero-simple .breadcrumb,.hero-simple h1,.hero-simple__lede{animation: rise-in var(--dur-entrance) var(--ease-smooth) both}.hero-simple .breadcrumb{animation-delay: 0ms}.hero-simple h1{animation-delay: 80ms}.hero-simple__lede{animation-delay: 170ms}.hero-simple h1 .u{--u-w: 300px;--u-h: 5px;padding-bottom: 5px;animation-delay: 0.5s}@media (max-width: 768px){.hero-simple h1 .u{--u-w: 220px}}.hero-simple{margin-top: calc((var(--top-bar-height) + var(--header-height)) * -1)}.breadcrumb{margin-bottom: 18px;font-size: 14px;color: var(--on-dark-quiet)}.breadcrumb ol{display: inline-flex;flex-wrap: wrap;gap: 6px;align-items: center}.breadcrumb li{display: inline-flex;align-items: center;gap: 6px}.breadcrumb li + li::before{content: '\203A';color: var(--on-dark-quiet)}.breadcrumb a{color: var(--on-dark-secondary)}.breadcrumb a:hover{color: var(--white);text-decoration: underline}.breadcrumb [aria-current="page"]{color: var(--on-dark-strong);font-weight: var(--fw-semibold)}.back-link{margin: 0 0 28px}.back-link a{display: inline-flex;align-items: center;gap: 8px;min-height: var(--a11y-tap-min);font-family: var(--font-heading);font-size: 14px;font-weight: var(--fw-semibold);color: var(--blue)}.back-link a:hover{color: var(--navy);text-decoration: underline}.back-link svg{flex-shrink: 0;transition: transform var(--dur-base)}.back-link a:hover svg,.back-link a:focus-visible svg{transform: translateX(-3px)}.btn{display: inline-flex;align-items: center;justify-content: center;min-height: var(--a11y-tap-min);padding: var(--btn-padding);font-family: var(--font-heading);font-size: 14.5px;font-weight: var(--fw-semibold);letter-spacing: 0.3px;border-radius: var(--radius-button);border: none;cursor: pointer;transition: background var(--dur-medium),transform var(--dur-fast),box-shadow var(--dur-medium),color var(--dur-medium)}.btn-primary{background: var(--blue);color: var(--white);box-shadow: var(--shadow-btn-primary)}.btn-primary:hover{background: var(--blue-hover);color: var(--white);transform: translateY(-2px);box-shadow: var(--shadow-btn-primary-hover)}.btn-outline-dark{background: var(--white);color: var(--navy);border: 2px solid var(--navy);box-shadow: var(--shadow-btn-outline-dark)}.btn-outline-dark:hover{background: var(--navy);color: var(--white);transform: translateY(-2px);box-shadow: var(--shadow-btn-outline-dark-hover)}.btn-outline{background: transparent;color: var(--white);border: 2px solid var(--on-dark-tertiary)}.btn-outline:hover{border-color: var(--white);color: var(--white);background: var(--on-dark-hover)}.btn:active{transform: translateY(1px)}.btn-primary:active{box-shadow: var(--shadow-btn-primary)}.btn-outline-dark:active{background: var(--navy);color: var(--white);box-shadow: var(--shadow-btn-outline-dark)}.cards-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: var(--gap-cards);justify-content: center}.card{position: relative;display: block;text-align: center;padding: var(--card-padding);background: var(--white);border-radius: var(--radius-card);box-shadow: var(--shadow-card);color: var(--text-body);transition: transform var(--dur-base),box-shadow var(--dur-base)}.card:hover{transform: translateY(-4px);box-shadow: var(--shadow-card-hover);color: var(--text-body)}.card:active{transform: translateY(-1px);box-shadow: var(--shadow-card)}.card__icon{width: 64px;height: 64px;margin: 0 auto 20px;background: var(--cream);border-radius: var(--radius-circle);display: flex;align-items: center;justify-content: center;transition: background var(--dur-base),transform var(--dur-base)}.card__icon svg{color: var(--navy);transition: color var(--dur-base)}.card:hover .card__icon,.card:focus-visible .card__icon{background: var(--cream-alt);transform: translateY(calc(var(--lift-sm) * -1))}.card:hover .card__icon svg,.card:focus-visible .card__icon svg{color: var(--blue)}.card h3{font-size: 17px;font-weight: var(--fw-bold);margin-bottom: 10px}.card p{font-size: 14px;line-height: 1.6;color: var(--gray)}.card__more{display: inline-block;margin-top: 14px;font-family: var(--font-heading);font-size: 13px;font-weight: var(--fw-semibold);color: var(--blue)}.card:hover .card__more,.card:focus-visible .card__more{text-decoration: underline}.card:hover h3,.card:focus-visible h3{color: var(--blue)}.cards-grid--rich{grid-template-columns: repeat(2,1fr);gap: var(--gap-cards)}@media (min-width: 1025px){.cards-grid--rich.cards-grid--home{grid-template-columns: repeat(3,1fr)}}@media (min-width: 700px) and (max-width: 1024px){.cards-grid--rich.cards-grid--home{grid-template-columns: repeat(2,1fr)}}@media (max-width: 768px){.cards-grid--home{gap: 12px}}.card--rich{text-align: left;padding: 32px 28px 34px;display: flex;flex-direction: column}.card--rich .card__icon{margin: 0 0 18px;align-self: flex-start}.card--rich h3{font-size: 20px;margin-bottom: 12px}.card__link{color: var(--navy)}.card__link::after{content: '';position: absolute;inset: 0}.card--rich:hover .card__link,.card--rich:focus-within .card__link{color: var(--blue)}.card--rich:focus-within{box-shadow: var(--shadow-card-hover)}.card--rich > p{font-size: 15px;line-height: 1.65;color: var(--text-muted)}.card__sub{margin-top: 18px;margin-bottom: 8px;font-family: var(--font-heading);font-size: 13px;font-weight: var(--fw-semibold);letter-spacing: 0.5px;color: var(--navy)}.card__list li{position: relative;padding-left: 18px;margin-bottom: 7px;font-size: 14px;line-height: 1.55;color: var(--gray)}.card__list li::before{content: '';position: absolute;left: 0;top: 8px;width: 6px;height: 6px;border-radius: var(--radius-circle);background: var(--blue)}.card--rich .card__more{margin-top: auto;padding-top: 18px;align-self: flex-start}@media (min-width: 1680px){.card--rich > p{font-size: 16px}.card__list li{font-size: 15px}}.card__more.card__link{color: var(--blue)}.card--rich:hover .card__more.card__link,.card--rich:focus-within .card__more.card__link{text-decoration: underline}.card__more-arrow{display: inline-flex;vertical-align: -3px;margin-left: 6px;transition: transform var(--dur-base)}.card:hover .card__more-arrow,.card:focus-visible .card__more-arrow{transform: translateX(3px)}.card__arrow{position: absolute;right: 14px;bottom: 12px;display: inline-flex;align-items: center;justify-content: center;width: 26px;height: 26px;border-radius: var(--radius-circle);background: var(--cream);color: var(--blue);transition: background var(--dur-base),transform var(--dur-base)}.card:hover .card__arrow,.card:focus-visible .card__arrow{background: var(--cream-alt);transform: translateX(3px)}.two-col{display: grid;grid-template-columns: 1fr 1fr;gap: var(--gap-two-col);align-items: center}.two-col.reverse{direction: rtl}.two-col.reverse > *{direction: ltr}.two-col-text h2,.two-col-text h3{font-size: 24px;font-weight: var(--fw-bold);margin-bottom: 16px;color: var(--navy)}.two-col-text p{margin-bottom: 14px;color: var(--text-muted)}.list-bullets li{position: relative;padding-left: 20px;margin-bottom: 8px;color: var(--text-muted)}.list-bullets li::before{content: '';position: absolute;left: 0;top: 10px;width: 8px;height: 8px;background: var(--blue);border-radius: var(--radius-circle)}.list-cols{columns: 2;column-gap: 32px}.list-cols li{break-inside: avoid}@media (max-width: 560px){.list-cols{columns: 1}}.prose-note{font-size: 14px;color: var(--gray);font-style: italic;margin-top: 10px}.sub-sections{display: flex;flex-direction: column;gap: var(--gap-sub-sections)}.be-features{display: grid;grid-template-columns: 1fr 1fr;gap: var(--gap-be)}.be-block{background: var(--white);border-radius: var(--radius-card);padding: var(--be-block-padding);box-shadow: var(--shadow-card)}.be-block h3,.be-block h4{font-size: 16px;font-weight: var(--fw-bold);color: var(--navy);margin-bottom: 14px;display: flex;align-items: center;gap: 8px}.be-block__icon{width: 32px;height: 32px;flex-shrink: 0;background: var(--cream);border-radius: var(--radius-be-icon);display: flex;align-items: center;justify-content: center}.be-block__icon svg{color: var(--blue)}.be-block .list-bullets li{padding-left: 18px;margin-bottom: 6px;font-size: 14px}.be-block .list-bullets li::before{top: 9px;width: 6px;height: 6px}.tags{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 10px}.tag{display: inline-block;padding: 5px 14px;background: var(--cream);border-radius: var(--radius-tag);font-size: 12.5px;font-weight: var(--fw-medium);color: var(--navy)}.image-gallery{display: grid;grid-template-columns: repeat(2,1fr);gap: var(--gap-gallery)}.image-gallery.single{grid-template-columns: 1fr}.image-gallery img{width: 100%;height: 100%;object-fit: cover;aspect-ratio: 4/3;border-radius: var(--radius-gallery-image);box-shadow: var(--shadow-gallery-image);transition: transform var(--dur-slow) var(--ease-smooth),box-shadow var(--dur-slow) var(--ease-smooth);cursor: pointer}.image-gallery img:hover{transform: translateY(-4px);box-shadow: var(--shadow-gallery-image-hover)}.lightbox{position: fixed;inset: 0;z-index: var(--z-lightbox);background: var(--overlay-lightbox);display: none;align-items: center;justify-content: center}.lightbox[open],.lightbox.is-open{display: flex}.lightbox__content{position: relative;max-width: 95%;max-height: 95%}.lightbox__content img{width: 100%;height: 100%;object-fit: contain;border-radius: 4px;box-shadow: var(--shadow-lightbox-image)}.lightbox__close{position: absolute;top: 20px;right: 20px;width: var(--a11y-tap-min);height: var(--a11y-tap-min);z-index: var(--z-lightbox-close);background: var(--lightbox-close-bg);border: 1px solid var(--lightbox-close-border);border-radius: var(--radius-circle);color: var(--white);cursor: pointer;display: flex;align-items: center;justify-content: center;transition: background var(--dur-medium),transform var(--dur-medium)}.lightbox__close:hover{background: var(--lightbox-close-bg-hover);transform: rotate(90deg)}.form-card{background: var(--white);padding: var(--form-padding);border-radius: var(--radius-card);box-shadow: var(--shadow-form)}.form-group{margin-bottom: var(--gap-form)}.form-row{display: grid;grid-template-columns: 1fr 1fr;gap: var(--gap-form)}.form-group label,.form-label{display: block;font-family: var(--font-heading);font-size: 13px;font-weight: var(--fw-semibold);color: var(--navy);margin-bottom: 6px}.form-group input,.form-group select,.form-group textarea{width: 100%;min-height: var(--a11y-tap-min);padding: var(--input-padding);border: 1.5px solid var(--input-border);border-radius: var(--radius-input);font-family: var(--font-body);font-size: 16px;color: var(--text-body);background: var(--white);transition: border-color var(--dur-base),box-shadow var(--dur-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline: none;border-color: var(--blue);box-shadow: 0 0 0 3px var(--a11y-focus-ring-input)}.form-group textarea{resize: vertical;min-height: 120px}.form-hint{font-size: 13px;color: var(--gray);margin-top: 6px;max-width: 68ch}.form-fieldset{border: 0;padding: 0;margin: 0 0 28px;min-width: 0}.form-legend{display: block;width: 100%;padding: 0;margin-bottom: 14px;font-family: var(--font-heading);font-size: 16px;font-weight: var(--fw-bold);color: var(--navy);padding-bottom: 8px;border-bottom: 1px solid var(--gray-light)}.form-details{margin: 0 0 var(--gap-form);border: 1px solid var(--gray-light);border-radius: var(--radius-input)}.form-details__summary{display: flex;align-items: center;min-height: var(--a11y-tap-min);padding: 10px 16px;cursor: pointer;font-family: var(--font-heading);font-size: 14px;font-weight: var(--fw-semibold);color: var(--navy)}.form-details[open] .form-details__summary{border-bottom: 1px solid var(--gray-light)}.form-details__body{padding: 16px}.form-details__body .form-group:last-child{margin-bottom: 0}.form-file{display: flex;flex-wrap: wrap;align-items: center;gap: 12px}.form-group .form-file__input{position: absolute;width: 1px;min-width: 0;height: 1px;min-height: 0;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.form-file__btn{min-height: var(--a11y-tap-min);padding: 10px 20px;cursor: pointer}.form-file__name{font-size: 14px;color: var(--gray)}.form-file__input:focus-visible + .form-file__btn{outline: 3px solid var(--a11y-focus-ring);outline-offset: 2px}.form-error{color: var(--error-text);font-size: 13px;margin-top: 6px}.form-message{margin-top: 16px;padding: 12px 16px;border-radius: var(--radius-input);font-size: 14px}.form-message.success{background: var(--success-bg);color: var(--success-text)}.form-message.error{background: var(--error-bg);color: var(--error-text)}.hp-field{position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden}.site-footer{background: var(--navy-dark);color: var(--on-dark-body);padding-top: 60px}.site-footer__inner{max-width: var(--max-width);margin: 0 auto;padding: 0 var(--container-padding-x) 40px;display: grid;grid-template-columns: 1.4fr 1fr 1.2fr 1fr;gap: var(--gap-footer)}.footer-logo{display: flex;gap: 8px;align-items: baseline;margin-bottom: 14px}.footer-logo .logo__main{color: var(--white);font-size: 20px}.footer-logo .logo__sub{color: var(--gold);font-size: 10px}.site-footer address{font-style: normal;font-size: 14px;line-height: 1.7}.site-footer a{color: var(--on-dark-secondary)}.site-footer a:hover{color: var(--gold)}.footer-col__title{font-size: 15px;font-weight: var(--fw-bold);color: var(--white);margin-bottom: 18px;padding-bottom: 10px;position: relative}.footer-col__title::after{content: '';position: absolute;left: 0;bottom: 0;width: 30px;height: 2px;background: var(--gold)}.footer-col li{margin-bottom: 8px;font-size: 14px}.hours__row{display: flex;justify-content: space-between;gap: 12px;font-size: 14px;margin-bottom: 8px}.hours__row dt{color: var(--on-dark-body)}.hours__row dd{color: var(--on-dark-secondary)}.site-footer__bottom{border-top: 1px solid var(--on-dark-separator);padding: 20px var(--container-padding-x);max-width: var(--max-width);margin: 0 auto;display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 10px;font-size: 13px}.site-footer__bottom p{color: var(--on-dark-secondary)}.site-footer__bottom small{font-size: inherit}.mobile-bar{display: none}.legal-wrapper{max-width: var(--reading-legal);margin: 0 auto}.legal-wrapper h2{font-family: var(--font-heading);font-size: 26px;font-weight: var(--fw-bold);color: var(--navy);margin: 40px 0 20px;padding-bottom: 10px;border-bottom: 2px solid var(--blue)}.legal-wrapper h2:first-of-type{margin-top: 0}.legal-wrapper p{margin-bottom: 20px;line-height: 1.8;color: var(--text-body)}.legal-wrapper ul{margin-bottom: 20px;padding-left: 30px}.legal-wrapper ul li{margin-bottom: 10px;line-height: 1.8}.legal-wrapper a{text-decoration: underline}.dev-warning{background: var(--cream-alt);border-left: 4px solid var(--gold);padding: 16px 20px;margin-bottom: 24px;font-size: 14px;color: var(--text-muted)}@media (min-width: 1300px){.hero > .container{max-width: min(94vw,1780px)}}@media (min-width: 1800px){.hero__grid{grid-template-columns: 1fr 1.45fr}.hero__text{max-width: 640px}}@media (max-width: 1024px){.cards-grid{grid-template-columns: repeat(2,1fr)}.cards-grid--rich{grid-template-columns: repeat(2,1fr)}.be-features{grid-template-columns: 1fr}.site-footer__inner{grid-template-columns: 1fr 1fr}}@media (max-width: 768px){.hero{min-height: auto;padding: 36px 0 44px}.hero__grid{grid-template-columns: 1fr;gap: 26px}.hero__text{max-width: 100%;text-align: center}.hero__text h1{font-size: 34px}.hero__buttons{justify-content: center}.hero__visual{min-height: 0;padding: 0}.hero__dots{width: 62px;height: 62px;top: -10px;left: -10px}.hero__frame{bottom: -10px;right: -10px;width: calc(100% - 16px);height: calc(100% - 16px)}.hero-simple h1{font-size: 32px}.two-col{grid-template-columns: 1fr;gap: 30px}.two-col.reverse{direction: ltr}.cards-grid,.cards-grid--rich{grid-template-columns: 1fr}.form-row{grid-template-columns: 1fr}.form-submit .btn{width: 100%}.site-footer__inner{grid-template-columns: 1fr;gap: 30px}.site-footer__bottom{flex-direction: column;text-align: center}.image-gallery{grid-template-columns: 1fr}html:not(.js) body{padding-top: 0}html:not(.js) .top-bar,html:not(.js) .site-header{position: static;height: auto}html:not(.js) .site-header__inner{flex-wrap: wrap;padding-top: 10px;padding-bottom: 10px}html:not(.js) .main-nav{width: 100%}html:not(.js) .main-nav ul{flex-direction: column;gap: 4px}html:not(.js) .nav-toggle{display: none}.js .nav-toggle{display: inline-flex}.js .main-nav{display: none;position: fixed;top: calc(var(--top-bar-height) + var(--header-height));left: 0;right: 0;background: var(--white);box-shadow: var(--shadow-mobile-nav);padding: 16px var(--container-padding-x)}.js .main-nav.is-open{display: block}.js .main-nav ul{flex-direction: column;gap: 4px}.js .main-nav a{font-size: 15px;padding: 12px 16px;min-height: var(--a11y-tap-min);display: flex;align-items: center}.mobile-bar{display: grid;grid-template-columns: repeat(3,1fr);position: fixed;left: 0;right: 0;bottom: 0;z-index: var(--z-mobile-bar);background: var(--white);box-shadow: var(--shadow-mobile-nav);border-top: 1px solid var(--gray-light);padding-bottom: env(safe-area-inset-bottom)}.mobile-bar__action{display: flex;align-items: center;justify-content: center;text-align: center;min-height: 56px;padding: 8px 6px;font-family: var(--font-heading);font-size: 13px;font-weight: var(--fw-semibold);color: var(--navy)}.mobile-bar__action + .mobile-bar__action{border-left: 1px solid var(--gray-light)}.mobile-bar__action:hover{background: var(--cream);color: var(--blue)}.mobile-bar__action{transition: background var(--dur-fast),color var(--dur-fast)}.mobile-bar__action:active{background: var(--cream-alt);color: var(--blue)}}@media (max-width: 480px){.hero__text h1{font-size: 26px}.hero__tagline{font-size: 18px;line-height: 1.3;margin-bottom: 16px}.hero__services{font-size: 14px;line-height: 1.45;margin-bottom: 18px}.hero{padding-top: 24px;padding-bottom: 32px}.hero__text h1{margin-bottom: 10px}.hero__buttons{gap: 12px}.hero__buttons{flex-direction: column;align-items: center}.hero__buttons .btn{width: 100%}.card--rich{padding: 24px 18px 26px}}@media (max-width: 768px){.card--rich{display: grid;grid-template-columns: var(--a11y-tap-min) 1fr;column-gap: 12px;padding: 18px 16px 20px}.card--rich > *{grid-column: 2}.card--rich > .card__icon{grid-column: 1;grid-row: 1;width: var(--a11y-tap-min);height: var(--a11y-tap-min);margin: 0}.card--rich > .card__icon svg{width: 22px;height: 22px}.card--rich h3{grid-row: 1;align-self: center;font-size: 18px;margin-bottom: 0}.card--rich > p{margin-top: 10px;font-size: 14px;line-height: 1.55}.card__sub{margin-top: 12px;margin-bottom: 4px}.card__list--ops{display: inline}.card__list--ops li{display: inline;padding-left: 0;margin: 0;font-size: 14px}.card__list--ops li::before{display: none}.card__list--ops li:not(:last-child)::after{content: ', '}.card--rich .card__more{margin-top: 14px;padding-top: 0}}@media (max-height: 480px) and (min-width: 480px){:root{--top-bar-height: 30px;--header-height: 48px}.top-bar{font-size: 12px}.logo__img{height: 32px}.logo__main{font-size: 17px;letter-spacing: 1.5px}.logo__sub{font-size: 9px;letter-spacing: 2px}.mobile-bar__action{min-height: var(--a11y-tap-min);padding: 6px}.hero{min-height: 0;padding: 20px 0 26px}.hero__grid{grid-template-columns: 1.45fr 1fr;gap: 20px;align-items: center}.hero__text{max-width: none;text-align: left}.hero__text h1{font-size: 26px;margin-bottom: 8px}.hero__tagline{font-size: 16px;margin-bottom: 10px}.hero__services{font-size: 14px}.hero__text > p{margin-bottom: 16px}.hero__buttons{flex-direction: row;justify-content: flex-start;gap: 12px}.hero__buttons .btn{width: auto}.hero-simple{padding-top: calc(var(--top-bar-height) + var(--header-height) + 24px);padding-bottom: 24px}.hero-simple h1{font-size: 26px}.section{padding: 40px 0}}
/* ===== Pop-up parrainage ===== */
.pr-popup {
  margin: auto;
  width: min(46rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: 0;
  overflow: auto;
  color: #1b2a4a;
  background: #fff;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(19, 35, 74, 0.35);
}
.pr-popup::backdrop { background: rgba(19, 35, 74, 0.55); }
.pr-popup[open]:has(.pr-popup__photo) {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
}
/* Empêche la page de défiler derrière */
html:has(.pr-popup[open]) { overflow: hidden; }

.pr-popup__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pr-popup__contenu { padding: 2rem 2rem 1.75rem; }
.pr-popup h2 {
  margin: 0 0 1rem;
  padding-right: 2rem;
  font-size: 1.4rem;
  line-height: 1.25;
}

/* Les deux mini-bons, même style que sur la page */
.pr-popup__bons {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.pr-popup__bons p {
  flex: 1;
  margin: 0;
  padding: 0.75rem 0.9rem;
  font-size: 0.95rem;
  line-height: 1.3;
  border: 2px dashed #2c4a9a;
  border-radius: 10px;
}
.pr-popup__bons p:first-child {
  color: #fff;
  background: #13234a;
  border: 2px solid #13234a;
  outline: 2px dashed rgba(255, 255, 255, 0.3);
  outline-offset: -6px;
}
.pr-popup__bons strong {
  display: block;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.1;
}
.pr-popup__texte {
  margin: 0 0 1.25rem;
  font-size: 0.95rem;
}

.pr-popup__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.25rem;
}
.pr-popup__plus-tard {
  padding: 0.5rem 0;
  font: inherit;
  color: #2c4a9a;
  text-decoration: underline;
  background: none;
  border: 0;
  cursor: pointer;
}
.pr-popup__fermer {
  position: absolute;
  z-index: 1;
  top: 0.5rem;
  right: 0.5rem;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: #13234a;
  background: rgba(255, 255, 255, 0.92);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.pr-popup__fermer:focus-visible,
.pr-popup__plus-tard:focus-visible {
  outline: 3px solid #2c4a9a;
  outline-offset: 2px;
}

/* Apparition douce */
.pr-popup[open] { animation: pr-apparition 0.25s ease; }
.pr-popup[open]::backdrop { animation: pr-fondu 0.25s ease; }
@keyframes pr-apparition {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
}
@keyframes pr-fondu {
  from { opacity: 0; }
}

/* Mobile : photo en bandeau au-dessus du texte */
@media (max-width: 768px) {
  .pr-popup[open]:has(.pr-popup__photo) { grid-template-columns: 1fr; }
  .pr-popup__photo img { height: 140px; }
  .pr-popup__contenu { padding: 1.25rem 1.25rem 1.5rem; }
  .pr-popup h2 { font-size: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .pr-popup[open],
  .pr-popup[open]::backdrop { animation: none; }
}
@media print {
  .pr-popup { display: none !important; }
}
/* Liens du texte RGPD sous le formulaire : soulignés pour ne pas dépendre
   de la seule couleur (accessibilité, critère Lighthouse « link-in-text-block »). */
.form-notice a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}