/**
 * DLA — Enrollment modal
 * Clinical Library palette, slow staged choreography.
 */
.dlaen{
  --acc:#b59458; --acc-2:#cdac6c; --acc-rgb:181,148,88;
  --ink:#f1ece1; --muted:#aebfb4; --line:rgba(181,148,88,.2);
  --ease:cubic-bezier(.22,.61,.36,1); --err:#d98b7a;
  position:fixed; inset:0; z-index:999998; display:none;
  font-family:'DM Sans',sans-serif; -webkit-font-smoothing:antialiased;
}
.dlaen.open{display:flex;align-items:center;justify-content:center;padding:24px;}
.dlaen *{box-sizing:border-box;}

.dlaen-veil{position:absolute;inset:0;background:rgba(3,9,7,.82);backdrop-filter:blur(7px);
  opacity:0;transition:opacity .5s var(--ease);}
.dlaen.in .dlaen-veil{opacity:1;}

.dlaen-box{
  position:relative; z-index:2;
  width:860px; max-width:100%;
  height:740px; max-height:100%;
  display:flex; flex-direction:column; overflow:hidden;
  padding:46px 56px 40px; border-radius:10px;
  border:1px solid var(--line);
  background:#0a1f33;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04);
  opacity:0; transform:translateY(22px) scale(.985);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
  color:var(--ink);
}
.dlaen.in .dlaen-box{opacity:1;transform:none;}
.dlaen-s::-webkit-scrollbar{width:6px;}
.dlaen-s::-webkit-scrollbar-thumb{background:rgba(var(--acc-rgb),.28);border-radius:3px;}
.dlaen-s::-webkit-scrollbar-track{background:transparent;}

.dlaen-x{position:absolute;top:14px;right:14px;z-index:5;width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(241,236,225,.16) !important;background:transparent !important;
  color:var(--muted) !important;cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0 !important;min-width:0 !important;transition:all .3s var(--ease);}
.dlaen-x svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.dlaen-x:hover{border-color:rgba(var(--acc-rgb),.6) !important;color:var(--acc) !important;}

/* rail */
.dlaen-rail{display:none;gap:9px;margin:0 46px 26px 0;flex:0 0 auto;}
.dlaen-rail.on{display:flex;}
.dlaen-rs{flex:1;}
.dlaen-rs i{display:block;height:2px;background:rgba(241,236,225,.12);border-radius:2px;position:relative;overflow:hidden;}
.dlaen-rs i::after{content:"";position:absolute;inset:0;background:var(--acc);transform:scaleX(0);
  transform-origin:left;transition:transform 1.1s var(--ease);}
.dlaen-rs.done i::after,.dlaen-rs.now i::after{transform:scaleX(1);}
.dlaen-rs span{display:block;margin-top:8px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(174,191,180,.5);transition:color .5s var(--ease);}
.dlaen-rs.now span,.dlaen-rs.done span{color:var(--acc);}

/* screens */
.dlaen-s{display:none;}
.dlaen-s.on{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:rgba(181,148,88,.28) transparent;
  padding-right:8px;margin-right:-8px;}
.dlaen-s.leave{animation:dlaenOut .34s var(--ease) forwards;}
@keyframes dlaenOut{to{opacity:0;transform:translateY(-10px);}}
.dlaen .anim{opacity:0;transform:translateY(18px);animation:dlaenRise 1.05s var(--ease) forwards;
  animation-delay:calc(var(--i,0) * .14s + .16s);}
@keyframes dlaenRise{to{opacity:1;transform:none;}}
.dlaen .dlaen-chip.anim{transform:translateY(12px) scale(.96);animation-duration:.85s;}

/* intro */
.dlaen-intro{text-align:center;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:10px 0;}
.dlaen-line{font-family:'Marcellus','Cormorant Garamond',serif;font-size:clamp(21px,3vw,34px);line-height:1.4;
  font-weight:500;max-width:38ch;margin:0 auto;color:var(--ink);}
