:root{
  --dough:#FBF1E4;
  --dough-deep:#F3E4CE;
  --crust:#C97B3D;
  --crust-deep:#A85F27;
  --blush:#F3B4C2;
  --blush-deep:#E88FA3;
  --cocoa:#3B2A22;
  --cocoa-soft:#6B5648;
  --cream:#FFFBF5;
  --sage:#8FBFA0;
  --radius-lg:32px;
  --radius-md:20px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--dough);color:var(--cocoa);font-family:'Karla',sans-serif;line-height:1.6;overflow-x:hidden;}
h1,h2,h3,.display{font-family:'Baloo 2',sans-serif;color:var(--cocoa);margin:0;}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
img,svg{display:block;max-width:100%;}

nav{position:sticky;top:0;z-index:50;background:rgba(251,241,228,0.9);backdrop-filter:blur(8px);border-bottom:1px solid rgba(59,42,34,0.08);}
nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.2rem;text-decoration:none;}
.brand .paw{width:26px;height:26px;flex:none;}
.navlinks{display:flex;gap:20px;font-weight:600;font-size:0.88rem;}
.navlinks a{text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent;transition:border-color .2s;white-space:nowrap;}
.navlinks a:hover{border-color:var(--crust);}
@media (max-width:920px){ .navlinks{display:none;} }

.hero{position:relative;padding:64px 0 88px;overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:44px;align-items:center;}
@media (max-width:860px){ .hero .wrap{grid-template-columns:1fr;} }
.eyebrow-tag{display:inline-flex;align-items:center;gap:8px;background:var(--cream);border:1.5px solid var(--dough-deep);padding:6px 16px 6px 10px;border-radius:999px;font-weight:600;font-size:0.82rem;color:var(--crust-deep);margin-bottom:20px;}
.eyebrow-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--sage);flex:none;}
h1.display{font-size:clamp(2.1rem,4.6vw,3.2rem);font-weight:700;line-height:1.12;letter-spacing:-0.01em;}
h1.display .accent{color:var(--crust);}
.hero p.sub{max-width:48ch;font-size:1.05rem;color:var(--cocoa-soft);margin-top:16px;}
.hero-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:999px;font-weight:700;font-size:0.95rem;text-decoration:none;border:none;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--crust);color:var(--cream);box-shadow:0 8px 20px rgba(169,95,39,0.28);}
.btn-primary:hover{box-shadow:0 12px 24px rgba(169,95,39,0.36);}
.btn-ghost{background:transparent;color:var(--cocoa);border:2px solid var(--cocoa);}
.btn-ghost:hover{background:var(--cocoa);color:var(--dough);}
.btn-blush{background:var(--blush);color:var(--cocoa);}
.btn-blush:hover{background:var(--blush-deep);}
.btn-sm{padding:9px 18px;font-size:0.86rem;}

