/* Extracted styles from index.html */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
body{overflow-x:hidden;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-weight:400;color:#2c2c2c;background:#faf9f7;min-height:100vh;display:flex;flex-direction:column;font-size:18px;line-height:1.65}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
:root{
  --charcoal:#2c2c2c;--ivory:#f7f5f0;--cream:#f2ede4;--stone:#e8e3d8;
  --warmgrey:#d4cfc8;--sage:#5B7052;--sage-light:#a8bc97;
  --mid-grey:#7a7a72;--white:#ffffff;--bg:#faf9f7;
}
.container-pp{width:100%;max-width:1140px;margin:0 auto;padding:0 1.25rem}
.section-pad{padding:clamp(4rem,10vh,7.5rem) 0}

      

      
.font-serif{font-family:'DM Serif Display',Georgia,serif;font-weight:400}
.section-heading{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.2rem,6vw,3.2rem);line-height:1.1;color:var(--charcoal);letter-spacing:-.02em;margin-bottom:1.75rem;opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.section-heading.in-view{opacity:1;transform:translateY(0)}
.btn-primary{display:inline-block;background:var(--charcoal);color:var(--ivory);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.84rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.875rem 2rem;transition:background .25s;text-align:center}
.btn-primary:hover{background:#3e3e3e}
.btn-secondary{display:inline-block;border:1px solid var(--charcoal);color:var(--charcoal);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.84rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.875rem 2rem;transition:background .25s,color .25s;text-align:center}
.btn-secondary:hover{background:var(--charcoal);color:var(--ivory)}
.btn-ghost{display:inline-block;border:1px solid var(--warmgrey);color:var(--charcoal);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.84rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.75rem;transition:border-color .25s,color .25s}
.btn-ghost:hover{border-color:var(--sage);color:var(--sage)}
.card-hover{transition:transform .25s}
.card-hover:hover{transform:translateY(-2px)}

/* HEADER */
header{background:#ffffff;border-bottom:1px solid rgba(212,207,200,0.45);position:sticky;top:0;z-index:100;transition:background .3s ease,box-shadow .3s ease}
header.scrolled{background:#ffffff;box-shadow:0 2px 20px rgba(44,44,44,.07)}
.header-grid{display:flex;align-items:center;justify-content:space-between;height:76px;gap:1rem}
.logo-link{flex-shrink:0}
.centre-nav{display:flex;align-items:center;gap:1.75rem}
.nav-link{font-size:.82rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mid-grey);transition:color .2s}
.nav-link:hover{color:var(--charcoal)}
.header-icons{display:flex;align-items:center;gap:.25rem}
.icon-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;color:var(--mid-grey);transition:color .2s;background:none;border:none;cursor:pointer;touch-action:manipulation}
.icon-btn:hover{color:var(--charcoal)}
.hamburger{display:none;}

#mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;z-index:100;border-top:1px solid var(--warmgrey);background:var(--ivory);box-shadow:0 12px 24px rgba(0,0,0,.12)}
#mobile-menu.open{display:block}
.mobile-nav-link{display:block;padding:.875rem 1.25rem;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mid-grey);border-bottom:1px solid var(--warmgrey);transition:color .2s}
.mobile-nav-link:hover{color:var(--charcoal)}

/* HERO */
#hero{position:relative;min-height:75vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1450778869180-41d0601e046e?w=1800&q=85&fit=crop&crop=center') center/cover no-repeat}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(44,44,44,.82) 0%,rgba(44,44,44,.38) 55%,rgba(44,44,44,.08) 100%)}
.hero-content{position:relative;z-index:2;width:100%;max-width:1140px;margin:0 auto;padding:2.5rem 1.25rem}
.hero-eyebrow{font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--sage-light);margin-bottom:1.25rem;display:block;font-weight:600}
.hero-title{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.4rem,8vw,4.5rem);line-height:1.05;letter-spacing:-.02em;color:var(--ivory);margin-bottom:1.25rem;max-width:16ch}
.hero-sub{font-size:1.05rem;font-weight:300;line-height:1.75;color:rgba(247,245,240,.9);max-width:40ch;margin-bottom:2.25rem}
.hero-list{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin-bottom:2.25rem}
.hero-list li{display:flex;align-items:center;gap:.75rem;font-size:.88rem;color:var(--ivory);background:rgba(247,245,240,.1);padding:.5rem .875rem;border-left:2px solid var(--sage-light)}
.hero-list li span{display:none}
.hero-actions{display:flex;flex-wrap:wrap;gap:.875rem}
.hero-ghost{display:inline-block;border:1px solid rgba(247,245,240,.3);color:var(--ivory);padding:.875rem 2rem;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:border-color .25s}
.hero-ghost:hover{border-color:rgba(247,245,240,.78)}
.hero-badge{position:absolute;bottom:2rem;right:2rem;z-index:2;background:rgba(44,44,44,.65);border:1px solid rgba(247,245,240,.15);padding:.75rem 1.125rem;text-align:center;backdrop-filter:blur(8px)}
.hero-badge-num{font-family:'DM Serif Display',Georgia,serif;font-size:1.8rem;color:var(--ivory);line-height:1}
.hero-badge-label{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,245,240,.5);margin-top:.2rem}


/* TICKER */
#trust{overflow:hidden;max-width:100%;background:var(--white);border-bottom:1px solid var(--warmgrey);padding:.45rem 0}
.trust-track{display:flex;gap:2.75rem;animation:ticker 30s linear infinite;white-space:nowrap;line-height:1;align-items:center}.trust-track:hover{animation-play-state:paused}
.trust-item{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.trust-item span:first-child{color:var(--sage);font-size:1rem}
.trust-item span:last-child{font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mid-grey)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* GROOMING SPLIT */
#grooming-split{display:grid;grid-template-columns:1fr 1fr;min-height:420px;background:var(--charcoal)}
.gs-text{display:flex;flex-direction:column;justify-content:center;padding:4rem min(3.5rem,7vw) 4rem max(1.25rem,calc(50vw - 620px + 1.25rem))}
.gs-eyebrow{font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--sage-light);margin-bottom:1.25rem;display:block;font-weight:600}
.gs-title{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.08;color:var(--ivory);margin-bottom:1.125rem}
.gs-body{font-size:1.05rem;font-weight:300;line-height:1.75;color:rgba(247,245,240,.9);margin-bottom:1.625rem;max-width:36ch}
.gs-list{list-style:none;display:flex;flex-direction:column;gap:.2rem;margin-bottom:2rem}
.gs-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:rgba(247,245,240,.9)}
.gs-list li span{width:14px;height:1px;background:var(--sage-light);flex-shrink:0;margin-top:.48rem}
.gs-actions{display:flex;flex-wrap:wrap;gap:.875rem}
.gs-media{position:relative;overflow:hidden}
.gs-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease-in-out}
.gs-img.active{opacity:1}


