:root {
    --anpet-primary: #1aa6ac;
    --anpet-primary-dark: #167b86;
    --anpet-primary-deep: #2b7d8d;
    --anpet-accent: #f29a2e;
    --anpet-text: #41586b;
    --anpet-heading: #364b5f;
    --anpet-muted: #6d7f8e;
    --anpet-light: #f4f5f6;
    --anpet-section: #f3f4f6;
    --anpet-footer: #3f5363;
    --anpet-radius: 26px;
    --anpet-shadow: 0 18px 44px rgba(15, 37, 54, 0.08);
}
html { scroll-behavior: smooth; }
body {
    font-family: 'DM Sans', sans-serif;
    color: var(--anpet-text);
    background: #fff;
}
h1,h2,h3,h4,h5,.display-title,.section-title {
    font-family: 'Source Serif 4', serif;
    color: var(--anpet-heading);
    font-weight: 700;
}
a { color: var(--anpet-primary-dark); }
a:hover { color: var(--anpet-primary); }
.anpet-container { max-width: 1220px; }
.site-logo { width: 305px; max-width: 100%; }
.navbar .nav-link {
    color: #16889a;
    letter-spacing: .02em;
    font-size: .93rem;
}
.navbar .nav-link.active,
.navbar .nav-link:hover { color: var(--anpet-primary-dark); }
.btn-anpet-primary {
    background: var(--anpet-accent);
    color: #fff;
    border: 0;
    font-weight: 700;
    box-shadow: 0 10px 25px rgba(242, 154, 46, 0.25);
}
.btn-anpet-primary:hover { background: #ea8a1a; color: #fff; }
.btn-anpet-outline {
    border: 2px solid rgba(255,255,255,.95);
    color: #fff;
    font-weight: 700;
}
.btn-anpet-outline:hover { background: #fff; color: var(--anpet-primary-dark); }
.hero {
    background: linear-gradient(90deg, #2c7f92 0%, #44beb8 100%);
    overflow: hidden;
}
.hero .hero-inner { min-height: 640px; }
.hero-copy { padding: 5.5rem 0 4.5rem; }
.hero-title {
    font-size: clamp(2.4rem, 3.3vw, 3.9rem);
    line-height: 1.05;
    color: #fff;
    margin-bottom: 1.75rem;
}
.hero-highlight {
    display: inline-block;
    width: 335px;
    max-width: 100%;
    height: 45px;
    border-radius: 4px;
    background: rgba(255,255,255,.08);
    margin-bottom: 1.3rem;
}
.hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 2.1rem;
    margin-bottom: 2rem;
}
.hero-meta .label {
    display: block;
    color: rgba(255,255,255,.78);
    font-size: .74rem;
    text-transform: uppercase;
    margin-bottom: .35rem;
    font-weight: 700;
}
.hero-meta .value {
    color: #fff;
    font-size: 1.55rem;
    font-weight: 700;
}
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.btn-pill-white {
    background:#fff; color:#3e6273; font-weight:700; border-radius:999px; padding:.95rem 1.7rem;
    box-shadow:0 10px 25px rgba(0,0,0,.09);
}
.btn-pill-white:hover { background:#f7f7f7; }
.btn-pill-outline {
    color:#fff; border:2px solid rgba(255,255,255,.95); border-radius:999px; padding:.9rem 1.7rem; font-weight:700;
}
.btn-pill-outline:hover { color:#2f6476; background:#fff; }
.hero-figure { position: relative; min-height: 640px; display:flex; align-items:flex-end; justify-content:center; }
.hero-figure img { width: min(118%, 790px); filter: drop-shadow(0 22px 42px rgba(10,33,47,.12)); }
.section-space { padding: 5rem 0; }
.section-soft { background: var(--anpet-section); }
.badge-pill {
    display:inline-block; background: var(--anpet-accent); color:#fff; padding:.45rem 1rem; border-radius:999px; font-size:.75rem;
    text-transform:uppercase; font-weight:700; letter-spacing:.08em;
}
.section-title { font-size: clamp(2rem, 3.5vw, 3.55rem); margin-top: 1rem; margin-bottom: 1rem; }
.section-subtitle { color: #7c8c97; font-size: 1.05rem; }
.about-copy p,
.page-copy p { font-size: 1.08rem; line-height: 1.95; color:#53697a; }
.about-photo,
.rounded-visual {
    border-radius: 18px;
    overflow: hidden;
}
.about-photo img,
.rounded-visual img { width:100%; display:block; }
.feature-card {
    background: linear-gradient(135deg, #2f7f90 0%, #49b8b0 100%);
    color:#fff;
    border-radius: 18px;
    padding: 2rem 2.1rem;
    box-shadow: var(--anpet-shadow);
}
.feature-card h3 { color:#fff; font-size: 2rem; margin-bottom: 1rem; }
.feature-card ul { margin: 0; padding-left: 0; list-style: none; }
.feature-card li {
    position: relative; padding-left: 2rem; margin-bottom: 1rem; color: rgba(255,255,255,.95); line-height:1.6;
}
.feature-card li::before {
    content: '✓'; position:absolute; left:0; top:0; width:1.3rem; height:1.3rem; border-radius:50%;
    background: rgba(255,255,255,.22); display:grid; place-items:center; font-size:.85rem; font-weight:700;
}
.timeline { position:relative; max-width: 980px; margin: 3rem auto 0; }
.timeline::before {
    content:''; position:absolute; top:0; bottom:0; left:50%; width:2px; background:#dbe3e8; transform:translateX(-50%);
}
.timeline-item { position:relative; margin-bottom: 2rem; }
.timeline-dot {
    position:absolute; left:50%; top:22px; transform:translateX(-50%);
    width:12px; height:12px; border-radius:50%; background: var(--anpet-accent); box-shadow:0 0 0 6px #fff;
}
.timeline-card {
    width: calc(50% - 2rem);
    background:#fff; border-radius:18px; box-shadow: var(--anpet-shadow); padding: 2rem;
}
.timeline-item:nth-child(odd) .timeline-card { margin-right:auto; }
.timeline-item:nth-child(even) .timeline-card { margin-left:auto; }
.timeline-date { color:#2d7f96; font-weight:700; margin-bottom:.7rem; }
.timeline-title { font-size:1.4rem; margin-bottom:.6rem; }
.topic-card {
    background:#fff; border-radius:18px; padding:2rem; height:100%; box-shadow:0 10px 30px rgba(18, 39, 56, .06); border-top:4px solid transparent;
}
.topic-card.active { border-top-color: var(--anpet-primary); box-shadow: var(--anpet-shadow); }
.topic-icon {
    width: 3.1rem; height: 3.1rem; border-radius: 14px; background: #f2f5f7; display:grid; place-items:center;
    font-size: 1.6rem; margin-bottom: 1.25rem;
}
.topic-card h3 { font-size:1.45rem; margin-bottom:.7rem; }
.topic-card p { color:#687b89; line-height:1.7; margin-bottom:0; }
.location {
    background: var(--anpet-footer);
    color:#fff;
}
.location .section-title,
.location h3,
.location h4 { color:#fff; }
.location p { color: rgba(255,255,255,.84); font-size:1.05rem; line-height:1.9; }
.info-item { display:flex; gap:1rem; margin-bottom:1.75rem; }
.info-icon {
    width:3rem; height:3rem; border-radius:12px; background: var(--anpet-accent); color:#fff; display:grid; place-items:center;
    flex:0 0 auto; font-size:1.15rem; box-shadow:0 10px 20px rgba(242,154,46,.25);
}
.footer-bar { background:#fff; color:#16889a; font-weight:700; }
.page-hero {
    background: linear-gradient(90deg, #2d7f92 0%, #46bdb9 100%);
    color:#fff; padding: 4rem 0;
}
.page-hero h1 { color:#fff; font-size: clamp(2.2rem, 4vw, 4rem); }
.page-hero p { color: rgba(255,255,255,.9); font-size:1.1rem; max-width:820px; }
.white-card {
    background:#fff; border-radius:22px; padding:2rem; box-shadow: var(--anpet-shadow); height:100%;
}
.list-clean { list-style:none; padding-left:0; margin-bottom:0; }
.list-clean li { padding:.75rem 0; border-bottom:1px solid #edf1f4; }
.list-clean li:last-child { border-bottom:0; }
.gallery-card { overflow:hidden; border-radius:20px; box-shadow: var(--anpet-shadow); background:#fff; }
.gallery-card img { width:100%; display:block; }
.form-control, .form-select {
    border-radius: 14px; padding: .9rem 1rem; border-color:#d7e0e6;
}
.card-muted { background:#f8fafb; border:1px solid #edf2f5; border-radius:20px; }
@media (max-width: 991.98px) {
    .site-logo { width: 250px; }
    .hero .hero-inner { min-height: auto; }
    .hero-copy { padding: 3.5rem 0 1rem; }
    .hero-figure { min-height: auto; padding-bottom: 2rem; }
    .hero-figure img { width: 100%; max-width: 640px; }
    .timeline::before { left: 18px; transform:none; }
    .timeline-dot { left: 18px; transform:none; }
    .timeline-card { width: calc(100% - 3.25rem); margin-left: 3.25rem !important; }
}
@media (max-width: 767.98px) {
    .section-space { padding: 3.5rem 0; }
    .hero-title { font-size: 2.7rem; }
    .hero-meta { gap: 1.25rem 1.5rem; }
    .hero-meta .value { font-size: 1.25rem; }
    .section-title { font-size: 2.25rem; }
    .feature-card, .white-card, .topic-card { padding: 1.5rem; }
}
