  :root {
     --wc-dark-blue: #003767;
     --wc-medium-blue: #004d8c;
     --wc-light-blue: #79bde8;
     --wc-accent-blue: #00a3e0;
     --wc-white: #ffffff;
     --wc-off-white: #f7f9fb;
     --wc-dark: #0a1628;
     --wc-gray: #6c757d;
     --wc-light-gray: #e9ecef;
     --wc-transition: cubic-bezier(0.4, 0, 0.2, 1);
     --wc-transition-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}
/**, *::before, *::after {
     box-sizing: border-box;
}
*/
/*body {
    */
    /* font-family: var(--wc-font-body);
    */
    /* margin: 0;
    */
    /* padding: 0;
    */
    /* overflow-x: hidden;
    */
    /* color: #333;
    */
    /* background: var(--wc-white);
    */
    /*
}
*/
 h1, h2, h3, h4, h5, h6 {
    /*font-family: var(--wc-font-heading);
    */
     margin-top: 0;
}
 .sharp-edge, .card, .btn, .form-control, .img-fluid, .alert, .badge {
     border-radius: 0 !important;
}
 .wc-heading {
     color: var(--wc-dark-blue);
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 1px;
}
 .wc-section-subtitle {
     color: var(--wc-gray);
     font-size: 1.1rem;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
}
 .bg-wc-dark {
     background-color: var(--wc-dark-blue) !important;
     color: white;
}
 .bg-wc-off-white {
     background-color: var(--wc-off-white) !important;
}
 .text-wc-light {
     color: var(--wc-light-blue) !important;
}
 .text-wc-dark {
     color: var(--wc-dark-blue) !important;
}
 .btn-wc-primary {
     background-color: var(--wc-dark-blue);
     color: white;
     border: 2px solid var(--wc-dark-blue);
     padding: 12px 30px;
     text-transform: uppercase;
     font-weight: 700;
     letter-spacing: 1.5px;
     transition: all 0.35s var(--wc-transition);
     display: inline-block;
     text-align: center;
     text-decoration: none;
     cursor: pointer;
}
 .btn-wc-primary:hover {
     background-color: var(--wc-light-blue);
     color: var(--wc-dark-blue);
     border-color: var(--wc-dark-blue);
     transform: translateY(-3px);
     box-shadow: 0 6px 20px rgba(0, 55, 103, 0.35);
}
 .btn-wc-outline {
     background-color: transparent;
     color: var(--wc-dark-blue);
     border: 2px solid var(--wc-dark-blue);
     padding: 10px 28px;
     text-transform: uppercase;
     font-weight: 700;
     letter-spacing: 1.5px;
     transition: all 0.35s var(--wc-transition);
     display: inline-block;
     text-align: center;
     text-decoration: none;
     cursor: pointer;
}
 .btn-wc-outline:hover {
     background-color: var(--wc-dark-blue);
     color: var(--wc-white);
     transform: translateY(-3px);
     box-shadow: 0 6px 20px rgba(0, 55, 103, 0.35);
}
 .camp-card {
     border: none;
     height: 100%;
     transition: all 0.4s var(--wc-transition);
     background: var(--wc-white);
     position: relative;
     overflow: hidden;
     box-shadow: 0 2px 15px rgba(0, 55, 103, 0.08);
}
 .camp-card::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 5px;
     background-color: var(--wc-dark-blue);
     transition: height 0.35s var(--wc-transition), background-color 0.35s ease;
}
 .camp-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 20px 40px rgba(0, 55, 103, 0.18);
}
 .camp-card:hover::after {
     height: 8px;
     background-color: var(--wc-light-blue);
}
 .camp-card-link {
     text-decoration: none;
     color: inherit;
     display: block;
     height: 100%;
}
 .camp-card-link:hover {
     color: inherit;
     text-decoration: none;
}
 .camp-img-wide {
     width: 100%;
     aspect-ratio: 1 / 1;
     object-fit: cover;
     background-color: var(--wc-light-gray);
     transition: transform 0.5s var(--wc-transition);
}
 .camp-card:hover .camp-img-wide {
     transform: scale(1.06);
}
 .camp-img-square {
     width: 100%;
     aspect-ratio: 1 / 1;
     object-fit: cover;
     background-color: var(--wc-light-gray);
     transition: transform 0.5s var(--wc-transition);
}
 .camp-card:hover .camp-img-square {
     transform: scale(1.06);
}
 .camp-badge {
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 1px;
     font-size: 0.8rem;
     background-color: var(--wc-light-blue) !important;
     color: var(--wc-dark-blue) !important;
     padding: 0.5em 1em;
}
 .policy-link {
     color: var(--wc-dark-blue);
     font-weight: 600;
     transition: color 0.3s ease;
}
 .policy-link:hover {
     color: var(--wc-light-blue);
}
 .reveal {
     opacity: 0;
     transform: translateY(40px);
     transition: opacity 0.8s var(--wc-transition), transform 0.8s var(--wc-transition);
}
 .reveal.revealed {
     opacity: 1;
     transform: translateY(0);
}
 .reveal-delay-1 {
     transition-delay: 0.15s;
}
 .reveal-delay-2 {
     transition-delay: 0.3s;
}
 .reveal-delay-3 {
     transition-delay: 0.45s;
}
 .reveal-delay-4 {
     transition-delay: 0.6s;
}
 .section-divider-angled {
     position: relative;
     width: 100%;
     height: 80px;
     overflow: hidden;
}
 .section-divider-angled::after {
     content: '';
     position: absolute;
     left: -5%;
     right: -5%;
     bottom: 0;
     height: 100%;
     transform-origin: bottom right;
     transform: skewY(-2.2deg);
}
 @media (max-width: 767.98px) {
     .camp-img-wide {
         aspect-ratio: 1 / 1;
    }
}
 