/* Crystal Andrus Morissette — "Golden Hour"
   A day in one scroll: sunlit ivory mornings, dusk-rose evenings, a gold sunrise at the end.
   Signature: the ellipsis (…) as three small gold lights. */

/* Self-hosted fonts (SIL Open Font License): Instrument Serif, Fraunces, Manrope, Pinyon Script */
@font-face{font-family:'Instrument Serif';font-style:normal;font-display:swap;font-weight:400;src:url(instrument-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-display:swap;font-weight:400;src:url(instrument-serif-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url(fraunces-latin-full-normal.woff2) format('woff2-variations'),url(fraunces-latin-full-normal.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-display:swap;font-weight:100 900;src:url(fraunces-latin-full-italic.woff2) format('woff2-variations'),url(fraunces-latin-full-italic.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(manrope-latin-wght-normal.woff2) format('woff2-variations'),url(manrope-latin-wght-normal.woff2) format('woff2')}
@font-face{font-family:'Pinyon Script';font-style:normal;font-display:swap;font-weight:400;src:url(pinyon-script-latin-400-normal.woff2) format('woff2')}

:root{
  --paper:#FFF9EC;      /* sunlit ivory */
  --ivory:#F7E9CE;      /* champagne */
  --blush:#F8DACB;      /* glowing blush */
  --rose:#E59C8B;
  --rose-deep:#A23A4D;  /* ruby-rose for small accents (AA on paper) */
  --leaf:#C9A27A;       /* warm sand (replaces the botanical green) */
  --leaf-pale:#F6E3CC;
  --wood:#7A4E33;
  --gold:#C0902F;       /* light, decorative */
  --gold-soft:#EBCB84;
  --gold-deep:#80590F;  /* gold you can read */
  --sun:#F6C45F;
  --plum:#8A2745;       /* ruby: accent words and numbers (kept name for older pages) */
  --night:#4A1F2A;      /* dusk mulberry-rose (candlelit, not black) */
  --night-2:#7A3445;
  --ink:#2B2220;
  --ink-soft:#5C4D48;
  --on-night:#FFF4DC;
  --on-night-dim:rgba(255,244,220,.8);
  --on-night-faint:rgba(255,244,220,.68);
  --display:'Instrument Serif','Fraunces',Georgia,serif;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --hand:'Pinyon Script','Snell Roundhand','Apple Chancery',cursive;
  --gutter:clamp(1.15rem,4vw,3.5rem);
  --max:1260px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --glow:radial-gradient(closest-side,rgba(246,196,95,.55),rgba(246,196,95,0));
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.72;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
::selection{background:var(--sun);color:var(--night)}
:focus-visible{outline:2px solid var(--night);outline-offset:3px;border-radius:3px}
.night :focus-visible,.foot :focus-visible{outline-color:var(--sun)}
.skip{position:absolute;left:-999px;top:0;background:var(--night);color:var(--on-night);padding:.8rem 1.2rem;z-index:200}
.skip:focus{left:1rem;top:1rem}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nw{white-space:nowrap}

/* ---------- type ---------- */
.serif{font-family:var(--serif)}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--serif);font-style:italic;font-size:1.08rem;font-weight:380;letter-spacing:.005em;text-transform:none;color:var(--gold-deep);line-height:1.2}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:currentColor;opacity:.7;flex:none}
.night .eyebrow{color:var(--gold-soft)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:.98;letter-spacing:-.018em}
h2{font-size:clamp(2.9rem,7vw,6rem)}
h3{font-family:var(--serif);font-weight:380;font-size:clamp(1.45rem,2.4vw,1.95rem);line-height:1.18;letter-spacing:-.012em;font-variation-settings:"SOFT" 60,"WONK" 0;font-optical-sizing:auto}
em,.it{font-style:italic;color:var(--plum)}
.night em,.night .it{color:var(--gold-soft)}
h3 em{font-family:var(--serif)}
.lead{font-family:var(--serif);font-size:clamp(1.2rem,1.9vw,1.5rem);line-height:1.52;font-weight:350;color:var(--ink-soft);font-variation-settings:"SOFT" 70}
.night .lead{color:var(--on-night-dim)}
p+p{margin-top:1.05em}
.hand{font-family:var(--hand);font-size:2.5rem;line-height:1.1;color:var(--plum);font-weight:400}
.night .hand{color:var(--gold-soft)}

/* ---------- the signature ellipsis: three small lights ---------- */
.dots{display:inline-flex;gap:.32em;align-items:center;vertical-align:middle}
.dots i{width:.2em;height:.2em;border-radius:50%;background:var(--gold);display:block;box-shadow:0 0 .6em rgba(246,196,95,.9)}
.dots--breathe i{animation:breathe 2.8s var(--ease) infinite}
.dots--breathe i:nth-child(2){animation-delay:.35s}
.dots--breathe i:nth-child(3){animation-delay:.7s}
@keyframes breathe{0%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-.08em)}}
@media (prefers-reduced-motion:reduce){.dots--breathe i{animation:none;opacity:1}}
.pause{display:flex;justify-content:center;padding:clamp(2.2rem,5vw,3.6rem) 0;font-size:1.6rem}
.pause .dots{gap:.7em}
.pause .dots i{width:.26em;height:.26em}

