/* Spectrum: people, material and the next idea. */
.finale-kicker{display:block;font-size:12px;line-height:1.5;letter-spacing:.12em;font-weight:600}
.s-crew{background:#edf0f7;color:#121a33;padding-top:110px;padding-bottom:75px}
.crew-heading{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:7vw;margin-bottom:55px}
.crew-heading .finale-kicker{color:#5b6680;margin-bottom:30px}
.s-crew .crew-heading h2{font-size:clamp(44px,4.8vw,82px);line-height:1.05;letter-spacing:-.06em}
.s-crew .crew-heading h2 em{color:#4d40b8}
.crew-heading>p{font-size:17px;line-height:1.8;max-width:390px;color:#53617a;margin-bottom:5px}
.crew-stage{--crew-accent:#f5cc7b;position:relative;min-height:580px;background:#0c111b;overflow:hidden;color:#f1f4fc}
.crew-workbench{position:absolute;inset:0 39% 0 0;margin:0;background:#0c111b;overflow:hidden}
.crew-workbench img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.crew-workbench .crew-scene{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;pointer-events:none}
.crew-workbench .crew-scene.is-active{opacity:1}
.crew-workbench:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,transparent 90%,#0c111b),linear-gradient(0deg,#080c18bb,transparent 16%);pointer-events:none}
.crew-workbench figcaption{position:absolute;bottom:22px;left:28px;right:24px;z-index:3;font-size:12px;color:#e2e8f1;text-shadow:0 1px 5px #000}
.crew-story{position:relative;z-index:2;margin-left:61%;width:39%;padding:44px 38px 26px;min-height:580px;display:flex;flex-direction:column}
.crew-story-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:var(--crew-accent);letter-spacing:.02em}
#crew-count{font-variant-numeric:tabular-nums;white-space:nowrap;color:#8995ac}
.crew-situation-label{font-size:12px;color:#7f8da6;margin-top:66px}
.crew-story h3{font-size:clamp(28px,2.45vw,42px);line-height:1.2;letter-spacing:-.045em;font-weight:400;margin-top:14px;min-height:3.6em}
.crew-answer{border-top:1px solid #455064;padding-top:22px;margin-top:26px}
.crew-answer>span{font-size:14px;color:var(--crew-accent)}
.crew-answer p{font-size:16px;line-height:1.75;color:#b5c0d2;margin-top:12px;min-height:7em}
.crew-playback{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:27px}
.crew-playback>span{font-size:12px;color:#77869f}
#crew-play{display:flex;align-items:center;gap:13px;background:transparent;border:1px solid #45516b;color:#cbd5e7;border-radius:24px;padding:9px 14px;min-height:40px;font-size:12px}
#crew-play:hover{border-color:var(--crew-accent);color:var(--crew-accent)}
.crew-markers{position:absolute;inset:0;pointer-events:none;z-index:1}
.crew-marker{position:absolute;width:42px;height:42px;border:1px solid #d7e5ff66;border-radius:50%;display:grid;place-items:center;font-size:12px;font-variant-numeric:tabular-nums;color:#eef3ff;background:#0a111b88;backdrop-filter:blur(5px);transition:color .4s,border-color .4s,background .4s,box-shadow .4s,transform .4s}
.crew-marker[data-marker="0"]{left:16%;top:22%}.crew-marker[data-marker="1"]{left:8%;top:56%}.crew-marker[data-marker="2"]{left:37%;top:35%}.crew-marker[data-marker="3"]{left:47%;top:69%}.crew-marker[data-marker="4"]{left:55%;top:23%}
.crew-marker.is-active{background:var(--crew-accent);color:#10182a;border-color:var(--crew-accent);box-shadow:0 0 0 9px #eff5ff12,0 0 35px #8db6fc35;transform:scale(1.12)}
.crew-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #bac3d5}
.crew-tabs button{position:relative;display:flex;align-items:center;gap:12px;min-height:94px;padding:20px 20px 20px 12px;background:transparent;border:0;border-right:1px solid #c8cfdd;text-align:left;color:#657188;overflow:hidden;transition:background .3s,color .3s}
.crew-tabs button:last-child{border-right:0}
.crew-tabs button>span{font-size:12px;align-self:flex-start;padding-top:7px}
.crew-tabs strong{font-size:17px;font-weight:500;letter-spacing:-.025em}
.crew-tabs i{font-style:normal;font-size:20px;margin-left:auto;opacity:0;transition:opacity .3s,transform .3s;transform:translate(-4px,4px)}
.crew-tabs button[aria-selected="true"]{color:#172548;background:#dce3f1}
.crew-tabs button[aria-selected="true"] i{opacity:1;transform:none}
.crew-tabs button:hover{color:#252f74;background:#e1e7f3}
.crew-tabs button:after{content:"";position:absolute;bottom:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,#d7ac50,#469cea,#8453d7);transform:scaleX(0);transform-origin:left}
.crew-tabs button[aria-selected="true"]:after{transform:scaleX(1)}
.s-crew[data-playing="true"] .crew-tabs button[aria-selected="true"]:after{animation:crew-progress 7s linear both}
.crew-outro{font-size:16px;color:#67728a;margin-top:30px;text-align:right}.crew-outro span{color:#252f4e}

.s-continuity{padding-top:115px;padding-bottom:75px;background:#080c18;overflow:hidden}
.continuity-heading .finale-kicker{color:#8291ad;margin-bottom:30px}
.s-continuity h2{font-size:clamp(43px,4.65vw,78px);line-height:1.1;letter-spacing:-.055em}
.s-continuity h2 em{color:#92cefa}
.continuity-spread{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:start;margin-top:65px}
.continuity-photo{position:sticky;top:35px;overflow:hidden;background:#0f1624}
.continuity-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform 1.1s cubic-bezier(.2,.65,.2,1)}
.continuity-photo:hover img{transform:scale(1.025)}
.continuity-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 30px 26px;background:linear-gradient(transparent,#050812dd);display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;color:#dde9fb}
.continuity-photo figcaption>span{font-size:15px}.continuity-photo figcaption small{font-size:12px;color:#9bacc5;align-self:end}
.continuity-notes{padding-top:5px}
.continuity-lead{font-size:clamp(25px,2.3vw,36px);line-height:1.4;letter-spacing:-.035em;color:#dce6f5;margin-bottom:36px}
.continuity-notes article{display:grid;grid-template-columns:28px 1fr;gap:20px;border-top:1px solid #2c374d;padding:26px 0}
.continuity-notes article>span{font-size:12px;color:#90c4ef;padding-top:5px}
.continuity-notes h3{font-size:20px;font-weight:500;letter-spacing:-.025em;line-height:1.4}
.continuity-notes article p{font-size:16px;line-height:1.8;color:#929fb7;margin-top:11px;max-width:435px}
.continuity-link{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #728da6;padding:18px 0;margin-top:8px;font-size:16px;color:#bce6ff;transition:color .25s}
.continuity-link span{font-size:27px;transition:transform .25s}.continuity-link:hover{color:#fff}.continuity-link:hover span{transform:translate(4px,-4px)}
.continuity-signature{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #263249;padding-top:34px;margin-top:80px;font-size:clamp(26px,4.4vw,76px);line-height:1.15;letter-spacing:-.055em;color:#53617b}
.continuity-signature span:last-child{color:#acd8f4}
.s-continuity.is-entered .continuity-photo{animation:finale-reveal .95s cubic-bezier(.2,.7,.2,1) both}
.s-continuity.is-entered .continuity-signature span{animation:finale-rise .8s both}.s-continuity.is-entered .continuity-signature span:nth-child(2){animation-delay:.12s}.s-continuity.is-entered .continuity-signature span:nth-child(3){animation-delay:.24s}

.s-invitation{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;gap:35px 9vw;align-items:start;padding-top:100px;padding-bottom:100px;background:#e8edf5;color:#18223b}
.invitation-art{position:relative;grid-column:1;grid-row:2;height:330px;width:100%;overflow:hidden}
.invitation-art img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;display:block}
.invitation-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#121a32aa,transparent 22%);pointer-events:none}
.invitation-content{grid-column:1;grid-row:1;position:relative;display:flex;align-items:flex-start;flex-direction:column}
.invitation-content .finale-kicker{color:#536481;margin-bottom:32px}
.s-invitation h2{font-size:clamp(56px,5.2vw,88px);line-height:.99;letter-spacing:-.065em;color:#14213c}
.s-invitation h2 em{color:#264daf}
.invitation-content>p{font-size:17px;line-height:1.8;max-width:340px;margin-top:28px;color:#344764}
.invitation-phone{display:flex;align-items:center;gap:22px;font-size:20px;letter-spacing:-.02em;margin-top:25px;color:#203a62}.invitation-phone>span{transition:transform .3s}.invitation-phone:hover>span{transform:translate(3px,-3px)}
.invitation-art-label{position:absolute;bottom:18px;left:20px;z-index:1;font-size:12px;color:#f0f3fa}
.invitation-form-wrap{grid-column:2;grid-row:1/span 2;align-self:center;background:#fafbfe;padding:42px 38px 35px;box-shadow:0 24px 70px #233d5710;border-top:2px solid #172f67}
.invitation-form-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:27px;letter-spacing:-.04em;line-height:1.3}.invitation-form-heading>span:last-child{font-size:32px;color:#5877b7}
.invitation-form-intro{font-size:15px;line-height:1.7;color:#6b7a90;margin:16px 0 34px;max-width:280px}
.invitation-form{padding:0}
.invitation-form>label:not(.file-label){font-size:14px;font-weight:400;color:#314767;margin-bottom:27px}
.invitation-form input:not([type="file"]),.invitation-form textarea{font-size:16px;border-color:#c5cfde;padding:12px 0 14px;transition:border-color .25s}
.invitation-form input:not([type="file"]):focus,.invitation-form textarea:focus{border-color:#315ecc;outline:2px solid #315ecc;outline-offset:4px}
.invitation-form .file-label{padding:15px 0;font-size:14px;border-color:#c5cfde;color:#314f75}
.invitation-form .file-label [data-file-name]{font-size:12px;max-width:100%}
.invitation-form .form-note{font-size:12px;line-height:1.65;color:#697a93;opacity:1;margin:22px 0}
.invitation-form .submit-button{border-radius:0;min-height:66px;padding:19px 22px;font-size:16px;background:#172f67;color:#f8fbff}
.invitation-form .submit-button:hover{background:#395cc0}
.invitation-form .form-status{font-size:14px;color:#385577}
.s-invitation.is-entered .invitation-form-wrap{animation:finale-rise .8s both}
@keyframes crew-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes finale-rise{from{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes finale-reveal{from{clip-path:inset(8% 0 0);opacity:.4;transform:translateY(22px)}to{clip-path:inset(0);opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.crew-stage,.crew-story{min-height:690px}.crew-story{padding:60px 55px 35px}.crew-situation-label{margin-top:90px}.crew-answer p{max-width:390px}.crew-tabs button{min-height:110px;padding:25px}.crew-tabs strong{font-size:21px}.invitation-form-wrap{padding:52px}.invitation-art{height:390px}}
@media(max-width:1100px){.crew-heading{grid-template-columns:1.4fr 1fr;gap:35px}.crew-heading>p{font-size:16px}.crew-stage{min-height:600px}.crew-story{margin-left:51%;width:49%;min-height:600px;padding:32px 28px 25px}.crew-workbench{right:49%}.crew-workbench .crew-scene{object-fit:contain}.crew-workbench:after{background:linear-gradient(0deg,#080c18bb,transparent 18%)}.crew-marker[data-marker="4"]{left:44%;top:20%}.crew-marker[data-marker="3"]{left:39%;top:70%}.crew-situation-label{margin-top:48px}.crew-tabs button{padding:18px 10px;gap:8px;min-height:88px}.crew-tabs strong{font-size:15px}.crew-tabs i{display:none}.continuity-spread{gap:40px;grid-template-columns:1fr 1fr}.continuity-photo img{height:auto}.continuity-notes article{gap:12px}.s-invitation{gap:5vw}.invitation-form-wrap{padding:32px 26px}.invitation-form-heading{font-size:24px}.invitation-art{height:320px}.invitation-content>p{max-width:290px}}
@media(max-width:760px){
  .s-crew{padding:65px 24px 40px}.crew-heading{display:block;margin-bottom:30px}.crew-heading .finale-kicker{margin-bottom:23px}.s-crew .crew-heading h2{font-size:clamp(38px,9.1vw,62px);line-height:1.08}.crew-heading>p{margin-top:24px;font-size:16px;max-width:100%}
  .crew-stage{min-height:0;margin:0 -24px}.crew-workbench{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3}.crew-workbench .crew-scene{object-fit:contain;object-position:center}.crew-workbench:after{background:linear-gradient(0deg,#0c111baa,transparent 19%)}.crew-workbench figcaption{left:24px;bottom:25px;font-size:12px}.crew-markers{height:330px}.crew-marker{height:34px;width:34px;font-size:11px}.crew-marker[data-marker="0"]{left:18%;top:20%}.crew-marker[data-marker="1"]{left:7%;top:58%}.crew-marker[data-marker="2"]{left:50%;top:40%}.crew-marker[data-marker="3"]{left:69%;top:68%}.crew-marker[data-marker="4"]{left:84%;top:25%}
  .crew-story{margin:0;width:100%;padding:10px 24px 27px;min-height:415px}.crew-situation-label{margin-top:29px}.crew-story h3{font-size:32px;min-height:2.4em;max-width:420px}.crew-answer{margin-top:23px;padding-top:18px}.crew-answer p{min-height:5.25em;font-size:16px}.crew-playback{padding-top:24px}
  .crew-tabs{margin:0 -24px;padding:0 24px;display:flex;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#9eaecd #edf0f7;scroll-snap-type:x proximity}.crew-tabs button{min-width:150px;min-height:86px;flex:0 0 auto;scroll-snap-align:start;padding:17px 15px;gap:10px}.crew-tabs strong{font-size:16px}.crew-tabs button>span{font-size:12px}.crew-outro{text-align:left;font-size:14px;line-height:1.8;margin-top:22px}.crew-outro span{display:block}
  .s-continuity{padding:65px 24px 42px}.continuity-heading .finale-kicker{margin-bottom:24px}.s-continuity h2{font-size:clamp(37px,8.8vw,62px);line-height:1.12}.continuity-spread{display:flex;flex-direction:column;gap:35px;margin-top:35px}.continuity-photo{position:relative;top:auto;width:100%}.continuity-photo img{height:auto;object-position:center}.continuity-photo figcaption{padding:50px 20px 20px;gap:8px}.continuity-photo figcaption small{display:block;width:100%;font-size:12px}.continuity-lead{font-size:27px;line-height:1.4;margin-bottom:27px}.continuity-notes article{padding:24px 0;grid-template-columns:24px 1fr;gap:16px}.continuity-notes h3{font-size:21px}.continuity-notes article p{font-size:16px}.continuity-link{font-size:16px;margin-top:4px}.continuity-signature{gap:10px;font-size:clamp(17px,4.6vw,32px);margin-top:45px;padding-top:25px}
  .s-invitation{display:flex;flex-direction:column;gap:30px;padding:62px 24px 45px}.invitation-content{order:1;width:100%}.invitation-content .finale-kicker{margin-bottom:26px}.s-invitation h2{font-size:clamp(60px,15vw,91px);line-height:1}.invitation-content>p{font-size:16px;max-width:310px;margin-top:24px}.invitation-phone{font-size:20px;margin-top:22px}.invitation-art{order:2;height:300px;width:100%}.invitation-art-label{font-size:12px;left:16px;right:16px;bottom:14px}.invitation-form-wrap{order:3;width:100%;margin:0;padding:30px 24px;position:relative}.invitation-form-heading{font-size:26px}.invitation-form-intro{font-size:16px;margin-bottom:28px}.invitation-form .file-label{font-size:14px}.invitation-form .submit-button{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.crew-marker,.crew-tabs button,.crew-tabs i,.continuity-photo img,.continuity-link span,.invitation-phone>span{transition:none}.s-crew[data-playing="true"] .crew-tabs button[aria-selected="true"]:after,.s-continuity.is-entered .continuity-photo,.s-continuity.is-entered .continuity-signature span,.s-invitation.is-entered .invitation-form-wrap{animation:none}}

@media(prefers-reduced-motion:reduce){.crew-workbench .crew-scene{transition:none}}


/* consent-layout-fix-v2 */
.invitation-form .consent-label {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  flex-direction: row !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 20px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.invitation-form .consent-label input {
  position: static !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.invitation-form .consent-label span {
  position: static !important;
  display: block !important;
  grid-column: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}
