:root{--ink:#27372e;--muted:#786d5c;--gold:#a3824c;--line:#e8dfcf;--paper:#fffdf8;--accent:#725335;--font-body:"Avenir Next",Avenir,"Trebuchet MS",sans-serif}*{box-sizing:border-box}html{min-height:100%;background:#f6f0e5;color:var(--ink)}body{margin:0;font-family:var(--font-body);font-size:15px;-webkit-font-smoothing:antialiased}a,button,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a,button{touch-action:manipulation}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b99a66;outline-offset:4px}h1:focus{outline:none}button:disabled{cursor:not-allowed;opacity:.55}.experience{min-height:100svh;background:radial-gradient(ellipse at 50% 25%,#fffdf8 0,#f7f1e5 55%,#ebe0cc 100%);padding:28px 18px 24px}.page-shell{width:100%;max-width:588px;margin:0 auto}.campaign-nav{display:flex;justify-content:center;gap:6px;margin:0 auto 20px;padding:5px;border:1px solid #e3d8c4;border-radius:99px;max-width:390px;background:#eee7d7a3}.campaign-nav a{flex:1 1;text-align:center;text-decoration:none;border-radius:99px;padding:11px 10px;color:#817561;font-size:12px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}.campaign-nav a[aria-current=page]{background:#fffdf8;color:#58452c;box-shadow:0 2px 7px #58452c12}.campaign-nav a:hover{color:var(--ink)}.coupon-card{background:var(--paper);border:1px solid #e7dcc8;border-radius:23px;overflow:hidden;box-shadow:0 22px 70px #5b452313,0 3px 12px #5b452306}.brand-header{background:white;display:flex;align-items:center;flex-direction:column;padding:18px 36px 24px}.line-logo{display:block;width:100%;max-width:390px;height:auto;mix-blend-mode:multiply}.exclusive-label{color:#8e7a58;font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-top:4px}.brand-divider{height:1px;width:100%;background:var(--line);margin:20px 0}.cruise-master-logo{display:block;width:195px;height:auto;object-fit:contain}.coupon-content{padding:28px 36px 30px}.event-kicker{margin:0;color:#927b55;font-size:10px;font-weight:700;letter-spacing:.21em;text-transform:uppercase;text-align:center}.offer-title{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.035em;font-size:34px;line-height:1.2;text-align:center;margin:17px 0 23px}.form-title em,.offer-title em{font-weight:400;color:#8b7350}.note-art{margin:0 -5px 25px;transform:rotate(-2deg);filter:drop-shadow(0 8px 7px #59451d16)}.note-art img{width:100%;height:auto;display:block;mix-blend-mode:multiply;border-radius:3px}.offer-details{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.coupon-code>span,.offer-details span,.sent-code>span{display:block;color:#8a7c65;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:700}.offer-value strong{display:block;font-size:36px;letter-spacing:-.04em;line-height:1.2;margin-top:5px}.offer-value small{font-size:10px;letter-spacing:.05em;font-weight:500;color:#8b7b60}.offer-validity{border-left:1px solid var(--line);padding-left:24px}.offer-validity strong{display:block;font-size:16px;line-height:1.5;font-weight:600;margin-top:7px;letter-spacing:-.025em}.coupon-code{padding:20px 0 0}.coupon-code>strong{display:block;font-size:18px;letter-spacing:.025em;margin-top:7px;font-weight:600;overflow-wrap:anywhere}.coupon-code .code-placeholder{color:#a89b83;letter-spacing:.13em}.coupon-code p{font-size:11px;line-height:1.6;color:#8c806d;margin:6px 0 0}.letter{margin-top:27px;color:#5b5d51;font-size:13px;line-height:1.8}.letter p{margin:13px 0}.letter strong{font-weight:600;color:#414d40}.letter .salutation{font-weight:600;color:#344234}.letter .sign-off{margin:22px 0 0}.terms{margin:25px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.terms summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:17px 0;font-size:11px;letter-spacing:.05em;font-weight:600;color:#7c6a4d}.terms summary::-webkit-details-marker{display:none}.terms summary span{font-size:20px;font-weight:400;line-height:1}.terms[open] summary span{transform:rotate(45deg)}.terms ol{padding-left:18px;margin:0 0 20px;color:#716c5e;font-size:11px;line-height:1.8}.terms li+li{margin-top:8px}.primary-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:51px;border:1px solid var(--accent);background:var(--accent);border-radius:11px;padding:14px 20px;color:#fffdf7;font-weight:600;font-size:14px;text-decoration:none;box-shadow:0 4px 12px #72533516;transition:background .2s,transform .2s}.primary-button>svg:last-child{margin-left:auto}.primary-button>svg:first-child:not(:last-child){margin-right:auto}.primary-button:hover:not(:disabled){background:#5e442a;transform:translateY(-1px)}.button-note{text-align:center;font-size:10px;color:#92836b;letter-spacing:.045em;margin:13px 0 0}.brochure-link{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--accent);margin-top:18px}.page-footer{display:flex;justify-content:space-between;gap:15px;margin:21px 8px 0;color:#9a8c74;font-size:10px;line-height:1.6}.page-footer>a{color:#7d694c;text-decoration:none}.page-footer>a:hover{text-decoration:underline}.form-card .brand-header{padding-bottom:24px}.form-content,.result-content{padding:24px 36px 34px}.back-button{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#8b795d}.back-arrow{transform:rotate(180deg)}.mail-round{display:flex;align-items:center;justify-content:center;margin:32px auto 20px;width:54px;height:54px;border:1px solid #deceb1;border-radius:50%;background:#f5efdf;color:#917144}.form-title{font-family:Georgia,Times New Roman,serif;text-align:center;font-weight:400;font-size:35px;line-height:1.2;letter-spacing:-.035em;margin:16px 0}.form-intro{font-size:13px;line-height:1.8;text-align:center;max-width:370px;margin:0 auto;color:#787364}.form-intro strong{font-weight:600;color:#5e614f}.compact-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;margin:24px 0 26px;background:#faf6ed;font-size:10px;color:#8b795b;line-height:1.6}.compact-offer span:first-child{font-weight:700;color:#665334;font-size:12px;white-space:nowrap}.email-form>label{display:block;font-size:12px;font-weight:600;color:#4d5647;margin-bottom:9px}.email-form>label>span{color:#a5844b}.email-form>input{border:1px solid #ddd1bb;background:white;border-radius:10px;width:100%;padding:15px;font-size:15px;color:#28362d;min-height:51px;transition:border-color .2s}.email-form>input::placeholder{color:#b1a99b}.email-form>input:focus{border-color:#9c7a49;outline:2px solid #b99a6628;outline-offset:0}.email-form>input[aria-invalid=true]{border-color:#a54830}.field-help{font-size:10px;color:#958973;line-height:1.7;margin:9px 0 0}.email-form>.primary-button{margin-top:22px}.availability-notice{background:#f5eedf;border:1px solid #e8dcc2;border-radius:9px;color:#8a704a;font-size:12px;line-height:1.7;padding:11px 13px;margin:19px 0 0}.form-error{color:#a34e35;font-size:12px;line-height:1.6;margin-top:12px}.privacy-note{font-size:10px;color:#a09581;line-height:1.8;text-align:center;max-width:340px;margin:15px auto 0}.text-button{display:block;border:0;background:none;padding:10px;color:#8e7959;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin:0 auto}.close-button{margin-top:23px}.result-content{text-align:center;padding-top:36px;padding-bottom:40px;min-height:370px}.status-icon{width:63px;height:63px;margin:0 auto 25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1ead9;border:1px solid #dfd0b2;color:#968056;font-size:26px}.status-sent{color:#5f7657;background:#edf1e7;border-color:#cedcc6}.result-message{font-size:14px;line-height:1.8;color:#787363;margin:18px 0}.result-email{font-size:13px;color:#655a45;overflow-wrap:anywhere}.sent-code{background:#f6f0e3;border:1px solid var(--line);padding:18px 10px;border-radius:10px;margin:20px 0 10px}.sent-code>strong{display:block;margin-top:9px;font-size:18px;overflow-wrap:anywhere}.result-content>.primary-button{margin-top:28px}.spinner{width:15px;height:15px;border:2px solid #ffffff60;border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(min-width:900px){.experience{padding-top:38px;padding-bottom:32px}.page-shell{max-width:588px}.brand-header,.coupon-content,.form-content,.result-content{padding-left:44px;padding-right:44px}}@media(max-width:420px){.experience{padding:18px 12px}.campaign-nav{margin-bottom:16px}.campaign-nav a{font-size:10px;padding:10px 7px}.brand-header{padding:13px 24px 21px}.cruise-master-logo{width:175px}.brand-divider{margin:16px 0}.coupon-content{padding:24px}.offer-title{font-size:30px;margin:16px 0 23px}.event-kicker{font-size:9px;letter-spacing:.19em}.offer-details{grid-template-columns:.85fr 1.3fr;padding:16px 0}.offer-value strong{font-size:32px}.offer-validity{padding-left:17px}.offer-validity strong{font-size:14px}.coupon-code>strong{font-size:16px}.letter{font-size:12px;line-height:1.85}.form-content,.result-content{padding-left:24px;padding-right:24px}.form-title{font-size:31px}.compact-offer{align-items:flex-start;flex-direction:column;gap:3px}.page-footer{font-size:9px;margin-left:3px;margin-right:3px}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.preview-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#8b7758;margin:0 6px 18px}.preview-bar>span{text-transform:uppercase;letter-spacing:.14em;font-size:9px}.preview-bar>a{text-decoration:none}.preview-note{font-size:10px;color:#9b8e76;text-align:center;line-height:1.8;margin:18px 8px 0}.email-terms{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.email-terms h2{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8b7758;margin:0 0 15px}.email-terms ol{font-size:11px;line-height:1.85;color:#6b6b5d;padding-left:17px;margin:0}.email-terms li+li{margin-top:9px}.letter a{color:#8b6d40;text-underline-offset:3px}