/* GROOMING COMPARE */
#grooming-compare .section-heading{color:var(--charcoal);}
.pkg-table{border:1px solid var(--warmgrey);background:var(--warmgrey);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1px}
.pkg-th{background:var(--white);padding:1.25rem 1rem;text-align:center;position:relative}
.pkg-th.label{background:var(--cream)}
.pkg-th.featured{background:var(--charcoal)}
.pkg-badge-top{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--sage);color:var(--ivory);font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.2rem .75rem;white-space:nowrap}
.pkg-icon{font-size:1.2rem;margin-bottom:.4rem}
.pkg-name{font-family:'DM Serif Display',Georgia,serif;font-size:.95rem;color:var(--charcoal);margin-bottom:.2rem}
.pkg-th.featured .pkg-name{color:var(--ivory)}
.pkg-sub{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);display:block;margin-bottom:.875rem}
.pkg-th.featured .pkg-sub{color:var(--sage-light)}
.pkg-book{display:inline-block;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--warmgrey);color:var(--charcoal);padding:.3rem .875rem;transition:background .2s,color .2s,border-color .2s}
.pkg-book:hover{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.pkg-book.feat{background:var(--sage);color:var(--ivory);border-color:var(--sage)}
.pkg-book.feat:hover{background:#4a6145}
.pkg-row-label{background:var(--cream);padding:.6rem 1rem;font-size:.9rem;color:var(--mid-grey);display:flex;align-items:center;border-top:1px solid var(--stone)}
.pkg-cell{background:var(--white);padding:.6rem 0;text-align:center;font-size:.85rem;font-weight:500;color:var(--sage);display:flex;align-items:center;justify-content:center;border-top:1px solid var(--stone)}
.pkg-cell.feat{background:#f5f8f2}
.pkg-cell.no{color:var(--warmgrey);font-weight:300}
.pkg-extras{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--warmgrey);margin-top:1.25rem}
.pkg-extra{padding:1.125rem .875rem;text-align:center;border-right:1px solid var(--warmgrey);transition:background .2s}
.pkg-extra:last-child{border-right:none}
.pkg-extra:hover{background:var(--cream)}
.pkg-extra-icon{font-size:1rem;margin-bottom:.4rem}
.pkg-extra h4{font-family:'DM Serif Display',Georgia,serif;font-size:.88rem;color:var(--charcoal);margin-bottom:.2rem}
.pkg-extra p{font-size:.86rem;color:var(--mid-grey);line-height:1.45}
.pkg-cta-bar{background:var(--charcoal);padding:1.125rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.25rem}
.pkg-cta-bar h3{font-family:'DM Serif Display',Georgia,serif;font-size:1.35rem;color:var(--ivory)}
.pkg-cta-bar p{font-size:.82rem;color:rgba(247,245,240,.9);margin-top:.2rem}




/* REVIEWS */
#reviews .section-heading{color:var(--charcoal);}
.reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.reviews-eyebrow{font-size:.95rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage-light);display:block;margin-bottom:.5rem}
.reviews-heading{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);color:var(--ivory);line-height:1.1}
.reviews-rating{display:flex;align-items:center;gap:.625rem;flex-shrink:0}
.reviews-stars{color:#f5c842;font-size:1rem;letter-spacing:.1em}
.reviews-score{font-family:'DM Serif Display',Georgia,serif;font-size:1.6rem;color:var(--ivory)}
.reviews-meta{font-size:.72rem;color:rgba(247,245,240,.4);margin-top:.15rem}
.reviews-track-wrap{overflow:hidden;margin:0 -1.25rem;padding:0 1.25rem}
.reviews-track{display:flex;gap:1.25rem;animation:reviewscroll 40s linear infinite}
.reviews-track:hover{animation-play-state:paused}
.review-card{flex:0 0 320px;background:rgba(247,245,240,.06);border:1px solid rgba(247,245,240,.1);padding:1.625rem;display:flex;flex-direction:column;gap:.875rem}
.review-top{display:flex;align-items:center;gap:.75rem}
.review-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',Georgia,serif;font-size:1rem;color:var(--ivory);flex-shrink:0;font-weight:400}
.review-author{flex:1}
.review-name{font-size:.88rem;font-weight:500;color:var(--ivory);line-height:1.2}
.review-store{font-size:.82rem;letter-spacing:.08em;color:rgba(247,245,240,.6);margin-top:.15rem}
.review-stars{color:#f5c842;font-size:.75rem;letter-spacing:.05em}
.review-text{font-size:.92rem;color:rgba(247,245,240,.9);line-height:1.7;font-style:italic;flex:1}
.review-footer{display:flex;align-items:center;gap:.5rem;padding-top:.625rem;border-top:1px solid rgba(247,245,240,.08)}
.review-g-icon{width:14px;height:14px;flex-shrink:0}
.review-date{font-size:.8rem;color:rgba(247,245,240,.5)}
@keyframes reviewscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* BEDS */
#beds-split{background:var(--stone)}
.beds-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.beds-eyebrow{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);margin-bottom:1rem;display:block}
.beds-title{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.08;color:var(--charcoal);margin-bottom:1rem}
.beds-body{font-size:1rem;font-weight:300;line-height:1.7;color:var(--mid-grey);margin-bottom:1.5rem;max-width:48ch}
.beds-carousel-nav{display:flex;gap:.625rem;align-items:center;flex-shrink:0}
.beds-arrow{width:44px;height:44px;border:1px solid var(--warmgrey);background:var(--white);color:var(--charcoal);font-size:1.1rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s;display:flex;align-items:center;justify-content:center}
.beds-arrow:hover{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.beds-carousel{display:flex;gap:1.125rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.75rem;scrollbar-width:none;max-width:85%;margin:0 auto}
.beds-carousel::-webkit-scrollbar{display:none}
.bed-slide{flex:0 0 calc(25% - .875rem);scroll-snap-align:start;display:block;transition:transform .25s;position:relative}
.bed-slide:hover{transform:translateY(-3px)}
.bed-slide-img{aspect-ratio:4/5;min-height:160px;overflow:hidden;background:#222;margin-bottom:0}
.bed-slide-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bed-slide:hover .bed-slide-img img{transform:scale(1.05)}
.bed-slide-name{font-size:1rem;color:var(--ivory);margin-bottom:.2rem}
.bed-slide-price{font-size:.85rem;color:rgba(247,245,240,.9)}
.beds-footer{margin-top:1.5rem}
.beds-all{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal);border-bottom:1px solid var(--charcoal);padding-bottom:1px;display:inline-block;transition:color .2s,border-color .2s}
.beds-all:hover{color:var(--sage);border-color:var(--sage)}



.beds-tuscan-line{display:flex;align-items:center;gap:.875rem;margin:1.375rem 0 .875rem}
.beds-tuscan-line span:first-child,.beds-tuscan-line span:last-child{flex:1;height:1px;background:var(--warmgrey)}
.beds-tuscan-motif{color:var(--sage);font-size:1.1rem;flex-shrink:0;line-height:1}
.beds-tuscan-provenance{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-bottom:.25rem}
.beds-tuscan-provenance span{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid-grey);font-style:italic}
.beds-tuscan-dot{color:var(--warmgrey)!important;font-style:normal!important}

/* ═══════════════════════════════════════════════════════════
   IN-RESIDENCE v4 — scrolling filmstrip banner + beds
   ═══════════════════════════════════════════════════════════ */
#in-residence{background:var(--charcoal);color:var(--ivory);overflow:hidden}
/* ── Filmstrip scrolling banner ── */
.ir-filmstrip{position:relative;overflow:hidden;height:clamp(200px,25vw,300px);background:#111}
.ir-filmstrip::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(44,44,44,.18) 0%,transparent 25%,transparent 75%,rgba(44,44,44,.35) 100%);pointer-events:none;z-index:2}
.ir-film-track{display:flex;height:100%;width:max-content;animation:ir-scroll 38s linear infinite;will-change:transform;contain:layout style}
.ir-film-track:hover{animation-play-state:paused}
@keyframes ir-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ir-film-panel{position:relative;height:100%;flex-shrink:0;overflow:hidden}
.ir-film-panel img{height:100%;width:auto;min-width:clamp(180px,22vw,360px);object-fit:cover;display:block;transition:filter .4s ease;filter:brightness(.88) saturate(.92)}
.ir-film-panel:hover img{filter:brightness(1) saturate(1.05)}
.ir-film-panel+.ir-film-panel{margin-left:3px}
.ir-film-caption{position:absolute;bottom:0;left:0;right:0;padding:1.75rem 1.5rem 1.25rem;background:linear-gradient(to top,rgba(22,22,18,.88) 0%,transparent 100%);opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;z-index:3}
.ir-film-panel:hover .ir-film-caption{opacity:1;transform:translateY(0)}
.ir-film-caption-tag{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-light);display:block;margin-bottom:.3rem}
.ir-film-caption-text{font-family:'DM Serif Display',Georgia,serif;font-size:1rem;color:var(--ivory);line-height:1.35}
/* ── Section header beneath the filmstrip ── */
.ir-section-header{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:800px;margin:0 auto;padding:2rem 2rem 0;gap:0}
.ir-section-lede{max-width:600px;width:100%}
.ir-section-eyebrow{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sage-light);display:block;margin-bottom:.875rem}
.ir-section-title{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.08;letter-spacing:-.02em;color:var(--ivory);margin-bottom:.875rem}
.ir-section-sub{font-size:.92rem;font-weight:300;line-height:1.78;color:rgba(247,245,240,.9)}
.ir-section-actions{display:flex;gap:.875rem;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:1.75rem;flex-shrink:0}
.ir-btn-outline{display:inline-block;border:1px solid rgba(247,245,240,.28);color:var(--ivory);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.875rem 2rem;transition:border-color .25s,background .25s}
.ir-btn-outline:hover{border-color:rgba(247,245,240,.7);background:rgba(247,245,240,.06)}
.ir-divider{max-width:1160px;margin:2rem auto 0;border:none;border-top:1px solid rgba(247,245,240,.1)}

/* In-Residence split header */
.ir-header-split{display:flex;gap:2rem;align-items:flex-start;text-align:left;flex-direction:row}
.ir-header-split .ir-section-lede{flex:1}
.ir-header-split .ir-section-sub{margin-top:0}
.ir-header-split-right{flex:1}
/* ── Carousel zone ── */
.ir-carousel-zone{padding:0 0 clamp(1.5rem,4vh,2.5rem)}
.ir-carousel-meta{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:1.5rem 2rem 1rem}
.ir-carousel-label{font-family:'DM Serif Display',serif;font-size:.9rem;color:rgba(247,245,240,.55);font-style:italic}
.ir-carousel-nav{display:flex;gap:.5rem}
.ir-nav-btn{width:2.25rem;height:2.25rem;background:transparent;border:1px solid rgba(247,245,240,.18);color:var(--ivory);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;min-width:44px;min-height:44px;touch-action:manipulation}
.ir-nav-btn:hover{background:rgba(247,245,240,.08);border-color:rgba(247,245,240,.55)}
.bed-slide{flex:0 0 calc(25% - .875rem);scroll-snap-align:start;display:block;transition:transform .25s;background:rgba(255,255,255,.04);border:1px solid rgba(247,245,240,.1);position:relative}
.bed-slide:hover{transform:translateY(-3px)}
.bed-slide-caption{padding:.875rem 1rem .75rem}
.bed-slide-name{font-family:'DM Serif Display',serif;font-size:1rem;color:var(--ivory);margin:0 0 .2rem;line-height:1.2}
.bed-slide-price{font-family:'DM Sans',Arial,sans-serif;font-size:.86rem;color:rgba(247,245,240,.9);margin:0}

/* CATEGORIES */
#categories{background:var(--cream)}
.ob-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 4.5rem;align-items:center}
.ob-img-side{position:relative}
.ob-img-wrap{aspect-ratio:4/5;overflow:hidden}
.ob-img-wrap img{width:100%;height:100%;object-fit:cover}
.ob-frame{position:absolute;bottom:-1.375rem;right:-1.375rem;width:66%;height:66%;border:1px solid var(--warmgrey);z-index:-1}
.ob-eyebrow{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);margin-bottom:.875rem;display:block}
.ob-title{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.1;color:var(--charcoal);margin-bottom:1.375rem}
.ob-body{font-size:1rem;font-weight:300;line-height:1.75;color:var(--mid-grey);margin-bottom:2.25rem;max-width:42ch}
.ob-points{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.25rem}
.ob-point{display:flex;gap:1.125rem}
.ob-num{flex-shrink:0;width:30px;height:30px;border:1px solid var(--sage);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',Georgia,serif;color:var(--sage);font-size:.78rem;margin-top:.1rem}
.ob-point h4{font-family:'DM Serif Display',Georgia,serif;font-size:1.05rem;color:var(--charcoal);margin-bottom:.25rem}
.ob-point p{font-size:.9rem;color:var(--mid-grey);line-height:1.65}
.ob-actions{display:flex;flex-wrap:wrap;gap:.875rem}


/* BEST SELLERS */
#bestsellers{background:var(--stone)}
.bs-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:.875rem}
.bs-item{display:block}
.bs-img-wrap{aspect-ratio:1;overflow:hidden;background:var(--cream);margin-bottom:.625rem}
.bs-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bs-item:hover .bs-img-wrap img{transform:scale(1.05)}
.bs-cat{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.bs-name{font-family:'DM Serif Display',Georgia,serif;font-size:1.08rem;color:var(--charcoal);line-height:1.3;margin:.18rem 0}
.bs-price{font-size:.9rem;color:var(--mid-grey)}
.bs-cta-wrap{text-align:center;margin-top:2rem}


/* STORES */
#stores{background:var(--ivory)}
.stores-intro{text-align:center;margin-bottom:3rem}
.stores-eyebrow{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);margin-bottom:.625rem;display:block}
.stores-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1.125rem}
.store-card{display:block;border:1px solid var(--warmgrey);background:var(--cream);padding:1.375rem;transition:border-color .25s,transform .25s;word-break:break-word}
.store-card:hover{border-color:var(--sage);transform:translateY(-2px)}
.store-name{font-family:'DM Serif Display',Georgia,serif;font-size:1.1rem;color:var(--charcoal);margin-bottom:.4rem;transition:color .2s}
.store-card:hover .store-name{color:var(--sage)}
.store-addr{font-size:.9rem;color:var(--mid-grey);line-height:1.6}
.store-tel{font-size:.84rem;color:var(--sage);letter-spacing:.04em;margin-top:.625rem;display:block}
.stores-cta{text-align:center;margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center;align-items:center}
.text-link{font-size:.78rem;color:var(--mid-grey);text-decoration:underline;text-underline-offset:4px;transition:color .2s}
.text-link:hover{color:var(--charcoal)}



