/* Multi-page clinic, knowledge, media and product catalog layouts. */
.primary-menu { gap: 15px; }
.primary-menu a { font-size: 12px; }
.header-cart { display: inline-flex; align-items: center; gap: 5px; color: var(--ink-soft); font-size: 12px; font-weight: 650; text-decoration: none; }
.header-cart b { display: grid; min-width: 19px; height: 19px; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: 10px; }
.editorial-page { min-height: 55vh; }
.page-body { padding: 44px 0 12px; }
.knowledge-hero { padding: 56px 0; background: var(--ink); color: var(--white); }
.knowledge-hero__grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: 70px; }
.knowledge-hero h1 { margin: 0 0 14px; color: var(--white); font-size: clamp(43px,5.5vw,66px); }
.knowledge-hero .section-kicker { color: var(--lime); }
.knowledge-hero__grid>div>p:not(.section-kicker) { max-width: 600px; color: #c1cfcc; }
.knowledge-hero__grid>img { width: 100%; height: 290px; object-fit: cover; border-radius: 48% 7px 7px 7px; }
.knowledge-search { display: flex; max-width: 600px; gap: 8px; margin-top: 25px; padding: 6px; background: var(--white); }
.knowledge-search input { min-width: 0; flex: 1; height: 47px; padding: 0 13px; border: 0; color: var(--ink); font-size: 14px; }
.knowledge-search button { padding: 0 18px; border: 0; background: var(--teal); color: var(--white); font-size: 12px; font-weight: 700; }
.knowledge-hub__body { padding-block: 44px 80px; }
.knowledge-categories { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 44px; }
.knowledge-categories a { padding: 8px 14px; border: 1px solid var(--line); border-radius: 50px; background: var(--white); color: var(--ink-soft); font-size: 11px; text-decoration: none; }
.knowledge-categories a:hover { border-color: var(--teal); color: var(--teal); }
.knowledge-hub__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 27px; }
.knowledge-hub__heading h2 { margin: 0; font-size: 34px; }
.knowledge-subscribe { padding: 48px 0; background: var(--ink); }
.knowledge-subscribe .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.knowledge-subscribe h2 { margin: 0; color: var(--white); font-size: 32px; }
.inner-hero { position: relative; overflow: hidden; padding: 76px 0; background: linear-gradient(115deg,#eef4e9 0%,#e2f0e9 56%,#d1e9e0 100%); }
.inner-hero::after { position: absolute; top: -190px; right: -120px; width: 520px; height: 520px; border: 1px solid rgba(8,127,120,.15); border-radius: 50%; content: ""; }
.inner-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .92fr; align-items: center; gap: 62px; }
.inner-hero h1 { max-width: 760px; margin: 0 0 22px; font-size: clamp(48px,6vw,76px); letter-spacing: -.06em; }
.inner-hero__lead { max-width: 650px; margin: 0 0 28px; color: var(--muted); font-size: 18px; line-height: 1.75; }
.inner-hero--compact { padding: 65px 0 58px; }
.inner-hero--compact h1 { font-size: clamp(44px,5.4vw,68px); }
.inner-hero--compact .inner-hero__lead { margin-bottom: 0; }
.inner-hero__image { position: relative; z-index: 1; margin: 0; overflow: hidden; border-radius: 8px 92px 8px 8px; box-shadow: 0 28px 65px rgba(11,46,59,.13); }
.inner-hero__image img { width: 100%; height: 400px; object-fit: cover; }
.inner-hero__image figcaption { padding: 8px 13px; background: rgba(255,255,255,.92); color: var(--muted); font-size: 10px; }
.inner-hero--shop .inner-hero__image { border-radius: 48% 8px 8px 8px; }
.about-story { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; align-items: start; }
.about-story h2,.service-photo-grid h2,.contact-page h2,.faq-page__aside h2 { margin: 0; font-size: clamp(33px,4vw,48px); }
.prose { color: var(--ink-soft); font-size: 17px; line-height: 1.85; }
.prose p:last-child { margin-bottom: 0; }
.prose h2 { margin: 34px 0 14px; font-size: 29px; }
.prose ul,.prose ol { padding-left: 23px; }
.about-values { background: #eef3eb; }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 34px; }
.value-grid article { min-height: 215px; padding: 29px; border: 1px solid #d9e4da; background: rgba(255,255,255,.65); }
.value-grid article>span { color: var(--teal); font-size: 12px; font-weight: 750; letter-spacing: .1em; }
.value-grid h3 { margin: 24px 0 10px; font-size: 22px; }
.value-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.service-photo-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 70px; align-items: center; }
.service-photo-grid figure { margin: 0; overflow: hidden; border-radius: 8px 8px 72px 8px; }
.service-photo-grid img { width: 100%; height: 420px; object-fit: cover; }
.service-photo-grid h2 { margin-bottom: 18px; }
.service-photo-grid>div>p:not(.section-kicker) { color: var(--muted); }
.address-band { padding: 68px 0; background: var(--ink); color: var(--white); }
.address-band h2 { max-width: 720px; margin: 0 0 12px; color: var(--white); font-size: clamp(32px,4vw,48px); }
.address-band p:not(.section-kicker) { max-width: 680px; margin: 0; color: #bdceca; }
.address-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.contact-page { background: #f0f4ec; }
.contact-page__grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 72px; }
.contact-page__details h2 { margin-bottom: 30px; }
.contact-detail { display: grid; gap: 4px; margin: 0; padding: 17px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.contact-detail span { color: var(--muted); font-size: 12px; }
.contact-detail strong { font-size: 16px; font-weight: 650; }
.contact-hours { margin-top: 28px; padding: 22px; background: var(--white); }
.contact-hours strong { font-size: 14px; }
.contact-hours ul { margin: 12px 0 0; padding-left: 19px; color: var(--muted); font-size: 13px; }
.contact-page__form { padding: 33px; background: var(--ink); }
.contact-page__form h2 { margin: 0 0 21px; color: var(--white); font-size: 30px; }
.contact-form__message { display: grid; gap: 7px; margin-top: 15px; color: #e2eeea; font-size: 12px; font-weight: 650; }
.product-intake-note { margin: 0 0 12px; padding: 12px 14px; background: rgba(255,255,255,.1); color: #eff6f2; font-size: 13px; }
.map-panel { padding: 62px 0 78px; }
.map-panel__copy { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.map-panel__copy h2 { max-width: 780px; margin: 0; font-size: 25px; }
.map-pin { display: grid; flex: 0 0 56px; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--teal); font-size: 26px; }
.map-panel__visual { display: grid; min-height: 220px; place-content: center; justify-items: center; padding: 30px; border: 1px solid #d4e0d7; background: repeating-linear-gradient(35deg,#e7eee7 0,#e7eee7 1px,#f1f4ed 1px,#f1f4ed 32px); text-align: center; }
.map-panel__visual>span { color: var(--teal); font-size: 14px; font-weight: 750; }
.map-panel__visual p { max-width: 560px; margin: 8px 0 12px; color: var(--muted); font-size: 13px; }
.faq-page__layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 80px; align-items: start; }
.faq-page__aside { position: sticky; top: 120px; }
.faq-page__aside h2 { margin-bottom: 15px; }
.faq-page__aside>p:not(.section-kicker) { color: var(--muted); }
.faq-list--page details { padding: 21px 4px; }
.faq-list--page summary { font-size: 17px; }
.faq-list--page .faq-answer { color: var(--muted); font-size: 15px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 27px; }
.catalog-card { overflow: hidden; border: 1px solid #e0e7df; background: var(--white); }
.catalog-card__image { position: relative; display: block; height: 245px; overflow: hidden; background: var(--mint); }
.catalog-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.catalog-card__image:hover img { transform: scale(1.04); }
.catalog-card__image>span { position: absolute; right: 13px; bottom: 13px; padding: 7px 12px; border-radius: 99px; background: var(--lime); color: var(--ink); font-size: 11px; font-weight: 750; }
.catalog-card__body { padding: 20px 22px 24px; }
.catalog-card__body .post-meta { margin-bottom: 9px; font-size: 10px; }
.catalog-card h3 { margin: 0 0 9px; font-size: 20px; }
.catalog-card h3 a { color: var(--ink); text-decoration: none; }
.catalog-card__body>p:not(.post-meta) { min-height: 65px; color: var(--muted); font-size: 13px; }
.shop-products { margin-top: 18px; }
.service-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.service-detail-card { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 26px; border: 1px solid #dce6df; background: var(--white); }
.service-detail-card>span { color: var(--teal); font-size: 12px; font-weight: 750; }
.service-detail-card h2 { margin: 0 0 10px; font-size: 23px; }
.service-detail-card h2 a { color: var(--ink); text-decoration: none; }
.service-detail-card p { color: var(--muted); font-size: 14px; }
.species-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.species-card { display: grid; grid-template-columns: .92fr 1.08fr; min-height: 255px; overflow: hidden; border: 1px solid #dfe7df; background: var(--white); }
.species-card img { width: 100%; height: 100%; min-height: 255px; object-fit: cover; }
.species-card>div { padding: 23px; }
.species-card h2 { margin: 0 0 8px; font-size: 26px; }
.species-card p:not(.section-kicker) { color: var(--muted); font-size: 13px; }
.species-note { background: #edf3ec; }
.species-note h2 { margin: 0 0 25px; font-size: 32px; }
.checklist-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 28px; }
.checklist-grid p { margin: 0; padding: 16px; background: var(--white); color: var(--ink-soft); font-size: 13px; }
.media-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.media-card { overflow: hidden; border: 1px solid #e0e7df; background: var(--white); }
.media-card__body { padding: 21px 24px 25px; }
.media-card__body h2 { margin: 0 0 9px; font-size: 22px; }
.media-card__body h2 a { color: var(--ink); text-decoration: none; }
.media-card__body p:not(.post-meta) { margin: 0; color: var(--muted); font-size: 14px; }
.video-frame { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #dfece4; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-placeholder { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--mint); }
.video-placeholder img { width: 100%; height: 100%; object-fit: cover; }
.video-placeholder>span { position: absolute; inset: 50% auto auto 50%; display: grid; width: 64px; height: 64px; transform: translate(-50%,-50%); place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: 25px; }
.media-empty,.gallery-intro { display: grid; grid-column: 1/-1; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 38px; padding: 25px; background: #edf3ec; }
.media-empty img,.gallery-intro img { width: 100%; height: 320px; object-fit: cover; }
.media-empty h2,.gallery-intro h2 { margin: 0 0 13px; font-size: 30px; }
.media-empty p:not(.section-kicker),.gallery-intro p:not(.section-kicker) { color: var(--muted); }
.gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 19px; }
.gallery-card { position: relative; display: block; min-height: 290px; overflow: hidden; background: var(--mint); color: var(--white); }
.gallery-card::after { position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,rgba(11,46,59,.85)); content: ""; }
.gallery-card img { position: absolute; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.gallery-card:hover img { transform: scale(1.04); }
.gallery-card>span { position: absolute; z-index: 1; right: 18px; bottom: 17px; left: 18px; display: grid; gap: 4px; color: var(--white); }
.gallery-card strong { font-size: 17px; }
.gallery-card small { color: rgba(255,255,255,.82); font-size: 11px; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; padding-block: 70px; }
.product-detail__image { overflow: hidden; background: var(--mint); }
.product-detail__image img { width: 100%; max-height: 600px; object-fit: cover; }
.product-detail__copy h1 { margin: 0 0 17px; font-size: clamp(36px,4.5vw,54px); }
.product-detail__intro { color: var(--muted); font-size: 18px; }
.product-detail__note { margin: 25px 0; padding: 16px 18px; background: #edf3ec; color: var(--muted); font-size: 12px; }
.content-article { max-width: 900px; padding-block: 60px 90px; }
.content-article h1 { margin: 0 0 27px; font-size: clamp(40px,5vw,62px); }
.video-frame--single { margin-bottom: 35px; }
.gallery-article__image { margin: 0 0 30px; }
.gallery-article__image img { width: 100%; max-height: 720px; object-fit: cover; }
.gallery-article__image figcaption { padding-top: 9px; color: var(--muted); font-size: 12px; }
@media (max-width: 1100px) { .site-header__inner { gap: 17px; } .primary-menu { gap: 12px; } .primary-menu a { font-size: 12px; } .header-cta { padding-inline: 14px; } }
@media (max-width: 960px) { .inner-hero__grid,.about-story,.service-photo-grid,.contact-page__grid,.faq-page__layout,.product-detail { grid-template-columns: 1fr; gap: 34px; } .inner-hero__image { max-width: 720px; } .inner-hero__image img { height: 360px; } .about-story { gap: 22px; } .service-photo-grid figure { max-width: 700px; } .contact-page__grid { gap: 40px; } .faq-page__aside { position: static; } .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .checklist-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 820px) { .site-header__inner { position: relative; } .header-cart { position: absolute; right: 62px; } .header-cart>span:nth-of-type(2) { display: none; } }
@media (max-width: 640px) { .knowledge-hero { padding: 43px 0; } .knowledge-hero__grid { grid-template-columns: 1fr; gap: 25px; } .knowledge-hero__grid>img { height: 220px; } .knowledge-search input { font-size: 12px; } .knowledge-search button { padding-inline: 12px; } .knowledge-hub__body { padding-block: 32px 56px; } .knowledge-categories { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 9px; } .knowledge-categories a { flex: 0 0 auto; } .knowledge-hub__heading { display: block; } .knowledge-hub__heading h2 { font-size: 28px; } .knowledge-hub__heading>.text-link { margin-top: 13px; } .knowledge-subscribe .container { align-items: flex-start; flex-direction: column; } .knowledge-subscribe h2 { font-size: 26px; } }
@media (max-width: 640px) { .inner-hero,.inner-hero--compact { padding: 46px 0; } .inner-hero h1,.inner-hero--compact h1 { font-size: 43px; } .inner-hero__lead { font-size: 15px; } .inner-hero__image img,.service-photo-grid img { height: 270px; } .value-grid,.catalog-grid,.service-detail-grid,.species-cards,.media-grid,.gallery-grid { grid-template-columns: 1fr; } .value-grid article { min-height: 0; } .address-band__inner { align-items: flex-start; flex-direction: column; } .contact-page__form { padding: 22px 16px; } .contact-page__form h2 { font-size: 26px; } .map-panel__copy { align-items: flex-start; } .map-panel__copy h2 { font-size: 20px; } .catalog-card__image { height: 245px; } .species-card { grid-template-columns: .85fr 1.15fr; } .species-card>div { padding: 17px 14px; } .species-card h2 { font-size: 22px; } .species-card img { min-height: 230px; } .checklist-grid { grid-template-columns: 1fr; } .media-empty,.gallery-intro { grid-template-columns: 1fr; gap: 20px; padding: 18px; } .media-empty img,.gallery-intro img { height: 235px; } .product-detail { gap: 28px; padding-block: 35px 60px; } .product-detail__copy h1 { font-size: 38px; } .service-detail-card { grid-template-columns: 30px 1fr; padding: 19px; } .service-detail-card h2 { font-size: 20px; } }

/* A clear aquatic-health-center identity and service carousel. */
.site-header { background: rgba(255,255,255,.97); }
.primary-menu { gap: 13px; }
.primary-menu > li { position: relative; }
.primary-menu > li > a { display: inline-flex; align-items: center; min-height: 42px; font-size: 12px; white-space: nowrap; }
.primary-menu .menu-item-has-children > a::after { margin-left: 6px; color: #83969a; content: "⌄"; font-size: 13px; }
.primary-menu .sub-menu { position: absolute; z-index: 70; top: calc(100% - 2px); left: -15px; display: none; min-width: 220px; margin: 0; padding: 8px; border: 1px solid #e2e9e8; background: #fff; box-shadow: 0 14px 32px rgba(11,46,59,.12); list-style: none; }
.primary-menu .menu-item-has-children:hover > .sub-menu,.primary-menu .menu-item-has-children:focus-within > .sub-menu { display: block; }
.primary-menu .sub-menu a { display: block; padding: 11px 12px; border-radius: 4px; font-size: 12px; white-space: normal; }
.primary-menu .sub-menu a:hover { background: #eff7f6; }
.hero { padding: 38px 0 42px; background: linear-gradient(135deg,#eaf3f4 0%,#f3f8f4 62%,#e3f1ed 100%); }
.hero::before,.hero::after { display: none; }
.hero-slider { overflow: hidden; padding: 35px 43px 19px; border: 1px solid rgba(17,71,83,.08); border-radius: 18px; background: #fff; box-shadow: 0 22px 55px rgba(15,54,66,.08); }
.hero-slider__viewport { position: relative; }
.hero-slide { display: none; grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr); align-items: center; gap: clamp(28px,5vw,68px); min-height: 430px; }
.hero-slide.is-active { display: grid; animation: doctorsea-slide-in .42s ease both; }
.hero-slide__copy { padding-block: 10px 20px; }
.hero-slide .eyebrow { margin-bottom: 20px; color: var(--teal-dark); }
.hero-slide h1 { max-width: 590px; margin: 0 0 18px; color: #0b3342; font-size: clamp(40px,4.6vw,62px); font-weight: 760; letter-spacing: -.055em; line-height: 1.04; }
.hero-slide .hero__lead { max-width: 560px; font-size: 16px; line-height: 1.72; }
.hero-slide .hero__actions { flex-wrap: wrap; gap: 21px; margin-top: 25px; }
.hero-slide .hero__species { margin-top: 24px; color: #5f777d; font-size: 11px; letter-spacing: .01em; }
.hero-slide__visual { position: relative; min-width: 0; overflow: hidden; border-radius: 12px 12px 68px 12px; background: #dcebe8; }
.hero-slide__visual img { width: 100%; height: 390px; object-fit: cover; }
.hero-slide__visual .hero-note { right: 13px; bottom: 13px; max-width: 270px; }
.hero-slider__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 17px; padding-top: 15px; border-top: 1px solid #e7eeec; }
.hero-slider__footer p { margin: 0; color: #63797e; font-size: 11px; }
.hero-slider__controls,.hero-slider__dots { display: flex; align-items: center; gap: 9px; }
.hero-slider__controls > button { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #d5e3e1; border-radius: 50%; background: #fff; color: #0a686c; cursor: pointer; font-size: 17px; }
.hero-slider__controls > button:hover { background: #0a7776; color: #fff; }
.hero-slider__dots { margin-inline: 4px; }
.hero-slider__dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: #b7c9c7; cursor: pointer; transition: width .2s ease, background .2s ease; }
.hero-slider__dots button[aria-current="true"] { width: 23px; background: #087f78; }
.hero-slider__empty { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 45px; padding-block: 50px; }
.hero-slider__empty h1 { font-size: clamp(40px,5vw,64px); }
.hero-slider__empty img { width: 100%; height: 390px; border-radius: 12px 12px 68px 12px; object-fit: cover; }
.directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 30px; }
.directory-heading h2 { max-width: 700px; margin: 0; font-size: clamp(30px,4vw,46px); }
.directory-heading > p { max-width: 450px; margin: 0; color: var(--muted); font-size: 14px; }
.species-cards--directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
.species-card--linked { grid-template-columns: .95fr 1.05fr; min-height: 290px; border-radius: 7px; box-shadow: 0 8px 22px rgba(11,46,59,.035); }
.species-card__media { min-height: 100%; overflow: hidden; background: #e1eeea; }
.species-card__media img { width: 100%; height: 100%; min-height: 290px; object-fit: cover; transition: transform .35s ease; }
.species-card__media:hover img { transform: scale(1.035); }
.species-card--linked h2 a { color: var(--ink); text-decoration: none; }
.species-card--linked h2 a:hover { color: var(--teal); }
.species-detail__layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: clamp(35px,7vw,90px); }
.species-detail__content { max-width: 800px; }
.species-detail__aside { position: sticky; top: 115px; padding: 28px; border: 1px solid #dce8e3; background: #f2f7f3; }
.species-detail__aside h2 { margin: 0 0 12px; font-size: 25px; }
.species-detail__aside > p:not(.section-kicker) { color: var(--muted); font-size: 14px; }
.species-detail__phone { display: block; margin-top: 18px; color: var(--teal-dark); font-weight: 750; text-decoration: none; }
.species-detail__disclaimer { margin-top: 34px; padding: 15px 18px; border-left: 3px solid #76b7a7; background: #f2f7f3; color: #5a7072; font-size: 13px; }
.service-detail-card { grid-template-columns: 44px 150px minmax(0,1fr); align-items: center; }
.service-detail-card__image { width: 150px; height: 130px; object-fit: cover; }
.service-detail-card h2 { font-size: 20px; }
.service-detail-card p { margin: 0 0 12px; }
.service-detail-card__body { min-width: 0; }
.service-detail-card__number { align-self: start; padding-top: 4px; }
.service-detail__body { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: clamp(35px,7vw,90px); }
.service-detail__body > .prose { max-width: 800px; }
.solution-detail__content { max-width: 900px; }
@keyframes doctorsea-slide-in { from { opacity: .35; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1050px) { .hero-slider { padding-inline: 28px; } .hero-slide { gap: 30px; } .hero-slide__visual img { height: 340px; } .primary-menu { gap: 8px; } .primary-menu > li > a { font-size: 11px; } }
@media (max-width: 820px) { .primary-menu .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 6px 15px; border: 0; background: transparent; box-shadow: none; } .primary-menu .sub-menu a { padding: 9px 10px; border-bottom: 0; color: #536d73; } .hero-slider { padding: 25px 24px 16px; } .hero-slide { grid-template-columns: 1fr 1fr; min-height: 350px; } .hero-slide h1 { font-size: clamp(35px,6vw,50px); } .hero-slide__visual img { height: 300px; } .species-detail__layout,.service-detail__body { grid-template-columns: 1fr; } .species-detail__aside { position: static; } }
@media (max-width: 640px) { .hero { padding-block: 22px 28px; } .hero-slider { padding: 22px 18px 13px; border-radius: 12px; } .hero-slide { grid-template-columns: 1fr; gap: 17px; } .hero-slide__copy { padding: 0; } .hero-slide .eyebrow { margin-bottom: 12px; font-size: 9px; } .hero-slide h1 { margin-bottom: 12px; font-size: clamp(37px,10vw,49px); } .hero-slide .hero__lead { font-size: 14px; } .hero-slide .hero__actions { gap: 15px; margin-top: 18px; } .hero-slide .hero__species { margin-top: 14px; font-size: 10px; } .hero-slide__visual img { height: 235px; } .hero-slide__visual .hero-note { right: 8px; bottom: 8px; max-width: 230px; padding: 8px 10px; font-size: 9px; } .hero-slider__footer { align-items: flex-start; flex-direction: column-reverse; gap: 10px; margin-top: 12px; } .hero-slider__footer p { font-size: 10px; } .hero-slider__empty { grid-template-columns: 1fr; padding-block: 35px; } .hero-slider__empty img { height: 235px; } .directory-heading { align-items: flex-start; flex-direction: column; gap: 12px; } .species-card--linked { grid-template-columns: 1fr; } .species-card__media img { min-height: 210px; max-height: 240px; } .species-card--linked > div { padding: 21px; } .service-detail-card { grid-template-columns: 32px 90px minmax(0,1fr); gap: 12px; } .service-detail-card__image { width: 90px; height: 100px; } .service-detail-card h2 { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { .hero-slide.is-active { animation: none; } .species-card__media img { transition: none; } }

/* Doctorsea247 brand polish: clear uppercase navigation, contact icons, and a photo-led species directory. */
.brand { gap: 9px; }
.brand__logo { display: block; width: 66px; height: 66px; object-fit: contain; border-radius: 50%; background: #fff; }
.brand__words strong { color: #0755b5; font-size: 17px; letter-spacing: .015em; }
.brand__words strong span { color: #07885e; }
.brand__words small { color: #506985; font-size: 9px; letter-spacing: .08em; }
.primary-menu > li > a,.primary-menu .sub-menu a { text-transform: uppercase; letter-spacing: .055em; font-weight: 760; }
.primary-menu > li > a { font-size: 12px; }
.primary-menu .sub-menu a { font-size: 11px; }
.primary-menu > li > a:hover,.primary-menu .current-menu-item > a { color: #0755b5; }
.topbar { background: #092b54; }
.topbar__links { gap: 18px; }
.topbar-contact { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.topbar-contact .contact-icon { width: 15px; height: 15px; color: #43c4f4; }
.topbar-social,.footer-social { display: inline-flex; align-items: center; gap: 7px; }
.topbar-social a { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff; }
.topbar-social a:hover { border-color: #03a9ed; background: #0755b5; color: #fff; }
.topbar-social .contact-icon { width: 14px; height: 14px; }
.footer-contact__item { align-items: start; }
.footer-contact__item > span { display: inline-flex; align-items: center; gap: 8px; }
.footer-contact__item .contact-icon { width: 15px; height: 15px; color: #43c4f4; }
.footer-contact__item strong { line-height: 1.6; }
.footer-social { margin-top: 21px; }
.footer-social a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #eaf8ff; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.footer-social a:hover { transform: translateY(-2px); border-color: #03a9ed; background: #0755b5; color: #fff; }
.footer-social .contact-icon { width: 17px; height: 17px; }
.species { position: relative; overflow: hidden; background: radial-gradient(ellipse at 92% 8%,rgba(3,169,237,.12),transparent 34%),linear-gradient(180deg,#f5faff 0%,#e9f6fd 100%); }
.species__top { align-items: end; margin-bottom: 30px; }
.species__top .section-kicker { color: #0755b5; font-weight: 800; letter-spacing: .14em; }
.species__top h2 { max-width: 760px; color: #092b54; font-size: clamp(34px,4.1vw,50px); }
.species__top > p { max-width: 390px; color: #476582; line-height: 1.75; }
.species-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.species-feature-card { position: relative; display: block; min-height: 330px; overflow: hidden; border: 3px solid #fff; border-radius: 17px; background: #d6edf8; box-shadow: 0 15px 35px rgba(9,43,84,.13); color: #fff; text-decoration: none; isolation: isolate; }
.species-feature-card::before { position: absolute; z-index: 1; top: 15px; left: 15px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: rgba(9,43,84,.73); color: #fff; content: "HỒ SƠ LOÀI NUÔI"; font-size: 9px; font-weight: 800; letter-spacing: .1em; backdrop-filter: blur(8px); }
.species-feature-card::after { position: absolute; z-index: 0; inset: 28% 0 0; background: linear-gradient(180deg,rgba(4,30,58,0) 0%,rgba(4,30,58,.12) 23%,rgba(4,30,58,.88) 100%); content: ""; }
.species-feature-card > img { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.species-feature-card:hover > img,.species-feature-card:focus-visible > img { transform: scale(1.055); }
.species-feature-card__body { position: absolute; z-index: 2; right: 20px; bottom: 18px; left: 20px; display: grid; grid-template-columns: 1fr 43px; align-items: end; gap: 4px 12px; color: #fff; }
.species-feature-card__body strong { grid-column: 1; color: #fff; font-size: clamp(21px,2.1vw,27px); font-weight: 780; letter-spacing: -.025em; line-height: 1.12; }
.species-feature-card__body small { grid-column: 1; max-width: 300px; color: rgba(255,255,255,.87); font-size: 12px; line-height: 1.55; }
.species-feature-card__body i { display: grid; grid-column: 2; grid-row: 1 / span 2; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.63); border-radius: 50%; background: #03a9ed; color: #fff; font-size: 20px; font-style: normal; transition: background .2s ease, transform .2s ease; }
.species-feature-card:hover .species-feature-card__body i { transform: translate(2px,-2px); background: #07885e; }
.species-feature-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; padding: 12px 17px; border: 1px solid #0755b5; border-radius: 999px; background: #fff; color: #0755b5; font-size: 12px; font-weight: 800; letter-spacing: .035em; text-decoration: none; }
.species-feature-link:hover { background: #0755b5; color: #fff; }
.hero { background: linear-gradient(135deg,#e8f7ff 0%,#f5faff 58%,#e7f6f1 100%); }
.hero-slider { border-color: rgba(7,85,181,.12); box-shadow: 0 22px 55px rgba(9,43,84,.11); }
.hero-slide .eyebrow { color: #0755b5; }
.inner-hero { background: linear-gradient(115deg,#eaf6fd 0%,#f5faff 56%,#e1f4fb 100%); }
.about-values,.species-note,.contact-page { background: #edf6fc; }
.value-grid article { border-color: #d5e7f2; background: rgba(255,255,255,.86); }
.address-band { background: #092b54; }
.map-pin { background: #dff5ff; color: #0755b5; }
.map-panel__visual { border-color: #d4e5f2; background: repeating-linear-gradient(35deg,#e9f4fb 0,#e9f4fb 1px,#f6faff 1px,#f6faff 32px); }
.species-detail__aside,.species-note,.product-detail__note { background: #edf6fc; }
.service-detail-card { border-color: #d7e6f2; }
.contact-detail span { display: inline-flex; align-items: center; gap: 8px; }
.contact-detail .contact-icon { width: 17px; height: 17px; color: #0755b5; }
.contact-social { display: flex; gap: 8px; margin-top: 20px; }
.contact-social a { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #cbddec; border-radius: 50%; background: #fff; color: #0755b5; transition: background .2s ease, color .2s ease, transform .2s ease; }
.contact-social a:hover { transform: translateY(-2px); background: #0755b5; color: #fff; }
.contact-social .contact-icon { width: 18px; height: 18px; }
.hero-slider__controls > button:hover { background: #0755b5; }
.hero-slider__dots button[aria-current="true"] { background: #03a9ed; }
@media (max-width: 1050px) {
	.brand__logo { width: 58px; height: 58px; }
	.brand__words strong { font-size: 15px; }
	.primary-menu { gap: 7px; }
	.primary-menu > li > a { font-size: 10px; letter-spacing: .035em; }
	.species-feature-grid { gap: 15px; }
	.species-feature-card { min-height: 300px; }
}
@media (max-width: 820px) {
	.topbar__inner { justify-content: center; }
	.topbar__inner > p { display: none; }
	.topbar__links { justify-content: center; flex-wrap: wrap; row-gap: 5px; }
	.species-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.species-feature-card { min-height: 290px; }
}
@media (max-width: 600px) {
	.brand__logo { width: 54px; height: 54px; }
	.brand__words strong { font-size: 14px; }
	.brand__words small { font-size: 8px; }
	.topbar { font-size: 10px; }
	.topbar__links { gap: 8px 13px; }
	.topbar-contact { gap: 5px; }
	.topbar-social { gap: 4px; }
	.topbar-social a { width: 24px; height: 24px; }
	.species__top { align-items: flex-start; flex-direction: column; gap: 12px; }
	.species__top > p { max-width: 100%; }
	.species-feature-grid { grid-template-columns: 1fr; gap: 14px; }
	.species-feature-card { min-height: 290px; }
}
@media (prefers-reduced-motion: reduce) {
	.species-feature-card > img,.footer-social a,.species-feature-card__body i { transition: none; }
}

/* Homepage visual system: varied subject icons, balanced type, and restrained motion. */
body { font-size: 16px; line-height: 1.7; }
.hero-slide h1 { font-size: clamp(35px,4.1vw,55px); letter-spacing: -.045em; line-height: 1.06; }
.hero-slide .hero__lead { font-size: 15px; }
.intro__grid { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); align-items: center; gap: clamp(34px,6vw,78px); }
.intro__visual .section-kicker { margin: 0 0 16px; }
.intro__visual figure { position: relative; min-height: 320px; margin: 0; overflow: hidden; border-radius: 16px 78px 16px 16px; background: #dff5ff; box-shadow: 0 18px 46px rgba(9,43,84,.13); }
.intro__visual figure > img { width: 100%; height: 340px; object-fit: cover; }
.intro__visual figcaption { position: absolute; right: 13px; bottom: 13px; left: 13px; display: flex; align-items: center; gap: 10px; width: fit-content; max-width: calc(100% - 26px); margin: 0; padding: 10px 14px; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; background: rgba(255,255,255,.94); color: #25466d; font-size: 11px; font-weight: 750; box-shadow: 0 8px 24px rgba(9,43,84,.12); }
.intro__visual figcaption > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #e1f6ff; color: #0755b5; }
.intro__visual figcaption .theme-icon { width: 16px; height: 16px; }
.intro__copy h2 { font-size: clamp(31px,3.4vw,46px); line-height: 1.15; }
.intro__copy .intro__text { max-width: 680px; font-size: 16px; line-height: 1.75; }
.intro__points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 20px 0 24px; }
.intro__points > span { display: flex; align-items: center; gap: 8px; color: #25466d; font-size: 11px; font-weight: 750; line-height: 1.45; }
.intro__points .theme-icon { flex: 0 0 23px; width: 23px; height: 23px; padding: 4px; border-radius: 50%; background: #e6f6fd; color: #0755b5; }
.services,.process { background: #f0f7fc; }
.section-heading h2,.species__top h2 { font-size: clamp(30px,3.4vw,44px); line-height: 1.14; }
.service-item__icon { border-color: #cde0ee; background: #fff; color: #0755b5; transition: transform .22s ease, background .22s ease, color .22s ease; }
.service-item:hover .service-item__icon { transform: translateY(-2px); background: #0755b5; color: #fff; }
.service-item__icon .theme-icon { width: 29px; height: 29px; }
.service-list { border-color: #d4e4ef; }
.service-item { border-color: #d4e4ef; transition: padding .22s ease, background .22s ease; }
.service-item:hover { padding-inline: 14px; background: rgba(255,255,255,.78); }
.solution-line { grid-template-columns: 46px minmax(0,1fr) 27px; min-height: 82px; transition: padding .2s ease, background .2s ease; }
.solution-line:hover { padding-inline: 11px; background: rgba(255,255,255,.055); }
.solution-line__icon { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(67,196,244,.38); border-radius: 12px; background: rgba(3,169,237,.12); color: #43c4f4; }
.solution-line__icon .theme-icon { width: 21px; height: 21px; }
.solution-line__arrow { justify-self: end; }
.process-steps { gap: 24px; }
.process-steps article { padding-top: 19px; border-color: #cfe0eb; }
.process-steps article::before { display: none; }
.process-step__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.process-step__icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #cfe4f1; border-radius: 15px; background: #fff; color: #0755b5; }
.process-step__icon .theme-icon { width: 25px; height: 25px; }
.process-step__number { color: #64809b; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.process-steps h3 { margin-top: 0; font-size: 18px; }
.process-steps p { font-size: 13px; line-height: 1.65; }
.prepare { background: linear-gradient(120deg,#0755b5 0%,#083f91 72%,#092b54 100%); }
.prepare__list p { align-items: center; gap: 14px; min-height: 67px; }
.prepare__icon { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 11px; background: rgba(255,255,255,.1); color: #b9edff; }
.prepare__icon .theme-icon { width: 19px; height: 19px; }
.knowledge-card__image { border-radius: 12px; background: #e2f4fc; }
.knowledge-card__image img { transition: transform .4s ease; }
.knowledge-card:hover .knowledge-card__image img { transform: scale(1.035); }
.knowledge-card--text { border: 1px solid #dbe9f3; border-top: 3px solid #03a9ed; border-radius: 13px; box-shadow: 0 9px 24px rgba(9,43,84,.06); }
.knowledge-card__index { display: grid; width: 48px; height: 48px; margin-bottom: 22px; place-items: center; border-radius: 14px; background: #e6f6fd; color: #0755b5; }
.knowledge-card__index .theme-icon { width: 26px; height: 26px; }
.faq__art { position: relative; display: flex; align-items: center; gap: 13px; max-width: 390px; margin: 25px 0; padding: 14px 16px; overflow: hidden; border: 1px solid #dcebf5; border-radius: 16px; background: linear-gradient(110deg,#edf8fd,#fff); }
.faq__art-icon,.faq__art-bubble { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: #0755b5; color: #fff; }
.faq__art-icon .theme-icon { width: 25px; height: 25px; }
.faq__art > span:nth-child(2) { display: grid; gap: 3px; }
.faq__art strong { color: #092b54; font-size: 13px; }
.faq__art small { color: #55728d; font-size: 10px; }
.faq__art-bubble { flex-basis: 38px; width: 38px; height: 38px; margin-left: auto; border-radius: 50%; background: #dff5ff; color: #0755b5; }
.faq__art-bubble .theme-icon { width: 21px; height: 21px; }
.faq-list summary { transition: color .2s ease; }
.faq-list summary:hover { color: #0755b5; }
.contact-cta { background: linear-gradient(120deg,#092b54 0%,#083f91 100%); }
.contact-cta__copy h2 { font-size: clamp(32px,3.6vw,48px); line-height: 1.13; }
.contact-cta__links { gap: 11px; }
.contact-cta__links > a { display: inline-flex; align-items: center; gap: 9px; }
.contact-cta__links .theme-icon { width: 18px; height: 18px; color: #43c4f4; }
.contact-cta__social { display: flex; gap: 8px; margin-top: 8px; }
.contact-cta__social a { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: #fff; }
.contact-cta__social a:hover { background: #03a9ed; color: #092b54; }
.contact-cta__social .theme-icon { width: 17px; height: 17px; }
.about-value__icon { display: grid; width: 48px; height: 48px; margin-bottom: 17px; place-items: center; border-radius: 14px; background: #e2f5fc; color: #0755b5; }
.about-value__icon .theme-icon { width: 25px; height: 25px; }
.value-grid h3 { margin-top: 0; }
.checklist-grid p { display: flex; align-items: center; gap: 11px; border: 1px solid #dcebf5; border-radius: 12px; box-shadow: 0 6px 16px rgba(9,43,84,.04); }
.checklist-icon { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: #e5f6fd; color: #0755b5; }
.checklist-icon .theme-icon { width: 21px; height: 21px; }
.faq-page__illustration { display: flex; align-items: center; gap: 12px; margin: 24px 0; padding: 15px; border: 1px solid #d8eaf5; border-radius: 15px; background: linear-gradient(115deg,#e6f7fd,#fff); }
.faq-page__illustration > span { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: #0755b5; color: #fff; }
.faq-page__illustration .theme-icon { width: 25px; height: 25px; }
.faq-page__illustration > div { display: grid; gap: 4px; }
.faq-page__illustration strong { color: #092b54; font-size: 12px; }
.faq-page__illustration small { color: #55728d; font-size: 10px; }
.faq-empty { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 8px 13px; padding: 22px; border: 1px solid #dcebf5; border-radius: 15px; background: #f7fbfe; }
.faq-empty > span { display: grid; grid-row: span 2; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: #e2f5fc; color: #0755b5; }
.faq-empty .theme-icon { width: 22px; height: 22px; }
.faq-empty p { margin: 0; color: #476582; font-size: 14px; line-height: 1.7; }
.faq-empty a { color: #0755b5; font-size: 13px; font-weight: 800; text-decoration: none; }
.faq-empty a:hover { color: #07885e; }
.contact-detail { border-color: #d6e5f0; }
.contact-detail .theme-icon { flex: 0 0 17px; }
.inner-hero h1 { font-size: clamp(36px,4.5vw,58px); letter-spacing: -.045em; line-height: 1.08; }
.inner-hero__lead { font-size: 16px; }
.prose { font-size: 16px; line-height: 1.8; }
.prose h2 { font-size: 27px; }
.catalog-card h3 { font-size: 19px; }
.species-card h2 { font-size: 23px; }
.button,.text-link,.header-cta { transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.button:hover,.header-cta:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(7,85,181,.2); }
.hero-slide__visual img { transition: transform .7s ease; }
.hero-slider:hover .hero-slide.is-active .hero-slide__visual img { transform: scale(1.025); }
.species-feature-card,.catalog-card,.media-card { transition: transform .24s ease, box-shadow .24s ease; }
.species-feature-card:hover,.catalog-card:hover,.media-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(9,43,84,.14); }
.home-section-reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.25,1); }
.home-section-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 960px) {
	.intro__grid { grid-template-columns: .95fr 1.05fr; gap: 34px; }
	.intro__visual figure > img { height: 300px; }
	.intro__points { grid-template-columns: 1fr; gap: 8px; }
	.solutions__grid,.prepare__grid { gap: 40px; }
	.section-space { padding-block: 78px; }
}
@media (max-width: 820px) {
	.site-header__inner { min-height: 74px; }
	.menu-toggle { width: 44px; height: 44px; }
	.primary-menu > li > a { min-height: 44px; font-size: 12px; }
	.intro__grid { grid-template-columns: 1fr; gap: 25px; }
	.intro__visual figure { min-height: 0; max-width: 620px; }
	.intro__visual figure > img { height: 300px; }
	.intro__points { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.solutions__grid,.prepare__grid { grid-template-columns: 1fr; gap: 32px; }
	.process-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.knowledge-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
	.contact-cta__inner { grid-template-columns: 1fr; gap: 28px; }
	.inner-hero h1 { font-size: clamp(34px,5.5vw,48px); }
}
@media (max-width: 600px) {
	body { font-size: 15px; }
	.container { width: min(var(--container),calc(100% - 34px)); }
	.section-space { padding-block: 55px; }
	.hero { padding: 18px 0 25px; }
	.hero-slider { padding: 19px 16px 13px; }
	.hero-slide h1 { font-size: clamp(33px,9vw,43px); line-height: 1.08; }
	.hero-slide .hero__lead { font-size: 14px; line-height: 1.65; }
	.hero-slide__visual img { height: 225px; }
	.intro__visual figure { border-radius: 12px 55px 12px 12px; }
	.intro__visual figure > img { height: 230px; }
	.intro__copy h2,.section-heading h2,.species__top h2 { font-size: clamp(28px,7.4vw,35px); }
	.intro__copy .intro__text { font-size: 14px; }
	.intro__points { grid-template-columns: 1fr; gap: 8px; }
	.intro__points > span { font-size: 12px; }
	.service-item { grid-template-columns: 48px minmax(0,1fr) 34px; gap: 12px; min-height: 126px; padding: 17px 1px; }
	.service-item:hover { padding-inline: 1px; }
	.service-item__number { display: none; }
	.service-item__icon { width: 46px; height: 46px; }
	.service-item__icon .theme-icon { width: 25px; height: 25px; }
	.service-item h3 { font-size: 16px; }
	.service-item p { font-size: 12px; line-height: 1.55; }
	.service-item > a { width: 32px; height: 32px; }
	.solution-line { grid-template-columns: 38px minmax(0,1fr) 20px; gap: 10px; min-height: 70px; }
	.solution-line__icon { width: 34px; height: 34px; border-radius: 10px; }
	.solution-line h3 { font-size: 14px; line-height: 1.35; }
	.solutions h2,.prepare h2,.contact-cta__copy h2 { font-size: clamp(30px,8vw,38px); }
	.process-steps { gap: 24px 15px; }
	.process-step__icon { width: 42px; height: 42px; border-radius: 12px; }
	.process-steps h3 { font-size: 15px; }
	.process-steps p { font-size: 12px; }
	.prepare__list p { min-height: 60px; font-size: 13px; line-height: 1.5; }
	.prepare__icon { flex-basis: 32px; width: 32px; height: 32px; }
	.knowledge-grid { grid-template-columns: 1fr; gap: 28px; }
	.knowledge-card__image { height: 200px; }
	.faq__art { max-width: 100%; }
	.faq-empty { grid-template-columns: 35px minmax(0,1fr); gap: 7px 10px; padding: 15px; }
	.faq-empty > span { width: 35px; height: 35px; border-radius: 11px; }
	.faq-empty p { font-size: 13px; }
	.contact-form { padding: 21px 15px; }
	.contact-form__bottom { align-items: flex-start; flex-direction: column; }
	.inner-hero h1 { font-size: clamp(32px,8vw,40px); }
	.inner-hero__lead { font-size: 14px; }
	.prose { font-size: 15px; }
	.prose h2 { font-size: 23px; }
	.service-detail-card { grid-template-columns: 76px minmax(0,1fr); }
	.service-detail-card__number { display: none; }
	.service-detail-card__image { width: 76px; height: 88px; border-radius: 9px; }
	.species-card--linked { grid-template-columns: 1fr; }
	.species-card__media img { min-height: 210px; max-height: 245px; }
	.species-card--linked > div { padding: 19px; }
	.catalog-card__image { height: 220px; }
	.home-section-reveal { transform: translateY(12px); }
}
@media (max-width: 380px) {
	.hero-slider { padding-inline: 13px; }
	.hero-slide h1 { font-size: 32px; }
	.process-steps { grid-template-columns: 1fr; }
	.hero-slider__controls { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
	.home-section-reveal,.home-section-reveal.is-visible { opacity: 1; transform: none; transition: none; }
	.button,.text-link,.header-cta,.species-feature-card,.catalog-card,.media-card,.hero-slide__visual img { transition: none; }
}

/* Full-bleed service slider with high-contrast copy and a readable system font. */
body,button,input,select,textarea { font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; }
h1,h2,h3 { text-wrap: balance; }
.hero { padding: 0; background: #092b54; }
.hero-slider { position: relative; width: 100%; max-width: none; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: #092b54; box-shadow: none; }
.hero-slider__viewport { min-height: clamp(590px,72vh,790px); }
.hero-slide,.hero-slide.is-active { position: absolute; inset: 0; display: flex; align-items: center; min-height: 100%; padding: 55px 0 104px; gap: 0; overflow: hidden; }
.hero-slide { visibility: hidden; opacity: 0; transition: opacity .7s ease, visibility .7s ease; }
.hero-slide.is-active { visibility: visible; opacity: 1; animation: none; }
.hero-slide__visual { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; min-height: 100%; overflow: hidden; border-radius: 0; background: #092b54; }
.hero-slide__visual::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,25,57,.94) 0%,rgba(4,31,65,.86) 29%,rgba(4,31,65,.48) 53%,rgba(4,31,65,.08) 100%),linear-gradient(0deg,rgba(4,25,57,.4),transparent 38%); content: ""; }
.hero-slide__visual img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center 48%; transition: transform 1s ease; }
.hero-slide__copy { position: relative; z-index: 2; width: min(var(--container),calc(100% - 56px)); max-width: var(--container); margin: 0 auto; padding: 0 0 24px; color: #fff; }
.hero-slide .eyebrow { margin-bottom: 23px; color: #c5f1ff; font-size: 11px; letter-spacing: .15em; }
.hero-slide .eyebrow__dot { background: #43c4f4; box-shadow: 0 0 0 5px rgba(67,196,244,.2); }
.hero-slide h1 { max-width: 790px; margin: 0 0 22px; color: #fff; font-size: clamp(46px,6vw,76px); font-weight: 760; letter-spacing: -.045em; line-height: 1.04; text-shadow: 0 3px 24px rgba(0,0,0,.18); }
.hero-slide .hero__lead { max-width: 690px; margin: 0; color: rgba(255,255,255,.94); font-size: clamp(17px,1.55vw,21px); line-height: 1.72; text-shadow: 0 2px 14px rgba(0,0,0,.2); }
.hero-slide .hero__actions { gap: 25px; margin-top: 30px; }
.hero-slide .button { min-height: 54px; border-color: #03a9ed; background: #03a9ed; color: #082d59; font-size: 14px; font-weight: 800; }
.hero-slide .button:hover { border-color: #fff; background: #fff; color: #0755b5; }
.hero-slide .text-link { color: #fff; font-size: 14px; font-weight: 750; }
.hero-slide .hero__species { max-width: 710px; margin-top: 24px; color: rgba(255,255,255,.88); font-size: 13px; letter-spacing: .025em; }
.hero-note { right: clamp(18px,5vw,72px); bottom: 84px; max-width: 270px; border-color: rgba(255,255,255,.25); background: rgba(5,35,72,.73); color: #fff; box-shadow: 0 12px 35px rgba(0,0,0,.18); backdrop-filter: blur(10px); }
.hero-note__icon { background: #03a9ed; color: #082d59; }
.hero-slider__footer { position: absolute; z-index: 3; right: 0; bottom: 23px; left: 0; width: min(var(--container),calc(100% - 56px)); margin: 0 auto; padding: 0; border: 0; }
.hero-slider__footer p { color: rgba(255,255,255,.83); font-size: 12px; letter-spacing: .025em; }
.hero-slider__controls > button { width: 40px; height: 40px; border-color: rgba(255,255,255,.48); background: rgba(5,35,72,.55); color: #fff; backdrop-filter: blur(8px); }
.hero-slider__controls > button:hover { border-color: #03a9ed; background: #03a9ed; color: #082d59; }
.hero-slider__dots button { background: rgba(255,255,255,.58); }
.hero-slider__dots button[aria-current="true"] { background: #43c4f4; }
.hero-slider__empty { position: relative; display: flex; align-items: center; width: 100%; min-height: clamp(590px,72vh,790px); padding: 0 max(28px,calc((100% - var(--container))/2)); overflow: hidden; color: #fff; background: #092b54; }
.hero-slider__empty::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(4,25,57,.94),rgba(4,31,65,.48) 60%,rgba(4,31,65,.08)); content: ""; }
.hero-slider__empty > div { position: relative; z-index: 2; max-width: 740px; }
.hero-slider__empty > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.hero-slider__empty h1,.hero-slider__empty .eyebrow,.hero-slider__empty .hero__lead { color: #fff; }
.inner-hero__image { border: 6px solid #fff; border-radius: 18px 72px 18px 18px; box-shadow: 0 26px 60px rgba(9,43,84,.18); }
.inner-hero__image img { height: 420px; object-position: center 47%; }
.inner-hero__image figcaption { padding: 10px 14px; color: #476582; font-size: 12px; }
.contact-page__photo { margin: 0 0 18px; overflow: hidden; border: 5px solid #fff; border-radius: 12px 58px 12px 12px; box-shadow: 0 18px 38px rgba(9,43,84,.12); }
.contact-page__photo img { width: 100%; height: 235px; object-fit: cover; object-position: center 52%; }
.contact-page__photo figcaption { padding: 8px 12px; color: #476582; font-size: 11px; }
@media (max-width: 820px) {
	.hero-slider__viewport { min-height: 690px; }
	.hero-slide,.hero-slide.is-active { padding: 42px 0 102px; }
	.hero-slide__copy { width: calc(100% - 44px); }
	.hero-slide h1 { max-width: 670px; font-size: clamp(42px,7.5vw,64px); }
	.hero-slide .hero__lead { max-width: 590px; font-size: 17px; }
	.hero-slider__footer { width: calc(100% - 44px); }
	.hero-note { right: 22px; bottom: 83px; }
}
@media (max-width: 600px) {
	.hero-slider__viewport { min-height: 740px; }
	.hero-slide,.hero-slide.is-active { align-items: flex-start; padding: 70px 0 112px; }
	.hero-slide__visual img { object-position: 62% center; }
	.hero-slide__visual::after { background: linear-gradient(90deg,rgba(4,25,57,.94),rgba(4,31,65,.72) 68%,rgba(4,31,65,.43)),linear-gradient(0deg,rgba(4,25,57,.55),transparent 44%); }
	.hero-slide__copy { width: calc(100% - 38px); padding-top: 8px; }
	.hero-slide .eyebrow { margin-bottom: 18px; font-size: 10px; line-height: 1.55; }
	.hero-slide h1 { max-width: 510px; margin-bottom: 17px; font-size: clamp(37px,9.4vw,49px); line-height: 1.08; }
	.hero-slide .hero__lead { max-width: 500px; font-size: 16px; line-height: 1.63; }
	.hero-slide .hero__actions { align-items: flex-start; gap: 14px 20px; margin-top: 23px; }
	.hero-slide .button { min-height: 49px; padding-inline: 18px; }
	.hero-slide .text-link { min-height: 44px; }
	.hero-slide .hero__species { max-width: 440px; margin-top: 18px; font-size: 12px; line-height: 1.7; }
	.hero-note { display: none; }
	.hero-slider__footer { bottom: 17px; width: calc(100% - 38px); justify-content: center; }
	.hero-slider__footer p { display: none; }
	.hero-slider__controls > button { width: 42px; height: 42px; }
	.hero-slider__empty { min-height: 690px; gap: 20px; padding: 55px 19px 38px; }
	.hero-slider__empty > img { object-position: 61% center; }
	.hero-slider__empty h1 { font-size: clamp(38px,9vw,49px); line-height: 1.08; }
	.inner-hero__image img { height: 280px; }
	.contact-page__photo img { height: 210px; }
}
@media (prefers-reduced-motion: reduce) {
	.hero-slide,.hero-slide.is-active,.hero-slide__visual img { transition: none; }
}
