/* Shared by every page: colours, reset, glass nav, buttons, language switch, scroll reveal. */
:root{
  --bg:#fff5fd; --ink:#000; --ink-soft:rgba(0,0,0,.72); --ink-faint:rgba(0,0,0,.45);
  --pink:#ffe0f4; --rose:#e8cfdc; --rose-deep:#c99bb4; --card:#fffafd;
  --line:rgba(0,0,0,.08); --ease:cubic-bezier(.16,1,.3,1);
  --display:'Cinzel Decorative',serif; --body:'Newsreader',Georgia,serif; --plan:'Playfair Display',Georgia,serif;
}
*{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}
::selection{background:var(--pink)}

/* floating glass nav */
.nav{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:50;width:min(900px,calc(100% - 24px));height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 6px 0 14px;border-radius:100px;background:rgba(255,245,253,.68);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -18px rgba(90,40,70,.35)}
.nav-logo{display:flex;align-items:center;line-height:0}
.nav-logo img{height:40px;width:auto;-webkit-mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{text-decoration:none;font-size:15px;color:var(--ink-soft);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
@media (min-width:721px){
  .nav{transition:width .45s var(--ease),padding .45s var(--ease)}
  .nav-links{transition:opacity .2s ease .15s}
  .nav.compact:not(:hover){width:150px;padding:0;justify-content:center}
  .nav.compact:not(:hover) .nav-links{position:absolute;opacity:0;pointer-events:none;transition:none}
}
@media (max-width:720px){.nav{height:50px}.nav-links{gap:8px}.nav-links .txt{display:none}.nav-logo img{height:36px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:300px;background:var(--pink);color:var(--ink);font-family:var(--body);font-size:16px;text-decoration:none;padding:16px 28px;cursor:pointer;line-height:1;transition:background .25s,color .25s,transform .25s var(--ease),box-shadow .25s}
.btn:hover{background:var(--ink);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px -14px rgba(0,0,0,.5)}
.nav-links a.btn{color:var(--ink)}.nav-links a.btn:hover{color:#fff}
.btn.sm{padding:0 20px;height:40px;font-size:15px}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover{background:var(--rose-deep)}

/* language switch */
.lang{display:flex;align-items:center;gap:2px;font-size:13px;letter-spacing:.08em}
.nav-links .lang a{padding:5px 7px;border-radius:20px;color:var(--ink-faint);font-size:inherit}
.nav-links .lang a:hover,.nav-links .lang a[aria-current="true"]{color:var(--ink)}
.lang a[aria-current="true"]{background:rgba(255,255,255,.75)}
@media (max-width:720px){.lang{font-size:12px}.nav-links .lang a{padding:5px}}

/* scroll reveal (as onlycoaching.com.au) */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

/* email links are assembled by script; before that they read "name [at] domain" */
.em-at{white-space:nowrap}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .nav,.nav-links{transition:none!important}
}

/* cookie banner (built by consent.js) */
.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:400;max-width:560px;margin:0 auto;background:rgba(255,250,253,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(0,0,0,.1);border-radius:20px;box-shadow:0 30px 60px -30px rgba(90,40,70,.5);padding:22px 22px 18px;font-family:Newsreader,Georgia,serif;color:#000;transform:translateY(20px);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s}
.cc.on{transform:none;opacity:1}
.cc h2{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:lowercase;font-size:20px;margin:0 0 8px}
.cc p{font-size:15px;line-height:1.5;margin:0 0 14px;color:rgba(0,0,0,.72)}
.cc a{color:inherit}
.cc-row{display:flex;gap:10px;flex-wrap:wrap}
.cc-row button{flex:1 1 140px;min-height:44px;border-radius:300px;border:1px solid #000;font:inherit;font-size:15px;cursor:pointer;padding:10px 16px;background:#fff;color:#000}
.cc-row button.solid{background:#000;color:#fff}
.cc-more{background:none;border:0;font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;margin-top:12px;padding:4px 0;color:rgba(0,0,0,.7)}
.cc-opts{display:none;margin:4px 0 14px;border-top:1px solid rgba(0,0,0,.08)}
.cc.prefs .cc-opts{display:block}
.cc-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.cc-opt b{display:block;font-weight:600;font-size:15px}
.cc-opt span{font-size:13.5px;color:rgba(0,0,0,.65);line-height:1.45}
.cc-opt input{margin-top:4px;width:20px;height:20px;accent-color:#000;flex:0 0 auto}
.cc.prefs .cc-save{display:block}
.cc-save{display:none;width:100%;margin-top:4px}