/* SOCIALS */
#socials{background:var(--cream)}
.socials-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;gap:1rem;flex-wrap:wrap}
.socials-eyebrow{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);margin-bottom:.625rem;display:block}
.socials-cta{display:inline-flex;align-items:center}
.insta-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1.125rem}
.insta-post{display:block}
.insta-img-wrap{position:relative;aspect-ratio:1;overflow:hidden;background:var(--warmgrey);margin-bottom:.75rem}
.insta-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.insta-post:hover .insta-img-wrap img{transform:scale(1.05)}
.insta-overlay{position:absolute;inset:0;background:rgba(44,44,44,0);display:flex;align-items:center;justify-content:center;color:var(--ivory);opacity:0;transition:background .3s,opacity .3s}
.insta-post:hover .insta-overlay{background:rgba(44,44,44,.32);opacity:1}
.insta-cap{font-size:.78rem;color:var(--mid-grey);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.insta-note{font-size:.72rem;color:var(--mid-grey);margin-top:1.75rem;text-align:center;letter-spacing:.04em}


/* NEWSLETTER */
#newsletter{background:var(--sage);padding:clamp(2.5rem,8vh,4.5rem) 0}
.nl-inner{text-align:center;max-width:460px;margin:0 auto}
.nl-eyebrow{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage-light);margin-bottom:.875rem;display:block}
.nl-title{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);color:var(--ivory);margin-bottom:.875rem}
.nl-body{font-size:1rem;font-weight:300;color:rgba(247,245,240,.9);line-height:1.7;margin-bottom:2.25rem}
.nl-form{display:flex;gap:.625rem;flex-wrap:wrap}
.nl-input{flex:1;min-width:0;padding:.875rem 1.125rem;background:rgba(247,245,240,.1);border:1px solid rgba(247,245,240,.24);color:var(--ivory);font-size:.8rem;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;outline:none;transition:border-color .2s}
.nl-input::placeholder{color:rgba(247,245,240,.6)}
.nl-input:focus{border-color:var(--ivory)}
.nl-btn{padding:.875rem 1.625rem;background:var(--ivory);color:var(--charcoal);font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;border:none;cursor:pointer;flex-shrink:0;transition:background .2s}
.nl-btn:hover{background:var(--cream)}
.nl-note{font-size:.8rem;color:rgba(247,245,240,.9);margin-top:.5rem}
.nl-status-message{min-height:1.4em;transition:opacity .3s}

/* FOOTER */
footer{background:var(--charcoal);color:rgba(247,245,240,.9);padding:clamp(2.5rem,6vh,3.5rem) 0}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:3rem;padding:2.5rem 0 2rem}

.footer-logo{display:block;margin-bottom:1.25rem;opacity:.92}
.footer-brand{max-width:320px;font-size:1.15rem;color:var(--ivory);letter-spacing:.05em;margin-bottom:1.375rem}
.footer-addr{font-style:normal;font-size:.9rem;line-height:1.9;color:rgba(247,245,240,.9);margin-bottom:1.375rem}
.footer-addr a:hover{color:var(--ivory)}
.footer-socials{display:flex;gap:1.25rem;margin-top:1.375rem}
.footer-socials a{color:rgba(247,245,240,.9);transition:color .2s}
.footer-socials a:hover{color:var(--ivory)}
.footer-col h3{font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ivory);margin-bottom:1.125rem;font-weight:500}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.625rem}
.footer-col li a{font-size:.9rem;color:rgba(247,245,240,.8);transition:color .2s}
.footer-col li a:hover{color:var(--ivory)}
.footer-bottom{border-top:1px solid rgba(247,245,240,.1);padding:2rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.625rem}
.footer-copy{font-size:.82rem;color:rgba(247,245,240,.9)}
.footer-legal{display:flex;gap:1.125rem}
.footer-legal a{font-size:.82rem;color:rgba(247,245,240,.9);transition:color .2s}
.footer-legal a:hover{color:rgba(247,245,240,.55)}



/* ═══ FONT SIZING — VISIBILITY PASS ═══════════════════════ */
strong{font-weight:600}

/* ── Body / paragraph text ── */
.hero-sub,.gs-body,.beds-body,.ob-body{font-size:1.1rem;line-height:1.75}
.hero-list li,.gs-list li{font-size:1.05rem}
.ob-point p,.blog-excerpt,.store-addr{font-size:.95rem}
.ob-point h4{font-size:1.15rem}
.blog-title{font-size:1.35rem}
.bs-name{font-size:1.1rem}
.bs-price,.store-tel{font-size:.95rem}
.nl-body{font-size:1.05rem}
.store-name{font-size:1.2rem}

/* ── Navigation ── */
.nav-link{font-size:.88rem;min-height:44px;display:flex;align-items:center}

/* ── Eyebrows / category labels ── */
.hero-eyebrow,.gs-eyebrow,.beds-eyebrow,.ob-eyebrow,
.stores-eyebrow,.blog-eyebrow,.nl-eyebrow,.blog-cat,
.bs-cat,.product-cat-label,.pkg-sub,.beds-gallery-label{font-size:.95rem;color:var(--mid-grey);line-height:1.75}
.rev-author{font-size:.92rem}
.rev-store{font-size:.78rem}
.hr-quote{font-size:1rem;line-height:1.7}
.hr-name{font-size:.76rem}

/* ── Footer ── */
.footer-col h3{font-size:.78rem}
.footer-col li a,.footer-addr{font-size:.92rem}
.footer-copy,.footer-legal a{font-size:.82rem}

/* ── Hero badge ── */
.hero-badge-label{font-size:.8rem;color:rgba(247,245,240,.9)}
.review-text{font-size:.92rem;color:rgba(247,245,240,.9);line-height:1.75}
.review-name{font-size:.92rem}
.review-store{font-size:.82rem;color:rgba(247,245,240,.48)}
.review-date{font-size:.82rem}
.nl-note{color:rgba(247,245,240,.9)}
.nl-body{color:rgba(247,245,240,.9)}
.pkg-cta-bar p{color:rgba(247,245,240,.9)}
.bed-slide-name{font-size:1rem}
.bed-slide-price{font-size:.88rem;color:rgba(247,245,240,.9)}
.ir-section-eyebrow{font-size:.78rem}
.ir-carousel-label{font-size:.95rem}

/* ── Grooming card text ── */
.gs-card-desc{font-size:.94rem;line-height:1.7}
.gs-card-list li{font-size:.9rem}
.gs-card-tag{font-size:.82rem}
.gs-card-title{font-size:1.6rem}

/* ── Bento shop text ── */
.cat-text p{font-size:.88rem;color:rgba(255,255,255,.78)}
.cat-hero .cat-text p{font-size:.92rem}
.cat-shop-btn{font-size:.72rem}

/* ── Polaroid captions ── */
.insta-cap{font-size:.82rem}

/* ═══ SECTION DIVIDERS — index page ═══════════════════════ */
.pp-section-divider{
  border:none;
  border-top:1px solid var(--warmgrey);
  margin:0;
  opacity:.55;
}
.pp-section-divider--dark{
  border-top-color:rgba(247,245,240,.1);
  opacity:1;
}
.pp-section-divider--sage{
  border-top-color:rgba(122,140,110,.35);
  opacity:1;
}





.ob-products{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem;margin-bottom:2.25rem}
.ob-prod{display:block;transition:transform .25s}
.ob-prod:hover{transform:translateY(-2px)}
.ob-prod-img{aspect-ratio:1;overflow:hidden;background:var(--stone);margin-bottom:.5rem}
.ob-prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ob-prod:hover .ob-prod-img img{transform:scale(1.05)}
.ob-prod-cat{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.ob-prod-name{font-family:'DM Serif Display',Georgia,serif;font-size:.95rem;color:var(--charcoal);line-height:1.25;margin:.15rem 0}
.ob-prod-price{font-size:.85rem;color:var(--mid-grey)}

.gs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}
.gs-card{background:var(--white);border:1px solid var(--warmgrey);overflow:hidden;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.gs-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(44,44,44,.08)}
.gs-card--featured{border-color:var(--sage)}
.gs-card-img{aspect-ratio:3/2;overflow:hidden}
.gs-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gs-card:hover .gs-card-img img{transform:scale(1.04)}
.gs-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.gs-card-tag{display:inline-block;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;background:var(--stone);color:var(--mid-grey);padding:.25rem .75rem;margin-bottom:.875rem}
.gs-card-title{font-size:1.6rem;color:var(--charcoal);margin-bottom:.625rem}
.gs-card-desc{font-size:.94rem;color:var(--mid-grey);line-height:1.7;margin-bottom:1rem}
.gs-card-list{list-style:none;display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem}
.gs-card-list li{font-size:.88rem;color:var(--mid-grey);padding-left:1rem;position:relative}
.gs-card-list li::before{content:'—';position:absolute;left:0;color:var(--sage)}


#cookie-bar{position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--charcoal);color:rgba(247,245,240,.75);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;line-height:1.5;transform:translateY(100%);transition:transform .4s ease;box-shadow:0 -2px 20px rgba(0,0,0,.15)}
#cookie-bar.visible{transform:translateY(0)}
#cookie-bar a{color:var(--sage-light);text-decoration:underline;text-underline-offset:3px}
#cookie-bar p{flex:1;min-width:200px}
.cookie-btns{display:flex;gap:.625rem;flex-shrink:0}
.cookie-accept{background:var(--sage);color:var(--ivory);border:none;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.55rem 1.25rem;cursor:pointer;transition:background .2s}
.cookie-accept:hover{background:#4a6145}
.cookie-decline{background:none;border:1px solid rgba(247,245,240,.2);color:rgba(247,245,240,.6);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:.55rem 1.25rem;cursor:pointer;transition:border-color .2s}
.cookie-decline:hover{border-color:rgba(247,245,240,.5)}

#back-top{position:fixed;bottom:1.5rem;right:1.5rem;width:42px;height:42px;background:var(--charcoal);color:var(--ivory);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s,background .2s;z-index:90}
#back-top.visible{opacity:1;pointer-events:all}
#back-top:hover{background:var(--sage)}


.page-fade{animation:pagein .35s ease both}
@keyframes pagein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.mobile-nav-link{position:relative;padding-left:1.25rem}
.mobile-nav-link::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--sage);transition:height .2s}
.mobile-nav-link:hover::before,.mobile-nav-link.active-mob::before{height:60%}
#mobile-menu{transition:none}
#menu-backdrop{display:none;pointer-events:none;z-index:98}
#menu-backdrop.open{display:block;opacity:1;pointer-events:auto}
#mobile-menu.open{animation:slidedown .25s ease both}
@keyframes slidedown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

