/* Unified contact and custom forms module */
.anchor-offset{display:block;position:relative;top:-110px;height:0;visibility:hidden}
.unified-contact{gap:1.4rem}
.contact-switch{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:.85rem}
.contact-switch__button,.contact-switch__link{border:0;background:#f7f8ff;color:#34375f;border-radius:999px;padding:.8rem 1.1rem;font-weight:800;display:inline-flex;align-items:center;gap:.5rem;box-shadow:inset 0 0 0 1px rgba(143,150,255,.18);transition:.25s ease}
.contact-switch__button:hover,.contact-switch__button.active,.contact-switch__link:hover{background:#8f96ff;color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(143,150,255,.22)}
.unified-contact__layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:1.5rem;align-items:start}
.unified-contact__info{position:sticky;top:96px}.unified-contact__forms{min-width:0}
.contact-tab-panel{display:none}.contact-tab-panel.active{display:block;animation:contactPanelIn .28s ease both}
@keyframes contactPanelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Public forms library */
.portfolio-page .forms-library-hero{padding-bottom:2.5rem}
.portfolio-page .forms-library__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.6rem;align-items:stretch}
.portfolio-page .custom-form-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;min-height:440px;border:1px solid rgba(143,150,255,.2);border-radius:28px;background:#fff;box-shadow:0 20px 58px rgba(49,51,103,.1);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.portfolio-page .custom-form-card:hover{transform:translateY(-7px);box-shadow:0 28px 70px rgba(49,51,103,.16);border-color:rgba(143,150,255,.42)}
.portfolio-page .custom-form-card__banner{height:160px;background:#edecff;overflow:hidden;position:relative}
.portfolio-page .custom-form-card__banner img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.portfolio-page .custom-form-card:hover .custom-form-card__banner img{transform:scale(1.035)}
.portfolio-page .custom-form-card__banner.is-empty{background:linear-gradient(135deg,#ecebff 0%,#fafaff 48%,#dcd9ff 100%)}
.portfolio-page .custom-form-card__pattern,.portfolio-page .public-form-header__pattern{position:absolute;inset:0;overflow:hidden}
.portfolio-page .custom-form-card__pattern span,.portfolio-page .public-form-header__pattern span{position:absolute;border:1px solid rgba(109,104,217,.23);border-radius:36% 64% 58% 42%;transform:rotate(24deg)}
.portfolio-page .custom-form-card__pattern span:nth-child(1),.portfolio-page .public-form-header__pattern span:nth-child(1){width:220px;height:220px;left:-40px;top:-105px}
.portfolio-page .custom-form-card__pattern span:nth-child(2),.portfolio-page .public-form-header__pattern span:nth-child(2){width:180px;height:180px;right:-25px;bottom:-95px}
.portfolio-page .custom-form-card__pattern span:nth-child(3),.portfolio-page .public-form-header__pattern span:nth-child(3){width:70px;height:70px;right:30%;top:34%;background:rgba(255,255,255,.3)}
.portfolio-page .custom-form-card__body{padding:1.45rem;display:flex;flex:1;flex-direction:column;gap:.9rem}
.portfolio-page .custom-form-card__topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.portfolio-page .custom-form-card h2{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.25;color:#171a34;margin:0}
.portfolio-page .custom-form-card p{color:#626783;line-height:1.7;margin:0}
.portfolio-page .featured-form-chip{display:inline-flex;border-radius:999px;background:#f0efff;color:#5b57c9;border:1px solid #dcd9ff;padding:.35rem .65rem;font-size:.72rem;font-weight:850}
.portfolio-page .custom-form-card__meta{margin-top:auto;display:grid;gap:.5rem;padding-top:.35rem}
.portfolio-page .custom-form-card__meta span{display:flex;align-items:center;gap:.5rem;color:#626783;font-size:.82rem;font-weight:750}
.portfolio-page .custom-form-card__meta i{color:#6d68d9;width:16px;text-align:center}
.portfolio-page .custom-form-card .button{margin-top:.3rem;align-self:flex-start;gap:.55rem}
.portfolio-page .forms-empty-state{grid-column:1/-1;max-width:760px;margin:auto;text-align:center;padding:3rem!important}

/* Public single-form experience */
.portfolio-page .custom-form-page{padding-top:8.5rem;background:radial-gradient(circle at 10% 8%,rgba(184,180,255,.28),transparent 28%),linear-gradient(180deg,#fbfaff 0%,#f5f4ff 42%,#fafaff 100%);min-height:100vh}
.portfolio-page .custom-form-experience{max-width:1120px}
.portfolio-page .public-form-header{border:1px solid #e2dfff;border-radius:30px;background:#fff;box-shadow:0 26px 80px rgba(57,59,118,.14);overflow:hidden;margin-bottom:1.4rem}
.portfolio-page .public-form-header__banner{height:clamp(180px,27vw,315px);background:linear-gradient(135deg,#e6e4ff,#fdfdff 56%,#d4d0ff);position:relative;overflow:hidden}
.portfolio-page .public-form-header__banner img{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-page .public-form-header__content{padding:clamp(1.55rem,4vw,3rem);border-top:5px solid #8f96ff}
.portfolio-page .public-form-header__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}
.portfolio-page .public-form-header h1{color:#171a34;letter-spacing:-.045em;font-size:clamp(2rem,5vw,3.75rem);line-height:1.04;margin:.2rem 0 1rem}
.portfolio-page .public-form-description{max-width:850px;color:#585d7c;font-size:1.02rem;line-height:1.82}
.portfolio-page .public-form-description p{margin:0 0 .65rem}
.portfolio-page .form-deadline-chip,.portfolio-page .form-closed-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .72rem;border-radius:999px;font-size:.78rem;font-weight:850}
.portfolio-page .form-deadline-chip{background:#f2f1ff;color:#5551b9;border:1px solid #dad7ff}
.portfolio-page .form-closed-chip{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
.portfolio-page .required-note{font-size:.84rem!important;color:#777c98!important;margin:1.35rem 0 0!important}
.portfolio-page .required-note span,.portfolio-page .required-mark{color:#d92d20}
.portfolio-page .custom-form-flash{max-width:none;margin:0 0 1.3rem}
.portfolio-page .custom-form-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:1.45rem;align-items:start}
.portfolio-page .custom-form-public{display:grid;gap:1rem;background:transparent!important;padding:0!important;box-shadow:none!important;border:0!important}
.portfolio-page .custom-form-question{background:#fff;border:1px solid #e5e3fb;border-radius:24px;padding:clamp(1.25rem,3vw,1.8rem);box-shadow:0 13px 38px rgba(57,59,118,.075);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.portfolio-page .custom-form-question:focus-within{border-color:#a9a5ff;box-shadow:0 18px 48px rgba(92,88,190,.13);transform:translateY(-2px)}
.portfolio-page .custom-form-question__heading{margin-bottom:1rem}
.portfolio-page .custom-form-question__heading>label{display:block;color:#1e2142;font-size:1.03rem;font-weight:850;line-height:1.45;margin:0}
.portfolio-page .custom-form-question__heading p{color:#727795;font-size:.88rem;line-height:1.6;margin:.35rem 0 0}
.portfolio-page .custom-form-control{width:100%;border:1px solid #d7d5ef;border-radius:15px;padding:.95rem 1rem;background:#fbfbff;color:#171a34;font:inherit;transition:.2s ease;box-shadow:none!important}
.portfolio-page .custom-form-control:hover{border-color:#bcb8ef;background:#fff}
.portfolio-page .custom-form-control:focus{outline:none;border-color:#8580ef;background:#fff;box-shadow:0 0 0 4px rgba(143,139,247,.14)!important}
.portfolio-page textarea.custom-form-control{resize:vertical;min-height:135px}
.portfolio-page .option-stack{display:grid;gap:.65rem;background:transparent;border:0;padding:0}
.portfolio-page .custom-choice{display:flex!important;align-items:flex-start;gap:.75rem;border:1px solid #e2e0f6;border-radius:16px;padding:.85rem .95rem;background:#fbfbff;color:#343856;font-weight:700!important;cursor:pointer;transition:.18s ease;margin:0!important}
.portfolio-page .custom-choice:hover{border-color:#aaa6f2;background:#f5f4ff}
.portfolio-page .custom-choice input{margin-top:.18rem;accent-color:#6d68d9;width:18px;height:18px;flex:0 0 auto}
.portfolio-page .custom-file-control{border:1px dashed #aaa6ee;border-radius:18px;background:#f8f7ff;display:flex!important;align-items:center;gap:1rem;padding:1.1rem;cursor:pointer;color:#373b62!important;margin:0!important}
.portfolio-page .custom-file-control>i{font-size:1.6rem;color:#6d68d9}
.portfolio-page .custom-file-control span{display:grid;gap:.2rem}.portfolio-page .custom-file-control small{font-weight:500;color:#777c98}.portfolio-page .custom-file-control input{max-width:220px;margin-left:auto}
.portfolio-page .custom-form-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#171a34;color:#fff;border-radius:24px;padding:1.25rem 1.4rem;box-shadow:0 18px 52px rgba(23,26,52,.2)}
.portfolio-page .custom-form-submit-bar>div{display:grid;gap:.2rem}.portfolio-page .custom-form-submit-bar span{color:#cdd0e9;font-size:.85rem}.portfolio-page .custom-form-submit-bar .button{gap:.6rem;margin:0}
.portfolio-page .form-side-note{position:sticky;top:110px;background:#fff;border:1px solid #e5e3fb;border-radius:24px;padding:1.4rem;box-shadow:0 14px 45px rgba(57,59,118,.085)}
.portfolio-page .form-side-note__icon,.portfolio-page .closed-form-state__icon{width:50px;height:50px;border-radius:16px;background:#efeeff;color:#5b57c9;display:grid;place-items:center;font-size:1.2rem;margin-bottom:1rem}
.portfolio-page .form-side-note h3{color:#171a34;margin:0 0 .65rem}.portfolio-page .form-side-note p{color:#666b87;line-height:1.65;font-size:.9rem}
.portfolio-page .form-side-detail{display:grid;gap:.25rem;border-top:1px solid #eceafc;padding:1rem 0}.portfolio-page .form-side-detail strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#767b98}.portfolio-page .form-side-detail span{color:#333759;font-size:.88rem;line-height:1.5}
.portfolio-page .form-side-note .button{width:100%;justify-content:center;margin-top:.6rem}
.portfolio-page .closed-form-state{max-width:760px;margin:1.3rem auto 0;text-align:center;padding:clamp(2rem,5vw,4rem)!important;border-radius:28px!important}
.portfolio-page .closed-form-state__icon{margin:0 auto 1rem;width:64px;height:64px;border-radius:20px;font-size:1.4rem}
.portfolio-page .closed-form-state h2{color:#171a34;font-size:clamp(1.6rem,3.5vw,2.35rem);margin:.8rem 0}.portfolio-page .closed-form-state p{color:#666b87;line-height:1.7;max-width:580px;margin:0 auto 1.5rem}
.portfolio-page .form-not-ready{text-align:center}
.portfolio-page .empty-state{text-align:center;padding:2rem}

@media (max-width:920px){
  .unified-contact__layout,.portfolio-page .custom-form-shell{grid-template-columns:1fr}
  .unified-contact__info,.portfolio-page .form-side-note{position:static}
  .portfolio-page .form-side-note{order:2}
}
@media (max-width:680px){
  .contact-switch{justify-content:flex-start}.contact-switch__button,.contact-switch__link{width:100%;justify-content:center}
  .portfolio-page .forms-library__grid{grid-template-columns:1fr}
  .portfolio-page .custom-form-page{padding-top:6.8rem}
  .portfolio-page .public-form-header{border-radius:22px}.portfolio-page .public-form-header__banner{height:170px}.portfolio-page .public-form-header__content{padding:1.35rem}
  .portfolio-page .custom-form-question{border-radius:20px;padding:1.15rem}
  .portfolio-page .custom-form-submit-bar{align-items:stretch;flex-direction:column}.portfolio-page .custom-form-submit-bar .button{width:100%;justify-content:center}
  .portfolio-page .custom-file-control{align-items:flex-start;flex-wrap:wrap}.portfolio-page .custom-file-control input{margin-left:0;max-width:100%;width:100%}
}

/* Respondent-provided location block for per-form analytics. */
.portfolio-page .custom-form-location{background:linear-gradient(145deg,#f7f6ff,#fff)!important;border-color:#d8d5f4!important}
.portfolio-page .custom-form-location .form-question-eyebrow{display:inline-flex;width:max-content;margin-bottom:.45rem;padding:.35rem .58rem;border-radius:999px;background:#ebe9ff;color:#5d58c8;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.portfolio-page .custom-form-location h2{margin:0;color:#202442;font-size:1.12rem}
.portfolio-page .custom-form-location__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.portfolio-page .custom-form-location__grid>div{display:grid;gap:.45rem}
.portfolio-page .custom-form-location__grid label{color:#343856;font-size:.82rem;font-weight:850}
@media(max-width:780px){.portfolio-page .custom-form-location__grid{grid-template-columns:1fr}}

/* Guided public form experience */
.portfolio-page .custom-form-experience{max-width:1180px}
.portfolio-page .public-form-header{position:relative;isolation:isolate}
.portfolio-page .public-form-header__banner::after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(180deg,transparent,rgba(23,26,52,.22));pointer-events:none}
.portfolio-page .public-form-header__content{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(250,249,255,.96))}
.portfolio-page .public-form-overview{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin-top:1.35rem}
.portfolio-page .public-form-overview span{display:inline-flex;align-items:center;gap:.48rem;min-height:38px;padding:.55rem .78rem;border:1px solid #e2e0fa;border-radius:12px;background:#f8f7ff;color:#5e6381;font-size:.79rem;font-weight:750}
.portfolio-page .public-form-overview i{color:#6863d6}.portfolio-page .public-form-overview strong{color:#282c51}
.portfolio-page .required-note{padding-top:1.1rem;border-top:1px solid #efedff}

.portfolio-page .smart-form-progress{position:sticky;top:82px;z-index:18;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.4fr) 54px;align-items:center;gap:1rem;margin:0 0 1.2rem;padding:.9rem 1rem;border:1px solid rgba(220,217,255,.92);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 35px rgba(44,46,94,.1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.portfolio-page .smart-form-progress__copy{display:grid;gap:.14rem;min-width:0}
.portfolio-page .smart-form-progress__eyebrow{color:#777b99;font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.portfolio-page .smart-form-progress__copy strong{overflow:hidden;color:#282c50;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}
.portfolio-page .smart-form-progress__track{height:9px;border-radius:999px;background:#eceafd;overflow:hidden;box-shadow:inset 0 1px 2px rgba(43,45,91,.08)}
.portfolio-page .smart-form-progress__track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7772e8,#9ca2ff);box-shadow:0 0 18px rgba(119,114,232,.4);transition:width .32s ease}
.portfolio-page .smart-form-progress__value{color:#5d58c8;font-size:.88rem;font-weight:900;text-align:right}

.portfolio-page .custom-form-shell{grid-template-columns:minmax(0,1fr) 310px;gap:1.6rem}
.portfolio-page .custom-form-public{counter-reset:form-question;gap:1.15rem}
.portfolio-page .custom-form-question{position:relative;scroll-margin-top:170px;overflow:hidden;border-color:#e4e2f7;padding:0;background:linear-gradient(145deg,#fff 0%,#fdfcff 100%);box-shadow:0 16px 45px rgba(52,54,108,.085)}
.portfolio-page .custom-form-question::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,transparent 0%,#9893f4 28%,#7772e8 72%,transparent 100%);opacity:0;transform:scaleY(.62);transition:.25s ease}
.portfolio-page .custom-form-question:hover{border-color:#d7d3f7;box-shadow:0 20px 52px rgba(52,54,108,.11)}
.portfolio-page .custom-form-question:focus-within,.portfolio-page .custom-form-question.is-active{border-color:#aaa6f2;box-shadow:0 22px 58px rgba(92,88,190,.15);transform:translateY(-2px)}
.portfolio-page .custom-form-question:focus-within::before,.portfolio-page .custom-form-question.is-active::before,.portfolio-page .custom-form-question.is-complete::before{opacity:1;transform:scaleY(1)}
.portfolio-page .custom-form-question.is-complete{border-color:#c8c5f6;background:linear-gradient(145deg,#fff,#fbfaff)}
.portfolio-page .custom-form-question.has-error{border-color:#f4a9a3;box-shadow:0 0 0 4px rgba(217,45,32,.08),0 18px 48px rgba(52,54,108,.1)}
.portfolio-page .custom-form-question__topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.88rem 1.35rem;border-bottom:1px solid #efedff;background:linear-gradient(90deg,#f8f7ff,rgba(255,255,255,.86))}
.portfolio-page .custom-form-question__number{display:flex;align-items:baseline;gap:.42rem;color:#4e4ab1;font-size:1.08rem;font-weight:950;letter-spacing:-.035em}
.portfolio-page .custom-form-question__number small{color:#8589a5;font-size:.6rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.portfolio-page .custom-form-question__badges{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.45rem}
.portfolio-page .custom-form-question__type,.portfolio-page .custom-form-question__requirement{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.34rem .58rem;font-size:.64rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.portfolio-page .custom-form-question__type{border:1px solid #dfdcfb;background:#fff;color:#676b89}
.portfolio-page .custom-form-question__type i{color:#6d68d9}
.portfolio-page .custom-form-question__requirement{background:#f2f1f8;color:#7c809a}
.portfolio-page .custom-form-question__requirement.is-required{background:#fff0ef;color:#b42318}
.portfolio-page .custom-form-question__heading{margin:0;padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,1.8rem) .8rem}
.portfolio-page .custom-form-question__heading>label,.portfolio-page .custom-form-location h2{color:#1c203f;font-size:clamp(1.03rem,2vw,1.17rem);font-weight:850;line-height:1.5}
.portfolio-page .custom-form-question>.custom-form-control,.portfolio-page .custom-form-question>.option-stack,.portfolio-page .custom-form-question>.custom-choice,.portfolio-page .custom-form-question>.custom-file-control{width:calc(100% - clamp(2.5rem,6vw,3.6rem));margin:0 clamp(1.25rem,3vw,1.8rem) clamp(1.3rem,3vw,1.8rem)!important}
.portfolio-page .custom-form-control{min-height:52px;border-color:#dcd9f2;border-radius:14px;background:#fafaff}
.portfolio-page .custom-form-control::placeholder{color:#a0a3b8}
.portfolio-page textarea.custom-form-control{min-height:155px;line-height:1.65}
.portfolio-page select.custom-form-control{cursor:pointer}
.portfolio-page .option-stack{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.portfolio-page .custom-choice{position:relative;min-height:54px;align-items:center;padding:.85rem 1rem;border-color:#e0def5;background:#fafaff}
.portfolio-page .custom-choice:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(61,62,119,.08)}
.portfolio-page .custom-choice.is-selected{border-color:#8d88ea;background:#f0efff;color:#38347e;box-shadow:0 0 0 3px rgba(141,136,234,.1)}
.portfolio-page .custom-choice input{width:19px;height:19px;margin:0}
.portfolio-page .custom-file-control{min-height:96px;border-width:1.5px;background:linear-gradient(145deg,#f8f7ff,#fff)}
.portfolio-page .custom-file-control:hover{border-color:#7f79e5;background:#f4f2ff}
.portfolio-page .custom-file-control.has-file{border-style:solid;border-color:#8d88ea;background:#f0efff}
.portfolio-page .form-field-error{display:flex;align-items:center;gap:.4rem;margin:-.9rem clamp(1.25rem,3vw,1.8rem) 1.2rem;color:#b42318;font-size:.78rem;font-weight:750}

.portfolio-page .custom-form-location{background:linear-gradient(145deg,#fff,#fbfaff)!important}
.portfolio-page .custom-form-location .custom-form-question__heading{padding-bottom:.9rem}
.portfolio-page .custom-form-location__grid{margin:0 clamp(1.25rem,3vw,1.8rem) clamp(1.3rem,3vw,1.8rem)}
.portfolio-page .custom-form-location__grid>div{padding:.8rem;border:1px solid #e9e7f8;border-radius:15px;background:#fff}
.portfolio-page .custom-form-location__grid .custom-form-control{min-height:46px;padding:.78rem .85rem}

.portfolio-page .custom-form-submit-bar{position:relative;overflow:hidden;padding:1.35rem 1.5rem;background:linear-gradient(135deg,#171a34,#292c58)}
.portfolio-page .custom-form-submit-bar::after{content:"";position:absolute;right:-70px;top:-100px;width:220px;height:220px;border:1px solid rgba(162,158,255,.24);border-radius:42% 58% 65% 35%;transform:rotate(24deg)}
.portfolio-page .custom-form-submit-bar>*{position:relative;z-index:1}
.portfolio-page .custom-form-submit-bar strong{font-size:1rem}.portfolio-page .custom-form-submit-bar .button{min-width:170px;justify-content:center}

.portfolio-page .form-side-note{padding:1.25rem;box-shadow:0 18px 52px rgba(52,54,108,.1)}
.portfolio-page .form-side-progress{display:flex;align-items:center;gap:.85rem;margin-bottom:1.05rem;padding-bottom:1.05rem;border-bottom:1px solid #eceafc}
.portfolio-page .form-side-progress__ring{--form-progress:0deg;position:relative;display:grid;flex:0 0 62px;width:62px;height:62px;place-items:center;border-radius:50%;background:conic-gradient(#7772e8 var(--form-progress),#ebe9fc 0);transition:background .3s ease}
.portfolio-page .form-side-progress__ring::after{content:"";position:absolute;inset:7px;border-radius:inherit;background:#fff;box-shadow:inset 0 0 0 1px #efedff}
.portfolio-page .form-side-progress__ring strong{position:relative;z-index:1;color:#4e4ab1;font-size:.78rem;font-weight:950}
.portfolio-page .form-side-progress>div:last-child{display:grid;gap:.18rem}.portfolio-page .form-side-progress span{color:#8589a5;font-size:.66rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.portfolio-page .form-side-progress strong{color:#272b4e;font-size:.82rem}
.portfolio-page .form-question-map{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin:0 0 1.1rem;padding-bottom:1.05rem;border-bottom:1px solid #eceafc}
.portfolio-page .form-question-map button{display:grid;min-width:0;aspect-ratio:1;place-items:center;border:1px solid #e2e0f5;border-radius:10px;background:#fafaff;color:#696d8a;font-size:.7rem;font-weight:900;cursor:pointer;transition:.18s ease}
.portfolio-page .form-question-map button:hover,.portfolio-page .form-question-map button.is-current{border-color:#8883e9;background:#f0efff;color:#4d49aa;transform:translateY(-1px)}
.portfolio-page .form-question-map button.is-complete{border-color:#aca8ee;background:#6863d6;color:#fff}
.portfolio-page .form-side-note__icon{width:44px;height:44px;border-radius:14px;margin-bottom:.85rem}

@media (max-width:920px){
  .portfolio-page .smart-form-progress{top:74px}
  .portfolio-page .form-side-note{order:2}
  .portfolio-page .form-question-map{grid-template-columns:repeat(auto-fit,minmax(34px,42px))}
}
@media (max-width:680px){
  .portfolio-page .public-form-overview{display:grid;grid-template-columns:1fr 1fr}.portfolio-page .public-form-overview span:last-child{grid-column:1/-1}
  .portfolio-page .smart-form-progress{position:relative;top:auto;grid-template-columns:1fr 48px;gap:.65rem}.portfolio-page .smart-form-progress__track{grid-column:1/-1;grid-row:2}.portfolio-page .smart-form-progress__value{grid-column:2;grid-row:1}.portfolio-page .smart-form-progress__copy strong{white-space:normal}
  .portfolio-page .custom-form-question__topline{align-items:flex-start;padding:.78rem 1rem}.portfolio-page .custom-form-question__number small{display:none}.portfolio-page .custom-form-question__badges{gap:.3rem}.portfolio-page .custom-form-question__type,.portfolio-page .custom-form-question__requirement{font-size:.57rem;padding:.3rem .45rem}
  .portfolio-page .custom-form-question__heading{padding:1.1rem 1rem .7rem}
  .portfolio-page .custom-form-question>.custom-form-control,.portfolio-page .custom-form-question>.option-stack,.portfolio-page .custom-form-question>.custom-choice,.portfolio-page .custom-form-question>.custom-file-control{width:calc(100% - 2rem);margin:0 1rem 1.1rem!important}
  .portfolio-page .custom-form-location__grid{margin:0 1rem 1.1rem}
  .portfolio-page .option-stack{grid-template-columns:1fr}
  .portfolio-page .form-field-error{margin:-.7rem 1rem 1rem}
}
@media (prefers-reduced-motion:reduce){
  .portfolio-page .custom-form-question,.portfolio-page .custom-choice,.portfolio-page .smart-form-progress__track>span,.portfolio-page .form-question-map button{transition:none!important}
}
