/* Dalan public pages: layout pieces shared by index / features / pricing / for-landlords / about / contact / privacy / login / signup / otp / setup / pay.
   Colours and sizes come from hsa.css tokens only. */
.pg .hero{padding-block:clamp(48px,7vw,96px) clamp(56px,8vw,104px);}
.pg .hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,64px);align-items:center;}
.pg .hero h1{margin-bottom:18px;max-width:16ch;}
.pg .hero .lede{margin-bottom:28px;}
.pg .hero__cta{display:flex;flex-wrap:wrap;gap:12px;}
.pg .hero__trust{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;font-size:var(--text-sm);color:rgba(255,255,255,.85);}
.pg .hero__trust span{display:inline-flex;align-items:center;gap:8px;}
.pg .hero__trust svg{width:16px;height:16px;color:var(--teal-300);}
.pg .page-hero{padding-block:clamp(40px,6vw,72px) clamp(32px,4vw,56px);}
.pg .page-hero h1{margin-bottom:12px;}
.pg .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.pg .tile{background:var(--color-surface-paper);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:24px;display:flex;flex-direction:column;gap:10px;}
.pg .tile__icon{width:44px;height:44px;border-radius:12px;background:var(--color-brand-primary-subtle);color:var(--color-brand-primary);display:flex;align-items:center;justify-content:center;}
.pg .tile__icon svg{width:22px;height:22px;}
.pg .tile h3{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;}
.pg .tile p{color:var(--color-ink-secondary);font-size:var(--text-sm);line-height:1.55;}
.pg .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.pg .step{display:flex;flex-direction:column;gap:10px;}
.pg .step__n{width:44px;height:44px;border-radius:50%;background:var(--color-brand-primary);color:var(--color-brand-on-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-md);}
.pg .step h3{font-size:var(--text-lg);font-weight:600;}
.pg .step p{color:var(--color-ink-secondary);max-width:34ch;}
.pg .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;}
.pg .compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.pg .compare .tile h3{display:flex;align-items:center;gap:10px;}
.pg .list-check{display:flex;flex-direction:column;gap:10px;}
.pg .list-check li{display:flex;gap:10px;align-items:flex-start;}
.pg .list-check svg{width:20px;height:20px;color:var(--color-brand-primary);flex:none;margin-top:3px;}
.pg .report{background:var(--color-surface-paper);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-2);padding:22px;}
.pg .report__head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;margin-bottom:12px;}
.pg .report__head b{font-size:var(--text-md);}
.pg .report table{font-size:var(--text-sm);}
.pg .report td,.pg .report th{padding:7px 8px;border-bottom:1px solid var(--color-border-subtle);text-align:left;}
.pg .report td:last-child,.pg .report th:last-child{text-align:right;font-variant-numeric:tabular-nums;}
.pg .report tr.sum td{font-weight:700;border-top:2px solid var(--color-ink-primary);}
.pg .report tr.net td{font-weight:700;color:var(--color-brand-primary);font-size:var(--text-md);}
.pg .plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;align-items:stretch;}
.pg .plan{background:var(--color-surface-paper);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:24px;display:flex;flex-direction:column;gap:14px;}
.pg .plan--pop{border:2px solid var(--color-brand-primary);box-shadow:var(--shadow-elevation-2);}
.pg .plan__name{font-weight:700;font-size:var(--text-lg);display:flex;justify-content:space-between;gap:8px;align-items:center;}
.pg .plan__price{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.03em;line-height:1;}
.pg .plan__price small{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-secondary);letter-spacing:0;}
.pg .plan ul{display:flex;flex-direction:column;gap:8px;flex:1;font-size:var(--text-sm);}
.pg .plan li{display:flex;gap:8px;align-items:flex-start;}
.pg .plan li svg{width:18px;height:18px;color:var(--color-brand-primary);flex:none;margin-top:2px;}
.pg .toggle{display:inline-flex;border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-paper);}
.pg .toggle .btn{border-radius:0;border:none;box-shadow:none;}
.pg .quote{max-width:820px;margin-inline:auto;text-align:center;}
.pg .quote p{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.3;letter-spacing:-.015em;margin-bottom:16px;}
.pg .quote cite{font-style:normal;color:var(--color-ink-secondary);font-size:var(--text-sm);}
.pg .faq{max-width:820px;display:flex;flex-direction:column;gap:10px;}
.pg .faq details{background:var(--color-surface-paper);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);}
.pg .faq summary{cursor:pointer;list-style:none;padding:16px 20px;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;}
.pg .faq summary::-webkit-details-marker{display:none;}
.pg .faq summary svg{flex:none;transition:transform var(--duration-base);}
.pg .faq details[open] summary svg{transform:rotate(180deg);}
.pg .faq details p{padding:0 20px 18px;color:var(--color-ink-secondary);}
.pg .cta-band{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;}
.pg .cta-band .hero__cta{justify-content:center;}
.pg .narrow{max-width:760px;}
.pg .prose p{margin-bottom:14px;color:var(--color-ink-secondary);}
.pg .prose h2{margin:28px 0 10px;font-size:var(--text-xl);font-weight:600;}
.pg .field__hint{font-size:var(--text-sm);color:var(--color-ink-secondary);}
.pg .field__error{font-size:var(--text-sm);color:var(--color-danger-text);display:block;min-height:1.5em;font-weight:600;}  /* space is reserved so showing or clearing an error never moves the button under the finger */
.pg .phone-row{display:flex;gap:10px;}
.pg .phone-row .select{max-width:130px;flex:none;}
.pg .formcard{max-width:560px;margin-inline:auto;}
.pg .otp-boxes{display:flex;gap:10px;justify-content:center;}
.pg .otp-boxes .input{width:56px;text-align:center;font-size:var(--text-2xl);padding:0;}
.pg .acct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.pg .acct{display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:72px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--color-border-default);background:var(--color-surface-paper);cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-base);}
.pg .acct:hover{box-shadow:var(--shadow-elevation-2);}
.pg .acct:active{transform:scale(.98);}
.pg .acct svg{width:26px;height:26px;color:var(--color-brand-primary);flex:none;}
.pg .acct b{display:block;}
.pg .acct small{color:var(--color-ink-secondary);font-size:var(--text-sm);}
.pg .wiz-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:var(--text-sm);color:var(--color-ink-secondary);}
.pg .wiz-bar{height:8px;background:var(--color-surface-sunken);border-radius:8px;overflow:hidden;margin-bottom:24px;}
.pg .wiz-bar span{display:block;height:100%;background:var(--color-brand-primary);border-radius:8px;transition:width var(--duration-base);}
.pg .wiz-q{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;margin-bottom:6px;}
.pg .wiz-help{color:var(--color-ink-secondary);margin-bottom:20px;}
.pg .wiz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap;}
.pg .choice{display:grid;gap:12px;}
.pg .choice label{display:flex;align-items:center;gap:12px;padding:14px 16px;min-height:56px;border:2px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;background:var(--color-surface-paper);}
.pg .choice input{width:20px;height:20px;accent-color:var(--color-brand-primary);}
.pg .choice label:has(input:checked){border-color:var(--color-brand-primary);background:var(--color-brand-primary-subtle);}
.pg .total-check{display:flex;align-items:center;gap:10px;font-weight:700;margin-top:6px;}
.pg .total-check.ok{color:var(--color-success-text);}
.pg .total-check.bad{color:var(--color-danger-text);}
.pg .pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.pg .receipt-demo{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:20px;background:var(--color-surface-paper);}
@media (max-width:860px){
  .pg .hero__grid,.pg .split,.pg .compare{grid-template-columns:1fr;}
  .pg .steps{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .pg .acct-grid,.pg .pay-methods{grid-template-columns:1fr;}
  .pg .hero__cta .btn,.pg .cta-band .btn{width:100%;}
  .pg .otp-boxes .input{width:46px;}
  .pg .phone-row{flex-direction:column;}
  .pg .phone-row .select{max-width:none;}
}
.pg .field__label:empty{display:none;}

@media (max-width:560px){.pg .toggle{display:flex;flex-direction:column;width:100%;}.pg .toggle .btn{white-space:normal;}}
.pg .report{color:var(--color-ink-primary);}
.pg .hero .eyebrow{margin-bottom:16px;}