.qv-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center}
.qv-overlay.open{display:flex}
.qv-backdrop{position:absolute;inset:0;background:rgba(44,44,44,.55);backdrop-filter:blur(3px)}
.qv-modal{position:relative;z-index:1;background:var(--white);max-width:560px;width:90%;max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr}
.qv-img{aspect-ratio:3/4;overflow:hidden}
.qv-img img{width:100%;height:100%;object-fit:cover}
.qv-body{padding:1.75rem;display:flex;flex-direction:column;justify-content:center}
.qv-close{position:absolute;top:.25rem;right:.25rem;background:none;border:none;cursor:pointer;color:var(--mid-grey);z-index:2;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.qv-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);display:block;margin-bottom:.5rem}
.qv-name{font-family:'DM Serif Display',Georgia,serif;font-size:1.2rem;color:var(--charcoal);margin-bottom:.5rem;line-height:1.2}
.qv-price{font-size:.9rem;color:var(--mid-grey);margin-bottom:1.25rem}
.qv-trigger{position:absolute;bottom:.875rem;left:50%;transform:translateX(-50%);background:rgba(44,44,44,.82);color:var(--ivory);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .875rem;opacity:0;transition:opacity .2s;white-space:nowrap;pointer-events:none}
.bs-item{position:relative}
.bs-item:hover .qv-trigger{opacity:1}


.rev-track-wrap{overflow:hidden;position:relative}
.rev-track-wrap::before,.rev-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.rev-track-wrap::before{left:0;background:linear-gradient(to right,var(--white),transparent)}
.rev-track-wrap::after{right:0;background:linear-gradient(to left,var(--white),transparent)}
.rev-track{display:flex;gap:1.25rem;animation:rev-scroll 35s linear infinite;width:max-content}
.rev-track:hover{animation-play-state:paused}
.rev-card{background:var(--ivory);border:1px solid var(--warmgrey);padding:1.5rem 1.75rem;width:320px;flex-shrink:0;transition:box-shadow .25s}
.rev-card:hover{box-shadow:0 4px 20px rgba(44,44,44,.08)}
.rev-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}
.rev-google{flex-shrink:0;margin-top:.1rem}
.rev-author{display:block;font-size:.92rem;font-weight:500;color:var(--charcoal)}
.rev-store{display:block;font-size:.78rem;color:var(--mid-grey);letter-spacing:.06em;margin-top:.1rem}
.rev-stars{color:#FBBC05;font-size:.9rem;letter-spacing:1px;margin-left:auto;flex-shrink:0}
.rev-text{font-size:.92rem;color:var(--charcoal);line-height:1.7;font-style:italic}
@keyframes rev-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}


.ob-inres-logo{margin-bottom:2rem}
.ob-inres-logo img{width:100%;max-width:300px;display:block;height:auto}


#hero-reviews{background:var(--white);padding:clamp(1.5rem,4vh,2.5rem) 0;border-bottom:1px solid var(--warmgrey)}
.hr-inner{max-width:980px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.hr-card{position:relative;padding-top:1.25rem}
.hr-card::before{content:'';position:absolute;top:0;left:0;width:32px;height:2px;background:var(--sage)}
.hr-quote{font-family:'DM Serif Display',Georgia,serif;font-size:.95rem;color:var(--charcoal);line-height:1.65;margin-bottom:1rem;font-style:italic}
.hr-meta{display:flex;flex-direction:column;gap:.2rem}
.hr-stars{color:#E49259;font-size:.78rem;letter-spacing:.1em}
.hr-name{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid-grey)}



.sh-content{position:relative;z-index:2;padding:4rem 3rem 4.5rem;max-width:480px}
.sh-eyebrow{display:block;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,245,240,.9);margin-bottom:1.1rem}
.sh-list{list-style:none;display:flex;flex-direction:column;gap:.45rem;margin-bottom:2.25rem}
.sh-list li{font-size:.88rem;color:rgba(247,245,240,.9);padding-left:1.25rem;position:relative;line-height:1.5}
.sh-list li::before{content:'—';position:absolute;left:0;color:var(--sage-light)}
.sh-btn{display:inline-block;background:var(--ivory);color:var(--charcoal);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.875rem 2rem;text-decoration:none;transition:background .25s,color .25s;opacity:1!important;visibility:visible!important}.sh-btn:hover{background:var(--charcoal);color:var(--ivory)}
.sh-btn--light:hover{background:var(--ivory);color:var(--charcoal);border-color:var(--ivory)}


            
    
    
    
    
    
    
    
    

    
    /* Diagonal editorial cut between panels */
        .sh-groom::after{content:'';position:absolute;right:-3vw;top:0;bottom:0;width:6vw;background:inherit;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);z-index:5;pointer-events:none;display:none}
        .sh-wedge svg{position:absolute;top:0;left:0;width:100%;height:100%}

    
      
    
    .ti-sep{color:var(--sage);font-size:.55rem;flex-shrink:0;line-height:1}
    .ti-loc{font-weight:600;font-size:.72rem;color:var(--charcoal);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:color .2s}
    .ti-loc:hover{color:var(--sage)}
    .ti-tel{color:var(--mid-grey);text-decoration:none;font-size:.75rem;letter-spacing:.03em;opacity:.6;transition:opacity .2s;white-space:nowrap}
    .ti-tel:hover{opacity:1;color:var(--charcoal)}
    .trust-item{display:flex;align-items:center;gap:.6rem;flex-shrink:0}

    




/* Custom cursor */
.custom-cursor{position:fixed;width:20px;height:20px;border:1.5px solid #637856;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:transform .12s ease,opacity .2s;transform:translate(-50%,-50%)}
.custom-cursor.active{transform:translate(-50%,-50%) scale(2.4);opacity:.7}


/* Glassmorphism on light-bg cards */
.store-card,.pkg-extra{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(255,255,255,0.72)!important;border:1px solid rgba(255,255,255,0.3)!important;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.bs-item{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.rev-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--ivory)!important;border:1px solid var(--warmgrey)!important}
.qv-modal{backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);background:rgba(255,255,255,.9)!important}
.btn-primary,.btn-secondary,.btn-ghost{transition:all .28s cubic-bezier(.4,0,.2,1)!important;touch-action:manipulation}
.btn-primary:hover,.btn-secondary:hover,.btn-ghost:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.14)}

/* Magnetic */
.magnetic{display:inline-block;transition:transform .3s cubic-bezier(.4,0,.2,1)}

/* Sparkle on active grooming slide */
@keyframes sparkle{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 28px 6px rgba(168,188,151,.38)}}
.gs-img.active{animation:sparkle 2.5s ease-in-out infinite}

/* Featured card breathing glow */
@keyframes breathe{0%,100%{box-shadow:0 0 0 0 rgba(122,140,110,0)}50%{box-shadow:0 0 36px 10px rgba(122,140,110,.3)}}
.gs-card--featured{animation:breathe 3s ease-in-out infinite}

/* Hero letter */
.hero-letter{display:inline-block;will-change:transform,opacity}

/* Before/After scrubber */
.ba-container{position:relative;width:100%;height:100%;overflow:hidden;user-select:none}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;top:0;left:0}

.ba-img-after{clip-path:polygon(var(--pos,50%) 0,100% 0,100% 100%,var(--pos,50%) 100%)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);transform:translateX(-50%);width:2px;background:#fff;z-index:10;pointer-events:none}
.ba-handle-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;font-size:14px;color:#2c2c2c}
.ba-range{position:absolute;inset:0;opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0}



/* Newsletter glass */
.nl-input{background:rgba(255,255,255,.13)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nl-btn{position:relative;overflow:hidden;transition:padding-right .25s}
.nl-btn::after{content:'\1F43E';position:absolute;right:-1.5rem;top:50%;transform:translateY(-50%);font-size:.85rem;transition:right .3s}
.nl-btn:hover::after{right:.5rem}
.nl-btn:hover{padding-right:2.5rem}

/* Footer depth */
footer{box-shadow:inset 0 6px 48px rgba(0,0,0,.22),0 -4px 32px rgba(0,0,0,.1)}


/* Polaroid scroll */
#insta-scroller::-webkit-scrollbar{display:none}
.polaroid-card{cursor:pointer}
.polaroid-card:hover{transform:rotate(0deg) scale(1.04) translateY(-4px)!important}

/* model-viewer in bed slides */
.bed-slide-img model-viewer{display:block;width:100%;height:100%;min-height:200px;background:var(--stone)}

/* BA scrubber */
.ba-container{position:relative;width:100%;height:100%;overflow:hidden;user-select:none}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-img-after{clip-path:polygon(var(--pos,50%) 0,100% 0,100% 100%,var(--pos,50%) 100%)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);transform:translateX(-50%);width:2px;background:#fff;z-index:10;pointer-events:none}
.ba-handle-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;font-size:15px;color:#2c2c2c;font-weight:700}
.ba-range{position:absolute;inset:0;opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;-webkit-appearance:none;touch-action:none}

/* Mobile responsive additions */




/* Pavilion Trail */
#stores-trail::-webkit-scrollbar{display:none}
.trail-card-img{display:none}
.trail-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.14)!important}
.trail-card a[href^="/grooming"]:hover{background:var(--charcoal)!important;color:var(--ivory)!important}




/* Dynamic floating pill header (mobile) */


/* Scroll-driven CSS reveals */
@supports (animation-timeline: view()) {
  .sd-reveal {
    animation: sd-fade-up linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 45%;
  }
}
/* Fallback: ensure everything is visible without scroll-driven support */
.sd-reveal { opacity: 1; transform: none; }
@keyframes sd-fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* View Transitions */
@view-transition { navigation: auto; }
::view-transition-old(root) {
  animation: vt-out .3s ease both;
}
::view-transition-new(root) {
  animation: vt-in .35s ease both;
}
@keyframes vt-out {
  from { opacity:1; transform:scale(1); }
  to   { opacity:0; transform:scale(.97); }
}
@keyframes vt-in {
  from { opacity:0; transform:scale(1.03); }
  to   { opacity:1; transform:scale(1); }
}

