/* Contact panel "Sheet" (chosen by Alik, 11 Nov 2026). Used with contact.js in this folder, on builds made with
   BUILDERS_CONTACT_PANEL=sheet. The pill itself keeps the live look from contact-first/contact.css, which stays loaded.
   Typefaces: Marcellus and Alegreya Sans (SIL Open Font Licence 1.1), the same files as /fonts/home-options/option-4.css. */
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/home-options/marcellus/marcellus-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/home-options/alegreya-sans/alegreya-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/home-options/alegreya-sans/alegreya-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/home-options/alegreya-sans/alegreya-sans-latin-700-normal.woff2) format('woff2')}

.eb-sheet{
  --ebs-ivory:#f1ede2;--ebs-forest:#243e33;--ebs-forest-deep:#1a2e26;
  --ebs-display:'Marcellus','Optima','Palatino Linotype',serif;--ebs-body:'Alegreya Sans','Gill Sans',Arial,sans-serif;
  --ebs-spring:cubic-bezier(.22,1,.36,1);--ebs-press:cubic-bezier(.2,.8,.2,1);--ebs-exit:cubic-bezier(.4,0,1,1);
  --ebs-bg:#f6f4ec;--ebs-ink:#242722;--ebs-soft:#51594c;--ebs-hair:rgba(36,39,34,.14);--ebs-tint:rgba(36,39,34,.07);--ebs-tint-strong:rgba(36,39,34,.13);--ebs-surface:#fdfcf8;--ebs-ring:#7b5a2c;
  /* the pill inherits these, exactly as it did from the old panel's wrapper */
  font-family:"IBM Plex Sans",Arial,sans-serif;color:#243e33;
}
@supports (transition-timing-function:linear(0,1)){
  .eb-sheet{--ebs-spring:linear(0,.0018,.0069 1.15%,.026 2.3%,.0637,.1135 5.18%,.2229 7.78%,.5977 15.84%,.7014,.7904,.8641,.9228,.9676 28.8%,1.0032 31.68%,1.0225,1.0352 36.29%,1.0431 38.88%,1.046 42.05%,1.0448 44.35%,1.0407 47.23%,1.0118 61.63%,1.0025 69.41%,.9981 80.35%,.9992 99.94%)}
}
/* ---------- the pill: live look, plus a 44 px place to press and a press response ---------- */
.eb-sheet .eb-contact-launcher{transition:scale .2s var(--ebs-press),opacity .12s ease;-webkit-tap-highlight-color:transparent}
.eb-sheet .eb-contact-launcher::after{content:"";position:absolute;inset:-4px 0}
.eb-sheet .eb-contact-launcher:active{scale:.95}
/* Under the open panel the pill is not drawn. It stays in place so focus can return to it. */
.eb-sheet .eb-contact-launcher[aria-expanded="true"]{opacity:0}

/* ---------- the layer ---------- */
.eb-sheet .ebs-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ebs-ink);overflow:hidden;overflow:clip;font:400 17px/1.4 var(--ebs-body);letter-spacing:normal;text-align:left;text-transform:none;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.eb-sheet .ebs-dialog:not([open]){display:none}
.eb-sheet .ebs-dialog::backdrop{background:transparent}
/* The pages this sits on bring their own rules for headings, links and buttons. Start every part from nothing. */
.ebs-dialog :is(div,header,nav,h2,p,a,button,strong,span,svg){box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;text-decoration:none;text-align:inherit;text-shadow:none;min-width:0;max-width:none;float:none;opacity:1;-webkit-tap-highlight-color:transparent}
.ebs-dialog :is(div,header,nav,h2,p,a,button,strong,span)::before,.ebs-dialog :is(div,header,nav,h2,p,a,button,strong,span)::after{box-sizing:border-box}
.ebs-dialog button{cursor:pointer;-webkit-appearance:none;appearance:none}
.ebs-dialog svg{display:block;flex:none;fill:none;stroke:currentColor}
.eb-sheet .ebs-dialog :is(a,button):focus-visible{outline:2px solid var(--ebs-ring);outline-offset:2px}
.eb-sheet .ebs-dialog [hidden]{display:none!important}
.eb-sheet .ebs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.eb-sheet .ebs-scrim{position:absolute;inset:0;background:rgba(20,24,20,.5);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);opacity:0;transition:opacity .26s ease}
.eb-sheet .ebs-dialog[data-phase="open"] .ebs-scrim{opacity:1;transition-duration:.4s}

