/* Authgnosis Contact page. Brand: Inter, ink #525252, brick #9D3F3F, mushroom #F6F2E9, green #3F6E56. */
.agx{font-family:Inter,system-ui,sans-serif;color:#525252;line-height:1.55;letter-spacing:-0.3px}
.agx *,.agx *::before,.agx *::after{box-sizing:border-box}
.agx h1,.agx h2,.agx h3{color:#525252;font-weight:700;padding:0}
.agx p{padding:0}
.agx a{color:#9D3F3F}
.agx-wrap{max-width:1080px;margin:0 auto}
/* The Divi section and row around each band add no height or padding of their own. */
.et_pb_section:has(.agx-band){min-height:0 !important;padding-top:0 !important;padding-bottom:0 !important}
.et_pb_row:has(.agx-band){padding-top:0 !important;padding-bottom:0 !important}
.et_pb_column:has(.agx-band){padding-top:0 !important;padding-bottom:0 !important}
.agx #agb-booking{margin-left:0;margin-right:0;max-width:none}
.agx #agb-booking h3,.agx #agb-booking h4{padding:0}
/* Each band paints its colour across the full window without widening the page. */
.agx-band{padding:clamp(2rem,1.5rem + 2vw,3.5rem) 0;clip-path:inset(0 -100vmax)}
.agx-band.agx-cream{background:#F6F2E9;box-shadow:0 0 0 100vmax #F6F2E9}
.agx-band.agx-white{background:#fff;box-shadow:0 0 0 100vmax #fff}
.agx-band.agx-cream:not(:has(.agx-hero)){padding-top:0}
.agx-band:has(.agx-person){padding-bottom:0}
/* The booking form sits in a white panel like the cards, with the cream page around it. */
.agx-panel{background:#fff;border:1px solid #e3dccd;border-radius:12px;padding:clamp(20px,1rem + 2vw,40px)}

.agx-hero{text-align:center;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px}
.agx-hero h1{margin:0;font-size:clamp(2.375rem,1.9rem + 2vw,3.5rem);line-height:1.1;letter-spacing:-1.5px}
.agx-hero p{margin:0;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem)}
.agx-jumps{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:0}
.agx .agx-jump{background:#3F6E56;color:#fff;text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.4px;text-transform:uppercase;padding:12px 18px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.agx .agx-jump:hover{background:#335a46;color:#fff}

.agx-grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
/* Sign-up cards share rows, so labels, headings, text and forms line up across the cards. */
.agx-signups .agx-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:12px;align-content:start}
.agx-card{background:#fff;border:1px solid #e3dccd;border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:120px}
.agx-card.agx-dark{background:#525252;border-color:#525252;color:#fff}
.agx-card.agx-dark h2,.agx-card.agx-dark a{color:#fff}
.agx-card.agx-dark .agx-eyebrow{color:#F6F2E9}
.agx-eyebrow{margin:0;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#9D3F3F}
.agx-card h2{margin:0;font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);line-height:1.2;letter-spacing:-.8px}
.agx-card p{margin:0;font-size:16px}
.agx-grow{flex-grow:1}
.agx-meta{color:#9D3F3F;font-weight:600;font-size:15px}
.agx-status-line{display:flex;align-items:center;gap:8px;font-size:15px}
.agx-status-line[hidden]{display:none}
.agx-dot{width:10px;height:10px;border-radius:50%;background:#b9b3a6;flex-shrink:0}
.agx-dot.agx-on{background:#2e9e5b}
.agx .agx-btn{align-self:flex-start;border:0;background:#9D3F3F;color:#fff;font:600 16px Inter,system-ui,sans-serif;padding:12px 20px;border-radius:8px;cursor:pointer;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.agx .agx-btn:hover{background:#7f3232;color:#fff}
.agx .agx-btn:disabled{opacity:.6;cursor:default}
.agx-dark .agx-btn{background:#F6F2E9;color:#525252}
.agx .agx-dark .agx-btn:hover{background:#fff;color:#525252}

.agx-book-head{display:flex;flex-direction:column;gap:8px;max-width:720px;margin:0}
.agx-book-head h2{margin:0;font-size:clamp(2rem,1.6rem + 1.4vw,2.625rem);line-height:1.1;letter-spacing:-1px}
.agx-book-head p{margin:0;font-size:18px}
.agx-note{margin:16px 0 0;font-size:14px}

.agx-form{display:flex;flex-direction:column;gap:10px}
.agx-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.agx-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.agx-form input{padding:11px 12px;border:1px solid #bbb;border-radius:8px;font:16px Inter,system-ui,sans-serif;color:#525252;background:#fff;min-width:0}
.agx-dark .agx-form input{border-color:#fff}
.agx-form .agx-status{margin:0;font-size:14px;min-height:0}
.agx-form .agx-status:empty{display:none}
.agx-small{font-size:13px !important}
.agx-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.agx-done{margin:0;font-size:16px;font-weight:600}
.agx a:focus-visible,.agx button:focus-visible,.agx input:focus-visible{outline:3px solid #63BFEB;outline-offset:2px}

.agx-person{display:flex;gap:40px;align-items:center;flex-wrap:wrap}
.agx-person img{width:180px;height:auto;flex-shrink:0}
.agx-person div{flex:1 1 420px;display:flex;flex-direction:column;gap:8px}
.agx-person h2{margin:0;font-size:30px;letter-spacing:-.8px}
.agx-person p{margin:0;font-size:17px}

@media (max-width:980px){.agx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agx-grid > .agx-card:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:767px){
  .agx-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .agx-card{padding:20px}
  .agx-panel{padding:20px}
  .agx-fields{grid-template-columns:minmax(0,1fr)}
  .agx .agx-btn{align-self:stretch;justify-content:center}
  .agx-ways .agx-book-card{order:-1}
}
/* B123 subscribe, confirm and unsubscribe pages (subscribe-page.js fills #ags) */
.agx .agx-subscribe{max-width:640px;margin:clamp(24px,2rem + 2vw,64px) auto;text-align:center}
#ags h1{margin:0 0 12px;font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);line-height:1.2;letter-spacing:-1px}
#ags .ags-lead{margin:0 0 24px;font-size:17px}
#ags .ags-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0}
#ags .ags-actions .agx-btn + .agx-btn{background:transparent;color:#9D3F3F;box-shadow:inset 0 0 0 2px #9D3F3F}
#ags .ags-actions .agx-btn + .agx-btn:hover{background:#F6F2E9;color:#7f3232}
#ags .ags-status{margin:16px 0 0;font-size:15px;min-height:1.55em}
#ags .ags-status:empty{display:none}
#ags .ags-done{margin:0;font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);font-weight:600;line-height:1.35}
#ags .ags-small{display:inline-block;margin-top:20px;font-size:14px;color:#525252}
@media (max-width:767px){#ags .ags-actions{flex-direction:column}}
