.fwop-page,.fwop-page *{box-sizing:border-box}.fwop-page{--fw-purple:#522398;--fw-orange:#f47b20;--fw-blue:#00a7e1;--fw-yellow:#ffd23f;--fw-green:#80c342;--fw-ink:#17112a;--fw-deep:#25134a;--fw-soft:#fff7ec;--fw-white:#fff;--op-accent:#00a7e1;--op-accent-2:#f47b20;color:var(--fw-ink);font-family:inherit;overflow:hidden}.fwop-shell{width:min(1200px,calc(100% - 42px));margin-inline:auto}.fwop-kicker,.fwop-eyebrow{display:block;font-size:12px;line-height:1.2;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.fwop-kicker{color:var(--op-accent);margin-bottom:12px}.fwop-eyebrow{color:rgba(23,17,42,.55);margin-bottom:12px}.fwop-page h1,.fwop-page h2,.fwop-page h3{letter-spacing:-.045em;line-height:.98}.fwop-page h1{font-size:clamp(46px,7vw,88px);margin:0 0 22px;max-width:920px}.fwop-page h2{font-size:clamp(38px,5.2vw,68px);margin:0 0 18px}.fwop-page h3{font-size:clamp(24px,3vw,34px);margin:0 0 12px}.fwop-lead,.fwop-copy{font-size:17px;line-height:1.68;color:rgba(23,17,42,.72);max-width:760px}.fwop-lead{font-size:clamp(18px,2vw,21px)}.fwop-lead p,.fwop-copy p{margin:0 0 14px}.fwop-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.fwop-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:2px solid var(--op-accent);border-radius:4px;background:var(--op-accent);color:#fff;text-decoration:none!important;font-weight:900;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.fwop-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(23,17,42,.15);color:#fff}.fwop-btn.is-outline{background:transparent;color:var(--fw-ink)}.fwop-btn.is-text{padding:0;min-height:auto;background:transparent;border:0;color:var(--op-accent);box-shadow:none}.fwop-btn.is-light{background:#fff;border-color:#fff;color:var(--fw-deep)}.fwop-btn.is-ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}.fwop-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:50px;align-items:end;margin-bottom:38px}.fwop-final-cta{position:relative;padding:clamp(70px,9vw,120px) 0;background:linear-gradient(130deg,var(--fw-deep),#39206a);background-image:linear-gradient(130deg,rgba(37,19,74,.96),rgba(57,32,106,.91)),var(--fwop-section-image,none);background-size:cover;background-position:var(--fwop-section-position,center center);color:#fff}.fwop-final-cta .fwop-kicker{color:var(--fw-yellow)}.fwop-final-cta .fwop-copy{color:rgba(255,255,255,.78)}.fwop-hours-public dl{margin:15px 0 0}.fwop-hours-public dl>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid rgba(23,17,42,.1)}.fwop-hours-public dt{font-weight:900}.fwop-hours-public dd{margin:0}.fwop-hours-notice{padding:14px 16px;border-left:4px solid var(--fw-orange);background:#fff8ec}.fwop-generic-hero{padding:100px 0;background:#f5f3f8;background-image:linear-gradient(90deg,rgba(255,255,255,.93),rgba(255,255,255,.7)),var(--fwop-section-image,none);background-size:cover;background-position:var(--fwop-section-position,center center)}.fwop-generic-section{padding:80px 0}.fwop-generic-grid{display:grid;grid-template-columns:1fr .8fr;gap:40px;align-items:center}.fwop-generic-grid img{width:100%;height:auto;display:block}@media(max-width:780px){.fwop-section-head,.fwop-generic-grid{grid-template-columns:1fr}.fwop-actions{flex-direction:column;align-items:stretch}.fwop-btn{width:100%}.fwop-shell{width:min(100% - 28px,1200px)}}
.op-photo-gallery{padding:clamp(72px,8vw,112px) 0;background:#fff}.op-gallery-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:12px}.op-gallery-item{position:relative;margin:0;overflow:hidden;background:#f1eef5}.op-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.op-gallery-item:hover img{transform:scale(1.025)}.op-gallery-item figcaption{position:absolute;left:14px;bottom:14px;padding:7px 10px;background:rgba(23,17,42,.82);color:#fff;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.op-gallery-item-1{grid-column:span 7;grid-row:span 3}.op-gallery-item-2{grid-column:span 5;grid-row:span 2}.op-gallery-item-3{grid-column:span 5;grid-row:span 2}.op-gallery-item-4{grid-column:span 4;grid-row:span 2}.op-gallery-item-5{grid-column:span 8;grid-row:span 2}.op-gallery-mosaic.is-four .op-gallery-item-1{grid-column:span 7;grid-row:span 3}.op-gallery-mosaic.is-four .op-gallery-item-2{grid-column:span 5;grid-row:span 2}.op-gallery-mosaic.is-four .op-gallery-item-3{grid-column:span 5;grid-row:span 2}.op-gallery-mosaic.is-four .op-gallery-item-4{grid-column:span 7;grid-row:span 1}.op-related-image{height:145px;overflow:hidden;margin:-24px -24px 20px}.op-related-image img{width:100%;height:100%;object-fit:cover}.op-related-copy{display:flex;flex-direction:column;flex:1}.op-related-grid a.has-image{padding-top:24px}.op-related-grid a.has-image .op-related-image{margin-top:-24px}.fwop-final-cta{background-position:var(--fwop-section-position,center center)}@media(max-width:760px){.op-gallery-mosaic,.op-gallery-mosaic.is-four{grid-template-columns:1fr;grid-auto-rows:auto}.op-gallery-item,.op-gallery-mosaic.is-four .op-gallery-item-1,.op-gallery-mosaic.is-four .op-gallery-item-2,.op-gallery-mosaic.is-four .op-gallery-item-3,.op-gallery-mosaic.is-four .op-gallery-item-4{grid-column:auto;grid-row:auto;min-height:260px}.op-gallery-item img{position:absolute;inset:0}}

/* v1.3 complete Orange Park rich-page system */
.op-rich-hero{position:relative;padding:clamp(80px,9vw,132px) 0;background:#f7f4fb;background-image:linear-gradient(105deg,rgba(255,255,255,.96),rgba(255,255,255,.78) 56%,rgba(255,255,255,.2)),var(--fwop-section-image,none);background-size:cover;background-position:var(--fwop-section-position,center center)}
.op-rich-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);gap:clamp(36px,6vw,80px);align-items:center}.op-rich-hero-copy{position:relative;z-index:2}.op-rich-hero-media,.op-rich-feature-media{position:relative;min-height:470px}.op-rich-hero-primary,.op-rich-feature-primary{position:absolute;inset:0 9% 7% 0;overflow:hidden;background:#e9e3f1}.op-rich-hero-secondary,.op-rich-feature-secondary{position:absolute;right:0;bottom:0;width:44%;height:42%;overflow:hidden;border:8px solid #fff;background:#ddd}.op-rich-hero-media img,.op-rich-feature-media img{width:100%;height:100%;object-fit:cover;display:block}.op-rich-fallback{position:absolute;inset:0 9% 7% 0;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;background:linear-gradient(145deg,var(--op-accent),var(--op-accent-2));color:#fff}.op-rich-fallback:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.45)}.op-rich-fallback strong{position:relative;font-size:clamp(34px,5vw,72px);line-height:.9;letter-spacing:-.06em}.op-rich-fallback span{position:relative;margin-top:10px;font-size:13px;font-weight:900;letter-spacing:.2em}.op-live-status{display:inline-flex;margin-top:18px;padding:10px 13px;border-left:4px solid var(--op-accent);background:#fff;font-weight:900}
.op-rich-feature{padding:clamp(76px,9vw,122px) 0;background:#fff}.op-rich-feature-grid{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(0,1fr);gap:clamp(42px,7vw,92px);align-items:center}.op-rich-feature-media{min-height:520px}.op-rich-stat{display:flex;flex-direction:column;gap:4px;margin:26px 0 0;padding:18px 0 0;border-top:1px solid rgba(23,17,42,.14)}.op-rich-stat strong{font-size:clamp(25px,3vw,40px);line-height:1;color:var(--op-accent)}.op-rich-stat span{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(23,17,42,.55)}
.op-rich-cards{padding:clamp(72px,8vw,112px) 0;background:#f8f6fb}.op-rich-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.op-rich-card{position:relative;display:flex;flex-direction:column;min-height:310px;background:#fff;border-top:5px solid var(--op-accent);overflow:hidden}.op-rich-card-image{height:210px;overflow:hidden}.op-rich-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.op-rich-card:hover .op-rich-card-image img{transform:scale(1.03)}.op-rich-card-body{position:relative;display:flex;flex-direction:column;flex:1;padding:25px}.op-rich-card-body .fwop-btn{margin-top:auto;align-self:flex-start}.op-rich-badge{position:absolute;right:18px;top:18px;z-index:2;padding:7px 9px;background:var(--op-accent);color:#fff;font-size:10px;line-height:1;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.op-rich-card.has-image .op-rich-badge{top:-18px}
.op-rich-details{padding:clamp(72px,8vw,112px) 0;background:#fff}.op-rich-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(23,17,42,.12);border:1px solid rgba(23,17,42,.12)}.op-rich-detail{padding:27px;background:#fff}.op-rich-detail>b{display:inline-block;margin-bottom:24px;color:var(--op-accent);font-size:10px;letter-spacing:.12em}.op-rich-detail h3{font-size:26px}.op-rich-detail .fwop-copy{font-size:15px}
.op-rich-band{padding:clamp(78px,9vw,126px) 0;background:linear-gradient(120deg,rgba(37,19,74,.96),rgba(37,19,74,.78)),var(--fwop-section-image,none);background-size:cover;background-position:var(--fwop-section-position,center center);color:#fff}.op-rich-band h2{max-width:880px}.op-rich-band .fwop-kicker{color:var(--fw-yellow)}.op-rich-band .fwop-copy{color:rgba(255,255,255,.8);max-width:800px}
.op-embed-frame{padding:20px;background:#fff;border:1px solid rgba(23,17,42,.12);overflow:hidden}.op-embed-frame iframe{max-width:100%;width:100%}.op-book-embed,.op-calendar-embed,.op-contact-embeds{padding:clamp(70px,8vw,110px) 0;background:#f7f4fb}
.op-party-packages{padding:clamp(76px,9vw,120px) 0;background:#fff}.op-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.op-package{display:flex;flex-direction:column;padding:28px;background:#f7f4fb;border-bottom:5px solid var(--op-accent)}.op-package:nth-child(2n){background:#fff8ec}.op-package-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:25px}.op-package-top strong{font-size:34px;line-height:1;color:var(--op-accent)}.op-package-top span{max-width:145px;text-align:right;font-size:12px;font-weight:800;color:rgba(23,17,42,.62)}.op-package ul{padding-left:18px}.op-package li{margin:8px 0;line-height:1.4}.op-package .fwop-btn{margin-top:auto;align-self:flex-start}
.op-hours-board{padding:clamp(72px,8vw,112px) 0;background:#17112a;color:#fff}.op-hours-board-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px}.op-hours-board .fwop-kicker{color:var(--fw-yellow)}.op-hours-board h2{font-size:clamp(30px,4vw,52px)}.op-hours-board .fwop-hours-public dl>div{border-color:rgba(255,255,255,.16)}.op-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.op-pricing-grid article{padding:23px;background:#fff;color:var(--fw-ink)}.op-pricing-grid article>strong{font-size:34px;color:var(--op-accent)}.op-pricing-grid article>b{display:block;margin:10px 0;font-size:12px}.op-pricing-grid .fwop-copy{font-size:14px}
.op-contact-hub{padding:clamp(72px,8vw,112px) 0;background:#fff}.op-contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:50px}.op-contact-info>a,.op-contact-info>div:not(.fwop-actions){display:flex;flex-direction:column;padding:17px 0;border-bottom:1px solid rgba(23,17,42,.13);text-decoration:none;color:var(--fw-ink)}.op-contact-info>a b,.op-contact-info>div b{font-size:22px}.op-contact-info span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(23,17,42,.5)}.op-contact-hours{padding:28px;background:#f7f4fb}.op-contact-embed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.op-specials-list{padding:clamp(72px,8vw,112px) 0;background:#fff}.op-special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.op-special-grid article{padding:27px;background:#17112a;color:#fff;border-top:5px solid var(--op-accent)}.op-special-grid article>span{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--fw-yellow)}.op-special-grid article>strong{display:block;margin:12px 0;font-size:34px;color:var(--op-accent)}.op-special-grid .fwop-copy{color:rgba(255,255,255,.78)}.op-special-grid small{display:block;margin-top:20px;color:rgba(255,255,255,.6)}.op-special-empty{display:flex;flex-direction:column;gap:5px;padding:30px;border:1px dashed rgba(23,17,42,.25);background:#f7f4fb}.op-special-empty strong{font-size:24px}
@media(max-width:980px){.op-rich-hero-grid,.op-rich-feature-grid,.op-hours-board-grid,.op-contact-grid{grid-template-columns:1fr}.op-rich-hero-media,.op-rich-feature-media{min-height:430px}.op-rich-card-grid,.op-package-grid,.op-special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.op-rich-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.op-pricing-grid{grid-template-columns:1fr}.op-contact-embed-grid{grid-template-columns:1fr}}
@media(max-width:680px){.op-rich-card-grid,.op-package-grid,.op-special-grid,.op-rich-detail-grid{grid-template-columns:1fr}.op-rich-hero-media,.op-rich-feature-media{min-height:340px}.op-rich-hero-primary,.op-rich-feature-primary{inset:0 0 8% 0}.op-rich-hero-secondary,.op-rich-feature-secondary{width:48%;height:38%;border-width:5px}.op-package-top{flex-direction:column}.op-package-top span{text-align:left}}
.op-programs{padding:clamp(72px,8vw,112px) 0;background:#eef9ff}.op-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.op-program-grid article{display:flex;flex-direction:column;min-height:270px;padding:25px;background:#fff;border-left:5px solid var(--op-accent)}.op-program-grid article:nth-child(2n){border-left-color:var(--op-accent-2)}.op-program-grid article h3{font-size:28px}.op-program-grid article b{display:block;margin:12px 0 18px;font-size:12px;color:rgba(23,17,42,.62)}.op-program-grid article .fwop-btn{margin-top:auto;align-self:flex-start}
.op-special-grid article.has-image{padding:0;overflow:hidden}.op-special-image{height:190px;overflow:hidden}.op-special-image img{display:block;width:100%;height:100%;object-fit:cover}.op-special-body{padding:27px}.op-special-body>.fwop-btn{margin-top:18px}.op-special-grid article:not(.has-image) .op-special-body{padding:0}
@media(max-width:980px){.op-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.op-program-grid{grid-template-columns:1fr}}
