/* Sunshine Coast Sound — premium layer */
/* Palette: warm graphite, stone and brass. One typeface throughout. */
:root{
  --ink:#171B20; --navy:#242C35; --navy-deep:#101317;
  --gold:#B48F5A; --gold-soft:#D6BC8C; --gold-deep:#8E6E3F; --champagne:#F1E8D6;
  --mist:#F4F2ED; --mist-deep:#E4DFD6; --slate:#5A636D;
  --serif:var(--sans); --ease:cubic-bezier(.22,.61,.36,1);
}
body{background:#FBFAF8;}
h1{letter-spacing:-.035em;}
h2{letter-spacing:-.028em;}
.head h2{position:relative;padding-bottom:.65rem;}
.head h2::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) .15s;}
.head.on h2::after{transform:scaleX(1);}
.where{letter-spacing:.02em;color:#A3A9B0;}
.hero .lead{color:#CDD2D8;}
section.dark p,.venues .v-body p{color:#C3C8CE;}
section.dark .zone span,.band span,.venues summary small,.venues .v-body ul{color:#A9B0B8;}
section.dark .zone{background:var(--ink);}
.hero svg.waves path:first-child{fill:#242C35;}
.hero svg.waves path:last-child{fill:#101317;}
.brand svg circle[stroke]{stroke:#242C35;}
.brand .lg-sun{fill:#B48F5A;}
.brand .lg-w1{fill:#242C35;}
.brand .lg-w2{fill:#171B20;}
footer.site{color:#9AA1A8;}
footer.site a{color:#CFD3D8;}
section.dark a:not(.btn){color:var(--gold-soft);}
.discreet .pillars p{color:var(--slate);}
nav .drop .drop-sep{color:#8A9199;}

/* Header: settles as you scroll */
header.site{transition:box-shadow .4s var(--ease),background .4s var(--ease);}
header.site .wrap{transition:min-height .4s var(--ease);}
header.site.scrolled{box-shadow:0 10px 30px -18px rgba(8,26,40,.45);background:rgba(255,255,255,.92);}
header.site.scrolled .wrap{min-height:64px;}
nav a:not(.cta){position:relative;border-bottom:none;}
nav a:not(.cta)::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease);}
nav a:not(.cta):hover::after,nav a:not(.cta):focus-visible::after{transform:scaleX(1);transform-origin:left;}
@media(max-width:1150px){nav a:not(.cta)::after{display:none;}}

/* Logo: the sun lifts into place on load, the water keeps moving */
.brand svg{overflow:visible;}
.brand .lg-sun{transform-box:fill-box;transform-origin:center;animation:sunrise 1.3s var(--ease) both;transition:filter .5s var(--ease),transform .6s var(--ease);}
.brand:hover .lg-sun{filter:drop-shadow(0 0 6px rgba(227,183,94,.9));transform:translateY(-2px);}
.brand .lg-w1{animation:drift 14s linear infinite;}
.brand .lg-w2{animation:drift 9s linear infinite reverse;}
.brand:hover .lg-w1{animation-duration:5s;}
.brand:hover .lg-w2{animation-duration:3.5s;}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-40px)}}
@keyframes sunrise{from{transform:translateY(26px);opacity:0}to{transform:translateY(0);opacity:1}}
.brand b{transition:letter-spacing .5s var(--ease);}
.brand:hover b{letter-spacing:-.01em;}

/* Buttons: a gold sweep on hover, a lift, and a slow sheen across the primary button while idle */
.btn{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .35s var(--ease),box-shadow .35s var(--ease),color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gold-soft);transform:translateX(-101%);transition:transform .45s var(--ease);}
.btn.gold::before{background:linear-gradient(100deg,var(--gold-soft),#F0CB7A);}
.btn.ghost::before{background:rgba(255,255,255,.14);}
.btn.navy::before{background:var(--ink);}
.btn.line::before{background:var(--navy);}
.btn:hover::before,.btn:focus-visible::before{transform:translateX(0);}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(8,26,40,.55);}
.btn:active{transform:translateY(0) scale(.985);box-shadow:none;transition-duration:.12s;}
.btn.gold:hover{background:var(--gold);color:var(--navy-deep);}
.btn.ghost:hover{background:transparent;border-color:rgba(255,255,255,.8);}
.btn.line:hover{color:#fff;}
.btn.navy:hover{background:var(--navy);}
.btn.gold::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-30%;width:28%;background:linear-gradient(105deg,transparent 0,rgba(255,255,255,.55) 50%,transparent 100%);transform:translateX(-150%) skewX(-18deg);animation:sheen 7s var(--ease) 2.6s infinite;pointer-events:none;}
@keyframes sheen{0%{transform:translateX(-150%) skewX(-18deg)}14%{transform:translateX(520%) skewX(-18deg)}100%{transform:translateX(520%) skewX(-18deg)}}
.pk-go,.plan .btn{transition:color .3s var(--ease);}
.pkgs a:hover .pk-go{color:var(--gold-deep);}

/* Hero: a slow breath on the photograph, the words settle in once */
.hero.has-bg .hero-bg{animation:breathe 26s ease-in-out infinite alternate;will-change:transform;opacity:.34;}
@keyframes breathe{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero .where,.hero h1,.hero .lead,.hero .btns{animation:settle 1.1s var(--ease) both;}
.hero .where{animation-delay:.15s}.hero h1{animation-delay:.25s}.hero .lead{animation-delay:.4s}.hero .btns{animation-delay:.55s}
@keyframes settle{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(900px 420px at 18% 22%,rgba(214,188,140,.14),transparent 70%);}

/* Photographs: a slow draw-in on hover, a fine gold keyline */
.photo.has-img,.svc-img,.who-portrait,.story-portrait,.gallery img,.strip figure,.venues .v-body img,.pillars img{overflow:hidden;}
.photo.has-img img,.gallery img,.strip img,.pillars img,.venues .v-body img,.svc-img{transition:transform 1.4s var(--ease),filter 1.4s var(--ease);}
.photo.has-img:hover img,.gallery figure:hover img,.strip figure:hover img,.pillars figure:hover img,.svc:hover .svc-img{transform:scale(1.045);}
.photo.has-img{box-shadow:inset 0 0 0 1px rgba(201,147,47,0);transition:box-shadow .5s var(--ease);}
.who-portrait,.story-portrait{box-shadow:0 30px 60px -36px rgba(0,0,0,.9);outline:1px solid rgba(227,183,94,.35);outline-offset:8px;}

/* Cards and packages: a quiet lift, a gold rule that grows */
.pkgs a,.plan,.svc,.band div,.zone{position:relative;transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease);}
.pkgs a::before,.plan::before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);}
.pkgs a:hover,.plan:hover{transform:translateY(-4px);box-shadow:0 28px 40px -30px rgba(8,26,40,.5);z-index:1;}
.pkgs a:hover::before,.plan:hover::before{transform:scaleX(1);}
.credits-band .creds li{transition:background .4s var(--ease);}
.credits-band .creds li:hover{background:var(--champagne);}
.credits-band .creds b{font-size:1.1rem;font-weight:700;}

/* Dark sections: a warm glow in the corner, a champagne hairline */
section.dark{position:relative;}
section.dark::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 360px at 90% 0%,rgba(201,147,47,.12),transparent 70%);}
section.dark>.wrap{position:relative;}
hr.horizon{height:1px;background:linear-gradient(90deg,var(--gold) 0,var(--gold-soft) 14%,var(--mist-deep) 14.2%,var(--mist-deep) 100%);}
.band div{transition:background .4s var(--ease);}
.band div:hover{background:#20262D;}

/* Details (venues, FAQs): the marker turns, the body eases open */
details summary{cursor:pointer;transition:color .3s var(--ease);}
details summary:hover{color:var(--gold-deep);}
section.dark details summary:hover{color:var(--gold-soft);}
details[open] .v-body,details[open]>p{animation:settle .6s var(--ease) both;}

/* Footer: a champagne rule and a studio credit */
footer.site{border-top:1px solid rgba(227,183,94,.22);}
footer.site .brand .lg-w1,footer.site .brand .lg-w2{animation-duration:22s;}
.footbase{align-items:center;}
.footbase .credit{color:#7F97A6;font-size:.82rem;letter-spacing:.01em;}
.footbase .credit a{color:#C6D6DF;}

/* Phone bar */
.mbar{backdrop-filter:blur(10px);background:rgba(16,19,23,.94);}
.mbar a{transition:transform .25s var(--ease),background .25s var(--ease);}
.mbar a:active{transform:scale(.97);}

@media(prefers-reduced-motion:reduce){
  .brand .lg-sun,.brand .lg-w1,.brand .lg-w2,.btn.gold::after,.hero.has-bg .hero-bg,.hero .where,.hero h1,.hero .lead,.hero .btns{animation:none !important;}
  .head h2::after{transform:scaleX(1);transition:none;}
  .btn,.btn::before,.pkgs a,.plan,.photo.has-img img,.gallery img,.strip img,.pillars img,.svc-img{transition:none !important;}
}

/* ===== Signature: the sun on the horizon (scroll progress) ===== */
.horizon{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;pointer-events:none;background:linear-gradient(90deg,rgba(180,143,90,.35),rgba(180,143,90,.75));}
.horizon i{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#F1DDB0,#B48F5A 70%);box-shadow:0 0 0 3px rgba(251,250,248,.9),0 0 14px 3px rgba(214,188,140,.55);will-change:transform;transition:transform .12s linear;}
header.site{top:3px;}
@media(prefers-reduced-motion:reduce){.horizon i{transition:none;}}

/* ===== Signature: spot the speaker ===== */
.spot{position:relative;}
.spot-img{position:relative;display:block;overflow:hidden;margin-bottom:1rem;}
.spot-img img{margin-bottom:0;}
.spot .hs{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;border:0;padding:0;cursor:pointer;background:transparent;z-index:2;}
.spot .hs::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#F1DDB0;border:2px solid var(--gold);box-shadow:0 1px 6px rgba(0,0,0,.45);transition:transform .3s var(--ease);}
.spot .hs::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(241,221,176,.9);opacity:0;}
.on .spot .hs::after,.spot:hover .hs::after{animation:ping 2.4s var(--ease) infinite;}
.spot .hs:nth-child(3)::after{animation-delay:.5s}.spot .hs:nth-child(4)::after{animation-delay:1s}.spot .hs:nth-child(5)::after{animation-delay:1.5s}.spot .hs:nth-child(6)::after{animation-delay:2s}
@keyframes ping{0%{transform:scale(.6);opacity:.9}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
.spot .hs:hover::before,.spot .hs[aria-expanded="true"]::before,.spot .hs:focus-visible::before{transform:scale(1.25);}
.spot .hs-card{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);width:max-content;max-width:230px;background:rgba(16,19,23,.94);color:#fff;text-align:left;padding:.6rem .75rem;border-radius:3px;font-size:.8rem;line-height:1.4;font-weight:400;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s;box-shadow:0 14px 30px -14px rgba(0,0,0,.7);pointer-events:none;}
.spot .hs-card::after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:rgba(16,19,23,.94);}
.spot .hs-card b{display:block;color:var(--gold-soft);font-size:.82rem;margin-bottom:.1rem;}
.spot .hs.low .hs-card{bottom:auto;top:calc(100% + 10px);transform:translate(-50%,-6px);}
.spot .hs.low .hs-card::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:rgba(16,19,23,.94);}
.spot .hs.edge-l .hs-card{left:0;transform:translate(0,6px);} .spot .hs.edge-l .hs-card::after{left:14px;}
.spot .hs.edge-r .hs-card{left:auto;right:0;transform:translate(0,6px);} .spot .hs.edge-r .hs-card::after{left:auto;right:9px;}
.spot .hs:hover .hs-card,.spot .hs[aria-expanded="true"] .hs-card,.spot .hs:focus-visible .hs-card{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s;}
.spot .hs.edge-l:hover .hs-card,.spot .hs.edge-l[aria-expanded="true"] .hs-card,.spot .hs.edge-r:hover .hs-card,.spot .hs.edge-r[aria-expanded="true"] .hs-card{transform:translate(0,0);}
.spot .hs.low:hover .hs-card,.spot .hs.low[aria-expanded="true"] .hs-card{transform:translate(-50%,0);}
.spot-hint{font-size:.82rem;color:var(--slate);margin:.5rem 0 0;display:flex;align-items:center;gap:.45rem;}
.spot-hint::before{content:"";width:10px;height:10px;border-radius:50%;background:#F1DDB0;border:2px solid var(--gold);flex:none;}
@media(prefers-reduced-motion:reduce){.on .spot .hs::after,.spot:hover .hs::after{animation:none;}}

/* ===== Home hero: a quiet loop of a real job ===== */
.hero.has-bg .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;z-index:0;}
.hero.has-bg.has-video .hero-bg{display:none;}
@media(prefers-reduced-motion:reduce){.hero.has-bg .hero-video{display:none;}.hero.has-bg.has-video .hero-bg{display:block;}}

/* ===== Brand: the real logo ===== */
.brand-img{height:58px;width:auto;display:block;animation:settle 1s var(--ease) both;transition:transform .5s var(--ease);}
.brand:hover .brand-img{transform:translateY(-1px);}
header.site .wrap{min-height:84px;}
header.site.scrolled .wrap{min-height:72px;}
header.site.scrolled .brand-img{height:50px;}
.brand-img,header.site .brand-img{transition:height .4s var(--ease),transform .5s var(--ease);}
@media(min-width:961px) and (max-width:1150px){.brand-img{height:48px;} header.site.scrolled .brand-img{height:44px;}}
@media(max-width:960px){.brand-img{height:46px;} header.site .wrap{min-height:72px;} header.site.scrolled .brand-img{height:42px;}}
.brand-mark{width:46px;height:46px;flex:none;}
footer.site .brand b{color:#fff;}
footer.site .brand em{color:#9AA1A8;}
@media(prefers-reduced-motion:reduce){.brand-img{animation:none;}}

/* ===== Bigger images (12 Oct, 14:52) ===== */
#what .tiles{grid-template-columns:repeat(3,1fr);gap:clamp(1.1rem,2vw,1.8rem);}
#what .tile-body b{font-size:1.1rem;}
#what .tile-body span{font-size:.92rem;}
@media(max-width:1000px){#what .tiles{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){#what .tiles{grid-template-columns:1fr;}}
#rates table.cat-table td.g-img{width:112px;}
#rates table.cat-table td.g-img img{width:100px;height:100px;padding:8px;}
@media(max-width:560px){#rates table.cat-table td.g-img{width:80px;} #rates table.cat-table td.g-img img{width:68px;height:68px;}}
.strip img{aspect-ratio:4/3;}
.gallery img{aspect-ratio:4/3;}
.who-portrait{max-width:460px;}
.story-portrait{max-width:480px;}

/* ===== Top bar text bigger (12 Oct, 15:00) ===== */
@media(min-width:1151px){nav ul{gap:1.15rem;} nav a,.more-btn{font-size:1.02rem;} nav a.cta{padding:.6rem 1.2rem;}}
@media(min-width:961px) and (max-width:1150px){nav ul{gap:.8rem;} nav a,.more-btn{font-size:.92rem;}}
@media(max-width:960px){nav a{font-size:1.05rem;}}