/* ---------- buttons & links ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:54px;padding:.95rem 1.8rem;font-family:var(--sans);font-size:.98rem;font-weight:650;letter-spacing:.005em;text-decoration:none;border:1.5px solid currentColor;border-radius:999px;transition:color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);cursor:pointer;background:transparent;color:inherit}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--sun),#F9DE9A);transform:translateX(-101%);transition:transform .55s var(--ease)}
.btn:hover{color:var(--night);border-color:var(--sun)}
.btn:hover::before{transform:none}
.btn--solid{background:var(--plum);border-color:var(--plum);color:#FFF9EC}
.btn--solid:hover{box-shadow:0 10px 30px rgba(246,196,95,.45);transform:translateY(-2px)}
.night .btn--solid,.btn--gold{background:linear-gradient(100deg,var(--sun),#F9DE9A);border-color:transparent;color:var(--night)}
.night .btn--solid::before,.btn--gold::before{background:#fff;}
.night .btn--solid:hover,.btn--gold:hover{border-color:transparent}
.btn .play{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.link{position:relative;font-family:var(--sans);font-size:.98rem;font-weight:650;text-decoration:none;padding-bottom:.3rem;display:inline-block;background:linear-gradient(var(--gold),var(--gold)) 0 100%/100% 1.5px no-repeat;transition:background-size .5s var(--ease),color .3s}
.link:hover{background-size:0 1.5px;background-position:100% 100%;color:var(--plum)}
.night .link:hover{color:var(--gold-soft)}

/* ---------- layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(4.5rem,11vw,9rem) 0}
.night{background:radial-gradient(120% 80% at 80% 0%,var(--night-2),var(--night) 60%);color:var(--on-night)}
.blush{background:linear-gradient(180deg,var(--ivory),#F9E4D3)}
.arch{border-radius:999px 999px 8px 8px;overflow:hidden}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.nav__in{max-width:1400px;margin:0 auto;padding:1.05rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.nav__name{font-family:var(--display);font-size:1.5rem;font-weight:400;text-decoration:none;letter-spacing:-.005em;white-space:nowrap;line-height:1}
.nav__links{display:flex;gap:clamp(1rem,2.2vw,2.1rem);list-style:none;align-items:center}
.nav__links a{font-size:.92rem;font-weight:600;letter-spacing:.005em;text-decoration:none;padding:.4rem 0;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1.5px no-repeat;transition:background-size .4s var(--ease)}
.nav__links a:hover,.nav__links a[aria-current]{background-size:100% 1.5px}
.nav__links .nav__cta{border:1.5px solid var(--night);border-radius:999px;padding:.55rem 1.15rem;background-image:none;transition:background .3s,color .3s}
.nav__links .nav__cta:hover{background:var(--night);color:var(--on-night)}
.nav.solid{background:rgba(255,249,236,.9);box-shadow:0 1px 0 rgba(128,89,15,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nav__toggle{display:none;background:none;border:1.5px solid currentColor;border-radius:999px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:650;cursor:pointer;color:inherit;min-height:44px}
@media (max-width:980px){
  .nav__toggle{display:inline-block}
  .nav__links{position:fixed;inset:0;background:radial-gradient(90% 60% at 50% 100%,rgba(246,196,95,.25),transparent 70%),var(--night);color:var(--on-night);flex-direction:column;justify-content:center;gap:1.2rem;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
  .nav__links a{font-family:var(--display);font-size:2.5rem;font-weight:400;letter-spacing:0;line-height:1.1}
  .nav__links .nav__cta{font-family:var(--sans);font-size:1rem;border-color:var(--sun);padding:.9rem 1.7rem;margin-top:.6rem}
  .nav__links .nav__cta:hover{background:var(--sun);color:var(--night)}
  .nav.open .nav__links{opacity:1;visibility:visible}
  .nav.open .nav__toggle{position:relative;z-index:2;color:var(--on-night)}
  .nav.open .nav__name{position:relative;z-index:2;color:var(--on-night)}
}

/* ---------- motion ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rv.in{opacity:1;transform:none}
/* images unveil from an arch/curtain edge */
.unveil{clip-path:inset(0 0 100% 0 round 8px);transition:clip-path 1.5s var(--ease)}
.unveil.in{clip-path:inset(0 0 0 0 round 8px)}
.unveil.arch{clip-path:inset(100% 0 0 0 round 999px 999px 8px 8px)}
.unveil.arch.in{clip-path:inset(0 0 0 0 round 999px 999px 8px 8px)}
/* headline lines rise out of a mask */
.ln{display:block;overflow:hidden;padding:.06em 0 .12em;margin:-.06em 0 -.12em}
.ln>span{display:block;transform:translateY(112%);transition:transform 1.3s var(--ease)}
.ln:nth-child(2)>span{transition-delay:.12s}
.ln:nth-child(3)>span{transition-delay:.24s}
.ready .ln>span,.in .ln>span,.ln.in>span{transform:none}
[data-parallax]{transform:translate3d(0,var(--py,0px),0);will-change:transform}
.no-js .rv,.no-js .unveil,.no-js .ln>span{opacity:1;transform:none;clip-path:none}
@media (prefers-reduced-motion:reduce){
  .rv,.unveil,.unveil.arch,.ln>span{opacity:1;transform:none;clip-path:none;transition:none}
  [data-parallax]{transform:none!important}
  .btn::before{transition:none}
}

