/* Campaign-specific refinements over the accepted STRONG production design. */
.campaign-review .hero{grid-template-columns:1.05fr 1fr}
.campaign-review .hero-copy{padding-top:48px;padding-bottom:48px}
.campaign-review .hero h1{font-size:clamp(58px,6.2vw,94px);line-height:.96;letter-spacing:-.045em}
.campaign-review .occasion{font-size:17px;margin-bottom:24px}
.campaign-review .campaign-offer{font-size:clamp(28px,2.8vw,40px);font-weight:900;line-height:1.12;letter-spacing:-.035em;margin-top:26px}
.campaign-review .hero-description{font-size:17px;line-height:1.6;max-width:460px;margin:20px 0 24px}
.campaign-review .hero-image{min-height:600px}
.campaign-review .hero-image>img{position:absolute;inset:0;width:100%;height:100%}
.campaign-review .hero-terms{font-size:15px;max-width:420px}
.scarborough.campaign-review .hero-copy{background:var(--blue);color:#000}
.scarborough.campaign-review .occasion,.scarborough.campaign-review .hero-description,.scarborough.campaign-review .hero-terms{color:#000}
.scarborough.campaign-review .hero .button{background:#000;color:#fff}
.scarborough.campaign-review .hero .button:hover{background:#252525}
.scarborough.campaign-review .hero-image>img{object-position:48% 58%}
.birthday-title-line{display:flex;align-items:center;gap:24px}
.birthday-cake-icon{width:88px;height:88px;flex:none;color:#000}
.south-perth.campaign-review .hero h1{font-size:clamp(72px,8.3vw,124px)}
.south-perth.campaign-review .hero-image>img{filter:grayscale(1);object-position:58% center}
.south-perth.campaign-review .image-caption{background:#fff;color:#000;border-bottom:1px solid #ddd}
.south-perth.campaign-review .hero .button{background:#fff;color:#000}
.south-perth.campaign-review .membership{background:#000;color:#fff}
.south-perth.campaign-review .membership .card-tag{border-color:#888}
.south-perth.campaign-review .membership .code-line{border-color:#777}
.south-perth.campaign-review .membership .copy{color:#fff}
.south-perth.campaign-review .membership .purchase{background:#fff;color:#000}
.south-perth.campaign-review .membership .purchase:hover{background:#eee}
.south-perth.campaign-review .membership .card-note{color:#ddd}
.south-perth.campaign-review .checkout-meta{background:#ededeb;border-color:#d7d7d3}
.south-perth.campaign-review .closing{background:#000;color:#fff;border-bottom:1px solid #555}
.south-perth.campaign-review .closing .button{background:#fff;color:#000}
.campaign-review .offers{padding-top:56px}
.scarborough.campaign-review .birthday-label{display:inline-block;background:var(--blue);color:#000;padding:9px 14px;margin-bottom:22px;transform:rotate(-2deg);transform-origin:left center}
.scarborough.campaign-review .code-line{border-top:1px dashed #0006;padding:21px 0 19px}
.scarborough.campaign-review .code-line strong{display:inline-block;margin-left:5px;letter-spacing:.06em}
.scarborough.campaign-review .birthday-number{font-size:164px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:2px #000;flex:1;text-align:center;user-select:none}
.scarborough.campaign-review .birthday-number[hidden]{display:none}
.campaign-review .reassurance{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:12px;padding-bottom:64px}
.reassurance>img{width:100%;height:400px;object-fit:cover;object-position:center 35%}
.reassurance h2{font-size:clamp(30px,3.1vw,44px);line-height:1.12}
.reassurance p:not(.overline){color:#555;margin-top:22px;max-width:510px}
.reassurance .text-link{border-color:#000}
.campaign-review .proof-inner{padding-top:48px;padding-bottom:48px;gap:48px}
.campaign-review .proof h2{font-size:36px;margin-bottom:16px}
.campaign-review .proof blockquote{font-size:23px;margin:18px 0 12px}
.campaign-review .proof .text-link{margin-top:20px}
.campaign-review .rating>strong{font-size:82px}
.campaign-review .room{padding-top:56px;padding-bottom:0}
.campaign-review .gallery img{height:250px}
.campaign-review .amenities{margin-top:24px;padding:24px 28px;gap:28px}
.campaign-review .amenities h3{font-size:24px}
.campaign-review .amenities .facilities li{padding:12px 0}
.campaign-review .faq{padding-top:56px;padding-bottom:56px}
.campaign-review .schedule{padding-bottom:50px}
.campaign-review .find-us{padding:40px 0}
.campaign-review .map-grid iframe{height:300px}
.campaign-review .map-grid h2{font-size:38px}
.campaign-review .closing-inner{padding-top:42px;padding-bottom:42px}
.campaign-review .closing h2{font-size:42px}
@media(min-width:768px) and (max-width:1100px){
 .campaign-review .hero h1{font-size:60px}
 .south-perth.campaign-review .hero h1{font-size:80px}
 .campaign-review .reassurance{gap:32px}
 .birthday-cake-icon{width:64px;height:64px}
 .scarborough.campaign-review .birthday-number{font-size:116px}
}
@media(max-width:767px){
 .campaign-review .hero{display:flex}
 .campaign-review .hero-copy{padding:32px 24px 34px}
 .campaign-review .occasion{font-size:16px;margin-bottom:20px}
 .campaign-review .hero h1{font-size:clamp(49px,12.8vw,76px)}
 .south-perth.campaign-review .hero h1{font-size:clamp(68px,18vw,100px)}
 .campaign-review .campaign-offer{font-size:30px;margin-top:22px}
 .campaign-review .hero-description{font-size:16px;margin:18px 0 24px}
 .campaign-review .hero-terms{font-size:15px;margin-top:18px;max-width:330px}
 .campaign-review .hero-image{height:280px;min-height:0}
 .scarborough.campaign-review .hero-image>img{object-position:50% 62%}
 .birthday-title-line{gap:16px}
 .birthday-cake-icon{width:56px;height:56px}
 .campaign-review .offers{padding-top:38px;padding-bottom:26px}
 .scarborough.campaign-review .birthday-label{font-size:14px;margin-bottom:22px;padding:9px 12px;max-width:100%}
 .scarborough.campaign-review .code-line{padding:18px 0}
 .scarborough.campaign-review .code-line strong{margin-left:2px;letter-spacing:.03em}
 .scarborough.campaign-review .birthday-number{display:none}
 .campaign-review .reassurance{display:flex;flex-direction:column;gap:24px;padding-top:0;padding-bottom:40px;align-items:stretch}
 .reassurance>img{height:260px;object-position:center 35%}
 .reassurance h2{font-size:32px}
 .reassurance p:not(.overline){margin-top:18px}
 .reassurance .text-link{margin-top:22px}
 .campaign-review .proof-inner{padding-top:36px;padding-bottom:36px}
 .campaign-review .proof h2{font-size:32px}
 .campaign-review .proof blockquote{font-size:20px}
 .campaign-review .proof .rating{margin-top:24px;padding-top:22px}
 .campaign-review .rating>strong{font-size:64px}
 .campaign-review .room{padding-top:40px}
 .campaign-review .room h2{font-size:32px}
 .campaign-review .gallery img{height:170px}
 .campaign-review .gallery img:first-child{height:220px}
 .campaign-review .amenities{padding:20px;gap:10px}
 .campaign-review .amenities .facilities{grid-template-columns:1fr 1fr;gap:0 20px}
 .campaign-review .amenities .facilities li{font-size:15px}
 .campaign-review .faq{padding-top:40px;padding-bottom:40px}
 .campaign-review .schedule{padding-bottom:40px}
 .campaign-review .find-us{padding:32px 0}
 .campaign-review .map-grid iframe{height:240px;margin-top:24px}
 .campaign-review .map-grid h2{font-size:32px}
 .campaign-review .closing-inner{padding-top:34px;padding-bottom:34px}
 .campaign-review .closing h2{font-size:34px}
 .campaign-review .closing .button{margin-top:24px}
}
