@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Nunito+Sans:wght@400;600;700;800;900&display=swap');
:root{--yellow:#f6c83f;--yellow2:#ffd95a;--black:#111214;--char:#1c1d20;--grey:#74777c;--light:#f5f5f3;--white:#fff;--line:rgba(17,18,20,.12);--shadow:0 20px 60px rgba(0,0,0,.13);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Nunito Sans',Arial,sans-serif;color:var(--black);background:var(--white);line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(1160px,92%);margin:auto}.nav{position:sticky;top:0;z-index:50;background:rgba(17,18,20,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:142px;height:auto}.nav-links{display:flex;align-items:center;gap:8px}.nav-links a{color:#fff;font-weight:800;font-size:14px;padding:10px 13px;border-radius:999px;transition:.2s}.nav-links a:hover,.nav-links a.active{background:var(--yellow);color:var(--black)}.nav-cta{background:var(--yellow)!important;color:var(--black)!important}.menu{display:none;border:0;background:transparent;color:#fff;font-size:28px}.hero{min-height:calc(100vh - 76px);height:calc(100vh - 76px);display:grid;align-items:center;padding:24px 0 30px;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 20%,rgba(246,200,63,.28),transparent 30%),linear-gradient(135deg,#0d0e10 0%,#222429 55%,#101113 100%);color:#fff}.hero:after{content:'';position:absolute;inset:auto -10% -35% 25%;height:70%;background:linear-gradient(135deg,transparent 0 45%,rgba(246,200,63,.18) 46% 48%,transparent 49%);transform:rotate(-7deg)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.eyebrow:before{content:'';width:34px;height:4px;background:var(--yellow);border-radius:99px}.hero h1{font-family:Montserrat,sans-serif;font-size:clamp(50px,5.2vw,70px);line-height:.95;margin:14px 0 18px;letter-spacing:-.055em;text-transform:none}.hero h1 .hero-line{display:block;white-space:nowrap}.hero h1 .hero-line-white{color:#fff!important}.hero h1 span{color:var(--yellow);display:block}.hero p{font-size:18px;color:#d7d8da;max-width:650px}.hero p strong{color:#fff;font-weight:900}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;margin-bottom:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:14px 22px;font-weight:900;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}.btn-primary{background:var(--yellow);color:var(--black)}.btn-dark{background:#fff;color:var(--black)}.btn-outline{border:1px solid rgba(255,255,255,.22);color:#fff;background:transparent}.hero-card{border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.13);box-shadow:0 30px 80px rgba(0,0,0,.4);transform:rotate(2deg)}.hero-card img{width:100%;height:clamp(380px,58vh,470px);object-fit:cover}.hero-card .caption{background:#17181b;padding:16px 20px;font-weight:800}.strip{background:var(--yellow);color:var(--black)}.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:transparent}.strip-item{padding:22px 20px;text-align:center;font-weight:900;background:var(--yellow);box-shadow:none;text-shadow:none}.section{padding:112px 0}.section.dark{background:var(--char);color:#fff}.section.grey{background:var(--light)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:52px}.kicker{color:#9a9ca1;font-weight:900;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.section h2{font-family:Montserrat,sans-serif;font-size:clamp(32px,5vw,58px);line-height:1;margin:8px 0 0;letter-spacing:-.04em}.section h2 span{color:var(--yellow)}.section-lead{max-width:640px;color:#65676c}.dark .section-lead{color:#c7c8ca}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.05)}.dark .card{background:#26272b;border-color:rgba(255,255,255,.08)}.card h3{font-family:Montserrat,sans-serif;margin:8px 0 12px;font-size:24px}.price{font-size:42px;font-weight:900;color:var(--yellow);line-height:1}.service-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--yellow);font-size:24px}.more{margin-top:18px;color:var(--black);background:var(--yellow);padding:10px 16px;border-radius:999px;font-weight:900;border:0;cursor:pointer}.dark .more{color:var(--black)}.photo-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.photo-grid .big{grid-row:span 2}.photo-grid img{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.stat{padding:24px;border-radius:20px;background:var(--light);text-align:center}.stat strong{display:block;font-family:Montserrat;font-size:35px;color:var(--black)}.stat span{font-weight:800;color:#686a6f}.testimonial{background:#fff;border-radius:24px;padding:28px;border:1px solid var(--line)}.stars{color:var(--yellow);letter-spacing:2px}.testimonial p{font-size:17px}.testimonial small{font-weight:900;color:#777}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{height:220px;object-fit:cover;border-radius:18px;transition:.25s}.gallery img:hover{transform:scale(1.02)}.banner{border-radius:30px;overflow:hidden;position:relative;background:#16171a;color:#fff}.banner img{width:100%;height:360px;object-fit:cover;opacity:.72}.banner-content{position:absolute;inset:0;padding:50px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.05))}.banner-content h2{max-width:600px}.voucher{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.voucher img{border-radius:24px;box-shadow:var(--shadow)}.footer{background:#0d0e10;color:#d5d6d8;padding:60px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}.footer h3{color:#fff}.footer a:hover{color:var(--yellow)}.socials{display:flex;gap:10px;margin-top:18px}.social{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#232428}.copyright{border-top:1px solid rgba(255,255,255,.08);margin-top:40px;padding-top:20px;color:#777}.page-hero{background:#151619;color:#fff;padding:70px 0}.page-hero h1{font-family:Montserrat;font-size:clamp(42px,7vw,72px);margin:8px 0}.page-hero p{color:#c6c7ca;max-width:none;white-space:nowrap;font-size:17px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{border-radius:26px;background:#fff;border:1px solid var(--line);padding:30px;box-shadow:0 12px 40px rgba(0,0,0,.06)}.course-card.featured{background:var(--yellow);transform:translateY(-10px)}.course-card .price{color:var(--black);margin:18px 0}.course-card ul{padding-left:20px}.faq{display:grid;gap:12px}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px}.faq summary{cursor:pointer;font-weight:900}.links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.link-card{padding:24px;border-radius:20px;background:var(--light);font-weight:900;transition:.2s}.link-card:hover{background:var(--yellow);transform:translateY(-2px)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.contact-card{background:#17181b;color:#fff;border-radius:26px;padding:30px}.contact-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}.contact-row:last-child{border:0}.contact-row strong{display:block}.contact-row a{color:#fff}.contact-row a:hover{color:var(--yellow)}.form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:14px;padding:13px 14px;outline:0}.field input:focus,.field textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 4px rgba(246,200,63,.18)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{position:relative;width:min(760px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:26px;padding:34px;box-shadow:0 30px 100px rgba(0,0,0,.35)}.modal-close{position:absolute;right:14px;top:14px;border:0;width:40px;height:40px;border-radius:50%;background:#eee;font-size:23px;cursor:pointer}.modal-box h3{font-family:Montserrat;font-size:30px;margin-top:0}.modal-box img{max-height:70vh;object-fit:contain;margin:auto;border-radius:14px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(20px);background:#111;color:#fff;padding:13px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:120}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:900px){.hero{height:auto;min-height:auto}.hero-grid,.voucher,.contact-grid{grid-template-columns:1fr}.hero-card{transform:none}.hero-card img{height:390px}.cards,.course-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.links{grid-template-columns:1fr 1fr}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#111214;padding:14px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{text-align:center}.menu{display:block}}
@media(max-width:600px){.section{padding:82px 0}.hero{min-height:auto;padding:64px 0 82px}.hero h1{font-size:44px}.hero h1 .hero-line{white-space:normal}.hero p{font-size:17px}.strip-grid,.cards,.course-grid,.gallery,.links,.stats,.footer-grid{grid-template-columns:1fr}.section-head{display:block}.photo-grid{grid-template-columns:1fr}.photo-grid .big{grid-row:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.banner img{height:430px}.banner-content{padding:28px}.brand img{width:125px}.nav-inner{height:68px}.nav-links{top:68px}}

/* Refined courses page */
.courses-hero{background:linear-gradient(135deg,#101114 0%,#202226 58%,#0f1012 100%);color:#fff;padding:78px 0 88px;position:relative;overflow:hidden}.courses-hero:after{content:'';position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-230px;background:rgba(246,200,63,.13);filter:blur(2px)}.courses-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:1}.courses-hero h1{font-family:Montserrat,sans-serif;font-size:clamp(48px,7vw,82px);line-height:.94;letter-spacing:-.055em;margin:18px 0 24px}.courses-hero h1 span{display:block;color:var(--yellow)}.courses-hero p{max-width:650px;color:#d4d5d7;font-size:19px}.courses-hero-card{border:1px solid rgba(255,255,255,.14);background:#17181b;border-radius:30px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.38);transform:rotate(1.2deg)}.courses-hero-card img{height:390px;width:100%;object-fit:cover}.courses-hero-card div{padding:18px 22px}.courses-hero-card strong,.courses-hero-card span{display:block}.courses-hero-card span{color:#aeb0b4;margin-top:3px}.courses-head{align-items:end}.course-grid-main{grid-template-columns:1.1fr .95fr .95fr;align-items:stretch}.course-card{position:relative;display:flex;flex-direction:column;min-height:500px}.featured-course{background:var(--yellow);border-color:var(--yellow);box-shadow:0 22px 55px rgba(0,0,0,.12);transform:translateY(-8px)}.course-badge{display:inline-flex;align-self:flex-start;padding:7px 11px;border-radius:999px;background:#17181b;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.course-badge.neutral{background:#f0f1f2;color:#55575c}.course-icon{width:58px;height:58px;border-radius:18px;background:#17181b;color:var(--yellow);display:grid;place-items:center;font-family:Montserrat;font-weight:900;font-size:23px;margin:22px 0 16px}.course-card h2{font-family:Montserrat,sans-serif;font-size:30px;line-height:1.05;margin:0 0 12px;letter-spacing:-.03em}.course-intro{color:#64666b;min-height:74px}.featured-course .course-intro{color:#26272a}.price-large{font-family:Montserrat,sans-serif;font-size:54px;font-weight:900;line-height:1;margin:18px 0 2px;letter-spacing:-.05em}.price-large span,.pricing-number span{font-size:.45em;letter-spacing:0}.small-price{font-size:48px}.price-note{font-size:13px;font-weight:900;color:#777a80;margin-bottom:16px}.featured-course .price-note{color:#38393c}.check-list{list-style:none;padding:0;margin:8px 0 22px;display:grid;gap:9px}.check-list li{position:relative;padding-left:26px;color:#55575c;font-weight:700}.featured-course .check-list li{color:#27282b}.check-list li:before{content:'✓';position:absolute;left:0;top:0;font-weight:900}.course-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}.more-light{background:#fff}.course-details{background:#111214;color:#fff}.details-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.details-copy h2{font-family:Montserrat,sans-serif;font-size:clamp(38px,5vw,62px);line-height:1;letter-spacing:-.04em;margin:10px 0 20px}.details-copy h2 span{color:var(--yellow)}.details-copy>p{color:#c4c6ca;max-width:680px;font-size:18px}.detail-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.detail-points>div{border-top:1px solid rgba(255,255,255,.14);padding-top:16px}.detail-points strong{color:var(--yellow);font-family:Montserrat;font-size:13px}.detail-points span{display:block;font-weight:900;margin-top:7px}.detail-points p{color:#aeb0b4;font-size:14px}.pricing-box{background:#fff;color:#111;border-radius:28px;padding:32px;box-shadow:0 25px 70px rgba(0,0,0,.3)}.pricing-number{font-family:Montserrat;font-size:70px;font-weight:900;line-height:1;margin:15px 0 3px;letter-spacing:-.06em}.pricing-box>p{color:#777;margin:0 0 24px}.pricing-line{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid #e7e7e8}.pricing-box .btn{width:100%;margin-top:20px}.course-banner{margin:0}.course-banner .banner-content{padding:45px}.course-banner .banner-content h2{font-size:clamp(30px,5vw,52px);margin-bottom:10px}.course-banner .banner-content p{font-size:18px;color:#fff;margin-top:0;margin-bottom:20px}
@media(max-width:900px){.courses-hero-grid,.details-grid{grid-template-columns:1fr}.courses-hero-card{transform:none}.course-grid-main{grid-template-columns:1fr 1fr}.featured-course{transform:none}.detail-points{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.courses-hero{padding:62px 0}.courses-hero h1{font-size:52px}.courses-hero p{font-size:17px}.courses-hero-card img{height:280px}.course-grid-main{grid-template-columns:1fr}.course-card{min-height:auto}.detail-points{grid-template-columns:1fr}.pricing-number{font-size:58px}.course-banner .banner-content{padding:28px}}


/* Dynamic photo gallery */
.gallery-mosaic{display:grid;grid-template-columns:1.25fr .8fr .8fr;grid-auto-rows:210px;gap:16px}.gallery-tile{position:relative;overflow:hidden;border-radius:24px;min-height:210px;background:#17181b;box-shadow:0 14px 40px rgba(0,0,0,.10);display:block}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-tile:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}.gallery-tile span{position:absolute;left:20px;bottom:16px;color:#fff;font-weight:900;z-index:2;font-size:15px}.gallery-tile:hover img{transform:scale(1.055)}.tile-main{grid-row:span 2}.tile-wide{grid-column:span 2}.tile-tall{grid-row:span 2}.tile-small{grid-row:span 1}.gallery-action{text-align:center;margin-top:24px}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:18px}.gallery-card{position:relative;margin:0;border-radius:24px;overflow:hidden;background:#17181b;box-shadow:0 16px 45px rgba(0,0,0,.09);min-height:260px}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-card:hover img{transform:scale(1.04)}.gallery-card:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}.gallery-card figcaption{position:absolute;left:20px;right:20px;bottom:16px;color:#fff;font-weight:900;z-index:2;font-size:16px}.gallery-card-large{grid-row:span 2}.gallery-card-wide{grid-column:span 2}.gallery-card-wide img{object-position:center}.page-hero h1 span{color:var(--yellow)}
@media(max-width:900px){.gallery-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.tile-main,.tile-tall{grid-row:span 2}.tile-wide{grid-column:span 2}.gallery-page-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.gallery-card-large{grid-row:span 2}.gallery-card-wide{grid-column:span 2}}
@media(max-width:600px){.gallery-mosaic,.gallery-page-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-tile,.tile-main,.tile-wide,.tile-tall,.tile-small,.gallery-card,.gallery-card-large,.gallery-card-wide{grid-column:auto;grid-row:auto}.gallery-tile img,.gallery-card img{height:100%}}

/* Gallery sections and contextual captions */
.gallery-section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.gallery-section-head>p{max-width:760px;margin:0;color:#686a6f;font-size:17px;line-height:1.55}.grey .gallery-section-head>p{color:#686a6f}.gallery-section-head h2{margin-bottom:0}.campaign-grid .gallery-card:first-child{grid-row:span 2}.gifts-grid .gallery-card-wide{min-height:420px}.gifts-grid .gallery-card-large{min-height:420px}.testimonials-gallery .gallery-card-large{min-height:520px}.testimonials-gallery .gallery-card img{object-fit:contain;background:#f3f4f5}.gallery-card figcaption{line-height:1.3}
@media(max-width:900px){.gallery-section-head{display:block;margin-bottom:30px}.gallery-section-head>p{margin-top:14px}.gifts-grid .gallery-card-wide,.gifts-grid .gallery-card-large,.testimonials-gallery .gallery-card-large{min-height:420px}}
@media(max-width:600px){.gallery-section-head{margin-bottom:24px}.gallery-section-head h2{font-size:38px}.gallery-section-head>p{font-size:16px}.gifts-grid .gallery-card-wide,.gifts-grid .gallery-card-large,.testimonials-gallery .gallery-card-large{min-height:300px}}


/* Category B signup requirements */
.signup-requirements { padding-top: 72px; padding-bottom: 72px; }
.signup-requirements-card { background: #202124; color: #fff; border-radius: 28px; padding: 42px; display: grid; grid-template-columns: 1fr 1.25fr; gap: 34px; align-items: start; box-shadow: 0 18px 50px rgba(0,0,0,.12); }
.signup-requirements-copy h2 { margin: 8px 0 14px; }
.signup-requirements-copy h2 span { color: var(--yellow, #f7c62f); }
.signup-requirements-copy p { color: rgba(255,255,255,.78); max-width: 560px; }
.signup-requirements-list { display: grid; gap: 12px; }
.requirement-item { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; padding: 16px 18px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.045); border-radius: 16px; }
.requirement-item span { color: var(--yellow, #f7c62f); font-weight: 800; font-size: .82rem; padding-top: 2px; }
.requirement-item strong { line-height: 1.5; font-weight: 650; }
.signup-requirements-action { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.12); }
.signup-requirements-action p { margin: 0; color: rgba(255,255,255,.78); }
@media (max-width: 800px) {
  .signup-requirements-card { grid-template-columns: 1fr; padding: 28px 22px; }
  .signup-requirements-action { grid-column: auto; flex-direction: column; align-items: flex-start; }
}

.campaign-story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:20px}.campaign-story-grid .gallery-card-large{grid-row:span 2}.campaign-copy{margin-top:28px;max-width:950px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--light)}.campaign-copy p{margin:0 0 18px}.campaign-copy p:last-child{margin-bottom:0}.campaign-story .gallery-card img{height:300px}.campaign-story .gallery-card-large img{height:620px}@media(max-width:900px){.campaign-story-grid{grid-template-columns:1fr}.campaign-story-grid .gallery-card-large{grid-row:auto}.campaign-story .gallery-card img,.campaign-story .gallery-card-large img{height:360px}}

/* Clean caption treatment for the framed-picture gift */
.gallery-card-caption-below{overflow:visible;background:transparent;box-shadow:none;min-height:0;display:flex;flex-direction:column;gap:12px}
.gallery-card-caption-below img{height:calc(100% - 42px);min-height:0;border-radius:24px;object-fit:cover}
.gallery-card-caption-below:after{display:none}
.gallery-card-caption-below figcaption{position:static;padding:0 4px;color:var(--ink);font-weight:800;font-size:15px;line-height:1.35}

/* Gifts gallery: balanced three-card layout */
.gifts-balanced-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;align-items:start}
.gifts-balanced-grid .gallery-card-caption-below{min-height:0;height:auto}
.gifts-balanced-grid .gallery-card-caption-below img{width:100%;height:330px;min-height:330px;object-fit:cover}
.gifts-balanced-grid .gallery-card-caption-below figcaption{min-height:42px;padding:0 4px 4px;font-size:15px;line-height:1.35}
@media(max-width:900px){.gifts-balanced-grid{grid-template-columns:1fr 1fr}.gifts-balanced-grid .gallery-card-caption-below img{height:280px;min-height:280px}}
@media(max-width:600px){.gifts-balanced-grid{grid-template-columns:1fr}.gifts-balanced-grid .gallery-card-caption-below img{height:300px;min-height:300px}}

@media(max-width:600px){.page-hero p{white-space:normal}}

/* Final campaign typography */
.campaign-title-final { line-height: 1.18; }
.campaign-description-final { line-height: 1.5; }

/* Campaign section — compact typography */
.campaign-title-final { font-size: 1.35rem !important; line-height: 1.2 !important; }
.campaign-description-final { font-size: 0.92rem !important; line-height: 1.45 !important; }

/* Final homepage campaign banner */
.campaign-home-banner .banner-content {
  padding: 28px 34px !important;
}
.campaign-home-banner .campaign-kicker {
  display: inline-block !important;
  font-size: 0.92rem !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.campaign-home-banner .campaign-title {
  font-size: 1.55rem !important;
  line-height: 1.18 !important;
  margin: 0 0 10px !important;
}
.campaign-home-banner .campaign-title span {
  font-size: inherit !important;
}
.campaign-home-banner .campaign-description {
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
@media (max-width: 700px) {
  .campaign-home-banner .banner-content {
    padding: 22px 20px !important;
  }
  .campaign-home-banner .campaign-title {
    font-size: 1.3rem !important;
  }
  .campaign-home-banner .campaign-description {
    font-size: 0.88rem !important;
  }
}

/* Gift voucher layout refinement */
.voucher {
  align-items: center;
  gap: 42px !important;
}
.voucher > div {
  padding-right: 12px;
}
.voucher > img {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  height: auto !important;
  object-fit: contain !important;
}
.voucher .btn {
  margin-top: 24px !important;
}
@media (max-width: 800px) {
  .voucher {
    gap: 26px !important;
  }
  .voucher > img {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }
  .voucher .btn {
    margin-top: 20px !important;
  }
}

/* Gift voucher: button below image */
.voucher {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: center !important;
}
.voucher > img {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;
}
.voucher > div {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.voucher > div .btn {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  top: calc(100% + 28px) !important;
}
.voucher {
  position: relative !important;
  margin-bottom: 72px !important;
}
@media (max-width: 800px) {
  .voucher {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin-bottom: 0 !important;
  }
  .voucher > div,
  .voucher > img {
    width: 100% !important;
  }
  .voucher > img {
    order: 1 !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }
  .voucher > div {
    order: 0 !important;
  }
  .voucher > div .btn {
    position: static !important;
    transform: none !important;
    display: block !important;
    width: fit-content !important;
    margin: 28px auto 0 !important;
  }
}

/* Final gift voucher layout: button directly below the image */
.voucher {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px) !important;
  gap: 48px !important;
  align-items: center !important;
}
.voucher-copy {
  grid-column: 1 !important;
}
.voucher-visual {
  grid-column: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.voucher-visual img {
  width: 100% !important;
  max-width: 430px !important;
  height: auto !important;
  display: block !important;
}
.voucher-visual .btn {
  position: static !important;
  transform: none !important;
  margin-top: 28px !important;
}
@media (max-width: 800px) {
  .voucher {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }
  .voucher-copy,
  .voucher-visual {
    width: 100% !important;
  }
  .voucher-visual img {
    max-width: 360px !important;
    margin: 0 auto !important;
  }
  .voucher-visual .btn {
    margin-top: 28px !important;
  }
}

/* Gift voucher — final two-column layout */
.voucher {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px) !important;
  grid-template-rows: auto auto !important;
  column-gap: 56px !important;
  row-gap: 28px !important;
  align-items: center !important;
}
.voucher-copy { grid-column: 1 !important; grid-row: 1 !important; padding: 0 !important; }
.voucher-visual { grid-column: 2 !important; grid-row: 1 !important; display: flex !important; justify-content: center !important; align-items: center !important; }
.voucher-visual img { display: block !important; width: 100% !important; max-width: 460px !important; height: auto !important; object-fit: contain !important; }
.voucher-action { grid-column: 1 / -1 !important; grid-row: 2 !important; display: flex !important; justify-content: center !important; margin-top: 8px !important; }
.voucher-action .btn { position: static !important; transform: none !important; margin: 0 !important; }
@media (max-width: 800px) {
  .voucher { display: flex !important; flex-direction: column !important; gap: 22px !important; }
  .voucher-copy, .voucher-visual, .voucher-action { width: 100% !important; }
  .voucher-copy { order: 0 !important; }
  .voucher-visual { order: 1 !important; }
  .voucher-action { order: 2 !important; }
  .voucher-visual img { max-width: 380px !important; margin: 0 auto !important; }
}

/* FINAL voucher layout — text left, image right, button under image */
.voucher {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 460px) !important;
  grid-template-rows: auto auto !important;
  column-gap: 56px !important;
  row-gap: 26px !important;
  align-items: center !important;
}
.voucher-copy {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}
.voucher-visual {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.voucher-visual img {
  display: block !important;
  width: 100% !important;
  max-width: 460px !important;
  height: auto !important;
}
.voucher-action {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.voucher-action .btn {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .voucher {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 22px !important;
  }
  .voucher-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .voucher-visual {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .voucher-action {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }
}

/* HARD OVERRIDE — voucher desktop must be text LEFT, image RIGHT */
@media (min-width: 901px) {
  .voucher {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  .voucher-copy {
    order: 1 !important;
    flex: 0 0 calc(50% - 28px) !important;
    width: calc(50% - 28px) !important;
    max-width: calc(50% - 28px) !important;
  }

  .voucher-visual {
    order: 2 !important;
    flex: 0 0 calc(50% - 28px) !important;
    width: calc(50% - 28px) !important;
    max-width: calc(50% - 28px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .voucher-visual img {
    order: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 460px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .voucher-action {
    order: 3 !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    margin-left: 50% !important;
    display: flex !important;
    justify-content: center !important;
    padding-top: 28px !important;
  }
}

@media (max-width: 900px) {
  .voucher {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .voucher-copy { order: 1 !important; }
  .voucher-visual { order: 2 !important; }
  .voucher-action { order: 3 !important; }
}

.local-seo-copy p{max-width:900px;color:#5f6267;font-size:17px;line-height:1.7}.local-seo-copy{padding-top:30px}