.dlaen-line .q{display:block;color:var(--acc-2);font-style:italic;margin-top:.3em;}
.dlaen-caret{display:inline-block;width:1px;height:.9em;background:var(--acc);margin-left:3px;
  vertical-align:-.06em;animation:dlaenBlink 1s steps(1) infinite;}
@keyframes dlaenBlink{50%{opacity:0;}}
.dlaen-cta{margin-top:34px;opacity:0;transform:translateY(12px);
  transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);}
.dlaen-cta.on{opacity:1;transform:none;}
.dlaen-note{margin-top:16px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(174,191,180,.65);}
.dlaen-alt{margin-top:14px;font-size:12.5px;color:var(--muted);font-weight:300;}
.dlaen-alt a{color:var(--acc-2);text-decoration:none;border-bottom:1px solid rgba(var(--acc-rgb),.4);}

/* headings */
.dlaen-eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--acc);}
.dlaen-title{font-family:'Marcellus','Cormorant Garamond',serif !important;font-size:clamp(23px,3vw,34px) !important;
  font-weight:600 !important;line-height:1.16 !important;margin:11px 0 8px !important;color:var(--ink) !important;
  text-transform:none !important;letter-spacing:.02em;}
.dlaen-type-caret{display:inline-block;width:1px;height:.85em;background:var(--acc);margin-left:3px;
  vertical-align:-.05em;animation:dlaenBlink 1s steps(1) infinite;}
.dlaen-sub{font-weight:300;font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 30px;max-width:62ch;}

/* form */
.dlaen-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.dlaen-f{display:flex;flex-direction:column;gap:7px;}
.dlaen-f.wide{grid-column:1 / -1;}
.dlaen label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:7px;margin:0;}
.dlaen-opt{font-size:8.5px;letter-spacing:.1em;color:rgba(174,191,180,.5);border:1px solid rgba(174,191,180,.22);
  border-radius:20px;padding:2px 7px;text-transform:none;}
.dlaen input[type=text],.dlaen input[type=email],.dlaen input[type=password],.dlaen select{
  -webkit-appearance:none;appearance:none;width:100%;padding:13px 14px;border-radius:5px;
  border:1px solid rgba(241,236,225,.14) !important;background:rgba(255,255,255,.03) !important;
  color:var(--ink) !important;font:400 14px 'DM Sans',sans-serif !important;height:auto !important;
  box-shadow:none !important;margin:0 !important;transition:border-color .3s var(--ease),background .3s var(--ease);}
.dlaen select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b59458' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 12px center !important;
  background-size:14px !important;padding-right:38px !important;}
.dlaen select option{background:#0b1a14;color:var(--ink);}
.dlaen .select2-container{display:none !important;}
.dlaen select.select2-hidden-accessible{position:static !important;width:100% !important;height:auto !important;
  clip:auto !important;opacity:1 !important;overflow:visible !important;}
.dlaen input:focus,.dlaen select:focus{outline:none;border-color:rgba(var(--acc-rgb),.75) !important;
  background:rgba(255,255,255,.05) !important;}
.dlaen input::placeholder{color:rgba(174,191,180,.4);}
.dlaen-f.bad input,.dlaen-f.bad select{border-color:var(--err) !important;}
.dlaen-msg{font-size:11px;color:var(--err);min-height:13px;font-weight:300;}

.dlaen-meter{display:flex;gap:5px;}
.dlaen-meter i{height:3px;flex:1;background:rgba(241,236,225,.12);border-radius:2px;transition:background .35s var(--ease);}
.dlaen-meter.s1 i:nth-child(1){background:var(--err);}
.dlaen-meter.s2 i:nth-child(-n+2){background:#d9b87a;}
.dlaen-meter.s3 i:nth-child(-n+3){background:var(--acc);}
.dlaen-meter.s4 i{background:var(--acc-2);}

.dlaen-chips{display:flex;flex-wrap:wrap;gap:8px;}
.dlaen-chip{border:1px solid rgba(241,236,225,.16) !important;border-radius:999px !important;
  padding:8px 14px !important;font:400 11px 'DM Sans',sans-serif !important;letter-spacing:.04em;
  color:var(--muted) !important;cursor:pointer;background:transparent !important;
  text-transform:none !important;min-width:0 !important;height:auto !important;
  box-shadow:none !important;transition:all .28s var(--ease);}
.dlaen-chip:hover{border-color:rgba(var(--acc-rgb),.5) !important;color:var(--ink) !important;}
.dlaen-chip.on{background:rgba(var(--acc-rgb),.16) !important;border-color:var(--acc) !important;color:var(--ink) !important;}

/* review + consent */
.dlaen-review{border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.03);
  padding:4px 16px;margin-bottom:18px;}
.dlaen-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;
  border-top:1px solid rgba(241,236,225,.07);font-size:12.5px;}
