.nav-group { position: relative; display: flex; align-items: center; flex: none; }
.nav-caret { display: inline-block; margin-left: 3px; color: #72d1ff; font-size: 1rem; line-height: 0; transition: transform .2s ease; }
.nav-group:hover .nav-caret, .nav-group:focus-within .nav-caret { transform: rotate(180deg); }
.nav-submenu { position: absolute; z-index: 30; top: calc(100% - 2px); left: -18px; min-width: 215px; padding: 9px; background: rgba(6, 17, 36, .98); border: 1px solid rgba(105, 196, 255, .3); box-shadow: 0 16px 36px rgba(0, 0, 0, .4), 0 0 20px rgba(40, 136, 243, .12); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s; }
.nav-group:hover .nav-submenu, .nav-group:focus-within .nav-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-submenu a { display: block; padding: 11px 12px; color: #c5dff8; white-space: nowrap; font-size: .85rem; letter-spacing: .02em; }
.nav-submenu a:hover, .nav-submenu a:focus-visible, .nav-submenu a[aria-current="page"] { color: #fff; background: rgba(68, 161, 246, .17); outline: none; }
.section-landing { max-width: 1100px; }
.section-landing > p { max-width: 750px; }
.section-landing > p a { color: #91d7ff; text-underline-offset: 4px; }
.landing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 44px; }
.landing-card { display: flex; flex-direction: column; min-height: 235px; padding: clamp(23px, 3vw, 33px); text-decoration: none; color: #e9f5ff; background: radial-gradient(circle at 95% 0, rgba(44, 148, 253, .13), transparent 62%), rgba(14, 34, 66, .55); border-top: 1px solid rgba(117, 204, 255, .54); transition: transform .25s, box-shadow .25s, border-color .25s; }
.landing-card:nth-child(even) { border-top-color: rgba(162, 139, 255, .68); background: radial-gradient(circle at 95% 0, rgba(132, 91, 228, .15), transparent 62%), rgba(14, 34, 66, .55); }
.landing-card:hover, .landing-card:focus-visible { transform: translateY(-5px); border-color: #a6e7ff; box-shadow: 0 15px 35px rgba(22, 88, 156, .2); outline: none; }
.landing-card span { color: #8bd0fb; letter-spacing: .14em; font-size: .75rem; text-transform: uppercase; }
.landing-card h2 { font: 500 clamp(1.5rem, 2.8vw, 2rem) Georgia, serif; margin: 24px 0 5px; }
.landing-card p { color: #bbd0e8; line-height: 1.65; margin: 0 0 24px; font-size: 1rem; }
.landing-card strong { margin-top: auto; color: #a8e4ff; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.section-back { display: inline-block; margin: 0 0 28px; color: #91d9ff; text-decoration: none; font-size: .9rem; }
.section-back:hover, .planner-topline a:hover { text-decoration: underline; }
.planner-topline { display: flex; align-items: center; gap: 16px; min-height: 46px; padding: 8px clamp(16px, 3vw, 35px); background: #071427; border-bottom: 1px solid rgba(108, 179, 242, .2); color: #d5eaff; font-size: .86rem; }
.planner-topline a { color: #8cdaff; text-decoration: none; }
.planner-topline span { margin-left: auto; }
.planner-view iframe { height: calc(100svh - 124px); }
@media (max-width: 900px) { .nav-submenu { display: none; } .nav-caret { display: none; } }
@media (max-width: 600px) { .landing-grid { grid-template-columns: 1fr; } .landing-card { min-height: 205px; } .planner-view iframe { height: calc(100svh - 146px); } }
@media (prefers-reduced-motion: reduce) { .nav-caret, .nav-submenu, .landing-card { transition: none; } }