/* ---------- the panel ---------- */
.eb-sheet .ebs-panel{position:absolute;display:flex;flex-direction:column;min-height:0;background:var(--ebs-bg);color:var(--ebs-ink);box-shadow:0 -1px 0 rgba(255,255,255,.5) inset,0 28px 80px rgba(12,16,12,.42),0 2px 10px rgba(12,16,12,.16);will-change:translate,scale;transition:translate .28s var(--ebs-exit),scale .28s var(--ebs-exit),opacity .2s ease .06s}
.eb-sheet .ebs-dialog[data-phase="open"] .ebs-panel{transition:translate .62s var(--ebs-spring),scale .56s var(--ebs-spring),opacity .18s ease}
.eb-sheet .ebs-top{flex:none}
.eb-sheet .ebs-grabber{display:none}
.eb-sheet .ebs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 16px 0 24px}
.eb-sheet .ebs-eyebrow{font:700 12px/1.3 var(--ebs-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ebs-soft)}
.eb-sheet .ebs-title{margin-top:8px;font:400 34px/1.08 var(--ebs-display);letter-spacing:-.005em;color:var(--ebs-ink);text-wrap:balance}
.eb-sheet .ebs-lead{margin-top:8px;font-size:18px;line-height:1.35;color:var(--ebs-soft)}
.eb-sheet .ebs-close{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ebs-tint);color:var(--ebs-ink);font-size:17px;transition:scale .18s var(--ebs-press),background-color .18s ease}
.eb-sheet .ebs-close:active{scale:.9;background:var(--ebs-tint-strong)}
.eb-sheet .ebs-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px 0;scrollbar-width:thin}
.eb-sheet .ebs-note{padding:16px 8px 20px;font-size:13.5px;line-height:1.45;color:var(--ebs-soft);text-wrap:pretty}

/* ---------- the list ---------- */
.eb-sheet .ebs-group{display:block;background:var(--ebs-surface);border-radius:20px;box-shadow:0 0 0 1px var(--ebs-hair);overflow:hidden}
.eb-sheet .ebs-row{position:relative;display:flex;align-items:stretch}
/* the rule between rows starts after the icon, not at the edge */
.eb-sheet .ebs-row + .ebs-row::before{content:"";position:absolute;left:76px;right:0;top:0;height:1px;background:var(--ebs-hair)}
.eb-sheet .ebs-link{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:16px;min-height:72px;padding:12px 8px 12px 16px;transition:background-color .16s ease}
.eb-sheet .ebs-link:active{background:var(--ebs-tint)}
.eb-sheet .ebs-link:active .ebs-tile{scale:.92}
.eb-sheet .ebs-dialog :is(.ebs-link,.ebs-copy):focus-visible{outline-offset:-3px;border-radius:18px}
.eb-sheet .ebs-tile{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--ebs-forest);color:var(--ebs-ivory);transition:scale .2s var(--ebs-press)}
.eb-sheet .ebs-text{min-width:0;display:grid;gap:2px}
.eb-sheet .ebs-text strong{display:block;font-weight:700;font-size:18px;line-height:1.25}
.eb-sheet .ebs-text span{display:block;font-size:16.5px;line-height:1.3;color:var(--ebs-soft);overflow-wrap:anywhere}
.eb-sheet .ebs-chevron{margin-left:auto;padding-right:8px;display:grid;color:var(--ebs-soft);opacity:.7}
.eb-sheet .ebs-copy{flex:none;display:grid;place-items:center;position:relative;width:56px;min-height:72px;color:var(--ebs-soft);transition:scale .18s var(--ebs-press),color .18s ease}
.eb-sheet .ebs-copy:active{scale:.86}
.eb-sheet .ebs-copy[data-copied]{color:var(--ebs-forest)}
.eb-sheet .ebs-copy .ebs-done,.eb-sheet .ebs-copy[data-copied] .ebs-todo{display:none}
.eb-sheet .ebs-copy[data-copied] .ebs-done{display:block}

