/* J-HyTEL Journal History milestone notice — v1.3.1.0
   Premium homepage update card and modal aligned with the approved Journal History visual language.
   The journal history page itself continues to use the site's @JH-16 stylesheet. */
.jh-milestone-toast,.jh-milestone-modal,.jh-milestone-modal__panel,.jh-milestone-toast *,.jh-milestone-modal *{box-sizing:border-box}
.jh-milestone-toast,.jh-milestone-modal{--jh-wine:#610c3a;--jh-wine-deep:#44102f;--jh-wine-soft:#8f153d;--jh-blue:#2f6592;--jh-blue-dark:#204866;--jh-blue-soft:#eef6fb;--jh-gold:#e0aa35;--jh-gold-soft:#fff8e8;--jh-ink:#2f272c;--jh-text:#4d4248;--jh-muted:#766a70;--jh-line:#e5d9e0;--jh-paper:#fffdfc;font-family:"Perpetua",Georgia,"Times New Roman",serif;text-transform:none!important}
/* Theme tokens. All themes keep Perpetua typography and the same interaction model. */
.jh-milestone-toast,.jh-milestone-modal{--jh-card-bg:linear-gradient(155deg,rgba(255,255,255,.985),rgba(255,253,252,.985));--jh-panel-bg:linear-gradient(155deg,#fff 0%,#fffdfc 100%);--jh-title:var(--jh-wine);--jh-meta:var(--jh-muted);--jh-icon-fg:var(--jh-blue-dark);--jh-icon-bg:linear-gradient(145deg,#f6fbfe,var(--jh-blue-soft));--jh-icon-border:#cadae5;--jh-primary:var(--jh-wine);--jh-secondary:var(--jh-blue-dark);--jh-accent:linear-gradient(90deg,var(--jh-wine) 0 58%,var(--jh-blue) 58% 84%,var(--jh-gold) 84% 100%);--jh-backdrop:rgba(30,20,27,.52)}
.jh-theme-ivory{--jh-card-bg:linear-gradient(155deg,rgba(255,252,244,.99),rgba(255,247,230,.99));--jh-panel-bg:linear-gradient(155deg,#fffaf0,#fffdf8);--jh-title:#6d234a;--jh-text:#594a42;--jh-muted:#7b6c61;--jh-line:#eadcc0;--jh-icon-fg:#7a234f;--jh-icon-bg:linear-gradient(145deg,#fffdf7,#f6e8c9);--jh-icon-border:#e5cfa2;--jh-primary:#7a234f;--jh-secondary:#9a6c2d;--jh-accent:linear-gradient(90deg,#7a234f 0 61%,#b47f3b 61% 84%,#e3c27e 84%);--jh-gold-soft:#fff3d3;--jh-backdrop:rgba(44,31,25,.50)}
.jh-theme-midnight{--jh-card-bg:linear-gradient(155deg,rgba(43,25,37,.985),rgba(31,18,28,.985));--jh-panel-bg:linear-gradient(155deg,#2d1b27,#21141e);--jh-title:#fff8ef;--jh-text:#eadfe6;--jh-muted:#cbbac4;--jh-line:rgba(255,255,255,.14);--jh-icon-fg:#f6e5bb;--jh-icon-bg:linear-gradient(145deg,#5a2946,#3b2031);--jh-icon-border:rgba(227,194,126,.38);--jh-primary:#d1ad68;--jh-secondary:#7ca5c1;--jh-accent:linear-gradient(90deg,#a85782 0 58%,#7ca5c1 58% 82%,#d1ad68 82%);--jh-gold-soft:rgba(209,173,104,.15);--jh-backdrop:rgba(14,8,13,.72)}
.jh-theme-sapphire{--jh-card-bg:linear-gradient(155deg,rgba(247,252,255,.99),rgba(237,247,252,.99));--jh-panel-bg:linear-gradient(155deg,#f8fcff,#edf7fc);--jh-title:#214c6e;--jh-text:#405461;--jh-muted:#657985;--jh-line:#cfdee8;--jh-icon-fg:#214c6e;--jh-icon-bg:linear-gradient(145deg,#fff,#dcecf6);--jh-icon-border:#bad2e1;--jh-primary:#2f6592;--jh-secondary:#610c3a;--jh-accent:linear-gradient(90deg,#2f6592 0 61%,#610c3a 61% 84%,#e0aa35 84%);--jh-backdrop:rgba(20,35,47,.54)}
.jh-theme-pearl{--jh-card-bg:linear-gradient(155deg,rgba(255,255,255,.995),rgba(249,248,249,.995));--jh-panel-bg:linear-gradient(155deg,#fff,#f9f8f9);--jh-title:#4a273b;--jh-text:#544b50;--jh-muted:#7d7378;--jh-line:#e6e0e3;--jh-icon-fg:#610c3a;--jh-icon-bg:linear-gradient(145deg,#fff,#f2eef0);--jh-icon-border:#ddd3d8;--jh-primary:#610c3a;--jh-secondary:#5f6670;--jh-accent:linear-gradient(90deg,#610c3a 0 67%,#b8a9b1 67% 88%,#e8e2e5 88%);--jh-backdrop:rgba(35,31,33,.48)}

/* Homepage update card */
.jh-milestone-toast{position:fixed;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:99990;width:min(440px,calc(100vw - 40px));overflow:hidden;color:var(--jh-text);background:var(--jh-card-bg);border:1px solid rgba(97,12,58,.16);border-radius:18px;box-shadow:0 24px 58px rgba(53,18,47,.16),0 5px 16px rgba(53,18,47,.08),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transform:translateY(-10px) scale(.985);transform-origin:top right;transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.jh-milestone-toast::before{content:"";position:absolute;z-index:1;top:0;right:0;left:0;height:3px;background:var(--jh-accent)}
.jh-milestone-toast::after{content:"";position:absolute;z-index:0;top:-55px;right:-45px;width:150px;height:150px;background:radial-gradient(circle,rgba(47,101,146,.085),rgba(47,101,146,0) 70%);pointer-events:none}
.jh-milestone-toast.is-visible{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.jh-milestone-toast.is-visible:hover{border-color:rgba(97,12,58,.24);box-shadow:0 28px 64px rgba(53,18,47,.19),0 7px 18px rgba(53,18,47,.09);transform:translateY(-2px)}}
.jh-milestone-toast__body{position:relative;z-index:2;padding:17px 17px 16px 19px}
.jh-milestone-toast__top{display:grid;grid-template-columns:38px minmax(0,1fr) 29px;gap:11px;align-items:start}
.jh-milestone-toast__icon{display:grid;width:38px;height:38px;place-items:center;color:var(--jh-icon-fg);background:var(--jh-icon-bg);border:1px solid var(--jh-icon-border);border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.9),0 6px 14px rgba(47,101,146,.08)}
.jh-milestone-toast__icon svg{width:17px;height:17px}
.jh-milestone-toast__copy{min-width:0;padding-top:1px}
.jh-milestone-toast__meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;margin:0 0 5px;color:var(--jh-muted);font-size:12.5px;font-style:italic;font-variant:normal;letter-spacing:.025em;line-height:1.2;text-transform:none!important}
.jh-milestone-toast__eyebrow{color:var(--jh-blue-dark);font-size:13.5px;font-weight:300;font-style:italic;font-variant:normal;letter-spacing:.025em;text-transform:none!important}
.jh-milestone-toast__date{color:var(--jh-muted)}
.jh-milestone-toast__date::before{content:"·";margin-right:8px;color:#b4a8af}
.jh-milestone-toast__title{margin:0;color:var(--jh-title);font-family:"Perpetua",Georgia,serif;font-size:20px;font-weight:300;font-style:italic;font-variant:normal;line-height:1.2;letter-spacing:.015em;text-transform:none!important;text-wrap:balance}
.jh-milestone-close{appearance:none;-webkit-appearance:none;display:inline-grid;width:29px;height:29px;padding:0;place-items:center;color:#877980;background:rgba(255,255,255,.7);border:1px solid transparent;border-radius:50%;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.jh-milestone-close:hover,.jh-milestone-close:focus-visible{color:var(--jh-wine);background:#fff;border-color:#dfd2da;box-shadow:0 4px 10px rgba(53,18,47,.08);outline:none;transform:rotate(3deg)}
.jh-milestone-close svg{display:block;width:13px;height:13px}
.jh-milestone-toast__actions{display:flex;align-items:center;margin-top:12px;padding-left:49px}
.jh-milestone-toast__view{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:35px;padding:7px 12px;color:var(--jh-wine);background:#fff;border:1px solid #dfcbd7;border-radius:999px;box-shadow:0 4px 11px rgba(53,18,47,.055);font:italic 300 14.5px/1 "Perpetua",Georgia,serif;font-variant:normal;letter-spacing:.02em;text-transform:none!important;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.jh-milestone-toast__view::after{content:"+";display:inline-grid;width:19px;height:19px;place-items:center;color:#fff;background:var(--jh-wine);border-radius:50%;font-family:Georgia,serif;font-size:15px;font-style:normal;line-height:1;transition:background .16s ease,transform .16s ease}
.jh-milestone-toast__view:hover,.jh-milestone-toast__view:focus-visible{color:#fff;background:var(--jh-wine);border-color:var(--jh-wine);box-shadow:0 7px 15px rgba(97,12,58,.16);outline:none;transform:translateY(-1px)}
.jh-milestone-toast__view:hover::after,.jh-milestone-toast__view:focus-visible::after{color:var(--jh-wine);background:#fff;transform:rotate(45deg)}

/* Milestone detail modal */
.jh-milestone-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px;background:var(--jh-backdrop);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.jh-milestone-modal.is-open{display:flex}
html.jh-milestone-modal-open{overflow:hidden!important}
.jh-milestone-modal__panel{position:relative;width:min(790px,100%);max-height:min(820px,90vh);overflow:auto;overscroll-behavior:contain;color:var(--jh-text);background:var(--jh-panel-bg);border:1px solid rgba(97,12,58,.17);border-radius:20px;box-shadow:0 32px 90px rgba(31,13,25,.32),0 7px 22px rgba(31,13,25,.11),inset 0 1px 0 rgba(255,255,255,.96);scrollbar-width:thin;scrollbar-color:#cab8c3 transparent}
.jh-milestone-modal__panel::before{content:"";position:sticky;z-index:4;top:0;display:block;width:100%;height:3px;margin-bottom:-3px;background:var(--jh-accent)}
.jh-milestone-modal__head{position:relative;padding:25px 66px 21px 28px;background:radial-gradient(circle at 100% 0,rgba(47,101,146,.08),transparent 34%);border-bottom:1px solid var(--jh-line)}
.jh-milestone-modal__intro{display:grid;grid-template-columns:40px minmax(0,1fr);gap:13px;align-items:start}
.jh-milestone-modal__icon{display:grid;width:40px;height:40px;place-items:center;color:var(--jh-icon-fg);background:var(--jh-icon-bg);border:1px solid var(--jh-icon-border);border-radius:50%;box-shadow:0 5px 13px rgba(47,101,146,.08)}
.jh-milestone-modal__icon svg{width:18px;height:18px}
.jh-milestone-modal__eyebrow{margin-top:1px;color:var(--jh-blue-dark);font-size:14.5px;font-weight:300;font-style:italic;font-variant:normal;line-height:1.1;letter-spacing:.025em;text-transform:none!important}
.jh-milestone-modal h2{margin:7px 0 11px!important;color:var(--jh-title)!important;font-family:"Perpetua",Georgia,serif!important;font-size:clamp(28px,4vw,36px)!important;font-weight:300!important;font-style:italic!important;font-variant:normal!important;line-height:1.1!important;letter-spacing:.018em!important;text-transform:none!important;text-wrap:balance}
.jh-milestone-modal__meta{display:inline-flex;padding:5px 10px;color:#805c15;background:var(--jh-gold-soft);border:1px solid #ead9a8;border-radius:999px;font-size:13px;font-style:italic;font-variant:normal;line-height:1;letter-spacing:.02em}
.jh-milestone-modal__close{position:absolute;top:20px;right:22px;width:34px;height:34px;color:var(--jh-wine);background:rgba(255,255,255,.84);border-color:#dfd2da;box-shadow:0 4px 12px rgba(53,18,47,.06)}
.jh-milestone-modal__close:hover,.jh-milestone-modal__close:focus-visible{color:#fff;background:var(--jh-wine);border-color:var(--jh-wine);box-shadow:0 7px 16px rgba(97,12,58,.17)}
.jh-milestone-modal__content{padding:23px 28px 27px}
.jh-milestone-modal__copy{display:grid;gap:13px}
.jh-milestone-modal__copy p{margin:0!important;color:var(--jh-text)!important;font-family:"Perpetua",Georgia,serif!important;font-size:17.5px!important;font-weight:400!important;line-height:1.58!important;text-align:left!important;text-transform:none!important}
.jh-milestone-modal__copy p:first-child::first-letter{color:var(--jh-wine);font-size:1.08em}
.jh-milestone-modal__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:19px;border-top:1px solid var(--jh-line)}
.jh-milestone-modal__primary,.jh-milestone-modal__history{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border-radius:999px;font-family:"Perpetua",Georgia,serif;font-size:15.5px;font-weight:300;font-style:italic;font-variant:normal;line-height:1;text-decoration:none!important;letter-spacing:.02em;text-transform:none!important;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.jh-milestone-modal__primary{color:#fff!important;background:var(--jh-primary);border:1px solid var(--jh-primary);box-shadow:0 7px 17px rgba(97,12,58,.14)}
.jh-milestone-modal__primary::after{content:"+";font-family:Georgia,serif;font-size:17px;font-style:normal;line-height:1}
.jh-milestone-modal__primary:hover,.jh-milestone-modal__primary:focus-visible{color:#fff!important;background:var(--jh-secondary);border-color:var(--jh-secondary);box-shadow:0 10px 21px rgba(32,72,102,.18);outline:none;transform:translateY(-1px)}
.jh-milestone-modal__history{color:var(--jh-blue-dark)!important;background:var(--jh-blue-soft);border:1px solid #cfdee8}
.jh-milestone-modal__history:hover,.jh-milestone-modal__history:focus-visible{color:#fff!important;background:var(--jh-blue);border-color:var(--jh-blue);box-shadow:0 8px 18px rgba(47,101,146,.15);outline:none;transform:translateY(-1px)}

/* Mobile: the card is positioned by JS inside the usable header area, below the menu controls.
   The CSS value is a safe fallback for browsers that execute before header measurement is available. */
@media(max-width:600px){
  .jh-milestone-toast{top:max(104px,calc(env(safe-area-inset-top,0px) + 82px));right:50%;width:min(400px,calc(100vw - 28px));border-radius:17px;transform:translate(50%,-8px) scale(.985);transform-origin:top center}
  .jh-milestone-toast.is-visible{transform:translate(50%,0)}
  .jh-milestone-toast__body{padding:15px 14px 14px 17px}
  .jh-milestone-toast__top{grid-template-columns:34px minmax(0,1fr) 28px;gap:9px}
  .jh-milestone-toast__icon{width:34px;height:34px;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 5px 12px rgba(47,101,146,.08)}
  .jh-milestone-toast__title{font-size:19px;line-height:1.18}
  .jh-milestone-toast__meta{font-size:12px}
  .jh-milestone-toast__eyebrow{font-size:13px}
  .jh-milestone-toast__actions{margin-top:11px;padding-left:43px}
  .jh-milestone-toast__view{min-height:34px;font-size:14px}
  .jh-milestone-modal{align-items:center;padding:12px}
  .jh-milestone-modal__panel{max-height:90vh;border-radius:18px}
  .jh-milestone-modal__head{padding:21px 49px 17px 18px}
  .jh-milestone-modal__intro{grid-template-columns:35px minmax(0,1fr);gap:10px}
  .jh-milestone-modal__icon{width:35px;height:35px}
  .jh-milestone-modal__close{top:15px;right:13px;width:32px;height:32px}
  .jh-milestone-modal h2{font-size:27px!important;line-height:1.12!important}
  .jh-milestone-modal__eyebrow{font-size:13.5px}
  .jh-milestone-modal__content{padding:18px 19px 21px}
  .jh-milestone-modal__copy{gap:12px}
  .jh-milestone-modal__copy p{font-size:16.5px!important;line-height:1.55!important}
  .jh-milestone-modal__actions{align-items:stretch;flex-direction:column;margin-top:20px;padding-top:17px}
  .jh-milestone-modal__primary,.jh-milestone-modal__history{width:100%;min-height:41px}
}
@media(max-width:380px){.jh-milestone-toast{width:calc(100vw - 20px)}.jh-milestone-toast__body{padding-right:12px;padding-left:14px}.jh-milestone-toast__top{grid-template-columns:31px minmax(0,1fr) 27px;gap:8px}.jh-milestone-toast__icon{width:31px;height:31px}.jh-milestone-toast__actions{padding-left:39px}.jh-milestone-toast__title{font-size:18px}}
@media(prefers-reduced-motion:reduce){.jh-milestone-toast,.jh-milestone-toast__view,.jh-milestone-toast__view::after,.jh-milestone-close,.jh-milestone-modal__primary,.jh-milestone-modal__history{transition:none!important}}

/* Theme-specific contrast refinements */
.jh-theme-midnight .jh-milestone-toast__eyebrow,.jh-theme-midnight .jh-milestone-modal__eyebrow{color:#d8bdcf}.jh-theme-midnight .jh-milestone-toast__date{color:#cbbac4}.jh-theme-midnight .jh-milestone-close{color:#eadfe6;background:rgba(255,255,255,.07)}.jh-theme-midnight .jh-milestone-close:hover,.jh-theme-midnight .jh-milestone-close:focus-visible{color:#24151f;background:#f3e8da;border-color:#f3e8da}.jh-theme-midnight .jh-milestone-toast__view{color:#f6e5bb;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.24)}.jh-theme-midnight .jh-milestone-toast__view::after{color:#2c1a26;background:#d1ad68}.jh-theme-midnight .jh-milestone-modal__meta{color:#f2dba9;background:rgba(209,173,104,.12);border-color:rgba(209,173,104,.32)}.jh-theme-midnight .jh-milestone-modal__history{color:#d7e8f2!important;background:rgba(124,165,193,.12);border-color:rgba(124,165,193,.30)}.jh-theme-midnight .jh-milestone-modal__copy p{color:#eadfe6!important}.jh-theme-midnight .jh-milestone-modal__head{background:radial-gradient(circle at 100% 0,rgba(209,173,104,.08),transparent 36%);border-bottom-color:rgba(255,255,255,.12)}
