:root{--bc-blue:#1167e8;--bc-blue-dark:#082b6f;--bc-navy:#071f49;--bc-gray:#6f7783;--bc-line:#e5eaf1;--bc-soft:#f5f8fc;--bc-white:#fff;--bc-shadow:0 18px 48px rgba(8,43,111,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.bc-theme{margin:0;background:#fff;color:var(--bc-navy);font-family:"Manrope",Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.bc-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.bc-site-shell{overflow:hidden}.bc-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(7,31,73,.07);backdrop-filter:blur(12px)}.bc-header-inner{height:82px;display:flex;align-items:center;gap:34px}.bc-brand{display:flex;align-items:center;width:238px;min-width:210px}.bc-brand img,.bc-brand .custom-logo{display:block;width:100%;height:62px;object-fit:contain}.bc-brand .custom-logo-link{display:flex;width:100%}.bc-nav{margin-left:auto}.bc-nav-list{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.bc-nav-list a{font-size:14px;font-weight:700;color:#122747;position:relative}.bc-nav-list a:hover{color:var(--bc-blue)}.bc-nav-list a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--bc-blue);transition:.2s}.bc-nav-list a:hover:after{right:0}.bc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:7px;font-weight:800;font-size:14px;border:1px solid transparent;cursor:pointer;transition:.22s}.bc-btn:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(17,103,232,.18)}.bc-btn-primary{background:linear-gradient(135deg,#0e5bdd,#1678ff);color:#fff}.bc-btn-ghost,.bc-btn-outline{background:rgba(255,255,255,.88);border-color:#9aa7bb;color:var(--bc-navy)}.bc-header-cta{min-width:190px}.bc-menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:8px}.bc-menu-toggle span{display:block;height:2px;background:#0a2e6d;margin:6px 0}.bc-hero{position:relative;min-height:520px;background:#edf5ff;isolation:isolate}.bc-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 34%,rgba(235,245,255,.48) 58%,rgba(206,226,246,.18) 100%),url('../img/hero-coast.jpg') center 57%/cover no-repeat;filter:saturate(.82);z-index:-2}.bc-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.12));z-index:-1}.bc-hero-inner{display:grid;grid-template-columns:46% 54%;align-items:center;min-height:520px;position:relative}.bc-hero-copy{padding:50px 0 105px;max-width:530px;z-index:2}.bc-eyebrow{font-size:12px;letter-spacing:.22em;font-weight:800;color:var(--bc-blue);margin-bottom:10px}.bc-hero h1,.bc-section-title h2,.bc-camper-copy h2,.bc-admin-copy h2,.bc-location-copy h2,.bc-content-card h1{font-family:"Playfair Display",Georgia,serif}.bc-hero h1{font-size:64px;line-height:.98;letter-spacing:-.035em;margin:0 0 22px;color:#082957}.bc-hero p{max-width:500px;font-size:17px;color:#29415f;margin:0 0 28px}.bc-hero-actions{display:flex;gap:14px}.bc-hero-camper{align-self:end;display:flex;align-items:flex-end;justify-content:flex-end;padding-bottom:64px;margin-left:-60px;z-index:1}.bc-hero-camper img{width:730px;max-width:none;filter:drop-shadow(0 28px 30px rgba(5,31,73,.22))}.bc-booking-wrap{position:relative;z-index:5;margin-top:-66px}.bc-booking{background:#fff;border:1px solid rgba(8,43,111,.09);border-radius:14px;box-shadow:var(--bc-shadow);padding:20px 22px 14px;display:grid;grid-template-columns:1.15fr 1.15fr 1fr 1.1fr;gap:15px;align-items:end}.bc-booking label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#314863}.bc-booking input,.bc-booking select,.bc-reservation-form input,.bc-reservation-form select{height:48px;border:1px solid #dbe3ed;border-radius:7px;background:#fff;color:#213a58;padding:0 13px;font:inherit;outline:none}.bc-booking input:focus,.bc-booking select:focus{border-color:#72a7f5;box-shadow:0 0 0 3px rgba(17,103,232,.08)}.bc-booking-benefits{grid-column:1/-1;display:flex;justify-content:space-around;border-top:1px solid #edf1f5;padding-top:12px;font-size:12px;color:#5f7187}.bc-section{padding:46px 0}.bc-section-title{text-align:center;margin-bottom:24px}.bc-section-title h2{font-size:28px;margin:0;color:#082957}.bc-section-title i{display:block;width:38px;height:3px;background:var(--bc-blue);margin:8px auto 0;border-radius:3px}.bc-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.bc-feature-card{background:#fff;border:1px solid #e7ebf1;border-radius:12px;padding:26px 18px;text-align:center;box-shadow:0 8px 25px rgba(8,43,111,.04)}.bc-icon{font-size:38px;color:var(--bc-blue);line-height:1}.bc-feature-card h3{font-size:16px;margin:12px 0 5px}.bc-feature-card p{font-size:13px;color:#657489;margin:0}.bc-camper-section{padding-top:5px}.bc-camper-card{display:grid;grid-template-columns:40% 60%;border:1px solid #e6ebf1;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(7,31,73,.05)}.bc-camper-photo{background:linear-gradient(145deg,#dcecff,#f7fbff);min-height:300px;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.bc-camper-photo img{width:120%;max-width:none;filter:drop-shadow(0 18px 22px rgba(8,43,111,.16))}.bc-camper-copy{padding:32px 36px}.bc-camper-copy h2{font-size:34px;margin:0 0 16px}.bc-specs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.bc-specs span{font-size:11px;font-weight:700;border:1px solid #e4e9f0;padding:8px 10px;border-radius:7px;background:#fff}.bc-camper-copy p{font-size:14px;color:#52647a}.bc-btn-outline{color:var(--bc-blue);border-color:var(--bc-blue);background:#fff}.bc-how{padding-top:8px}.bc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.bc-steps article{display:flex;align-items:center;gap:16px;position:relative}.bc-steps article:not(:last-child):after{content:"";position:absolute;right:-27px;width:34px;border-top:1px dashed #aab7c8}.bc-steps b{width:48px;height:48px;border:1.5px solid var(--bc-blue);border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--bc-blue)}.bc-steps h3{font-size:14px;margin:0 0 3px}.bc-steps p{font-size:12px;color:#647489;margin:0}.bc-admin-preview{background:linear-gradient(90deg,#f6fbff,#eff6fd);padding:32px 0}.bc-admin-grid{display:grid;grid-template-columns:1.2fr .85fr .85fr .85fr;gap:16px;align-items:stretch}.bc-admin-copy{padding:16px}.bc-admin-copy h2{font-size:29px;line-height:1.12;margin:0 0 12px}.bc-admin-copy p{font-size:13px;color:#5d7085}.bc-mini-card{background:#fff;border-radius:11px;padding:16px;box-shadow:0 10px 25px rgba(8,43,111,.06);border:1px solid #e4eaf1}.bc-mini-card h4{margin:0 0 12px;font-size:13px}.bc-calendar{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.bc-calendar span{font-size:10px;text-align:center;padding:6px 2px;border-radius:5px;background:#f5f7fa}.bc-calendar .free{background:#dcefdc}.bc-calendar .busy{background:#e0ebfa}.bc-client,.bc-status{display:flex;flex-direction:column;border:1px solid #edf0f4;border-radius:7px;padding:9px;margin-bottom:8px}.bc-client b,.bc-status span{font-size:10px}.bc-client small{font-size:9px;color:#7c8a9a}.bc-status b{font-size:9px;color:#268648}.bc-status.pending b{color:#e48628}.bc-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bc-testimonial-grid article{border:1px solid #e8ecf2;border-radius:12px;padding:22px;background:#fff}.stars{color:#ffac24;letter-spacing:2px}.bc-testimonial-grid p{font-size:13px;color:#53657a;min-height:62px}.bc-testimonial-grid b,.bc-testimonial-grid small{display:block;font-size:12px}.bc-testimonial-grid small{color:#7f8b99}.bc-location{margin-top:10px;background:linear-gradient(90deg,#063c7c 0,#074e98 38%,#eef6fd 38%,#eef6fd 100%);color:#fff}.bc-location-grid{display:grid;grid-template-columns:38% 62%;min-height:260px}.bc-location-copy{padding:40px 30px 34px 0}.bc-location-copy .bc-eyebrow{color:#83baff}.bc-location-copy h2{font-size:30px;margin:0 0 10px;color:#fff}.bc-location-copy p{font-size:13px;color:#d9e8fa}.bc-location-copy a{color:#fff}.bc-map{min-height:260px;background:#e8f0f8}.bc-map iframe{border:0;width:100%;height:100%;min-height:260px;display:block;filter:saturate(.75)}.bc-footer{background:#061d42;color:#d8e3f2;padding:34px 0 18px}.bc-footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:34px}.bc-footer-brand img{width:200px;background:#fff;border-radius:8px;padding:4px}.bc-footer-brand p{font-size:12px}.bc-footer h3{font-size:12px;color:#fff;margin:0 0 10px}.bc-footer a,.bc-footer span{display:block;font-size:11px;color:#cad8e8;margin:5px 0}.bc-footer-bottom{border-top:1px solid rgba(255,255,255,.10);margin-top:26px;padding-top:14px;font-size:10px;text-align:center}.bc-page{padding:55px 0 70px}.bc-content-card{background:#fff;border:1px solid #e6ebf1;border-radius:14px;padding:38px;box-shadow:0 12px 34px rgba(8,43,111,.06)}.bc-content-card h1{font-size:42px;margin-top:0}.bc-entry-content{color:#40556f}.bc-reservation-page{max-width:900px;margin:auto}.bc-lead{font-size:17px;color:#52647a}.bc-reservation-form{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:14px;margin:30px 0;align-items:end}.bc-reservation-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:12px}.bc-notice{border:1px solid #cfe0f8;background:#f3f8ff;color:#41617f;border-radius:10px;padding:16px;font-size:13px}.bc-woo-wrap{padding:50px 0 70px}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{border:1px solid #e6ebf1;border-radius:12px;padding:14px;background:#fff}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--bc-blue)!important;color:#fff!important;border-radius:7px!important;font-weight:700!important}.woocommerce div.product .product_title{color:var(--bc-navy)}
@media(max-width:1050px){.bc-header-inner{gap:18px}.bc-nav-list{gap:18px}.bc-header-cta{min-width:auto;padding:0 16px}.bc-hero h1{font-size:54px}.bc-hero-camper img{width:650px}.bc-admin-grid{grid-template-columns:1.2fr 1fr 1fr}.bc-admin-grid .bc-mini-card:last-child{grid-column:2/4}.bc-footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}}
@media(max-width:820px){.bc-container{width:min(100% - 28px,1180px)}.bc-header-inner{height:72px}.bc-brand{width:190px;min-width:160px}.bc-header-cta{display:none}.bc-menu-toggle{display:block;margin-left:auto}.bc-nav{position:absolute;left:0;right:0;top:72px;background:#fff;border-top:1px solid #edf0f4;padding:18px 22px;display:none}.bc-nav.is-open{display:block}.bc-nav-list{flex-direction:column;align-items:flex-start;gap:14px}.bc-hero{min-height:640px}.bc-hero-inner{grid-template-columns:1fr;min-height:640px}.bc-hero-copy{padding:44px 0 0}.bc-hero h1{font-size:48px;max-width:580px}.bc-hero-camper{position:absolute;right:-105px;bottom:48px;margin:0;padding:0}.bc-hero-camper img{width:650px}.bc-booking-wrap{margin-top:-22px}.bc-booking{grid-template-columns:1fr 1fr}.bc-booking-benefits{justify-content:flex-start;gap:20px;flex-wrap:wrap}.bc-feature-grid{grid-template-columns:1fr 1fr}.bc-camper-card{grid-template-columns:1fr}.bc-steps{grid-template-columns:1fr;gap:18px}.bc-steps article:after{display:none}.bc-admin-grid{grid-template-columns:1fr 1fr}.bc-admin-copy{grid-column:1/-1}.bc-admin-grid .bc-mini-card:last-child{grid-column:auto}.bc-location{background:#07478e}.bc-location-grid{grid-template-columns:1fr}.bc-location-copy{padding-right:0}.bc-footer-grid{grid-template-columns:1fr 1fr}.bc-reservation-form{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bc-brand{width:160px}.bc-hero{min-height:620px}.bc-hero h1{font-size:39px}.bc-hero p{font-size:15px}.bc-hero-actions{flex-wrap:wrap}.bc-hero-camper{right:-155px;bottom:76px}.bc-hero-camper img{width:570px}.bc-booking{grid-template-columns:1fr}.bc-booking-benefits{grid-column:auto;display:grid;gap:8px}.bc-feature-grid,.bc-testimonial-grid,.bc-admin-grid,.bc-footer-grid,.bc-reservation-form{grid-template-columns:1fr}.bc-admin-copy{grid-column:auto}.bc-camper-copy{padding:26px 22px}.bc-camper-copy h2{font-size:30px}.bc-section-title h2{font-size:25px}.bc-location-grid{min-height:unset}.bc-content-card{padding:25px 20px}.bc-content-card h1{font-size:34px}}
