@font-face{
  font-family:"sofia-pro";
  src:url('../fonts/sofia-pro-regular.woff') format('woff');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
/* Supplied static fonts: Sofia Pro 400 and 800, Gravesend Sans 300 and 700. */
@font-face{
  font-family:"sofia-pro";
  src:url('../fonts/sofia-pro.woff2') format('woff2'),url('../fonts/sofia-pro.woff') format('woff'),url('../fonts/sofia-pro.otf') format('opentype');
  font-style:normal;
  font-weight:800;
  font-display:swap;
}
@font-face{
  font-family:"gravesend-sans";
  src:url('../fonts/gravesend-sans.woff2') format('woff2'),url('../fonts/gravesend-sans.woff') format('woff'),url('../fonts/gravesend-sans.otf') format('opentype');
  font-style:normal;
  font-weight:300;
  font-display:swap;
}
@font-face{
  font-family:"gravesend-sans";
  src:url('../fonts/gravesend-sans-bold.woff2') format('woff2');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
:root{color-scheme:dark;--pq-navy:#062131;--pq-blue:#093c57;--pq-cream:#FFF2E8;--pq-coral:#f35f55;--pq-white:#fff;--pq-font-body:"sofia-pro","Sofia Pro","Avenir Next",Avenir,Arial,sans-serif;--pq-font-heading:"gravesend-sans","Gravesend Sans","Century Gothic",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--pq-navy);color:var(--pq-white);font-family:var(--pq-font-body);font-weight:400}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--pq-coral);outline-offset:6px}[hidden]{display:none!important}.pq{min-height:100svh}.pq-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:16px 2.5%;position:relative;z-index:1;border-bottom:1px solid #ffffff24}.pq-logo{display:block;flex-shrink:0;width:220px;text-decoration:none}.pq-logo img{display:block;width:100%;height:auto}.pq-website,.pq-back{text-transform:uppercase;font-size:16.1px;font-weight:700;text-decoration:none}.pq-back{border:0;background:none;color:inherit}.pq:has(.pq-welcome:not([hidden])){background:linear-gradient(177deg, #071f3100, #071f31d4), linear-gradient(270deg, #06213100, #071f31d4), url(../images/welcome-bg.webp) center / cover}.pq:has(.pq-welcome:not([hidden])) .pq-header{border:0}.pq-welcome{min-height:calc(100svh - 100px);padding:clamp(70px,15vh,180px) 2.5% 50px;display:flex;flex-direction:column;justify-content:flex-end}.pq-elements{display:flex;margin-bottom:clamp(50px,12vh,130px);padding-left:4px}.pq-element{width:clamp(75px,14vw,200px);aspect-ratio:1;background:var(--pq-blue);border-radius:50%;display:grid;place-items:center;margin-left:-4px}.pq-element+.pq-element{margin-left:-1.8vw}.pq-element-icon{display:block;width:72%;height:72%;object-fit:contain}.pq-welcome h1{font-size:clamp(42px,6.1vw,92px);text-transform:uppercase;letter-spacing:-.035em;line-height:1.06;margin:0 0 38px;font-weight:750}.pq-welcome-actions{display:flex;align-items:center;gap:32px}.pq-welcome-actions p{font-size:17px}.pq-pill{display:inline-flex;gap:35px;align-items:center;justify-content:space-between;background:var(--pq-cream);color:var(--pq-navy);border:0;border-radius:100px;padding:6px 6px 6px 25px;min-height:64px;font-weight:700;font-size:15px}.pq-arrow{background:var(--pq-coral);color:white;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:32px;font-weight:400}.pq-progress{display:flex;align-items:center;justify-content:center;padding:24px 28px;gap:6px;overflow-x:auto}.pq-step{flex-shrink:0;border:1px solid #82919b;color:#aebbc2;background:none;border-radius:40px;min-width:46px;height:48px;padding:0 12px;font-weight:700}.pq-step[aria-current="step"]{background:white;color:var(--pq-navy);border-color:white}.pq-step.is-answered{border-color:var(--pq-cream);color:var(--pq-cream)}.pq-step:disabled{cursor:default;opacity:.5}.pq-connector{color:#83949e;letter-spacing:3px;font-size:12px;margin-left:3px;}.pq-questions h2{font-size:clamp(28px,3.3vw,50px);text-align:center;line-height:1.2;margin:46px auto 88px;padding:0 24px;max-width:1200px}.pq-choices{display:grid;grid-template-columns:1fr 1fr}.pq-choice{position:relative;min-height:clamp(360px,59vh,680px);border:0;border-radius:0;isolation:isolate;background:var(--pq-blue);color:white;text-align:left;display:flex;align-items:flex-end;padding:40px 8.5%;overflow:hidden}.pq-choice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .35s}.pq-choice:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, #071f3100 20%, #071f31bf 65%, #071f31);z-index:-1}.pq-choice:hover img{transform:scale(1.035)}.pq-choice:focus-visible{outline-offset:-6px}.pq-choice[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--pq-cream)}.pq-choice-caption{display:flex;align-items:flex-end;justify-content:space-between;width:100%;gap:25px;font-size:clamp(24px,2.2vw,34px);line-height:1.35;font-weight:700}.pq-choice-arrow{width:64px;height:64px;flex-shrink:0;border-radius:50%;background:white;color:var(--pq-navy);display:grid;place-items:center;font-size:40px;font-weight:400}.pq-complete{text-align:center;max-width:800px;margin:0 auto;padding:80px 24px}.pq-finish-icon{font-size:90px;color:var(--pq-cream)}.pq-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px}.pq-complete h2{font-size:clamp(40px,6vw,72px);line-height:1.05}.pq-complete p{line-height:1.6}.pq-complete .pq-pill,.pq-resume .pq-pill{padding:20px 28px;margin-top:20px}.pq-text-button{display:block;background:none;border:0;color:inherit;text-decoration:underline;margin:22px auto;padding:8px}.pq-resume{max-width:460px;width:calc(100% - 40px);border:1px solid #ffffff40;border-radius:20px;background:var(--pq-navy);color:white;padding:32px;text-align:center}.pq-resume::backdrop{background:#00131ccd;backdrop-filter:blur(6px)}.pq-resume h2{font-size:30px}.pq-resume p{line-height:1.6;color:#c8d2d7}.pq-noscript{text-align:center;padding:24px}
@media(min-width:1600px){.pq-progress{gap:6px}}
@media(max-width:1000px){.pq-progress{justify-content:flex-start}.pq-connector{letter-spacing:0;margin-left:0px;}.pq-questions h2{margin:35px auto 50px}.pq-choice{padding:30px}.pq-choice-arrow{width:48px;height:48px;font-size:30px}}
@media(max-width:600px){.pq-header{height:82px;padding:16px 20px}.pq-logo{width:155px}.pq-website,.pq-back{font-size:11.5px}.pq-welcome{min-height:calc(100svh - 82px);padding:80px 20px 36px}.pq-elements{margin-bottom:60px}.pq-element{width:24vw;max-width:110px}.pq-welcome h1{font-size:clamp(36px,9.2vw,55px);margin-bottom:22px}.pq-welcome-actions{align-items:flex-start;flex-direction:column;gap:12px}.pq-welcome-actions p{font-size:15px}.pq-progress{padding:20px;gap:6px}.pq-step{min-width:40px;height:42px}.pq-questions h2{margin:24px auto 36px;font-size:28px}.pq-choices{grid-template-columns:1fr}.pq-choice{min-height:320px;padding:28px 24px}.pq-choice-caption{font-size:25px}.pq-complete{padding-top:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Staggered entrances followed by gentle ambient movement. */
.pq-welcome{position:relative;isolation:isolate}
.pq-element{box-shadow:0 4px 60px rgba(0,0,0,.3);--pq-delay:0s}
.pq-element:nth-child(2){--pq-delay:.12s}
.pq-element:nth-child(3){--pq-delay:.24s}
.pq-element:nth-child(4){--pq-delay:.36s}
.pq-start{box-shadow:0 8px 24px #00131c30}
@media(prefers-reduced-motion:no-preference){
  .pq-element{animation:pq-element-arrive 1.15s cubic-bezier(.16,1,.3,1) var(--pq-delay) backwards,pq-element-float 4s ease-in-out calc(var(--pq-delay) + 1.15s) infinite;transition:background-color .3s,box-shadow .3s}
  .pq-element:nth-child(even){animation-duration:1.15s,4.8s}
  .pq-element-icon{animation:pq-symbol-arrive 1.5s cubic-bezier(.16,1,.3,1) calc(var(--pq-delay) + .18s) backwards;transition:transform .5s cubic-bezier(.16,1,.3,1)}
  .pq-welcome h1{animation:pq-text-arrive .95s cubic-bezier(.16,1,.3,1) .3s backwards}
  .pq-welcome-actions{animation:pq-text-arrive .95s cubic-bezier(.16,1,.3,1) .5s backwards}
  .pq-welcome-actions:focus-within{animation:none}
  @media(hover:hover){
    .pq-element:hover{background-color:#125572;box-shadow:0 4px 60px rgba(0,0,0,.3)}
    .pq-element:hover .pq-element-icon{transform:translateY(-5px) rotate(-8deg) scale(1.06)}
    .pq-element:nth-child(3):hover .pq-element-icon{transform:rotate(45deg) scale(1.06)}
  }
}
@keyframes pq-element-arrive{
  from{opacity:0;transform:translateY(42px) scale(.78) rotate(-12deg)}
  to{opacity:1;transform:translateY(0) scale(1) rotate(0)}
}
@keyframes pq-symbol-arrive{
  from{opacity:0;transform:scale(.65) rotate(-25deg)}
  to{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes pq-text-arrive{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes pq-element-float{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-16px) rotate(4deg)}
}

/* Display text uses the supplied Gravesend Sans Bold face. */
.pq h1,.pq h2,.pq-choice-caption{font-family:var(--pq-font-heading);font-weight:700}
/* Quiz copy needs lowercase letterforms for sentence case. */
.pq .pq-questions h2,.pq-questions .pq-choice-caption{font-family:var(--pq-font-body);text-transform:none}

/* Reference ripple effect; the button itself keeps its size and position. */
.pq-start{position:relative;isolation:isolate;overflow:visible;flex-shrink:0;--pq-ripple-small:none;--pq-ripple-large:none;--pq-content-shift:0px}
.pq-start-label{position:relative;z-index:3}
.pq-start .pq-arrow{position:relative;z-index:4;flex-shrink:0;background:transparent}
.pq-start-icon-bg{position:absolute;inset:0;border-radius:50%;background:var(--pq-coral);box-shadow:0 4px 10px #f35f552e}
.pq-start-arrow{position:relative;z-index:2;display:block;width:24px;height:24px;object-fit:contain}
.pq-start::before,.pq-start .pq-arrow::before,.pq-start .pq-arrow::after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:0;box-shadow:0 0 1px 1px rgba(6,33,49,.18)}
.pq-start .pq-arrow::before{inset:-3px;border:1px solid #ffffff80}
.pq-start .pq-arrow::after{inset:-3px;border:1px solid #ffffff5c}
.pq-start::before{width:54px;height:54px;right:6px;top:50%;transform:translateY(-50%);border:1px solid #ffffff3d}
.pq-start:focus-visible{--pq-ripple-small:pq-ripple-big;--pq-ripple-large:pq-ripple-giant;--pq-content-shift:4px;box-shadow:0 18px 38px #00000038}
@media(hover:hover){
  .pq-start:hover{--pq-ripple-small:pq-ripple-big;--pq-ripple-large:pq-ripple-giant;--pq-content-shift:4px;box-shadow:0 18px 38px #00000038}
}
@media(prefers-reduced-motion:no-preference){
  .pq-start{transition:box-shadow .4s ease}
  .pq-start-label,.pq-start-arrow{transform:translateX(var(--pq-content-shift));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
  .pq-start .pq-arrow::before{animation:var(--pq-ripple-small) 1.45s ease-out infinite}
  .pq-start .pq-arrow::after{animation:var(--pq-ripple-small) 1.45s .35s ease-out infinite}
  .pq-start::before{animation:var(--pq-ripple-large) 1.45s .7s ease-out infinite}
}
@keyframes pq-ripple-big{
  from{opacity:.8;transform:scale(1)}
  to{opacity:0;transform:scale(2.15)}
}
@keyframes pq-ripple-giant{
  from{opacity:.55;transform:translateY(-50%) scale(1)}
  to{opacity:0;transform:translateY(-50%) scale(2.75)}
}

.pq-choice-arrow{background:white url(../icons/arrow-black-right.svg) center / 32px 32px no-repeat}
@media(max-width:1000px){.pq-choice-arrow{background-size:24px 24px}}

/* Match the welcome ripple around each quiz arrow without moving the control. */
.pq-choice-arrow{position:relative;--pq-choice-ripple-small:none;--pq-choice-ripple-large:none}
.pq-choice-arrow::before,.pq-choice-arrow::after,.pq-choice-ripple{position:absolute;pointer-events:none;border-radius:50%;opacity:0;box-shadow:0 0 1px 1px rgba(6,33,49,.18)}
.pq-choice-arrow::before,.pq-choice-arrow::after{content:"";inset:-3px;border:1px solid #ffffff80}
.pq-choice-arrow::after{border-color:#ffffff5c}
.pq-choice-ripple{width:100%;height:100%;left:0;top:50%;border:1px solid #ffffff3d;transform:translateY(-50%)}
.pq-choice:focus-visible .pq-choice-arrow{--pq-choice-ripple-small:pq-ripple-big;--pq-choice-ripple-large:pq-ripple-giant}
@media(hover:hover){
  .pq-choice-arrow:hover{--pq-choice-ripple-small:pq-ripple-big;--pq-choice-ripple-large:pq-ripple-giant}
}
@media(prefers-reduced-motion:no-preference){
  .pq-choice-arrow::before{animation:var(--pq-choice-ripple-small) 1.45s ease-out infinite}
  .pq-choice-arrow::after{animation:var(--pq-choice-ripple-small) 1.45s .35s ease-out infinite}
  .pq-choice-ripple{animation:var(--pq-choice-ripple-large) 1.45s .7s ease-out infinite}
}

/* Persistent progress steps expand and settle as the active question changes. */
.pq-progress{position:relative}
.pq-step{width:48px;min-width:48px;overflow:hidden;white-space:nowrap}
.pq-step[aria-current="step"]{width:132px}
.pq-step-label{display:inline-block;position:relative;top:-2px;}
.pq-connector.is-answered{color:var(--pq-cream)}
@media(max-width:600px){.pq-step{width:40px;min-width:40px}}
@media(prefers-reduced-motion:no-preference){
  .pq-step{transition:width .38s cubic-bezier(.16,1,.3,1),background-color .3s,color .3s,border-color .3s,opacity .3s}
  .pq-step[aria-current="step"] .pq-step-label{animation:pq-progress-label .38s ease-out}
  .pq-connector{transition:color .35s ease}
}
@keyframes pq-progress-label{
  from{opacity:.3;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}

.pq-goal-icon{display:block;width:19px;height:20px;object-fit:contain;top: 5px;position: relative;}

/* Per-attempt placement works across the desktop and mobile grids. */
.pq-choice{order:var(--pq-choice-order,0)}

/* Saved selections stay visible when revisiting a question. */
.pq-selected-badge{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:100px;background:var(--pq-cream);color:var(--pq-navy);font-family:var(--pq-font-body);font-size:14px;font-weight:400;line-height:1.2;box-shadow:0 4px 16px #00000030;pointer-events:none}
.pq-selected-check{display:block;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--pq-navy) url(../icons/white-check.svg) center / 14px 14px no-repeat}

.pq-back{display:inline-flex;align-items:center;gap:8px}
.pq-back-icon{display:block;width:15px;height:15px;transform:rotate(180deg);position:relative;top:2px}

/* Prevent accidental text selection while tapping through the mobile quiz. */
@media(hover:none) and (pointer:coarse){
  .pq,.pq *{-webkit-user-select:none;user-select:none}
  .pq input,.pq textarea,.pq [contenteditable="true"]{-webkit-user-select:text;user-select:text}
}

/* Keep touch scrolling while disabling page zoom gestures. */
@media(hover:none) and (pointer:coarse){
  html,body{touch-action:pan-x pan-y}
}

/* A short mobile tap burst persists above the outgoing and incoming screens. */
.pq-tap-layer{position:fixed;inset:0;z-index:1000;overflow:hidden;pointer-events:none}
.pq-tap-layer *{pointer-events:none}
.pq-tap-burst{position:absolute;width:0;height:0}
.pq-tap-burst::before,.pq-tap-burst::after{content:"";position:absolute;left:-14px;top:-14px;width:28px;height:28px;border:1.5px solid #ffffffcc;border-radius:50%;box-shadow:0 0 2px 1px #06213140;animation:pq-tap-ring .76s ease-out both}
.pq-tap-burst::after{animation-delay:.12s;border-color:#ffffff80}
.pq-tap-spark{position:absolute;left:-2px;top:-2px;width:4px;height:4px;background:#ffffffd9;border-radius:50%;box-shadow:0 1px 3px #06213166;animation:pq-tap-spark .7s ease-out both}
@keyframes pq-tap-ring{
  from{opacity:.9;transform:scale(.35)}
  to{opacity:0;transform:scale(4)}
}
@keyframes pq-tap-spark{
  from{opacity:.9;transform:translate(0,0) scale(1)}
  to{opacity:0;transform:translate(var(--pq-spark-x),var(--pq-spark-y)) scale(.2)}
}
@media(prefers-reduced-motion:reduce){.pq-tap-layer{display:none}}

.pq-score-debug{margin:32px auto;padding:24px;border:1px solid #fff3e340;border-radius:20px;background:#ffffff08;text-align:left}
.pq-score-debug h3{margin:0;font-size:20px}
.pq-score-note,.pq-score-tie{font-size:14px;color:#c8d2d7}
.pq-score-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}
.pq-score-totals div{padding:14px 8px;background:#06213180;border-radius:12px;text-align:center}
.pq-score-totals dt{font-size:14px;color:var(--pq-cream)}
.pq-score-totals dd{margin:6px 0 0;font-size:32px;font-weight:700}
@media(max-width:400px){.pq-score-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared campaign button text: welcome, Explore, and sales CTA. */
.pq-start,.pr-contact{font-size:16.5px}

/* Shared description size for result copy and resume dialog controls. */
:root{--pq-description-size:clamp(15.3425px,1.35375vw,19.855px)}
.pq-resume p,.pq-resume .pq-fresh,.pq-resume .pq-cancel,.pq-resume .pq-continue{font-size:var(--pq-description-size)}
@media(max-width:400px){:root{--pq-description-size:14.44px}}

/* Question headings receive focus after navigation, without a browser outline. */
#planning-quiz #question-title,
#planning-quiz #question-title:focus,
#planning-quiz #question-title:focus-visible{outline:none!important;box-shadow:none!important}

/* Final details slide shares the quiz heading, progress, and navigation. */
.pq-questions:has(.pq-details:not([hidden])) h2{margin-bottom:20px}
.pq-details{width:min(100%,560px);margin:0 auto;padding:0 24px 64px}
.pq-details p{margin:0 0 32px;text-align:center;font-size:var(--pq-description-size);line-height:1.6;color:#c8d2d7}
.pq-details label{display:block;margin:20px 0 8px;font-size:17px}
.pq-details input{display:block;width:100%;min-height:56px;padding:14px 18px;border:1px solid #82919b;border-radius:8px;background:#ffffff08;color:var(--pq-white);font:inherit;font-size:18px}
.pq-details input:focus-visible{outline:3px solid var(--pq-coral);outline-offset:3px}
.pq-details .pq-result-button{width:100%;margin-top:32px;padding:18px 26px;font-size:17px}
.pq-result-button span{font-size:28px;line-height:1}

.pq-details .pq-details-status{margin:18px 0 0;font-size:16px}
.pq-result-button:disabled{opacity:.65;cursor:wait}

/* Keep the final progress tab as the original goal icon, including when active. */
.pq-step:has(.pq-goal-icon){width:48px;display:inline-flex;align-items:center;justify-content:center}
.pq-step:has(.pq-goal-icon) .pq-step-label,.pq-step .pq-goal-icon{top:0}
.pq-step[aria-current="step"] .pq-goal-icon{filter:brightness(0)}
@media(max-width:600px){.pq-step:has(.pq-goal-icon){width:40px}}
