.landing-page{--sand:#f5f0e8;--sand-2:#ede7d9;--cream:#faf8f4;--ocean:#2e7d9e;--ocean-lt:#4a9ab8;--sky:#c8e6f0;--foam:#fff;--dark:#1a2c35;--mid:#4a6572;--coral:#d4735a;--kelp:#5c7a52;--text:#2a3d45;background:var(--cream);color:var(--text);font-family:DM Sans,sans-serif;overflow-x:hidden}.landing-page *{box-sizing:border-box;margin:0;padding:0}.landing-page .landing-header{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf8f4eb;border-bottom:1px solid #2e7d9e1a;position:fixed;top:0;left:0;right:0}.landing-page .landing-header-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.4rem 3.5rem;display:flex}.landing-page .landing-brand a{color:inherit}.landing-page .landing-brand img{width:54px;height:auto}.landing-page .landing-brand span{color:var(--dark)}.landing-page .landing-nav{align-items:center;gap:2.5rem;display:flex}.landing-page .landing-nav a{color:var(--mid);font-size:.9rem;font-weight:400;text-decoration:none;transition:color .2s}.landing-page .landing-nav a:hover,.landing-page .landing-nav a.is-active{color:var(--ocean)}.landing-page .landing-header-actions{align-items:center;gap:.85rem;display:flex}.landing-page .nav-cta{border-radius:100px;padding:.55rem 1.4rem;background:var(--ocean)!important;color:#fff!important;font-size:.88rem!important;font-weight:500!important;transition:background .2s,transform .2s!important}.landing-page .nav-cta:hover{background:var(--dark)!important}.landing-page .landing-cart{width:40px;height:40px;color:var(--ocean);background:#ffffff80;border:1px solid #2e7d9e38;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex;position:relative}.landing-page .landing-cart:hover{background:#fff;border-color:#2e7d9e5c}.landing-page .landing-cart-badge{background:var(--ocean);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:600;display:inline-flex;position:absolute;top:-4px;right:-4px}.landing-page .landing-menu-button{color:var(--dark);cursor:pointer;background:0 0;border:0;display:none}.landing-page .landing-mobile-nav{display:none}.landing-page .hero{text-align:center;background:linear-gradient(#d6eef7 0%,#b8dcea 35%,#8fc9de 65%,#6ab8d4 100%);flex-direction:column;justify-content:center;align-items:center;height:100vh;min-height:680px;display:flex;position:relative;overflow:hidden}.landing-page .hero-sky{pointer-events:none;background:radial-gradient(70% 40% at 30% 20%,#ffffff8c 0%,#0000 70%),radial-gradient(50% 30% at 80% 10%,#ffffff4d 0%,#0000 60%);position:absolute;inset:0}.landing-page .hero-sun{opacity:.85;pointer-events:none;background:radial-gradient(circle,#fff9e0 30%,#fde98a 60%,#0000 80%);border-radius:50%;width:80px;height:80px;animation:6s ease-in-out infinite sun-pulse;position:absolute;top:12%;right:18%}.landing-page canvas#waveCanvas{pointer-events:none;width:100%;height:55%;position:absolute;bottom:0;left:0}.landing-page .hero-content{z-index:2;margin-top:-80px;padding:0 1.5rem;position:relative}.landing-page .hero-eyebrow{letter-spacing:3px;text-transform:uppercase;color:#ffffffbf;margin-bottom:1.2rem;font-size:.8rem;font-weight:500;animation:.7s both fadeUp}.landing-page .hero-title{color:#fff;text-shadow:0 2px 40px #1e506e40;font-family:DM Serif Display,serif;font-size:clamp(3.5rem,9vw,7.5rem);line-height:1;animation:.8s 80ms both fadeUp}.landing-page .hero-title em{color:#ffffffbf;font-style:italic}.landing-page .hero-sub{color:#fffc;max-width:460px;margin-top:1.4rem;margin-left:auto;margin-right:auto;font-size:1.05rem;font-weight:300;line-height:1.65;animation:.9s .18s both fadeUp}.landing-page .hero-actions{justify-content:center;gap:1rem;margin-top:2.5rem;animation:1s .28s both fadeUp;display:flex}.landing-page .btn-primary{color:var(--ocean);background:#fff;border-radius:100px;padding:.85rem 2.2rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #0000001f}.landing-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000002e}.landing-page .btn-ghost{color:#fff;background:#ffffff2e;border:1.5px solid #fff6;border-radius:100px;padding:.85rem 2rem;font-size:.9rem;font-weight:400;text-decoration:none;transition:background .2s}.landing-page .btn-ghost:hover{background:#ffffff47}.landing-page .hero-stats{z-index:2;gap:3.5rem;animation:1.2s .5s both fadeIn;display:flex;position:absolute;bottom:3.5rem;left:50%;transform:translate(-50%)}.landing-page .stat{text-align:center}.landing-page .stat-number{color:#fff;font-family:DM Serif Display,serif;font-size:2rem;line-height:1}.landing-page .stat-label{letter-spacing:2px;text-transform:uppercase;color:#fff9;margin-top:.2rem;font-size:.7rem;font-weight:400}.landing-page .stat-divider{background:#ffffff40;align-self:center;width:1px;height:40px}.landing-page .scroll-cue{z-index:2;flex-direction:column;align-items:center;gap:6px;animation:1.5s .9s both fadeIn;display:flex;position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%)}.landing-page .scroll-cue span{letter-spacing:2px;text-transform:uppercase;color:#ffffff73;font-size:.65rem}.landing-page .scroll-dot{background:#ffffff73;border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite bounce}.landing-page .ticker{background:var(--ocean);color:#fff;white-space:nowrap;padding:.65rem 0;overflow:hidden}.landing-page .ticker-inner{animation:22s linear infinite ticker-move;display:inline-flex}.landing-page .ticker-item{letter-spacing:3px;text-transform:uppercase;opacity:.85;padding:0 2rem;font-size:.78rem;font-weight:500}.landing-page .ticker-sep{opacity:.4;align-self:center;font-size:.5rem}.landing-page .section{padding:6rem 3.5rem}.landing-page .section-label{letter-spacing:3px;text-transform:uppercase;color:var(--ocean);margin-bottom:.8rem;font-size:.72rem;font-weight:500}.landing-page .section-title{color:var(--dark);margin-bottom:1rem;font-family:DM Serif Display,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}.landing-page .section-title em{color:var(--ocean);font-style:italic}.landing-page .how-section{background:var(--cream)}.landing-page .how-grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;max-width:1100px;margin:3rem auto 0;display:grid}.landing-page .how-intro p{color:var(--mid);max-width:400px;font-size:1rem;font-weight:300;line-height:1.8}.landing-page .steps{flex-direction:column;gap:0;display:flex}.landing-page .step{border-bottom:1px solid var(--sand-2);opacity:0;align-items:flex-start;gap:1.5rem;padding:1.8rem 0;transition:all .45s;display:flex;transform:translateY(16px)}.landing-page .step.visible{opacity:1;transform:translateY(0)}.landing-page .step:last-child{border-bottom:none}.landing-page .step-num{color:var(--ocean);opacity:.5;min-width:28px;padding-top:3px;font-family:DM Serif Display,serif;font-size:1.1rem}.landing-page .step h3{color:var(--dark);margin-bottom:.3rem;font-size:.95rem;font-weight:600}.landing-page .step p{color:var(--mid);font-size:.88rem;font-weight:300;line-height:1.65}.landing-page .gallery-section{background:var(--sand);padding:5rem 0}.landing-page .gallery-header{justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;padding:0 3.5rem;display:flex}.landing-page .gallery-scroll{scrollbar-width:none;cursor:grab;gap:1.2rem;padding:0 3.5rem 1rem;display:flex;overflow-x:auto}.landing-page .gallery-scroll::-webkit-scrollbar{display:none}.landing-page .photo-card{background:var(--sky);border-radius:16px;flex:0 0 280px;height:380px;transition:transform .35s,box-shadow .35s;position:relative;overflow:hidden;box-shadow:0 4px 24px #1e3c501a}.landing-page .photo-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px #1e3c502e}.landing-page .photo-card-inner{width:100%;height:100%;position:relative}.landing-page .photo-card-inner:after{content:"";background:linear-gradient(#0000000f 10%,#0d1d278c 72%,#0d1d27d1 100%);position:absolute;inset:0}.landing-page .card-image{object-fit:cover;width:100%;height:100%;display:block}.landing-page .card-info{opacity:0;z-index:1;background:linear-gradient(#0000 0%,#1a2c35b8 100%);padding:1.2rem 1.2rem 1rem;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.landing-page .photo-card:hover .card-info,.landing-page .card-info.is-visible{opacity:1}.landing-page .card-spot{letter-spacing:2px;text-transform:uppercase;color:#ffffffa6;margin-bottom:.3rem;font-size:.7rem;font-weight:500}.landing-page .card-row{justify-content:space-between;align-items:center;display:flex}.landing-page .card-photographer{color:#fff;font-size:.82rem;font-weight:500}.landing-page .card-price{color:#fff;font-family:DM Serif Display,serif;font-size:1.1rem}.landing-page .photo-card.is-loading .photo-card-inner{background:linear-gradient(120deg,#cfe2e8d9 8%,#eef4f6fa 18%,#cfe2e8d9 33%) 0 0/200% 100%;animation:1.4s linear infinite shimmer}.landing-page .photo-card.is-loading .photo-card-inner:after{background:linear-gradient(#fff0 20%,#1024301f 100%)}.landing-page .gallery-empty{color:#1a2c35b8;background:#ffffff73;border:1px dashed #1a2c352e;border-radius:16px;justify-content:center;align-items:center;width:min(420px,100%);min-height:180px;padding:2rem;display:flex}.landing-page .spots-section{background:var(--cream);padding:6rem 3.5rem}.landing-page .spots-grid{grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1100px;margin:3rem auto 0;display:grid}.landing-page .spot-card{background:var(--sand);cursor:default;border-radius:14px;padding:2rem 1.8rem;transition:background .25s,transform .25s}.landing-page .spot-card:hover{background:var(--sky);transform:translateY(-3px)}.landing-page .spot-num{letter-spacing:2px;color:var(--ocean);opacity:.6;text-transform:uppercase;margin-bottom:1.2rem;font-size:.65rem;font-weight:500}.landing-page .spot-name{color:var(--dark);margin-bottom:.2rem;font-family:DM Serif Display,serif;font-size:1.4rem}.landing-page .spot-location{color:var(--mid);margin-bottom:1rem;font-size:.78rem;font-weight:300}.landing-page .spot-photographers{color:var(--ocean);font-size:.78rem;font-weight:500}.landing-page .spot-card.more{text-align:center;background:0 0;border:2px dashed #2e7d9e33;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex}.landing-page .spot-card.more:hover{background:var(--sky)}.landing-page .spot-card.more .more-num{color:var(--ocean);opacity:.5;font-family:DM Serif Display,serif;font-size:2rem}.landing-page .spot-card.more a{color:var(--ocean);font-size:.8rem;font-weight:500;text-decoration:none}.landing-page .photographers-section{background:var(--dark);padding:7rem 3.5rem;position:relative;overflow:hidden}.landing-page .photographers-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#2e7d9e26 0%,#0000 70%);width:500px;height:500px;position:absolute;top:-80px;left:-100px}.landing-page .photographers-section .section-title{color:#fff}.landing-page .photographers-section .section-title em{color:var(--sky)}.landing-page .photographers-section .section-label{color:var(--sky);opacity:.7}.landing-page .phot-grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;max-width:1100px;margin:3rem auto 0;display:grid}.landing-page .phot-text p{color:#ffffff8c;margin-bottom:1rem;font-size:.98rem;font-weight:300;line-height:1.8}.landing-page .perks{flex-direction:column;gap:.75rem;margin:2rem 0 2.5rem;display:flex}.landing-page .perk{color:#ffffffb3;align-items:center;gap:.8rem;font-size:.9rem;font-weight:300;display:flex}.landing-page .perk-dot{background:var(--ocean-lt);border-radius:50%;flex-shrink:0;width:5px;height:5px}.landing-page .btn-light{color:var(--dark);background:#fff;border-radius:100px;padding:.85rem 2.2rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 4px 20px #0003}.landing-page .btn-light:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000004d}.landing-page .dash-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff17;border-radius:20px;padding:2rem}.landing-page .dash-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.2rem;display:flex}.landing-page .dash-name{color:#fff;font-family:DM Serif Display,serif;font-size:1.1rem}.landing-page .dash-tag{letter-spacing:2px;text-transform:uppercase;color:var(--ocean-lt);background:#4a9ab826;border-radius:100px;padding:.25rem .8rem;font-size:.7rem;font-weight:500}.landing-page .dash-stats{grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.5rem;display:grid}.landing-page .dash-stat{background:#ffffff0a;border-radius:12px;padding:1.2rem}.landing-page .dash-stat-val{color:#fff;margin-bottom:.3rem;font-family:DM Serif Display,serif;font-size:1.7rem;line-height:1}.landing-page .dash-stat-val.pos{color:#7ecba8}.landing-page .dash-stat-label{color:#ffffff59;letter-spacing:1px;text-transform:uppercase;font-size:.7rem;font-weight:400}.landing-page .dash-bar-row{align-items:center;gap:1rem;display:flex}.landing-page .dash-bar-label{color:#fff6;min-width:60px;font-size:.75rem}.landing-page .dash-bar-track{background:#ffffff14;border-radius:2px;flex:1;height:4px;overflow:hidden}.landing-page .dash-bar-fill{background:var(--ocean-lt);border-radius:2px;height:100%;transition:width 1s}.landing-page .dash-bar-val{color:#ffffff80;text-align:right;min-width:36px;font-size:.75rem}.landing-page footer{background:#111d23;padding:4rem 3.5rem 2.5rem}.landing-page .footer-top{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;padding-bottom:3rem;display:flex}.landing-page .footer-brand{color:#fff;font-family:DM Serif Display,serif;font-size:1.8rem}.landing-page .footer-brand em{color:var(--sky);font-style:italic}.landing-page .footer-tagline{color:#ffffff40;margin-top:.4rem;font-size:.75rem;font-weight:300}.landing-page .footer-links{gap:4rem;display:flex}.landing-page .footer-col h4{letter-spacing:2px;text-transform:uppercase;color:#ffffff4d;margin-bottom:1.2rem;font-size:.68rem;font-weight:500}.landing-page .footer-col ul{flex-direction:column;gap:.7rem;list-style:none;display:flex}.landing-page .footer-col a{color:#ffffff73;font-size:.88rem;font-weight:300;text-decoration:none;transition:color .2s}.landing-page .footer-col a:hover{color:#fff}.landing-page .footer-bottom{justify-content:space-between;align-items:center;display:flex}.landing-page .footer-copy{color:#fff3;font-size:.78rem;font-weight:300}.landing-page .footer-socials{gap:1.5rem;display:flex}.landing-page .footer-socials a{color:#ffffff4d;font-size:.78rem;font-weight:300;text-decoration:none;transition:color .2s}.landing-page .footer-socials a:hover{color:#fff}.landing-page .reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(20px)}.landing-page .reveal.visible{opacity:1;transform:translateY(0)}.landing-page .text-link{color:var(--ocean);font-size:.85rem;font-weight:500;text-decoration:none}.landing-page .text-link:hover{text-decoration:underline}@keyframes sun-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes ticker-move{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:900px){.landing-page .landing-header-inner{padding:1.2rem 1.5rem}.landing-page .landing-nav{display:none}.landing-page .landing-menu-button{display:inline-flex}.landing-page .landing-mobile-nav{flex-direction:column;gap:1rem;padding:0 1.5rem 1.2rem;display:flex}.landing-page .landing-mobile-nav a{color:var(--mid);font-size:.92rem;text-decoration:none}.landing-page .nav-cta{display:none}.landing-page .hero-stats{gap:2rem}.landing-page .section{padding:4rem 1.5rem}.landing-page .how-grid{grid-template-columns:1fr;gap:3rem}.landing-page .spots-grid{grid-template-columns:1fr 1fr}.landing-page .phot-grid{grid-template-columns:1fr}.landing-page .dash-card{display:none}.landing-page footer{padding:3rem 1.5rem 2rem}.landing-page .footer-top{flex-direction:column;gap:2rem}.landing-page .footer-links{flex-wrap:wrap;gap:2rem}.landing-page .gallery-header{padding:0 1.5rem}.landing-page .gallery-scroll{padding:0 1.5rem 1rem}.landing-page .spots-section,.landing-page .photographers-section{padding:5rem 1.5rem}}
