/* MIDAS Tech Doc — global theme (RPM Design Component v0.2)
   All styles scoped to .au-page so nothing leaks to other HubSpot pages.
   Design changes: edit tokens here once → applies everywhere.
   ---------------------------------------------------------------- */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@latest/dist/web/variable/pretendardvariable.min.css');

.au-page{
  /* Primary (CTA / links / active) — BLUE */
  --primary-50:#F5F5FF; --primary-100:#E2EBFD; --primary-200:#C5D7FC;
  --primary-300:#9EBDFA; --primary-400:#6E9CF9; --primary-500:#5188F6;
  --primary-600:#1369E9; --primary-700:#0E59CB; --primary-800:#0942B3; --primary-900:#073288;
  /* Neutral (text / bg / border) */
  --neutral-50:#FCFCFC; --neutral-100:#F9FAFC; --neutral-200:#F5F7FA;
  --neutral-300:#E5E8EB; --neutral-400:#D1D6DB; --neutral-500:#8B95A1;
  --neutral-600:#6B7684; --neutral-700:#4E5968; --neutral-800:#333D4B; --neutral-900:#191F28;
  /* Semantic */
  --success-50:#F0FDF4; --success-500:#16A34A;
  --warning-50:#FFFBEB; --warning-100:#FEF3C7; --warning-500:#F59E0B;
  --error-50:#FEF2F2; --error-500:#DC2626;
  /* text roles */
  --t-h1:var(--neutral-900); --t-h2:var(--neutral-800);
  --t-body:var(--neutral-700); --t-sub:var(--neutral-600); --t-soft:var(--neutral-500);
  /* radius */
  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-xl:16px;
  /* shadow */
  --shadow-1:0 1px 2px rgba(25,31,40,.04);
  --shadow-2:0 2px 8px rgba(25,31,40,.05),0 1px 2px rgba(25,31,40,.04);
  --shadow-3:0 8px 24px rgba(25,31,40,.08);
  --font:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,system-ui,"Noto Sans KR","Segoe UI",Roboto,sans-serif;
  --maxw:1120px;

  margin:0;font-family:var(--font);color:var(--t-body);background:#fff;line-height:1.55;letter-spacing:-.02em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.au-page *{box-sizing:border-box}
.au-page a{color:inherit;text-decoration:none}
.au-page h1,.au-page h2,.au-page h3{margin:0;color:var(--t-h1);letter-spacing:-.02em;font-family:inherit}
.au-page img{max-width:100%;display:block}
.au-page [id]{scroll-margin-top:120px}
.au-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ===== Top brand bar ===== */
.au-topbar{border-bottom:1px solid var(--neutral-300);background:#fff}
.au-topbar__inner{max-width:var(--maxw);margin:0 auto;padding:18px 24px;display:flex;align-items:center;gap:16px}
.au-brand{font-weight:800;font-size:19px;letter-spacing:.04em;color:var(--neutral-900);text-decoration:none;transition:opacity .15s}
a.au-brand:hover{opacity:.7}
.au-brand__divider{width:1px;height:22px;background:var(--neutral-300)}
.au-client{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t-soft);line-height:1}
.au-client__label{font-size:12px;color:var(--neutral-500);line-height:1}
.au-client__logo{display:block;max-height:24px;width:auto;height:auto;vertical-align:middle;object-fit:contain}.au-client{min-width:0}.au-logostrip{--au-logo-h:24px;flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}.au-logostrip .au-client__logo{max-height:var(--au-logo-h);max-width:150px}.au-logostrip__track{display:flex;align-items:center;gap:44px;width:max-content;animation-name:au-logoflow;animation-timing-function:linear;animation-iteration-count:infinite}.au-logostrip:hover .au-logostrip__track,.au-logostrip:focus-within .au-logostrip__track{animation-play-state:paused}@keyframes au-logoflow{to{transform:translateX(calc(-50% - 22px))}}@media(prefers-reduced-motion:reduce){.au-logostrip{-webkit-mask-image:none;mask-image:none;overflow:visible}.au-logostrip__track{animation:none !important;transform:none !important;flex-wrap:wrap;width:auto;gap:12px 24px}.au-logostrip__track [data-dup]{display:none}}@media(max-width:640px){.au-logostrip__track{gap:28px}.au-logostrip{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%)}}
.au-client__text{font-size:14px;font-weight:700;color:var(--neutral-900);letter-spacing:.02em;line-height:1}
.au-client__placeholder{display:inline-flex;align-items:center;justify-content:center;height:24px;min-width:96px;border:1px dashed var(--neutral-400);border-radius:var(--r-sm);font-size:11px;color:var(--neutral-400);padding:0 10px;line-height:1}