/* Hero section class */
#hero{ min-height:75vh; display: flex; align-items: center; overflow: hidden; position: relative; }
#hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#hero .hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right,rgba(44,44,44,.85) 0%,rgba(44,44,44,.45) 55%,rgba(44,44,44,.12) 100%); }
#hero .hero-content { position: relative; z-index: 2; width: 100%; max-width: 1240px; margin: 0 auto; padding: 5rem 1.25rem 4.5rem; }

/* In-residence section class */
.inres-watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(-12deg); font-family: 'DM Serif Display',serif; font-size: clamp(7rem,16vw,18rem); font-weight: 400; letter-spacing: .12em; white-space: nowrap; color: rgba(247,245,240,.04); pointer-events: none; user-select: none; z-index: 0; }
.inres-inner { position: relative; z-index: 1; max-width: 1160px; margin: 0 auto; }
.inres-header-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; border-bottom: 1px solid rgba(247,245,240,.12); padding-bottom: 3.5rem; }
.inres-pillars { display: grid; grid-template-columns: repeat(3,1fr); gap: 2.5rem; border-top: 1px solid rgba(247,245,240,.12); margin-top: 3rem; padding: 3.5rem 0 5rem; }


/* Store trail class */
.trail-section-intro { text-align: center; margin-bottom: 3rem; }

/* Bed 3D wrap */
.bed-3d-btn:hover { background: rgba(122,140,110,.9) !important; }

/* Merge duplicate mobile rules below */








/* Button visibility — always override any inherited glass/transparency */
.btn-primary, a.btn-primary, button.btn-primary, span.btn-primary {
  opacity: 1;
  display: inline-block;
  visibility: visible;
}
.btn-primary:hover, a.btn-primary:hover {
  background: #3e3e3e !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
}
.btn-secondary, a.btn-secondary {
  background: transparent !important;
  color: var(--charcoal) !important;
  border: 1px solid var(--charcoal) !important;
  opacity: 1 !important;
  display: inline-block !important;
}
.btn-ghost, a.btn-ghost {
  background: transparent !important;
  color: var(--charcoal) !important;
  border: 1px solid var(--warmgrey) !important;
  opacity: 1 !important;
  display: inline-block !important;
}
.sh-btn, a.sh-btn {
  opacity: 1 !important;
  display: inline-block !important;
}
/* Override dark-bg buttons (inside dark sections) */
#hero .btn-primary, #grooming-compare .pkg-cta-bar .btn-primary,
section[style*="background:#2D2C2A"] .btn-primary,
section[style*="background:var(--charcoal)"] .btn-primary {
  background: var(--ivory) !important;
  color: var(--charcoal) !important;
}


/* ── Bento Shop Online ── */
.cat-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.18) 50%, transparent 100%);
  z-index: 1;
  transition: background .4s cubic-bezier(0.4,0,0.2,1);
}
.cat-item:hover .cat-gradient {
  background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.32) 55%, rgba(0,0,0,.08) 100%);
}

/* Stretched-link */

/* Responsive */




/* ── Shop Online Bento ─────────────────────────────── */
.cat-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 260px 260px;
  gap: .75rem;
}
.cat-item:not(.cat-hero) { height: auto; }
.cat-item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: var(--stone);
  display: block;
}
.cat-item.cat-hero {
  grid-column: span 1;
  grid-row: span 2;
}
.cat-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.cat-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
  display: block;
}
.cat-item:hover .cat-img-wrap img { transform: scale(1.06); }
.cat-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.22) 55%, transparent 100%);
  z-index: 1;
}
.cat-text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 1.375rem 1.375rem 1.125rem;
}
.cat-text h3 {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 1.25rem;
  color: #fff;
  margin: 0 0 .3rem;
  line-height: 1.15;
}
.cat-hero .cat-text h3 {
  font-size: clamp(1.75rem, 3vw, 2.4rem);
}
.cat-text p {
  font-size: .86rem;
  color: rgba(255,255,255,.78);
  line-height: 1.5;
  margin: 0 0 .875rem;
  max-width: 34ch;
}
.cat-hero .cat-text p { max-width: 42ch; font-size: .92rem; }
.cat-shop-btn {
  display: inline-block;
  background: #fff;
  color: var(--charcoal);
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .6rem 1.25rem;
  text-decoration: none;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .3s cubic-bezier(0.4,0,0.2,1), transform .3s cubic-bezier(0.4,0,0.2,1), background .2s;
}
.cat-shop-btn:hover { background: var(--ivory); }
.cat-item:hover .cat-shop-btn,
.cat-item:focus-within .cat-shop-btn {
  opacity: 1;
  transform: translateY(0);
}
/* Stretched link covers entire card */
.cat-stretched-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}
/* Badge */
.cat-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 4;
  background: var(--sage);
  color: #fff;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .28rem .8rem;
}
.cat-badge-new { background: #E49259; }
.cat-cta-wrap { text-align: center; margin-top: 2.25rem; }





/* ═══ COMPREHENSIVE MOBILE FIXES ═══════════════════════════ */

/* BA Scrubber — stack on mobile */


/* Hero — reduce top padding on small screens */


/* In-residence — compact header stacks cleanly already (flex-wrap:wrap), 
   but ensure padding and button width on small phones */


/* Grooming compare — horizontal scroll table on mobile */


/* Categories / Shop Online — 5-card bento mobile */



/* Best sellers — 2 cols on mobile already set, ensure gap */


/* Stores trail — full scroll on mobile */


/* Socials / polaroids — mobile card size */


/* Reviews — auto-scroll cards fit mobile */


/* Newsletter — stack form */


/* Footer — 2 cols on tablet, 1 col on phone */



/* Header — ensure safe-area on notched phones */


/* Quick view modal — single col on mobile */


/* Trust ticker — hide tel on small screens, ensure no overflow */


/* Hero reviews strip — stack on mobile */


/* Section heading size on mobile */


/* Grooming split — ensure ba-range touch works */
.ba-range{touch-action:pan-y;-webkit-appearance:none}
.ba-container{touch-action:pan-y}

/* Back to top — above cookie bar on mobile */



/* ═══ MOBILE RESET & GLOBAL ══════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; height: auto; }

/* ═══ TABLET (≤1023px) ═══════════════════════════════════════ */


/* ═══ MOBILE (≤767px) ════════════════════════════════════════ */


/* ═══ SMALL PHONES (≤374px) ══════════════════════════════════ */


/* ═══ DISABLE HOVER EFFECTS ON TOUCH ════════════════════════ */



/* ═══════════════════════════════════════════════════════════
   CONSOLIDATED MOBILE MEDIA QUERIES
   All responsive overrides in one place, no !important spam
   ═══════════════════════════════════════════════════════════ */

/* ── Tablet & Mobile nav (≤1023px) ─────────────────────────*/
@media (max-width: 1023px) {
  .centre-nav { display: none; }
  .hamburger { display: flex; align-items: center; justify-content: center; }
  .hamburger:active { background: var(--stone); border-radius: 4px; }
  .header-icons { display: none; }
  .header-grid { height: 60px; padding: 0 1.25rem; }
  header {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  #mobile-menu {
    padding-top: env(safe-area-inset-top);
    padding-bottom: max(env(safe-area-inset-bottom), 1rem);
  }
  .pkg-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pkg-table { min-width: 520px; }
  .beds-carousel { padding-left: 1.25rem; padding-right: 1.25rem; }
  .bed-slide { flex: 0 0 72vw; }
  .beds-carousel { max-width: 100%; margin: 0; }
  .ir-filmstrip { height: clamp(200px, 30vw, 300px); }
  .ir-film-panel img { min-width: 280px; }
}

/* ── Mobile (≤767px) ────────────────────────────────────────*/
@media (max-width: 767px) {
  /* Global */
  .section-pad { padding: 2.5rem 0; }
  .section-heading { font-size: clamp(1.8rem, 6vw, 2.4rem); }
  .container-pp { padding: 0 1rem; }

  /* Fix 4: Eyebrow letter-spacing on mobile */
  .stores-eyebrow, .nl-eyebrow, .gs-eyebrow, .beds-eyebrow,
  .ob-eyebrow, .reviews-eyebrow, .socials-eyebrow, .hero-eyebrow,
  .blog-eyebrow, .bs-cat { letter-spacing: 0.15em; }

  /* Fix 2: Safe areas */
  .qv-modal {
    padding-bottom: env(safe-area-inset-bottom);
  }
  .qv-close {
    top: max(.25rem, env(safe-area-inset-top));
    right: max(.25rem, env(safe-area-inset-right));
  }

  /* Hero */
  #hero{ min-height:75vh; }
  .hero-content { padding: 3rem 1rem 2.5rem !important; }
  .hero-title { font-size: clamp(2rem, 9vw, 3rem); }
  .sh-content { padding: 2.5rem 1rem 3rem; max-width: 100%; }
  .sh-list { margin-bottom: 1.5rem; }

  /* Fix 5: Hero badge — scale down instead of hiding */
  .hero-badge {
    display: block;
    transform: scale(0.78);
    transform-origin: bottom right;
    bottom: .5rem;
    right: .5rem;
  }

  /* Fix 1: Touch targets — carousel arrows, shop buttons */
  .beds-arrow,
  .beds-carousel-nav button,
  #beds-prev,
  #beds-next {
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
  }
  .cat-stretched-link::after { min-height: 44px; }
  .qv-trigger { min-height: 44px; }

  /* Fix 1: BA handle circle 48px on mobile */
  .ba-handle-circle { width: 48px; height: 48px; font-size: 16px; }

  /* Fix 6: Carousel right-edge padding on mobile */
  .beds-carousel { padding-left: 1rem; padding-right: 1rem; gap: .75rem; }
  #stores-trail { padding-right: 1rem; }
  #insta-scroller { padding-right: 1rem; }

  /* Hero reviews */
  .hr-inner { grid-template-columns: 1fr; gap: 1.5rem; }
  #hero-reviews { padding: 2rem 0; }

  /* Grooming split */
  #grooming-split { grid-template-columns: 1fr; min-height: unset; }
  .gs-media { order: -1; height: 240px; position: relative; }
  .gs-text { padding: 2rem 1rem 2.5rem; }
  .gs-title { font-size: clamp(1.8rem, 7vw, 2.6rem); }
  .gs-cards { grid-template-columns: 1fr; gap: 1rem; }

  /* BA scrubber */
  .ba-grid { grid-template-columns: 1fr; min-height: unset; }
  .ba-grid > div:first-child { padding: 2.5rem 1rem 2rem; }
  .ba-grid > div:first-child h2 { font-size: clamp(1.5rem, 5vw, 2rem); }
  .ba-grid > div:last-child { min-height: 300px; position: relative; }
  #ba-section .btn-primary { display: block; text-align: center; width: 100%; }


  /* In-residence header: stack on mobile */
  .ir-header-split { flex-direction: column; gap: 1rem; text-align: center; align-items: center; }
  .ir-header-split .ir-section-lede,
  .ir-header-split-right { flex: none; width: 100%; }
  .ir-section-header { padding: 1.5rem 1rem 0; }
  .ir-section-actions { justify-content: center; }

  /* Beds carousel: full width on mobile */
  .beds-carousel { max-width: 100%; margin: 0; padding-left: 1rem; padding-right: 1rem; }

  /* Filmstrip: seamless auto-scroll on mobile */
  .ir-filmstrip { height: 220px !important; overflow: hidden; width: 100%; }
  .ir-film-track { display: flex !important; flex-wrap: nowrap !important; width: max-content !important; animation: ir-scroll 35s linear infinite !important; }
  .ir-film-panel { flex: 0 0 auto; min-width: 0; }
  .ir-film-panel img { height: 100%; width: auto; min-width: 250px; object-fit: cover; }

  /* Grooming compare */
  .pkg-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -1rem; padding: 0 1rem; }
  .pkg-table { min-width: 480px; grid-template-columns: 1.2fr 1fr 1fr 1fr; }
  .pkg-extras { min-width: 380px; overflow-x: auto; grid-template-columns: repeat(2, 1fr); }
  .pkg-cta-bar { flex-direction: column; align-items: stretch; gap: .75rem; }
  .pkg-cta-bar > * { text-align: center; }

  /* Shop online bento */
  .cat-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: .5rem; }
  .cat-item { grid-column: span 1; height: 190px; }
  .cat-item.cat-hero { grid-column: span 2; height: 240px; }
  .cat-shop-btn { opacity: 1; transform: translateY(0); font-size: .6rem; padding: .4rem .75rem; }
  .cat-text p { display: none; }
  .cat-hero .cat-text p { display: block; }
  .cat-text { padding: 1rem; }

  /* In-residence */
  #in-residence > div:first-child { padding: 2rem 1rem 1.5rem; flex-direction: column; align-items: center; }
  #in-residence > div:first-child > div:last-child { width: 100%; display: flex; gap: .625rem; flex-wrap: wrap; justify-content: center; }
  #in-residence > div:first-child > div:last-child a { flex: 1; min-width: 120px; text-align: center; padding: .65rem .75rem; font-size: .68rem; }
  .ir-carousel-meta { flex-direction: column; align-items: flex-start; }
  .bed-slide { flex: 0 0 72vw; }

  /* Beds section */
  #beds-split { grid-template-columns: 1fr; min-height: unset; }
  .beds-title { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .beds-header { flex-direction: column; align-items: flex-start; }

  /* Our brands */
  .ob-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .ob-img-side { order: -1; }
  .ob-frame { display: none; }
  .ob-products { grid-template-columns: 1fr 1fr; }

  /* Best sellers */
  .bs-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .625rem; }
  .bs-overlay { display: none; }

  /* Pavilion Trail stores */
  #stores-trail .trail-card { flex: 0 0 70vw; }

  /* Socials / polaroids */
  #insta-scroller .polaroid-card { flex: 0 0 72vw; min-width: 0; }
  .socials-header { flex-direction: column; align-items: flex-start; gap: .75rem; }

  /* Reviews */
  .rev-card { width: 260px; padding: 1rem 1.25rem; }
  .reviews-header { flex-direction: column; align-items: flex-start; }

  /* Newsletter */
  .nl-form { flex-direction: column; gap: .5rem; }
  .nl-input, .nl-btn { width: 100%; }
  .nl-btn::after { display: none; }
  .nl-btn:hover { padding-right: .875rem; }

  /* Trust ticker */
  .trust-track { gap: 1.5rem; }
  .ti-tel { font-size: .68rem; opacity: .8; }
  #trust { padding: .4rem 0; }

  /* Fix 7: QV modal */
  .qv-modal { grid-template-columns: 1fr; max-height: 85vh; width: 94%; }
  .qv-img { aspect-ratio: 4/3; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .footer-brand { grid-column: 1 / -1; }

  /* Back to top */
  #back-top { bottom: 5.5rem; right: 1rem; width: 38px; height: 38px; }

  /* Cookie bar */
  #cookie-bar { flex-direction: column; align-items: stretch; }
  .cookie-btns { justify-content: center; }
}