.dlaen-row:first-child{border-top:none;}
.dlaen-row dt{color:var(--muted);font-weight:300;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin:0;}
.dlaen-row dd{margin:0;color:var(--ink);text-align:right;}

.dlaen-consent{display:flex;gap:12px;align-items:flex-start;padding:13px 0;
  border-top:1px solid rgba(241,236,225,.08);}
.dlaen-consent .dlaen-check{flex:0 0 auto;width:18px;height:18px;border:1px solid rgba(241,236,225,.28) !important;
  border-radius:3px !important;margin-top:2px;cursor:pointer;position:relative;background:transparent !important;
  padding:0 !important;min-width:0 !important;transition:all .25s var(--ease);}
.dlaen-consent .dlaen-check.on{background:var(--acc) !important;border-color:var(--acc) !important;}
.dlaen-consent .dlaen-check.on::after{content:"";position:absolute;left:6px;top:2px;width:4px;height:9px;
  border:solid #04100c;border-width:0 2px 2px 0;transform:rotate(45deg);}
.dlaen-consent .dlaen-check.bad{border-color:var(--err) !important;}
.dlaen-ctext{font-size:12px;line-height:1.7;color:var(--muted);font-weight:300;cursor:pointer;}
.dlaen-ctext b{color:var(--ink);font-weight:500;}

/* buttons */
.dlaen-act{display:flex;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap;}
.dlaen-act.center{justify-content:center;}
.dlaen-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font:500 11px 'DM Sans',sans-serif !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  padding:14px 26px !important;border-radius:6px !important;cursor:pointer;
  border:1px solid var(--acc) !important;background:var(--acc) !important;color:#04100c !important;
  height:auto !important;min-width:0 !important;box-shadow:none !important;
  transition:transform .3s var(--ease),background .3s var(--ease);}
.dlaen-btn:hover{background:var(--acc-2) !important;transform:translateY(-2px);}
.dlaen-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.dlaen-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;}
.dlaen-btn.ghost{background:transparent !important;color:var(--acc) !important;}
.dlaen-btn.ghost:hover{background:rgba(var(--acc-rgb),.12) !important;}
.dlaen-btn.quiet{border-color:transparent !important;background:transparent !important;
  color:var(--muted) !important;padding-left:6px !important;padding-right:6px !important;}
.dlaen-btn.quiet:hover{color:var(--ink) !important;transform:none;background:transparent !important;}
.dlaen-spin{width:12px;height:12px;border:2px solid rgba(4,16,12,.3);border-top-color:#04100c;
  border-radius:50%;animation:dlaenSpin .7s linear infinite;}
@keyframes dlaenSpin{to{transform:rotate(360deg);}}

