
/* Brisbane Beacon campaign landing pages | shared responsive design */
:root{--lp-ink:#183341;--lp-teal:#0b6876;--lp-coral:#f27e65;--lp-yellow:#ffca71;--lp-paper:#f7f7f2}
.bb-landing{max-width:1320px;margin:auto;padding:0 clamp(16px,3vw,34px) 90px;color:var(--lp-ink)}
.bb-landing *{box-sizing:border-box}
.bb-landing .eyebrow{font:800 .78rem/1.4 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.bb-landing .bb-heading{font:700 clamp(2rem,4.1vw,3.6rem)/1.12 Georgia,serif;letter-spacing:-.035em;margin:0 0 18px}
.bb-landing .bb-lead{font-size:clamp(1rem,1.5vw,1.23rem);line-height:1.65;max-width:690px}
.bb-landing .bb-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 23px;min-height:48px;border-radius:999px;background:#103b49;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 10px 24px #0c334026;transition:transform .2s,box-shadow .2s}
.bb-landing .bb-btn:hover{transform:translateY(-2px);box-shadow:0 15px 26px #0c334039}
.bb-landing .bb-btn.light{background:#fff;color:#103b49!important}
.bb-landing .bb-btn.gold{background:var(--lp-yellow);color:#193542!important}
.bb-landing .bb-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px}
.bb-landing .bb-kicker{display:inline-flex;border:1px solid #ffffff75;border-radius:99px;padding:8px 13px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.bb-landing .bb-feature-hero{position:relative;margin:24px 0 36px;isolation:isolate;overflow:hidden;border-radius:28px;min-height:400px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;background:#0d4353;color:white;box-shadow:0 25px 60px #173e4924}
.bb-landing .bb-feature-hero .bb-hero-copy{padding:clamp(28px,5vw,75px);z-index:2;position:relative}
.bb-landing .bb-feature-hero h1{color:inherit;font:700 clamp(2.8rem,6vw,5.6rem)/1.04 Georgia,serif;letter-spacing:-.055em;margin:18px 0}
.bb-landing .bb-feature-hero p{color:inherit;opacity:.93;line-height:1.65;font-size:1.13rem;max-width:630px}
.bb-landing .bb-hero-photo{height:100%;min-height:420px;position:relative;background-position:center;background-size:cover}
.bb-landing .bb-hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d4353 0%,transparent 38%)}
.bb-landing .bb-section{margin:65px 0}
.bb-landing .bb-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 25px}
.bb-landing .bb-section-head p{max-width:570px;color:#5d6f76;margin:0}
.bb-landing .bb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bb-landing .bb-card{border-radius:21px;background:#fff;border:1px solid #dae4e5;overflow:hidden;box-shadow:0 8px 25px #133a440b;transition:transform .2s,box-shadow .2s}
.bb-landing .bb-card:hover{transform:translateY(-4px);box-shadow:0 17px 32px #133a4423}
.bb-landing .bb-card-body{padding:24px}
.bb-landing .bb-card h3{font:700 1.35rem/1.2 Georgia,serif;margin:8px 0 10px}
.bb-landing .bb-card p{color:#5d7078;line-height:1.55;margin:0}
.bb-landing .bb-card a:not(.bb-btn){color:#00667d;font-weight:800}
.bb-landing .bb-card-photo{height:190px;background-size:cover;background-position:center}
.bb-landing .bb-tag{display:inline-flex;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em;color:#99562b}
.bb-landing .bb-statline{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.bb-landing .bb-statline span{background:#ffffffdb;color:#203e49;padding:9px 14px;border-radius:99px;font-weight:750;font-size:.85rem}
.bb-landing .bb-panel{border-radius:22px;padding:clamp(24px,4vw,45px);background:#eff4f3;border:1px solid #dce8e5}
.bb-landing .bb-panel.dark{background:#133b4b;color:white;border-color:transparent}
.bb-landing .bb-panel.dark h2,.bb-landing .bb-panel.dark p{color:white}
.bb-landing .bb-panel h2{font:700 clamp(1.8rem,3vw,2.7rem)/1.16 Georgia,serif;margin:0 0 14px}
.bb-landing .bb-disclosure{font-size:.87rem;line-height:1.6;color:#536d75;padding:20px 0}
.bb-landing .bb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bb-landing .bb-step{padding:26px;background:#fff;border-radius:18px;border:1px solid #dae5e6}
.bb-landing .bb-step .bb-num{font-weight:850;color:#137285;font-size:2.2rem}
.bb-landing .bb-step p{color:#5d7078}
.bb-landing.local-picks .bb-feature-hero{background:#ffe1ab;color:#203b41;min-height:470px}
.bb-landing.local-picks .bb-feature-hero h1{color:#203b41}
.bb-landing.local-picks .bb-feature-hero .bb-kicker{border-color:#df8f62}
.bb-landing.local-picks .bb-hero-photo:before{background:linear-gradient(90deg,#ffe1ab,transparent 60%)}
.bb-landing.local-picks .bb-squiggle{position:absolute;width:280px;height:280px;border:30px solid #f58874;border-radius:50%;right:10%;top:-160px;opacity:.75;pointer-events:none}
.bb-landing.local-picks .bb-sticker{position:absolute;right:5%;bottom:7%;transform:rotate(9deg);padding:18px;background:#fff9e8;border:2px dashed #e7804b;border-radius:50%;width:130px;height:130px;display:grid;place-items:center;text-align:center;font-weight:950;color:#c4612e;box-shadow:0 12px 22px #2338;z-index:3}
.bb-landing.local-picks .bb-card:nth-child(3n+1){background:#fff5e9}
.bb-landing.local-picks .bb-card:nth-child(3n+2){background:#e9f6f2}
.bb-landing.local-picks .bb-card:nth-child(3n+3){background:#f9edf1}
.bb-landing.local-picks .bb-card{border:2px solid #ffffff;box-shadow:0 9px 30px #17384014}
.bb-landing.local-picks .bb-card-icon{font-size:2.2rem;display:block}
.bb-landing.agency-page .bb-feature-hero{background:#122e3d}
.bb-landing.agency-page .bb-hero-photo:before{background:linear-gradient(90deg,#122e3d,transparent 65%)}
.bb-landing.agency-page .bb-card{border-top:4px solid #b28c50}
.bb-landing.guide-page .bb-feature-hero{background:#0b5969}
.bb-landing.guide-page .bb-hero-photo:before{background:linear-gradient(90deg,#0b5969,transparent 63%)}
.bb-landing .bb-timeline{display:grid;gap:18px}
.bb-landing .bb-stop{display:grid;grid-template-columns:95px minmax(0,1fr) 220px;align-items:stretch;gap:18px;border:1px solid #d8e4e5;border-radius:20px;background:#fff;overflow:hidden;min-height:170px}
.bb-landing .bb-stop-time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#e8f3f1;color:#115064;font-weight:850;text-align:center;padding:14px}
.bb-landing .bb-stop-time small{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}
.bb-landing .bb-stop-copy{padding:22px 0}
.bb-landing .bb-stop-copy h3{font:700 1.5rem/1.17 Georgia,serif;margin:0 0 9px}
.bb-landing .bb-stop-copy p{margin:0;color:#5c6c75}
.bb-landing .bb-stop-copy a{display:inline-block;margin-top:9px;font-weight:750;color:#086b80}
.bb-landing .bb-stop-photo{background-position:center;background-size:cover}
.bb-landing .bb-day-label{display:inline-block;font-size:.8rem;font-weight:900;color:#127083;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
@media(max-width:1000px){.bb-landing .bb-feature-hero{grid-template-columns:1fr}.bb-landing .bb-hero-photo{min-height:240px;order:-1}.bb-landing .bb-hero-photo:before{background:linear-gradient(0deg,#0d4353,transparent 70%)}.bb-landing.local-picks .bb-hero-photo:before{background:linear-gradient(0deg,#ffe1ab,transparent 70%)}.bb-landing .bb-feature-hero .bb-hero-copy{padding:30px}.bb-landing .bb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-landing .bb-stop{grid-template-columns:80px minmax(0,1fr) 160px}}
@media(max-width:640px){.bb-landing{padding:0 14px 55px}.bb-landing .bb-feature-hero{margin-top:15px;border-radius:20px}.bb-landing .bb-feature-hero h1{font-size:clamp(2.7rem,11vw,4rem)}.bb-landing .bb-feature-hero .bb-hero-copy{padding:27px 20px}.bb-landing .bb-grid,.bb-landing .bb-steps{grid-template-columns:1fr}.bb-landing .bb-section{margin:42px 0}.bb-landing .bb-stop{grid-template-columns:66px minmax(0,1fr);gap:12px}.bb-landing .bb-stop-time{padding:10px 4px}.bb-landing .bb-stop-copy{padding:19px 14px 19px 0}.bb-landing .bb-stop-photo{display:none}.bb-landing.local-picks .bb-sticker{height:85px;width:85px;font-size:.73rem;bottom:auto;top:190px;right:3%}.bb-landing .bb-statline span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.bb-landing .bb-card,.bb-landing .bb-btn{transition:none}}

/* Local Picks: playful retrospective editorial collections, plus sponsor separation */
.bb-landing .bb-monthly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bb-landing .bb-month{background:#fff;border:1px solid #e4e5df;border-radius:24px;overflow:hidden;box-shadow:0 16px 38px #234b5320}
.bb-landing .bb-month-banner{padding:28px 27px;min-height:195px}
.bb-landing .bb-month-banner.coral{background:#ffdbcd}
.bb-landing .bb-month-banner.teal{background:#bfe8de}
.bb-landing .bb-month-banner.gold{background:#ffe5ac}
.bb-landing .bb-month-banner span{font-weight:850;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.bb-landing .bb-month-banner h3{font:700 2rem/1.1 Georgia,serif;letter-spacing:-.035em;margin:18px 0 10px;color:#183341}
.bb-landing .bb-month-banner p{margin:0;font-size:.93rem;color:#35515a}
.bb-landing .bb-month-body{padding:9px 20px 20px}
.bb-landing .bb-month-body a{display:grid;gap:4px;padding:16px 5px;text-decoration:none;color:#173b4a;border-bottom:1px solid #e2e9e8;transition:color .15s}
.bb-landing .bb-month-body a:last-child{border-bottom:0}
.bb-landing .bb-month-body a:hover{color:#0a7991}
.bb-landing .bb-month-body a span{font-size:.73rem;text-transform:uppercase;font-weight:850;letter-spacing:.07em;color:#a55b3b}
.bb-landing .bb-month-body a strong{font:700 1.19rem/1.2 Georgia,serif}
.bb-landing .bb-month-body a small{font-size:.84rem;color:#60727c}
.bb-landing .bb-sponsor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.bb-landing .bb-sponsor-tile{display:flex;flex-direction:column;border:1px solid #d9e4e3;background:#fff;text-decoration:none;color:#173d4b;border-radius:22px;overflow:hidden;box-shadow:0 9px 22px #193a4a16;transition:transform .2s}
.bb-landing .bb-sponsor-tile:hover{transform:translateY(-3px)}
.bb-landing .bb-sponsor-tile .bb-sponsor-label{display:block;background:#e9f1f0;color:#275968;font-size:.71rem;font-weight:850;letter-spacing:.085em;text-transform:uppercase;padding:12px 18px}
.bb-landing .bb-sponsor-tile img{display:block;width:100%;height:220px;object-fit:contain;background:#fff;padding:12px}
.bb-landing .bb-sponsor-tile>div{padding:18px 21px;display:grid;gap:5px}
.bb-landing .bb-sponsor-tile strong{font:700 1.4rem Georgia,serif;color:#173d4b}
.bb-landing .bb-sponsor-tile>div span{font-size:.87rem;color:#526c75}
@media(max-width:970px){.bb-landing .bb-monthly-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.bb-landing .bb-monthly-grid,.bb-landing .bb-sponsor-grid{grid-template-columns:1fr}.bb-landing .bb-sponsor-tile img{height:170px}.bb-landing .bb-month-banner{min-height:unset}}

/* Recurring Local Picks editions and share-ready discovery pages. */
.bb-landing .lp-edition-spotlight{display:grid;grid-template-columns:.87fr 1.13fr;border-radius:26px;overflow:hidden;background:#d9efe8;border:1px solid #c4e1da;box-shadow:0 16px 35px #25444a1b}
.bb-landing .lp-edition-photo{min-height:320px;background-size:cover;background-position:center}
.bb-landing .lp-edition-info{padding:clamp(28px,4.5vw,62px)}
.bb-landing .lp-edition-info p{max-width:560px;line-height:1.65;color:#38535b}
.bb-landing .lp-edition-info .bb-actions{margin-top:22px}
.bb-landing .lp-editorial-note{font-size:.82rem;margin-top:19px!important;color:#526870!important}
.bb-landing .lp-current-edition .bb-btn.light{border:1px solid #cee2de}
.bb-landing .lp-card-suburb{font-weight:800;font-size:.83rem;margin:12px 0!important;color:#2b6771!important}
.bb-landing.lp-month-page .bb-card-body .bb-btn{margin-top:22px;font-size:.85rem;padding:11px 17px}
.bb-landing .lp-back{display:inline-flex;padding:9px 0;margin-bottom:20px;font-weight:800;text-decoration:none;color:#12667d}
.bb-landing .lp-detail{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:42px}
.bb-landing .lp-detail h1{font:700 clamp(2.5rem,5.4vw,5.2rem)/1.04 Georgia,serif;color:#183b4b;letter-spacing:-.05em;margin:18px 0}
.bb-landing .lp-detail figure{margin:0}
.bb-landing .lp-detail figure img{border-radius:24px;width:100%;max-height:455px;object-fit:cover;display:block}
.bb-landing .lp-detail figcaption{font-size:.78rem;color:#647580;margin-top:8px}
.bb-landing .lp-detail .bb-statline span{background:#e4f3ee}
.bb-landing.lp-month-page .bb-feature-hero{background:#edbb7f;color:#243d44}
.bb-landing.lp-month-page .bb-feature-hero h1{color:#243d44}
.bb-landing.lp-month-page .bb-feature-hero .bb-kicker{border-color:#ba844f}
.bb-landing.lp-month-page .bb-feature-hero .bb-statline span{background:#ffffffdf}
.bb-landing.lp-month-page .bb-hero-photo:before{background:linear-gradient(90deg,#edbb7f,transparent 60%)}
@media(max-width:820px){.bb-landing .lp-edition-spotlight,.bb-landing .lp-detail{grid-template-columns:1fr}.bb-landing .lp-edition-photo{min-height:230px}.bb-landing .lp-detail{gap:20px}.bb-landing .lp-edition-info{padding:25px}.bb-landing.lp-month-page .bb-hero-photo:before{background:linear-gradient(0deg,#edbb7f,transparent 65%)}}