/* ===== Hero ===== */
.au-hero{background:linear-gradient(180deg,#fff 0%,var(--neutral-100) 100%);border-bottom:1px solid var(--neutral-300);padding:72px 24px 64px}
.au-hero__inner{max-width:var(--maxw);margin:0 auto}
.au-hero__title{font-size:clamp(32px,4.6vw,50px);font-weight:800;line-height:1.14;margin:0 0 40px !important;padding:0;color:var(--neutral-900);background:linear-gradient(120deg,var(--neutral-900) 0%,var(--neutral-800) 35%,var(--primary-600) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.au-hero__sub{font-size:18px;line-height:1.7;color:var(--t-sub);max-width:none;margin:0 !important;padding:0}
.au-hero__sub p{margin:0 !important;padding:0}
.au-hero__sub p:not(:last-child){margin-bottom:12px !important}

/* ===== Sticky nav + region filter ===== */
.au-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--neutral-300)}
.au-nav__inner{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.au-nav__links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.au-nav__links::-webkit-scrollbar{display:none}
.au-nav__link{padding:18px 18px;font-size:14px;font-weight:600;color:var(--t-sub);border-bottom:2px solid transparent;white-space:nowrap;transition:.2s;display:inline-block}
.au-nav__link:hover{color:var(--t-h1)}
.au-nav__link.is-active{color:var(--primary-600);border-bottom-color:var(--primary-600)}
.au-nav__filter{display:flex;align-items:center;gap:8px;flex-shrink:0}
.au-nav__filter-label{font-size:12px;font-weight:600;color:var(--t-soft)}
.au-rselect{appearance:none;-webkit-appearance:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--t-h2);background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7684' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--neutral-300);border-radius:var(--r-md);padding:8px 34px 8px 14px;cursor:pointer;transition:.2s}
.au-rselect:hover{border-color:var(--neutral-400)}
.au-rselect:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-50)}

/* ===== Section ===== */
.au-section{padding:80px 24px}
.au-section--alt{background:var(--neutral-100)}
.au-section__head{margin-bottom:40px;max-width:720px}
.au-section__kicker{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.au-section__icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--primary-50);display:grid;place-items:center;font-size:20px}
.au-section__num{font-size:13px;font-weight:700;color:var(--primary-600);letter-spacing:.04em}
.au-section__title{font-size:28px;font-weight:800;margin-bottom:8px}
.au-section__desc{font-size:15px;color:var(--t-sub)}
.au-section__desc p{margin:0}

