:root{--blue:#4052ff;--lime:#bdf56a;--ink:#121625;--paper:#f7f8fc;--lavender:#e9edff;color:var(--ink);background:var(--paper);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:5rem}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}p,h1,h2,h3{margin:0}img{display:block;max-width:100%}section[id]{scroll-margin-top:5rem}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.about a:focus-visible{outline-color:var(--lime)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;background:white;padding:12px;z-index:100;transform:translateY(-150%)}.skip:focus{transform:none}
.header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:32px 3.9%;gap:24px}.wordmark{font-size:clamp(1.7rem,2.15vw,2.3rem);font-weight:800;letter-spacing:-.055em;line-height:1}.header nav{display:flex;gap:clamp(24px,3vw,54px);align-items:center;color:white;font-weight:700;font-size:1rem}.header nav a{position:relative;padding:10px 0}.header nav a:after{content:"";position:absolute;inset:auto 0 4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.header nav a:hover:after{transform:scaleX(1)}.header nav a:focus-visible{outline-color:var(--lime)}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:650px;height:56.28vw;max-height:1080px;background:white;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;left:3.9%;top:32.5%;max-width:53%}.hero h1{font-size:clamp(2.6rem,4.5vw,5.35rem);font-weight:800;line-height:1.36;letter-spacing:-.045em}.hero-copy p{font-size:clamp(1.05rem,1.65vw,1.75rem);font-weight:650;line-height:1.75;margin:24px 0 34px;letter-spacing:.025em}.pill{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:17px 30px;min-width:220px;min-height:54px;background:var(--blue);color:white;border-radius:100px;font-size:1rem;font-weight:700;transition:background .2s,transform .2s}.pill:hover{background:#263ee7;transform:translateY(-2px)}.pill span[aria-hidden]{font-size:1.5em;line-height:.8}
.section-width{width:min(1120px,88%);margin-inline:auto}.eyebrow{color:var(--blue);font-size:.875rem;font-weight:700;letter-spacing:.13em}.movie{text-align:center;padding-top:72px}.movie-title{font-size:clamp(1.6rem,2.7vw,2.6rem);line-height:1.5;font-weight:750;letter-spacing:.025em;margin:8px 0 22px}.movie-cover{display:block;position:relative;width:100%;padding:0;background:transparent}.photo{position:relative;display:block;overflow:hidden;isolation:isolate}.photo img{position:absolute;width:114.1593%;max-width:none;left:-7.07965%;top:0;height:auto;transform:translateY(var(--offset));pointer-events:none}.movie-photo{aspect-ratio:678/282;--offset:-3.44488189%}.movie-control{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}.play{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:var(--lime);font-size:26px;padding-left:5px;box-shadow:0 0 0 2px var(--lime);transition:transform .2s}.movie-cover:hover .play{transform:scale(1.06)}.movie-label{font-size:.875rem;color:white;font-weight:700;background:#25344c99;padding:4px 8px;letter-spacing:.05em}.caption{font-size:.875rem;letter-spacing:.08em;margin-top:16px;color:#535765}
.services{padding:68px 0 30px;text-align:center}.section-heading h2{font-size:clamp(2.3rem,3.4vw,3.4rem);font-weight:750;line-height:1.15;letter-spacing:-.025em}.section-heading h2:after{content:"";display:block;background:var(--blue);width:36px;height:2px;margin:14px auto 16px}.section-heading>p{font-size:clamp(1rem,1.35vw,1.3rem);font-weight:700;line-height:1.7;letter-spacing:.04em}.service-card{margin-top:30px}.service-card+.service-card{margin-top:28px}.offline-photo{aspect-ratio:678/211;--offset:-24.507874%}.influencer-photo{aspect-ratio:678/211;--offset:-42.125984%}.service-copy{position:relative;z-index:1;margin:-64px auto 0;width:70%;min-height:240px;padding:22px 24px 25px;background:var(--lavender)}.service-number{font-size:1.2rem;font-weight:750;color:var(--blue);margin-bottom:7px}.service-copy h3{font-size:clamp(1.35rem,1.85vw,1.85rem);line-height:1.4;letter-spacing:.015em;margin-bottom:14px}.service-copy>p:not(.service-number){font-size:1rem;line-height:1.75;letter-spacing:.04em}.service-copy .service-tags{font-size:.875rem!important;color:#505566;margin-top:8px;line-height:1.6!important}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:8px 0 5px;border-bottom:1px solid transparent;background:transparent;font-weight:700;font-size:.9375rem;line-height:1.6;letter-spacing:.025em;transition:border-color .2s}.service-copy .text-link{margin-top:9px}.text-link:hover{border-color:currentColor}.text-link span[aria-hidden]{transition:transform .2s}.text-link:hover span[aria-hidden]{transform:translateX(4px)}
.about{margin-top:0;background:var(--blue);color:white;text-align:center;padding:42px 20px 36px}.small-label{font-size:.875rem;font-weight:700;letter-spacing:.025em}.about h2{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.45;letter-spacing:.02em;margin:17px 0 16px;font-weight:750}.about>p:not(.small-label){font-size:1rem;line-height:1.85;letter-spacing:.08em}.light-link{margin-top:15px;border-bottom-color:#ffffff80}
.careers{padding:35px 0 32px;text-align:center}.careers-photo{width:79.35%;margin:22px auto 17px;aspect-ratio:537/140;--offset:-76.476378%}.careers-photo img{width:144.1341%;left:-22.067%;transform:translateY(var(--offset))}.careers>p{font-size:1rem;line-height:1.8;letter-spacing:.04em}.careers>.text-link{margin-top:9px}.contact{text-align:center;background:var(--lime);padding:30px 24px 32px}.contact h2{font-size:clamp(1.4rem,2.3vw,2.25rem);line-height:1.5;font-weight:750;margin:9px 0 11px}.contact>p:not(.small-label){font-size:.9375rem;line-height:1.8;letter-spacing:.025em}.contact .pill{margin-top:20px;padding-block:13px;min-height:50px;min-width:248px}
.footer{text-align:center;background:white;padding:28px 24px 21px}.footer .wordmark{display:inline-block;font-size:1.75rem}.footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 26px;font-size:.875rem;margin:19px auto 23px;line-height:1.6}.footer a:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:center;gap:26px;align-items:center;border-top:1px solid #b8bac3;width:min(800px,100%);margin:auto;padding-top:18px;font-size:.75rem;color:#616572}.footer small{font-size:inherit}
dialog{width:min(660px,calc(100% - 32px));padding:46px;border:0;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 48px);overflow:auto}dialog::backdrop{background:#10172a80;backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}dialog h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.55;letter-spacing:-.02em;margin:16px 0 22px}dialog>p:not(.eyebrow){font-size:1rem;line-height:1.9}dialog .pill{margin-top:25px}dialog dl{margin-top:24px}dialog dt{font-weight:700;margin:20px 0 4px;font-size:1rem}dialog dd{margin:0;font-size:1rem;line-height:1.8;color:#505566}.dialog-close{position:absolute;right:12px;top:8px;background:transparent;width:44px;height:44px;font-size:1.8rem}.dialog-close:hover{color:var(--blue)}
@media(min-width:1600px){.hero-copy{top:33.5%}.hero-copy p{margin-top:28px}}
@media(max-width:1100px) and (min-width:701px){.header nav{gap:22px}.hero{min-height:570px}.hero h1{font-size:4.4vw}.hero-copy{top:33%;max-width:55%}.hero-copy p{font-size:1rem}.service-copy{width:75%}}
@media(max-width:700px){:root{scroll-padding-top:4rem}.header{position:absolute;padding:22px 6%;align-items:center}.header .wordmark{font-size:1.8rem}.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:44px;height:44px;background:#ffffffee;z-index:7}.menu-toggle span{width:22px;height:2px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;inset:78px 16px auto;background:white;color:var(--ink);padding:20px 24px;gap:5px;box-shadow:0 12px 28px #12162512;flex-direction:column;align-items:stretch}.header nav.is-open{display:flex}.header nav a{padding:14px 8px}.header nav a:focus-visible{outline-color:var(--blue)}.hero{height:auto;min-height:760px;min-height:max(730px,92svh);max-height:none;display:flex;flex-direction:column}.hero-art{inset:auto 0 0;height:55%;object-fit:cover;object-position:72% center}.hero:before{content:"";position:absolute;inset:0 0 46%;z-index:-1;background:white}.hero-copy{position:relative;left:auto;top:auto;max-width:none;padding:139px 6% 280px}.hero h1{font-size:clamp(1.9rem,6.25vw,2.75rem);line-height:1.5;letter-spacing:-.055em}.hero-copy p{font-size:1rem;line-height:1.85;margin:20px 0 24px;max-width:28rem}.desktop-break{display:none}.hero .pill{font-size:.9375rem;padding:15px 24px;min-width:216px}.section-width{width:88%}.movie{padding-top:45px}.movie-title{font-size:1.55rem;margin:10px 0 19px}.movie-photo{aspect-ratio:678/282}.play{width:50px;height:50px;font-size:19px}.movie-label{font-size:.75rem;margin-top:0;padding:2px 5px}.movie-control{gap:6px}.caption{font-size:.75rem;line-height:1.8;letter-spacing:.02em;margin-top:13px}.services{padding:45px 0 32px}.section-heading h2{font-size:2.25rem}.section-heading h2:after{margin:12px auto 14px;width:28px}.section-heading>p{font-size:1rem;letter-spacing:0}.service-card{margin-top:24px}.service-card+.service-card{margin-top:25px}.service-copy{margin-top:-18px;width:90%;padding:18px 12px 20px;min-height:0}.service-copy h3{font-size:1.125rem;line-height:1.5;margin-bottom:12px;letter-spacing:0}.service-number{font-size:1rem}.service-copy>p:not(.service-number){font-size:1rem;line-height:1.8;letter-spacing:0}.service-copy .service-tags{font-size:.875rem!important;line-height:1.75!important;max-width:260px;margin:10px auto 0}.service-copy .text-link{margin-top:10px}.about{padding:34px 6% 30px}.about h2{font-size:1.75rem;line-height:1.6;letter-spacing:0;margin:16px 0}.about>p:not(.small-label){font-size:1rem;letter-spacing:0;line-height:1.9}.careers{padding:33px 0 30px}.careers-photo{width:100%;margin-top:21px;aspect-ratio:537/140}.careers>p{font-size:1rem;letter-spacing:0}.contact{padding:30px 6%}.contact h2{font-size:1.25rem;line-height:1.6;letter-spacing:0}.contact>p:not(.small-label){font-size:.9375rem}.contact .pill{min-width:236px}.footer{padding:28px 6% 22px}.footer nav{gap:10px 18px;margin-block:19px;font-size:.875rem}.footer-bottom{gap:20px;flex-wrap:wrap}dialog{padding:42px 24px 28px}dialog h2{font-size:1.4rem}dialog .pill{min-width:0;width:100%;padding-inline:16px}}
.header nav{gap:clamp(20px,2vw,32px)}
.movie-control{display:block}.play{position:absolute;left:50%;top:48.936%;transform:translate(-50%,-50%);width:clamp(30px,7.1vw,96px);height:clamp(30px,7.1vw,96px)}.movie-cover:hover .play{transform:translate(-50%,-50%) scale(1.04)}.movie-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){.header nav{gap:5px}.play{font-size:clamp(14px,4vw,22px)}}
@media(max-width:700px){.hero h1{font-size:clamp(1.55rem,7.8vw,2.75rem)}.about h2{font-size:clamp(1.5rem,7.1vw,1.75rem)}.careers>p,.contact>p{text-wrap:balance}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@media(min-width:701px){.hero{display:grid;align-items:center;height:auto;min-height:max(650px,56.28vw);max-height:none}.hero-copy{position:relative;left:auto;top:auto;margin-left:3.9%;padding:14vw 0 8vw;max-width:53%}}

/* Shared navigation and editorial layout for company and people. */
.header { background: #fff; }
.header nav { color: var(--ink); background: transparent; }
.header nav a:focus-visible { outline-color: var(--blue); }
.inner-page { background: #fff; }
.inner-page .header { position: relative; padding-block: 24px; }
.header nav a[aria-current="page"] { color: var(--blue); }
.header nav a[aria-current="page"]:after { transform: scaleX(1); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; padding-block: 22px; font-size: .875rem; line-height: 1.7; color: #646978; }
.breadcrumbs a:hover { color: var(--blue); }
.about-kicker { color: var(--blue); font-size: .875rem; font-weight: 700; letter-spacing: .12em; }

.about-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; width: min(1120px,88%); margin: 36px auto 84px; }
.about-hero-copy { grid-column: 1; grid-row: 1; padding-block: 20px; }
.about-hero-art { grid-column: 2; grid-row: 1; align-self: stretch; min-height: 540px; overflow: hidden; background: var(--paper); }
.about-hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: 77% center; }
.about-hero h1 { margin: 22px 0 30px; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.42; letter-spacing: -.04em; font-weight: 800; }
.about-hero-copy>p:not(.about-kicker) { margin-top: 19px; font-size: 1rem; line-height: 1.95; }
.about-hero-copy>p br { display: none; }
.about-section { width: min(1120px,88%); margin: auto; padding-block: 64px; border-top: 1px solid #e1e5ef; }
.about-section h2 { margin: 18px 0 30px; font-size: clamp(1.6rem,2.8vw,2.5rem); line-height: 1.5; letter-spacing: -.025em; }
.about-why-layout { display: block; }
.about-wave { display: none; }
.about-reasons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; counter-reset: reason; margin-top: 38px; }
.about-reasons article { counter-increment: reason; border-top: 2px solid var(--blue); padding-top: 23px; }
.about-reasons article span { display: block; margin-bottom: 22px; color: var(--blue); font-size: 1.4rem; font-weight: 700; }
.about-reasons article span:before { content: counter(reason,decimal-leading-zero); }
.about-reasons p { font-size: 1rem; line-height: 1.95; }
.about-reasons br { display: none; }
.about-build { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 64px; }
.about-build-copy>p:not(.about-kicker) { margin-top: 20px; font-size: 1rem; line-height: 1.95; }
.about-build-copy p br { display: none; }
.build-visual { padding: 36px; background: #f4f6ff; }
.flow-caption { color: var(--blue); font-size: .875rem; font-weight: 700; letter-spacing: .09em; }
.workflow { list-style: none; counter-reset: step; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 20px 0 0; padding: 0; }
.workflow li { counter-increment: step; padding: 20px 0; border-bottom: 1px solid #cdd5f4; font-size: 1rem; line-height: 1.8; font-weight: 650; }
.workflow li:before { content: counter(step,decimal-leading-zero); display: block; color: var(--blue); font-size: .875rem; font-weight: 700; margin-bottom: 6px; }
.company { display: grid; grid-template-columns: 1fr 1.65fr; align-items: start; gap: 70px; padding-block: 70px 84px; }
.company h2 { margin-bottom: 0; }
.company-table { margin: 0; }
.company-table>div { display: grid; grid-template-columns: 110px 1fr; gap: 24px; padding: 23px 0; border-bottom: 1px solid #e1e5ef; font-size: 1rem; line-height: 1.9; }
.company-table>div:first-child { border-top: 1px solid #e1e5ef; }
.company-table dt { font-weight: 700; }
.company-table dd { margin: 0; overflow-wrap: anywhere; }

.members-hero { width: min(1120px,88%); margin: 36px auto 0; padding: 12px 0 46px; border-bottom: 1px solid #e1e5ef; }
.members-hero h1 { margin-top: 20px; font-size: clamp(2.5rem,4vw,4rem); line-height: 1.3; letter-spacing: -.04em; font-weight: 800; }
.members-section { width: min(1120px,88%); margin: auto; padding: 46px 0 84px; }
.members-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 16px 28px; margin-bottom: 42px; }
.members-heading p { font-size: 1.2rem; font-weight: 700; }
.members-heading span { font-size: .875rem; color: #646978; letter-spacing: .025em; }
.member-card { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: start; gap: 72px; }
.member-card+.member-card { border-top: 1px solid #e1e5ef; margin-top: 62px; padding-top: 62px; }
.member-photo { width: 100%; background: var(--paper); overflow: hidden; }
.member-photo img,.profile-photo img { width: 100%; height: auto; aspect-ratio: 460/580; object-fit: cover; }
.member-role,.profile-role { color: var(--blue); font-size: .9375rem; line-height: 1.7; font-weight: 700; }
.member-copy { padding-top: 3px; }
.member-copy h2 { margin: 14px 0 24px; font-size: clamp(1.8rem,2.8vw,2.6rem); line-height: 1.35; letter-spacing: .015em; }
.member-copy>p:not(.member-role) { max-width: 700px; font-size: 1rem; line-height: 1.95; }
.member-link,.profile-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 22px; padding-block: 7px; border-bottom: 1px solid var(--blue); color: var(--ink); font-size: .9375rem; font-weight: 700; line-height: 1.7; }
.member-link:hover,.profile-link:hover,.member-copy h2 a:hover { color: var(--blue); }

.profile-header { width: min(1120px,88%); margin: auto; padding: 36px 0 60px; }
.profile-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: center; gap: 72px; margin-top: 32px; }
.profile-copy h1 { margin-top: 18px; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.4; letter-spacing: .015em; }
.profile-content { width: min(1120px,88%); margin: auto; padding-bottom: 80px; }
.profile-section { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 72px; padding: 32px 0; border-top: 1px solid #e1e5ef; }
.profile-section h2 { font-size: 1.2rem; line-height: 1.8; }
.profile-section>p,.profile-list { font-size: 1rem; line-height: 1.95; }
.profile-list { margin: 0; padding-left: 1.2em; }
.profile-list li::marker { color: var(--blue); }
.profile-links { display: flex; flex-wrap: wrap; gap: 0 36px; }

@media(max-width:1000px) and (min-width:701px) {
  .header nav { gap: 18px; font-size: .875rem; }
  .about-hero,.about-build { gap: 36px; }
  .about-hero-art { min-height: 560px; }
  .about-hero h1 { font-size: 2.5rem; }
  .about-reasons { gap: 24px; }
  .build-visual { padding: 24px; }
  .company { gap: 36px; }
  .member-card,.profile-layout,.profile-section { grid-template-columns: 210px minmax(0,1fr); gap: 42px; }
}
@media(max-width:700px) {
  .header { padding-block: 18px; }
  .header nav.is-open { background: #fff; }
  .inner-page .header { padding: 15px 6%; min-height: 76px; }
  .inner-page .header nav { inset: 76px 16px auto; background: #fff; z-index: 8; }
  .breadcrumbs { font-size: .75rem; gap: 9px; padding-block: 16px; }
  .about-hero { display: flex; flex-direction: column; gap: 28px; margin: 26px auto 46px; align-items: stretch; }
  .about-hero-copy { order: 1; padding: 0; }
  .about-hero h1 { font-size: clamp(1.8rem,7.8vw,2.5rem); margin: 18px 0 25px; line-height: 1.5; }
  .about-hero-copy>p:not(.about-kicker) { font-size: 1rem; line-height: 1.95; }
  .about-hero-art { order: 2; min-height: 0; height: 260px; }
  .about-hero-art img { object-position: 78% center; }
  .about-section { padding-block: 40px; }
  .about-section h2 { font-size: 1.5rem; margin: 16px 0 26px; }
  .about-reasons { grid-template-columns: 1fr; gap: 28px; margin-top: 30px; }
  .about-reasons article { padding-top: 18px; }
  .about-reasons article span { font-size: 1.1rem; margin-bottom: 12px; }
  .about-build { display: block; }
  .build-visual { padding: 26px 24px; margin-top: 30px; }
  .workflow { gap: 0 22px; }
  .workflow li { font-size: .9375rem; padding-block: 17px; }
  .company { display: block; padding-block: 40px 48px; }
  .company-table { margin-top: 28px; }
  .company-table>div { grid-template-columns: 80px minmax(0,1fr); gap: 15px; padding-block: 20px; }
  .members-hero { margin-top: 26px; padding: 5px 0 32px; }
  .members-hero h1 { font-size: 2.35rem; margin-top: 16px; }
  .members-section { padding: 32px 0 46px; }
  .members-heading { display: block; margin-bottom: 32px; }
  .members-heading p { font-size: 1.1rem; margin-bottom: 9px; }
  .member-card { grid-template-columns: 128px minmax(0,1fr); gap: 0 22px; align-items: center; }
  .member-photo { grid-column: 1; grid-row: 1 / 3; }
  .member-copy { display: contents; }
  .member-role { grid-column: 2; grid-row: 1; align-self: end; font-size: .875rem; }
  .member-copy h2 { grid-column: 2; grid-row: 2; align-self: start; margin: 10px 0 0; font-size: 1.7rem; }
  .member-copy>p:not(.member-role) { grid-column: 1 / -1; margin-top: 24px; font-size: 1rem; line-height: 1.95; }
  .member-link { grid-column: 1 / -1; justify-self: start; margin-top: 16px; }
  .member-card+.member-card { margin-top: 36px; padding-top: 36px; }
  .profile-header { padding: 28px 0 35px; }
  .profile-layout { grid-template-columns: 128px minmax(0,1fr); gap: 22px; margin-top: 26px; }
  .profile-copy h1 { font-size: 1.7rem; margin-top: 12px; }
  .profile-role { font-size: .875rem; }
  .profile-content { padding-bottom: 42px; }
  .profile-section { display: block; padding-block: 25px; }
  .profile-section h2 { font-size: 1.15rem; margin-bottom: 15px; }
  .profile-links { gap: 0 24px; }
}

/* Contact: bright sculptural ribbons, inspired by Stripe's layered visual language. */
.contact {
  position: relative; isolation: isolate; overflow: hidden;
  width: min(1200px,92%); margin: 42px auto 34px;
  padding: 66px 6%; min-height: 410px; border-radius: 20px;
  text-align: left; background: linear-gradient(115deg,#f4f7ff 0%,#f2f6ff 45%,#e6eeff 100%);
  border: 1px solid #dce5f8;
}
.contact-content { position: relative; z-index: 1; max-width: 610px; }
.contact .small-label { color: var(--blue); text-transform: uppercase; letter-spacing: .15em; font-size: .8125rem; }
.contact h2 { font-size: clamp(1.75rem,3.1vw,2.75rem); line-height: 1.5; letter-spacing: -.025em; margin: 17px 0 20px; }
.contact-content>p:not(.small-label) { max-width: 440px; font-size: .9375rem; line-height: 1.9; color: #505a70; text-wrap: balance; }
.contact .pill { min-width: 242px; justify-content: space-between; gap: 32px; padding: 11px 12px 11px 27px; min-height: 62px; margin-top: 28px; box-shadow: 0 5px 18px #4052ff1c; }
.contact .pill>span[aria-hidden] { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--blue); font-size: 1.4rem; transition: transform .2s; }
.contact .pill:hover>span[aria-hidden] { transform: translateX(2px); }
.contact-art { position: absolute; z-index: 0; pointer-events: none; width: 67%; height: 138%; right: -8%; top: -21%; }
.contact-art img { width: 100%; height: 100%; object-fit: contain; }
.contact-art:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#f2f6ff 0%,#f2f6ff00 30%); }
@media(max-width:1000px) and (min-width:701px) {
 .contact { padding: 52px 5%; min-height: 390px; }
 .contact-content { max-width: 58%; }
 .contact-content>p:not(.small-label) { max-width: 340px; }
 .contact-art { width: 75%; right: -14%; }
}
@media(max-width:700px) {
 .contact { width: 88%; padding: 34px 26px 250px; margin: 28px auto 24px; border-radius: 16px; min-height: 0; }
 .contact-content { max-width: none; }
 .contact h2 { font-size: clamp(1.4rem,6.1vw,1.8rem); line-height: 1.55; margin: 15px 0 17px; }
 .contact-content>p:not(.small-label) { font-size: .9375rem; max-width: 330px; text-wrap: pretty; }
 .contact .pill { min-width: 0; width: min(242px,100%); min-height: 60px; margin-top: 23px; padding-left: 23px; }
 .contact-art { width: 118%; height: 310px; top: auto; bottom: -73px; right: -13%; }
 .contact-art:after { background: linear-gradient(180deg,#f2f6ff 0%,#f2f6ff00 24%); }
}

/* About: airy social content, distinct from the bold contact ribbon. */
.about {
 position: relative; isolation: isolate; overflow: hidden;
 display: grid; place-items: center; min-height: 440px; padding: 64px 6%;
 color: var(--ink); background: #fff;
 border-top: 1px solid #e1e8f8; border-bottom: 1px solid #e1e8f8;
}
.about-content { position: relative; z-index: 1; }
.about .small-label { color: var(--blue); text-transform: uppercase; letter-spacing: .15em; font-size: .8125rem; }
.about h2 { font-size: clamp(2rem,3.8vw,3.6rem); line-height: 1.5; letter-spacing: -.03em; margin: 20px 0 21px; }
.about h2>span { color: var(--blue); }
.about-content>p:not(.small-label) { font-size: 1rem; line-height: 1.9; color: #505a70; letter-spacing: .025em; }
.about .light-link { margin-top: 22px; color: var(--ink); border-bottom-color: #98a5d1; gap: 20px; padding-bottom: 9px; }
.about .light-link:hover { color: var(--blue); border-bottom-color: var(--blue); }
.about a:focus-visible { outline-color: var(--blue); }
 .about-social-art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.about-social-art img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .62; }
.about-social-art .social-secondary { display: none; }
.about-social-art:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#fff0 0%,#fffc 35%,#fff 50%,#fffc 65%,#fff0 100%); }
@media(max-width:700px) {
 .about { min-height: 420px; padding: 56px 6%; }
 .about h2 { font-size: clamp(1.4rem,6.7vw,2rem); line-height: 1.65; margin: 19px 0 20px; }
 .about-content>p:not(.small-label) { font-size: .9375rem; letter-spacing: 0; }
 .about-social-art img { position: absolute; width: 1050px; max-width: none; height: 350px; left: -145px; top: -55px; object-fit: contain; opacity: .42; }
 .about-social-art .social-secondary { display: block; left: auto; right: -190px; top: auto; bottom: -90px; opacity: .35; }
 .about-social-art:after { background: radial-gradient(ellipse at 62% 64%,#fff 10%,#fffd 46%,#fff4 100%); }
}

/* One brand system: bright surfaces, flowing ribbons, blue actions. */
:root {
 --paper: #f7f9fd;
 --lavender: #f2f6ff;
 --brand-wash: #f2f6ff;
 --brand-line: #dce5f8;
 --brand-radius: 20px;
 --flow-art: url("assets/contact-flow.svg");
}
.header { border-bottom: 1px solid #e8edf7; }
.hero:after {
 content: ""; position: absolute; pointer-events: none; z-index: -1;
 top: -28%; right: -22%; width: 65%; height: 140%;
 background: var(--flow-art) center / contain no-repeat;
 opacity: .16; mix-blend-mode: screen;
 mask-image: linear-gradient(90deg,transparent 0%,#000 55%);
}
.pill { min-height: 62px; padding: 11px 12px 11px 27px; gap: 24px; justify-content: space-between; }
.pill>span[aria-hidden] {
 display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px;
 border-radius: 50%; background: #fff; color: var(--blue); font-size: 1.4rem;
 transition: transform .2s;
}
.pill:hover>span[aria-hidden] { transform: translateX(2px); }
.movie-photo,.offline-photo,.influencer-photo,.careers-photo { border-radius: var(--brand-radius); }
.play { background: var(--blue); color: #fff; box-shadow: 0 0 0 2px var(--blue); }
.service-copy {
 isolation: isolate; overflow: hidden; border-radius: var(--brand-radius);
 background: var(--brand-wash); border: 1px solid var(--brand-line);
 box-shadow: 0 8px 28px #283e7e06;
}
.service-copy:before {
 content: ""; position: absolute; pointer-events: none; z-index: -1;
 width: 360px; height: 340px; right: -160px; top: -120px;
 background: var(--flow-art) center / contain no-repeat; opacity: .18;
 mask-image: linear-gradient(90deg,transparent,#000);
}
.service-copy .service-tags { color: #505a70; }
.movie .caption,.careers>p { color: #505a70; }
.careers { padding-block: 48px 36px; }
.footer { position: relative; isolation: isolate; overflow: hidden; background: #fff; }
.footer:before {
 content: ""; position: absolute; z-index: -1; pointer-events: none;
 inset: -100px auto -180px -240px; width: 500px;
 background: var(--flow-art) center / contain no-repeat; opacity: .06;
}
.footer-bottom { border-color: var(--brand-line); }

/* The same quieter motif frames the inner-page introductions. */
.members-hero,.profile-header { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--brand-radius); background: var(--brand-wash); border: 1px solid var(--brand-line); }
.members-hero { padding: 42px 48px 46px; margin-top: 28px; }
.members-hero:before,.profile-header:before {
 content: ""; position: absolute; z-index: -1; pointer-events: none;
 right: -14%; top: -90%; width: 60%; height: 240%;
 background: var(--flow-art) center / contain no-repeat; opacity: .35;
 mask-image: linear-gradient(90deg,transparent 0%,#000 45%);
}
.members-hero h1 { max-width: 65%; }
.profile-header { padding: 36px 48px 42px; margin-top: 28px; margin-bottom: 44px; }
.profile-header:before { right: -14%; top: -22%; height: 150%; opacity: .19; }
.profile-layout { grid-template-columns: 220px minmax(0,1fr); gap: 58px; }
.member-photo,.profile-photo { overflow: hidden; border-radius: 14px; border: 1px solid #e7edf9; }
.about-hero-art { position: relative; isolation: isolate; border-radius: var(--brand-radius); }
.about-hero-art:after {
 content: ""; position: absolute; pointer-events: none; inset: -20% -42% -20% 25%;
 background: var(--flow-art) center / contain no-repeat; opacity: .15; mix-blend-mode: screen;
}
.build-visual { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--brand-radius); background: var(--brand-wash); border: 1px solid var(--brand-line); }
.build-visual:before {
 content: ""; position: absolute; pointer-events: none; z-index: -1;
 width: 400px; height: 360px; right: -230px; top: -180px;
 background: var(--flow-art) center / contain no-repeat; opacity: .14;
}
.about-section,.member-card+.member-card,.profile-section { border-color: var(--brand-line); }
.company-table>div,.company-table>div:first-child { border-color: var(--brand-line); }
@media(max-width:1000px) and (min-width:701px) {
 .members-hero { padding-inline: 36px; }
 .profile-header { padding-inline: 30px; }
 .profile-layout { grid-template-columns: 180px minmax(0,1fr); gap: 34px; }
}
@media(max-width:700px) {
 .hero:after { width: 105%; height: 65%; top: auto; bottom: -15%; right: -40%; opacity: .12; }
 .hero .pill { min-height: 60px; padding: 11px 12px 11px 24px; }
 .movie-photo,.offline-photo,.influencer-photo,.careers-photo { border-radius: 14px; }
 .service-copy { border-radius: 14px; padding-inline: 16px; }
 .service-copy:before { width: 250px; height: 280px; right: -138px; top: -100px; opacity: .16; }
 .members-hero { padding: 28px 26px 32px; margin-top: 18px; }
 .members-hero h1 { max-width: none; font-size: 2.1rem; }
 .members-hero:before { width: 80%; right: -35%; top: -95%; opacity: .23; }
 .profile-header { padding: 26px 22px 30px; margin-top: 18px; margin-bottom: 28px; }
 .profile-layout { grid-template-columns: 102px minmax(0,1fr); gap: 18px; }
 .profile-copy h1 { font-size: clamp(1.2rem,6.1vw,1.7rem); }
 .profile-role { font-size: .875rem; }
 .profile-header:before { width: 92%; right: -50%; top: -9%; opacity: .13; }
 .member-photo,.profile-photo { border-radius: 10px; }
 .build-visual { border-radius: 14px; }
 .about-hero-art { border-radius: 14px; }
 .careers { padding-block: 37px 28px; }
}
