/* Flock Journey site styles: generated from the approved 2027 template comps. */
@font-face{font-family:"Market Pro";src:url("fonts/MarketPro-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Lilita One";src:url("fonts/LilitaOne-Regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Oswald";src:url("fonts/Oswald-Variable.woff2") format("woff2");font-weight:200 700;font-display:swap}
@font-face{font-family:"Quicksand";src:url("fonts/Quicksand-Variable.woff2") format("woff2");font-weight:300 700;font-display:swap}
/* ==========================================================================
   Flock Journey 2027 template comps: shared styles.
   Matches the 2027 FJ Home Page and Journey Page comps and the Updated Brand
   Toolbox (colors, Lilita One / Market Pro / Oswald / Quicksand).
   These HTML files are DESIGN COMPS for approval, then rebuilt in Elementor.
   ========================================================================== */

:root{
  --red:#CB333B; --yellow:#EAAA00; --tan:#E7DBB9; --cream:#FAF3E0; --white:#fff; --ink:#241C15;
  --brown:#73391D; --green:#76881D; --blue:#A4C8E1;
  --red-deep:#A82730; --tan-deep:#DBCC9C;
  --fj-display:"Lilita One","Impact",sans-serif; --script:"Market Pro","Caveat Brush",cursive;
  --sub:"Oswald","Arial Narrow",sans-serif; --body:"Quicksand","Trebuchet MS",sans-serif;
  --maxw:1180px; --pill:999px;
}
body{font-family:var(--body);font-weight:500;color:var(--brown);background:var(--cream);line-height:1.7;margin:0}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}

/* Type system */
.kicker{font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--yellow);font-size:1.15rem;letter-spacing:.01em}
.h-display{font-family:var(--fj-display);font-weight:400;text-transform:uppercase;color:var(--red);line-height:1;font-size:clamp(2rem,5vw,3.4rem)}
.h-display .script,.script{font-family:var(--script);font-weight:700;text-transform:none;color:var(--yellow);line-height:.9}
.h-display .script{display:block;font-size:1.05em;margin-top:.05em}
.lede{font-family:var(--sub);font-weight:300;font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.4;color:var(--brown)}
.sub{font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--brown)}

/* Buttons, chips, squiggle link */
.btn{display:inline-block;font-family:var(--sub);font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--red);color:#fff;
  border-radius:var(--pill);padding:.8rem 1.8rem;text-decoration:none;font-size:.95rem;border:3px solid var(--red);transition:background .2s}
.btn:hover{background:var(--red-deep);border-color:var(--red-deep)}
.btn--outline{background:transparent;color:var(--red)}
.btn--outline:hover{background:var(--red);color:#fff}
.btn--yellow{background:var(--yellow);border-color:var(--yellow);color:var(--brown)}
.chip{display:inline-block;font-family:var(--sub);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--pill);padding:.2rem .85rem;background:var(--yellow);color:var(--brown);text-decoration:none}
.chip--stage{background:var(--blue)}
.chip--green{background:var(--green);color:#fff}
.chip--tan{background:var(--tan);color:var(--brown)}
.chip--cream{background:var(--cream);color:var(--brown)}
.squiggle{display:inline-block;font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--red);text-decoration:none;font-size:1.25rem;padding-bottom:.55rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23EAAA00' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left bottom/120px 8px}

/* Hero with curved edge (tan text half + photo half) */
.hero{display:grid;background:var(--tan);overflow:hidden}
.hero .hero-copy{padding:3rem 1.25rem}
.hero .hero-photo{min-height:260px;background:var(--tan-deep) center/cover no-repeat}
@media(min-width:900px){
  .hero{grid-template-columns:1fr 1fr;min-height:560px}
  .hero .hero-copy{padding:3.5rem 4rem 3.5rem max(1.25rem,calc((100vw - var(--maxw))/2 + 1.25rem));border-radius:0 50% 50% 0/0 10% 10% 0;position:relative;z-index:1;margin-right:-4rem;background:var(--tan)}
}
.crumbs{font-family:var(--body);font-size:.8rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:2rem}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--red)}