.eb-sheet .ebs-primary,.eb-sheet .ebs-quiet{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:0;border-radius:18px;font-weight:700;font-size:18px;line-height:1.2;text-decoration:none;transition:scale .2s var(--ebs-press),background-color .18s ease}
.eb-sheet .ebs-primary{min-height:56px;margin-top:16px;padding:12px 20px;background:var(--ebs-forest);color:var(--ebs-ivory)}
.eb-sheet .ebs-quiet{min-height:52px;margin-top:8px;padding:10px 20px;background:var(--ebs-tint);color:var(--ebs-ink);font-weight:500}
.eb-sheet .ebs-primary:active,.eb-sheet .ebs-quiet:active{scale:.97}
.eb-sheet .ebs-primary:active{background:var(--ebs-forest-deep)}
.eb-sheet .ebs-quiet:active{background:var(--ebs-tint-strong)}
@media (hover:hover){
  .eb-sheet .ebs-close:hover{background:var(--ebs-tint-strong)}
  .eb-sheet .ebs-link:hover{background:var(--ebs-tint)}
  .eb-sheet .ebs-copy:hover{color:var(--ebs-ink)}
  .eb-sheet .ebs-primary:hover{background:var(--ebs-forest-deep)}
  .eb-sheet .ebs-quiet:hover{background:var(--ebs-tint-strong)}
}

/* The parts rise one after another as the panel opens. */
@keyframes ebs-rise{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.eb-sheet .ebs-dialog[data-phase="open"] .ebs-rise{animation:ebs-rise .5s cubic-bezier(.215,.61,.355,1) both;animation-delay:calc(.05s + var(--ebs-i,0) * .045s)}
.eb-sheet .ebs-rise:nth-child(2){--ebs-i:1}.eb-sheet .ebs-rise:nth-child(3){--ebs-i:2}.eb-sheet .ebs-rise:nth-child(4){--ebs-i:3}

/* ---------- phones: a sheet from the bottom edge, dragged down to close ---------- */
@media (max-width:760px){
  .eb-sheet .ebs-panel{left:0;right:0;bottom:0;max-height:calc(100dvh - 32px);border-radius:28px 28px 0 0;translate:0 calc(100% + 40px);padding-bottom:env(safe-area-inset-bottom)}
  /* The spring passes its resting place by a few pixels; this keeps the page from showing under the sheet while it does. */
  .eb-sheet .ebs-panel::after{content:"";position:absolute;left:0;right:0;top:calc(100% - 1px);height:64px;background:inherit}
  .eb-sheet .ebs-dialog[data-phase="open"] .ebs-panel{translate:0 0}
  .eb-sheet .ebs-top{touch-action:none;cursor:grab}
  .eb-sheet .ebs-grabber{display:block;width:36px;height:5px;margin:8px auto 0;border-radius:3px;background:var(--ebs-tint-strong)}
  .eb-sheet .ebs-header{padding:12px 12px 0 20px}
  .eb-sheet .ebs-title{font-size:32px}
  .eb-sheet .ebs-body{padding:16px 12px 0}
  .eb-sheet .ebs-note{padding:16px 8px 16px}
}
/* ---------- wide screens: a card that grows out of the pill, wherever the pill sits ---------- */
@media (min-width:761px){
  .eb-sheet .ebs-scrim{background:rgba(20,24,20,.34);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .eb-sheet .ebs-panel{right:var(--ebs-right,24px);bottom:var(--ebs-bottom,88px);width:408px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border-radius:28px;opacity:0;transform-origin:var(--ebs-origin,calc(100% - 56px) calc(100% - 20px));scale:.8;translate:0 8px}
  .eb-sheet .ebs-dialog[data-phase="open"] .ebs-panel{translate:0 0;opacity:1;scale:1}
}
/* Reduced motion: no movement anywhere, every state is immediate. */
@media (prefers-reduced-motion:reduce){
  .eb-sheet *,.eb-sheet *::before,.eb-sheet *::after{transition:none!important;animation:none!important}
}
