@import "https://fonts.googleapis.com/css2?family=Rye&family=Inter:wght@400;500;600;700&display=swap";:root{--red:#c1121f;--red-dark:#8f0d18;--amber:#f59e0b;--gold:#d97706;--cream:#f7f1e1;--parchment:#f7f1e1;--ink:#1f2933;--brown:#1f2933;--tan:#1d4ed8;--white:#f7f1e1;--stripe-w:44px;--header-height:64px;--safe-top:env(safe-area-inset-top,0px);--ios-browser-top-shield:0px;--header-offset:calc(var(--header-height) + var(--safe-top));--top-shield-height:calc(var(--header-offset) + var(--ios-browser-top-shield))}@supports (-webkit-touch-callout:none){@media (pointer:coarse){:root{--ios-browser-top-shield:56px}}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset);background:var(--ink)}body{background:var(--ink);color:var(--ink);padding-top:var(--header-offset);font-family:Inter;overflow-x:hidden}#root{min-height:100%}.site-shell{background:var(--cream);position:relative}.top-shield{top:calc(-1 * var(--ios-browser-top-shield));height:var(--top-shield-height);background:var(--ink);pointer-events:none;z-index:1000;position:fixed;left:0;right:0}.top-paint-zone{z-index:1;height:var(--ios-browser-top-shield);margin-top:calc(-1 * var(--ios-browser-top-shield));background:var(--ink);pointer-events:none;position:relative}main{z-index:0;position:relative}body:after{content:"";pointer-events:none;z-index:999;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}.stripes{background:repeating-linear-gradient(-45deg, var(--red) 0px, var(--red) var(--stripe-w), var(--parchment) var(--stripe-w), var(--parchment) calc(var(--stripe-w) * 2));opacity:.85}nav{z-index:1001;background:var(--ink);padding-top:var(--safe-top);box-shadow:0 4px 0 var(--amber);border-bottom:1px solid var(--brown);position:fixed;top:0;left:0;right:0}.nav-bar{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:1rem;padding:0 2rem;display:flex}.nav-logo{color:var(--amber);letter-spacing:1px;align-items:center;gap:.5rem;font-family:Rye;font-size:1.15rem;text-decoration:none;display:flex}.nav-logo-mark{justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:1.4rem;line-height:1;display:inline-flex}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--parchment);letter-spacing:1.5px;text-transform:uppercase;font-family:Inter;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--amber)}.nav-toggle{width:44px;height:44px;color:var(--parchment);cursor:pointer;background:#f7f1e10f;border:1px solid #f7f1e12e;justify-content:center;align-items:center;display:none}.nav-toggle-lines,.nav-toggle-lines:before,.nav-toggle-lines:after{background:currentColor;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle-lines{position:relative}.nav-toggle-lines:before,.nav-toggle-lines:after{content:"";position:absolute;left:0}.nav-toggle-lines:before{top:-6px}.nav-toggle-lines:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-lines{transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-lines:before{top:0;transform:rotate(90deg)}.nav-toggle[aria-expanded=true] .nav-toggle-lines:after{opacity:0}.nav-mobile-panel{display:none}.btn-book-nav,.btn-book-hero{aspect-ratio:3/2;width:208px;color:var(--ink);letter-spacing:.2px;background:url(/ticket-stub.png) 50%/contain no-repeat;justify-content:center;align-items:center;padding:0 1.25rem;font-family:Rye;font-size:1.08rem;line-height:1;text-decoration:none;transition:filter .15s;display:inline-flex}.btn-book-nav,.btn-book-nav:visited,.btn-book-nav:hover,.btn-book-nav:focus-visible,.btn-book-nav:active,.btn-book-hero,.btn-book-hero:visited,.btn-book-hero:hover,.btn-book-hero:focus-visible,.btn-book-hero:active{color:var(--ink)}.btn-book-nav:hover,.btn-book-hero:hover{filter:brightness(1.04)}.btn-book-nav{letter-spacing:.1px;width:118px;font-size:.82rem}.btn-book-hero{z-index:3;transition:none;position:relative}.btn-book-hero:hover{filter:none}.hero{min-height:calc(100vh - var(--header-offset));min-height:calc(100svh - var(--header-offset));text-align:center;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem 7rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#1f29334d 0%,#1f293373 50%,#1f29339e 100%);position:absolute;inset:0}.hero-carousel{z-index:0;position:absolute;inset:0}.hero-slide{opacity:0;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .9s,transform 1.4s;position:absolute;inset:0;transform:scale(1.03)}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-banner{z-index:2;height:20px;position:absolute;top:0;left:0;right:0}.hero h1{color:var(--amber);text-shadow:3px 3px 0 var(--red-dark), 6px 6px 12px #1f293380;z-index:3;margin:.2rem 0 1.1rem;font-family:Rye;font-size:clamp(2.8rem,9vw,6.5rem);line-height:1.05;position:relative}.hero-eyebrow{letter-spacing:3.2px;text-transform:uppercase;color:var(--parchment);text-shadow:0 2px 10px #1f293359;z-index:3;margin-bottom:1rem;font-family:Inter;font-size:.78rem;font-weight:700;position:relative}.hero-tagline{color:var(--amber);letter-spacing:4px;text-transform:uppercase;text-shadow:2px 2px 0 var(--red);z-index:3;font-family:Inter;font-size:clamp(.85rem,2.5vw,1.1rem);font-weight:500;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-sub{color:#f7f1e1b8;z-index:3;max-width:420px;margin:1.2rem 0 2.5rem;font-size:.95rem;line-height:1.7;animation:.7s cubic-bezier(.17,.67,.36,1.3) .3s both popIn;position:relative}.hero-dots{z-index:3;gap:.7rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero-dot{cursor:pointer;background:#f7f1e142;border:1px solid #f7f1e1a6;border-radius:999px;width:12px;height:12px;transition:transform .2s,background-color .2s,border-color .2s}.hero-dot:hover,.hero-dot.is-active{background:var(--amber);border-color:var(--amber);transform:scale(1.1)}@media (prefers-reduced-motion:reduce){.hero-slide,.hero-dot{transition:none}}section{padding:5rem 2rem}.section-label{letter-spacing:5px;text-transform:uppercase;color:var(--red);margin-bottom:.5rem;font-family:Inter;font-size:.72rem;font-weight:700}.section-title{color:var(--ink);font-family:Rye;font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.15}.divider{background:var(--amber);border-radius:2px;width:50px;height:3px;margin:1rem 0 2rem}#about{background:var(--cream);grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1100px;margin:0 auto;display:grid}.about-visual{align-self:center;position:relative}.about-img-box{aspect-ratio:1;background:var(--parchment);width:100%;box-shadow:6px 6px 0 var(--tan), 8px 8px 0 var(--brown);border:3px solid var(--brown);filter:sepia(.15);background-image:linear-gradient(#f7f1e114,#f7f1e114),url(/fpc-dog-3.jpg);background-position:50%;background-size:cover;border-radius:4px;justify-content:center;align-items:center;font-size:6rem;display:flex;overflow:hidden}.ribbon{background:var(--red);color:var(--parchment);letter-spacing:2px;box-shadow:2px 2px 0 var(--red-dark);border-radius:3px;padding:.5rem 1.2rem;font-family:Rye;font-size:.75rem;position:absolute;bottom:-14px;right:-14px;transform:rotate(-3deg)}.about-text p{color:var(--brown);margin-bottom:1rem;font-size:.97rem;line-height:1.8}.team-tags{flex-wrap:wrap;grid-column:1/-1;justify-content:stretch;align-items:flex-start;gap:.95rem .8rem;width:100%;margin-top:1.8rem;margin-bottom:2.35rem;display:flex}.owner-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;margin-top:.5rem;display:grid}.owner-card{background:var(--parchment);border:1px solid #1f293329;border-radius:4px;overflow:hidden;box-shadow:0 10px 24px #1f293314}.owner-card--spotlight{background:linear-gradient(135deg, #f59e0b24, transparent 42%), var(--parchment);border-color:#c1121f3d;grid-column:1/-1;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);display:grid;box-shadow:0 16px 32px #1f29331f}.owner-photo{filter:sepia(.08);background-position:50%;background-size:cover;height:300px}.owner-card--spotlight .owner-photo{height:100%;min-height:340px}.owner-copy{padding:1.5rem}.owner-kicker,.owner-role{text-transform:uppercase;margin:0}.owner-kicker{color:var(--red);letter-spacing:2.4px;margin-bottom:.45rem;font-size:.72rem;font-weight:700}.owner-role{color:var(--amber);letter-spacing:1.2px;margin-bottom:.5rem;font-family:Rye;font-size:.78rem}.owner-card--spotlight .owner-copy{flex-direction:column;justify-content:center;padding:2rem 2.15rem;display:flex}.owner-card--spotlight .owner-copy h3{font-size:clamp(1.45rem,2.8vw,2rem)}.owner-card--spotlight .owner-copy p:last-child{max-width:36rem}.owner-copy h3{color:var(--ink);margin-bottom:.6rem;font-family:Rye;font-size:1.2rem}.owner-copy p{color:var(--brown);margin:0;font-size:.96rem;line-height:1.75}.tag{background:var(--ink);color:var(--amber);letter-spacing:1.5px;text-transform:uppercase;transform-origin:50%;border-radius:3px;flex:1 1 0;justify-content:center;align-items:center;padding:.35rem 1rem;font-family:Inter;font-size:.8rem;font-weight:600;display:inline-flex}.team-tags .tag:nth-child(3n+1){transform:translateY(0)rotate(-1.1deg)}.team-tags .tag:nth-child(3n+2){transform:translateY(.25rem)rotate(.9deg)}.team-tags .tag:nth-child(3n){transform:translateY(.08rem)rotate(-.7deg)}#prices{background:var(--ink);text-align:center}#prices .section-title{color:var(--parchment);font-family:Rye}#prices .section-label{color:var(--amber)}#prices .divider{background:var(--red);margin-left:auto;margin-right:auto}.price-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;max-width:960px;margin:1rem auto 0;display:grid}.price-hero{max-width:960px;margin:0 auto 1.5rem}.price-hero .price-card{min-height:0}.price-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-blurb{color:#f7f1e1d1;max-width:640px;margin:1.25rem auto 0;font-size:.96rem;line-height:1.7}.price-card{border:1px solid var(--cream);background-color:#f7f1e10a;background-position:50%;background-size:cover;border-radius:4px;padding:2rem 1.5rem;transition:transform .2s,border-color .2s,background .2s;position:relative;overflow:hidden}.price-card:before{content:"";opacity:1;z-index:0;background:linear-gradient(#1f29332e 0%,#1f2933bd 72%,#1f2933e0 100%);position:absolute;inset:0}.price-card.featured{border-color:var(--cream);background-color:#f7f1e112}.price-card:hover{border-color:var(--cream);background-color:#f7f1e112;transform:translateY(-5px)}.price-card>*{z-index:1;position:relative}.price-card__inner{align-content:start;gap:0;min-height:100%;display:grid}.service-full{background-image:url(/fpc-shop.jpg)}.service-addons{background-image:url(/fpc-product.jpg)}.service-includes{background-image:url(/fpc-dog.jpg)}.price-card h3{color:var(--cream);letter-spacing:1px;text-align:center;margin-bottom:1.75rem;font-family:Rye;font-size:clamp(2rem,4vw,3rem)}.price-list{text-align:left;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#1f293338;border:1px solid #f7f1e12e;padding:.55rem 1rem;list-style:none}.price-list li{min-height:5rem;color:var(--cream);border-bottom:1px solid #f7f1e129;align-items:center;gap:1rem;padding:.75rem 0 .75rem 2rem;font-family:Inter;display:flex;position:relative}.price-list li:last-child{border-bottom:0}.price-list li:before{content:"✦";color:var(--amber);font-size:.72rem;line-height:1;position:absolute;top:50%;left:.15rem;transform:translateY(-50%)}.price-rates li{justify-content:space-between;align-items:center;display:flex}.price-rates__label{align-items:center;font-size:clamp(.98rem,2.5vw,1.12rem);display:inline-flex}.price-rates__value{text-align:right;white-space:nowrap;margin-left:auto;font-family:Rye;font-size:clamp(1.15rem,3vw,1.55rem);font-weight:400}.price-includes{max-width:100%}.price-includes li{font-size:clamp(.98rem,2.5vw,1.12rem)}.price-note{color:#f7f1e166;margin-top:2rem;font-size:.82rem;font-style:italic}#contact{background:var(--parchment);align-items:start;gap:2rem;max-width:860px;margin:0 auto;display:grid}.contact-section__intro{max-width:620px}.contact-detail{border-top:1px solid #1f29331f;margin-top:1.5rem;padding-top:1rem;display:block}.contact-detail strong{text-transform:uppercase;letter-spacing:2px;color:var(--red);margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.contact-detail p{color:var(--brown);font-size:.93rem;line-height:1.6}.contact-link-button{background:var(--tan);color:#fff;letter-spacing:.6px;border-radius:3px;margin-top:.75rem;padding:.7rem 1.1rem;font-family:Rye;font-size:.9rem;text-decoration:none;transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:inline-block;box-shadow:0 4px #1141b5d9}.contact-link-button:hover{background:var(--red);box-shadow:0 4px 0 var(--red-dark)}.contact-map{background:var(--cream);border:1px solid #1f29332e;border-radius:4px;margin-top:1.75rem;overflow:hidden;box-shadow:0 10px 24px #1f293314}.contact-map iframe{border:0;width:100%;height:240px;display:block}.hours-list{margin:0;padding:0;list-style:none}.hours-list li{color:var(--brown);justify-content:space-between;gap:1rem;font-size:.93rem;line-height:1.7;display:flex}.contact-form{background:var(--cream);border:1px solid #1f293326;border-radius:4px;padding:0 2.5rem 2.5rem;overflow:hidden;box-shadow:0 4px 30px #1f29331a}.contact-form--success{align-content:start;display:grid}.contact-form-image{background-image:linear-gradient(#1f29331f,#1f293359),url(/fpc-building.jpg);background-position:50%;background-size:cover;border-bottom:1px solid #1f293326;height:200px;margin:0 -2.5rem 1.75rem}.contact-form h3{color:var(--ink);margin-bottom:1.5rem;font-family:Rye;font-size:1.4rem}.contact-form-success{color:var(--brown);font-size:.95rem;line-height:1.8}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.field label{letter-spacing:1.5px;color:var(--brown);text-transform:uppercase;font-size:.72rem;font-weight:700}.field input,.field select,.field textarea{color:var(--ink);background:var(--parchment);border:1.5px solid #1f293340;border-radius:3px;outline:none;padding:.75rem 1rem;font-family:Inter;font-size:.93rem;transition:border-color .2s,background .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--amber);background:var(--white)}.field textarea{resize:vertical;min-height:100px}.field-error{color:var(--red);margin-top:.45rem;font-size:.82rem;line-height:1.5}.form-status{margin-bottom:1rem;font-size:.9rem;line-height:1.6}.form-status--error{color:var(--red)}.btn-submit{background:var(--red);width:100%;color:var(--parchment);letter-spacing:1px;cursor:pointer;box-shadow:0 4px 0 var(--red-dark);border:none;border-radius:3px;margin-top:.5rem;padding:1rem;font-family:Rye;font-size:1rem;transition:transform .15s,box-shadow .15s}.btn-submit:disabled{cursor:wait;opacity:.78}.btn-submit:hover{box-shadow:0 6px 0 var(--red-dark);transform:translateY(-2px)}footer{background:var(--ink);color:#f7f1e166;border-top:3px solid var(--red);letter-spacing:.5px;padding:2.5rem 2rem 2rem;font-family:Inter;font-size:.82rem}footer strong{color:var(--amber);font-family:Rye;font-size:.9rem}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:2rem;max-width:1100px;margin:0 auto;display:grid}.footer-column{text-align:left;flex-direction:column;align-self:stretch;gap:1rem;width:100%;height:100%;display:flex}.footer-column--center{text-align:center}.footer-column h3{color:var(--amber);font-family:Rye;font-size:1.2rem}.footer-map{flex:auto;margin-top:0;display:flex}.footer-map iframe{flex:auto;min-height:320px}.footer-details{flex-direction:column;flex:auto;justify-content:space-between;gap:.45rem;width:100%;height:100%;display:flex}.footer-column--center .footer-details{text-align:center;justify-items:center}.footer-details p{color:#f7f1e1d6;line-height:1.65}.footer-details a{color:var(--cream)}.footer-details strong{color:var(--amber);letter-spacing:.5px;text-transform:none;font-family:Rye;font-size:.9rem}.footer-directions{text-align:center;justify-self:stretch;width:100%;display:block}.footer-social-button,.footer-directions{border:1px solid #f7f1e159}.footer-social-button{text-align:center;justify-self:center}.footer-column:last-child h3{text-align:center}.footer-hours li{color:#f7f1e1d6}.footer-hours{flex:auto;align-content:start;gap:.35rem;display:grid}.footer-copy{text-align:center;max-width:1100px;margin:2rem auto 0}.footer-meta{justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:2rem auto 0;display:flex}.footer-meta .footer-copy{text-align:left;margin:0}.footer-credit{text-align:right;color:#f7f1e14d;letter-spacing:.4px;margin:0;font-size:.76rem}.footer-credit a{color:#f7f1e180;text-decoration:none;transition:color .2s}.footer-credit a:hover{color:#f7f1e1cc}@media (width<=768px){#about,#contact{grid-template-columns:1fr;gap:2.5rem;padding:3rem 1.5rem}.form-row{grid-template-columns:1fr}nav{box-shadow:0 4px 0 var(--amber)}.nav-bar{padding-left:1rem;padding-right:1rem}.nav-links,.btn-book-nav{display:none}.nav-toggle{display:inline-flex}.nav-mobile-panel{background:var(--ink);border-bottom:1px solid var(--brown);flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1rem 1.25rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px #1f29333d}nav.is-open .nav-mobile-panel{display:flex}.nav-mobile-panel a{color:var(--parchment);letter-spacing:1.4px;text-transform:uppercase;text-align:center;padding:.85rem .25rem;font-size:.92rem;font-weight:700;text-decoration:none}.nav-mobile-panel a:hover{color:var(--amber)}.btn-book-nav--mobile{letter-spacing:.2px;text-transform:none;width:208px;margin-top:.35rem;padding:0 1.25rem;font-size:1.08rem;display:inline-flex}.nav-mobile-panel .btn-book-nav--mobile,.nav-mobile-panel .btn-book-nav--mobile:visited,.nav-mobile-panel .btn-book-nav--mobile:hover,.nav-mobile-panel .btn-book-nav--mobile:focus-visible,.nav-mobile-panel .btn-book-nav--mobile:active{color:#000}.owner-grid,.owner-card--spotlight{grid-template-columns:1fr}.owner-card--spotlight .owner-photo{min-height:300px}.team-tags{flex-direction:column;align-items:center}.tag{text-align:center;flex:0 auto;justify-content:center;width:auto;max-width:100%}.team-tags .tag:first-child{transform:rotate(-1.2deg)}.team-tags .tag:nth-child(2){transform:translate(.35rem)rotate(1deg)}.team-tags .tag:nth-child(3){transform:translate(-.3rem)rotate(-.8deg)}.team-tags .tag:nth-child(4){transform:translate(.25rem)rotate(1.1deg)}.price-grid--two,.footer-grid{grid-template-columns:1fr}.footer-column--center{order:-1}.footer-meta{flex-direction:column;align-items:center}.footer-meta .footer-copy,.footer-credit{text-align:center}.hero{padding:4.5rem 1.5rem 6.5rem}.hero-eyebrow{max-width:24rem;line-height:1.5}.hero-tagline{letter-spacing:3px}.hero-sub{margin-bottom:2rem}.hero-dots{bottom:1.5rem}}