/* done */
.dlaen-done{text-align:center;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:10px 0;}
.dlaen-seal{width:78px;height:78px;margin:0 auto 22px;}
.dlaen-seal svg{width:100%;height:100%;fill:none;stroke:var(--acc);stroke-width:1.1;}
.dlaen-seal .ring{stroke-dasharray:264;stroke-dashoffset:264;animation:dlaenDraw 1.9s var(--ease) .35s forwards;}
.dlaen-seal .tick{stroke-dasharray:40;stroke-dashoffset:40;stroke-width:2;animation:dlaenDraw .85s var(--ease) 1.9s forwards;}
@keyframes dlaenDraw{to{stroke-dashoffset:0;}}

/* trigger button used across the site */
.dla-enroll-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font:500 11.5px 'DM Sans',sans-serif !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  padding:15px 28px !important;border-radius:6px !important;cursor:pointer;
  border:1px solid #b59458 !important;background:#b59458 !important;color:#04100c !important;
  text-decoration:none !important;width:100%;box-shadow:none !important;
  transition:transform .3s cubic-bezier(.22,.61,.36,1),background .3s cubic-bezier(.22,.61,.36,1);}
.dla-enroll-cta:hover{background:#cdac6c !important;color:#04100c !important;transform:translateY(-2px);}
.dla-enroll-cta svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;}

@media (max-width:920px){
  .dlaen-box{width:100%;height:680px;padding:38px 30px 32px;}
}
@media (max-width:640px){
  .dlaen.open{padding:10px;}
  .dlaen-box{padding:30px 18px 26px;width:100%;height:100%;max-height:100%;border-radius:8px;}
  .dlaen-grid{grid-template-columns:1fr;}
  .dlaen-rs span{font-size:8px;letter-spacing:.12em;}
  .dlaen-act .dlaen-btn{flex:1;min-width:calc(50% - 6px);}
  .dlaen-act .dlaen-btn.quiet{flex:1 0 100%;}
  .dlaen-line{font-size:20px;}
}
@media (prefers-reduced-motion:reduce){
  .dlaen *{animation-duration:.001ms !important;animation-delay:0s !important;transition-duration:.001ms !important;}
  .dlaen .anim{opacity:1 !important;transform:none !important;}
}

/* ------------------------------------------------------------------
   Phone legibility — nothing a member has to read drops under 16px,
   and every field sits at 16px so iOS stops zooming the page on focus.
   Letter-spacing is pulled in on the uppercase runs so the larger type
   still fits one line.
   ------------------------------------------------------------------ */
@media (max-width:640px){
  .dlaen-rs span{font-size:16px !important;letter-spacing:.04em;margin-top:6px;}
  .dlaen-rail{gap:6px;margin-bottom:20px;}
  .dlaen-note{font-size:16px;letter-spacing:.08em;}
  .dlaen-alt{font-size:16px;}
  .dlaen-eyebrow{font-size:16px;letter-spacing:.14em;}
  .dlaen-sub{font-size:16px;line-height:1.7;margin-bottom:24px;}
  .dlaen label{font-size:16px;letter-spacing:.06em;text-transform:none;}
  .dlaen-opt{font-size:14px;letter-spacing:.02em;padding:2px 9px;}
  .dlaen input[type=text],
  .dlaen input[type=email],
  .dlaen input[type=password],
  .dlaen select{font-size:16px !important;padding:15px 14px;}
  .dlaen-msg{font-size:16px;min-height:20px;line-height:1.4;}
  .dlaen-chip{font-size:16px !important;padding:10px 16px !important;}
  .dlaen-row{font-size:16px;}
  .dlaen-row dt{font-size:16px;letter-spacing:.04em;text-transform:none;}
  .dlaen-ctext{font-size:16px;line-height:1.6;}
  .dlaen-consent .dlaen-check{width:22px;height:22px;}
  .dlaen-consent .dlaen-check.on::after{left:7px;top:3px;width:5px;height:11px;}
  .dlaen-btn{font-size:16px !important;letter-spacing:.06em !important;padding:16px 22px !important;}
  .dla-enroll-cta{font-size:16px !important;letter-spacing:.06em !important;padding:16px 24px !important;}
  .dlaen-line{font-size:21px;}
}
