:root{--pp-ink:#19352d;--pp-muted:#59685e;--pp-sage:#536f59;--pp-cream:#faf7f0;--pp-peach:#f5ece1;--pp-line:#e5e5d9;--bs-body-font-family:Arial,Helvetica,sans-serif;--bs-body-color:var(--pp-ink);--bs-body-bg:var(--pp-cream);--bs-link-color:var(--pp-ink);--bs-link-hover-color:#395942}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body.pawpals-site{margin:0;background:var(--pp-cream);color:var(--pp-ink);font:16px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3,h4,.brand{font-family:Georgia,'Times New Roman',serif;line-height:1.1;letter-spacing:-.035em;color:var(--pp-ink)}h1{font-size:clamp(2.65rem,5vw,4.9rem)}h2{font-size:clamp(2rem,3.1vw,3rem)}h3{font-size:1.75rem}p{margin:0 0 1.25rem}a{color:inherit;text-underline-offset:5px}img{max-width:100%;height:auto}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9a532c;outline-offset:5px}.shell{width:min(1320px,calc(100% - 96px));margin-inline:auto}.section{padding-block:46px}.skip-link{position:absolute;z-index:100;left:16px;top:-100px;background:#fff;padding:12px 20px}.skip-link:focus{top:12px}.site-header{background:#faf7f0f5;border-bottom:1px solid var(--pp-line);position:relative;z-index:20}.header-inner{display:flex;align-items:center;gap:30px;min-height:86px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:36px;font-weight:700;white-space:nowrap}.brand-logo{max-width:240px;max-height:62px;width:auto}.main-navigation{margin-inline:auto}.main-navigation ul{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:27px}.main-navigation li{position:relative}.main-navigation a,.main-navigation .nav-header{display:block;padding:8px 0;text-decoration:none;font-size:15px;white-space:nowrap}.main-navigation .current>a,.main-navigation a:hover{box-shadow:0 2px 0 var(--pp-sage)}.main-navigation ul ul{display:none;position:absolute;top:100%;left:-16px;min-width:190px;background:var(--pp-cream);padding:12px 18px;border:1px solid var(--pp-line);box-shadow:0 8px 24px #19352d12}.main-navigation li:hover>ul,.main-navigation li:focus-within>ul{display:block}.main-navigation ul ul ul{left:100%;top:0}.button,.btn-primary{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--pp-sage);color:#fff;border:1px solid var(--pp-sage);border-radius:99px;text-decoration:none;font-weight:600;line-height:1.4;padding:14px 28px;min-height:48px;transition:background .15s}.button:hover,.btn-primary:hover{background:#3b5742;color:#fff}.portal-link{padding:10px 20px;font-size:14px;min-height:43px}.menu-toggle{display:none;background:none;border:1px solid var(--pp-line);border-radius:8px;padding:8px 12px;color:var(--pp-ink);min-height:44px}.hero{position:relative;min-height:500px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#f8f3e9}.hero-art{position:absolute;z-index:-2;width:100%;height:100%;inset:0;object-fit:cover;object-position:center}.hero-inner{padding-block:58px}.hero-copy{width:51%;max-width:660px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#4e6855;margin-bottom:22px}.hero h1{margin:0 0 22px}.hero .lead{font:22px/1.5 Georgia,serif;max-width:490px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:28px;flex-wrap:wrap}.text-link{display:inline-block;font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--pp-sage);padding-bottom:4px}.text-link span{margin-left:12px}.hero-note{font:italic 17px Georgia,serif;color:#8b593d;margin:26px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.section-heading h2{margin:0}.section-heading p{margin:0;color:var(--pp-muted);font:15px/1.5 Georgia,serif}.animal-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.animal-card{display:grid;grid-template-columns:47% 53%;min-height:242px;background:#eeeee3;border-radius:14px;overflow:hidden}.animal-photo{position:relative;min-height:242px;overflow:hidden;background:#e0e4d4}.animal-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.animal-copy{padding:28px;display:flex;flex-direction:column;align-items:flex-start}.animal-copy h3{font-size:32px;margin:0 0 10px}.animal-copy p{font:17px/1.5 Georgia,serif;color:#46574a}.animal-copy .text-link{margin-top:auto}.animal-symbol{font:36px Georgia,serif;color:#ab9573;margin:0 0 22px}.news-band{background:var(--pp-peach)}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;margin:0;padding:0}.news-card{padding:25px;background:#fffcf7;border-radius:12px;border:1px solid #eaded2;height:100%}.news-card h3{font-size:23px;margin:10px 0}.news-card h3 a{text-decoration:none}.news-card p{color:var(--pp-muted);font-size:15px}.news-card time{font-size:12px;color:var(--pp-muted)}.news-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.news-empty{padding:24px 28px;border:1px dashed #c9b8a5;border-radius:12px;color:var(--pp-muted);background:#fffcf76b}.news-empty p{margin:0}.welcome-strip{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:32px 40px;border:1px solid var(--pp-line);border-radius:16px;background:#f0f1e6}.welcome-strip h2{font-size:32px;margin:0 0 10px}.welcome-strip p{margin:0;color:var(--pp-muted)}.site-footer{border-top:1px solid var(--pp-line);padding-block:28px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.site-footer .brand{font-size:27px}.site-footer p{font-size:13px;color:var(--pp-muted);margin:0}.component-wrap{padding-block:48px;min-height:380px}.article-content{min-width:0}.article-content>.com-content-article{max-width:900px}.article-content h1,.page-header h1{font-size:clamp(2.3rem,4vw,3.5rem);margin-bottom:25px}.article-content h2{font-size:2rem}.article-content .article-info{font-size:13px;color:var(--pp-muted)}.content-layout.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px}.blog-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.blog-item{background:#fffdf8;border:1px solid var(--pp-line);border-radius:14px;padding:28px}.article-content .form-control,.article-content .form-select{max-width:650px}.article-content table{max-width:100%;display:block;overflow-x:auto}.article-content iframe{max-width:100%}.article-content .item-image img{border-radius:14px}.breadcrumb{gap:8px;font-size:13px}.moduletable h3{font-size:24px}.alert{margin:15px auto;width:min(1320px,calc(100% - 40px))}joomla-alert{max-width:1320px;margin:16px auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1600px){.hero{min-height:560px}}
@media(max-width:1100px){.shell{width:calc(100% - 56px)}.header-inner{gap:20px}.main-navigation ul{gap:18px}.brand{font-size:32px}.hero-copy{width:55%}.hero h1{font-size:58px}.animal-copy{padding:23px}.animal-copy h3{font-size:28px}}
@media(max-width:960px){.header-inner{flex-wrap:wrap;padding-block:16px;gap:16px;min-height:80px}.brand{margin-right:auto}.portal-link{order:2}.menu-toggle{order:3}.main-navigation{order:4;width:100%}.main-navigation ul{flex-wrap:wrap;justify-content:flex-start}.has-navigation-js .menu-toggle{display:inline-flex;gap:10px;align-items:center}.has-navigation-js .main-navigation:not(.is-open){display:none}.main-navigation ul ul{position:static;display:block;border:0;box-shadow:none;padding:0 14px;font-size:13px;min-width:0}.main-navigation ul ul a{font-size:13px}.hero{min-height:480px}.hero-copy{width:59%}.hero h1{font-size:50px}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf7f0cf 5%,#faf7f06b 52%,transparent 80%)}.hero .lead{font-size:20px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.animal-card{grid-template-columns:1fr}.animal-photo{min-height:210px}.animal-photo img{object-fit:cover;width:100%;height:100%}.animal-copy{min-height:215px}.news-grid{grid-template-columns:1fr 1fr}.news-grid>li:last-child{grid-column:1/-1}.content-layout.with-sidebar{grid-template-columns:1fr}}
@media(max-width:600px){.shell{width:calc(100% - 36px)}.header-inner{gap:10px}.brand{font-size:28px;gap:6px}.brand>img:not(.brand-logo){width:30px;height:30px}.portal-link{font-size:12px;padding:9px 13px;min-height:40px}.portal-link span{display:none}.menu-toggle{font-size:12px;min-height:40px;padding:7px 10px}.main-navigation>div>ul,.main-navigation>ul{display:block}.main-navigation a{padding:9px 0}.hero{min-height:680px;align-items:flex-start}.hero-art{height:340px;top:auto;bottom:0;object-fit:cover;object-position:76% center}.hero:before{background:linear-gradient(#faf7f0 0%,#faf7f0 44%,#faf7f000 69%)}.hero-inner{padding-block:35px}.hero-copy{width:100%;max-width:none}.hero h1{font-size:47px;line-height:1.03;max-width:370px;margin-bottom:15px}.hero .lead{font-size:18px;max-width:350px;margin-bottom:0}.eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:16px}.hero-actions{gap:20px;margin-top:21px}.hero-actions .button{padding:12px 20px;font-size:14px}.hero-note{display:none}.section{padding-block:32px}.section-heading h2{font-size:32px}.animal-grid,.news-grid,.blog-items{grid-template-columns:1fr}.animal-card{grid-template-columns:44% 56%;min-height:220px}.animal-photo{min-height:220px}.animal-copy{padding:20px 17px;min-height:220px}.animal-copy h3{font-size:27px}.animal-copy p{font-size:15px}.animal-copy .text-link{font-size:12px}.animal-symbol{font-size:25px;margin-bottom:15px}.news-grid>li:last-child{grid-column:auto}.welcome-strip{display:block;padding:26px}.welcome-strip .button{margin-top:22px}.welcome-strip h2{font-size:29px}.footer-inner{align-items:flex-start;flex-direction:column;gap:16px}.component-wrap{padding-block:30px}.brand-logo{max-width:150px}.article-content .btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.animal-photo img{object-position:center!important;width:100%!important;max-width:100%!important;left:0!important}
.main-navigation li.parent{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.main-navigation .mod-menu__toggle-sub{border:0;background:transparent;color:var(--pp-ink);padding:4px 6px;min-height:32px;line-height:1;display:inline-flex;align-items:center}.main-navigation .mod-menu__toggle-sub:before{content:'⌄';font-size:17px}.main-navigation .mod-menu__toggle-sub>.icon-chevron-down{display:none}.main-navigation li:hover>ul[aria-hidden="true"],.main-navigation li:focus-within>ul[aria-hidden="true"]{display:none}.main-navigation ul ul[aria-hidden="false"]{display:block}.main-navigation ul ul[aria-hidden="true"]{display:none}@media(max-width:960px){.main-navigation li.parent>ul{flex-basis:100%}.main-navigation li.parent{justify-content:flex-start}}@media(max-width:600px){.brand{font-size:25px}.portal-link{padding:8px 11px;font-size:11px}.menu-toggle{padding:7px 8px}}

/* PawPals branding and compact typography, revision 0.2.0. */
:root{--pp-ink:#174e53;--pp-sage:#257273;--pp-muted:#5e706c;--pp-cream:#fbf7ee;--pp-peach:#f8eee1}
body.pawpals-site{font-size:15px}.brand-logo{width:190px;max-width:190px;max-height:66px;height:auto}.header-inner{min-height:84px}.site-header{background:#fbf7ee}
h1,.hero h1{font-size:clamp(32px,3.5vw,48px);line-height:1.12}h2,.section-heading h2{font-size:29px}h3,.animal-copy h3{font-size:25px}.article-content h1,.page-header h1{font-size:32px}.article-content h2,.welcome-strip h2{font-size:26px}.hero .lead{font-size:19px}.hero-copy{width:46%;max-width:540px}.hero{min-height:520px}.hero-inner{padding-block:45px}.hero-art{object-position:center}.eyebrow{letter-spacing:.16em;margin-bottom:16px}.hero-traits{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;list-style:none;padding:0;margin:0;max-width:355px;font-size:14px;font-weight:600}.hero-traits li:before{content:'✓';color:#25807c;margin-right:8px}.hero-actions{margin-top:24px;gap:22px}.button{padding:12px 23px;font-size:14px}.button:hover{background:#195a5c}.pony-feature{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.pony-feature img{width:100%;border-radius:16px}.pony-feature h2{margin-bottom:15px}.pony-feature p{max-width:480px}.pony-feature .eyebrow{color:#a96645}.site-footer .brand-logo{width:145px}.section{padding-block:38px}
@media(max-width:960px){.hero-copy{width:55%}.hero h1{font-size:39px}.hero .lead{font-size:17px}.pony-feature{gap:25px}}
@media(max-width:600px){.brand-logo{width:135px;max-width:135px;max-height:48px}.header-inner{min-height:72px;padding-block:12px}.hero{min-height:720px}.hero-copy{width:100%}.hero-inner{padding-top:30px}.hero h1{font-size:34px;max-width:340px}.hero .lead{font-size:17px}.hero-art{height:300px;object-position:80% center}.hero:before{background:linear-gradient(#fbf7ee 0%,#fbf7ee 53%,transparent 69%)}.hero-traits{font-size:13px;gap:8px 12px;max-width:310px}.hero-actions{gap:16px}.hero-actions .button{font-size:13px}.section-heading h2{font-size:27px}.pony-feature{grid-template-columns:1fr;gap:22px}.welcome-strip h2{font-size:25px}.article-content h1{font-size:29px}}

/* Individual reconstructed potion bottles beside their guide text. */
.potion-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center;margin:24px 0;padding:28px;background:#fffdf8;border:1px solid var(--pp-line);border-radius:18px}.potion-card figure{margin:0;display:flex;align-items:center;justify-content:center}.potion-card figure img{display:block;width:220px;height:265px;object-fit:contain}.potion-card h3{font-size:24px;margin:0 0 17px}.potion-card p{margin-bottom:13px}.potion-card .potion-details>:last-child{margin-bottom:0}.potion-card ul{padding-left:20px}.potion-card li{margin-bottom:9px}
@media(max-width:600px){.potion-card{grid-template-columns:1fr;gap:17px;padding:22px 19px}.potion-card figure img{width:195px;height:225px}.potion-card h3{font-size:23px}.potion-card figure{order:0}}

/* Preserve the meadow image's 2:1 composition on wide screens. */
@media(min-width:1040px){.hero{min-height:50vw}}