/* ---------- footer ---------- */
.foot{background:var(--night);color:var(--on-night-dim);padding:3.6rem 0 2.6rem;font-size:.95rem;border-top:1px solid rgba(235,203,132,.35)}
.foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.6rem 3rem;align-items:flex-end}
.foot__name{font-family:var(--display);font-size:2rem;color:var(--on-night);line-height:1.1}
.foot__name small{display:block;font-family:var(--sans);font-size:.85rem;color:var(--on-night-faint);margin-top:.6rem}
.foot nav{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem}
.foot nav a{text-decoration:none;font-size:.92rem;font-weight:600;padding:.35rem 0}
.foot nav a:hover{color:var(--sun)}
.foot__legal{margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid rgba(255,244,220,.14);display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;font-size:.85rem;color:var(--on-night-faint)}
.foot__legal a{text-decoration:none}
.foot__legal a:hover{color:var(--sun)}

/* ---------- Kajabi embed re-skin (function untouched) — light, sunrise version ---------- */
.kj-wrap #kajabi-form.kajabi-form--inline{background:transparent!important;padding:0!important;margin:0!important;max-width:none!important;box-shadow:none!important}
.kj-wrap #kajabi-form .kajabi-form__content{padding:0!important}
.kj-wrap #kajabi-form .kajabi-form__title,.kj-wrap #kajabi-form .kajabi-form__subtitle{display:none!important}
.kj-wrap #kajabi-form fieldset{display:flex;flex-direction:column;gap:.7rem;border:0}
.kj-wrap #kajabi-form .kajabi-form__form-item{margin:0!important}
.kj-wrap #kajabi-form label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kj-wrap #kajabi-form input[type="text"],.kj-wrap #kajabi-form input[type="email"]{width:100%!important;min-height:58px;padding:1rem 1.3rem!important;border:1.5px solid rgba(74,31,42,.28)!important;border-radius:999px!important;background:rgba(255,255,255,.78)!important;color:var(--ink)!important;font-family:var(--serif)!important;font-size:1.15rem!important;box-shadow:none!important;-webkit-appearance:none;appearance:none;transition:border-color .3s,box-shadow .3s}
.kj-wrap #kajabi-form input::placeholder{color:rgba(43,34,32,.62)!important;font-style:italic}
.kj-wrap #kajabi-form input:focus{outline:none;border-color:var(--night)!important;box-shadow:0 0 0 4px rgba(246,196,95,.55)!important}
.kj-wrap #kajabi-form .kajabi-form__btn,.kj-wrap #kajabi-form button[type="submit"]{display:block;width:100%;min-height:60px;margin-top:.9rem;font-family:var(--sans)!important;font-size:1.02rem!important;font-weight:700!important;letter-spacing:.005em!important;text-transform:none!important;border-radius:999px!important;border:0!important;cursor:pointer;background:linear-gradient(100deg,#8A2745,#A23A4D)!important;color:#FFF9EC!important;box-shadow:0 12px 30px rgba(138,39,69,.35)!important;transition:transform .3s var(--ease),box-shadow .3s}
.kj-wrap #kajabi-form .kajabi-form__btn:hover,.kj-wrap #kajabi-form button[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(138,39,69,.45)!important}
.kj-fallback{display:none}
.kj-wrap.kj-missing .kj-fallback{display:block}

