.family-planner{--fp-ink:#20473d;--fp-accent:#dce9dc;max-width:1160px;color:var(--fp-ink);margin:auto;padding:20px 28px 80px}.family-cruise{--fp-accent:#dae8ee}.family-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:72px;padding:44px 0 52px;display:grid}.family-hero nav{margin-bottom:36px;font-size:13px}.family-hero h1{letter-spacing:-1.6px;margin:16px 0 24px;font-family:Georgia,serif;font-size:clamp(40px,5vw,64px);font-weight:400;line-height:1.07}.family-lede{max-width:530px;margin-bottom:26px;font-size:18px;line-height:1.75}.family-price{margin-top:20px;font-size:13px}.family-price strong{margin-right:8px;font-family:Georgia,serif;font-size:26px;font-weight:400}.family-sample{background:var(--fp-accent);border-radius:120px 120px 20px 20px;padding:60px 34px 34px}.family-sample h2{margin:20px 0 28px;font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.2}.family-sample>div{border-top:1px solid #20473d25;align-items:center;gap:18px;padding:10px 0;display:flex}.family-sample>div span{opacity:.65;font-size:12px}.family-sample p{margin:8px 0}.family-sample small{margin-top:20px;font-size:12px;line-height:1.6;display:block}.family-benefits{border-block:1px solid #d5dbd3;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:56px;padding:24px 0;display:grid}.family-benefits p{margin:0}.family-benefits strong,.family-benefits span{display:block}.family-benefits strong{margin-bottom:8px;font-family:Georgia,serif;font-size:23px;font-weight:400}.family-benefits span{font-size:14px;line-height:1.6}.family-workspace{scroll-margin-top:32px}.family-section-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.family-section-heading h2,.family-preview h2,.family-purchase h2,.family-faq h2{margin:10px 0;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.2}.family-section-heading>a{white-space:nowrap;font-size:13px}.family-account{background:#eef2ea;border-radius:14px;align-items:center;gap:24px;margin:20px 0;padding:20px;display:flex}.family-account>label{min-width:240px}.family-account>p{font-size:14px;line-height:1.6}.family-setup fieldset{border:0;border-top:1px solid #d5dbd3;min-width:0;margin:0;padding:26px 0 32px}.family-setup legend{padding-right:20px;font:23px Georgia,serif}.family-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:end;gap:16px;margin:16px 0;display:grid}.family-planner .field{flex-direction:column;gap:8px;min-width:0;margin:0;font-size:13px;display:flex}.family-planner input:not([type=checkbox]),.family-planner select,.family-planner textarea{color:#193d33;font:inherit;box-sizing:border-box;background:#fffdfa;border:1px solid #aebfb6;border-radius:7px;width:100%;min-width:0;max-width:100%;min-height:48px;padding:11px 12px;font-size:16px}.family-planner input[type=checkbox]{accent-color:#285847;flex-shrink:0;width:18px;height:18px;margin-top:2px}.family-planner button{cursor:pointer}.family-planner button:disabled{cursor:default;opacity:.55}.family-planner .button{white-space:normal;text-align:center;min-width:0;max-width:100%;line-height:1.4}.family-planner :focus-visible{outline-offset:3px;outline:3px solid #719886}.family-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:22px 0;display:grid}.family-choices>div{background:#f4f2e9;border-radius:12px;padding:18px}.family-check{align-items:flex-start;gap:10px;margin:10px 0;font-size:14px;line-height:1.6;display:flex}.family-choices .family-check{margin-right:20px;display:inline-flex}.field-label{margin:0 0 10px;font-size:14px;font-weight:600}.family-small{color:#53655d;font-size:13px;line-height:1.7}.family-day-setups{gap:16px;margin:20px 0;display:grid}.family-day-setup{background:#f6f5ee;border:1px solid #e1e4da;border-radius:14px;padding:20px}.family-day-top,.family-block-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.family-day-top h3{margin:0;font:21px Georgia,serif}.family-day-top button,.family-bookings button:not(.button){color:#4b6257;background:0 0;border:0;min-height:32px;font-size:12px;text-decoration:underline}.family-bookings{border-top:1px solid #dde2d5;margin-top:20px;padding-top:16px}.family-bookings summary,.family-plan-block summary{cursor:pointer;font-size:13px}.family-build{flex-wrap:wrap;align-items:center;gap:14px;padding:8px 0 36px;display:flex}.family-build>p{background:#fff0d3;flex-basis:100%;padding:18px;font-size:14px}.family-error,.family-notice{border-radius:10px;margin:16px 0;padding:16px 20px;line-height:1.6}.family-error{color:#6b3020;background:#ffebe5;border:1px solid #d59d8d}.family-notice{background:#e5eee0}.family-error button{margin-top:10px;display:block}.family-preview,.family-result{border-top:1px solid #c5d2c7;margin-top:20px;padding:32px 0}.family-plan-block{break-inside:avoid;background:#fffefa;border:1px solid #dbe1d6;border-left:4px solid #9bb2a0;border-radius:0 12px 12px 0;margin:14px 0;padding:22px 26px}.family-plan-block h3,.family-plan-block h4{margin:10px 0;font:24px Georgia,serif}.family-plan-block>p,.family-preview>ul{font-size:15px;line-height:1.75}.family-time{letter-spacing:.03em;color:#506b5c;margin:0;font-size:12px!important}.family-plan-block details{border-top:1px solid #e1e5db;margin-top:18px;padding-top:16px}.family-plan-block fieldset{border:0;min-width:0;padding:0}.family-block-notes{white-space:pre-wrap}.family-done{opacity:.7}.family-done h4{text-decoration:line-through}.family-purchase{background:var(--fp-accent);border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:50px;margin:32px 0;padding:36px;display:grid}.family-purchase p{line-height:1.7}.family-purchase .button{margin-top:14px}.family-actions{flex-wrap:wrap;gap:10px;display:flex}.family-day-tabs{overscroll-behavior-x:contain;gap:8px;min-width:0;max-width:100%;padding:12px 0 20px;display:flex;overflow-x:auto}.family-day-tabs button{color:#214a3b;background:#fffefa;border:1px solid #bbcbbd;border-radius:10px;flex-shrink:0;padding:12px 18px}.family-day-tabs button[aria-current]{color:#fff;background:#28503e}.family-day-tabs strong,.family-day-tabs span{display:block}.family-day-tabs span{margin-top:5px;font-size:11px}.family-current-day>h3,.family-checklist h3{margin:20px 0;font:28px Georgia,serif}.family-reminders{background:#eff1e9;border-radius:12px;padding:20px 24px;font-size:14px;line-height:1.7}.family-reminders h4{margin:0;font-weight:600}.family-reminders ul{margin-bottom:0;padding-left:20px}.family-checklist{background:#f4f0e5;border-radius:14px;margin:32px 0;padding:24px}.family-checklist h3{margin-top:0}.family-faq{max-width:900px;margin-top:64px}.family-faq details{border-bottom:1px solid #d5dbd3;padding:18px 0}.family-faq summary{cursor:pointer;font-size:17px}.family-faq details p{font-size:15px;line-height:1.75}.family-editions{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;margin:36px 0;display:grid}.family-edition{background:#f2f1e8;border:1px solid #d7dfd1;border-radius:18px;flex-direction:column;gap:12px;padding:26px;display:flex}.family-edition h2{margin:10px 0;font:30px Georgia,serif}.family-edition p{font-size:15px;line-height:1.7}.family-edition .button{margin-top:auto}.family-planner-cta{background:#edf2e7;border:1px solid #bccdbc;border-radius:14px;margin:28px 0;padding:28px}.family-planner-cta h2{margin-top:0;font:30px Georgia,serif}.family-planner-cta p{line-height:1.7}.family-planner-cta .button{margin-top:8px}.family-planner,.family-planner :where(section,aside,article,fieldset,legend,details,form),.family-hero>*,.family-fields>*,.family-choices>*,.family-account>*,.family-section-heading>*,.family-purchase>*,.family-day-top>*,.family-block-top>*,.family-editions,.family-edition,.family-planner-cta{min-width:0;max-width:100%}.family-planner :where(h1,h2,h3,h4,p,legend,summary,a),.family-edition,.family-planner-cta{overflow-wrap:anywhere}.family-setup legend{white-space:normal;max-width:100%;line-height:1.35}.family-planner input:is([type=date],[type=time]){text-align:left;min-width:0;max-width:100%;display:block}.family-planner input::-webkit-date-and-time-value{text-align:left;min-height:1.5em}.family-edition .button,.family-planner-cta .button{white-space:normal;text-align:center;max-width:100%}.family-planner .family-check{min-height:44px}.family-block-top .family-check{align-items:center}.family-choices .family-check{align-items:center;min-height:44px;margin:0;padding:10px 0;display:flex}.family-checklist .family-check,.family-purchase .family-check{min-height:44px;padding-block:8px}.family-day-top,.family-block-top{flex-wrap:wrap}.family-day-top button,.family-bookings button:not(.button){min-height:44px;padding-block:8px}.family-bookings summary,.family-plan-block summary{min-height:44px;padding-block:10px;line-height:1.6}@media (max-width:760px){.app-main:has(>.family-planner){padding:20px 20px 40px}.family-planner{padding:0 0 32px}.family-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding:12px 0 32px}.app-main .family-planner .family-hero h1{letter-spacing:-.035em;font-size:clamp(2rem,8.5vw,2.8rem);line-height:1.13}.family-hero nav{margin-bottom:24px}.family-lede{font-size:16px;line-height:1.7}.family-sample{border-radius:18px;padding:24px}.family-sample h2{font-size:28px}.family-benefits{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:36px}.family-choices,.family-purchase,.family-editions{grid-template-columns:minmax(0,1fr)}.family-purchase{gap:20px;padding:22px}.family-section-heading,.family-account{flex-direction:column;align-items:stretch;gap:16px}.family-section-heading>a{white-space:normal;align-items:center;min-height:44px;display:flex}.family-account{padding:18px}.family-account>label{width:100%;min-width:0}.family-setup fieldset{padding:20px 0 28px}.family-setup legend{padding-right:0;font-size:21px}.family-day-setup{padding:16px}.family-day-top{align-items:flex-start;gap:4px 12px}.family-day-top h3{flex:160px;font-size:19px}.family-plan-block{padding:18px}.family-fields{grid-template-columns:minmax(0,1fr);gap:18px}.family-fields>.field:first-child{grid-column:auto}.family-planner .field{font-size:14px;line-height:1.5}.family-planner select{font-size:16px}.family-section-heading h2{font-size:30px}.family-build{align-items:stretch}.family-build .button,.family-purchase .button{width:100%}.family-choices{gap:14px}.family-choices>div{padding:16px}.family-check{font-size:15px}.family-edition{gap:12px;padding:22px}.family-edition h2,.family-planner-cta h2{font-size:28px;line-height:1.2}.family-planner-cta{padding:22px}.family-edition .button,.family-planner-cta .button{width:100%;padding-inline:14px}.family-actions{flex-direction:column;align-items:stretch;width:100%}.family-actions .button{flex:none;width:100%}.family-reminders,.family-checklist{padding:18px}.family-faq{margin-top:42px}.family-faq h2{font-size:30px}.family-day-tabs{padding-bottom:16px}}@media (max-width:380px){.app-main:has(>.family-planner){padding-inline:16px}.family-sample,.family-purchase,.family-account{padding:18px}.family-day-setup,.family-plan-block{padding:14px}.family-price strong{margin:0 0 4px;display:block}}@media print{.family-hero,.family-benefits,.family-setup,.family-purchase,.family-faq,.family-account,.family-day-tabs,.family-actions,.family-section-heading>a,.family-plan-block details{display:none}.family-planner{max-width:none;padding:0}.family-result{border:0}.family-plan-block{box-shadow:none}}.family-depth-setup>details,.family-budget{background:#f7f6ef;border:1px solid #d5dfd4;border-radius:12px;margin:14px 0;padding:18px 22px}.family-depth-setup summary,.family-budget>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;line-height:1.5}.family-depth-setup .field{margin-block:14px}.family-avoid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 20px;display:grid}.family-priority-group{border-top:1px solid #d5dfd4;padding:8px 0}.family-priority-group small{color:#53655d;font-size:12px;font-weight:400;display:block}.family-day-overview{background:#e9efe5;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;display:grid}.family-day-overview p{margin:0;font-size:14px;line-height:1.7}.family-day-overview span{font-size:12px;display:block}.family-adjustments,.family-proposal{border:1px solid #c7d6c7;border-radius:12px;margin:20px 0;padding:20px}.family-proposal{background:#fff3d8}.family-proposal ul,.family-plan-block ul{padding-left:22px;font-size:14px;line-height:1.7}.family-task{border-top:1px solid #dfddcf;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:20px;padding:16px 0;display:grid}.family-task>*{min-width:0}.family-budget .field{max-width:100%}.family-depth-setup .family-check{align-items:flex-start}.family-plan-block .family-actions{margin-top:16px}.family-plan-block .family-actions .button{min-height:44px;padding:10px 14px;font-size:13px}@media (max-width:760px){.family-depth-setup>details,.family-budget,.family-adjustments,.family-proposal{padding:14px}.family-day-overview,.family-task,.family-avoid{grid-template-columns:minmax(0,1fr)}.family-day-overview{gap:14px;padding:16px}.family-task{gap:4px}.family-depth-setup .button,.family-budget .button{width:100%}.family-priority-group .family-check{padding-block:8px}}.family-focus{background:#edf2e9;border:1px solid #c6d6c6;border-radius:14px;margin-block:22px;padding:22px}.family-focus h4,.family-focus h5{margin:10px 0;font:25px Georgia,serif}.family-focus .field{max-width:270px}.family-route,.family-dining{font-size:14px;line-height:1.75}.family-route ol,.family-dining ul{padding-left:22px}.family-route .field,.family-dining .field{margin-block:16px}.family-meal-detail h5{margin:18px 0 10px;font:24px Georgia,serif}.family-meal-detail h6{margin:20px 0 8px;font:600 15px system-ui}.family-cost-item{border-top:1px solid #cdd9ca;padding:16px 0}.family-budget article{border-top:1px solid #cdd9ca;padding-block:12px}.family-budget p,.family-focus p{font-size:14px;line-height:1.7}.family-route summary,.family-dining summary,.family-focus summary{cursor:pointer;min-height:44px;padding-block:10px}.family-adjustments>.family-actions+.family-actions{margin-top:10px}.family-budget a{overflow-wrap:anywhere}@media (max-width:760px){.family-focus{padding:16px}.family-focus .field{max-width:none}.family-dining .button{width:100%}.family-budget .family-fields{gap:14px}}.family-plan-controls{border:0;min-width:0;margin:0;padding:0}.family-planner :where(h5,h6,li){overflow-wrap:anywhere}