/* ── Small phones (≤374px) ──────────────────────────────────*/
@media (max-width: 374px) {
  .cat-grid { grid-template-columns: 1fr; }
  .cat-item { height: 160px; }
  #stores-trail .trail-card { flex: 0 0 90vw; }
  .footer-inner { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .sh-list { display: none; }
  .hero-badge { display: none; }
}

/* ── Small mobile (≤480px) ──────────────────────────────────*/
@media (max-width: 480px) {
  .footer-inner { grid-template-columns: 1fr; }
  .ob-products { grid-template-columns: 1fr; }
  .pkg-extras { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; }
  .hero-actions a, .hero-actions .btn-primary { width: 100%; text-align: center; }
  .gs-actions { flex-direction: column; }
  .gs-actions a { width: 100%; text-align: center; }
  .ob-actions { flex-direction: column; }
  .ob-actions a { width: 100%; text-align: center; }
  .hr-inner { padding: 0 1rem; }

  .ir-section-actions { flex-direction: column; align-items: stretch; }
  .ir-section-actions a { text-align: center; }
  .beds-carousel { max-width: 100%; }

  .ir-section-actions { flex-direction: column; align-items: stretch; }
  .ir-section-actions a { text-align: center; }
}

/* ── Small screens ≤600px (QV modal) ───────────────────────*/
@media (max-width: 600px) {
  .qv-modal { grid-template-columns: 1fr; }
  .qv-img { aspect-ratio: 4/3; }
}

/* ── Touch devices (disable hover-only effects) ─────────────*/
@media (hover: none) {
  .custom-cursor { display: none; }
  .magnetic { transform: none !important; }
  .cat-shop-btn { opacity: 1; transform: translateY(0); }
  .qv-trigger { display: none; }
  [data-tilt] { transform: none !important; }
  .bs-overlay { display: none !important; }
  .insta-overlay { display: none; }
}

/* Grooming compare — stacked layout on small screens */
@media (max-width: 599px) {
  .pkg-table-wrap { overflow-x: unset; margin: 0; padding: 0; }
  .pkg-table {
    display: flex;
    flex-direction: column;
    min-width: unset;
    gap: 1px;
  }
  .pkg-th.label:first-child { display: none; }
  .pkg-th {
    width: 100%;
    border-bottom: 1px solid var(--warmgrey);
  }
  .pkg-row-label {
    font-weight: 600;
    background: var(--stone);
    border-top: 2px solid var(--warmgrey);
    font-size: .82rem;
  }
  .pkg-cell {
    justify-content: flex-start;
    padding: .5rem 1rem;
    border-top: 1px solid var(--stone);
  }
  .pkg-extras {
    grid-template-columns: repeat(2, 1fr);
    min-width: unset;
    overflow-x: unset;
  }
}

/* Keyboard navigation focus outlines */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--sage);
  outline-offset: 3px;
  border-radius: 2px;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}
/* Focus-visible styles are applied globally to all interactive elements */

/* === Retail readability uplift === */
:root{
  --mid-grey:#5f5d56;
  --sage:#5B7052;
  --sage-light:#a8bc97;
}
body{
  font-size:18px;
  line-height:1.65;
  color:#262626;
  -webkit-text-size-adjust:100%;
}
.nav-link,.mobile-nav-link,
.btn-primary,.btn-secondary,.btn-ghost,.hero-ghost,
.ir-btn-outline,.tab-link,.beds-all,.text-link,
.cookie-accept,.cookie-decline,.sh-btn,.cat-shop-btn{
  font-size:.9rem;
  letter-spacing:.1em;
}
.hero-sub,.page-hero p,.svc-desc,.store-detail-row,.info-body,
.collection-intro p,.prod-price,.footer-col li a,.footer-addr,
.ob-point p,.store-addr,.nl-body,.review-text,.insta-cap,
.qv-price,.form-group input,.form-group select,.form-group textarea{
  font-size:1rem;
  line-height:1.7;
}
.hours-label,.svc-tag,.breed-tag,.tuscan-prov-label,.qv-tag,
.footer-col h3,.footer-copy,.footer-legal a,.form-group label,
.pkg-sub,.bs-cat,.review-store,.review-date,.hero-badge-label,
.reviews-meta,.nl-note,.store-tel{
  font-size:.84rem;
}
.page-hero p,.hero-sub,.gs-body,.review-text{
  color:rgba(247,245,240,.92);
}
.contact-band p,.tuscan-text p,.reviews-meta,.hero-badge-label,
.review-store,.review-date{
  color:rgba(247,245,240,.82);
}
@media (max-width:767px){
  body{font-size:18px}
  .nav-link,.mobile-nav-link,.btn-primary,.btn-secondary,.btn-ghost,.hero-ghost,.tab-link{font-size:.88rem}
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE-FIRST RESPONSIVE SYSTEM — Pet Pavilion
   Applied across index / grooming / locations / luxury-collection
   ═══════════════════════════════════════════════════════════════ */

/* ── 0. Global image safety ─────────────────────────────────── */
img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}

/* ── 1. Touch-target minimum for all interactive elements ────── */
.btn-primary, .btn-secondary, .btn-ghost,
a.btn-primary, a.btn-secondary, a.btn-ghost,
button, [role="button"],
.icon-btn, .hamburger,
.cookie-accept, .cookie-decline,
.mobile-nav-link, .nav-link,
.sh-btn, .ir-btn-outline,
.hero-ghost, .beds-all,
.cat-shop-btn, .tab-link,
.pkg-book, .sticky-book,
.store-actions a,
#back-top {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
button.btn-primary[style*="width:100%"],
a.btn-primary[style*="width:100%"] {
  display: flex;
}

/* ── 2. Hamburger visible on ≤1023px ────────────────────────── */
@media (max-width: 1023px) {
  .centre-nav   { display: none !important; }
  .header-icons { display: none !important; }
  .hamburger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: .25rem;
    color: var(--charcoal);
    touch-action: manipulation;
  }
  .header-grid { height: 60px; padding: 0 1.25rem; }
  header {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  #mobile-menu {
    padding-bottom: max(env(safe-area-inset-bottom, 0px), 1rem);
  }
}

