/* Readability pass: preserve all copy and the ocean design, enlarge meaningful text. */
body{font-size:17px;line-height:1.85}
main p:not(.eyebrow):not(.hero-lead):not(.large-copy):not(.product-price):not(.quantity-price):not(.campaign-event-kicker){font-size:17px!important;line-height:1.85!important}
main .large-copy{line-height:1.8}
.eyebrow,.section-index,.hero-kicker,.campaign-event-kicker{font-size:12px!important;line-height:1.8;letter-spacing:.14em}
.chapter-number{font-size:14px!important}
.chapter-label{overflow-wrap:anywhere}
.hero-description,.story-text>p,.seller-chapter-body p,.selection-body>p,.personal-copy>p,.letter-body>p{color:#cbd9ed}
.button,.product-info .button,.hero .button,.campaign-feature-actions .button{font-size:16px!important;line-height:1.65;min-height:58px;gap:12px;letter-spacing:.03em;padding:14px 16px 14px 22px;max-width:100%;white-space:normal}
.button>span{flex-shrink:0}
.header nav{font-size:16px}
.header .nav-cta{font-size:14px!important;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;letter-spacing:.03em;white-space:nowrap}
.header .nav-cta span{padding-left:6px}
.header nav{margin-right:0!important}
.product-image>span,.product-label,.product-info h3>span,.price-context,.product-price small,.unit-prices>div>span,.unit-prices small,.table-heading span,.notice-label{font-size:16px!important;line-height:1.7}
.product-label{flex-wrap:wrap;letter-spacing:.04em}
.product-price small{font-size:18px!important}
.product-info .button{padding-left:20px}
.shipping-notice strong,.campaign-delivery-note strong,.campaign-existing-badge,.campaign-free{font-size:18px!important;line-height:1.75!important}
.shipping-notice p,.campaign-delivery-note p,.unit-note,.small-note{font-size:16px!important;line-height:1.8!important;color:#c4d3e9}
.specs>div,table,.legal-body,.legal-body dt,.legal-body dd,.legal-body li{font-size:17px!important;line-height:1.85;color:#c5d4e9}
.specs>div{gap:14px;grid-template-columns:minmax(85px,.32fr) minmax(0,1fr)}
.specs dt{color:#b8cce9}.specs dd,.legal-body dd{min-width:0;overflow-wrap:anywhere}
.table-heading{flex-wrap:wrap;gap:10px}
.table-heading span{color:#b9cbe5}
.faq summary{font-size:18px!important;line-height:1.75;min-height:56px;padding-block:18px;padding-right:38px}
.faq details p{font-size:17px!important;line-height:1.85!important;color:#c5d5ec}
.voice-quotes .voice-card blockquote{font-size:17px!important;line-height:1.85}
.voice-quotes .voice-card figcaption{font-size:15px!important;line-height:1.7}
.voice-card figcaption>span{font-size:14px!important}
.voice-impression-note{font-size:16px!important;color:#bacce5}
.footer-links{font-size:16px!important;display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;line-height:1.65}
.legal-body h2{font-size:26px;line-height:1.6}.legal-body h3{font-size:22px;line-height:1.6}
.legal-body a{overflow-wrap:anywhere}
.campaign-now>p:first-child,.campaign-next>p:first-child{font-size:16px!important;line-height:1.7!important}
.campaign-free{white-space:normal!important;max-width:100%;padding:8px 12px;letter-spacing:.03em}
.campaign-delivery-note{align-items:flex-start}
.campaign-feature-actions .button{height:auto}
.motion-control,.shore-motion-toggle{font-size:14px!important;min-width:44px;min-height:44px;padding:10px 14px}
/* Shipping, cancellation and confirmation are not footnotes. */
.reservation-heading>p,.preparation-banner strong,.preparation-banner p,.panel-heading>p,.panel-note,.summary-note,.reservation-delivery p,.gift-note,.shipping-pending p,.checkout-blocked,.field-error{font-size:16px!important;line-height:1.8!important}
.preparation-banner strong,.checkout-blocked{color:#eadbb8}
.preparation-banner p,.summary-note,.gift-note,.panel-note,.reservation-delivery p,.shipping-pending p{color:#c4d4ec}
.reservation-steps li,.reservation-steps span{font-size:16px!important;line-height:1.6}
.reservation-steps li{align-items:flex-start;gap:8px}
.quantity-copy h3 small,.quantity-price>span,.quantity-control>span,.set-saving,.summary-bags small,.summary-total span,.reservation-delivery>span,.final-quantities>div>span,.final-quantities small,.final-total>span,.final-total small{font-size:16px!important;line-height:1.7}
.quantity-copy h3 small{display:block;margin-left:0;margin-top:4px}
.quantity-control button{width:44px;height:44px;flex:0 0 44px}
.quantity-control input{min-height:44px;width:58px;font-size:20px}
.quantity-control{gap:5px;flex-wrap:wrap}
.order-summary dl>div,.review-prices>div{font-size:16px!important;line-height:1.7;gap:8px 12px;flex-wrap:wrap}
.order-summary dd,.review-prices dd{white-space:normal!important;overflow-wrap:anywhere}
.order-summary dt,.review-prices dt{color:#c2d2ea}
.order-summary .summary-total strong{font-size:22px;line-height:1.7}
.summary-bags small b{font-size:16px}
#shipping-form label{font-size:17px;line-height:1.7}
#shipping-form label>span,#shipping-form label>small{font-size:14px}
#shipping-form input,#shipping-form select,#shipping-form input::placeholder{font-size:16px!important;line-height:1.7;min-height:52px}
.review-address p{font-size:17px!important;line-height:1.85!important}
.check-row,.check-row strong,.check-row small{font-size:16px!important;line-height:1.8!important}
.check-row small{color:#c0d2ed}
.check-row{min-height:44px}.check-row input{flex-basis:24px;width:24px;height:24px;margin-top:3px}
.back-button,.text-edit{font-size:16px;line-height:1.65;min-height:44px;padding:12px 0}
.review-grand-total{font-size:18px!important}
.reservation-page .continue-button,.reservation-page .checkout-button{font-size:16px!important;min-height:58px}
@media(max-width:900px){
 .reservation-layout{grid-template-columns:minmax(0,1fr)}
 .order-summary{position:static;max-width:none;width:100%}
 .legal-body dl{grid-template-columns:1fr}
 .legal-body dt{padding-bottom:6px}.legal-body dd{padding-top:0}
}
@media(max-width:760px){
 body:not(.legal-page):not(.reservation-page){padding-bottom:110px}
 .hero .button{max-width:100%}
 .mobile-bar{padding:12px 5% max(12px,env(safe-area-inset-bottom));gap:12px}
 .mobile-bar>span{font-size:16px;flex:0 1 38%;min-width:0;line-height:1.6}
 .mobile-bar small{font-size:14px;line-height:1.6}
 .mobile-bar>a{font-size:16px;line-height:1.65;gap:8px;padding:12px 14px;min-height:52px;flex:1;min-width:0}
 .mobile-bar>a>span{flex-shrink:0}
 .product-info{padding:26px 22px 30px}
 .unit-prices{gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .unit-prices>div{padding:18px 14px;min-width:0}
 .unit-prices p{font-size:16px!important}.unit-prices strong{font-size:34px}
 .unit-prices small{display:block;margin-top:4px}
 .campaign-spotlight{padding-inline:18px}
 .campaign-big-offer{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:8px;align-items:center}
 .campaign-now>p:first-child,.campaign-next>p:first-child{min-height:5.1em;display:flex;align-items:flex-end;justify-content:center}
 .campaign-big-number strong{font-size:90px}
 .campaign-big-number{gap:5px}.campaign-big-number>span{font-size:22px}
 .campaign-next-ring{width:135px;height:135px;top:64%}
 .campaign-delivery-note{padding:20px 16px;gap:10px}
 .campaign-delivery-note strong{display:block}
 .campaign-delivery-note .campaign-note-icon{display:none}
 .campaign-feature-actions>div{grid-template-columns:1fr}
 .campaign-feature-actions .button{font-size:16px!important}
 .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 .legal-content h1{font-size:28px;overflow-wrap:anywhere}
 .reservation-steps li{flex-direction:column;gap:4px}
 .final-total{flex-wrap:wrap;gap:10px}
 .final-total strong{margin-left:auto}
 .final-quantities{gap:12px;padding:20px 14px}
 .final-quantities>div+div{padding-left:12px}
 .confirmation-box{padding:18px 14px}
 .order-summary{padding:26px 20px}
 .order-summary dl>div,.review-prices>div{align-items:flex-start}
 .order-summary dd[data-shipping-cost],.review-prices dd[data-shipping-cost]{max-width:100%}
 .review-prices dd[data-grand-total]{max-width:100%}
 .shipping-pending p{min-width:0}
 .reservation-page footer .footer-links{font-size:16px!important}
}
@media(max-width:480px){
 .quantity-product{grid-template-columns:1fr;gap:16px}
 .quantity-photo{width:148px;justify-self:center}
 .quantity-copy{min-width:0;width:100%}
 .quantity-copy h3{font-size:28px}
 .quantity-price{font-size:30px}
 .quantity-control{justify-content:flex-start}
 .quantity-control button{width:44px;height:44px;flex-basis:44px}
 .quantity-control input{width:58px;margin-inline:4px}
 .quantity-control>span{margin-left:8px}
 .postal-row,.field-row{grid-template-columns:1fr;gap:0}
 .unit-prices{grid-template-columns:1fr}
 .unit-prices small{display:inline;margin-left:6px}
}
@media(max-width:360px){
 .header .brand-symbol{width:34px;height:34px}
 .header .brand-calligraphy{width:125px}
 .header .brand-new{gap:6px!important}
 .header .nav-cta{padding-inline:9px;letter-spacing:0}
 .header .nav-cta span{padding-left:3px}
 .mobile-bar{gap:10px;padding-inline:4%}
 .mobile-bar>a{padding-inline:12px}
 .campaign-spotlight{padding-inline:14px}
 .campaign-big-offer{gap:5px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}
 .campaign-big-number strong{font-size:78px}
 .campaign-next-ring{width:120px;height:120px}
 .campaign-free{padding:7px 8px;font-size:16px!important}
 .campaign-now>p:first-child,.campaign-next>p:first-child{min-height:6.8em}
 .specs>div{grid-template-columns:1fr;gap:6px}
 .table-heading h3{font-size:21px}
}

.product-price{flex-wrap:wrap;row-gap:6px}.product-price small{white-space:nowrap}
