:root {
  --navy: #102740;
  --navy-deep: #091c2d;
  --blue: #244b6d;
  --light-blue: #dceaf2;
  --beige: #d8c39f;
  --sand: #eee4d2;
  --grey: #687685;
  --ink: #1b2732;
  --white: #fbfaf7;
  --line: rgba(216,195,159,.5);
  --shadow: 0 25px 60px rgba(9,28,45,.15);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}a{color:inherit}img,video{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:34px;padding:10px clamp(22px,5vw,72px);background:rgba(16,39,64,.97);border-bottom:2px solid rgba(216,195,159,.88);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:clamp(300px,27vw,430px);height:auto;max-height:112px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:26px}.main-nav a,.nav-book{text-decoration:none;color:#f4efe5;font-size:.92rem;letter-spacing:.06em}.main-nav a:hover{color:var(--beige)}.nav-book{background:var(--beige);color:var(--navy-deep)!important;padding:11px 18px;border-radius:999px;font-weight:700}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:8px 12px;border-radius:999px}.hero{min-height:720px;background:linear-gradient(120deg,var(--navy-deep),var(--navy));color:#fff;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:70px;align-items:center;padding:72px clamp(24px,7vw,110px);overflow:hidden}.hero-copy{max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:700;color:#b99d72;margin:0 0 12px}.hero h1,.section-heading h2,.booking-hero h1,.booking-sidebar h2,.cta h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05;margin:.1em 0}.hero h1{font-size:clamp(3rem,6vw,6.3rem)}.hero h1 span{color:var(--beige)}.hero-text{font-size:1.17rem;color:#d9e0e5;max-width:700px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer}.button-primary{background:var(--beige);color:var(--navy-deep)}.button-secondary{border-color:rgba(255,255,255,.45);color:#fff}.button-light{background:#fff;color:var(--navy-deep)}.hero-video-shell{position:relative;width:min(100%,420px);justify-self:end;border:1px solid rgba(216,195,159,.65);border-radius:32px;padding:12px;background:rgba(255,255,255,.05);box-shadow:0 30px 70px rgba(0,0,0,.3)}.hero-video-shell video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:22px}.video-caption{position:absolute;left:26px;right:26px;bottom:24px;background:rgba(9,28,45,.76);color:#fff;padding:10px 14px;border-radius:999px;text-align:center;font-size:.78rem;letter-spacing:.06em}.section{padding:95px clamp(24px,7vw,110px)}.section-heading{max-width:760px;margin-bottom:40px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{font-size:clamp(2.3rem,4.3vw,4.5rem);color:var(--navy)}.section-heading p:last-child{color:var(--grey)}.intro{background:#f4efe7}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;max-width:1180px}.lead{font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;color:var(--navy);line-height:1.45}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:58px}.feature-row article{background:#fff;padding:30px;border:1px solid #e4ddd2}.feature-row span{color:var(--beige);font-weight:700}.feature-row h3{color:var(--navy);font-size:1.2rem}.feature-row p{color:var(--grey)}.packages{background:var(--light-blue)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1260px;margin:auto}.package-card{position:relative;background:#fff;padding:38px 32px;border:1px solid rgba(16,39,64,.15);box-shadow:0 8px 30px rgba(16,39,64,.06)}.package-card.featured{background:var(--navy);color:#fff;transform:translateY(-8px);border-color:var(--beige);box-shadow:var(--shadow)}.package-kicker{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:#8a7250;font-weight:700}.package-card.featured .package-kicker{color:var(--beige)}.package-card h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;margin:.25em 0;color:var(--navy)}.package-card.featured h3{color:#fff}.price{margin-bottom:20px;color:var(--grey)}.package-card.featured .price{color:#dce3e9}.price strong{color:#b18e5c;font-size:1.45rem}.package-card ul{padding-left:20px;margin:0}.package-card li{margin:9px 0}.fine-print{font-size:.84rem;color:var(--grey);margin-top:20px}.package-card.featured .fine-print{color:#bcc7d0}.text-link{display:inline-block;margin-top:16px;color:#9a7849;font-weight:700;text-decoration:none}.package-card.featured .text-link{color:var(--beige)}.popular{position:absolute;right:20px;top:18px;background:var(--beige);color:var(--navy-deep);padding:5px 10px;border-radius:999px;text-transform:uppercase;font-weight:700;font-size:.65rem}.package-note{max-width:1060px;margin:32px auto 0;text-align:center;color:#5f6d78;font-size:.9rem}.enhancements{background:#fff}.enhancement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.enhancement-grid article{padding:32px;background:var(--navy);color:#fff;border-radius:2px}.mini-icon{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--beige);font-size:1.5rem}.enhancement-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;margin-bottom:10px}.enhancement-grid p{color:#d7dfe5}.accent{color:var(--beige)!important;font-weight:700;font-size:.9rem}.guest-pricing{background:#f3f5f6}.pricing-table-wrap{overflow-x:auto;max-width:1040px;margin:auto;border:1px solid #d6dee4;background:#fff;box-shadow:0 10px 35px rgba(16,39,64,.06)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:18px 20px;border-bottom:1px solid #e4e9ed}th{background:var(--navy);color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}td:first-child{font-weight:700;color:var(--navy)}.cta{background:linear-gradient(120deg,var(--blue),var(--navy-deep));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:clamp(2.3rem,4vw,4rem)}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-grid a{padding:28px;border:1px solid #dce3e8;text-decoration:none;background:#fbfcfc}.contact-grid span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--grey);margin-bottom:6px}.contact-grid strong{color:var(--navy);font-size:1.05rem}footer{background:var(--navy-deep);color:#d8e0e6;padding:44px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr auto;gap:24px;border-top:1px solid rgba(216,195,159,.25)}footer strong{color:#fff}.footer-links{display:flex;gap:22px}.footer-links a{color:var(--beige);text-decoration:none}.copyright{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#8fa0ad}
/* Booking */.booking-page{background:#eef2f4}.booking-hero{padding:70px clamp(24px,7vw,110px) 45px;background:var(--navy);color:#fff}.booking-hero h1{font-size:clamp(3rem,6vw,5.5rem)}.booking-hero p:last-child{max-width:760px;color:#d8e0e6;font-size:1.08rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:34px;padding:55px clamp(24px,7vw,110px) 90px;align-items:start}.booking-form,.booking-sidebar{background:#fff;padding:36px;border:1px solid #d9e1e6;box-shadow:0 12px 35px rgba(16,39,64,.07)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label,.consent{display:flex;flex-direction:column;gap:8px;font-weight:700;color:var(--navy);font-size:.9rem}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cdd7dd;background:#fbfcfd;padding:13px 14px;font:inherit;color:var(--ink);border-radius:4px}.form-grid textarea{resize:vertical}.consent{flex-direction:row;align-items:flex-start;margin:22px 0;color:#52636f;font-weight:400}.consent input{margin-top:5px}.submit-button{border:0}.form-note{font-size:.85rem;color:var(--grey)}.honeypot{position:absolute!important;left:-9999px!important}.form-status{display:none;padding:14px 16px;margin-bottom:18px;border-radius:4px}.form-status.success,.form-status.error{display:block}.form-status.success{background:#e7f4eb;color:#275e37}.form-status.error{background:#fae9e7;color:#7b322a}.booking-sidebar{background:var(--navy);color:#fff;position:sticky;top:105px}.booking-sidebar h2{font-size:2.4rem}.booking-sidebar ol{list-style:none;padding:0;margin:28px 0}.booking-sidebar li{display:flex;gap:15px;margin:25px 0}.booking-sidebar li>span{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--beige);color:var(--navy-deep);display:grid;place-items:center;font-weight:700}.booking-sidebar p{color:#c9d4dc;margin:.3em 0}.sidebar-note{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;color:var(--beige);font-weight:700}
@media(max-width:980px){.main-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:var(--navy-deep);padding:24px}.main-nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;gap:40px}.hero-video-shell{justify-self:start;width:min(100%,390px)}.intro-grid,.booking-layout{grid-template-columns:1fr}.package-grid,.enhancement-grid,.feature-row{grid-template-columns:1fr}.package-card.featured{transform:none}.contact-grid{grid-template-columns:1fr}.booking-sidebar{position:static}.cta{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.site-header{padding:8px 16px}.brand img{width:220px;height:auto;max-height:78px}.hero{padding:52px 22px}.hero h1{font-size:3.25rem}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.section{padding:68px 22px}.section-heading h2{font-size:2.55rem}.intro-grid{gap:20px}.feature-row{margin-top:30px}.package-card{padding:30px 24px}.enhancement-grid article{padding:26px}.cta{padding:62px 22px}.contact-grid strong{font-size:.95rem;word-break:break-word}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.booking-hero{padding:52px 22px 34px}.booking-layout{padding:30px 18px 65px}.booking-form,.booking-sidebar{padding:24px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}}

/* Simplified package comparison */
.package-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1260px;margin:0 auto 42px}.package-summary{position:relative;background:#fff;padding:32px;border:1px solid rgba(16,39,64,.15);box-shadow:0 8px 30px rgba(16,39,64,.06)}.package-summary.featured{background:var(--navy);color:#fff;border-color:var(--beige);box-shadow:var(--shadow)}.package-summary h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;margin:.25em 0;color:var(--navy)}.package-summary.featured h3{color:#fff}.package-summary p{line-height:1.55}.package-summary .client-supplies{font-size:.87rem;color:var(--grey);padding-top:14px;border-top:1px solid #e6ebee}.package-summary.featured .client-supplies{color:#cad4dc;border-color:rgba(255,255,255,.14)}.compare-block{max-width:1260px;margin:auto;background:#fff;border:1px solid #d3dde4;box-shadow:0 12px 34px rgba(16,39,64,.07)}.compare-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:28px 30px 20px}.compare-heading h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:2rem;margin:0}.compare-heading>p{color:var(--grey);margin:0;text-align:right}.comparison-table-wrap,.addon-table-wrap{overflow-x:auto}.comparison-table,.addon-table{min-width:760px}.comparison-table th:not(:first-child),.comparison-table td:not(:first-child),.addon-table th:not(:first-child),.addon-table td:not(:first-child){text-align:center}.comparison-table td:first-child{font-weight:700;color:var(--navy);width:34%}.comparison-table tbody tr:nth-child(even),.addon-table tbody tr:nth-child(even){background:#f7f9fa}.comparison-table td strong{color:#9a7849;font-size:1.08rem}.addon-table-wrap{max-width:1100px;margin:auto;border:1px solid #d6dee4;background:#fff;box-shadow:0 10px 35px rgba(16,39,64,.06)}.addon-table td:first-child{width:46%;text-align:left;color:var(--navy)}.addon-table td:first-child span{display:block;color:var(--grey);font-weight:400;font-size:.88rem;margin-top:5px;line-height:1.4}.addon-table td:not(:first-child){font-weight:700;color:#8c6f47}.enhancements{background:#fff}
@media(max-width:980px){.package-summary-grid{grid-template-columns:1fr}.compare-heading{align-items:flex-start;flex-direction:column}.compare-heading>p{text-align:left}}
@media(max-width:640px){.package-summary{padding:26px 22px}.compare-heading{padding:24px 22px}.compare-heading h3{font-size:1.65rem}}

/* Mobile-first presentation helpers */
.mobile-package-compare,.mobile-addon-list,.mobile-pricing-cards,.mobile-sticky-book{display:none}

@media(max-width:700px){
  body{padding-bottom:76px}
  .site-header{padding:7px 14px;min-height:74px}
  .brand img{width:180px;max-height:62px}
  .menu-toggle{font-size:.8rem;padding:7px 12px}
  .main-nav{padding:18px 16px 22px;gap:0;box-shadow:0 18px 30px rgba(0,0,0,.22)}
  .main-nav a{padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.1);font-size:1rem}
  .main-nav .nav-book{margin-top:12px;text-align:center;border:0;padding:13px 18px}

  .hero{min-height:auto;padding:40px 20px 46px;gap:30px}
  .hero h1{font-size:clamp(2.55rem,12vw,3.25rem);line-height:1.02}
  .hero h1 br{display:none}
  .hero-text{font-size:1rem;line-height:1.55}
  .hero-actions{margin-top:25px;gap:10px}
  .hero-video-shell{width:100%;justify-self:stretch;border-radius:24px;padding:9px}
  .hero-video-shell video{aspect-ratio:4/5;border-radius:17px;object-position:center 28%}
  .video-caption{left:17px;right:17px;bottom:18px;padding:8px 10px;font-size:.7rem}

  .section{padding:56px 20px}
  .section-heading{margin-bottom:28px}
  .section-heading h2{font-size:2.2rem;line-height:1.08}
  .lead{font-size:1.3rem}
  .feature-row article{padding:24px}
  .package-summary-grid{gap:14px;margin-bottom:30px}
  .package-summary{padding:25px 20px}
  .package-summary h3{font-size:1.75rem}
  .popular{top:14px;right:14px}

  .compare-block{border:0;background:transparent;box-shadow:none}
  .compare-heading{padding:10px 0 18px}
  .compare-heading h3{font-size:1.7rem}
  .comparison-table-wrap{display:none}
  .mobile-package-compare{display:grid;gap:14px}
  .mobile-compare-card{position:relative;background:#fff;border:1px solid #ccd8df;padding:20px;border-radius:14px;box-shadow:0 7px 20px rgba(16,39,64,.06)}
  .mobile-compare-card.featured{background:var(--navy);color:#fff;border-color:var(--beige)}
  .mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-right:2px}
  .mobile-card-head span{display:block;color:#8a7250;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:700}
  .mobile-compare-card.featured .mobile-card-head span{color:var(--beige)}
  .mobile-card-head h4{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:1.65rem;margin:2px 0 0;line-height:1.1}
  .mobile-compare-card.featured h4{color:#fff}
  .mobile-card-head>strong{color:#9a7849;font-size:1.25rem;white-space:nowrap}
  .mobile-compare-card.featured .mobile-card-head>strong{color:var(--beige)}
  .mobile-card-sub{margin:8px 0 14px;color:var(--grey);font-size:.84rem}
  .mobile-compare-card.featured .mobile-card-sub{color:#cbd6dd}
  .mobile-compare-card ul{list-style:none;padding:0;margin:0;border-top:1px solid #e5ebee}
  .mobile-compare-card.featured ul{border-color:rgba(255,255,255,.14)}
  .mobile-compare-card li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e5ebee;font-size:.88rem}
  .mobile-compare-card.featured li{border-color:rgba(255,255,255,.12)}
  .mobile-compare-card li span{color:#586875}
  .mobile-compare-card.featured li span{color:#c9d3da}
  .mobile-compare-card li b{text-align:right;color:var(--navy);font-weight:700}
  .mobile-compare-card.featured li b{color:#fff}
  .mobile-client{font-size:.79rem;color:var(--grey);margin:14px 0 0}
  .mobile-compare-card.featured .mobile-client{color:#cbd6dd}
  .mobile-badge{position:absolute;top:-9px;right:14px;background:var(--beige);color:var(--navy-deep);padding:4px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;font-size:.58rem;font-weight:800}

  .addon-table-wrap{display:none}
  .mobile-addon-list{display:grid;gap:14px}
  .mobile-addon-list article{border:1px solid #d7e0e5;background:#fff;padding:20px;border-radius:14px}
  .mobile-addon-list h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);margin:0 0 4px;font-size:1.35rem}
  .mobile-addon-list p{margin:0 0 14px;color:var(--grey);font-size:.88rem}
  .mobile-addon-list article>div{display:grid;gap:7px}
  .mobile-addon-list span{display:flex;justify-content:space-between;gap:15px;padding:8px 10px;background:#f5f7f8;border-radius:8px;font-size:.84rem;color:#596a76}
  .mobile-addon-list b{color:#8c6f47}

  .pricing-table-wrap{display:none}
  .mobile-pricing-cards{display:grid;gap:14px}
  .mobile-pricing-cards article{background:#fff;border:1px solid #d6dee4;border-radius:14px;overflow:hidden;box-shadow:0 7px 18px rgba(16,39,64,.05)}
  .mobile-pricing-cards h3{margin:0;padding:14px 18px;background:var(--navy);color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem}
  .mobile-pricing-cards article>div{display:flex;justify-content:space-between;gap:18px;padding:11px 18px;border-bottom:1px solid #e5e9ec;font-size:.9rem}
  .mobile-pricing-cards article>div:last-child{border-bottom:0}
  .mobile-pricing-cards span{color:#60707c}
  .mobile-pricing-cards strong{color:var(--navy)}
  .mobile-pricing-cards .total{background:#f6efe4}
  .mobile-pricing-cards .total span,.mobile-pricing-cards .total strong{color:#80633e;font-weight:700}

  .package-note{margin-top:22px;text-align:left;font-size:.82rem}
  .cta{padding:52px 20px}
  .cta h2{font-size:2.3rem}
  .contact-grid a{padding:22px}
  footer{padding:36px 20px 98px}

  .mobile-sticky-book{display:flex;position:fixed;z-index:60;left:14px;right:14px;bottom:12px;height:52px;align-items:center;justify-content:center;background:var(--beige);color:var(--navy-deep);text-decoration:none;font-weight:800;border-radius:999px;box-shadow:0 10px 26px rgba(9,28,45,.3);border:1px solid rgba(9,28,45,.1)}
}

/* V1H: price-hidden marketing pages + interactive booking builder */
.package-bullets{padding-left:20px;margin:18px 0 22px}.package-bullets li{margin:8px 0;line-height:1.45}.package-summary.featured .package-bullets{color:#f4f7f9}.enhancement-grid.four-up{grid-template-columns:repeat(4,1fr)}.center-booking-link{text-align:center;margin-top:34px}

.builder-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr)}.builder-form{padding:0;overflow:hidden}.builder-section{padding:34px 36px;border-bottom:1px solid #e2e8ec}.builder-section:last-of-type{border-bottom:0}.builder-section-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.builder-section-head>span{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--beige);color:var(--navy-deep);display:grid;place-items:center;font-weight:800}.builder-section-head h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--navy);font-size:2rem;margin:0}.builder-section-head p{margin:4px 0 0;color:var(--grey)}.form-grid small{font-weight:400;color:#74838d;line-height:1.35}.builder-form>.consent,.builder-form>.submit-button,.builder-form>.form-note{margin-left:36px;margin-right:36px}.builder-form>.submit-button{margin-bottom:0}.builder-form>.form-note{margin-bottom:36px}
.package-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.package-option{position:relative;cursor:pointer}.package-option input{position:absolute;opacity:0;pointer-events:none}.package-option-body{display:flex;flex-direction:column;min-height:176px;padding:22px;border:2px solid #d3dde4;background:#fff;border-radius:12px;transition:border-color .15s,background .15s,box-shadow .15s}.package-option-title{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:1.35rem;font-weight:700}.package-option-body>strong{font-size:1.7rem;color:#987646;margin:7px 0}.package-option-body small{color:#687985;line-height:1.4}.package-option input:checked+.package-option-body{border-color:#b99663;background:#f8f3eb;box-shadow:0 0 0 3px rgba(185,150,99,.14)}.package-option.featured .package-option-body{position:relative}.package-option-badge{align-self:flex-start;background:var(--navy);color:#fff;border-radius:999px;padding:4px 8px;text-transform:uppercase;letter-spacing:.06em;font-size:.58rem;font-family:Arial,sans-serif;font-weight:800;margin-bottom:8px}.guest-upgrade-note{margin-top:16px;padding:12px 14px;background:#edf4f7;border-left:4px solid var(--light-blue);color:#4f6371;font-size:.88rem;min-height:45px}
.addon-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.addon-option{display:flex;align-items:flex-start;gap:12px;padding:17px;border:1px solid #d7e0e5;border-radius:10px;background:#fbfcfd;cursor:pointer}.addon-option input{margin-top:4px;transform:scale(1.15)}.addon-option>span{display:flex;flex-direction:column;gap:4px}.addon-option strong{color:var(--navy)}.addon-option small{color:#6b7b86;line-height:1.35}.addon-option.included-addon{background:#edf6ef;border-color:#b9d4c0}.addon-option.included-addon small{color:#39714a;font-weight:700}.addon-option:has(input:checked):not(.included-addon){background:#f8f3eb;border-color:#c6aa80}
.quote-sidebar{top:110px}.quote-empty{padding:18px;background:rgba(255,255,255,.08);border-radius:8px;color:#d1dae0}.quote-lines{margin-top:18px;border-top:1px solid rgba(255,255,255,.16)}.quote-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.9rem}.quote-line span{color:#d3dce2}.quote-line strong{color:#fff;text-align:right}.quote-line.muted strong{color:var(--beige)}.quote-total{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:22px 0 4px}.quote-total span{font-weight:700;color:#fff}.quote-total strong{font-family:Georgia,'Times New Roman',serif;color:var(--beige);font-size:2.25rem;line-height:1}.quote-disclaimer{font-size:.78rem!important;line-height:1.5;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;margin-top:18px!important}

@media(max-width:1100px){.enhancement-grid.four-up{grid-template-columns:repeat(2,1fr)}.package-picker{grid-template-columns:1fr}.package-option-body{min-height:auto}.addon-picker{grid-template-columns:1fr}}
@media(max-width:700px){.enhancement-grid.four-up{grid-template-columns:1fr}.builder-section{padding:26px 20px}.builder-section-head h2{font-size:1.65rem}.builder-form>.consent,.builder-form>.submit-button,.builder-form>.form-note{margin-left:20px;margin-right:20px}.builder-form>.form-note{margin-bottom:26px}.package-option-body{padding:18px}.quote-sidebar{position:static}.quote-total strong{font-size:2rem}}

/* V1I: Juan's final package-flow updates */
.care-message{max-width:960px;margin:30px auto 0;padding:24px 30px;border-left:4px solid var(--beige);background:#f7f3ed;text-align:center}.care-message p{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.45;color:var(--navy)}
.booking-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.booking-compare-grid article{border:1px solid #d3dde4;border-radius:12px;padding:22px;background:#fff}.booking-compare-grid article.featured{border:2px solid var(--beige);background:#fbf8f3}.booking-compare-grid h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:1.45rem;margin:4px 0 14px}.booking-compare-grid ul{padding-left:20px;margin:0}.booking-compare-grid li{margin:7px 0;line-height:1.4;color:#536773}.booking-compare-grid .package-option-badge{display:inline-block}
@media(max-width:900px){.booking-compare-grid{grid-template-columns:1fr}}
@media(max-width:640px){.care-message{padding:20px 18px;margin-top:22px}.booking-compare-grid article{padding:18px}.booking-compare-grid h3{font-size:1.3rem}}


/* Booking submission feedback and duplicate-click protection */
.submit-guidance{margin:18px 0 10px;padding:13px 15px;border:1px solid rgba(217,201,173,.5);border-radius:12px;background:rgba(217,201,173,.10);color:var(--text,#243746);font-size:.95rem;line-height:1.5}
.submit-guidance strong{color:var(--navy,#17364f)}
.submit-button:disabled{opacity:.72;cursor:wait;transform:none!important}
.booking-processing{display:none;position:fixed;inset:0;z-index:9999;padding:24px;background:rgba(9,29,44,.82);align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.booking-processing.active{display:flex}
.booking-processing-card{width:min(92vw,520px);padding:34px 28px;border:1px solid rgba(217,201,173,.72);border-radius:22px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.booking-processing-card h2{margin:8px 0 10px;color:#17364f;font-size:2rem}
.booking-processing-card p{margin:0 auto 12px;max-width:430px;line-height:1.55;color:#536674}
.booking-processing-card .processing-note{margin-top:18px;color:#17364f}
.processing-spinner{width:48px;height:48px;margin:0 auto 18px;border:4px solid #e7ded0;border-top-color:#17364f;border-radius:50%;animation:jpb-spin .85s linear infinite}
@keyframes jpb-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.processing-spinner{animation:none;border-top-color:#d9c9ad}}
@media (max-width:600px){.booking-processing{padding:16px}.booking-processing-card{padding:28px 20px}.booking-processing-card h2{font-size:1.65rem}.submit-guidance{font-size:.9rem}}

/* V1K: mobile booking builder layout fix */
@media (max-width:980px){
  .booking-layout.builder-layout{grid-template-columns:minmax(0,1fr);}
  .builder-form,.quote-sidebar{min-width:0;width:100%;}
  .quote-sidebar{position:static;top:auto;}
}
