/* Homepage hero: one layout system. Legacy hero selectors are no longer used. */
.hero-header-create{display:none}
body>header{border-bottom:0!important;box-shadow:none}
body>header .menu-toggle:before,body>header .menu-toggle:after{content:none!important;display:none!important}
.wl-hero{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1fr);gap:28px;align-items:center;max-width:1240px;padding:32px 0 30px;isolation:isolate;overflow:clip}
.wl-copy-block{position:relative;z-index:2;padding:16px 0 24px}
.wl-copy h1{font-size:clamp(38px,4.2vw,60px);line-height:1.08;letter-spacing:-.045em;font-weight:900;-webkit-text-stroke:.3px currentColor;text-wrap:balance;margin:0;color:var(--wl-navy)}
.wl-video-words{display:inline-block;white-space:nowrap;position:relative;color:var(--wl-turquoise);padding-bottom:6px}
.wl-video-words:after{content:'';position:absolute;left:3%;right:3%;bottom:0;height:3px;background:var(--wl-turquoise);border-radius:50%;transform:rotate(-1deg)}
.wl-description{font-size:clamp(17px,1.45vw,20px);line-height:1.45;margin:22px 0 26px;max-width:570px;color:var(--wl-navy)}
.wl-assurance{display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none;padding:0;margin:0 0 24px}
.wl-assurance li{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;line-height:1.3;min-height:48px;padding:7px 12px 7px 8px;border-radius:999px;background:#fff;font-weight:800}
.wl-assurance-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--wl-aqua);color:var(--wl-navy)}
.wl-assurance-icon svg{width:19px;height:19px}
.wl-assurance li:nth-child(1) .wl-assurance-icon{background:var(--wl-salmon)}
.wl-assurance li:nth-child(2) .wl-assurance-icon{background:#64CFD4}
.wl-assurance li:nth-child(3) .wl-assurance-icon{background:#F4C765}
.wl-actions{display:flex;flex-direction:column;align-items:center;gap:0;width:min(100%,360px)}
.wl-actions>.button{width:100%;min-height:52px}
.wl-watch{border:0;background:none;font-weight:700;min-height:44px;padding:8px 0;margin-top:6px;font-size:14px;color:var(--wl-navy)}
.wl-watch span{margin-left:8px}
.wl-watch:hover{text-decoration:underline;text-underline-offset:5px}
/* Flat original bookends, measured independently from the decorative wave. */
.wl-scene{position:relative;width:100%;height:640px;min-width:0;isolation:isolate;container-type:inline-size}
.wl-card{position:absolute;margin:0;padding:0;width:43%;border:0;border-radius:15px;overflow:hidden;background:white;box-shadow:0 8px 22px #1c2b4a20}
.wl-opening{left:7%;top:7%;transform:rotate(-6deg);z-index:2}
.wl-closing{right:4%;top:13%;transform:rotate(6deg);z-index:1}
.wl-card>img,.wl-poster>img{display:block;width:100%;height:auto;aspect-ratio:941/1672;object-fit:contain}
.wl-poster{display:block;position:relative;width:100%;padding:0;border:0;background:white;color:var(--wl-navy)}
#top .wl-video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:941/1672;object-fit:contain;background:var(--wl-navy);border-radius:8px}
.wl-poster[hidden],.wl-video[hidden],.wl-player-controls[hidden]{display:none!important}
.wl-play-fallback{position:absolute;left:10px;bottom:54px;display:grid;place-items:center;width:44px;height:44px;border:2px solid white;border-radius:50%;background:var(--wl-navy);color:white;font-size:18px;box-shadow:0 2px 8px #1c2b4a33}
.wl-play-caption{display:none}
/* Editorial journey: labels above a playful collage of the original real photos. */
/* Use the supplied explainer directly; keep it secondary to the tall cards. */
.wl-connector{position:absolute;left:auto;right:0;bottom:8%;width:min(87%,424px);z-index:3;translate:0 0;aspect-ratio:1745 / 475;border-radius:12px;overflow:hidden;background:white;box-shadow:none;transform:none}
/* Crop only the baked outer shadow and blank bottom margin; preserve all content. */
.wl-approved-journey{position:absolute;display:block;max-width:none;width:105.5%;height:auto;left:-2.75%;top:-8.15%}
/* Independent lightweight occasion links sit beneath the visual cluster. */
.wl-panel-occasions{position:static;grid-column:1/-1;justify-self:center;width:min(100%,520px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none}
.wl-panel-occasions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;padding:3px 0;background:none;border:0;text-decoration:none;color:var(--wl-navy);font:600 13px/1.3 'DM Sans',Arial,sans-serif;text-align:center}
.wl-panel-occasions svg{width:23px;height:23px;flex:none}
.wl-panel-occasions a:hover span{text-decoration:underline;text-underline-offset:3px}
.wl-panel-occasions a:focus-visible{outline:3px solid var(--wl-turquoise);outline-offset:2px;border-radius:6px}
/* The saved version-152 wave and two-card composition. */
.wl-wave-layer{position:absolute;inset:-35px -12% 40px -40%;z-index:-1;pointer-events:none}
.wl-wave{position:absolute;width:100%;max-width:none;right:0;top:0;height:100%;object-fit:contain;object-position:right center;z-index:0;pointer-events:none;user-select:none}
.wl-player-controls{position:absolute;top:8px;left:2px;right:2px;z-index:4;display:flex;justify-content:center;gap:1px}
.wl-player-controls button{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:white}
.wl-player-controls button:before{content:'';position:absolute;inset:7px;border:1px solid #ffffffb3;border-radius:50%;background:#14243dd9}
.wl-player-controls svg{position:relative;z-index:1;width:17px;height:17px;pointer-events:none}
#wave-play-toggle[data-state=playing] .icon-play,#wave-play-toggle[data-state=paused] .icon-pause,#wave-sound-toggle[data-state=muted] .sound-waves,#wave-sound-toggle[data-state=audible] .sound-muted{display:none}
.wl-opening:fullscreen{width:100%;height:100%;left:0;top:0;transform:none;border:0;border-radius:0;background:#14243d;display:grid;place-items:center}
#top .wl-opening:fullscreen .wl-video{height:100%;width:auto;max-width:100%;aspect-ratio:auto;object-fit:contain}
.wl-opening:fullscreen .wl-player-controls{top:12px;gap:10px}
@media(min-width:761px) and (max-width:1050px){.wl-hero{gap:18px}.wl-copy h1{font-size:clamp(36px,4.4vw,46px)}.wl-description{font-size:17px}.wl-scene{height:540px}.wl-connector{bottom:12%}.wl-assurance{gap:8px 12px}}
@media(max-width:760px){
body>header .nav{min-height:72px;gap:8px;flex-wrap:nowrap}
body>header .brand{font-size:20px;gap:5px;margin-right:auto}
body>header .brand img{width:43px;height:43px}
body>header .hero-header-create{display:inline-flex;min-height:40px;padding:9px 13px;font-size:14px!important;line-height:1.25;flex:none}
body>header .menu-toggle{display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:25px;flex:none;color:var(--wl-navy)}
body>header .links{top:72px}
.wl-hero{display:flex;flex-direction:column;gap:0;width:calc(100% - 28px);padding:8px 0 20px;overflow:clip}
.wl-copy-block{display:contents}
.wl-copy{order:1;text-align:center;width:100%;position:relative;z-index:2}
.wl-copy h1{font-size:clamp(31px,8.2vw,48px);line-height:1.1}
.wl-description{font-size:clamp(15px,3.8vw,18px);line-height:1.45;margin:10px auto 0;max-width:480px}

.wl-scene{order:2;flex:none;width:min(100%,340px);height:auto;aspect-ratio:1 / 1.18;margin:8px auto 0}
.wl-card{border:0;border-radius:12px}
.wl-opening{left:5%;top:2%;width:44%;transform:rotate(-4deg)}
.wl-closing{right:5%;top:5%;width:44%;transform:rotate(4deg)}
.wl-connector{left:4%;right:4%;width:auto;top:75cqw;bottom:auto;translate:0 -25%;border-radius:12px;transform:none}
.wl-panel-occasions{order:3;width:min(100%,380px);gap:3px;margin:6px auto 0}
.wl-panel-occasions a{font-size:12px;min-height:54px}
.wl-panel-occasions svg{width:22px;height:22px}
.wl-conversion{order:4;position:relative;z-index:2;width:100%;text-align:center;margin-top:12px}
.wl-assurance{justify-content:center;gap:8px;margin-bottom:18px}
.wl-assurance li{font-size:13px;padding:6px 10px 6px 6px;min-height:44px}
.wl-assurance-icon{flex-basis:30px;width:30px;height:30px}
.wl-actions{margin:auto;width:min(100%,330px)}
.wl-actions>.button{min-height:50px}
.wl-watch{font-size:13px;margin-top:2px}
}
@media(max-width:360px){.wl-connector{left:4%;right:4%}body>header .nav{gap:5px}body>header .brand img{width:35px;height:35px}body>header .hero-header-create{font-size:12px!important;padding:8px 10px}.wl-description br{display:none}.wl-stage>span{font-size:11px}.wl-player-controls{flex-wrap:wrap}.wl-player-controls button{flex-basis:44px}.wl-photo{width:46px;height:62px}.wl-people{height:62px}}

/* Homepage-only pictures use the prompt library’s existing approved assets. */
.home-prompt-picture{display:flex;align-items:center;justify-content:center;width:100%;height:116px;flex:none;margin-bottom:10px;overflow:hidden;border-radius:10px;background:#F2F0EC}
.home-prompt-picture>img,.home-prompt-picture>svg{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.home-prompt-picture{height:106px;margin-bottom:9px}}

/* Compact approved reviews, using the established cream/navy/teal palette. */
.home-reviews .section-top{align-items:center;margin-bottom:20px}
.home-reviews figure{border:1px solid var(--wl-aqua);border-top:3px solid var(--wl-turquoise);border-radius:12px;box-shadow:none}

/* Homepage-only replacement: retain the supplied collage and cover just its first tile. */
.wl-cheers-tile{position:absolute;left:2.6%;top:22%;width:31%;height:78%;display:flex;align-items:center;justify-content:center;background:white;border-radius:12px;overflow:hidden}
.wl-cheers-tile img{display:block;width:100%;height:100%;object-fit:contain}
/* A live, responsive final CTA over brand-colour waves. */
.home-story .home-wave-cta{position:relative;isolation:isolate;padding:42px 0 30px;overflow:hidden;background:var(--wl-cream);text-align:center;min-height:340px}
.home-cta-waves{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.home-cta-inner{position:relative;display:grid;grid-template-columns:300px minmax(0,1fr) 170px;align-items:center;gap:28px;min-height:285px}

.home-cta-copy{grid-column:2;padding:12px 0 20px;min-width:0;position:relative;z-index:1}
.home-story .home-wave-cta h2{font-family:Georgia,serif;font-size:clamp(30px,3.6vw,52px);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px;color:var(--wl-cream)}
.home-wave-cta h2 span{color:var(--wl-aqua)}
.home-wave-cta .button{min-width:280px;min-height:56px;font-size:21px;gap:18px;color:var(--wl-navy)}
@media(max-width:900px){.home-cta-inner{grid-template-columns:190px minmax(0,1fr) 50px;gap:16px}.home-story .home-wave-cta h2{font-size:36px}}
@media(max-width:600px){.home-story .home-wave-cta{padding:42px 0 32px;min-height:335px}.home-cta-inner{display:flex;justify-content:center;min-height:265px}.home-cta-copy{position:relative;z-index:1;width:100%;padding:0 0 42px}.home-story .home-wave-cta h2{font-size:clamp(29px,7.7vw,38px);margin-bottom:20px}.home-wave-cta .button{min-width:0;width:min(100%,280px);font-size:18px;min-height:52px}.home-cta-waves{width:190%;left:-40%}}

/* The approved banner artwork supplies only the illustrated side panels. Text stays live. */
.home-cta-art{position:absolute;bottom:0;height:100%;pointer-events:none;z-index:0}
.home-cta-art-left{left:0;width:38%}
.home-story .home-wave-cta .home-cta-reassurance{color:var(--wl-cream);font-size:15px;line-height:1.4;margin:11px 0 0}
@media(max-width:900px){.home-cta-art-left{width:34%}}
@media(max-width:600px){.home-cta-art-left{width:32%;height:135px}.home-story .home-wave-cta{min-height:355px}.home-cta-copy{padding-bottom:58px}.home-story .home-wave-cta .home-cta-reassurance{font-size:13px}}

/* Replacement artwork fits inside the existing, unmoved connector panel. */
.wl-camera-journey{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}