/* Bands */
.band{padding:4rem 0}
.band--tan{background:var(--tan)}
.band--cream{background:var(--cream)}
.band--brown{background:var(--brown);color:var(--tan)}
.band--yellow{background:var(--yellow)}
.band--red{background:var(--red);color:#fff}
.band--brown .h-display{color:var(--tan)}

/* Arch card (journey/topic/breed cards) */
.arch{background:var(--tan);border-radius:50% 50% 0 0/9% 9% 0 0;padding:3rem 1.75rem 2rem}
.card{background:var(--cream);border-radius:28px;overflow:hidden;text-decoration:none;display:block;color:var(--brown)}
.card .thumb{aspect-ratio:4/3;background:var(--tan-deep) center/cover no-repeat;border-radius:28px}
.card .body{padding:1rem 1.25rem 1.4rem}
.card h3{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:1.3rem;line-height:1.15;margin:.5rem 0 .4rem}
.card p{font-size:.92rem;line-height:1.5}
.card:hover h3{color:var(--red)}
.grid-3{display:grid;gap:1.5rem}
@media(min-width:760px){.grid-3{grid-template-columns:repeat(3,1fr)}}

/* Article body: legacy post content lives in this column */
.prose{font-size:1.08rem;line-height:1.85}
.prose>*+*{margin-top:1.25rem}
.prose h2{font-family:var(--fj-display);font-weight:400;text-transform:uppercase;color:var(--red);font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.05;margin-top:2.4rem}
.prose h3{font-family:var(--sub);font-weight:700;text-transform:uppercase;color:var(--brown);font-size:1.4rem;margin-top:2rem}
.prose a{color:var(--red);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li+li{margin-top:.35rem}
.prose img{border-radius:20px;height:auto}
.prose blockquote{border-left:6px solid var(--yellow);padding:.2rem 0 .2rem 1.25rem;font-family:var(--sub);font-weight:300;font-size:1.4rem;line-height:1.4}
.prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.prose th{background:var(--red);color:#fff;font-family:var(--sub);text-transform:uppercase;padding:.6rem .9rem;text-align:left}
.prose td{padding:.6rem .9rem;border-bottom:1px solid var(--tan)}
.prose .video{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:var(--ink)}
.prose .video iframe,.prose .video span{position:absolute;inset:0;width:100%;height:100%;border:0;display:flex;align-items:center;justify-content:center;color:var(--tan);font-family:var(--sub);text-transform:uppercase}

/* Footer (from comps; Our Partners row intentionally removed) */
.fj-footer{background:var(--red);color:#fff;padding:3.5rem 0 2rem}
.foot{display:grid;gap:2.5rem}
.foot h4{font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--yellow);font-size:1.5rem;line-height:1.1;margin-bottom:1rem}
.foot ul{list-style:none}
.foot li a{font-family:var(--sub);font-weight:300;text-transform:uppercase;text-decoration:none;font-size:1rem;line-height:2}
.foot li a:hover{color:var(--yellow)}
.foot .about{font-family:var(--sub);font-weight:300;font-size:1.25rem;line-height:1.35;margin-top:1.2rem;max-width:30ch}
.foot img.f-logo{height:84px;width:auto}
.foot-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.legal{border-top:1px solid rgba(255,255,255,.3);margin-top:2.5rem;padding-top:1.2rem;font-size:.78rem;opacity:.9}
@media(min-width:900px){.foot{grid-template-columns:1fr 2fr}.foot-cols{grid-template-columns:repeat(4,1fr)}}

/* Shop band shared across templates */
.shop-band{background:var(--yellow);padding:3.5rem 0}
.shop-band .wrap{display:grid;gap:1.5rem;align-items:center}
@media(min-width:800px){.shop-band .wrap{grid-template-columns:1.6fr 1fr}}
.shop-band .btns{display:flex;gap:.8rem;flex-wrap:wrap}
.shop-band .kicker{color:var(--brown)}
.shop-band .h-display{color:var(--brown)}.shop-band .h-display .script{color:var(--red);display:inline}

/* ---- Round 2 additions ---- */
/* Breed hero: studio bird photo on the LEFT (bird faces right, toward the copy). The photo's own edge
   is curved, so the tan panel never covers the bird. */
.hero--breed .hero-photo{background-color:#fdfefe;background-size:contain;background-position:center bottom;min-height:420px}
@media(min-width:900px){
  .hero--breed{grid-template-columns:1.05fr 1fr}
  .hero--breed .hero-photo{order:0;min-height:600px;border-radius:0 50% 50% 0/0 9% 9% 0;position:relative;z-index:1;margin-right:-3.5rem}
  .hero--breed .hero-copy{order:1;border-radius:0;margin-right:0;padding:3.5rem max(1.25rem,calc((100vw - var(--maxw))/2 + 1.25rem)) 3.5rem 7rem}
}
@media(max-width:899px){.hero--breed .hero-photo{order:0}.hero--breed .hero-copy{order:1}}

/* Header emblem logo */
.nav .logo img{height:50px;width:auto}

/* Footer lockup: Flock Journey + Hoover's Hatchery, so it is clear this is Flock Journey */
.foot img.f-lockup{height:auto;width:min(100%,430px)}

/* Photo hero used on every non-breed template: copy left with curve, photo right */
.hero--std{min-height:440px}
@media(min-width:900px){.hero--std{min-height:520px}}
.hero--std .hero-copy .h-display{font-size:clamp(2rem,4.2vw,3.4rem)}

/* breed/shared components */

.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.2rem 0}
.brief{background:var(--cream);border-radius:24px;padding:1.2rem 1.5rem;display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;margin-top:1.4rem}
.brief .num{font-family:var(--fj-display);color:var(--red);font-size:3.6rem;line-height:.9;text-align:center}
.brief .num small{display:block;font-family:var(--sub);font-weight:600;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--brown)}
.brief .kicker{font-size:.95rem;color:var(--green);display:block}
.brief p{font-weight:600;line-height:1.5}
.specs{display:grid;gap:1.2rem;grid-template-columns:repeat(2,1fr);margin-top:2rem}
@media(min-width:760px){.specs{grid-template-columns:repeat(4,1fr)}}
.spec{border-top:3px solid var(--yellow);padding-top:.8rem}
.spec .label{font-family:var(--sub);font-weight:600;text-transform:uppercase;font-size:.95rem;color:var(--yellow)}
.spec .value{font-family:var(--fj-display);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.05;color:var(--tan);margin-top:.3rem}
.two{display:grid;gap:3rem}
@media(min-width:960px){.two{grid-template-columns:1.7fr 1fr}}
.side{background:var(--tan);border-radius:28px;padding:1.6rem;align-self:start}
.side h3{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:1.3rem}
.side .fit a{display:block;background:var(--cream);border-radius:18px;padding:.8rem 1rem;margin-top:.7rem;text-decoration:none;font-weight:700;line-height:1.3}
.side .fit a:hover{color:var(--red)}
.side .fit a>span{display:block;margin-top:.4rem}
.photos{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-top:2rem}
.photos div{aspect-ratio:1;border-radius:24px;background:#fdfefe center/contain no-repeat}
.faq details{border-bottom:2px solid var(--tan);padding:1.1rem 0}
.faq summary{font-family:var(--sub);font-weight:600;text-transform:uppercase;font-size:1.25rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;color:var(--brown)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--fj-display);color:var(--red);font-size:1.6rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq p{margin-top:.7rem;max-width:62ch}
.rows a{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-top:2px solid var(--tan);padding:1.1rem 0;text-decoration:none}
.rows a:last-child{border-bottom:2px solid var(--tan)}
.rows h3{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:1.3rem;line-height:1.2}
.rows a:hover h3{color:var(--red)}
.card .thumb.bird{background-color:#fdfefe;background-size:contain;background-position:center bottom}

/* ---- host theme (Hello Elementor) neutralizing ---- */
.fj-util,.fj-header,.fj-footer,.hero,.band,.shop-band,.fj-header *,.fj-footer *{box-sizing:border-box}
.fj-header a,.fj-footer a,.hero a,.band a,.shop-band a{text-decoration:none}
.fj-header ul,.fj-footer ul,.band ul.page-numbers{list-style:none;margin:0;padding:0}
.btn,.btn:hover,.btn:focus{color:#fff;text-decoration:none}
.btn--outline{color:var(--red)}.btn--outline:hover{color:#fff}
.btn--yellow,.btn--yellow:hover{color:var(--brown)}
.fj-footer h4{margin:0 0 1rem}
.elementor-widget-shortcode{width:100%}

/* ---- utility bar + header ---- */
.fj-util{background:var(--red);color:#fff;text-align:center;font-family:var(--sub);font-weight:300;text-transform:uppercase;font-size:.78rem;padding:.45rem 1rem;letter-spacing:.02em}
.fj-util a{color:var(--yellow)}
.fj-header{background:var(--tan);position:sticky;top:0;z-index:60}
.admin-bar .fj-header{top:32px}
.fj-nav{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:1.6rem;padding:.7rem 1.25rem}
.fj-nav .logo img{height:50px;width:auto;display:block}
.fj-menu{display:none;gap:2rem;margin-left:1rem}
.fj-menu>li{position:relative;display:block}
.fj-menu>li>a{font-family:var(--body);font-weight:700;text-transform:uppercase;font-size:1rem;letter-spacing:.02em;color:var(--brown);padding:1.1rem 0;display:block}
.fj-menu a.has-menu::after{content:" \25BE";font-size:.8em}
.fj-menu>li>a:hover{color:var(--red)}
.fj-menu .panel{display:none;position:absolute;top:100%;left:-1rem;background:var(--cream);border-radius:0 0 22px 22px;box-shadow:0 14px 30px rgba(0,0,0,.15);padding:1.2rem 1.5rem;min-width:260px;z-index:70}
.fj-menu .panel--wide{display:none;gap:2rem;min-width:640px}
.fj-menu li:hover>.panel,.fj-menu li:focus-within>.panel{display:block}
.fj-menu li:hover>.panel--wide,.fj-menu li:focus-within>.panel--wide{display:flex}
.fj-menu .panel a{font-family:var(--sub);font-weight:500;text-transform:uppercase;color:var(--brown);display:block;padding:.3rem 0}
.fj-menu .panel a:hover{color:var(--red)}
.fj-menu .panel .pillar{font-family:var(--fj-display);color:var(--red);font-size:1.3rem;margin-bottom:.4rem}
.fj-menu .panel .col{flex:1}
.fj-nav-cta{margin-left:auto;display:none;padding:.65rem 1.5rem;font-size:.9rem}
.fj-menu-btn{margin-left:auto;background:none;border:2px solid var(--brown);border-radius:10px;padding:.35rem .8rem;font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--brown);cursor:pointer}
.fj-menu-btn:hover,.fj-menu-btn:focus{background:var(--cream);color:var(--brown)}
.fj-mnav{display:none;background:var(--cream);padding:1rem 1.25rem 1.5rem}
.fj-mnav.open{display:block}
.fj-mnav a,.fj-mnav summary{display:block;font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--brown);padding:.7rem 0;border-bottom:1px solid var(--tan);cursor:pointer;list-style:none}
.fj-mnav ul a{padding-left:1rem;font-weight:400}
.fj-mnav input{width:100%;margin-top:1rem;padding:.7rem 1rem;border-radius:999px;border:2px solid var(--brown);background:#fff}
@media(min-width:980px){.fj-menu{display:flex}.fj-nav-cta{display:inline-block}.fj-menu-btn{display:none}.fj-mnav,.fj-mnav.open{display:none}}

/* ---- shortcode helpers ---- */
.hero .meta{font-family:var(--sub);font-weight:300;text-transform:uppercase;margin-top:.8rem}
.hero .chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}
.hero .fj-intro{max-width:40ch;margin:1rem 0}
.hero .sbox{display:flex;gap:.6rem;max-width:520px;margin-top:1.4rem}
.hero .sbox input{flex:1;font-family:var(--body);font-size:1.05rem;padding:.8rem 1.3rem;border-radius:999px;border:3px solid var(--brown);background:var(--cream);color:var(--brown)}
.fj-btnrow{display:flex;gap:.8rem;flex-wrap:wrap}
.hero .h-display{margin:0}
.fj-h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:0}
.fj-p{margin:.8rem 0 0;max-width:52ch}
.fj-more{margin-top:2rem}
.fj-narrow{max-width:860px}
.fj-count{font-size:1.1rem;margin:0}
.fj-faq{margin-top:1.8rem}
.fj-faq details{border-bottom:2px solid var(--cream);padding:1.1rem 0}
.fj-faq summary{font-family:var(--sub);font-weight:600;text-transform:uppercase;font-size:1.25rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;color:var(--brown)}
.fj-faq summary::-webkit-details-marker{display:none}
.fj-faq summary::after{content:"+";font-family:var(--fj-display);color:var(--red);font-size:1.6rem;line-height:1}
.fj-faq details[open] summary::after{content:"\2212"}
.fj-faq p{margin-top:.7rem;max-width:62ch}
.fj-news{display:grid;gap:1.5rem;align-items:center;max-width:900px}
.fj-news .btn{margin-top:1rem}
.pager ul.page-numbers{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:2.5rem}
.pager .page-numbers a,.pager .page-numbers span.page-numbers{display:inline-block;font-family:var(--sub);font-weight:700;border-radius:999px;padding:.5rem 1.1rem;background:var(--tan);color:var(--brown)}
.pager .page-numbers .current{background:var(--red);color:#fff}
.fj-body{padding:3.5rem 0}
.fj-body .elementor-widget-theme-post-content{max-width:780px;margin:0 auto;padding:0 1.25rem}
.fj-body h1{display:none}
.fj-breed-body .fj-spec-desktop,.fj-breed-body .fj-spec-mobile{display:none}
.fj-body .wp-block-image figure,.fj-body figure{margin:1.5rem 0}
.fj-body img{max-width:100%;height:auto}
.fj-body iframe{max-width:100%}

/* ---- Elementor container defaults (10px padding, 20px gaps) off for FJ templates ---- */
body .elementor-location-header .e-con,body .elementor-location-footer .e-con,body .elementor-location-single .e-con,body .elementor-location-archive .e-con,body .elementor-location-search-results .e-con,body .elementor-location-error-404 .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;padding:0;gap:0}
body .elementor-location-header .elementor-widget,body .elementor-location-footer .elementor-widget,body .elementor-location-single .elementor-widget,body .elementor-location-archive .elementor-widget,body .elementor-location-search-results .elementor-widget,body .elementor-location-error-404 .elementor-widget{margin:0}
.hero-photo{background-repeat:no-repeat}

/* ---- home + journey sections ---- */
.chip--red{background:var(--red);color:#fff;font-size:1rem;padding:.35rem 1.1rem}
.home-logo{width:min(100%,330px);height:auto;display:block;margin-bottom:2rem}
.moments-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.note-script{font-size:1.6rem;margin:0;line-height:1}
.photo-band{height:clamp(260px,32vw,440px);background:center/cover no-repeat}
.arch.moment h3,.arch.topic h3{font-family:var(--fj-display)!important;font-weight:400!important;text-transform:uppercase;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;margin:0 0 .6rem}
.moment--yellow h3,.topic--yellow h3{color:var(--yellow)}.moment--green h3,.topic--green h3{color:var(--green)}.moment--blue h3,.topic--blue h3{color:var(--blue)}
.moment .moment-line{font-family:var(--sub);font-weight:500;font-size:1.35rem;line-height:1.25;margin:0}
.moment .wavy{display:block;height:8px;width:140px;margin:1.2rem 0 .8rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23999' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left center/120px 8px}
.moment--yellow .wavy{filter:sepia(1) saturate(6) hue-rotate(5deg)}
.moment ul{list-style:none;margin:0;padding:0}
.moment li a{display:block;font-family:var(--body);font-size:1.05rem;color:var(--brown);text-decoration:underline!important;padding:.45rem 0}
.moment li a:hover{color:var(--red)}
.jgrid{display:grid;gap:1.2rem;grid-template-columns:repeat(2,1fr);margin-top:2.2rem}
@media(min-width:900px){.jgrid{grid-template-columns:repeat(4,1fr)}}
.jcard{display:block;background:var(--cream);border-radius:50% 50% 0 0/14% 14% 0 0;padding-top:1.5rem;text-align:center;color:var(--brown)}
.jtitle{display:block;font-family:var(--fj-display);text-transform:uppercase;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.05;padding:0 .8rem .8rem;min-height:3.1em;display:flex;align-items:center;justify-content:center}
.jimg{display:block;aspect-ratio:1/.95;background:center/cover no-repeat;border-radius:0 0 42% 42%/0 0 9% 9%}
.jcard:hover .jtitle{color:var(--red)}
.steps{display:grid;gap:2rem;margin-top:2rem}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}.step+.step{border-left:3px solid var(--yellow);padding-left:2rem}}
.step-num{font-family:var(--fj-display);font-size:clamp(4rem,8vw,6rem);line-height:.9}
.step--yellow .step-num{color:var(--yellow)}.step--green .step-num{color:var(--green)}.step--blue .step-num{color:var(--blue)}
.step h3{font-family:var(--sub)!important;font-weight:600!important;text-transform:uppercase;font-size:1.8rem;margin:.6rem 0}
.vcard{display:block;background:var(--cream);border-radius:28px;overflow:hidden;color:var(--brown)}
.vthumb{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:var(--ink) center/cover no-repeat;border-radius:28px;position:relative}
.vcard--big .vthumb{aspect-ratio:16/8.2}
.vcap{display:block;padding:.9rem 1.3rem 1.1rem;font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:1.1rem;line-height:1.25}
.vcard--big .vcap{font-size:1.5rem}
.vcap i{font-weight:300;font-style:normal;text-transform:none;font-size:1rem}
.soon{background:rgba(36,28,21,.72);color:#fff;font-family:var(--sub);text-transform:uppercase;font-size:.8rem;padding:.3rem .9rem;border-radius:999px}
.vsmall{display:grid;gap:1.2rem;margin-top:1.2rem}
@media(min-width:760px){.vsmall{grid-template-columns:repeat(3,1fr)}}
.tchips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 1.4rem}
.tchip{background:var(--cream);color:var(--brown);font-family:var(--sub);font-weight:500;text-transform:uppercase;border-radius:999px;padding:.4rem 1.1rem;font-size:1rem}
.tchip:hover{background:var(--red);color:#fff}
.browse{font-family:var(--sub);font-weight:600;text-transform:uppercase;font-size:1.2rem;color:var(--brown);padding-bottom:.5rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23EAAA00' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left bottom/120px 8px}
.pgrid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.pgrid{grid-template-columns:1.2fr 1fr}}
.podcast .lede{color:var(--tan)}
.eps{list-style:none;margin:1.5rem 0;padding:0}
.eps a{display:flex;gap:1.5rem;align-items:baseline;border-bottom:3px solid var(--yellow);padding:.6rem 0;color:var(--cream);font-family:var(--sub);font-size:1.2rem}
.eps b{font-family:var(--sub);font-size:1.9rem;min-width:3ch;text-align:center}
.newscard{background:var(--yellow);border-radius:36px 36px 36px 36px;padding:2rem;color:var(--brown)}
.newscard .h-display{color:var(--cream)!important}.newscard .script{color:var(--red)!important}
.newscard form{display:flex;flex-direction:column;gap:.8rem;margin:1rem 0}
.newscard input{padding:.9rem 1.3rem;border-radius:999px;border:0;background:var(--tan);font-size:1.05rem;color:var(--brown)}
.fj-stagebar{background:var(--brown);position:sticky;top:0;z-index:50}
.fj-stagebar .wrap{display:flex;gap:1.5rem;overflow-x:auto;justify-content:center}
.fj-stagebar a{display:block;text-align:center;color:#fff;padding:1rem .5rem;white-space:nowrap}
.fj-stagebar b{display:block;font-family:var(--fj-display);font-weight:400;text-transform:uppercase;font-size:1.2rem}
.fj-stagebar span{font-family:var(--sub);font-weight:300;font-size:.95rem}
.fj-stagebar a:hover b{color:var(--yellow)}
.stage-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.stage-num{font-family:var(--fj-display);font-size:clamp(3.5rem,7vw,5.5rem);line-height:1}
.stage-num--yellow{color:var(--yellow)}.stage-num--green{color:var(--green)}.stage-num--blue{color:var(--blue)}.stage-num--red{color:var(--red)}
.stage-intro{max-width:46ch;margin:1.2rem 0 1.6rem}

.vseries{display:grid;gap:1.2rem;margin-top:1.6rem}
@media(min-width:760px){.vseries{grid-template-columns:repeat(3,1fr)}}
.soon-banner{text-align:left}
.stage{scroll-margin-top:90px}
.stage-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:900px){.stage-grid{grid-template-columns:1fr 1.3fr}}
.stage-intro{max-width:46ch;margin:1rem 0 1.6rem}

/* ---- video page + step notes ---- */
.vwrap{max-width:1000px}
.vplayer{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:var(--ink) center/cover no-repeat}
.vplayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vplayer--soon{display:flex;align-items:center;justify-content:center}
.vplay{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(36,28,21,.25);cursor:pointer;display:flex;align-items:center;justify-content:center}
.vplay span{width:92px;height:92px;border-radius:50%;background:var(--red);position:relative;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.vplay span:after{content:"";position:absolute;left:36px;top:25px;border-left:30px solid #fff;border-top:21px solid transparent;border-bottom:21px solid transparent}
.vplay:hover span{background:var(--red-deep)}
.vnavs{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:space-between;max-width:1000px}
.vnav{display:block;flex:1;min-width:240px;background:var(--tan);border-radius:22px;padding:1rem 1.4rem;font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:1.2rem;color:var(--brown)}
.vnav span{display:block;font-weight:300;font-size:.9rem;color:var(--red)}
.vnav--next{text-align:right}
.step-note{margin:0 0 .6rem}
.steps-intro .fj-intro{margin-top:.8rem}

/* ---- breeds: menu panel, category cards, photo strip ---- */
.fj-menu .panel--cols{min-width:320px}
.fj-menu .panel--cols ul{columns:2;column-gap:2rem}
.fj-menu .panel--cols li{break-inside:avoid}
.grid-4{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-top:1.6rem}
@media(min-width:900px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.breed-groups .card .thumb{aspect-ratio:1/1}
.breed-groups .card h3{font-size:1.25rem}
.breed-strip{padding:2.5rem 0}
.bstrips{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.bstrip{margin:0;width:min(280px,45%);text-align:center}
.bstrip .bimg{aspect-ratio:1/1;border-radius:24px;background:#fdfefe center/contain no-repeat}
.bstrip figcaption{font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--brown);margin-top:.4rem}

/* ---- round: readable text column, legacy callouts, stage bar boxes, menu without carets ---- */
body .fj-body .elementor-widget-theme-post-content{width:min(780px,100%)!important;max-width:780px!important;align-self:center!important;margin:0 auto!important;padding:0 1.25rem!important;box-sizing:border-box!important}
body .fj-body .elementor-widget-theme-post-content img,body .fj-body .elementor-widget-theme-post-content figure,body .fj-body .elementor-widget-theme-post-content table,body .fj-body .elementor-widget-theme-post-content iframe,body .fj-body .elementor-widget-theme-post-content video{max-width:100%!important}
body .fj-body .elementor-widget-theme-post-content img{height:auto}
/* legacy callout boxes (green, amber, blue) restyled to the brand */
body .fj-body [style*="#f0f7f0" i],body .fj-body [style*="#fff8e7" i],body .fj-body [style*="#eaf2fb" i],body .fj-body [style*="#f4f8f4" i],body .fj-body [style*="#f6f9f6" i],body .fj-body [style*="#f7f9fb" i]{background:var(--tan)!important;border-color:var(--yellow)!important;border-left-color:var(--yellow)!important;border-radius:20px!important;color:var(--brown)!important}
body .fj-body [style*="#2d5a31" i],body .fj-body [style*="#7a5a00" i],body .fj-body [style*="#0d3d6e" i],body .fj-body [style*="#333" i]{color:var(--brown)!important}
body .fj-body a[style*="background" i][style*="#4a7c4e" i],body .fj-body a[style*="background" i][style*="#c8951a" i],body .fj-body a[style*="background" i][style*="#1a5fa8" i]{padding:.55rem 1.3rem;margin:.25rem .2rem .25rem 0;line-height:1.25;max-width:100%;box-sizing:border-box;background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;border-radius:999px!important;font-family:var(--sub)!important;text-transform:uppercase;text-decoration:none!important;display:inline-block}
body .fj-body [style*="#d5e6d6" i],body .fj-body [style*="#cdd8cd" i],body .fj-body [style*="#d9e2ec" i],body .fj-body [style*="#e3e3e3" i]{border-color:var(--tan-deep)!important}
body .fj-body a[style*="#4a7c4e" i]:not([style*="background" i]),body .fj-body a[style*="#c8951a" i]:not([style*="background" i]),body .fj-body a[style*="#1a5fa8" i]:not([style*="background" i]){color:var(--red)!important;text-decoration:underline!important;text-underline-offset:3px;font-family:inherit!important;text-transform:none!important;font-weight:inherit}
/* header menu: no carets */
.fj-menu a.has-menu::after{content:none!important}
/* stage bar: six equal boxes, text wraps inside its box */
.brief .num--text{font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;text-transform:uppercase}
.eplist{list-style:none;margin:1.6rem 0 0;padding:0}
.eplist a{display:grid;grid-template-columns:3.5rem 1fr auto;gap:1rem;align-items:baseline;border-bottom:3px solid var(--yellow);padding:.8rem 0;color:var(--brown);font-family:var(--sub)}
.eplist b{font-family:var(--fj-display);font-weight:400;font-size:1.8rem;color:var(--red);text-align:center}
.eplist .ep-title{font-size:1.25rem;text-transform:uppercase;font-weight:600}
.eplist .ep-meta{font-weight:300;font-size:.95rem;white-space:nowrap}
.eplist a:hover .ep-title{color:var(--red)}
@media(max-width:700px){.eplist a{grid-template-columns:2.5rem 1fr}.eplist .ep-meta{grid-column:2}}
.ep-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1.2rem 0 0}
.podcast-page{padding-top:1rem}
.azbar{display:flex;flex-wrap:wrap;gap:.35rem;margin:1.2rem 0 2rem;position:sticky;top:calc(var(--fj-hh,76px) + 8px);z-index:40;background:var(--cream);padding:.5rem 0}
.azbar a,.azbar span{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;font-family:var(--sub);font-weight:700;font-size:1rem}
.azbar a{background:var(--tan);color:var(--brown)}.azbar a:hover{background:var(--red);color:#fff}
.azbar span{color:var(--tan-deep);opacity:.6}
.admin-bar .azbar{top:calc(var(--fj-hh,76px) + 40px)}
.az-group{scroll-margin-top:calc(var(--fj-hh,76px) + 70px);margin-bottom:1.5rem}
.az-letter{font-size:clamp(2.4rem,5vw,3.6rem);color:var(--red);margin:1.2rem 0 0}
.hero--home .hero-video{position:relative;overflow:hidden;min-height:360px}
.hero--home .hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#roadmap{position:absolute;top:0;left:0;pointer-events:none;z-index:30}
#roadmap .rm-under{opacity:.45}
#roadmap .rm-node{fill:#E7DBB9;stroke:#CB333B;stroke-width:3;transition:fill .35s}
#roadmap .rm-node.hit{fill:#EAAA00}
#roadmap .rm-actor .waddler{transform-box:fill-box;transform-origin:50% 100%;animation:rmWaddle .7s ease-in-out infinite}
@keyframes rmWaddle{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@media(max-width:899px){#roadmap{display:none}}
@media(prefers-reduced-motion:reduce){#roadmap .rm-actor .waddler{animation:none}}
.az-card[hidden],.az-group[hidden]{display:none!important}
.az-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin:1.6rem 0 .4rem;padding:1rem 1.2rem;background:var(--tan);border-radius:24px}
.az-filters .fsel{display:flex;flex-direction:column;gap:.25rem}
.az-filters label{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;color:var(--brown)}
.az-filters select,.az-filters input{font-family:var(--body);font-size:1rem;color:var(--brown);background:var(--cream);border:2px solid transparent;border-radius:999px;padding:.7rem 1.1rem;min-width:12rem}
.az-filters select:focus,.az-filters input:focus{outline:none;border-color:var(--yellow)}
.az-filters .fsel--search input{min-width:15rem}
.az-clear{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:.9rem;color:var(--brown);background:transparent;border:2px solid var(--brown);border-radius:999px;padding:.65rem 1.2rem;cursor:pointer}
.az-clear:hover{background:var(--brown);color:#fff}
.az-count{font-family:var(--sub);font-weight:600;color:var(--brown);margin:.6rem 0 1.2rem}
.fj-body .elementor-widget-theme-post-content:has(.band){width:100%!important;max-width:none!important;padding:0!important}
.about-wrap{max-width:1100px}
.about-intro .lede{max-width:62ch;font-size:1.3rem}
.about-cols{display:grid;gap:2.2rem;align-items:start;margin-top:1rem}
@media(min-width:900px){.about-cols{grid-template-columns:1.1fr 1fr}.about-cols--rev{grid-template-columns:1fr 1.1fr}}
.about-text p{font-size:1.15rem;line-height:1.75;margin:0 0 1.1rem}
.about-stack{display:grid;gap:1.2rem}
.about-photo{margin:0}
.about-photo img{display:block;width:100%;height:auto;border-radius:22px}
.about-photo figcaption{font-family:var(--sub);font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.04em;color:var(--brown);margin:.5rem .3rem 0}
.about-strip{display:grid;gap:1.2rem;margin-top:2.2rem}
@media(min-width:760px){.about-strip{grid-template-columns:2fr 1fr 1fr;align-items:start}}
.about-values{text-align:center}
.about-pills{list-style:none;margin:1.2rem 0 1.8rem;padding:0;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.about-pills li{font-family:var(--fj-display);text-transform:uppercase;font-size:1.4rem;color:var(--brown);background:var(--yellow);border-radius:999px;padding:.55rem 1.5rem}
.about-tagline{font-family:var(--fj-display);text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--cream);margin:0}
.about-tagline span{color:var(--yellow)}
.store-how .lede{max-width:60ch}
.store-steps{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1rem}
@media(min-width:760px){.store-steps{grid-template-columns:repeat(3,1fr)}}
.store-steps li{display:flex;align-items:center;gap:1rem;background:var(--tan);border-radius:999px;padding:.9rem 1.4rem}
.store-steps b{font-family:var(--fj-display);font-weight:400;font-size:1.7rem;color:var(--cream);background:var(--red);border-radius:50%;width:2.6rem;height:2.6rem;display:inline-flex;align-items:center;justify-content:center;flex:none}
.store-steps span{font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--brown);font-size:1.02rem}
.store-card{background:var(--cream);border-radius:32px;padding:1.6rem;box-shadow:0 10px 30px rgba(115,57,29,.12)}
.store-note{font-family:var(--sub);font-size:.95rem;color:var(--brown);margin:1rem .5rem 0}
.store-card #wpsl-wrap{max-width:none;margin:0}
.store-card #wpsl-search-wrap{background:transparent;margin:0 0 1.2rem;padding:0}
.store-card #wpsl-search-wrap form{display:flex;flex-wrap:wrap;gap:.9rem;align-items:flex-end}
.store-card #wpsl-search-wrap div{margin:0;padding:0}
.store-card #wpsl-search-wrap label{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;color:var(--brown);display:block;margin:0 0 .25rem .4rem;width:auto}
.store-card #wpsl-search-wrap .wpsl-input{flex:1 1 260px;float:none;width:auto}
.store-card #wpsl-search-wrap .wpsl-select-wrap{float:none;width:auto}
.store-card #wpsl-search-input,.store-card #wpsl-search-wrap input[type=text]{width:100%!important;box-sizing:border-box;font-family:var(--body);font-size:1.05rem;color:var(--brown);background:#fff;border:2px solid var(--tan);border-radius:999px;padding:.8rem 1.3rem;height:auto}
.store-card #wpsl-search-input:focus{outline:none;border-color:var(--yellow)}
.store-card #wpsl-search-wrap .wpsl-dropdown{margin:0}
.store-card #wpsl-search-wrap .wpsl-dropdown div ul,.store-card #wpsl-search-wrap .wpsl-dropdown ul{border-radius:14px}
.store-card #wpsl-search-wrap .wpsl-selected-item,.store-card #wpsl-search-wrap select{font-family:var(--body);color:var(--brown);background:#fff;border:2px solid var(--tan);border-radius:999px;padding:.75rem 1.2rem;height:auto}
.store-card .wpsl-search-btn-wrap{float:none;width:auto}
.store-card #wpsl-search-btn,.store-card input[type=submit].wpsl-search-btn{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:1rem;letter-spacing:.04em;color:#fff!important;background:var(--red)!important;border:0!important;border-radius:999px!important;padding:.9rem 2rem!important;height:auto!important;cursor:pointer;box-shadow:none!important}
.store-card #wpsl-search-btn:hover{background:var(--red-deep)!important}
.store-card #wpsl-result-list{border-radius:22px}
.store-card #wpsl-stores ul{margin:0;padding:0}
.store-card #wpsl-stores li{list-style:none;background:var(--tan);border:0!important;border-radius:20px;margin:0 0 .8rem!important;padding:1rem 1.2rem!important}
.store-card #wpsl-stores li strong,.store-card #wpsl-stores li .wpsl-name{font-family:var(--fj-display);font-weight:400;text-transform:uppercase;font-size:1.25rem;color:var(--brown)}
.store-card #wpsl-stores p,.store-card #wpsl-stores span{font-family:var(--body);color:var(--brown)}
.store-card #wpsl-stores a{color:var(--red);font-weight:700}
.store-card .wpsl-direction-wrap a,.store-card #wpsl-stores a.wpsl-directions{font-family:var(--sub);font-weight:700;text-transform:uppercase;font-size:.85rem}
.store-card #wpsl-gmap,.store-card .wpsl-gmap-canvas{border-radius:22px;overflow:hidden}
.store-card #wpsl-gmap{min-height:460px}
.store-card .wpsl-search,.store-card #wpsl-search-wrap{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}
.store-card #wpsl-result-list,.store-card #wpsl-stores{background:transparent!important;border:0!important}
.store-card #wpsl-stores li .wpsl-store-hours,.store-card #wpsl-stores table td{background:transparent!important;font-family:var(--body)}
@media(min-width:900px){.fj-footer .foot{grid-template-columns:minmax(260px,330px) 1fr;gap:3rem}.fj-footer .foot-cols{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:1.5rem}.fj-footer .foot-cols h4{white-space:nowrap}}
.fj-moved{font-family:var(--sub);font-weight:600;text-transform:uppercase;color:var(--brown);font-size:1.25rem;margin:2.2rem 0 .4rem}
.fj-sub{margin:.3rem 0 0;color:var(--brown)}
.news-band .newscard{display:grid;gap:1.6rem;align-items:center;padding:2.2rem 2.4rem}
@media(min-width:900px){.news-band .newscard{grid-template-columns:1.1fr 1fr}}
.news-band .newscard .kicker{color:var(--brown)}
.news-band .newscard .news-copy p{margin:.6rem 0 0}
.news-band .newscard form{display:flex;flex-direction:column;gap:.8rem;margin:0 0 .6rem}
.news-band .newscard small{display:block;font-family:var(--sub);color:var(--brown)}
.podcast .eps{max-width:760px}
.pod-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;text-align:center}
.pod-logo img{width:min(100%,340px);height:auto;display:block}
.pod-word{display:flex;align-items:center;gap:.9rem;font-family:var(--fj-display);text-transform:uppercase;font-size:clamp(1.8rem,3.2vw,2.5rem);letter-spacing:.34em;padding-left:.34em;color:var(--cream);line-height:1}
.pod-word:before,.pod-word:after{content:"";height:3px;width:2.2rem;background:var(--yellow);border-radius:3px}
/* home header: tan copy panel with the video on the right; the panel bulges gently into the video */
@media(min-width:900px){
.hero--home{display:block!important;position:relative;min-height:620px;overflow:hidden;background:var(--tan)}
.hero--home .hero-video{position:absolute!important;top:0;bottom:0;right:0;left:36%;width:64%!important;height:100%!important;min-height:0;margin:0!important;z-index:0;border-radius:0!important;-webkit-mask-image:radial-gradient(ellipse 15% 100% at 0 50%,transparent 98.5%,#000 100%);mask-image:radial-gradient(ellipse 15% 100% at 0 50%,transparent 98.5%,#000 100%)}
.hero--home:before{content:none}
.hero--home .hero-copy{position:relative;z-index:2;background:transparent!important;max-width:min(560px,44%);padding:5rem 2rem 5rem 4.5rem;display:flex;flex-direction:column;gap:1.4rem}
.hero--home .hero-copy .home-logo{margin-bottom:.4rem}
.hero--home .hero-copy h1{margin:0;line-height:1.05}
}
/* journey pages: same gentle bite on the photo's left edge */
@media(min-width:900px){body .hero.hero--journey .hero-photo{border-radius:0!important;-webkit-mask-image:radial-gradient(ellipse 15% 100% at 0 50%,transparent 98.5%,#000 100%);mask-image:radial-gradient(ellipse 15% 100% at 0 50%,transparent 98.5%,#000 100%)}}
.news-form .hs-form-frame{min-height:140px}
.news-form .hs-form-frame form{font-family:var(--body)}
.kicker{margin-bottom:.2rem!important}
.kicker + .h-display,.kicker + h1,.kicker + h2{margin-top:0!important}
.podcast .fj-h2{font-size:clamp(2.6rem,5vw,4.2rem);line-height:1.02}
.band--yellow{background:var(--yellow)}
.news-band .newscard{background:transparent;border-radius:0;padding:1rem 0;box-shadow:none}
.news-band .newscard .h-display{color:var(--brown)!important}
.news-band .newscard .script{color:var(--red)!important}
.note-script--arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--red)}
.note-arrow{flex:none}
.note-script--arrow .note-arrow--down{transform:translateY(.8rem)}
@media(min-width:900px){.how .moments-head{align-items:center}.how .note-script--arrow{justify-self:end;margin-left:auto}}
/* eight journeys: arched cards, the name and the photo top follow the same arch; module wrapped in a hand-drawn journey line */
.jmodule{position:relative;margin-top:2.4rem;padding:3.4rem 3rem 3.6rem}
.jlines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.jmodule .jgrid{position:relative;margin-top:0;gap:1.6rem}
body .jcard{position:relative;display:flex;flex-direction:column;aspect-ratio:1/1.22;overflow:hidden;background:var(--cream);border-radius:50% 50% 46% 46% / 20% 20% 9% 9%!important;padding-top:0;color:var(--brown);text-align:center;box-shadow:0 8px 22px rgba(115,57,29,.12);transition:transform .25s ease}
body .jcard:hover{transform:translateY(-4px)}
.jarc{display:block;flex:none;width:100%;height:auto}
.jarc text{font-family:var(--fj-display);fill:var(--brown);transition:fill .2s}
.jcard:hover .jarc text{fill:var(--red)}
body .jcard .jimg{display:block;flex:1 1 auto;aspect-ratio:auto;background:center/cover no-repeat;border-radius:50% 50% 0 0 / 30.5% 30.5% 0 0!important}
@media(max-width:899px){.jmodule{padding:1.8rem 1.2rem 2rem}}
/* headstone cards: links on one line, eyebrow underlines match the heading colour, centred topic headlines with icons */
.moment--yellow{--wc:var(--yellow)}.moment--green{--wc:var(--green)}.moment--blue{--wc:var(--blue)}
.topic--yellow{--wc:var(--yellow)}.topic--green{--wc:var(--green)}.topic--blue{--wc:var(--blue)}
.moment .wavy{width:120px;filter:none!important;background:var(--wc,#999)!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left center/120px 8px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left center/120px 8px}
.topic .browse{display:inline-block;padding-bottom:.9rem;background:none!important;position:relative}
.topic .browse:after{content:"";position:absolute;left:0;bottom:0;width:120px;height:8px;background:var(--wc,#999);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/120px 8px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/120px 8px}
.moment li a{padding:.3rem 0}
@media(min-width:760px){.moment li a{font-size:clamp(.82rem,1.18vw,1.02rem);white-space:normal;overflow-wrap:anywhere}.arch.moment{min-width:0;padding-left:1.4rem;padding-right:1rem}}
.arch.topic{text-align:center}
.arch.topic h3{text-align:center}
.topic-ico{display:block;margin:0 auto .6rem}
.topic--yellow .topic-ico{color:var(--yellow)}.topic--green .topic-ico{color:var(--green)}.topic--blue .topic-ico{color:var(--blue)}
.arch.topic .tchips{justify-content:center}
.arch.topic .browse{display:block;width:max-content;margin:0 auto}
.arch.topic .browse:after{left:50%;transform:translateX(-50%)}
/* journey steps + after-the-video: compact two-column rows */
.band.stage--compact{padding-top:2.2rem;padding-bottom:2.2rem}
.stage--compact .stage-grid{display:grid;gap:1rem 3rem;align-items:start}
@media(min-width:900px){.stage--compact .stage-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.stage--compact .stage-head{gap:.8rem;flex-wrap:nowrap}
.stage--compact .stage-num{font-size:clamp(2.6rem,4.5vw,3.6rem)}
.stage--compact .stage-head h2{margin:0;font-size:clamp(1.6rem,2.6vw,2.1rem)}
.stage--compact .stage-intro{margin:.5rem 0 0;font-size:1.05rem}
.stage--compact .rows a{padding:.7rem 0;align-items:center}
.stage--compact .rows h3{font-size:1.08rem}
.stage--compact .rows a,.stage--compact .rows a:last-child{border-color:rgba(115,57,29,.18)}
.stage.band--tan .rows a,.stage.band--tan .rows a:last-child{border-color:rgba(115,57,29,.25)}
.rarr{flex:none;color:var(--red);font-family:var(--sub);font-size:1.2rem;transition:transform .2s}
.rows a:hover .rarr{transform:translateX(4px)}
.stage--after .after-h{margin:0 0 1rem;font-size:clamp(1.7rem,3vw,2.3rem)}
@media(min-width:900px){.rows--2{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}.rows--2 a:last-child{border-bottom:0}.rows--2 a:nth-last-child(2):nth-child(odd){border-bottom:0}}
/* coming-soon banner: clapperboard + play button */
.soon-banner{display:grid;gap:1.5rem 3rem;align-items:center}
@media(min-width:800px){.soon-banner{grid-template-columns:1.1fr .9fr}}
.soon-art{max-width:340px;justify-self:center;width:100%}
.clap-svg{display:block;width:100%;height:auto;overflow:visible}
.clap-arm{transform-box:fill-box;transform-origin:0 100%;animation:fjclap 4.2s ease-in-out infinite}
.clap-flash{opacity:0;animation:fjflash 4.2s ease-out infinite}
.clap-play{transform-box:fill-box;transform-origin:50% 50%;animation:fjpulse 2.1s ease-in-out infinite}
@keyframes fjclap{0%,58%{transform:rotate(-26deg)}64%{transform:rotate(0)}67%{transform:rotate(-5deg)}70%,90%{transform:rotate(0)}100%{transform:rotate(-26deg)}}
@keyframes fjflash{0%,62%{opacity:0}64%{opacity:1}78%,100%{opacity:0}}
@keyframes fjpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.clap-arm{animation:none;transform:rotate(-14deg)}.clap-flash,.clap-play{animation:none}}
/* mobile touch targets: footer links, store directions, chips */
@media(max-width:899px){
.fj-footer .foot a{display:inline-block;padding:.6rem 0;min-height:44px;box-sizing:border-box}
.wpsl-directions{display:inline-block;padding:.7rem .5rem;font-size:15px}
.chip{font-size:.8rem}
.crumbs a{display:inline-block;padding:.35rem 0}
}
/* header curve on every landing-level page: the tan copy panel bulges gently into the photo. Articles (single posts) and video pages stay square. */
@media(min-width:900px){
body:not(.single-post):not(.single-fj_video) .hero.hero--std:not(.hero--journey) .hero-photo{-webkit-mask-image:radial-gradient(ellipse 15% 100% at 0 50%,transparent 98.5%,#000 100%);mask-image:radial-gradient(ellipse 15% 100% at 0 50%,transparent 98.5%,#000 100%)}
body .hero.hero--breed .hero-photo{-webkit-mask-image:radial-gradient(ellipse 15% 100% at 100% 50%,transparent 98.5%,#000 100%);mask-image:radial-gradient(ellipse 15% 100% at 100% 50%,transparent 98.5%,#000 100%)}
}
/* mobile: Getting Started step bar scrolls sideways instead of squeezing; breeds A to Z shortcut */
@media(max-width:899px){
body .fj-stagebar .wrap{display:flex;justify-content:flex-start;gap:.1rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 .4rem}
body .fj-stagebar a{flex:0 0 auto;min-width:0;padding:.75rem 1rem;white-space:nowrap;scroll-snap-align:start}
body .fj-stagebar b{overflow-wrap:normal;font-size:1rem}
}
.az-jump{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin:.6rem 0 1.4rem}
.az-jump span{font-family:var(--sub);font-weight:500;font-size:1.05rem;color:var(--brown)}
.stage-note{margin:0 0 .6rem;font-family:var(--sub);font-weight:500;font-size:1.05rem;line-height:1.4;color:var(--brown)}.stage-note b{color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}.stage-note a{color:var(--red);font-weight:700;white-space:nowrap}
.stage[id^=step-],#journey-videos{scroll-margin-top:9rem}
.hero--std.hero--slim{min-height:300px}@media(min-width:900px){.hero--std.hero--slim{min-height:340px}}
@media(min-width:900px){body .hero.hero--breed .hero-photo{padding-right:14%;background-origin:content-box;background-clip:border-box;box-sizing:border-box}}
/* persistent menu: header pinned for the whole page, stage bar docks beneath it */
.elementor-location-header,.elementor-location-header>.e-con,.elementor-location-header .elementor-widget-shortcode,.elementor-location-header .elementor-widget-container,.elementor-location-header .elementor-shortcode{display:contents!important}
.fj-header{position:sticky!important;top:0;z-index:9999}
.admin-bar .fj-header{top:32px}
.fj-menu .panel{z-index:10000}
.fj-stagebar{position:sticky;top:var(--fj-hh,76px)}
.admin-bar .fj-stagebar{top:calc(var(--fj-hh,76px) + 32px)}
@media(max-width:782px){.admin-bar .fj-header{top:0}.admin-bar .fj-stagebar{top:var(--fj-hh,76px)}}
.fj-stagebar .wrap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;overflow:visible;justify-content:stretch}
.fj-stagebar a{white-space:normal;padding:.9rem .6rem;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:0}
.fj-stagebar b{font-size:clamp(.95rem,1.25vw,1.15rem);line-height:1.1;overflow-wrap:anywhere}
.fj-stagebar span{margin-top:.25rem}
@media(max-width:899px){.fj-stagebar .wrap{display:flex;overflow-x:auto}.fj-stagebar a{white-space:nowrap}}

/* ---- clean hero frame: straight edges, no curved overlap ---- */
body .hero .hero-copy{border-radius:0!important;margin-right:0!important}
body .hero--breed .hero-photo{border-radius:0!important;margin-right:0!important}
body .hero .hero-photo{border-radius:0!important}
@media(min-width:900px){
  body .hero .hero-copy{padding-right:3rem}
  body .hero--breed .hero-copy{padding-left:4rem}
}
.fj-empty{font-family:var(--sub);font-weight:300;font-size:1.1rem}
.coop{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.coop{grid-template-columns:1fr 1fr}}
.coop-photo{aspect-ratio:4/3;background:center/cover no-repeat;border-radius:50%/12%}
.next-band .h-display .script{display:inline}
.hero--journey .kicker .rule{display:inline-block;width:50px;height:8px;margin-right:.7rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M0 4c10-6 20-6 30 0s20 6 30 0 20-6 30 0 20 6 30 0' fill='none' stroke='%23EAAA00' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100%}

/* ---- brand fonts win over the Elementor kit's global heading styles ---- */
body .h-display,body .fj-body h2,body .prose h2{font-family:var(--fj-display)!important;font-weight:400!important;line-height:1.02!important;text-transform:uppercase}
body .h-display{color:var(--red)}
body .band--brown .h-display{color:var(--tan)}
body .shop-band .h-display{color:var(--brown)}
body .h-display .script,body .script{font-family:var(--script)!important;font-weight:700!important;text-transform:none;color:var(--yellow)}
body .shop-band .h-display .script{color:var(--red)}
body .card h3,body .side h3,body .fj-body h3,body .fj-footer h4,body .rows h3,body .fj-faq summary{font-family:var(--sub)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:0}
body .fj-footer h4{color:var(--yellow);font-weight:600!important}
body .hero h1{margin:0}
body .kicker,body .lede,body .sub{font-family:var(--sub)}

/* Let the journey navigation stick within the full Elementor page container. */
.fj-stagebar{width:100%;max-width:100%;min-width:0;align-self:stretch}
.elementor-widget-shortcode:has(> .elementor-shortcode > .fj-stagebar),
.elementor-widget-shortcode > .elementor-shortcode:has(> .fj-stagebar){display:contents!important}

/* Brand text colours with sufficient contrast on the existing light bands. */
body .kicker{color:var(--brown)}
body .band--brown .kicker,body .band--red .kicker{color:var(--cream)}
body .band--brown .script{color:var(--yellow)}
body .hero .script,body .band--cream .script,body .band--tan .script{color:var(--brown)}
body .moment h3,body .topic h3{color:var(--brown)}

/* Anchor targets clear the measured sticky header and journey navigation. */
.stage[id^=step-],#journey-videos{scroll-margin-top:calc(var(--fj-hh,76px) + var(--fj-sh,86px) + 1rem)}
@media(min-width:783px){.admin-bar .stage[id^=step-],.admin-bar #journey-videos{scroll-margin-top:calc(var(--fj-hh,76px) + var(--fj-sh,86px) + 1rem + 32px)}}

/* Keep a wrapped editor toolbar above the announcement and sticky navigation. */
body.admin-bar #wpadminbar{height:auto}
body.admin-bar #wpadminbar #wp-toolbar{display:flow-root}
html:has(body.admin-bar){margin-top:var(--fj-ah,32px)!important}
@media(max-width:782px){html:has(body.admin-bar){margin-top:var(--fj-ah,46px)!important}}
@media(min-width:601px){
.admin-bar .fj-header{top:var(--fj-ah,32px)}
.admin-bar .fj-stagebar{top:calc(var(--fj-hh,76px) + var(--fj-ah,32px))}
.admin-bar .azbar{top:calc(var(--fj-hh,76px) + var(--fj-ah,32px) + 8px)}
.admin-bar .stage[id^=step-],.admin-bar #journey-videos{scroll-margin-top:calc(var(--fj-hh,76px) + var(--fj-sh,86px) + var(--fj-ah,32px) + 1rem)}
}
@media(max-width:600px){.admin-bar .azbar{top:calc(var(--fj-hh,76px) + 8px)}}

/* Step bar: scroll arrows on phone and tablet (Matt, 26 Oct 2026). Classes set by the script in fj_sc_stage_bar(). */
.fj-stagebar .fj-sb-arrow{display:none}
@media(max-width:899px){
.fj-stagebar.fj-can-left::before,.fj-stagebar.fj-can-right::after{content:"";position:absolute;top:0;bottom:0;width:4.5rem;pointer-events:none;z-index:1}
.fj-stagebar.fj-can-left::before{left:0;background:linear-gradient(to left,rgba(115,57,29,0),rgba(115,57,29,.95) 60%)}
.fj-stagebar.fj-can-right::after{right:0;background:linear-gradient(to right,rgba(115,57,29,0),rgba(115,57,29,.95) 60%)}
.fj-stagebar .fj-sb-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:2.4rem;height:2.4rem;min-height:0;margin:0;padding:0 0 .2rem;box-sizing:border-box;border:0;border-radius:50%;box-shadow:none;align-items:center;justify-content:center;font:400 2.2rem/1 sans-serif;color:#fff;background:rgba(255,255,255,.25);cursor:pointer}
.fj-stagebar .fj-sb-prev{left:.5rem}
.fj-stagebar .fj-sb-next{right:.5rem}
.fj-stagebar.fj-can-left .fj-sb-prev,.fj-stagebar.fj-can-right .fj-sb-next{display:flex}
}
