
:root{--ink:#19332e;--green:#285e49;--cream:#f7f6f0;--muted:#64716a;--line:#dfe5dc}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible, button:focus-visible{outline:3px solid #b77c28;outline-offset:5px}
.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:5px}
.topbar{background:#163c33;color:#e4eee2;text-align:center;font-size:11px;letter-spacing:1px;padding:8px 16px}
.header{max-width:1240px;margin:auto;padding:25px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{font-size:30px;font-weight:800;letter-spacing:-1.5px;line-height:1.15}.brand span{color:var(--green)}
.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:2px;margin-top:7px}
nav{display:flex;gap:27px;font-size:13px;font-weight:600}nav a:hover{color:var(--green)}
.menu{display:none;border:1px solid var(--line);border-radius:6px;background:white;padding:8px 12px}
.hero{background:var(--cream);border-top:1px solid #eceee5}
.hero-inner{max-width:1176px;margin:auto;padding:77px 0 65px}
.eyebrow{display:block;color:var(--green);font-size:10px;letter-spacing:2.2px;font-weight:700;margin:0 0 19px}
h1, h2, h3{line-height:1.15;margin:0;overflow-wrap:anywhere}
h1{font-family:Georgia,serif;font-size:clamp(42px,5.5vw,76px);font-weight:400;letter-spacing:-2.7px}
h1 em{color:var(--green);font-weight:400}
.intro{font-size:17px;color:#5b6b60;max-width:540px;margin:25px 0 30px}
.button{display:inline-flex;gap:35px;align-items:center;background:var(--green);color:white;padding:15px 23px;border-radius:5px;font-size:13px;font-weight:600}
.button:hover{background:#163e30}
.hero-bottom{max-width:1176px;margin:auto;padding:19px 0;border-top:1px solid #dfe3d6;display:flex;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:2px;color:#64735e}
.section{max-width:1176px;margin:auto;padding:66px 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}
h2{font-family:Georgia,serif;font-weight:400;font-size:37px;letter-spacing:-1px}
.section-heading>p{font-size:13px;color:var(--muted);margin:0}

.essentials{background:var(--cream)}

.essentials h3{font-family:Georgia,serif;font-size:35px;font-weight:400;margin:24px 0 15px}
.essentials p{font-size:14px;color:var(--muted)}
.read, .text-link{font-size:13px;font-weight:600;color:var(--green)}
.read{display:block;margin-top:25px}
.breadcrumb{font-size:12px;color:var(--muted)}
.page-heading{padding:38px 0}.page-heading h1{font-size:54px}
.empty{border:1px solid var(--line);background:#fafbf7;border-radius:10px;padding:60px 25px;text-align:center}
.empty-line{display:block;width:40px;height:3px;background:#8ca581;margin:0 auto 25px}
.empty h2{font-size:29px}.empty p{font-size:14px;color:var(--muted);max-width:470px;margin:20px auto}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.article-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.article-card img{width:100%;height:220px;object-fit:cover;display:block}
.article-copy{padding:24px}.article-copy h3{font-size:22px}.article-copy p{font-size:14px;color:var(--muted)}
.reading{max-width:780px;margin:auto;padding:55px 25px 80px}.reading h1{font-size:48px;margin-top:28px}
.reading h2{font-size:29px;margin-top:35px}.reading .intro{max-width:none}
.updated, .credit{font-size:12px;color:var(--muted)}
.cover{display:block;width:100%;height:auto;border-radius:10px;margin-top:25px}
.prose{line-height:1.85;overflow-wrap:anywhere}
footer{background:#16352f;color:#fff;padding:48px 32px 20px}
.footer-content{max-width:1176px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
footer .brand span{color:#b9d2a7}footer p{font-size:13px;color:#bac9bf}
footer b{display:block;font-size:12px;margin-bottom:15px}
.footer-content>div>a:not(.brand){display:block;font-size:12px;color:#c6d2c9;margin:8px 0}
.footer-bottom{max-width:1176px;margin:32px auto 0;border-top:1px solid #37534a;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#b7c6bc}
@media(max-width:1240px){.section, .hero-inner, .hero-bottom{margin-left:32px;margin-right:32px}}
@media(max-width:800px){
.header{padding:20px}.menu{display:block}
nav{display:none;position:absolute;top:117px;left:20px;right:20px;background:white;border:1px solid var(--line);border-radius:8px;padding:22px;z-index:10}
nav.open{display:flex;flex-direction:column;gap:18px}
.hero-inner{padding:48px 0}.hero-inner, .hero-bottom, .section{margin-left:22px;margin-right:22px}
h1{font-size:49px;letter-spacing:-1.7px}.intro{font-size:15px}
.hero-bottom{font-size:8px;letter-spacing:1px}
.section{padding:45px 0}.section-heading{align-items:start;flex-direction:column;gap:15px}
h2{font-size:31px}
.article-grid{grid-template-columns:1fr}
.essentials h3 br{display:none}.essentials h3{font-size:30px}
.footer-content{grid-template-columns:1fr 1fr;gap:25px}.footer-content>div:first-child{grid-column:1/-1}
.footer-bottom{flex-direction:column}.reading h1{font-size:37px}
}
@media(max-width:380px){h1{font-size:41px}.hero-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* PetWorld real animal hero */
.hero{
    background-color: #16352f;
    background-image:
        linear-gradient(90deg, rgba(10,30,24,.93) 0%, rgba(10,30,24,.77) 43%, rgba(10,30,24,.12) 100%),
        url("../images/pets-hero.jpg");
    background-size: cover;
    background-position: center, center 48%;
    color: #fff;
}
.hero-inner{ padding-top: 95px; padding-bottom: 85px; }
.hero h1{ max-width: 800px; text-shadow: 0 2px 18px rgba(0,0,0,.2); }
.hero h1 em{ color: #d4e8b9; }
.hero .eyebrow{ color: #d4e8b9; }
.hero .intro{ color: #edf1e8; max-width: 470px; }
.hero .button{ background: #e0edca; color: #18392e; }
.hero .button:hover{ background: #f1f7e8; }
.hero-bottom{
    color: #edf1e8;
    border-top-color: rgba(255,255,255,.25);
}
@media(max-width:800px) {
    .hero{
        background-image:
            linear-gradient(90deg, rgba(10,30,24,.88), rgba(10,30,24,.57)),
            url("../images/pets-hero.jpg");
        background-position: center, 62% center;
    }
    .hero-inner{ padding-top: 60px; padding-bottom: 60px; }
}

/* PetWorld brand refinement */
:root{
    --ink: #193b36;
    --green: #28634f;
    --muted: #677970;
}
body{
    font-family: "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.header{ padding-top: 23px; padding-bottom: 23px; }
.brand{
    display: inline-flex;
    align-items: center;
    gap: 11px;
    letter-spacing: normal;
    flex-shrink: 0;
}
.brand .brand-symbol{
    width: 49px;
    height: 49px;
    display: grid;
    place-items: center;
    background: #28634f;
    color: #f3f3df;
    border-radius: 16px 16px 16px 5px;
}
.brand-symbol svg{ width: 33px; height: 33px; }
.brand .brand-words{ display: block; color: var(--ink); }
.brand .brand-name{
    display: block;
    color: var(--ink);
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -1.4px;
}
.brand .brand-name > span{ color: #367356; }
.brand small{
    color: #6a7b6e;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 1.8px;
    margin-top: 6px;
}
h1, h2, .essentials h3{
    font-family: Georgia, "Times New Roman", serif;
}
h1{ letter-spacing: -2px; line-height: 1.12; }
h2{ letter-spacing: -1.1px; line-height: 1.2; }
.eyebrow{ font-size: 10px; letter-spacing: 2px; }
nav{ gap: 8px; }
nav a{
    padding: 9px 13px;
    border-radius: 8px;
    transition: background .18s, color .18s;
}
nav a:hover{ background: #eef4eb; color: #28634f; }
.section-heading{ margin-bottom: 34px; }

.essentials h3{ font-size: 37px; letter-spacing: -1px; }
.essentials .read{ padding-top: 20px; border-top: 1px solid #e0e7db; }
.button{ border-radius: 9px; }
.empty{ border-radius: 20px; }
footer .brand .brand-name{ color: #fff; }
footer .brand .brand-name > span{ color: #c4dda9; }
footer .brand small{ color: #b7c7b8; }
footer .brand .brand-symbol{ background: #34594b; color: #dbe8bc; }
@media(max-width:800px) {
    .header{ padding: 18px 20px; }
    .brand .brand-name{ font-size: 26px; }
    .brand .brand-symbol{ width: 43px; height: 43px; border-radius: 14px 14px 14px 4px; }
    .brand-symbol svg{ width: 29px; height: 29px; }
    .brand small{ font-size: 7px; letter-spacing: 1.3px; }
    nav{ top: 112px; }

    .essentials h3{ font-size: 31px; }
}

@media(prefers-reduced-motion:reduce) {
    nav a{ transition: none; }
    
}

/* PetWorld elegant navigation */
.header{ position: relative; }
#navigation{
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px;
    border: 1px solid #e4e9df;
    border-radius: 16px;
    background: #f6f8f2;
    box-shadow: 0 3px 10px rgba(25,59,54,.025);
}
#navigation a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 43px;
    padding: 10px 17px;
    border-radius: 11px;
    color: #526758;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .15px;
    white-space: nowrap;
    transition: background .18s, color .18s, box-shadow .18s;
}
#navigation a:hover{
    color: #214f3e;
    background: #e7eedf;
}
#navigation a.selected{
    color: #fff;
    background: #285e49;
    box-shadow: 0 3px 8px rgba(30,77,55,.14);
}
#navigation a.selected:hover{ background: #214f3e; }
.nav-detail{ font-size: 15px; opacity: .7; }
.menu{
    background: #f2f6ed;
    border-color: #dce6d5;
    border-radius: 10px;
    color: #285e49;
    font-size: 12px;
    font-weight: 600;
    padding: 10px 14px;
}
@media(min-width:801px) and (max-width:1050px) {
    #navigation a{ padding: 10px 11px; font-size: 11px; }
    .header{ gap: 16px; padding-left: 22px; padding-right: 22px; }
}
@media(max-width:800px) {
    #navigation{
        display: none;
        position: absolute;
        top: calc(100% - 3px);
        left: 20px;
        right: 20px;
        padding: 10px;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 15px 35px rgba(25,59,54,.12);
        gap: 5px;
    }
    #navigation.open{ display: flex; flex-direction: column; align-items: stretch; }
    #navigation a{
        justify-content: space-between;
        min-height: 46px;
        padding: 12px 17px;
        font-size: 13px;
    }
}
@media(prefers-reduced-motion:reduce) {
    #navigation a{ transition: none; }
}

/* PetWorld story carousel */
[hidden]{ display: none !important; }

.stories-section{ padding-bottom: 15px; }
.story-controls{ display: flex; gap: 8px; align-items: center; }
.story-controls button{
    min-width: 42px;
    min-height: 42px;
    padding: 8px 13px;
    background: #fff;
    color: #285e49;
    border: 1px solid #dce5d8;
    border-radius: 10px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
}
.story-controls button:hover{ background: #edf3e7; }
.story-slide{
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border-radius: 22px;
    background: #edf2e8;
    border: 1px solid #dfe7d9;
}
.story-image{
    display: block;
    width: 100%;
    height: 390px;
    object-fit: cover;
}
.story-plain{
    min-height: 390px;
    display: grid;
    place-items: center;
    background: #234c3c;
    color: #dbe9c7;
    font-family: Georgia, serif;
    font-size: 32px;
    padding: 25px;
}
.story-copy{ padding: 42px; align-self: center; }
.story-copy h3{
    font-family: Georgia, serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
}
.story-copy > p:not(.eyebrow){ color: #617160; font-size: 14px; }
.story-copy .button{ margin-top: 10px; }
.story-count{ display: block; margin-top: 22px; color: #71816c; font-size: 10px; letter-spacing: 2px; }
@media(max-width:800px) {
    .story-slide{ grid-template-columns: 1fr; }
    .story-image{ height: 260px; }
    .story-plain{ min-height: 180px; }
    .story-copy{ padding: 27px; }
    .story-copy h3{ font-size: 28px; }
    
}

/* PetWorld photo cards final */
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.photo-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e1e7dd;border-radius:20px;box-shadow:0 5px 20px #16352f08;transition:transform .2s,box-shadow .2s}
.photo-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #16352f18}
.photo-frame{position:relative;overflow:hidden;aspect-ratio:16/11;background:#e7ede3}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.photo-card:hover img{transform:scale(1.04)}
.photo-arrow{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:39px;height:39px;background:#fff;color:#285e49;border-radius:50%;font-size:23px}
.photo-copy{padding:26px;display:flex;flex-direction:column;flex:1}
.photo-copy h3, .essentials .photo-copy h3{font-family:Georgia,serif;font-size:31px;font-weight:400;letter-spacing:-.6px;margin:0}
.photo-copy p{color:#68796d;font-size:14px;line-height:1.75;margin:14px 0 24px}
.photo-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;border-top:1px solid #e6ece1;padding-top:16px;font-size:12px;font-weight:600;color:#285e49}
.photo-link>span{font-size:20px}
@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.photo-grid{grid-template-columns:1fr}.photo-frame{aspect-ratio:16/10}.photo-copy{padding:25px}}
@media(prefers-reduced-motion:reduce){.photo-card, .photo-frame img{transition:none}.photo-card:hover, .photo-card:hover img{transform:none}}

/* PetWorld midnight ivory redesign */
:root{
    --ink: #203546;
    --green: #294e64;
    --cream: #f5f1e9;
    --muted: #70797f;
    --line: #e3e0d9;
}
body{ background: #fcfbf8; color: var(--ink); }
.topbar{ background: #172e40; color: #eee6d5; }
.header{ padding-top: 27px; padding-bottom: 27px; }
.brand .brand-symbol{ background: #203e54; color: #f1dfb9; }
.brand .brand-name{ color: #203546; }
.brand .brand-name > span{ color: #9a743c; }
.brand small{ color: #7a7e7c; }
#navigation{
    background: #f2efe8;
    border-color: #e7e0d5;
    box-shadow: none;
}
#navigation a{ color: #53606b; }
#navigation a:hover{ background: #e7e8e5; color: #203e54; }
#navigation a.selected, #navigation a.selected:hover{
    background: #203e54;
    color: #fff;
    box-shadow: 0 3px 8px #172e4015;
}
.menu{ background: #f4f0e8; color: #203e54; border-color: #dfd9cd; }

.hero{
    max-width: 1310px;
    margin: 0 auto 12px;
    border: none;
    border-radius: 26px;
    overflow: hidden;
    background-color: #172e40;
    background-image:
        linear-gradient(90deg,rgba(15,35,51,.96) 0%,rgba(15,35,51,.83) 43%,rgba(15,35,51,.18) 100%),
        url("../images/pets-hero.jpg");
    background-size: cover;
    background-position: center, center 48%;
    box-shadow: 0 15px 40px #172e4010;
}
.hero-inner{ padding: 85px 36px 75px; }
.hero h1{
    font-size: clamp(43px,5vw,69px);
    letter-spacing: -2px;
    line-height: 1.13;
}
.hero h1 em{ color: #e8cfa2; }
.hero .eyebrow{ color: #e8cfa2; }
.hero .intro{ color: #e1e5e7; }
.hero .button{ background: #ead6b4; color: #203546; }
.hero .button:hover{ background: #f5e5c9; }
.hero-bottom{
    padding-left: 36px;
    padding-right: 36px;
    color: #d8dfe3;
    border-color: #ffffff26;
}
.eyebrow{ color: #927044; }
.button{ background: #203e54; }
.button:hover{ background: #152e42; }
.section-heading > p{ color: #7b817f; }

#companions .photo-grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
}
#companions .photo-card{
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 228px;
    border-radius: 18px;
    border-color: #e6e1d7;
    box-shadow: 0 4px 17px #20354605;
    background: #fffefa;
}
#companions .photo-frame{
    aspect-ratio: auto;
    min-height: 228px;
    height: 100%;
    background: #e6e5df;
}
#companions .photo-frame img{ position: absolute; inset: 0; }
#companions .photo-arrow{ display: none; }
#companions .photo-copy{
    padding: 29px 25px 24px;
    justify-content: center;
}
#companions .photo-copy h3{ font-size: 31px; color: #203546; }
#companions .photo-copy p{ margin: 13px 0 20px; font-size: 13px; color: #707c80; }
.photo-card:hover{
    border-color: #c6baa4;
    box-shadow: 0 14px 30px #20354612;
}
.photo-link{ color: #294e64; border-top-color: #e9e5dc; }
.photo-arrow{ color: #203e54; background: #fffaf0; }

.essentials{
    background: #f0ece3;
    border-top: 1px solid #e7e0d5;
    border-bottom: 1px solid #e7e0d5;
}
.essentials .photo-grid{ gap: 25px; }
.essentials .photo-card{
    border: 1px solid #e0d9cd;
    border-radius: 18px;
    background: #fffefa;
}
.essentials .photo-frame{ aspect-ratio: 16 / 9; }
.essentials .photo-copy{ padding: 29px; }
.essentials .photo-copy h3{ font-size: 30px; color: #203546; }
.essentials .photo-copy p{ color: #707c80; }

.story-slide{ background: #f1ede4; border-color: #e4dccf; }
.story-plain{ background: #203e54; color: #ead6b4; }
.story-copy > p:not(.eyebrow){ color: #707c80; }
.story-controls button{ color: #203e54; border-color: #ded9ce; background: #fffefa; }
.story-controls button:hover{ background: #eee8dc; }
.empty{ background: #f5f2eb; border-color: #e3dccf; }
.empty-line{ background: #b29363; }
.text-link, .read{ color: #294e64; }
footer{ background: #172e40; }
footer .brand .brand-name{ color: #fff; }
footer .brand .brand-name > span{ color: #e8cfa2; }
footer .brand .brand-symbol{ background: #2c465b; color: #ead6b4; }
footer .brand small, footer p{ color: #bec9d0; }
.footer-content > div > a:not(.brand){ color: #ccd4da; }
.footer-bottom{ border-color: #3a4e5d; color: #bdc8d0; }

@media(max-width:1350px) {
    .hero{ margin-left: 22px; margin-right: 22px; }
}
@media(max-width:1000px) and (min-width:701px) {
    #companions .photo-card{ grid-template-columns: 39% 61%; }
    #companions .photo-copy{ padding: 22px 19px; }
    #companions .photo-copy h3{ font-size: 26px; }
    .essentials .photo-grid{ grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
    .essentials .photo-copy{ padding: 22px; }
    .essentials .photo-copy h3{ font-size: 25px; }
}
@media(max-width:800px) {
    .hero{ border-radius: 20px; margin-left: 14px; margin-right: 14px; }
    .hero-inner{ margin: 0; padding: 55px 27px; }
    .hero-bottom{ margin: 0 27px; padding-left: 0; padding-right: 0; }
    .hero{
        background-image:
            linear-gradient(90deg,rgba(15,35,51,.92),rgba(15,35,51,.57)),
            url("../images/pets-hero.jpg");
        background-position: center, 62% center;
    }
    #navigation{ background: #fffefa; }
}
@media(max-width:700px) {
    #companions .photo-grid{ grid-template-columns: 1fr; gap: 18px; }
    #companions .photo-card{ grid-template-columns: 40% 60%; min-height: 215px; }
    #companions .photo-frame{ min-height: 215px; }
    #companions .photo-copy{ padding: 23px 21px; }
    #companions .photo-copy h3{ font-size: 28px; }
    .essentials .photo-grid{ grid-template-columns: 1fr; }
}
@media(max-width:380px) {
    #companions .photo-card{ grid-template-columns: 1fr; }
    #companions .photo-frame{ height: 210px; min-height: 210px; }
    #companions .photo-copy{ min-height: 205px; }
}

/* PetWorld split hero and uncropped reptile */
.hero{
    background: #f1ece2;
    color: #203546;
    border: 1px solid #e5dccd;
    box-shadow: none;
}
.hero-layout{
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: center;
    gap: 22px;
    padding: 34px;
}
.hero .hero-inner{
    margin: 0;
    padding: 35px 12px 35px 20px;
    max-width: none;
}
.hero h1{
    font-size: clamp(38px,4.3vw,60px);
    text-shadow: none;
}
.hero h1 em{ color: #876539; }
.hero .eyebrow{ color: #876539; }
.hero .intro{ color: #657078; }
.hero .button{ background: #203e54; color: #fff; }
.hero .button:hover{ background: #152e42; }
.hero-photo-panel{
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 150px 150px 22px 22px;
    background: #deded0;
    border: 7px solid #fffaf0;
    box-shadow: 0 12px 28px #20354612;
}
.hero-photo-panel img{
    display: block;
    width: 100%;
    height: auto;
}
.hero-bottom{
    color: #69747a;
    border-color: #ded6c8;
}
#companions .photo-card[href$="/reptiles/"] .photo-frame{
    background: #e4e9dd;
}
#companions .photo-card[href$="/reptiles/"] .photo-frame img{
    object-fit: contain;
    object-position: center;
}
#companions .photo-card[href$="/reptiles/"]:hover img{
    transform: none;
}
@media(max-width:800px) {
    .hero{ background: #f1ece2; }
    .hero-layout{
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 23px;
    }
    .hero .hero-inner{ padding: 15px 0 20px; }
    .hero h1{ font-size: clamp(36px,7vw,50px); }
    .hero-photo-panel{
        max-width: 550px;
        width: 100%;
        margin: auto;
        border-radius: 80px 80px 18px 18px;
        border-width: 5px;
    }
    .hero-bottom{ margin: 0 23px; }
}

/* PetWorld background behind category cards */
body{
    background-color: #f7f5ef;
}
main{
    background:
        radial-gradient(ellipse 65% 32% at 0% 38%,
            rgba(174,197,209,.23), transparent 75%),
        radial-gradient(ellipse 55% 30% at 100% 65%,
            rgba(220,199,163,.25), transparent 75%),
        #f7f5ef;
}
.header{
    background: #fcfbf8;
}
#companions{
    position: relative;
    background: transparent;
}
#companions .photo-card{
    background: #fffefa;
    border-color: #e2dfd6;
    box-shadow: 0 7px 24px rgba(32,53,70,.055);
}
#companions .photo-card:hover{
    box-shadow: 0 15px 32px rgba(32,53,70,.10);
}
.essentials{
    background:
        radial-gradient(ellipse at 8% 95%,
            rgba(173,195,207,.20), transparent 60%),
        radial-gradient(ellipse at 95% 5%,
            rgba(221,199,160,.24), transparent 60%),
        #efede6;
    border-top: 1px solid #e4dfd4;
    border-bottom: 1px solid #e4dfd4;
}
.essentials .photo-card{
    background: #fffefa;
    border-color: #e2ddd2;
    box-shadow: 0 7px 24px rgba(32,53,70,.05);
}

/* PetWorld information pages */
.info-page{max-width:850px;margin:0 auto;padding:60px 28px 85px}
.info-page>.eyebrow{margin-top:35px}
.info-page h1{font-size:clamp(37px,5vw,56px);line-height:1.15}
.info-intro{font-size:19px;color:#61717a;line-height:1.8;margin:27px 0 35px}
.info-page h2{font-size:28px;margin:34px 0 15px}
.info-page p:not(.eyebrow){line-height:1.85}
.info-page .button{margin-top:15px}
.footer-policies{max-width:1176px;margin:30px auto 0;display:flex;flex-wrap:wrap;gap:22px;font-size:12px;color:#d7dfe3}
.footer-policies a:hover{text-decoration:underline}
@media(max-width:600px){.info-page{padding:38px 22px 60px}.info-intro{font-size:17px}}

/* PetWorld article search */
.library-page h1{font-size:clamp(38px,5vw,58px)}
.library-intro{color:#65757d;margin:20px 0 30px}
.library-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:16px;align-items:end;padding:25px;background:#f0ede5;border:1px solid #e2dbce;border-radius:16px;margin:25px 0 35px}
.library-search label{display:block;font-size:12px;font-weight:600;color:#425764;margin-bottom:8px}
.library-search input, .library-search select{width:100%;min-height:48px;border:1px solid #d1d9d9;border-radius:8px;background:#fff;color:#203546;padding:12px;font:inherit;font-size:14px}
.library-search input:focus-visible, .library-search select:focus-visible{outline:3px solid #b29363;outline-offset:2px}
.library-search button{border:0;cursor:pointer;min-height:48px;justify-content:center}
.result-count{font-size:13px;color:#68777e;margin:0 0 22px}
.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:35px;padding:18px}
.pagination a{padding:10px 16px;border:1px solid #d9dfdc;background:#fff;border-radius:8px;color:#294e64;font-size:13px}
.pagination span{font-size:13px;color:#68777e}
.category-library-link{margin:0 0 30px}
@media(min-width:801px) and (max-width:1150px){
.header{gap:12px}
#navigation{gap:2px}
#navigation a{padding:10px 8px;font-size:11px}
}
@media(max-width:700px){
.library-search{grid-template-columns:1fr;padding:20px}
.library-search button{width:100%}
}

/* PetWorld error pages */
.error-page{max-width:760px;margin:auto;padding:65px 25px 85px;text-align:center}
.error-number{display:block;font:normal clamp(90px,17vw,150px)/1 Georgia,serif;color:#bacbd2;margin:20px 0}
.error-page h1{font-size:clamp(34px,5vw,49px)}
.error-page>p:not(.eyebrow){max-width:520px;margin:24px auto;color:#65757d}
.error-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:22px;margin:30px 0}
.error-secondary{font-size:14px;font-weight:600;color:#294e64}
.error-search{max-width:460px;margin:38px auto 0;text-align:left}
.error-search label{display:block;font-size:13px;margin-bottom:9px;color:#526875}
.error-search>div{display:flex;gap:8px}
.error-search input{min-width:0;flex:1;padding:13px;border:1px solid #ccd7dc;border-radius:8px;font:inherit;background:white}
.error-search button{border:0;border-radius:8px;padding:12px 18px;background:#203e54;color:#fff;font:inherit;cursor:pointer}
.error-search input:focus-visible{outline:3px solid #b29363;outline-offset:2px}
@media(max-width:420px){.error-search>div{flex-direction:column}}

/* PetWorld formatted article reading */
.reading{max-width:850px}
.reading>h1{line-height:1.17;letter-spacing:-1.2px}
.reading>.intro{font-size:19px;line-height:1.8}
.article-body{font-size:17px;line-height:1.9;margin-top:34px}
.article-body h2{font-size:31px;margin:42px 0 18px;line-height:1.3}
.article-body h3{font-size:23px;margin:30px 0 14px;line-height:1.4}
.article-body h4{font-size:19px;margin:25px 0 12px}
.article-body p{margin:0 0 23px}
.article-body ul, .article-body ol{padding-left:26px;margin:18px 0 28px}
.article-body li{padding-left:6px;margin:10px 0}
.article-body li::marker{color:#927044;font-weight:600}
.article-body a{color:#294e64;text-decoration:underline;text-underline-offset:3px}
.article-body blockquote{margin:30px 0;padding:20px 25px;border-left:4px solid #b29363;background:#f0ede5;border-radius:0 12px 12px 0}
.article-body blockquote p:last-child{margin-bottom:0}
.article-body table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:28px 0;font-size:14px}
.article-body th, .article-body td{border:1px solid #dce2df;padding:12px 16px;text-align:left;min-width:120px}
.article-body th{background:#e7edf0;font-weight:600}
.article-body tr:nth-child(even) td{background:#f7f6f1}
.article-body hr{border:0;border-top:1px solid #dce2df;margin:35px 0}
.article-body pre{background:#eef1ee;padding:18px;border-radius:8px;overflow-x:auto}
.article-body code{font-size:.88em;background:#eef1ee;padding:2px 5px;border-radius:4px}
.article-body pre code{padding:0}
.reading .cover{max-height:560px;object-fit:contain;background:#f0ede5}
.reading .credit{overflow-wrap:anywhere;line-height:1.7}
@media(max-width:600px){
.article-body{font-size:16px}
.article-body h2{font-size:26px}
.article-body h3{font-size:21px}
.reading>.intro{font-size:17px}
}

/* PetWorld mobile header correction */
@media(max-width:800px) {
    .header{
        width:100%;
        max-width:100%;
        padding:18px;
        gap:12px;
        justify-content:space-between;
    }
    .header .brand{
        flex:1 1 auto;
        min-width:0;
        gap:9px;
    }
    .header .brand-words{
        min-width:0;
    }
    .header .brand-name{
        font-size:25px;
        white-space:nowrap;
        letter-spacing:-1px;
    }
    .header .brand small{
        max-width:180px;
        white-space:normal;
        overflow-wrap:anywhere;
        line-height:1.5;
        letter-spacing:1px;
    }
    .header .brand-symbol{
        flex:0 0 42px;
        width:42px;
        height:42px;
    }
    .header .menu{
        flex:0 0 auto;
        min-width:64px;
        min-height:44px;
        padding:9px 12px;
        white-space:nowrap;
    }
    #navigation{
        left:14px;
        right:14px;
        max-height:70vh;
        overflow-y:auto;
        box-sizing:border-box;
    }
    footer .brand{
        max-width:100%;
        min-width:0;
    }
    footer .brand-name{
        white-space:nowrap;
    }
    .hero .button{
        max-width:100%;
        white-space:normal;
        text-align:start;
    }
    .photo-copy, .section-heading > *{
        min-width:0;
    }
    .photo-link{
        overflow-wrap:anywhere;
    }
}
@media(max-width:360px) {
    .header{ padding:16px 12px; gap:8px; }
    .header .brand-name{ font-size:22px; }
    .header .brand small{ max-width:135px; font-size:7px; }
}

/* PetWorld article card publication details */
.article-copy{display:flex;flex-direction:column;flex:1}
.article-card{display:flex;flex-direction:column}
.article-card-meta{
    display:flex;flex-wrap:wrap;justify-content:space-between;
    gap:8px 16px;margin-top:auto;padding-top:15px;
    font-size:11px;line-height:1.6;color:#6c7a81;
    border-top:1px solid #e3e7e3;
}
.article-copy .eyebrow{line-height:1.8;letter-spacing:1px}
.article-copy .read{margin-top:16px}

/* PetWorld published story ticker */
.story-ticker{background:#19364b;color:#f6f0e4;margin-bottom:22px}
.ticker-inner{max-width:1240px;margin:auto;padding:0 25px;display:flex;align-items:center;gap:13px;min-height:54px}
.ticker-label{display:flex;align-items:center;gap:9px;flex-shrink:0;color:#ead6b4;font-size:12px;font-weight:700;padding:15px 16px 15px 0;border-right:1px solid #ffffff26}
.ticker-dot{width:7px;height:7px;background:#ead6b4;border-radius:50%}
.ticker-window{flex:1;min-width:0;overflow:hidden}
.ticker-track{display:flex;width:max-content;max-width:none}
.ticker-group{display:flex;align-items:center;flex-shrink:0;gap:36px;padding-right:36px}
.ticker-group a{display:flex;gap:12px;align-items:center;white-space:nowrap;color:#f3f1ec;font-size:13px;padding:14px 3px}
.ticker-group a:hover{text-decoration:underline}
.ticker-group a>span{color:#d9bc87;font-size:12px}
.is-moving .ticker-track{animation:petworld-ticker 42s linear infinite}
.ticker-inner:hover .ticker-track, .ticker-inner:focus-within .ticker-track{animation-play-state:paused}
.ticker-pause:checked ~ .ticker-window .ticker-track{animation-play-state:paused}
.ticker-pause{accent-color:#ead6b4;flex-shrink:0;margin:0;width:16px;height:16px}
.ticker-pause-label{font-size:10px;color:#d6e0e5;white-space:nowrap;cursor:pointer}
.ticker-empty{font-size:12px;color:#d2dde3;margin:0;padding:14px 0}
@keyframes petworld-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){
.ticker-inner{padding:0 16px;gap:10px;flex-wrap:wrap}
.ticker-label{font-size:11px;border-right:0;padding:12px 0}
.ticker-window{flex-basis:100%;border-top:1px solid #ffffff1a}
.ticker-pause-label{font-size:10px}
.ticker-group a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
.is-moving .ticker-track{animation:none}
.ticker-window{overflow-x:auto}
.ticker-group[aria-hidden="true"]{display:none}
.ticker-pause, .ticker-pause-label{display:none}
}

/* PetWorld footer policy icons */
footer .footer-policies {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 22px;
}
footer .footer-policies a {
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:44px;
    padding:6px 0;
    text-decoration:none;
}
footer .footer-policies .policy-icon {
    display:block;
    width:21px;
    height:21px;
    flex:0 0 21px;
    color:#d8c49e;
}
footer .footer-policies a:hover span {
    text-decoration:underline;
    text-underline-offset:5px;
}
footer .footer-policies a:focus-visible {
    outline:2px solid #d8c49e;
    outline-offset:5px;
    border-radius:4px;
}
@media(max-width:600px) {
    footer .footer-policies {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px 16px;
    }
    footer .footer-policies a {
        font-size:14px;
        line-height:1.5;
    }
}
@media(max-width:340px) {
    footer .footer-policies {
        grid-template-columns:1fr;
    }
}


/* PetWorld stories: responsive polish and subtle slide entrance */
.stories-section {
    padding-block: clamp(36px, 5vw, 68px);
}
.story-slide {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    min-height: 360px;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(32, 53, 70, .10);
}
.story-image {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}
.story-copy {
    padding: clamp(26px, 5vw, 64px);
}
.story-copy h3 {
    font-size: clamp(28px, 3vw, 42px);
}
.story-copy h3 a {
    color: inherit;
    text-decoration: none;
    text-underline-offset: 5px;
}
.story-copy h3 a:hover {
    text-decoration: underline;
    text-decoration-color: #b29363;
}
.story-controls button {
    border-radius: 999px;
    transition: transform .2s ease, box-shadow .2s ease;
}
.story-controls button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(32, 53, 70, .10);
}
.story-slide.story-entering {
    animation: petworld-story-enter .48s cubic-bezier(.2, .75, .25, 1) both;
}
@keyframes petworld-story-enter {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 800px) {
    .story-slide {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 18px;
    }
    .story-image {
        height: 260px;
        min-height: 260px;
    }
    .story-copy {
        padding: 26px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .story-slide.story-entering {
        animation: none;
    }
}