/* language filter chips */
.au-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.au-chip{padding:8px 16px;border-radius:999px;border:1px solid var(--neutral-300);background:#fff;font-size:13px;font-weight:600;color:var(--t-sub);cursor:pointer;transition:.2s;font-family:inherit}
.au-chip:hover{border-color:var(--neutral-400);color:var(--t-h2)}
.au-chip.is-active{background:var(--neutral-900);border-color:var(--neutral-900);color:#fff}

/* grid + cards */
.au-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.au-card__desc>p{margin:0}.au-card.au-card--row .au-card__desc>p{display:inline}.au-list{border:1px solid var(--neutral-300);border-radius:var(--r-lg);overflow:hidden;background:#fff}.au-card.au-card--row{display:flex;flex-direction:row;align-items:center;gap:18px;padding:14px 18px;border:0;border-top:1px solid var(--neutral-300);border-radius:0;background:#fff;box-shadow:none}.au-list>.au-card.au-card--row:first-child{border-top:0}.au-card.au-card--row:hover{background:var(--neutral-100);transform:none;box-shadow:none}.au-card.au-card--row .au-card__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.au-card.au-card--row .au-card__line{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.au-card.au-card--row .au-card__title{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.au-card.au-card--row .au-card__desc{font-size:13px;flex:0 0 auto;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.au-card.au-card--row .au-card__note{margin:0;font-size:12px}.au-badge--note{background:var(--warning-50);color:#7A5300;border:1px solid var(--warning-100);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.au-badge--more{background:var(--neutral-200);color:var(--t-sub);border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 9px;line-height:normal;position:relative;overflow:visible}.au-more__pop{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:6;background:var(--neutral-900);color:#fff;padding:7px 10px;border-radius:var(--r-md);font-size:12px;font-weight:600;line-height:1.45;letter-spacing:0;text-align:left;white-space:normal;width:max-content;max-width:200px;box-shadow:var(--shadow-3);opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none}.au-more__pop::after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--neutral-900)}.au-badge--more:hover .au-more__pop,.au-badge--more:focus .au-more__pop,.au-badge--more.is-open .au-more__pop{opacity:1;visibility:visible}.au-badge--more:hover{background:var(--neutral-300);color:var(--t-body)}.au-badge--more:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.au-card.au-card--row .au-card__meta>.au-badge:not(.au-badge--more){max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.au-card.au-card--row .au-card__meta{display:flex;flex-direction:row;align-items:center;gap:6px;flex:0 0 auto}.au-card.au-card--row .au-card__actions{flex:0 0 auto;width:132px;margin:0;padding:0;border:0}@media(min-width:641px){.au-card.au-card--row .au-card__meta>.au-badge:not(.au-badge--more):nth-child(n+3){display:none}}.au-card.au-card--row .au-btn{height:36px;font-size:13px}.au-card.au-card--row .au-btn--primary{background:transparent !important;color:var(--primary-600) !important;border-color:var(--neutral-400)}.au-card.au-card--row .au-btn--primary:hover{background:var(--primary-50) !important;color:var(--primary-700) !important;border-color:var(--primary-600)}.au-card.au-card--row .au-btn--disabled{background:transparent;border-color:transparent;font-weight:600}@media(max-width:640px){.au-card.au-card--row{flex-wrap:wrap;gap:10px;padding:14px 16px;align-items:flex-start}.au-card.au-card--row .au-card__main{flex-basis:100%;order:1}.au-card.au-card--row .au-card__desc{white-space:normal}.au-card.au-card--row .au-card__meta{order:2;flex-wrap:wrap;max-width:100%}.au-card.au-card--row .au-card__meta>.au-badge--more{display:none}.au-card.au-card--row .au-card__actions{width:100%;order:3}.au-card.au-card--row .au-btn--disabled{justify-content:flex-start;padding:0;height:auto}.au-badge--note{max-width:100%}}}
.au-grid--3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.au-card{background:#fff;border:1px solid var(--neutral-300);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:.2s}
.au-card:hover{box-shadow:var(--shadow-3);transform:translateY(-3px)}
.au-card__head{display:flex;flex-wrap:wrap;gap:6px}
.au-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-sm);font-size:11px;font-weight:700;letter-spacing:.02em}
.au-badge--pdf{background:var(--error-50);color:var(--error-500)}
.au-badge--python{background:var(--primary-50);color:var(--primary-600)}
.au-badge--vba{background:var(--warning-50);color:var(--warning-500)}
.au-badge--marketplace{background:var(--neutral-200);color:var(--neutral-600)}
.au-badge--tutorial{background:var(--success-50);color:var(--success-500)}
.au-badge--github{background:var(--neutral-900);color:#fff}
.au-badge--docs{background:var(--primary-50);color:var(--primary-700)}
.au-badge--beta{background:var(--warning-100);color:var(--warning-500)}
.au-badge--lang{background:var(--primary-100);color:var(--primary-700);border:1px solid transparent}.au-badge--region{background:transparent;color:var(--t-sub);border:1px solid var(--neutral-400);border-radius:999px}
/* custom badge_text tags — auto-assigned one of these palettes by JS (same text → same color) */
.au-badge--tag{background:var(--neutral-200);color:var(--neutral-700)}












.au-card__title{font-size:17px;font-weight:700;color:var(--t-h1);line-height:1.4}
.au-card__desc{font-size:14px;color:var(--t-sub);line-height:1.55;flex:1;margin:0}
.au-card__note{font-size:12px;color:var(--warning-500);background:var(--warning-50);border-radius:var(--r-sm);padding:8px 12px;margin:0}
.au-card__actions{display:flex;gap:8px;margin-top:8px;padding-top:16px;border-top:1px solid var(--neutral-200)}

/* Buttons */
.au-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;border-radius:var(--r-md);font-size:14px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .25s;font-family:inherit;width:100%;text-align:center;text-decoration:none}
.au-btn--primary{background:var(--primary-600) !important;color:#fff !important}
.au-btn--primary:hover{background:var(--primary-700) !important;color:#fff !important}
.au-btn--line{background:#fff;border-color:var(--neutral-300);color:var(--t-h2) !important}
.au-btn--line:hover{border-color:var(--primary-600);color:var(--primary-600) !important;background:var(--primary-50)}
.au-btn--disabled{background:var(--neutral-200);color:var(--t-sub) !important;cursor:not-allowed}


/* dev icon cards */
.au-section--icon .au-card{align-items:flex-start}
.au-section--icon .au-card__big{width:48px;height:48px;border-radius:var(--r-md);background:var(--primary-50);display:grid;place-items:center;font-size:24px;margin-bottom:4px}

/* empty state */


/* footer */
.au-footer{background:var(--neutral-900);color:#CBD5E1;padding:48px 24px}
.au-footer__inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr;gap:48px}
.au-footer h2{color:#fff;font-size:22px;margin-bottom:12px}
.au-footer__body{font-size:14px;color:#94A3B8;margin-bottom:24px;line-height:1.6;max-width:440px}
.au-footer__body p{margin:0 0 8px}
.au-footer__contact-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748B;margin-bottom:8px}
.au-footer__contact{font-size:15px;display:flex;flex-direction:column;gap:4px}
.au-footer__contact strong{color:#fff;font-weight:600}
.au-footer__contact a{color:var(--primary-300)}
.au-footer__meta{font-size:12px;color:#94A3B8;display:flex;flex-direction:column;gap:12px;align-items:flex-end;text-align:right}
.au-footer__notice{background:rgba(19,105,233,.1);border:1px solid rgba(81,136,246,.2);padding:12px 16px;border-radius:var(--r-md);color:#BFDBFE;line-height:1.5}

/* ===== responsive ===== */
@media(max-width:860px){
  .au-nav__inner{flex-direction:column;align-items:stretch;gap:0}
  .au-nav__filter{padding:12px 0;border-top:1px solid var(--neutral-300);overflow-x:auto}
}
@media(max-width:768px){
  .au-footer__inner{grid-template-columns:1fr;gap:32px}
  .au-footer__meta{align-items:flex-start;text-align:left}
}
@media(max-width:640px){
  .au-wrap,.au-topbar__inner,.au-hero__inner,.au-nav__inner,.au-footer__inner{padding-left:18px;padding-right:18px}
  .au-section{padding:56px 18px}
  .au-hero{padding:44px 18px 40px}
  .au-hero__title{margin-bottom:24px !important}
  .au-hero__sub{font-size:16px;line-height:1.65}
  .au-topbar__inner{flex-wrap:wrap;gap:10px}
  .au-grid,.au-grid--3{grid-template-columns:1fr}
  .au-card__actions{flex-direction:column}
  .au-section__title{font-size:24px}
  .au-doc-section__title{font-size:21px}
  /* gate modal: tighter on small screens so the form gets more width */
  .au-gate{padding:12px}
  .au-gate__dialog{padding:26px 16px}
  .au-gate__intro{margin-bottom:18px}
  .au-gate__title{font-size:19px}
  .au-toast{bottom:14px}
}

/* ===== HubSpot dnd wrapper reset — let modules control full-width layout ===== */
.au-page .dnd-section,
.au-page .dnd_area-row,
.au-page div[class*="dnd-section"]{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.au-page .dnd-section > .row-fluid,
.au-page .dnd-section > .content-wrapper{
  max-width:none !important;
}
.au-page .dnd-column,
.au-page .dnd-row{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
}
.au-page .row-fluid [class*="span"]{
  min-height:0;
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
}
/* if a section row is flex, keep single child full width */
.au-page .dnd-section{display:block !important}
/* kill the empty gap below the footer (HubSpot dnd-section default bottom padding/margin) */
.au-page .dnd-section:last-child{padding-bottom:0 !important;margin-bottom:0 !important}
.au-page .dnd_area-row.dnd-section:last-of-type,.au-page .dnd-section:last-of-type{padding-bottom:0 !important}
/* sticky footer is handled in JS (fitFooter in the hub module) — it grows .au-content by the exact
   viewport deficit when the page is shorter than the screen, pushing the footer to the bottom. */
/* hero must always be full width */
.au-page .au-topbar,
.au-page .au-hero,
.au-page .au-nav,
.au-page .au-section,
.au-page .au-footer{width:100% !important;display:block !important;float:none !important}

/* ===== Hub: filter sidebar + content layout ===== */
.au-layout{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:248px 1fr;gap:40px;align-items:start}
.au-filters{position:sticky;top:24px;padding:24px 0;align-self:start}
.au-filters__group{margin-bottom:28px}
.au-filters__group:last-of-type{margin-bottom:0}
.au-filters__title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-sub);margin-bottom:12px}
.au-opt{display:flex;align-items:center;gap:10px;padding:7px 0;cursor:pointer;font-size:14px;color:var(--t-body);transition:color .15s}
.au-opt:hover{color:var(--t-h1)}
.au-opt input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--neutral-400);background:#fff;cursor:pointer;flex-shrink:0;transition:.15s;position:relative;margin:0}
.au-opt input[type=checkbox]{border-radius:5px}
.au-opt input[type=radio]{border-radius:50%}
.au-opt input:checked{background:var(--primary-600);border-color:var(--primary-600)}
.au-opt input[type=checkbox]:checked::after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.au-opt input[type=radio]:checked::after{content:"";position:absolute;left:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#fff}
.au-filters__reset{font-size:13px;font-weight:600;color:var(--primary-600);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;transition:color .15s,opacity .15s;display:inline-flex;align-items:center;gap:6px}.au-filters__reset-icon{display:inline-block;flex:none;line-height:1}.au-filters__reset.is-acting .au-filters__reset-icon{animation:au-reset-spin .5s cubic-bezier(.2,.75,.3,1)}@keyframes au-reset-spin{from{transform:rotate(0)}to{transform:rotate(-360deg)}}.au-filters__reset:disabled{color:var(--t-soft);cursor:default}.au-filters__reset:not(:disabled):hover{color:var(--primary-700);text-decoration:underline}.au-filters__reset:not(:disabled):active{opacity:.55}
.au-filters__divider{height:1px;background:var(--neutral-300);margin:0 0 24px}

/* ===== Multiselect dropdown (RPM Select pattern) ===== */
.au-ms{position:relative}
.au-ms__trigger{display:flex;align-items:center;gap:8px;width:100%;height:40px;padding:0 12px;background:#fff;border:1px solid var(--neutral-300);border-radius:var(--r-md);font-family:inherit;font-size:14px;font-weight:500;color:var(--t-h2);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}
.au-ms__trigger:hover{border-color:var(--neutral-500)}
.au-ms__trigger[aria-expanded="true"]{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-50)}
.au-ms__value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;line-height:1.5;padding-block:1px}
.au-ms__value.is-placeholder{color:var(--t-soft);font-weight:500}
.au-ms__count{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:24px;padding:0 7px;background:var(--neutral-200);color:var(--t-sub);border-radius:999px;font-size:11px;font-weight:700;flex-shrink:0}
.au-ms__count[hidden]{display:none !important}
.au-ms__chev{width:8px;height:8px;border-right:1.5px solid var(--t-sub);border-bottom:1.5px solid var(--t-sub);transform:rotate(45deg);margin-left:auto;margin-top:-3px;flex-shrink:0;transition:transform .2s}
.au-ms__trigger[aria-expanded="true"] .au-ms__chev{transform:rotate(-135deg);margin-top:2px}
.au-ms__panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--neutral-300);border-radius:var(--r-md);box-shadow:var(--shadow-3);z-index:30;max-height:280px;overflow-y:auto;padding:6px}
.au-ms__panel[hidden]{display:none}
.au-ms__options{display:flex;flex-direction:column;gap:2px}
.au-ms__opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:14px;color:var(--t-body);cursor:pointer;transition:background .12s;position:relative}
.au-ms__opt:hover{background:var(--neutral-100)}
.au-ms__opt input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0}
.au-ms__check{width:18px;height:18px;flex-shrink:0;border:1.5px solid var(--neutral-400);border-radius:4px;background:#fff;position:relative;transition:background .15s,border-color .15s}
.au-ms__opt input:checked + .au-ms__check{background:var(--primary-600);border-color:var(--primary-600)}
.au-ms__opt input:checked + .au-ms__check::after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.au-ms__opt input:focus-visible + .au-ms__check{box-shadow:0 0 0 3px var(--primary-50)}
.au-ms__label{flex:1;min-width:0}
.au-ms__clear{display:block;width:100%;margin-top:4px;padding:9px 10px;border:none;border-top:1px solid var(--neutral-200);background:none;text-align:left;font-family:inherit;font-size:13px;font-weight:600;color:var(--primary-600);cursor:pointer;border-radius:0;transition:background .12s}
.au-ms__clear:hover{background:var(--neutral-100)}
.au-content{padding:24px 0 64px;min-width:0}
.au-search-wrap{position:relative;margin-bottom:32px}
.au-search__icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B95A1' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E")}
.au-search{width:100%;height:48px;border:1px solid var(--neutral-300);border-radius:var(--r-md);padding:0 16px 0 44px;font-size:15px;font-family:inherit;color:var(--t-h1);background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.au-search::placeholder{color:var(--t-soft)}
.au-search:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-50)}
.au-doc-section{margin-bottom:56px;scroll-margin-top:24px}
.au-doc-section:last-child{margin-bottom:0}
.au-doc-section.is-empty{display:none}
.au-doc-section__head{margin-bottom:24px}
.au-doc-section__kicker{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.au-doc-section__icon{width:38px;height:38px;border-radius:var(--r-md);background:var(--primary-50);display:grid;place-items:center;font-size:19px}
.au-doc-section__title{font-size:23px;font-weight:800}
.au-doc-section__desc{font-size:14px;color:var(--t-sub);margin-top:4px}
.au-card.is-hidden{display:none}
.au-empty{padding:48px 24px;text-align:center;color:var(--t-soft);background:var(--neutral-100);border-radius:var(--r-lg);font-size:14px;display:none}
.au-empty.show{display:block}
.au-filter-toggle{display:none;align-items:center;gap:7px;padding:9px 16px;background:#fff;border:1px solid var(--neutral-300);border-radius:999px;font-family:inherit;font-size:14px;font-weight:600;color:var(--t-h2);cursor:pointer;box-shadow:var(--shadow-1)}
.au-filter-toggle:active{background:var(--neutral-100)}
.au-filter-toggle__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--primary-600);color:#fff;border-radius:999px;font-size:11px;font-weight:700}
@media(max-width:900px){
  .au-layout{grid-template-columns:1fr;gap:0;padding:0}
  .au-filters{display:none !important}
  .au-filter-toggle{display:inline-flex;justify-self:end;margin:24px 18px 0}
  .au-content{padding:24px 18px 48px}
}

@media(max-width:640px){.au-content .au-grid{grid-template-columns:1fr}}

/* mobile filter bottom sheet */
.au-msheet{position:fixed;inset:0;z-index:950}
.au-msheet[hidden]{display:none}
@media(min-width:901px){.au-msheet{display:none !important}}
.au-msheet__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.au-msheet__panel{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 -8px 32px rgba(15,23,42,.18);animation:auSheetUp .26s cubic-bezier(.22,1,.36,1)}
@keyframes auSheetUp{from{transform:translateY(100%)}to{transform:none}}
.au-msheet__head{display:flex;align-items:flex-start;gap:8px;padding:18px 16px 0;border-bottom:1px solid var(--neutral-200)}
.au-msheet__tabs{display:flex;gap:20px;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch}
.au-msheet__tabs::-webkit-scrollbar{display:none}
.au-msheet__tab{padding:4px 2px 13px;font-family:inherit;font-size:15px;font-weight:600;color:var(--t-soft);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;letter-spacing:-.02em}
.au-msheet__tab.is-active{color:var(--t-h1);border-bottom-color:var(--primary-600)}
.au-msheet__x{flex-shrink:0;width:30px;height:30px;border:none;background:none;font-size:22px;line-height:1;color:var(--t-sub);cursor:pointer}
.au-msheet__body{flex:1;overflow-y:auto;padding:6px 16px;min-height:180px}
.au-msheet__panel-group{display:none}
.au-msheet__panel-group.is-active{display:block}
.au-msheet__opt{display:flex;align-items:center;gap:13px;padding:13px 2px;font-size:15px;color:var(--t-body);cursor:pointer}
.au-msheet__opt input{position:absolute;opacity:0;width:0;height:0;margin:0}
.au-msheet__check{width:22px;height:22px;flex-shrink:0;border:1.5px solid var(--neutral-400);border-radius:6px;background:#fff;position:relative;transition:background .15s,border-color .15s}
.au-msheet__opt input:checked + .au-msheet__check{background:var(--primary-600);border-color:var(--primary-600)}
.au-msheet__opt input:checked + .au-msheet__check::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.au-msheet__foot{display:flex;gap:12px;padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--neutral-200)}
.au-msheet__clear{flex:1;height:52px;border:1px solid var(--neutral-300);background:#fff;border-radius:12px;font-family:inherit;font-size:15px;font-weight:600;color:var(--t-body);cursor:pointer}
.au-msheet__apply{flex:1.8;height:52px;border:none;background:var(--neutral-900);color:#fff;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}
.au-msheet__apply:active{opacity:.9}

/* ===== Password prompt page ===== */
.au-pw{min-height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,#fff,var(--neutral-100));padding:24px}
.au-pw__card{background:#fff;border:1px solid var(--neutral-300);border-radius:var(--r-xl);padding:48px 40px;max-width:420px;width:100%;text-align:center;box-shadow:var(--shadow-3)}
.au-pw__brand{font-weight:800;font-size:22px;letter-spacing:.06em;color:var(--neutral-900)}
.au-pw__lock{width:52px;height:52px;margin:8px auto 0;border-radius:50%;background:var(--primary-50);display:grid;place-items:center;font-size:24px}
.au-pw__title{font-size:21px;font-weight:800;margin:20px 0 8px;color:var(--t-h1)}
.au-pw__desc{font-size:14px;color:var(--t-sub);line-height:1.6;margin:0 0 28px}
.au-pw__form,.au-pw__form form,.au-pw__form .hs_cos_wrapper{width:100% !important;display:block}
.au-pw__form input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]){width:100% !important;height:50px !important;min-height:50px !important;line-height:normal;border:1px solid var(--neutral-300) !important;border-radius:var(--r-md);padding:0 16px !important;font-size:15px;font-family:inherit;margin-bottom:14px;box-sizing:border-box !important;display:block;max-width:100% !important}
.au-pw__form input:not([type=submit]):not([type=button]):focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-50)}
.au-pw__form input[type=submit],.au-pw__form button[type=submit],.au-pw__form button,.au-pw__form .hs-button{width:100% !important;height:48px;background:var(--primary-600) !important;color:#fff !important;border:none !important;border-radius:var(--r-md);font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .25s;box-sizing:border-box}
.au-pw__form input[type=submit]:hover,.au-pw__form button[type=submit]:hover,.au-pw__form .hs-button:hover{background:var(--primary-700) !important}
.au-pw__form label{display:block;text-align:left;font-size:13px;color:var(--t-sub);margin-bottom:6px}
.au-pw__note{font-size:12px;color:var(--t-soft);margin-top:20px}

/* access gate modal */
.au-gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.au-gate[hidden]{display:none}
.au-gate__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.au-gate__dialog{position:relative;background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-3);max-width:544px;width:100%;max-height:90vh;overflow-y:auto;padding:34px 14px;animation:auGateIn .2s ease}
/* keep the intro text readable while the form (with HubSpot's own 40px padding) goes nearly edge-to-edge */
.au-gate__intro{padding-left:10px;padding-right:10px}
@keyframes auGateIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.au-gate__x{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;background:transparent;font-size:24px;line-height:1;color:var(--t-soft);cursor:pointer;border-radius:var(--r-sm);transition:background .15s,color .15s}
.au-gate__x:hover{background:var(--neutral-100);color:var(--t-h2)}
.au-gate__intro{text-align:center;margin-bottom:24px}
.au-gate__title{font-size:21px;font-weight:800;color:var(--t-h1);margin:0 0 8px;letter-spacing:-.02em}
.au-gate__sub{font-size:14px;color:var(--t-sub);line-height:1.6;margin:0}
/* custom gate form (our own form → HubSpot Submission API) */
.au-gateform{display:flex;flex-direction:column;gap:14px}
.au-gateform__field{display:flex;flex-direction:column;gap:6px;text-align:left}
.au-gateform__field>span{font-size:13.5px;font-weight:600;color:var(--t-h2)}
.au-gateform__field>span i{color:var(--primary-600);font-style:normal}
.au-gateform__field input,.au-gateform__field select{height:48px;border:1px solid var(--neutral-300);border-radius:var(--r-md);padding:0 14px;font-size:15px;font-family:inherit;color:var(--t-h1);background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;width:100%}
.au-gateform__field input:focus,.au-gateform__field select:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-50)}
.au-gateform__submit{margin-top:6px;height:50px}
.au-gateform__err{margin:0;color:#DC2626;font-size:13px;font-weight:500}
/* loading spinner (legacy embed; unused with the custom form) */
.au-gate__formwrap{min-height:120px;position:relative}
.au-gate__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:44px 0;color:var(--t-soft);font-size:13.5px}
.au-spinner{width:34px;height:34px;border:3px solid var(--neutral-200);border-top-color:var(--primary-600);border-radius:50%;animation:auSpin .7s linear infinite}
@keyframes auSpin{to{transform:rotate(360deg)}}
/* HubSpot form, styled with the page design tokens */
.au-gate__form,.au-gate__form form,.au-gate__form .hs_cos_wrapper{width:100% !important;display:block}
/* if HubSpot renders the form in an iframe (new forms), at least make it full-width; inner styling must be set in HubSpot */
.au-gate__form iframe.hs-form-iframe,.au-gate__form iframe{width:100% !important;border:0;display:block}
.au-gate__form .hs-form-field{margin-bottom:16px}
.au-gate__form label{display:block;text-align:left;font-size:13.5px;font-weight:600;color:var(--t-h2);margin:0 0 7px;letter-spacing:-.01em}
.au-gate__form .hs-form-required{color:var(--primary-600);margin-left:3px}
.au-gate__form input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),.au-gate__form select,.au-gate__form textarea{width:100% !important;height:48px;min-height:48px;border:1px solid var(--neutral-300) !important;border-radius:var(--r-md);padding:0 14px !important;font-size:15px;font-family:inherit;color:var(--t-h1);background:#fff;box-sizing:border-box !important;display:block;max-width:100% !important;transition:border-color .15s,box-shadow .15s}
.au-gate__form textarea{height:auto;padding:12px 14px !important;min-height:92px}
.au-gate__form input::placeholder,.au-gate__form textarea::placeholder{color:var(--t-soft)}
.au-gate__form input:focus,.au-gate__form select:focus,.au-gate__form textarea:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-50)}
.au-gate__form .hs-input.invalid,.au-gate__form .hs-input.error{border-color:#dc2626 !important}
.au-gate__form .hs-error-msg,.au-gate__form .hs-error-msgs label{color:#dc2626;font-size:12.5px;font-weight:500;margin-top:5px}
.au-gate__form ul.inputs-list,.au-gate__form ul.hs-error-msgs{list-style:none;padding:0;margin:5px 0 0}
.au-gate__form .hs-form-booleancheckbox-display,.au-gate__form ul.inputs-list li{display:flex;align-items:flex-start;gap:9px}
.au-gate__form .hs-form-booleancheckbox-display input,.au-gate__form ul.inputs-list input[type=checkbox],.au-gate__form ul.inputs-list input[type=radio]{width:18px !important;height:18px !important;min-height:0;margin:2px 0 0;flex-shrink:0;accent-color:var(--primary-600)}
.au-gate__form .hs-form-booleancheckbox-display span,.au-gate__form ul.inputs-list span{font-weight:500;color:var(--t-sub);font-size:13px;line-height:1.5}
.au-gate__form .legal-consent-container{font-size:12.5px;color:var(--t-soft);line-height:1.6;margin-bottom:14px}
.au-gate__form .legal-consent-container p{margin:0 0 8px}
.au-gate__form .hs-submit{margin-top:8px}
.au-gate__form input[type=submit],.au-gate__form .hs-button{width:100% !important;height:50px;background:var(--primary-600) !important;color:#fff !important;border:none !important;border-radius:var(--r-md);font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s,transform .1s;box-sizing:border-box}
.au-gate__form input[type=submit]:hover,.au-gate__form .hs-button:hover{background:var(--primary-700) !important}
.au-gate__form input[type=submit]:active,.au-gate__form .hs-button:active{transform:translateY(1px)}
/* access toast (post-submit) */
.au-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:1100;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:13px 14px 13px 16px;background:#2A3340;color:#fff;border-radius:var(--r-lg);box-shadow:0 12px 32px rgba(15,23,42,.28);font-size:14px;font-weight:500;letter-spacing:-.01em;animation:auToastIn .3s cubic-bezier(.22,1,.36,1)}
.au-toast[hidden]{display:none}
@keyframes auToastIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
.au-toast__ic{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--primary-600);color:#fff;font-size:12px;font-weight:700}
.au-toast__msg{line-height:1.4}
.au-toast__msg a{display:inline-flex;align-items:center;margin-left:8px;padding:4px 11px;background:var(--primary-600);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;white-space:nowrap}
.au-toast__msg a:hover{background:var(--primary-700)}
.au-toast__x{flex-shrink:0;border:none;background:none;color:#94A3B8;font-size:20px;line-height:1;cursor:pointer;padding:0 2px}
.au-toast__x:hover{color:#fff}

/* print */
@media print{
  .au-nav,.au-filters,.au-footer,.au-filter-toggle{display:none}
  .au-layout{display:block}
  .au-doc-section{page-break-inside:avoid}
  .au-card{box-shadow:none;border:1px solid #ccc}
}
.au-btn:focus-visible,.au-ms__trigger:focus-visible,.au-ms__clear:focus-visible,.au-filters__reset:focus-visible,.au-filter-toggle:focus-visible,.au-brand:focus-visible,.au-msheet__tab:focus-visible,.au-msheet__apply:focus-visible,.au-msheet__clear:focus-visible,.au-msheet__x:focus-visible,.au-gate__x:focus-visible,.au-toast__x:focus-visible,.au-card__title a:focus-visible,.au-footer__contact a:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}