:root{--navy:#102b38;--deep:#0a1d27;--orange:#e8743b;--cream:#f5f0e8;--paper:#fffdf9;--green:#2f805d;--green-light:#dff1e8;--ink:#17262d;--muted:#657078;--line:#d9d9d4;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);background:var(--paper);border-bottom:1px solid #ece9e2;position:sticky;top:0;z-index:30}.brand img{display:block;width:210px;height:auto}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.menu-button{display:none;background:none;border:0}.menu-button span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:var(--orange);color:white;padding:15px 22px;font-weight:700;box-shadow:0 8px 22px #e8743b2b;transition:.2s}.button:hover{transform:translateY(-2px);background:#d9652f}.button-small{padding:11px 16px;font-size:14px}.button-full{width:100%}.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:var(--cream)}.hero-copy{padding:110px 6vw 90px max(6vw,calc((100vw - 1440px)/2));position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:800;color:var(--orange);margin:0 0 17px}.eyebrow.light{color:#f1a078}.hero h1,.section-heading h2,.security-section h2,.how-section h2,.cta-section h2,.modal h2{font:700 clamp(44px,5.2vw,76px)/.99 "Outfit",sans-serif;letter-spacing:-.04em;margin:0}.hero h1 em{font-style:normal;color:var(--orange)}.hero-text{font-size:19px;line-height:1.65;max-width:610px;color:#4e5a60;margin:27px 0 34px}.hero-actions{display:flex;align-items:center;gap:27px}.text-link{color:var(--ink);font-weight:700;text-decoration:none}.text-link span{color:var(--orange);font-size:20px}.trust-row{display:flex;gap:24px;margin-top:54px;font-size:13px;font-weight:600;color:#516067}.trust-row span::first-letter{color:var(--green)}.hero-art{position:relative;background:linear-gradient(145deg,#173d4c,#0a202a);overflow:hidden}.hero-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 79px,#ffffff08 80px),repeating-linear-gradient(0deg,transparent 0 79px,#ffffff08 80px);transform:perspective(500px) rotateX(58deg) scale(1.7);transform-origin:bottom}.sun{width:280px;height:280px;border-radius:50%;background:#e8743b25;position:absolute;top:54px;right:55px;box-shadow:0 0 0 45px #e8743b0c}.storage-card{position:absolute;width:260px;height:105px;border-radius:9px 20px 9px 9px;background:#f1eee6;color:var(--navy);box-shadow:0 28px 45px #0005;border:7px solid #d6d2c9;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;transform:skewY(-4deg)}.storage-card span{font:800 34px "Outfit"}.storage-card b{background:var(--orange);color:white;padding:5px 7px;border-radius:4px}.card-rv{top:180px;left:8%}.card-boat{top:350px;right:8%;width:225px}.gate-line{position:absolute;height:10px;width:80%;left:10%;bottom:92px;background:#bac3c6;box-shadow:0 14px 0 #293f49}.hero-badge{position:absolute;right:38px;bottom:34px;width:122px;height:122px;border-radius:50%;background:var(--orange);color:white;display:grid;place-content:center;text-align:center;transform:rotate(6deg)}.hero-badge strong{font:800 31px "Outfit"}.hero-badge span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:1180px;margin:-35px auto 0;background:white;border-radius:13px;box-shadow:0 14px 40px #102b3819;position:relative;z-index:4}.stats div{padding:27px 30px;border-right:1px solid #e8e5dd}.stats div:last-child{border:0}.stats strong,.stats span{display:block}.stats strong{font:700 25px "Outfit"}.stats span{font-size:12px;color:var(--muted);margin-top:5px}.booking-section,.how-section{padding:110px max(5vw,calc((100vw - 1320px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading h2,.security-section h2,.how-section h2,.cta-section h2,.modal h2{font-size:clamp(36px,4vw,55px)}.section-heading>p{max-width:450px;color:var(--muted);line-height:1.6;margin:0}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 50px #102b380e}.map-toolbar{min-height:67px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line)}.filter-group{display:flex;background:#f0efea;border-radius:7px;padding:4px}.filter{border:0;background:transparent;border-radius:5px;padding:8px 14px;color:#667078;font-size:12px;font-weight:700}.filter.active{background:white;color:var(--ink);box-shadow:0 2px 8px #0000000d}.legend{display:flex;gap:15px;font-size:10px;color:#68747a}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:8px;height:8px;border-radius:2px}.available-dot{background:var(--green)}.reserved-dot{background:#aeb4b6}.selected-dot{background:var(--orange)}.facility-map{height:560px;position:relative;overflow:hidden;background-color:#e8e5dc;background-image:linear-gradient(#ffffff45 1px,transparent 1px),linear-gradient(90deg,#ffffff45 1px,transparent 1px);background-size:28px 28px;border-right:1px solid var(--line)}.road-label{position:absolute;left:0;right:0;bottom:0;height:50px;background:#566269;color:#dce2e3;display:grid;place-content:center;font-size:10px;letter-spacing:.25em}.entrance{position:absolute;bottom:50px;left:40px;width:130px;height:37px;background:#c8774c;color:white;text-align:center;padding:11px;font-size:10px;letter-spacing:.16em}.entrance span{margin-left:10px}.drive{position:absolute;background:#cbc9c2;color:#777b7a;font-size:9px;letter-spacing:.15em;text-align:center}.drive-one{left:180px;right:36px;bottom:73px;height:40px;padding:14px}.drive-two{left:180px;right:36px;top:50px;height:40px;padding:14px}.office{position:absolute;left:40px;bottom:120px;width:118px;height:80px;background:var(--navy);color:white;display:grid;place-content:center;text-align:center;border-radius:4px}.office b{font:700 14px "Outfit"}.office small{font-size:8px;color:#a7bbc2}.spots-grid{position:absolute;left:205px;right:55px;top:110px;bottom:135px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 10px}.spot{position:relative;border:2px solid #fff;background:var(--green);color:white;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 4px 8px #0001;transition:.2s;min-height:44px}.spot:hover:not(.reserved){transform:scale(1.045);z-index:2}.spot strong{font:800 13px "Outfit"}.spot small{font-size:8px;opacity:.8}.spot.reserved{background:#abb0ae;color:#f3f3f1;cursor:not-allowed}.spot.selected{background:var(--orange);box-shadow:0 0 0 3px #e8743b38}.spot.filtered{opacity:.18;pointer-events:none}.camera{position:absolute;width:20px;height:20px;border-radius:50%;background:#f4efe6;color:var(--orange);font-size:19px;line-height:15px;text-align:center;border:2px solid var(--navy)}.cam-1{left:163px;bottom:99px}.cam-2{right:20px;top:90px}.map-note{position:absolute;left:20px;top:20px;color:#8b8d88;font-size:9px}.selection-panel{background:#faf9f5;padding:26px;display:flex;align-items:center}.empty-selection{text-align:center;color:var(--muted)}.empty-selection h3,.space-details h3{font:700 26px "Outfit";color:var(--ink);margin:13px 0 8px}.empty-selection p{font-size:13px;line-height:1.6}.select-icon{font-size:40px;color:var(--orange)}.hidden{display:none!important}.space-details{width:100%}.detail-top{display:flex;justify-content:space-between;align-items:center}.space-type{font-size:10px;color:var(--orange);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.availability-pill{font-size:10px;color:var(--green);background:var(--green-light);padding:5px 8px;border-radius:20px}.dimension-visual{height:120px;margin:18px 0 22px;position:relative;background:#e7e4dc;border-radius:8px;display:grid;place-content:center}.dimension-visual div{height:75px;width:170px;background:var(--navy);border-radius:7px 18px 7px 7px;display:grid;place-content:center;color:white}.dimension-visual>span{position:absolute;font-size:9px;color:#666}.dimension-visual>span:first-child{top:8px;left:50%;transform:translateX(-50%)}.dimension-visual>span:last-child{left:8px;top:50%;transform:translateY(-50%) rotate(-90deg)}.space-details dl{margin:0}.space-details dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e4e2dc;font-size:12px}.space-details dt{color:var(--muted)}.space-details dd{margin:0;font-weight:700;text-align:right}.price-line{margin:21px 0}.price-line span,.price-line small{display:block}.price-line span b{font:800 30px "Outfit"}.price-line small{color:var(--muted);font-size:10px}.security-section{background:var(--navy);color:white;padding:100px max(5vw,calc((100vw - 1320px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.security-copy p:last-child{line-height:1.7;color:#b7c6cc}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 55px}.feature-grid article span{font:800 12px "Outfit";color:var(--orange)}.feature-grid h3{font:700 20px "Outfit";margin:13px 0 7px}.feature-grid p{margin:0;color:#aebec4;font-size:13px;line-height:1.6}.how-section .section-heading{justify-content:center;text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{display:flex;gap:18px;padding:28px;border:1px solid #e5e1d9;border-radius:12px}.steps article>b{width:37px;height:37px;flex:0 0 37px;display:grid;place-content:center;border-radius:50%;background:var(--orange);color:white}.steps h3{font:700 20px "Outfit";margin:4px 0 8px}.steps p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.cta-section{margin:0 max(4vw,calc((100vw - 1400px)/2)) 50px;border-radius:18px;padding:65px 6%;background:var(--orange);color:white;display:flex;align-items:center;justify-content:space-between}.button-light{background:white;color:var(--navy);box-shadow:none}.button-light:hover{background:var(--cream)}footer{background:var(--deep);color:#9db0b8;padding:60px max(5vw,calc((100vw - 1320px)/2));display:grid;grid-template-columns:1fr auto;align-items:end;gap:15px}footer img{width:215px}footer p{margin:0}.legal{grid-column:1/-1;border-top:1px solid #28404a;padding-top:24px;font-size:11px}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#07171fd9;backdrop-filter:blur(4px)}.modal-card{position:relative;background:var(--paper);width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:17px;padding:42px;box-shadow:0 24px 70px #0008}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;color:#6e777a}.modal h2{font-size:40px}.modal-intro{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:25px 0}.modal label{display:grid;gap:7px;font-size:11px;font-weight:700}.modal input,.modal select{border:1px solid #d6d5d0;background:white;border-radius:7px;padding:12px;color:var(--ink);min-width:0}.check-label{grid-template-columns:auto 1fr!important;align-items:start!important;font-weight:500!important;line-height:1.5!important;color:#59656a}.check-label input{margin-top:3px}.booking-summary{display:flex;justify-content:space-between;margin:22px 0 12px;background:var(--cream);padding:15px;border-radius:8px}.success-view{text-align:center}.success-mark{margin:0 auto 18px;width:70px;height:70px;border-radius:50%;display:grid;place-content:center;background:var(--green-light);color:var(--green);font-size:38px}.success-view h2{margin-bottom:14px}.success-view>p{color:var(--muted)}.code-card{margin:25px auto;background:var(--navy);color:white;border-radius:12px;padding:24px;display:grid;gap:8px}.code-card small{color:#9fb5be;letter-spacing:.18em}.code-card strong{font:800 39px "Outfit";letter-spacing:.12em;color:#f19769}.code-card span{font-size:12px}.confirmation-number{font-size:12px}.confirmation-number b{color:var(--ink)}@media(max-width:900px){.site-header nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;padding:25px;flex-direction:column;box-shadow:0 10px 25px #0002}.site-header nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 7vw}.hero-art{min-height:440px}.stats{margin:0;border-radius:0;grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:1fr}.facility-map{border-right:0}.selection-panel{min-height:300px}.security-section{grid-template-columns:1fr;gap:50px}.steps{grid-template-columns:1fr}.cta-section{align-items:flex-start;gap:30px;flex-direction:column}}@media(max-width:620px){.brand img{width:176px}.site-header{height:74px}.site-header nav{top:73px}.hero-copy{padding:63px 6vw}.hero h1{font-size:47px}.hero-text{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{display:grid;gap:9px;margin-top:37px}.hero-art{min-height:370px}.storage-card{width:210px;height:90px}.card-rv{left:5%;top:95px}.card-boat{right:5%;top:230px}.stats div{padding:22px 18px}.booking-section,.how-section{padding:75px 5vw}.section-heading{align-items:flex-start;flex-direction:column;gap:18px}.map-toolbar{align-items:flex-start;gap:13px;flex-direction:column}.legend{flex-wrap:wrap}.facility-map{height:530px}.spots-grid{left:105px;right:20px;grid-template-columns:repeat(3,1fr);gap:8px;top:100px}.office{left:14px;width:80px}.drive-one,.drive-two{left:100px;right:15px}.entrance{left:14px;width:80px}.cam-1{left:87px}.map-note{max-width:130px}.security-section{padding:75px 6vw}.feature-grid{grid-template-columns:1fr}.cta-section{margin:0;border-radius:0}.form-grid{grid-template-columns:1fr}.modal-card{padding:35px 20px}.modal h2{font-size:32px}footer{grid-template-columns:1fr}}
:root{}
.invoice-card{background:var(--cream);border-radius:10px;margin:25px 0;padding:8px 20px}.invoice-card>div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #ddd7cc}.invoice-card>div:last-child{border:0}.invoice-card span{color:var(--muted);font-size:13px}.invoice-total{font-size:19px}.invoice-total span{color:var(--ink)!important;font-weight:700}.demo-card-fields{margin:20px 0}.demo-card-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:15px}.back-button{display:block;margin:16px auto 0;border:0;background:none;color:var(--muted);font-weight:700;font-size:12px}