/* ===== twinkling candlelight (all dusk sections) ===== */
.night{position:relative;isolation:isolate}
.night::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:
  radial-gradient(circle at 8% 22%,rgba(255,214,140,.95) 0 2px,rgba(255,214,140,.35) 3px,transparent 9px),
  radial-gradient(circle at 21% 70%,rgba(255,214,140,.9) 0 1.5px,rgba(255,214,140,.3) 3px,transparent 8px),
  radial-gradient(circle at 36% 12%,rgba(255,224,170,.9) 0 2px,rgba(255,214,140,.3) 3px,transparent 10px),
  radial-gradient(circle at 52% 82%,rgba(255,214,140,.9) 0 2px,rgba(255,214,140,.3) 3px,transparent 9px),
  radial-gradient(circle at 66% 30%,rgba(255,224,170,.95) 0 1.5px,rgba(255,214,140,.3) 3px,transparent 8px),
  radial-gradient(circle at 79% 64%,rgba(255,214,140,.9) 0 2px,rgba(255,214,140,.3) 3px,transparent 10px),
  radial-gradient(circle at 92% 18%,rgba(255,224,170,.9) 0 2px,rgba(255,214,140,.3) 3px,transparent 9px),
  radial-gradient(circle at 14% 90%,rgba(255,224,170,.8) 0 1.5px,transparent 7px),
  radial-gradient(circle at 88% 88%,rgba(255,224,170,.8) 0 1.5px,transparent 7px);
 animation:twinkle 5.5s ease-in-out infinite alternate}
.night>*{position:relative}
@keyframes twinkle{0%{opacity:.35}50%{opacity:1}100%{opacity:.5}}
@media (prefers-reduced-motion:reduce){.night::after{animation:none;opacity:.7}}
