/* Modern Hormone — shared styles for service & resource pages */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
:root{
  --ink:oklch(0.15 0.008 250);--ink-deep:oklch(0.13 0.008 250);--ink-deepest:oklch(0.11 0.008 250);
  --ink-raised:oklch(0.17 0.008 250);--ink-raised2:oklch(0.19 0.009 250);--ink-wash:oklch(0.18 0.012 210);
  --paper:oklch(0.96 0.004 90);--paper-raised:oklch(0.99 0.003 90);
  --accent:oklch(0.72 0.13 195);--accent-hover:oklch(0.82 0.12 195);--accent-ink:oklch(0.48 0.09 205);--accent-on:oklch(0.16 0.02 220);
  --tp-d:oklch(0.95 0.005 250);--ts-d:oklch(0.78 0.01 250);--tm-d:oklch(0.65 0.02 250);
  --tp-l:oklch(0.2 0.012 250);--ts-l:oklch(0.38 0.012 250);
  --rule-d:oklch(1 0 0 / 0.1);--rule-l:oklch(0.88 0.006 90);
  --serif:'Instrument Serif',Georgia,serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--mono:'IBM Plex Mono',monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--tp-d);font:400 17px/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--ink)}
a{color:oklch(0.78 0.1 195);text-decoration:none}
a,button{transition:color .3s ease,background-color .35s var(--ease),border-color .35s ease,opacity .3s ease}
img{display:block}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:1000px;margin:0 auto}
.wrapwide{max-width:1160px;margin:0 auto}
.eyebrow{font:500 10.5px/1 var(--mono);letter-spacing:0.22em;text-transform:uppercase}
.eb-d{color:oklch(0.75 0.11 195)}
.mono{font-family:var(--mono)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:2px;font-weight:500;white-space:nowrap;cursor:pointer;border:none}
.b-acc{background:var(--accent);color:var(--accent-on)}
.b-acc:hover{background:var(--accent-hover)}
.b-acc .arr{font-family:var(--mono);transition:transform .35s var(--ease)}
.b-acc:hover .arr{transform:translateX(4px)}
.b-ghd{border:1px solid oklch(1 0 0 / 0.28);color:var(--tp-d);background:none;font-weight:400}
.b-ghd:hover{border-color:oklch(1 0 0 / 0.6);background:oklch(1 0 0 / 0.05)}
.chip{display:inline-block;border:1px solid oklch(1 0 0 / 0.18);background:oklch(1 0 0 / 0.03);color:oklch(0.88 0.008 250);padding:12px 18px;border-radius:100px;font:400 15px/1 var(--sans);transition:border-color .25s ease,background-color .25s ease}
.chip:hover{border-color:var(--accent);background:oklch(1 0 0 / 0.06)}
header.mh{position:sticky;top:0;z-index:60;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:oklch(0.15 0.008 250 / 0.82);border-bottom:1px solid oklch(1 0 0 / 0.08)}
.mh-in{max-width:1360px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:36px}
.navlink{color:oklch(0.82 0.008 250)}.navlink:hover{color:oklch(0.95 0.005 250)}
.crumb{font:400 12.5px/1.6 var(--mono);letter-spacing:0.04em;color:oklch(0.6 0.02 250)}
.crumb a{color:oklch(0.72 0.06 205)}
.h1{font:400 clamp(40px,6vw,80px)/1.0 var(--serif);letter-spacing:-0.02em;margin:20px 0 0}
.h2{font:400 clamp(30px,3.8vw,50px)/1.06 var(--serif);letter-spacing:-0.015em;margin:0}
.lede{font-size:19px;line-height:1.55;color:var(--ts-d);margin:22px 0 0;max-width:34em}
.sec{padding:88px 32px}
.card{border:1px solid var(--rule-d);background:var(--ink-raised);padding:26px 24px}
.faq-item{border-bottom:1px solid var(--rule-d)}
.faq-q{width:100%;display:flex;gap:20px;align-items:baseline;justify-content:space-between;background:none;border:none;padding:24px 0;cursor:pointer;text-align:left;color:var(--tp-d);font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);line-height:1.3}
.faq-q:hover{color:oklch(0.82 0.1 195)}
.facc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.facc.open{grid-template-rows:1fr}
.facc>div{overflow:hidden}
.rel-card{border:1px solid var(--rule-d);padding:24px 22px;display:block;color:inherit;transition:background-color .35s var(--ease),transform .35s var(--ease)}
.rel-card:hover{background:var(--ink-raised);transform:translateY(-2px)}
.bio{position:relative;overflow:hidden}.bio>*{position:relative;z-index:1}
.bio::before{content:"";position:absolute;inset:-22%;z-index:0;pointer-events:none;background:radial-gradient(36% 30% at 20% 28%,oklch(0.52 0.1 195 / 0.07),transparent 70%),radial-gradient(30% 26% at 80% 66%,oklch(0.55 0.1 215 / 0.055),transparent 70%);filter:blur(46px);animation:bio-drift 46s ease-in-out infinite alternate}
@keyframes bio-drift{from{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,2%,0) scale(1.07)}}
footer.mh{background:var(--ink);border-top:1px solid oklch(1 0 0 / 0.09);padding:56px 32px 40px;margin-top:0}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001s !important}.bio::before{animation:none}}
@media (max-width:640px){.sec{padding:64px 22px}.mh-in{padding:14px 22px;gap:16px}}
/* ---- mobile menu (service & content pages) ---- */
.menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:1px solid oklch(1 0 0 / 0.2);border-radius:8px;cursor:pointer;padding:0;flex:none}
.menu-btn span{display:block;width:18px;height:1.5px;background:oklch(0.9 0.008 250);margin:0 auto;transition:transform .35s var(--ease),opacity .25s ease}
body.mm-open .menu-btn span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.mm-open .menu-btn span:nth-child(2){opacity:0}
body.mm-open .menu-btn span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
#mobmenu{position:fixed;inset:0;z-index:59;background:oklch(0.12 0.008 250 / 0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s ease,transform .35s var(--ease),visibility .3s;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:88px 22px calc(40px + env(safe-area-inset-bottom,0px))}
body.mm-open #mobmenu{opacity:1;visibility:visible;transform:translateY(0)}
.mm-inner{max-width:560px;margin:0 auto}
.mm-group{padding:18px 0;border-bottom:1px solid oklch(1 0 0 / 0.08)}
.mm-h{font:500 9.5px/1 var(--mono);letter-spacing:0.16em;text-transform:uppercase;color:oklch(0.7 0.09 195);margin-bottom:12px}
.mm-group a{display:block;color:oklch(0.9 0.008 250);font:400 18px/1.3 var(--serif);padding:9px 0}
.mm-cta{display:flex;gap:12px;margin:26px 0 0}
@media (min-width:1181px){#mobmenu{display:none}}
/* ---- mega-menu / dropdown nav ---- */
.pnav{display:flex;gap:24px;font-size:14.5px;white-space:nowrap;align-items:center}
.nd{position:relative}
.nd>button,.nd>a{background:none;border:none;cursor:pointer;font:inherit;font-size:14.5px;padding:0;display:inline-flex;align-items:center;gap:5px;color:oklch(0.82 0.008 250)}
.nd>button:hover,.nd>a:hover{color:oklch(0.95 0.005 250)}
.nd .caret{font-size:9px;opacity:.7}
.nd-panel{position:absolute;top:calc(100% + 16px);left:-20px;background:oklch(0.13 0.008 250 / 0.98);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid oklch(1 0 0 / 0.12);box-shadow:0 24px 60px oklch(0 0 0 / 0.5);padding:24px 26px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s ease,transform .3s var(--ease),visibility .25s;z-index:70}
.nd:hover .nd-panel,.nd:focus-within .nd-panel{opacity:1;visibility:visible;transform:translateY(0)}
.nd-mega{width:660px;max-width:82vw;left:auto;right:0}
.nd:nth-last-child(-n+3) .nd-simple{left:auto;right:0}
.nd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 30px}
.nd-col{display:grid;gap:2px;align-content:start}
.nd-h{font:500 9px/1 var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:oklch(0.7 0.09 195);margin-bottom:10px}
.nd-l{display:block;color:oklch(0.86 0.008 250);font-size:14px;padding:6px 0;white-space:nowrap}
.nd-l:hover{color:oklch(0.82 0.1 195)}
.nd-l small{display:block;font-size:11.5px;color:oklch(0.58 0.02 250);font-family:var(--sans)}
.nd-simple{min-width:230px;display:grid;gap:2px}
@media (max-width:1180px){.pnav{display:none}.menu-btn{display:flex}}
@media (min-width:1181px){.menu-btn{display:none}}