/* ── 3. Mobile base (≤767px) ────────────────────────────────── */
@media (max-width: 767px) {

  /* 3a. Global spacing & typography */
  .section-pad  { padding: 3rem 0 !important; }
  .container-pp { padding: 0 1.25rem; }
  .section-heading {
    font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
    line-height: 1.1;
  }

  /* 3b. Eyebrow letter-spacing */
  .hero-eyebrow, .gs-eyebrow, .page-hero-eyebrow,
  .beds-eyebrow, .ob-eyebrow, .reviews-eyebrow,
  .socials-eyebrow, .stores-eyebrow, .nl-eyebrow,
  .ir-section-eyebrow, .eyebrow, .bs-cat {
    letter-spacing: 0.15em;
  }

  /* HERO */
  #hero { min-height: 65vh; align-items: flex-end; }
  .hero-bg::after {
    background: linear-gradient(
      to right,
      rgba(44,44,44,.88) 0%,
      rgba(44,44,44,.65) 55%,
      rgba(44,44,44,.35) 100%
    );
  }
  .hero-content { padding: 2.5rem 1.25rem 3rem !important; }
  .hero-title   { font-size: clamp(2rem, 9vw, 3rem); max-width: 100%; }
  .hero-sub     { font-size: .95rem; max-width: 100%; }
  .hero-actions { flex-direction: column; gap: .625rem; }
  .hero-actions a,
  .hero-actions .btn-primary,
  .hero-actions .hero-ghost { width: 100%; text-align: center; }
  .hero-badge {
    transform: scale(0.78);
    transform-origin: bottom right;
    bottom: .5rem; right: .5rem;
  }
  .hero-list { display: none; }

  /* HERO REVIEWS STRIP */
  .hr-inner     { grid-template-columns: 1fr; gap: 1.25rem; }
  #hero-reviews { padding: 2rem 0; }

  /* TRUST TICKER */
  #trust        { padding: .4rem 0; }
  .trust-track  { gap: 1.5rem; }

  /* GROOMING SPLIT */
  #grooming-split { grid-template-columns: 1fr; min-height: unset; }
  .gs-media { order: -1; height: 260px; position: relative; }
  .gs-img   { position: absolute; inset: 0; }
  .gs-text  { padding: 2rem 1.25rem 2.5rem; }
  .gs-title { font-size: clamp(1.8rem, 7vw, 2.5rem); }
  .gs-body  { max-width: 100%; }
  .gs-actions   { flex-direction: column; gap: .625rem; }
  .gs-actions a { width: 100%; text-align: center; }

  /* GROOMING PRICING TABLE — horizontal scroll */
  .pkg-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -1.25rem;
    padding: 0 1.25rem;
  }
  .pkg-table    { min-width: 480px; }
  .pkg-extras   { min-width: 380px; overflow-x: auto; grid-template-columns: repeat(2,1fr); }
  .pkg-cta-bar  { flex-direction: column; align-items: stretch; gap: .75rem; }
  .pkg-cta-bar > * { text-align: center; }

  /* BEDS CAROUSEL */
  .beds-header  { flex-direction: column; align-items: flex-start; }
  .beds-title   { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .beds-carousel { max-width: 100%; margin: 0; padding-left: 1.25rem; padding-right: 1.25rem; gap: .75rem; }
  .bed-slide    { flex: 0 0 72vw; }

  /* IN RESIDENCE */
  .inres-header-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding-bottom: 2rem;
  }
  .inres-pillars {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2rem 0 3rem;
  }
  .ir-filmstrip {
    height: 220px !important;
    overflow: hidden;
    width: 100%;
  }
  .ir-film-track  { display: flex !important; flex-wrap: nowrap !important; width: max-content !important; animation: ir-scroll 35s linear infinite !important; }
  .ir-film-panel  { flex: 0 0 auto; }
  .ir-film-panel img { height: 100%; width: auto; min-width: 250px; object-fit: cover; }
  .ir-header-split {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    align-items: center;
  }
  .ir-header-split .ir-section-lede,
  .ir-header-split-right { flex: none; width: 100%; }
  .ir-section-header { padding: 1.5rem 1.25rem 0; }
  .ir-section-actions { flex-direction: column; align-items: stretch; }
  .ir-section-actions a { text-align: center; width: 100%; }
  .ir-carousel-meta { flex-direction: column; align-items: flex-start; }

  /* OB / CATEGORIES GRID */
  .ob-grid      { grid-template-columns: 1fr; gap: 2rem; }
  .ob-img-side  { order: -1; }
  .ob-frame     { display: none; }
  .ob-products  { grid-template-columns: 1fr 1fr; }
  .ob-actions   { flex-direction: column; gap: .625rem; }
  .ob-actions a { width: 100%; text-align: center; }

  /* SHOP ONLINE BENTO */
  .cat-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: .5rem;
  }
  .cat-item,
  .cat-item.cat-hero { grid-column: span 1; grid-row: span 1; height: 180px; }
  .cat-text p   { display: none; }
  .cat-text     { padding: .875rem; }
  .cat-shop-btn { opacity: 1; transform: translateY(0); font-size: .62rem; padding: .35rem .75rem; }

  /* BEST SELLERS */
  .bs-grid    { grid-template-columns: repeat(2, 1fr); gap: .625rem; }
  .bs-overlay { display: none; }

  /* STORES TRAIL */
  #stores-trail { padding-right: 1.25rem; }
  #stores-trail .trail-card { flex: 0 0 70vw; }

  /* INSTAGRAM / POLAROIDS */
  #insta-scroller { padding-right: 1.25rem; }
  #insta-scroller .polaroid-card { flex: 0 0 72vw; min-width: 0; }
  .socials-header { flex-direction: column; align-items: flex-start; gap: .75rem; }

  /* REVIEWS */
  .reviews-header { flex-direction: column; align-items: flex-start; }
  .rev-card { width: 260px; padding: 1rem 1.25rem; }

  /* NEWSLETTER */
  .nl-form  { flex-direction: column; gap: .625rem; }
  .nl-input, .nl-btn { width: 100%; box-sizing: border-box; }
  .nl-btn::after { display: none; }
  .nl-btn:hover  { padding-right: 1rem; }

  /* QUICK VIEW MODAL */
  .qv-overlay { align-items: flex-end; }
  .qv-modal {
    grid-template-columns: 1fr;
    max-width: 100%; width: 100%; max-height: 88vh;
    border-radius: 14px 14px 0 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .qv-img { aspect-ratio: 4/3; }

  /* BA SCRUBBER */
  .ba-grid { grid-template-columns: 1fr; }
  .ba-grid > div:first-child { padding: 2.5rem 1.25rem 2rem; }
  .ba-grid > div:last-child  { min-height: 300px; position: relative; }
  .ba-handle-circle { width: 48px; height: 48px; font-size: 16px; }
  #ba-section .btn-primary { display: flex; width: 100%; text-align: center; }

  /* GROOMING PAGE — service cards */
  .svc-card { grid-template-columns: 1fr; min-height: unset; }
  .svc-card:nth-child(even) .svc-img { order: -1; }
  .svc-img  { height: 240px; }
  .svc-body { padding: 1.75rem 1.25rem; }
  .svc-body .btn-primary { width: 100%; text-align: center; }
  .services-grid { grid-template-columns: 1fr; }

  /* GROOMING PAGE — info grid */
  .info-grid { grid-template-columns: 1fr; }

  /* GROOMING PAGE — booking */
  .booking-inner  { grid-template-columns: 1fr; gap: 2rem; }
  .booking-stores { grid-template-columns: 1fr; }
  .breeds-inner   { flex-direction: column; gap: 1.5rem; }
  .breeds-list    { overflow-x: auto; flex-wrap: nowrap; padding-bottom: .5rem; }
  .book-form      { padding: 1.75rem 1.25rem; }

  /* LOCATIONS PAGE — store entries */
  .store-entry  { grid-template-columns: 1fr; }
  .store-info   { padding: 2rem 1.25rem 1.75rem; }
  .store-map    { min-height: 220px; }
  .store-map iframe { min-height: 220px; }
  .store-actions { flex-direction: column; gap: .625rem; }
  .store-actions a { width: 100%; text-align: center; }
  .hours-grid   { grid-template-columns: 1fr; gap: 1rem; }
  .contact-band-inner   { flex-direction: column; }
  .contact-band-actions { flex-direction: column; width: 100%; }
  .contact-band-actions a { width: 100%; text-align: center; }

  /* LUXURY COLLECTION */
  .collection-section { padding: 2.5rem 0; }
  .collection-intro   { margin-bottom: 1.5rem; }
  .tuscan-inner       { flex-direction: column; gap: 1.5rem; }
  .tuscan-provenance  { gap: 1rem; }
  .tuscan-prov-item   { border-left: none; padding-left: 0; }
  .collection-tabs    { top: 60px; justify-content: flex-start; }

  /* FOOTER */
  .footer-inner  { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .footer-brand  { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: .5rem; }

  /* COOKIE BAR */
  #cookie-bar  { flex-direction: column; align-items: stretch; }
  .cookie-btns { justify-content: center; }

  /* BACK TO TOP */
  #back-top { bottom: 5.5rem; right: 1rem; width: 38px; height: 38px; }
}

/* ── 4. Small phones (≤480px) ────────────────────────────────── */
@media (max-width: 480px) {
  .footer-inner { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .ob-products  { grid-template-columns: 1fr; }
  .pkg-extras   { grid-template-columns: 1fr; overflow-x: unset; min-width: unset; }
  .cat-grid     { grid-template-columns: 1fr; }
  .cat-item, .cat-item.cat-hero { height: 200px; }
  #stores-trail .trail-card { flex: 0 0 85vw; }
  .form-row     { grid-template-columns: 1fr; }
  .svc-img      { height: 200px; }
}

/* ── 5. Very small phones (≤374px) ───────────────────────────── */
@media (max-width: 374px) {
  #stores-trail .trail-card { flex: 0 0 92vw; }
  .sh-list    { display: none; }
  .hero-badge { display: none; }
  .cat-item   { height: 160px; }
}

/* ── 6. Disable hover-only effects on touch devices ─────────── */
@media (hover: none) {
  .magnetic      { transform: none !important; }
  .cat-shop-btn  { opacity: 1 !important; transform: translateY(0) !important; }
  .qv-trigger    { display: none; }
  [data-tilt]    { transform: none !important; }
  .bs-overlay    { display: none !important; }
  .insta-overlay { display: none; }
  .bed-slide:hover,
  .card-hover:hover,
  .ob-prod:hover { transform: none; }
}


/* Inline styles extracted from index.html */
.pp-inline-1{background-image:url('assets/img/noise.svg') repeat;}
.pp-inline-2{position:absolute;top:-999px;left:-999px;background:var(--sage);color:var(--ivory);padding:.5rem 1rem;z-index:9999;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;}
.pp-inline-3{height:44px;width:auto;display:block;}
.pp-inline-4{display:none;}
.pp-inline-5{display:none;position:fixed;inset:0;z-index:98;background:rgba(0,0,0,0.25);transition:opacity .25s ease;opacity:0;}
.pp-inline-6{padding-top:1.375rem;padding-bottom:1.625rem;display:flex;flex-direction:column;}
.pp-inline-7{display:flex;gap:.875rem;padding-top:1.375rem;border-top:1px solid var(--warmgrey);margin-top:.875rem;}
.pp-inline-8{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid-grey);}
.pp-inline-9{color:var(--warmgrey);}
.pp-inline-10{flex:1;}
.pp-inline-11{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;}
.pp-inline-12{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pp-inline-13{position:absolute;inset:0;background:linear-gradient(to right,rgba(44,44,44,.85) 0%,rgba(44,44,44,.45) 55%,rgba(44,44,44,.12) 100%);}
.pp-inline-14{position:relative;z-index:2;width:100%;max-width:1140px;margin:0 auto;padding:2.5rem 1.25rem;}
.pp-inline-15{display:inline-flex;flex-direction:column;gap:.45rem;margin-bottom:1.5rem;}
.pp-inline-16{display:inline-flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.92);padding:.45rem .875rem;}
.pp-inline-17{color:#C8972A;font-size:.9rem;}
.pp-inline-18{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#2c2c2c;}
.pp-inline-19{display:inline-flex;flex-wrap:wrap;gap:.5rem;}
.pp-inline-20{background:rgba(255,255,255,.88);padding:.3rem .75rem;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#2c2c2c;}
.pp-inline-21{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.05;letter-spacing:-.02em;color:var(--ivory);margin-bottom:1.25rem;max-width:18ch;}
.pp-inline-22{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin-bottom:2rem;padding:0;}
.pp-inline-23{font-size:.95rem;color:rgba(247,245,240,.85);padding-left:1.25rem;position:relative;}
.pp-inline-24{position:absolute;left:0;color:var(--sage-light);}
.pp-inline-25{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:2rem;}
.pp-inline-26{background:var(--ivory);color:var(--charcoal);}
.pp-inline-27{display:inline-block;background:transparent;color:var(--ivory);border:1px solid rgba(247,245,240,.45);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.875rem 2rem;text-decoration:none;transition:background .25s,color .25s,border-color .25s;}
.pp-inline-28{position:absolute;bottom:2rem;right:2rem;z-index:2;background:rgba(44,44,44,.6);border:1px solid rgba(247,245,240,.15);padding:.75rem 1.125rem;text-align:center;backdrop-filter:blur(8px);}
.pp-inline-29{font-family:'DM Serif Display',Georgia,serif;font-size:1.8rem;color:var(--ivory);line-height:1;}
.pp-inline-30{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,245,240,.5);margin-top:.2rem;}
.pp-inline-31{background:var(--charcoal);padding:0;}
.pp-inline-32{display:grid;grid-template-columns:1fr 1fr;min-height:420px;}
.pp-inline-33{display:flex;flex-direction:column;justify-content:center;padding:4rem min(3.5rem,7vw) 4rem max(1.25rem,calc(50vw - 620px + 1.25rem));}
.pp-inline-34{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage-light);margin-bottom:1.25rem;display:block;}
.pp-inline-35{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.2rem,3.5vw,3rem);color:var(--ivory);line-height:1.1;margin-bottom:.5rem;font-style:italic;}
.pp-inline-36{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-light);margin-bottom:1.5rem;}
.pp-inline-37{font-size:.95rem;color:rgba(247,245,240,.78);line-height:1.75;margin-bottom:2rem;max-width:34ch;}
.pp-inline-38{align-self:flex-start;}
.pp-inline-39{position:relative;overflow:hidden;min-height:420px;}
.pp-inline-40{--pos:50%;position:absolute;inset:0;}
.pp-inline-41{touch-action:pan-y;}
.pp-inline-42{position:absolute;top:1rem;left:1rem;background:rgba(44,44,44,.75);color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .8rem;pointer-events:none;}
.pp-inline-43{position:absolute;top:1rem;right:1rem;background:rgba(122,140,110,.88);color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .8rem;pointer-events:none;}
.pp-inline-44{background:var(--ivory);}
.pp-inline-45{display:block;text-align:center;font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sage);margin-bottom:.875rem;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;}
.pp-inline-46{text-align:center;}
.pp-inline-47{text-align:center;font-size:1rem;color:var(--mid-grey);max-width:52ch;margin:.875rem auto 2.75rem;}
.pp-inline-48{margin-top:auto;}
.pp-inline-49{display:inline-block;background:var(--sage);color:var(--ivory);font-size:.82rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.875rem 2rem;transition:background .25s;}
.pp-inline-50{background:var(--charcoal);}
.pp-inline-51{ text-align:center; padding:0 0 3rem; }
.pp-inline-51--left .pp-inline-53,
.pp-inline-51--left .pp-inline-54{font-size:1rem;color:var(--mid-grey);max-width:42ch;margin:0 auto 1.75rem;line-height:1.7;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;}