.hero-art{position:relative;aspect-ratio:1/1;border-radius:44% 56% 60% 40% / 50% 45% 55% 50%;background:linear-gradient(155deg,var(--blush) 0%,var(--crust) 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 50px rgba(169,95,39,0.25);animation:blobrise .9s cubic-bezier(.2,.8,.2,1) both;}
@keyframes blobrise{from{opacity:0;transform:translateY(18px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.hero-art .placeholder-note{text-align:center;color:var(--cream);font-weight:600;padding:24px;}
.hero-art .placeholder-note svg{margin:0 auto 10px;width:44px;height:44px;opacity:.9;}
.hero-art .placeholder-note small{display:block;font-weight:500;opacity:.85;margin-top:6px;font-size:0.78rem;}

.wave{display:block;width:100%;height:auto;}

.about{background:var(--cream);padding:72px 0;}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.badge{background:var(--dough);border:1.5px solid var(--dough-deep);padding:8px 16px;border-radius:999px;font-weight:700;font-size:0.85rem;color:var(--crust-deep);}
.about .wrap p{max-width:66ch;color:var(--cocoa-soft);}
.about h2{font-size:1.9rem;margin-bottom:16px;}

.section-pad{padding:80px 0;}
.section-head{max-width:62ch;margin-bottom:36px;}
.section-head h2{font-size:1.9rem;}
.section-head p{color:var(--cocoa-soft);margin-top:10px;}

/* compact style-selection cards */
.style-compact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:860px){ .style-compact-grid{grid-template-columns:1fr;} }
.style-compact-card{background:var(--cream);border-radius:var(--radius-md);padding:22px;border:1.5px solid var(--dough-deep);display:flex;flex-direction:column;gap:10px;}
.style-compact-card .swatch{width:100%;aspect-ratio:16/9;border-radius:14px;}
.style-compact-card h3{font-size:1.1rem;}
.style-compact-card p{color:var(--cocoa-soft);font-size:0.9rem;margin:0;}
.style-compact-card .view-link{font-weight:700;color:var(--crust-deep);font-size:0.88rem;text-decoration:none;border-bottom:2px solid transparent;align-self:flex-start;cursor:pointer;}
.style-compact-card .view-link:hover{border-color:var(--crust-deep);}

/* filter bar */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.filter-btn{background:var(--cream);border:1.5px solid var(--dough-deep);color:var(--cocoa-soft);font-weight:700;font-size:0.85rem;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s;}
.filter-btn.active{background:var(--crust);border-color:var(--crust);color:var(--cream);}

/* scalable gallery grid, used for portfolio / available / adoptables */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
@media (max-width:640px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .gallery-tile{aspect-ratio:1/1;}
}
.gallery-tile{position:relative;border-radius:var(--radius-md);aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;color:var(--cream);overflow:hidden;isolation:isolate;cursor:pointer;transition:transform .18s ease;border:none;text-align:left;font-family:inherit;}
.gallery-tile:hover{transform:translateY(-3px);}
.gallery-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(200deg,var(--t1,var(--crust)) 0%,var(--t2,var(--crust-deep)) 100%);}
.gallery-tile.has-photo::before{content:none;}
.gallery-tile .gt-title{font-weight:700;font-family:'Baloo 2';font-size:0.98rem;}
.gallery-tile .gt-sub{font-size:0.78rem;opacity:.88;margin-top:2px;}
.gt-price{position:absolute;top:12px;right:12px;background:rgba(59,42,34,0.55);color:var(--cream);font-family:'Baloo 2';font-weight:700;font-size:0.82rem;padding:4px 10px;border-radius:999px;}


.view-all-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.view-all-row .section-head{margin-bottom:0;}

/* lightbox */
.lightbox-overlay{position:fixed;inset:0;background:rgba(59,42,34,0.65);display:none;align-items:center;justify-content:center;z-index:200;padding:24px;}
.lightbox-overlay.open{display:flex;}
.lightbox-box{background:var(--cream);border-radius:var(--radius-lg);max-width:480px;width:100%;overflow:hidden;position:relative;}
.lightbox-box .lb-image{width:100%;height:60vh;background-color:var(--dough);overflow:hidden;position:relative;}
.lb-img{width:100%;height:100%;object-fit:contain;transform-origin:center center;cursor:zoom-in;user-select:none;-webkit-user-drag:none;touch-action:none;}
.lb-img.zoomed{cursor:grab;}
.lb-img.dragging{cursor:grabbing;}
.lb-thumbs{display:none;gap:8px;padding:12px 24px 0;flex-wrap:wrap;}
.lb-thumb{width:56px;height:56px;border-radius:10px;border:2px solid transparent;background-size:cover;background-position:center;cursor:pointer;padding:0;}
.lb-thumb:hover{border-color:var(--crust);}
.lightbox-box .lb-body{padding:24px;}
.lightbox-box h3{font-size:1.25rem;margin-bottom:6px;}
.lightbox-box .lb-tag{display:inline-block;font-size:0.76rem;font-weight:700;color:var(--crust-deep);background:var(--dough);padding:4px 10px;border-radius:999px;margin-bottom:10px;}
.lb-price{display:none;font-family:'Baloo 2';font-weight:700;font-size:1.15rem;color:var(--crust-deep);margin:0 0 8px;}
.lightbox-box p{color:var(--cocoa-soft);font-size:0.94rem;margin:0;}

.lb-close{position:fixed;top:16px;right:16px;width:44px;height:44px;border-radius:50%;background:rgba(59,42,34,0.75);color:var(--cream);border:none;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:210;}

/* commission pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:14px;}
@media (max-width:780px){ .price-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .price-grid{grid-template-columns:1fr;} }
.price-card{background:var(--cream);border:1.5px solid var(--dough-deep);border-radius:var(--radius-md);padding:20px;}
.price-card .amt{font-family:'Baloo 2';font-weight:700;font-size:1.35rem;color:var(--crust-deep);}
.price-card .item{font-weight:700;margin-top:2px;}
.price-note{color:var(--cocoa-soft);font-size:0.92rem;margin-top:16px;max-width:60ch;}

.steps{margin-top:56px;}
.steps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 32px;}
@media (max-width:780px){ .steps-grid{grid-template-columns:1fr;} }
.step{position:relative;padding-left:50px;}
.step .stepnum{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--crust);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:'Baloo 2';font-weight:700;font-size:0.95rem;}
.step h3{font-size:1.05rem;margin-bottom:5px;}
.step p{color:var(--cocoa-soft);font-size:0.92rem;margin:0;}
.subhead{font-weight:700;font-family:'Baloo 2';font-size:1.05rem;margin:36px 0 14px;}

.board-section{background:var(--cocoa);color:var(--dough);padding:80px 0;}
.board-section .section-head h2{color:var(--dough);}
.board-section .section-head p{color:#CBB9A9;}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:780px){ .board{grid-template-columns:1fr;} }
.board-card{background:#4A362B;border-radius:var(--radius-md);padding:24px;border:1.5px solid #5C4636;}
.board-card .tag{display:inline-block;background:var(--sage);color:#1F3327;padding:4px 12px;border-radius:999px;font-weight:700;font-size:0.76rem;margin-bottom:12px;}
.board-card h3{font-size:1.1rem;margin-bottom:6px;color:var(--dough);}
.board-card p{color:#CBB9A9;font-size:0.92rem;margin:0;}
.board-card .big{font-family:'Baloo 2';font-weight:700;font-size:1.5rem;color:var(--dough);margin-bottom:4px;}
.board-note{color:#CBB9A9;font-size:0.88rem;margin-top:20px;font-style:italic;}

.payment{background:var(--cream);padding:64px 0;}
.payment .wrap{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
@media (max-width:780px){ .payment .wrap{grid-template-columns:1fr;} }
.payment h3{font-size:1.15rem;margin-bottom:8px;}
.payment p{color:var(--cocoa-soft);font-size:0.95rem;margin:0;}

.faq-good{background:var(--dough-deep);border-radius:var(--radius-md);padding:22px 26px;margin-bottom:36px;}
.faq-good ul{margin:8px 0 0;padding-left:20px;color:var(--cocoa-soft);}
.faq-good li{margin-bottom:6px;}
details.qa{background:var(--cream);border:1.5px solid var(--dough-deep);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:12px;}
details.qa summary{font-weight:700;cursor:pointer;font-size:0.98rem;list-style:none;}
details.qa summary::-webkit-details-marker{display:none;}
details.qa summary::before{content:"+ ";color:var(--crust);}
details.qa[open] summary::before{content:"\2013 ";}
details.qa p{color:var(--cocoa-soft);margin:10px 0 0;font-size:0.94rem;}

.measure{background:var(--dough-deep);border-radius:var(--radius-md);padding:24px 26px;margin-top:30px;}
.measure h3{font-size:1.1rem;margin-bottom:10px;}
.measure ul{margin:0;padding-left:20px;color:var(--cocoa-soft);}
.measure li{margin-bottom:4px;}

.cta-section{padding:88px 0 100px;text-align:center;}
.cta-section h2{font-size:clamp(1.7rem,3.6vw,2.4rem);max-width:22ch;margin:0 auto 14px;}
.cta-section p.sub{color:var(--cocoa-soft);max-width:52ch;margin:0 auto 30px;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-row .btn{min-width:190px;}

footer{background:var(--dough-deep);padding:30px 0;text-align:center;font-size:0.86rem;color:var(--cocoa-soft);}
footer .fbrand{font-family:'Baloo 2';font-weight:700;color:var(--cocoa);margin-bottom:4px;}

/* sub-page banner (Available / Adoptables full pages) */
.page-banner{padding:56px 0 40px;}
.page-banner .back-link{display:inline-block;font-weight:700;font-size:0.88rem;color:var(--crust-deep);margin-bottom:16px;text-decoration:none;border-bottom:2px solid transparent;}
.page-banner .back-link:hover{border-color:var(--crust-deep);}
.page-banner h1{font-size:clamp(1.9rem,4vw,2.6rem);}
.page-banner p{color:var(--cocoa-soft);margin-top:10px;max-width:56ch;}

.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;}
.hamburger span{display:block;width:24px;height:2.5px;background:var(--cocoa);border-radius:2px;}
@media (max-width:920px){ .hamburger{display:flex;} }

.mobile-nav{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;padding:4px 24px 12px;border-top:1px solid rgba(59,42,34,0.08);background:var(--cream);box-shadow:0 14px 28px rgba(59,42,34,0.16);z-index:60;}
.mobile-nav.open{display:flex !important;}
.mobile-nav a{display:block;width:100%;padding:9px 4px;font-weight:600;font-size:0.9rem;text-decoration:none;color:var(--cocoa);border-bottom:1px solid rgba(59,42,34,0.07);box-sizing:border-box;}
.mobile-nav a:last-child{border-bottom:none;}