/* Alotime brand styles for account, contact and sourced-story pages. */
body.alotime-home.al-subpage {
  min-height: 100vh;
  background: #FAFAF7;
  color: #000;
  font-family: var(--font-body, Inter, Arial, sans-serif);
}
.al-subpage-main, .al-auth-main { zoom: 1 !important; }
.al-subpage .al-header { position: sticky; top: 0; z-index: 40; }
.al-subpage-main { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.al-subpage-hero { padding: clamp(54px, 9vw, 112px) 0 clamp(40px, 7vw, 76px); }
.al-subpage-kicker { margin: 0 0 24px; font-size: 12px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.al-subpage-kicker span { display: inline-block; padding: 8px 11px; background: #D1FC51; }
.al-subpage h1 { max-width: 15ch; margin: 0; font-size: clamp(42px, 8vw, 96px); line-height: .98; letter-spacing: -.055em; font-weight: 600; }
.al-subpage-intro { max-width: 58ch; margin: 26px 0 0; color: #4d5048; font-size: clamp(18px, 2.5vw, 23px); line-height: 1.5; }
.al-subpage-content { padding: 0 0 clamp(72px, 10vw, 120px); }
.al-subpage-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px max(24px, calc((100vw - 1120px)/2)); border-top: 1px solid #cccec5; }
.al-subpage-footer img { display: block; width: 132px; height: auto; }
.al-subpage-footer nav { display: flex; flex-wrap: wrap; gap: 22px; }
.al-subpage-footer a { color: #000; font-size: 13px; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.al-auth-main { display: grid; place-items: center; min-height: calc(100svh - 84px); padding: 52px 24px; }
.al-auth-card { width: min(100%, 470px); padding: clamp(26px, 5vw, 48px); border: 1px solid #bfc1b7; background: #fff; }
.al-auth-card__eyebrow { margin: 0 0 16px; color: #4d5048; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.al-auth-card h1 { max-width: 18ch; font-size: clamp(34px, 6vw, 52px); line-height: 1.04; }
.al-auth-card__intro { margin: 16px 0 26px; color: #55584f; font-size: 15px; line-height: 1.6; }
.al-auth-rule { height: 1px; margin: 0 0 24px; background: #d6d6cd; }
.al-auth-card [hidden] { display: none !important; }
.al-auth-field { display: grid; gap: 7px; margin: 0 0 17px; }
.al-auth-field label { font-size: 12px; font-weight: 650; }
.al-auth-field input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid #a9aba2; border-radius: 0; background: #FAFAF7; color: #000; font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1.3; }
.al-auth-field input:focus-visible, .al-contact-field :is(input,select,textarea):focus-visible { outline: 2px solid #000; outline-offset: 3px; }
.al-auth-submit { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 18px; border: 1px solid #D1FC51; background: #D1FC51; color: #000; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.al-auth-submit::after { content: '↗︎'; font-size: 20px; font-weight: 500; }
.al-auth-submit:hover { border-color: #000; background: transparent; }
.al-auth-submit:disabled { opacity: .65; cursor: wait; }
.al-auth-alt { margin: 18px 0 0; color: #55584f; font-size: 14px; line-height: 1.55; text-align: center; }
.al-auth-alt a { color: #000; font-weight: 700; text-underline-offset: 4px; }
.al-auth-note { margin: 14px 0 0; color: #55584f; font-size: 12px; line-height: 1.6; }
.al-auth-message { display: none; margin: 0 0 18px; padding: 12px 14px; border: 1px solid #7a7c72; font-size: 14px; line-height: 1.5; }
.al-auth-message.show { display: block; }
.al-auth-message.show { display: block; }
.auth-message.show.error { border-color: #b42318; background: #fff1ef; color: #721c15; }
.auth-message.show.success { border-color: #7a7c72; background: #efefec; color: #222; }
.al-contact-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: clamp(36px, 8vw, 100px); align-items: start; }
.al-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px 16px; padding: clamp(22px, 4vw, 36px); border: 1px solid #a9aba2; background: #fff; }
.al-contact-field { display: grid; gap: 7px; }
.al-contact-field--wide { grid-column: 1 / -1; }
.al-contact-field label { font-size: 12px; font-weight: 650; }
.al-contact-field :is(input,select,textarea) { width: 100%; min-height: 48px; padding: 11px 12px; border: 1px solid #a9aba2; border-radius: 0; background: #FAFAF7; color: #000; font-family: inherit; font-size: 15px; font-weight: 400; line-height: 1.4; }
.al-contact-field textarea { min-height: 126px; resize: vertical; }
.al-contact-notes { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid #cccec5; }
.al-contact-notes li { padding: 22px 0; border-bottom: 1px solid #cccec5; }
.al-contact-notes strong { display: block; margin-bottom: 8px; font-size: 17px; }
.al-contact-notes span { display: block; color: #55584f; font-size: 14px; line-height: 1.6; }
.al-contact-form .lead-status { grid-column: 1 / -1; min-height: 1.4em; margin: 0; font-size: 14px; line-height: 1.5; }
.al-contact-form .lead-status.error { color: #8a1f17; }
.al-contact-form .lead-status.success { color: #23552a; }
.al-contact-form .lead-submit { grid-column: 1 / -1; min-height: 56px; padding: 12px 18px; border: 1px solid #D1FC51; background: #D1FC51; color: #000; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.al-contact-form .lead-submit:hover { border-color: #000; background: transparent; }
.al-contact-form .lead-submit:disabled { opacity: .65; cursor: wait; }
.al-contact-form .cnote { grid-column: 1 / -1; margin: 0; color: #55584f; font-size: 12px; line-height: 1.55; }
.al-contact-form .cnote a { color: inherit; }
.al-contact-form .lead-turnstile { grid-column: 1 / -1; }
.al-contact-form .lead-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.al-story-disclosure { margin: 0 0 34px; padding: clamp(20px, 4vw, 30px); border: 1px solid #a9aba2; background: #efefec; color: #4d5048; font-size: 16px; line-height: 1.6; }
.al-story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.al-story-item { display: flex; flex-direction: column; min-height: 100%; padding: clamp(22px, 4vw, 34px); border: 1px solid #a9aba2; background: #fff; }
.al-story-item__meta { margin: 0 0 20px; color: #55584f; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.al-story-item h2 { margin: 0; font-size: clamp(24px, 3.5vw, 36px); line-height: 1.08; letter-spacing: -.04em; }
.al-story-item__byline { margin: 12px 0 0; font-size: 14px; font-weight: 650; line-height: 1.5; }
.al-story-item p:not(.al-story-item__meta):not(.al-story-item__byline) { margin: 20px 0 24px; color: #55584f; font-size: 15px; line-height: 1.65; }
.al-story-item a { align-self: flex-start; margin-top: auto; color: #000; font-size: 13px; font-weight: 700; text-underline-offset: 4px; }
.al-story-footnote { margin: 28px 0 0; color: #55584f; font-size: 12px; line-height: 1.6; }
@media (max-width: 760px) {
  .al-subpage-main { width: calc(100% - 36px); }
  .al-auth-main { min-height: calc(100svh - 72px); padding: 34px 18px; }
  .al-contact-grid { grid-template-columns: 1fr; }
  .al-story-grid { grid-template-columns: 1fr; }
  .al-subpage-footer { align-items: flex-start; flex-direction: column; padding-inline: 18px; }
}
@media (max-width: 480px) {
  .al-contact-form { grid-template-columns: 1fr; }
  .al-contact-field--wide { grid-column: auto; }
  .al-subpage-main { width: calc(100% - 32px); }
}

/* Sign-in page refinements: keep the canvas white and use the warm input tint only here. */
body.alotime-home.al-subpage.al-signin-page,
.al-signin-page .al-auth-main { background: #fff !important; }
.al-signin-page .al-auth-card #auth-title {
  max-width: none;
  margin: 0;
  font-size: clamp(30px, 5.2vw, 44px);
  line-height: 1.05;
  letter-spacing: -.045em;
  white-space: nowrap;
}
.al-signin-page .al-auth-field input { background: #FAFAF7 !important; }
@media (max-width: 480px) {
  .al-signin-page .al-auth-card #auth-title { font-size: clamp(27px, 7.2vw, 36px); }
}

/* Sign-up page follows the approved sign-in canvas, field colour and compact heading. */
body.alotime-home.al-subpage.al-signup-page,
.al-signup-page .al-auth-main { background: #fff !important; }
.al-signup-page .al-auth-card #auth-title {
  max-width: none;
  margin: 0;
  font-size: clamp(25px, 5.8vw, 38px);
  line-height: 1.08;
  letter-spacing: -.045em;
  white-space: nowrap;
}
.al-signup-page .al-auth-field input { background: #FAFAF7 !important; }
@media (max-width: 760px) {
  .al-signup-page .al-auth-field input { font-size: 16px; }
}

/* Account pages are a single viewport: center the card below the fixed header. */
.al-auth-page {
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  overscroll-behavior: none;
}
.al-auth-page .al-auth-main {
  position: fixed;
  inset: var(--al-header-height, 84px) 0 0;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: clamp(12px, 3vh, 28px) clamp(16px, 4vw, 32px);
  overflow: hidden;
  display: grid;
  place-items: center;
}
.al-auth-page .al-auth-card {
  box-sizing: border-box;
  min-width: 0;
  max-height: 100%;
  margin: auto;
  overflow: hidden;
}
@media (max-width: 760px) {
  .al-auth-page .al-auth-main { padding: 12px 18px; }
  .al-auth-page .al-auth-card { padding: 18px; }
  .al-auth-page .al-auth-card__intro { margin: 8px 0 12px; font-size: 13px; line-height: 1.4; }
  .al-auth-page .al-auth-rule { margin-bottom: 12px; }
  .al-auth-page .al-auth-field { gap: 4px; margin-bottom: 9px; }
  .al-auth-page .al-auth-field input { min-height: 42px; padding-inline: 11px; }
  .al-auth-page .al-auth-submit { min-height: 46px; }
  .al-auth-page .al-auth-note { margin-top: 8px; font-size: 11px; line-height: 1.35; }
  .al-auth-page .al-auth-alt { margin-top: 10px; font-size: 13px; }
  .al-auth-page .al-auth-message { margin-bottom: 10px; padding: 8px 10px; font-size: 12px; }
}
@media (max-height: 760px) {
  .al-auth-page .al-auth-main { padding-block: 8px; }
  .al-auth-page .al-auth-card { padding-block: 14px; }
  .al-auth-page .al-auth-card__intro { margin-block: 6px 8px; font-size: 12px; line-height: 1.3; }
  .al-auth-page .al-auth-rule { margin-bottom: 8px; }
  .al-auth-page .al-auth-field { gap: 3px; margin-bottom: 7px; }
  .al-auth-page .al-auth-field input { min-height: 38px; }
  .al-auth-page .al-auth-submit { min-height: 40px; }
  .al-auth-page .al-auth-note { margin-top: 5px; line-height: 1.25; }
  .al-auth-page .al-auth-alt { margin-top: 7px; line-height: 1.3; }
  .al-auth-page .al-auth-message { margin-bottom: 7px; padding-block: 6px; line-height: 1.3; }
}
@media (max-width: 380px) and (max-height: 700px) {
  .al-auth-page .al-auth-main { padding-inline: 14px; }
  .al-auth-page .al-auth-card { padding-inline: 12px; }
  .al-auth-page .al-auth-card__intro { font-size: 11px; }
  .al-auth-page .al-auth-field { margin-bottom: 6px; }
  .al-auth-page .al-auth-field input { min-height: 36px; }
  .al-auth-page .al-auth-note { font-size: 11px; }
}

/* Shared Alotime footer and focused contact form width. */
.al-subpage .al-site-footer .foot-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.al-subpage .al-site-footer nav{display:flex;flex-wrap:wrap;gap:18px}
.al-subpage .al-site-footer nav a{color:#000;font-size:13px;text-underline-offset:4px}
.al-subpage .al-contact-form{width:min(100%,760px);margin-inline:auto}

/* Contact is a focused, viewport-conscious conversion page. */
.al-contact-page .al-subpage-main{width:min(980px,calc(100% - 40px))}
.al-contact-page .al-subpage-hero{padding:clamp(24px,5vh,50px) 0 20px}
.al-contact-page .al-subpage-kicker{margin-bottom:12px}
.al-contact-page h1{max-width:18ch;font-size:clamp(34px,5.4vw,64px);line-height:1.02}
.al-contact-page .al-subpage-intro{max-width:64ch;margin-top:12px;font-size:clamp(15px,1.9vw,18px);line-height:1.4}
.al-contact-page .al-subpage-content{padding-bottom:20px}
.al-contact-page .al-contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:16px}
.al-contact-page .al-contact-field{gap:4px}
.al-contact-page .al-contact-field label{font-size:11px}
.al-contact-page .al-contact-field :is(input,select,textarea){min-height:38px;padding:7px 9px;font-size:14px}
.al-contact-page .al-contact-field textarea{min-height:56px;max-height:72px}
.al-contact-page .al-contact-form .lead-submit{min-height:44px}
.al-contact-page .al-contact-form .cnote{font-size:11px;line-height:1.35}
.al-contact-founder-strip{display:flex;justify-content:center;align-items:center;gap:14px;margin:8px auto 22px;color:#4d5048;font-size:12px;letter-spacing:.02em}
.al-contact-founder-strip img{width:34px;height:34px;border:1px solid #000;border-radius:50%;object-fit:cover}
@media(max-height:760px){.al-contact-page .al-subpage-hero{padding-top:16px}.al-contact-page .al-subpage-content{padding-bottom:10px}.al-contact-page .al-contact-form{gap:7px 10px;padding:12px}.al-contact-page .al-contact-field :is(input,select,textarea){min-height:34px}.al-contact-page .al-contact-field textarea{min-height:42px}.al-contact-founder-strip{margin-bottom:10px}}
@media(max-width:480px){.al-contact-page .al-contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.al-contact-page .al-contact-field--wide{grid-column:1/-1}.al-contact-page .al-contact-form .lead-submit,.al-contact-page .al-contact-form .cnote{grid-column:1/-1}.al-contact-page .al-contact-founder-strip{margin-top:0}}


/* Account pages: focused brand-color canvas with an in-card route back to the site. */
body.alotime-home.al-subpage.al-auth-page{min-height:100svh;background:#D1FC51!important}
.al-auth-page .al-auth-main{box-sizing:border-box;min-height:100svh;padding:clamp(20px,5vh,44px) clamp(18px,4vw,32px);background:transparent!important}
.al-auth-page .al-auth-card{width:min(100%,470px);padding:clamp(22px,4vw,36px);border:1px solid #000;background:#FAFAF7;box-shadow:7px 7px 0 #000}
.al-auth-page .al-auth-back{display:inline-flex;align-items:center;gap:10px;margin:0 0 28px;color:#000;font-size:13px;font-weight:700;text-decoration:none}
.al-auth-page .al-auth-back span{text-decoration:underline;text-underline-offset:4px}
.al-auth-page .al-auth-back:hover span{text-decoration-thickness:1px}
.al-auth-page .al-auth-card h1{margin:0}
.al-auth-page .al-auth-submit{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.al-auth-page .al-auth-submit:hover{background:transparent;color:#000;border-color:#D1FC51;box-shadow:inset 0 0 0 .5px #D1FC51}
@media(max-width:600px) and (max-height:850px){.al-auth-page .al-auth-card{padding:20px}.al-auth-page .al-auth-back{margin-bottom:18px}.al-auth-page .al-auth-card__intro{margin:10px 0 16px}.al-auth-page .al-auth-rule{margin-bottom:16px}.al-auth-page .al-auth-field{gap:5px;margin-bottom:10px}.al-auth-page .al-auth-field input{min-height:44px}.al-auth-page .al-auth-note{margin-top:10px;line-height:1.45}.al-auth-page .al-auth-alt{margin-top:12px}}

/* Keep the account surface full-screen after removing the global site header. */
.al-auth-page .al-auth-main{inset:0;min-height:100svh;padding:clamp(14px,3vh,30px) clamp(16px,4vw,32px);overflow:auto}
.al-auth-page .al-auth-card{max-height:calc(100svh - 28px);overflow:auto}
.al-auth-page .al-auth-language{display:flex;justify-content:center;gap:8px;margin:18px 0 0}
.al-auth-page .al-auth-language button{min-height:36px;padding:7px 12px;border:1px solid #a9aba2;background:transparent;color:#000;font:600 12px/1.2 var(--font-body,Inter,Arial,sans-serif);cursor:pointer}
.al-auth-page .al-auth-language button[aria-pressed=true]{border-color:#000;background:#000;color:#D1FC51}
.al-auth-page .al-auth-language button:focus-visible{outline:2px solid #000;outline-offset:3px}
@media(max-width:760px){.al-auth-page .al-auth-language{margin-top:12px}.al-auth-page .al-auth-language button{min-height:34px}}

/* Editorial single-article layout for the dental-clinic industry note. */
.al-industry-article{width:min(100%,820px);margin:0 auto;padding:0 0 clamp(64px,9vw,104px)}
.al-industry-article__lead{margin:0 0 clamp(28px,5vw,48px);color:#252720;font-size:clamp(21px,3vw,28px);line-height:1.45;letter-spacing:-.025em}
.al-industry-article section{padding:clamp(22px,4vw,34px) 0;border-top:1px solid #cccec5}
.al-industry-article h2{max-width:24ch;margin:0;font-size:clamp(24px,3.5vw,34px);line-height:1.12;letter-spacing:-.04em;font-weight:600}
.al-industry-article section p{max-width:66ch;margin:14px 0 0;color:#4d5048;font-size:clamp(16px,2vw,18px);line-height:1.7}
.al-industry-article__note{margin-top:clamp(28px,5vw,44px);padding:clamp(18px,3vw,26px);border:1px solid #a9aba2;background:#efefec;color:#4d5048;font-size:15px;line-height:1.65}
.al-industry-article__note strong{display:block;margin-bottom:8px;color:#000;font-size:12px;letter-spacing:.12em;text-transform:uppercase}

/* Shared CTA hover: one-pixel outline replaces the fill without adding a second stroke. */
.alotime-home :is(.al-header-cta,.draft-cta,.btn-red,.btn-white,.tier__cta,.advise__cta,.fcta .btn,.al-contact .al-button,.al-contact-form .lead-submit,.al-auth-submit,.al-final-cta__button,.al-founder-footer__cta,.draft-menu-panel__cta){transition:background-color .24s ease,color .24s ease,border-color .24s ease,transform .24s ease;--al-button-hover-stroke:#D1FC51}
.alotime-home .al-header-cta{--al-button-hover-stroke:#000}
.alotime-home .btn-white{--al-button-hover-stroke:#fff}
.alotime-home .al-final-cta__button{--al-button-hover-stroke:#D1FC51}
.alotime-home :is(.al-header-cta,.draft-cta,.btn-red,.btn-white,.tier__cta,.advise__cta,.fcta .btn,.al-contact .al-button,.al-contact-form .lead-submit,.al-auth-submit,.al-final-cta__button,.al-founder-footer__cta,.draft-menu-panel__cta):hover{background:transparent!important;color:#000!important;border-width:1px!important;border-color:var(--al-button-hover-stroke,#D1FC51)!important;box-shadow:none!important;transform:none!important}
.alotime-home .al-header--dark-surface .al-header-cta:hover{color:#FAFAF7!important;border-color:#FAFAF7!important}
.alotime-home .al-header--brand-surface .al-header-cta:hover{color:#000!important;border-color:#000!important}
.alotime-home .al-final-cta__button:hover{color:#D1FC51!important;border-color:#D1FC51!important}
.alotime-home .draft-hero .draft-cta:hover{background:transparent!important;color:#000!important;border-width:1px!important;border-color:#D1FC51!important;box-shadow:none!important;transform:none!important}
.alotime-home .stmt-founder .btn.btn-red:hover{background:transparent!important;color:#000!important;border-width:1px!important;border-color:#D1FC51!important;box-shadow:none!important;transform:none!important}
.alotime-home .al-site-footer .founder .al-founder-footer__cta:hover{background:transparent!important;color:#000!important;border-width:1px!important;border-color:#D1FC51!important;box-shadow:none!important;transform:none!important}
.alotime-home .draft-menu-panel__cta:hover b{transform:none!important}
.alotime-home a :is(span,b)[aria-hidden=true]{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}
.alotime-home :is(.al-auth-submit,.tier__cta,.btn-red)::after{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}
.al-auth-page .al-auth-submit:hover{background:transparent!important;color:#000!important;border-width:1px!important;border-color:#D1FC51!important;box-shadow:none!important}
.al-contact-page .al-contact-form .lead-submit:hover{background:transparent!important;color:#000!important;border-width:1px!important;border-color:#D1FC51!important;box-shadow:none!important}

/* Use the same quiet outline hover on every Alotime call to action. */
.alotime-home :is(.al-button,.lead-submit,.btn,.draft-cta,[class*="__cta"],[class*="-cta"],[data-cta]){transition:background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.alotime-home :is(.al-button,.lead-submit,.btn,.draft-cta,[class*="__cta"],[class*="-cta"],[data-cta]):hover{background:transparent!important;color:currentColor!important;border-width:1px!important;border-color:var(--al-button-hover-stroke,#D1FC51)!important;box-shadow:none!important;transform:none!important}
.alotime-home .al-header-cta:hover{color:#000!important;border-color:#D1FC51!important}
.alotime-home .al-header--dark-surface .al-header-cta:hover{color:#FAFAF7!important;border-color:#FAFAF7!important}
.alotime-home .draft-cta:hover,.alotime-home .btn-red:hover,.alotime-home .tier__cta:hover,.alotime-home .al-contact-form .lead-submit:hover,.alotime-home .al-auth-submit:hover{color:#000!important;border-color:#D1FC51!important}
.alotime-home .al-final-cta__button:hover{color:#D1FC51!important;border-color:#D1FC51!important}
.alotime-home .al-site-footer .al-founder-footer__cta:hover{color:#000!important;border-color:#D1FC51!important}