.pp-inline-52{display:block;font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sage-light);margin-bottom:.875rem;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;}
.pp-inline-53{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.6rem,4.5vw,3.6rem);color:var(--charcoal);letter-spacing:-.02em;line-height:1.05;margin:0 0 1rem;}
.pp-inline-54{font-size:1rem;color:var(--mid-grey);max-width:42ch;margin:0 auto;line-height:1.7;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;}
.pp-inline-55{height:6px;background:linear-gradient(to right,rgba(255,255,255,.15),#fff,rgba(255,255,255,.15));}
.pp-inline-56{margin-top:0;}
.pp-inline-57{max-width:1000px;margin:0 auto;}
.pp-inline-58{text-align:center;margin-bottom:3rem;}
.pp-inline-59{max-width:520px;margin:0 auto;color:var(--mid-grey);font-size:1rem;line-height:1.75;}
.pp-inline-60{display:flex;align-items:center;justify-content:space-between;max-width:1140px;margin:0 auto 1rem;padding:0 1.25rem;}
.pp-inline-61{font-family:'DM Serif Display',serif;font-size:.9rem;color:var(--mid-grey);font-style:italic;}
.pp-inline-62{display:flex;gap:.5rem;}
.pp-inline-63{width:2.25rem;height:2.25rem;min-width:44px;min-height:44px;background:transparent;border:1px solid var(--warmgrey);color:var(--charcoal);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s;touch-action:manipulation;}
.pp-inline-64{display:flex;gap:1.5rem;overflow-x:auto;padding:1rem max(1.25rem,calc((100vw - 1160px)/2 + 1.25rem)) 1.5rem 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.pp-inline-65{flex:0 0 300px;flex-shrink:0;scroll-snap-align:start;background:rgba(255,255,255,0.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,0.35);box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
.pp-inline-66{position:relative;overflow:hidden;height:200px;flex-shrink:0;}
.pp-inline-67{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block;}
.pp-inline-68{position:absolute;top:.875rem;left:.875rem;background:var(--sage);color:#fff;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .75rem;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;}
.pp-inline-69{position:absolute;top:.875rem;right:.875rem;background:rgba(44,44,44,.72);color:rgba(247,245,240,.8);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .65rem;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;}
.pp-inline-70{padding:1.375rem;display:flex;flex-direction:column;flex:1;gap:.5rem;}
.pp-inline-71{font-family:'DM Serif Display',Georgia,serif;font-size:1.2rem;color:var(--charcoal);margin:0;line-height:1.2;}
.pp-inline-72{font-size:.9rem;color:var(--mid-grey);line-height:1.6;margin:0;}
.pp-inline-73{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--sage);font-weight:500;text-decoration:none;padding:.25rem 0;min-height:44px;margin-top:.125rem;}
.pp-inline-74{display:flex;gap:.625rem;margin-top:auto;padding-top:.75rem;flex-wrap:wrap;}
.pp-inline-75{flex:1;min-width:110px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--charcoal);color:var(--ivory);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.75rem .875rem;text-decoration:none;min-height:48px;transition:background .2s;}
.pp-inline-76{flex:1;min-width:110px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--warmgrey);color:var(--charcoal);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.75rem .875rem;text-decoration:none;min-height:48px;transition:background .2s,color .2s;}
.pp-inline-77{text-align:center;margin-top:3rem;}
.pp-inline-78{background:var(--cream);}
.pp-inline-79{margin-bottom:2rem;}
.pp-inline-80{margin-bottom:0;}
.pp-inline-81{vertical-align:middle;margin-right:.4rem;}
.pp-inline-82{display:flex;gap:1.25rem;overflow-x:auto;padding:1rem max(1.25rem,calc((100vw - 1160px)/2 + 1.25rem)) 1.5rem 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.pp-inline-83{flex:0 0 220px;background:#fff;padding:.875rem .875rem .625rem;box-shadow:0 6px 24px rgba(0,0,0,.13);scroll-snap-align:start;transition:transform .25s;position:relative;}
.pp-inline-84{position:relative;aspect-ratio:1;overflow:hidden;margin-bottom:.75rem;}
.pp-inline-85{position:absolute;top:.5rem;left:.5rem;background:var(--sage);color:#fff;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;padding:.25rem .6rem;}
.pp-inline-86{font-size:.88rem;color:var(--charcoal);line-height:1.45;margin-bottom:.5rem;}
.pp-inline-87{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);border-bottom:1px solid var(--sage);padding-bottom:1px;text-decoration:none;}
.pp-inline-88{text-align:center;margin-top:2rem;}
.pp-inline-89{background:var(--white);padding:3rem 0;}
.pp-inline-90{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem;}
.pp-inline-91{font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);display:block;margin-bottom:.625rem;}
.pp-inline-92{display:flex;align-items:center;gap:.625rem;flex-shrink:0;}
.pp-inline-93{font-size:1.6rem;font-family:'DM Serif Display',Georgia,serif;color:var(--charcoal);}
.pp-inline-94{color:#FBBC05;font-size:1rem;letter-spacing:1px;}
.pp-inline-95{font-size:.88rem;color:var(--mid-grey);margin-top:.15rem;}
.pp-inline-96{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.pp-inline-97{display:none;margin-top:.75rem;font-size:.85rem;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;color:var(--ivory);min-height:1.4em;}
.pp-inline-98{font-style:normal;}

/* Utility tweaks after inline extraction */
.skip-link:focus{top:0;left:0}
.insta-nav-btn:hover,.trail-nav-btn:hover{background:var(--stone)}
