.planner{background:rgba(255,255,255,.9);padding:28px;backdrop-filter:blur(9px);border:1px solid #ffffffb3;box-shadow:0 14px 48px #082c3e30;overflow:visible}.planner>p{line-height:1.55;margin:12px 0 22px}.premium-fields{gap:18px 14px}.premium-group{min-width:0;position:relative}.premium-group>label{display:block;font:600 12px/1.3 Inter,sans-serif;margin:0 0 9px;color:#173b60}.required{color:#b44333}.date-group,.full-width,.exact-group{grid-column:1/-1}.premium-input{display:flex;align-items:center;gap:11px;min-width:0;width:100%;min-height:57px;border:1.5px solid #cbdfe6;border-radius:12px;background:#ffffffed;padding:12px;color:#173b60;text-align:left;transition:border-color .2s,box-shadow .2s}.premium-input:hover{border-color:#82b7bf}.premium-input:focus-within,.premium-input:focus-visible,.premium-input[aria-expanded=true]{border-color:#078c9b;box-shadow:0 0 0 3px #078c9b12;outline:none}.premium-input>i{flex-shrink:0}.premium-input>i svg{width:24px;height:24px}.premium-input>svg{width:16px;height:16px;flex-shrink:0;margin-left:auto}.premium-input>span:not(.stepper-buttons){min-width:0}.select-trigger{font-size:12px;line-height:1.4}.select-trigger>span{flex:1}.placeholder{color:#7a91a5}.date-trigger{min-height:66px}.date-trigger small{display:block;font-size:10px;color:#71889b;letter-spacing:.2px;margin-bottom:4px}.date-trigger b{font-size:13px;font-weight:500;letter-spacing:.4px;color:#7a91a5}.date-trigger.has-value b{color:#173b60}.date-trigger>i svg{width:27px;height:27px}.duration-control{padding:7px 7px 7px 12px}.duration-control input{width:40px;min-width:0;border:0;outline:none;background:transparent;font-size:16px;color:#173b60;padding:0;appearance:textfield;-moz-appearance:textfield}.duration-control input::-webkit-inner-spin-button,.duration-control input::-webkit-outer-spin-button{appearance:none;margin:0}.duration-control>span{font-size:11px;color:#71889b}.stepper-buttons{display:flex;flex-direction:column;gap:3px;margin-left:auto}.stepper-buttons button{display:grid;place-items:center;width:28px;height:20px;padding:0;border:1px solid #c5e4ef;background:#eff8fc;border-radius:6px;color:#008caa}.stepper-buttons button:hover{background:#d9eff6}.stepper-buttons svg{width:14px;height:14px}.exact-group input{width:100%;border:0;outline:none;color:#173b60;background:none;min-width:0;font-size:14px}.option-panel{position:absolute;top:calc(100% + 7px);left:0;min-width:100%;width:max-content;max-width:min(320px,80vw);z-index:35;background:#fff;border:1px solid #d4e5e9;border-radius:13px;box-shadow:0 14px 40px #173b602e;padding:6px;max-height:290px;overflow:auto}.premium-group:nth-last-child(1) .option-panel{width:100%}.option-panel button{display:flex;justify-content:space-between;gap:15px;width:100%;text-align:left;font-size:12px;line-height:1.4;border-radius:8px;padding:10px 12px;color:#284a67}.option-panel button>span{visibility:hidden;color:#008592}.option-panel button:hover,.option-panel button:focus{outline:0;background:#edf7f8}.option-panel button[aria-selected=true]{background:#dff1f2;font-weight:600}.option-panel button[aria-selected=true]>span{visibility:visible}.premium-group:nth-child(4) .option-panel{left:auto;right:0}.calendar-panel{position:absolute;left:0;top:calc(100% + 8px);width:580px;max-width:calc(100vw - 36px);z-index:40;padding:20px;border:1px solid #d4e5e9;border-radius:16px;box-shadow:0 18px 55px #173b6038;background:white;color:#173b60}.calendar-heading{display:flex;align-items:center;justify-content:space-between;font-size:14px}.calendar-heading button{font-size:23px;padding:0 4px;line-height:1}.calendar-panel p{font-size:11px;color:#688295;margin:6px 0 12px;line-height:1.4}.calendar-nav{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf2f4;padding-top:8px}.calendar-nav>span{font-size:10px;color:#7b929e;letter-spacing:.6px;text-transform:uppercase}.calendar-nav>button{font-size:26px;line-height:1;width:30px;height:30px;border-radius:50%;background:#edf7f8}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:20px}.calendar-month h4{text-align:center;font-size:13px;margin:10px 0 13px;font-family:Inter,sans-serif}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:4px;text-align:center}.weekday{font-size:10px;color:#7b909c;padding:0 0 9px}.calendar-grid button{height:31px;font-size:11px;padding:0;position:relative;border-radius:7px}.calendar-grid button:hover,.calendar-grid button:focus-visible{background:#e4f2f3;outline:2px solid #168b98;outline-offset:-2px}.calendar-grid button.in-range,.calendar-grid button.range-preview{background:#def2f2;border-radius:0;color:#005d70}.calendar-grid button.range-edge{background:#078c9b;color:white;font-weight:600;border-radius:7px}.calendar-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e9f0f2;margin-top:15px;padding-top:12px}.calendar-bottom>button:first-child{font-size:11px;text-decoration:underline;color:#667f90}.calendar-bottom .button{font-size:11px;padding:8px 22px}.calendar-bottom .button:disabled{opacity:.4;cursor:default;transform:none}.planner .interest-title{margin-top:22px;margin-bottom:11px}.planner .chips{gap:9px}.planner .submit{margin-top:20px;min-height:49px}.planner .privacy{margin-top:13px}.planner #form-error{font-size:11px}.calendar-panel[hidden],.option-panel[hidden],.premium-group[hidden]{display:none!important}@media(min-width:1500px){.planner{padding:30px}.premium-group>label{font-size:13px}.premium-input{min-height:62px;font-size:13px}.date-trigger{min-height:68px}.select-trigger{font-size:13px}.premium-fields{gap:20px 16px}}@media(max-width:1100px) and (min-width:761px){.planner{padding:22px}.premium-fields{gap:16px 11px}.select-trigger{font-size:11px}.premium-input{gap:7px;padding:10px}.premium-input>i svg{width:21px;height:21px}.duration-control{padding:7px}.duration-control input{width:27px}.duration-control>span{font-size:10px}.stepper-buttons button{width:24px}.planner h2{font-size:26px}}@media(max-width:760px){.planner{padding:25px 20px}.planner h2{font-size:28px}.premium-fields{gap:18px 12px}.premium-group>label{font-size:12px}.premium-input{min-height:61px;font-size:12px}.date-trigger b{font-size:12px}.date-trigger{min-height:68px}.calendar-panel{width:100%;max-width:100%;padding:16px}.calendar-months{grid-template-columns:1fr;gap:18px;max-height:330px;overflow-y:auto;overscroll-behavior:contain}.calendar-grid button{height:35px;font-size:12px}.calendar-month h4{font-size:14px}.calendar-panel{position:absolute;max-height:560px}.calendar-panel p{font-size:11px}.premium-input>i svg{width:22px;height:22px}.duration-control{gap:8px;padding:7px 7px 7px 10px}.duration-control input{width:30px}.stepper-buttons button{width:27px;height:21px}.select-trigger{font-size:12px}.option-panel{max-width:calc(100vw - 80px)}.option-panel button{font-size:12px;padding:12px}.planner .chips{gap:8px}.planner .privacy{font-size:10px}}@media(max-width:400px){.premium-fields{grid-template-columns:1fr}.date-group,.full-width,.exact-group{grid-column:auto}.premium-input{min-height:58px}.premium-group:nth-child(4) .option-panel{left:0;right:auto}.option-panel{width:100%;max-width:100%}.duration-control input{width:44px}.duration-control>span{font-size:12px}}
.premium-fields>.premium-group:nth-child(4){grid-column:1/-1}.premium-fields>.premium-group:nth-child(4) .option-panel{left:0;right:auto;width:100%;max-width:100%}
/* Final hero spacing and navigation finish. */
.planner{background:rgba(255,255,255,.7)}
.button{box-shadow:none;border-color:transparent;transition:background .2s,transform .2s,color .2s}
.button:hover{background:linear-gradient(110deg,#075a70,#087f89);box-shadow:none}
header:not(.scrolled) nav{filter:none;color:#fff;font-size:14px;font-weight:500}
header:not(.scrolled) nav a,header:not(.scrolled) nav button{position:relative;border-bottom:0;transition:color .2s}
header:not(.scrolled) nav a:after,header:not(.scrolled) nav button:after{content:'';position:absolute;height:2px;left:0;right:0;bottom:2px;background:#4fe3dc;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
header:not(.scrolled) nav a:hover,header:not(.scrolled) nav button:hover{color:#91f5eb}
header:not(.scrolled) nav a:hover:after,header:not(.scrolled) nav button:hover:after,header:not(.scrolled) nav a.active:after,header:not(.scrolled) nav a:focus-visible:after,header:not(.scrolled) nav button:focus-visible:after{transform:scaleX(1)}
@media(min-width:761px){.hero-layout>.planner{top:25px}.hero-layout>.hero-copy{position:relative;top:-50px}.hero{padding-bottom:77px}}
@media(max-width:760px){header:not(.scrolled) nav{color:#173b60;font-size:15px;font-weight:400}header:not(.scrolled) nav a:after,header:not(.scrolled) nav button:after{content:none}header:not(.scrolled) nav a:hover,header:not(.scrolled) nav button:hover{color:#087f89}}
@media(prefers-reduced-motion:reduce){header:not(.scrolled) nav a:after,header:not(.scrolled) nav button:after{transition:none}}
.ref-photo.standalone-photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;display:block}
@media(min-width:761px){header nav{justify-content:center;gap:25px;margin-left:auto;flex:0 1 auto}header{gap:30px}.nav-cta{font-size:14px;padding:13px 24px}.nav-cta span{font-size:19px}}
header:not(.scrolled) nav a:hover,header:not(.scrolled) nav button:hover{color:inherit}
@media(max-width:1100px) and (min-width:761px){header{gap:22px}header nav{gap:19px}.nav-cta{font-size:13px;padding:12px 20px}}
.nav-cta span svg{width:21px;height:21px;stroke-width:1.8}
@keyframes discovery-sway{0%,70%,100%{transform:translateY(0) rotate(0)}78%{transform:translateY(-2px) rotate(-5deg)}87%{transform:translateY(-1px) rotate(4deg)}94%{transform:translateY(0) rotate(-2deg)}}
.category svg{transform-origin:50% 75%;animation:discovery-sway 7s ease-in-out infinite}
.category:nth-child(2) svg{animation-delay:.5s}.category:nth-child(3) svg{animation-delay:1s}.category:nth-child(4) svg{animation-delay:1.5s}.category:nth-child(5) svg{animation-delay:2s}.category:nth-child(6) svg{animation-delay:2.5s}.category:nth-child(7) svg{animation-delay:3s}
.category:hover svg,.category:focus-visible svg{animation:discovery-sway 1.7s ease-in-out infinite;animation-delay:0s}
@media(prefers-reduced-motion:reduce){.category svg,.category:hover svg,.category:focus-visible svg{animation:none!important;transform:none}}
.socials a{display:grid;place-items:center;background:#00566a;color:#fff;border-radius:50%;width:29px;height:29px;transition:background .2s,transform .2s}.socials a:hover{background:#087f89;transform:translateY(-2px)}.socials a svg{width:17px;height:17px;stroke-width:1.7}
/* Desktop benefit motion and complete scenic collage. */
#menu{color:#258cb5}
@keyframes benefit-pin{0%,100%{transform:translateY(2px)}45%{transform:translateY(-6px)}65%{transform:translateY(-3px)}}
@keyframes benefit-spark{0%,25%{transform:rotate(0) scale(1)}60%{transform:rotate(90deg) scale(1.2)}85%,100%{transform:rotate(90deg) scale(1)}}
@keyframes benefit-leaf{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(15deg)}}
@media(min-width:761px){
 .hero-layout>.hero-copy{top:-65px}
 .benefits span:nth-child(1) svg{animation:benefit-pin 2.4s ease-in-out infinite}
 .benefits span:nth-child(2) svg{animation:benefit-spark 3.6s ease-in-out infinite}
 .benefits span:nth-child(3) svg{animation:benefit-leaf 2.8s ease-in-out infinite;transform-origin:50% 85%}
 .how{padding-top:30px;padding-bottom:45px;align-items:center}
 .collage{height:clamp(360px,29vw,470px);overflow:visible;margin:0 auto;width:100%;max-width:560px}
 .collage .polaroid{width:42%}
 .collage .p1{left:5%;top:20px}
 .collage .p2{right:5%;top:35px}
 .collage .p3{left:7%;top:47%}
 .collage .p4{right:4%;top:50%}
 .collage>p{left:-30px;top:-10px;width:125px;z-index:3}
 .collage .foliage{right:-5px;z-index:0}
}
@media(prefers-reduced-motion:reduce){.benefits svg{animation:none!important;transform:none!important}}
@media(min-width:761px){.collage{height:clamp(430px,36vw,580px)}.collage .p3{top:50%}.collage .p4{top:52%}}
@media(min-width:761px){.hero-layout>.hero-copy{top:-80px}.how{padding-bottom:15px}.collage{height:clamp(405px,34vw,550px)}}
/* Fast, tactile desktop hover effects. */
@media(min-width:761px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .steps article{transform-origin:center;transition:transform 180ms cubic-bezier(.2,.7,.3,1);position:relative;z-index:1}
 .steps article:hover{transform:translateY(-4px) scale(1.065);z-index:3}
 .polaroid{transition:transform 220ms cubic-bezier(.2,.75,.25,1),box-shadow 220ms ease;transform-origin:center center}
 .polaroid:hover{transform:translateY(-9px) rotate(0deg) scale(1.075);box-shadow:0 15px 30px #173b6038;z-index:8}
 .polaroid>div{transition:filter 220ms ease}
 .polaroid:hover>div{filter:brightness(1.055) saturate(1.06)}
}
@media(prefers-reduced-motion:reduce){.steps article,.polaroid,.polaroid>div{transition:none!important}}

