/* Scoped to the main visual. All existing sections and the booking dock stay unchanged. */
.html-main{max-width:810px;margin:0 auto;background:#f3f8f7;font-family:var(--en);color:#304f4d}
.main-stage{position:relative;aspect-ratio:810/330;isolation:isolate;overflow:hidden;background:#f9f9fc}
.main-stage .main-gel{position:absolute;inset:0 auto 0 0;width:43%;height:100%;object-fit:cover;opacity:.28;mask-image:linear-gradient(90deg,#000 55%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent)}
.main-stage .main-portrait{position:absolute;right:0;top:0;width:55%;height:100%;object-fit:contain;object-position:right center}
.main-heading{position:absolute;top:6%;left:5%;width:47%;text-align:center}
.main-heading .main-brand{margin:0 0 5px;font-size:11px;letter-spacing:3px;color:#a28c5e}
.main-heading h1{margin:0;font-family:var(--en);font-weight:300;font-size:clamp(24px,4.4vw,40px);line-height:1.12;letter-spacing:2px;color:#75aebb;text-transform:uppercase}
.main-heading .main-reset{margin:8px 0 0;font-weight:400;font-size:23px;line-height:1.1;letter-spacing:1px;color:#3a4545}
.main-reset span{font-weight:300}
.main-heading .main-benefit{font-size:11px;letter-spacing:.7px;line-height:1.7;font-weight:500;margin:11px 0 0;color:#344a48}
.main-benefit span{background:#87bcc1;color:white;padding:1px 5px;white-space:nowrap}
.main-products{position:absolute;left:9%;bottom:4%;width:35%;text-align:center}
.main-product-image{height:77px;overflow:hidden;position:relative;background:#fff}
.main-product-image img{position:absolute;max-width:none;width:auto;height:145px;right:-1px;bottom:-1px}
.main-products>span{display:block;font-size:8px;letter-spacing:1.2px;line-height:1.5;margin-top:3px;color:#71847e}
.main-promotion{display:grid;grid-template-columns:1fr auto;gap:10px 30px;padding:19px 34px 17px;background:#f0f7f5}
.main-offer p{margin:0 0 3px;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:.5px}
.main-offer>strong{display:block;font:600 51px/1 var(--en);color:#287d7c;letter-spacing:-1px}
.main-from{align-self:center;padding-right:30px}.main-from>span{display:block;font-size:10px;line-height:1.3;color:#69817b}.main-from>strong{display:block;font:500 33px/1.2 var(--en);color:#304f4d}
.main-dates{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid #cbded8;padding-top:9px;font-size:12px;letter-spacing:.7px;line-height:1.5}
.main-dates small{font-size:9px;letter-spacing:0;color:#5b716e}
@media(max-width:600px){.main-stage{aspect-ratio:810/370}.main-heading{left:3%;top:8%;width:49%}.main-heading .main-brand{font-size:8px;letter-spacing:1.5px;margin-bottom:4px}.main-heading h1{font-size:clamp(18px,5vw,29px);letter-spacing:.7px;line-height:1.07}.main-heading .main-reset{font-size:clamp(12px,3.3vw,19px);margin-top:5px;letter-spacing:.1px}.main-heading .main-benefit{font-size:clamp(6px,1.75vw,10px);margin-top:7px;line-height:1.65;letter-spacing:.1px}.main-products{left:8%;width:36%;bottom:4%}.main-product-image{height:38px}.main-product-image img{height:72px}.main-products>span{font-size:5px;letter-spacing:.5px;margin-top:2px}.main-promotion{padding:13px 21px 12px;gap:9px 18px}.main-offer p{font-size:10px;margin-bottom:2px}.main-offer>strong{font-size:35px}.main-from{padding-right:3px}.main-from>span{font-size:8px}.main-from>strong{font-size:26px}.main-dates{display:block;padding-top:8px;font-size:10px}.main-dates small{display:block;font-size:8px;margin-top:3px}}
.main-products{left:17%;width:24%;bottom:3%}.main-product-image{height:110px}.main-product-image img{height:246px;bottom:-50px;right:0}@media(max-width:600px){.main-products{left:16%;width:25%;bottom:3%}.main-product-image{height:55px}.main-product-image img{height:123px;bottom:-25px}}
.main-heading{top:5.5%}.main-heading h1{font-size:clamp(24px,4vw,36px);line-height:1.1}.main-heading .main-reset{font-size:21px;margin-top:7px}.main-heading .main-benefit{font-size:10px;line-height:1.6;margin-top:8px}@media(max-width:600px){.main-heading{top:7%}.main-heading h1{font-size:clamp(18px,5vw,29px);line-height:1.07}.main-heading .main-reset{font-size:clamp(12px,3.3vw,19px);margin-top:5px}.main-heading .main-benefit{font-size:clamp(6px,1.75vw,10px);margin-top:6px;line-height:1.6}.main-product-image{height:42px}.main-product-image img{height:94px;bottom:-19px}.main-products{bottom:2%}}
@media(max-width:600px){.main-heading{top:4%}}

.main-stage .main-gel{width:52%;opacity:1;mask-image:linear-gradient(90deg,#000 65%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 65%,transparent)}.main-heading{left:22%;width:47%;top:10%;background:rgba(255,255,255,.76);padding:12px 7px}.main-heading h1{font-size:clamp(24px,4vw,36px)}.main-heading .main-benefit{margin-top:14px}.main-products{display:none}@media(max-width:600px){.main-heading{left:21%;width:48%;top:12%;padding:7px 3px}.main-heading h1{font-size:clamp(17px,4.7vw,27px)}.main-heading .main-benefit{margin-top:8px}}
/* Match the supplied reference: broad gel photograph left, full portrait right, type centred. */
.main-stage{aspect-ratio:1265/530;background:#f9f9fc}
.main-stage .main-gel{width:53.4%;height:100%;object-fit:cover;object-position:center 56%;opacity:1;mask-image:none;-webkit-mask-image:none}
.main-stage .main-portrait{right:0;top:0;width:46.6%;height:100%;object-fit:contain;object-position:right center}
.main-heading{left:33.5%;top:10%;width:37%;padding:14px 10px 13px;background:rgba(255,255,255,.76)}
.main-heading h1{font-size:clamp(28px,4.2vw,41px);line-height:1.1;letter-spacing:1.3px}
.main-heading .main-reset{font-size:24px;letter-spacing:.4px;margin-top:9px;white-space:nowrap}
.main-heading .main-benefit{margin-top:18px;font-size:11px;line-height:1.8;letter-spacing:.3px;white-space:nowrap}
@media(max-width:600px){
 .main-stage{aspect-ratio:1265/530}
 .main-stage .main-gel{width:53.4%;object-position:center 56%}
 .main-stage .main-portrait{width:46.6%;object-fit:contain}
 .main-heading{left:33.5%;top:10%;width:37%;padding:7px 3px 8px}
 .main-heading h1{font-size:clamp(14px,4.9vw,28px);line-height:1.06;letter-spacing:.3px}
 .main-heading .main-reset{font-size:clamp(9px,2.8vw,16px);letter-spacing:0;margin-top:5px}
 .main-heading .main-benefit{font-size:clamp(5px,1.42vw,8px);letter-spacing:0;margin-top:9px;line-height:1.8}
}

/* Client-supplied complete composition: keep the entire photograph visible. */
.main-stage{aspect-ratio:1024/420}
.main-supplied-photo{display:block;width:100%;height:auto}
@media(max-width:600px){.main-stage{aspect-ratio:1024/420}}
.main-heading{left:31%;top:3%;width:38%;padding:10px 6px}
.main-heading h1{font-size:clamp(28px,4vw,36px)}
.main-heading .main-reset{font-size:22px;margin-top:7px}
.main-heading .main-benefit{font-size:10px;line-height:1.7;margin-top:12px}
@media(max-width:600px){.main-heading{left:31%;top:3%;width:38%;padding:4px 3px}.main-heading h1{font-size:clamp(14px,4.9vw,28px)}.main-heading .main-reset{font-size:clamp(9px,2.8vw,16px);margin-top:3px}.main-heading .main-benefit{font-size:clamp(5px,1.42vw,8px);margin-top:5px}}
/* Fill the existing page width; preserve the supplied photograph and composition. */
.html-main{width:100%;max-width:none}
@media(min-width:811px){
.main-heading{padding:14px 8px}
.main-heading h1{font-size:clamp(36px,4.45vw,50px)}
.main-heading .main-reset{font-size:30px;margin-top:10px}
.main-heading .main-benefit{font-size:14px;margin-top:17px}
}
